У некоторых людей интересные истории начинаются с приёма жидкостей с содержанием алкоголя. У некоторых с чего-то покрепче… У меня, как у истинного представителя мира IT, история началась… С отключения интернета. Конечно можно было пойти простым путём для решения проблемы, и просто заплатить, но ведь это не истинный путь самурая? Много больших скриншотов
Читать полностью »
Рубрика «ненормальное программирование» - 60
Пятничный формат: VPN через… Jabber?
2017-01-26 в 20:28, admin, рубрики: node.js, nodejs, ненормальное программирование, пятничный постПростой http-сервер на Wolfram Language
2017-01-23 в 9:02, admin, рубрики: wolfram language, wolfram mathematica, ненормальное программированиеПреамбула
Принципиальная схема работы сервера
Идея написания этой статьи возникла у меня после прочтения похожей статьи на Хабрахабр, где рассказывается о том, как создать собственный сервер на localhost с использованием Mathematica. Сам веб-сервер был написан с использованием Python и расширяемого сервера Tornado. Он обрабатывал запросы и отправлял ответы в формате json, а логика была реализована в Mathematica. При этом общение между Python и Mathematica происходило при помощи командной строки, а каждый запрос на сервер перезапускал ядро Математики. Остальные подробности можно прочитать в самой статье автора @Nilis. Здесь я хотел бы показать как написать простой код, который будет выполнять аналогичные функции — то есть создать http-сервер для обработки запросов и отправки ответов. Плюс хотелось бы показать некоторые интересные возможности Wolfram Language и его синтаксиса.
«Flexbox first». Верстка таблиц и текста флексбоксами
2017-01-20 в 14:50, admin, рубрики: flexbox, html10, ux design, верстка сайтов, ненормальное программирование, Разработка веб-сайтов, Совершенный кодФлексбокс уверенно шагает по планете — наступает эпоха комфортной веб-разработки. В этой статье я расскажу о необычном способе верстки всего флексбоксами, и поделюсь готовым кодом для верстки таблиц и текста флексбоксами.
Три метода позиционирования:
1) Флексбокс по умолчанию. Вместо обычного классического потока можно использовать флексбокс-форматирование. Результат будет аналогичный, кроме возможности float-обтекания, без которого можно вполне обойтись.
2) Абсолютное или фиксированное расположение относительно родительского контейнера или окна. Для того чтобы в любом контейнере можно было так позиционировать элементы — для каждого элемента по умолчанию position:relative.
3) Смещение относительно своего положения, и трансформации. Смещение через position:relative не анимируется, поэтому лучше использовать translate.
Графическая композиция — это комбинация этих трех методов + эффекты и прозрачность.
*
{
position:relative;
display:flex;
}
title,script,style
{
display:none; //Свойство display принимает только два значения — flex или ничего
}
Вот и всё! Это очень простой фреймворк, но он значительно упрощает верстку.
Читать полностью »
Flexbox или ничего, хардкор веб-программирования
2017-01-20 в 12:25, admin, рубрики: flexbox, html, html10, ненормальное программирование, Совершенный код, метки: html10Всем друзьям большой привет! Флексбокс шагает по планете — наступает эпоха комфортной веб-разработки. Сегодня я покажу как можно верстать таблицы и текст флексбоксами, и немного раскажу о моем фреймворке. Это действительно ненормальное программирование.
1. Верстка таблиц флексбоксами
Флексбокс — это простой и удобный способ позиционирования элементов внутри блока. Таблицы тоже могут быть свёрстаны флексбоксами потому что их структура — элементы внутри блоков. Вёрстка традиционных html-таблиц значительно сложней чем верстка флексбоксов.
Для флексбокс-таблиц типа ОС, ООО, ООН, ОСО может быть достаточно всего пяти кнопок управления:
Duplo Railroad Tycoon: Синтез железнодорожной сети с максимальным покрытием
2017-01-17 в 5:39, admin, рубрики: irony, lego, pythonic way, генерация лабиринтов, дилетантство, железная дорога, Занимательные задачки, ненормальное программирование, программирование микроконтроллеров, разработка игр, Разработка робототехники, синтез
Детям Дед Мороз принес железную дорогу Duplo. Сегменты рельс очень легко соединяются между собой, и можно построить какой-нибудь небольшой, скорее всего просто замкнутый путь, поставить станцию и смотреть, как паровозик бегает по кругу. Иногда он останавливается и детёнок должен паровоз «заправить» из колонки, после чего паровоз снова поедет.
Читать полностью »
Тень на плетень, или 25 елок для Адама Дженсена
2017-01-15 в 21:19, admin, рубрики: 3d, phaser.js, raycasting, shadow mapping, three.js, ненормальное программирование, разработка игр, тени, метки: тениРассказ о том, как я попробовал построить красивые трехмерные тени не выходя за рамки уютного двухмерного гейм-девелопмента, и что из этого получилось.
По-настоящему живая перезагрузка кода в golang
2017-01-02 в 8:12, admin, рубрики: Go, golang, hotreload, ненормальное программирование, ПрограммированиеЕсли вы разрабатываете веб-приложения на го, то эта статья, возможно, будет вам интересна. До того, как перейти на go, я в основном программировал на PHP и мне всегда нравилось то, что можно сохранить файл, перезагрузить страницу и увидеть результат, который сгенерирован уже новым кодом. Большие программы на go могут компилироваться несколько десятков секунд, что весьма быстро, но всё равно ощутимо. Возможно ли сделать аналог Java hotswap (замена тела метода в runtime), ведь Go компилируется в нативный код? Ответ — да, возможно, но только для разработки. В данный момент мне неизвестно о готовых инструментах, которые бы позволяли это автоматизировать. В этой статье я хотел бы продемонстрировать proof-of-concept «живой перезагрузки» с использованием пакета plugin в go1.8beta2 и пакета github.com/bouk/monkey. Пытливый читатель скорее всего уже догадывается, что мы будем делать.
Как проектируют ненастоящие программисты
2017-01-02 в 5:27, admin, рубрики: GNSS, gps, Геоинформационные сервисы, Глобальные системы позиционирования, глонасс, ненормальное программирование, Программирование, программирование микроконтроллеровНастоящие программисты — это облака, big data, high load… А у нас — практически DIY. 2 установки — уже тиражирование, 100 штук — производство… Но зато атомные ледоколы, маневровые локомотивы, трактора, шлюзы, мосты, опускающиеся вниз от лишнего асфальта, беспилотники размером в дом, 50 человек персонала на цех длиной больше двух километров… и надежность, надежность, надежность… И пяток гендиректоров в костюмах прямо на поле при демонстрации системы на тракторе…
Обычное окончание отладки — убираем антенны с путеправильной машины
Итак… пришла просьба от коллег — написать ТКП (технико-коммерческое предложение) на хитрый GPS-трекер. И комментарии, что большие и настоящие делать отказались.
Читать полностью »
Почему этой зимой мы снова приглашаем всех поиграть в компьютерные игры при помощи искусственного интеллекта
2016-12-29 в 13:03, admin, рубрики: deep learning, gpgpu, reinforcement learning, Блог компании Московский физико-технический институт (МФТИ), искусственный интеллект, компьютерные игры, машинное обучение, МФТИ, ненормальное программирование, Спортивное программирование, хакатонХабр, МФТИ приветствует тебя! Как истинные технари, сразу переходим к делу и приглашаем всех, кому интересно, принять участие в новом хакатоне DeepHack, который пройдет на Физтехе с 6 по 12 февраля. Отборочный этап уже начался и продлится до 22 января. Это мы всё к чему… Если вы не понаслышке знаете, что такое DQN, deep RL и DeepHack сразу регистрируйтесь на очередную научную школу-хакатон — rl.deephack.me.
А если вы не до конца в теме и вам, например, не ясно, почему компьютерные игры, какое отношение они имеют к управлению дата-центрами и что на самом деле будет в феврале, то срочно идите под кат — там максимальное погружение в жизнь искусственного интеллекта от древности и до наших дней. Ну вы же не думаете, что всё это изобрели только в XXI веке?
Читать полностью »
A fistful of relays. Часть 3 — декодер команд и управляющий автомат
2016-12-28 в 6:02, admin, рубрики: ненормальное программирование, программирование микроконтроллеров, реле, системное программирование, странные компьютерыМоя коллекция старых компьютеров пополняется не очень быстро, поэтому я делаю старый компьютер своими руками.
Он работает полностью на электромагнитных реле и будет состоять из четырех блоков.
На сегодняшний день я закончил уже три из них: АЛУ, регистровый файл и управляющий модуль, который декодирует инструкции раздает остальным блокам указания что делать.
Тёплый ламповый щелкающий звук тактового генератора: