Как стать автором
Обновить
264
0
Павел Воронин @huze

Пользователь

Отправить сообщение

Пишем примитивный и никому не нужный компилятор

Время на прочтение9 мин
Количество просмотров174K
Я считаю, что каждый программист должен написать свой компилятор.

Я сам долгое время считал, что создание компиляторов — это удел элиты, а простому смертному программисту не постичь этой науки. Попробую доказать, что это не так.

В посте мы рассмотрим, как можно написать свой компилятор C-подобного языка меньше чем за час, исписав всего 300 строчек кода. В качестве бонуса, сюда входит и код виртуальной машины, в байткод которой будет компилироваться исходник.
Читать дальше →
Всего голосов 247: ↑231 и ↓16+215
Комментарии67

Нормальные числа: ликбез

Время на прочтение5 мин
Количество просмотров58K
Не так давно попалась мне на глаза великолепная юмористическая статья про файловую систему, хранящую данные в числе Пи. Бурное обсуждение, развернувшееся в комментариях (кажется, не все его участники поняли шутку), натолкнуло меня на мысль, что тему нормальных чисел неплохо бы обсудить более серьёзно, тем более что тема эта благодатна, полна красивых результатов, нерешённых проблем и прочих кошерных вещей. Если желаете с этими вещами ознакомиться — пожалуйте под кат.

image

Читать дальше →
Всего голосов 116: ↑112 и ↓4+108
Комментарии38

Crossfilter.js, dc.js и D3.js для визуализации Данных

Время на прочтение4 мин
Количество просмотров35K
Приветствую ценителей красивой и функциональной визуализации данных! Предлагаю вашему вниманию небольшой обзор нескольких JavaScript библиотек, которые вкупе с D3.js позволят создать интерактивную визуализацию многомерных данных с возможностью применения фильтрации «на лету».


Заинтересовались, тогда добро пожаловать под кат.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии15

Размышления о программировании

Время на прочтение14 мин
Количество просмотров35K

От Аристотеля к Витгенштейну


Мне не нужен язык, который позволяет создавать хорошие программы. Я ищу язык, на котором нельзя будет написать плохую программу. Автор

Предисловие

Развитие информатики как науки представляется рекой, которая рождается в далеком прошлом (Евклид, III век до н.э.; Вавилон, XIX век до н.э.; а возможно и раньше) из едва заметных ручейков первых алгоритмических вычислений. Неспешно двигаясь по истории, ручейки объединяются в реку, которая, неся свои воды через века, вбирает в себя притоки из смежных дисциплин, накапливает величественность и мощь и, наконец, срывается ниагарским водопадом из второго в третье тысячелетие, превращаясь в стремительный бурлящий поток, который захватывает и несет с собой из прошлого в будущее миллионы людей.



Броуновской частице, которую то бросает на стремнину с турбулентным течением, то опрокидывает в застоявшееся болото, то на мелководье, то в омут; мир информационных технологий видится загадочным, изменчивым и непредсказуемым. Однако радость постоянного движения, героического преодоления трудностей, бешеного вращения калейдоскопа новых впечатлений со временем сменяется тоской, томлением духа и непреодолимой потребностью на мгновение приподняться над суетой, взглянуть со стороны на этот бешено бурлящий поток и попытаться разглядеть, если не общее направление бурной реки, то хотя бы ближайший поворот той протоки, в которой барахтаешься.
Читать дальше →
Всего голосов 85: ↑58 и ↓27+31
Комментарии82

Истинное могущество регулярных выражений

Время на прочтение16 мин
Количество просмотров94K
Как частый посетитель тэга PHP на StackOverflow, я очень часто встречаю вопросы о том, как распарсить какие-то конкретные аспекты HTML, используя регулярные выражения. Самый распространённый ответ на это:
«Ты не можешь парсить HTML с помощью регулярных выражений, потому что HTML не является регулярным. Используй XML парсер, и будет тебе счастье»

Это утверждение — в контексте вопроса — находится где-то между сильно вводящим в заблуждение и абсолютно неправильным. Что я хочу попытаться продемонстрировать в этой статье, так это то, насколько могущественны современные регулярные выражения на самом деле.
Читать дальше →
Всего голосов 182: ↑172 и ↓10+162
Комментарии39

Как создать новый продукт для рынка электроники. Часть 1

Время на прочтение5 мин
Количество просмотров58K


Статьи о разработке продуктов в сфере электроники — это большая редкость на Хабре. Я говорю не о любительских проектах или прототипах, а об успешных коммерческих устройствах для массового рынка.

Ведь презентации новых гаджетов Apple, Samsung и других брендов — это только видимая часть айсберга, под которой скрывается человеко-десятилетия труда людей самых разных специализаций: инженеры, программисты, дизайнеры, логисты, руководители различных уровней, продавцы и так далее. Пока ты не погружаешься в эту внутреннюю кухню, может показаться, что процесс довольно простой и понятный: была бы идея, хорошая команда и достаточное финансирование. Однако не все так просто.

Хочу поделиться своим опытом и видением, которое было сформировано за время моего трудового пути от инженера до руководителя, в компаниях как продуктовых, так и сервисных.

Многие читатели Хабра знакомы с внутренней кухней разработки ПО, а ведь железо — это совсем другая история. Готовы? Тогда поехали.
Дальше о том, в чем разработка электроники отличается от разработки ПО
Всего голосов 88: ↑83 и ↓5+78
Комментарии32

Теория относительности в картинках

Время на прочтение6 мин
Количество просмотров369K
В своей статье я хотел бы рассказать о теории относительности. Эта теория не требуется в представлении. С самого своего создания она была окутана ореолом тайны, поскольку полностью подрывает наши привычные представления о пространстве и времени. Все мы в школе учили формулы теории относительности, но мало кто действительно понимал их. И это не удивительно, ведь человеку, чтобы по-настоящему понять какую-то теорию во всей её красоте, полноте и непротиворечивости, не достаточно знать формулы. Нужно иметь какой-то визуальный ориентир, нужна динамика, чтобы было что-то, что можно повертеть в руках. Я решил восполнить этот пробел и написал небольшую программку, в которой можно «повертеть в руках» пространство-время. Мы, как настоящие исследователи, с помощью небольших экспериментов попытаемся выяснить основные свойства этой загадочной материи.
Под катом много картинок (и ни одной формулы).
Читать дальше →
Всего голосов 272: ↑266 и ↓6+260
Комментарии345

Physics Snake. С нуля. Часть первая

Время на прочтение12 мин
Количество просмотров20K
Статья с тэгом «обучающий материал». С нуля, поэтому будем писать свой не сложный (для начала) физический движок и сразу же не сложную игру (я выбрал змейку) на нем. Но статья скорее будет не об этом, так как это не такое уж и сложное задание, а о том, как это все будет на JavaScript, причем с максимально красивым (правильным) кодом (жду, что все что можно сделать еще лучше вы опишите в комментариях). «А в ответ полетели спелые помидоры..». Начнем.
(кто дочитал аж до сюда, держите печеньки, управления стрелками влево-вправо):
вот что будет: в части один
и это же (dev-mode)
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии18

Ретенция, или почему пользователь вернется в игру?

Время на прочтение7 мин
Количество просмотров66K
Привет, Хабр!

Меня всегда интересовал геймдев. Несколько лет назад я сделал шаг и окунулся в этот мир. Меня поражал успех Энгри Бердс (Angry Birds), взлёт и падение Зинги (Zynga), и одна мысль мне не давала спать — «Как же они сделали такие классные игры?».

Прошло немало времени, накопился ящик опыта, в закромах образовались какие-то отрывочные записи и комментарии. Я решил все структурировать и систематизировать, стараясь ответить на один из краеугольных вопросов — «Почему же пользователь вернётся в игру?».
Читать дальше →
Всего голосов 77: ↑73 и ↓4+69
Комментарии66

Куда уходит рынок электронных платежных систем в России? Часть 1. Статистика рынка

Время на прочтение11 мин
Количество просмотров43K
Платежные системыНе так давно в одном из журналов я нашел заметку о том, на сколько «ботизированы» социальные сети, в первую очередь FB и VK: как оказалось, миллионные бюджеты, вложенные гигантами рынка в рекламу на этих ресурсах не оправдали себя, т.к. SMM-агентства накручивали голоса и лайки всеми возможными и невозможными путями. Зачем? Собственно ради этих самых миллионов (не голосов, конечно). В принципе, история не новая, т.к. были, например, скандалы подобного рода и с антивирусными компаниями, которые писали зловреды под свои продукты, если говорить о Сети, а если вспомнить недавний ипотечный крах, то можно понять, что и в «реальной» жизни всё ровно то же самое: эффект мыльного пузыря свойственен любому новому рынку.

Поэтому я решил проверить на зуб ту сферу, с которой работаю бок о бок каждый день – электронную коммерцию, а также связанные с ней области: платежи и их процессинг.
Что из этого вышло
Всего голосов 46: ↑42 и ↓4+38
Комментарии61

Создание умного дома и разработка своего протокола

Время на прочтение5 мин
Количество просмотров180K
Сразу скажу, что пост ориентирован скорее на обычных людей, чем на тех, кто в теме, и является скорее отчётом того, чем я занимался в последние дни.

Я тут решил забить на всю работу и заняться чем-то для души. Снова взялся за паяльник. Решил автоматизировать дома всё и вся. На старой-то квартире у меня был умный дом или что-то типа того — мог свет в комнате включать через Интернет и всё такое.

На этот раз я решил учесть свои ошибки. Основной проблемой было то, что раньше у меня за всё отвечало одно устройство, к которому были подключены датчики температуры, движения, дисплей, кнопки и прочее. Всё это было здорово, но в итоге устройство выполняло только тот функционал, который был заложен в него изначально. Нельзя было так просто взять и подключить какой-то новый датчик, не переделывая это устройство.

Было решено, что лучше делать много отдельных устройств, каждое из которых отвечает за строго определённую задачу, имея возможность с лёгкостью подключать их к какой-то общей сети. И чтобы у каждого устройства был адрес и свой набор команд. Что-то вроде CAN-шины в современных автомобилях. При этом хочется, чтобы сеть была децентрализованной, без мастер-устройства, чтобы соединялись все по одному проводу, легко реализовывалось без покупки дополнительного контроллера, ну и чтобы длинные провода не были проблемой.

На борту микроконтроллера есть всякие I²C, да UART, но они явно не удовлетворяют условиям. В итоге было решено разработать свой велосипед протокол.



Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии99

Энергоцентр с тригенерацией: как раз то что надо в российской реальности

Время на прочтение6 мин
Количество просмотров43K
Электричество в России — это такая штука, которую могут внезапно отключить, которая может подорожать или стать хуже по качеству. Если у вас дата-центр, госпиталь, торговый центр или другой важный объект, логично озаботиться своим источником питания: начиная с какого-то объёма потребляемой энергии выгодно не запитываться от города, а строить собственный энергоцентр.


Фотографии энергоцентра в Набережных Челнах

Учитывая, что для всех этих объектов (в особенности – для дата-центра) понадобится не только электричество, но и тепло-холод, крупные заказчики делают ставку на свои энергоцентры — а мы занимаемся их проектированием, строительством и внедрением, и используем очень интересную схему тригенерации, позволяющую получать сразу тепло, холод и электричество без лишних преобразований.

Под катом — фотографии энергоцентра, короткий рассказ об его устройстве и тригенерации в целом.
Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии85

Борьба с DDoS глазами Highload Lab

Время на прочтение15 мин
Количество просмотров73K
O трендах и тенденциях в DDoS-атаках рассказывает создатель Highload Lab и сети фильтрации трафика QRATOR Александр Лямин. Интервью мы брали еще в начале года, но изменилось пока немногое



DDoS-атаки появились на заре интернета. Знакомство с ними для меня лично началось во время проекта IT Territory в 2003 году, когда игра только стартовала. Она имела достаточно агрессивную рекламную кампанию, в ответ на которую тут же прилетел DDoS от конкурентов. Скажу честно, я растерялся. Больше всего из-за того, что компания, которая оказывала хостинг-услуги, не просто не смогла, а не пожелала бороться с атакой. Ее представители сказали, что это не их проблема.
Читать дальше →
Всего голосов 175: ↑160 и ↓15+145
Комментарии108

Типичный день под присмотром Алисы

Время на прочтение6 мин
Количество просмотров135K
Недавно вышла новая версия комплекса MajorDoMo, о котором на Хабре была обзорная статья, и я решил, что было бы хорошо показать на живом примере, как оно работает. Возьмём самый обычный будний день и посмотрим, как Умный дом себя вёл в его течении.

Картинка для привлечения внимания

Читать дальше →
Всего голосов 192: ↑179 и ↓13+166
Комментарии112

Как стать руководителем

Время на прочтение7 мин
Количество просмотров35K


Мы в Alconost’е очень любим стройную мысль в хорошем изложении. Именно так пишет Бен Хоровиц, в далеком прошлом — обычный программист, а сегодня — соучредитель одного из самых успешных мировых венчурных фондов. В свободное от инвестирования время Бен делится всеми нажитыми знаниями в своем блоге. Мы не можем молчать. Впечатлились и перевели один из его постов, очень уж он хорош и полезен.

Управленцы, налетай!

Читать дальше →
Всего голосов 38: ↑32 и ↓6+26
Комментарии24

Электронная система управления подвеской горного велосипеда

Время на прочтение10 мин
Количество просмотров258K
Уважаемое сообщество, представляю вашему вниманию отчет о проделанной работе по скрещиванию моих двух хобби: горный велосипед и микроэлектроника.

Итак, в этой статье речь пойдет об отечественной разработке электронной системы управления подвеской горного велосипеда. Не буду мучить длинным вступлением, сразу к фото и видео:


Подробностей о том чего удалось достичь. Видео и фото под катом.
Всего голосов 331: ↑328 и ↓3+325
Комментарии214

Клавиатура, идея, две руки

Время на прочтение2 мин
Количество просмотров182K
Случалось ли в твоей жизни, %username%, такое, когда тебе продолжительное время хотелось странного? Неважно чего — ведь у каждого разные вкусы и предпочтения. Моя страсть сидела во мне долго, но однажды всё-таки вырвалась наружу. Мне нравится делать необычные вещи, и мне всегда нравился моддинг как средство самовыражения. Несколько лет назад я вдохновился изделиями моддеров из разных стран и начал обдумывать несколько своих проектов. В частности, мне очень хотелось сделать стилизованную под девятнадцатый век клавиатуру.



Что из этого получилось? Прошу под кат!
Всего голосов 517: ↑509 и ↓8+501
Комментарии189

Подборка инструментов для эффективной frontend разработки

Время на прочтение3 мин
Количество просмотров101K
В эту прекрасную пятницу осмелюсь предложить хабрасообществую небольшую подборку приложений, предназначенных для увеличения продуктивности во время работы с фронтэндом. Если ваш любимый апп здесь не представлен — добро пожаловать в комментарии!

Form Builder

image

Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
еще 24 ссылки
Всего голосов 204: ↑197 и ↓7+190
Комментарии46

Автоконфигурация в облаке Amazon при помощи Chef-Solo

Время на прочтение3 мин
Количество просмотров7.4K
Здравствуйте!

В этой статье я хочу рассказать об автоконфигурации в облаке. Для примера запустим ec2-инстанс, на котором «приготовится» WordPress.

Под автоконфигурацией я понимаю автоматическую установку и настройку пакетов, разворачивание приложений. Процесс настройки должен проходить без логина по ssh на конфигурируемый инстанс, буквально одной командой.



Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии8

Практическое применение системы премирования Водянова на селе

Время на прочтение4 мин
Количество просмотров83K

Здравствуйте, уважаемые читатели хабры.
Хочу поделиться с уважаемым сообществом результатами небольшого эксперимента по внедрению системы мотивации описанной в моей статье «Система мотивации c элементами рыночных отношений» в самом настоящем совхозе в Башкирии.

Летом этого года я изложил суть идеи своему другу Рустаму Давлетбаеву, а он рассказал ее директору совхоза Шаймуратово Артуру Нургалиеву. И вот на прошлой неделе Рустам внезапно заявил мне, что оказывается они провели эксперимент с этой системой и могут рассказать, что из этого получилось.

Вчера я сел в машину и поехал в Шаймуратово общаться с Артуром, чтобы узнать подробности.
Что было дальше
Всего голосов 91: ↑74 и ↓17+57
Комментарии30

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность