Однажды на лекции друг рассказал мне, что существует язык программирования пони, (основанный на сериале, конечно). Он сказал, что видел его на reddit, но даже после продолжительного поиска я смог найти только пустой репозиторий на Google Code без деталей реализации. Я был очень этим разочарован, но только на несколько минут, пока не понял, что могу написать реализацию этого языка сам. Возможно, она не будет хороша или вообще используема в том смысле, что не каждый сможет написать к ней интерпретатор, но мне хотелось проверить свои умения. А ещё мне нравятся затянувшиеся шутки.
Читать полностью »
Рубрика «ненормальное программирование» - 113
Шаблоны на C. Да! На чистом С. Не С++
2012-10-15 в 17:08, admin, рубрики: generic, template, ненормальное программирование, переводы, метки: c++, generic, templateЗачем?
Давайте представим себе, что нам нужно написать набор функций, которые отличаются друг от друга лишь парой ключевых слов (и, как правило, одно из них — название типа). Ну, вот, например, взгляните на функции, рассчитывающие суммы элементов массивов для разных типов Читать полностью »
Машина Тьюринга и ассемблер
2012-10-13 в 16:16, admin, рубрики: Алгоритмы, ассемблерная вставка, генератор кода, машина Тьюринга, ненормальное программирование, метки: ассемблерная вставка, генератор кода, машина ТьюрингаЕсть такая штука — машина Тьюринга. Представляет собой простейший компьютер, однако писать под него хуже, чем на brainfuck'е. Решил я тут на днях побаловаться, но делать интерпретатор — не спортивно, да интерпретаторов этих — вагон. Потом меня посетила еще более странная идея — а чего бы не сделать это на Асме? (я его знаю паршиво, как раз решил потренироваться, так что сильно не пинайтесь).
Самая короткая запись асинхронных вызовов в tornado v2, или патчим AST
2012-10-08 в 7:51, admin, рубрики: AST, python, tornado, visitor, yield, Компиляторы, ненормальное программирование, метки: AST, python, tornado, visitor, yield, компиляторы Меня очень заинтересовала статья Самая короткая запись асинхронных вызовов в tornado или патчим байткод в декораторе, не столько с практической точки зрения, сколько с точки зрения реализации.
Всё-таки модификация байткода в рантайме это слишком опасная и ненадежная операция. И уж наверняка не поддерживаемая альтернативными интерпретаторами Python.
Попробуем исправить этот недостаток способом, который для этого предназначен куда больше и который применяется для схожих целей во многих других языках (я точно встречал в Lisp или Erlang). Этот способ — модификация Абстрактного синтаксического дерева (AST) программы.
Читать полностью »
Автоматизация xkcd: Превращение серьёзного в забавное
2012-10-07 в 9:39, admin, рубрики: mathematica, wolfram mathematica, xkcd, Инфографика, ненормальное программирование, сюда никто не смотрит Ранним утром понедельника, я заприметил интересный вопрос опубликованный на Mathematica Stack Exchange с совершенно невинным названием: «Графики в стиле xkcd (xkcd-style graphs)». Зная популярность онлайн-комиксов xkcd Ренделла Мунро, я ожидал нечто большего чем обычные 10 голосов и несколько закладок. Если бы я знал! Спонтанный вирусный эффект сложно предсказать и уж если ты обнаружил один такой, за его развитием и ростом популярности интересно наблюдать. Всего за два дня вопрос набрал 120000 просмотров, почти 300 голосов и 200 закладок (прим. пер.: цифры обновлены); создал резонанс в других обществах StackExchange (прим. пер.: например, «Создание xkcd-графиков в TeX», «R», «Matlab»); образовал маленькое торнадо в Twitter и обсуждался на Hacker News и reddit.
Читать полностью »
Мона Лиза на чистом CSS
2012-10-04 в 7:26, admin, рубрики: css, ненормальное программирование, обработка изображений, метки: cssВеб-разработчик Джей Салват (Jay Salvat) закодировал Мону Лизу на CSS.
Конечно, не вручную, всё делает PHP-скрипт.
Читать полностью »
iTunes 10.7 пытается подключиться к домену bogusapple.com
2012-10-02 в 20:49, admin, рубрики: apple, bogusapple.com, itunes, ненормальное программирование, метки: bogusapple.com, itunesОдин из пользователей Apple позавчера заметил странное: при использовании программы iTunes файрвол Little Snitch спросил разрешения на установление соединения с доменом bogusapple.com по порту 443.
Странную тему начали обсуждать на форуме, а один из пользователей Apple набрался смелости и зарегистрировал этот домен на себя.
Читать полностью »
iTunes 10.7 пытался подключиться к домену bogusapple.com
2012-10-02 в 20:49, admin, рубрики: apple, bogusapple.com, itunes, информационная безопасность, ненормальное программирование, метки: bogusapple.com, itunesОдин из пользователей Apple позавчера заметил странное: при использовании программы iTunes файрвол Little Snitch спросил разрешения на установление соединения с несуществующим доменом bogusapple.com, порт 443.
Тему начали обсуждать на форуме, а один из пользователей Apple набрался смелости и зарегистрировал этот домен на себя.
Читать полностью »
x86 на производстве: high end промышленные контроллеры, Паскаль и вирусы
2012-10-01 в 10:48, admin, рубрики: plc, Realtime, x86, Блог компании Intel, ненормальное программирование, метки: plc, Realtime, x86 Есть такой не очень корректный термин: PC based industrial automation. Я думаю, что он не совсем точен, так как никто, конечно, не подсоединяет станок к обычному персональному компьютеру. А то вдруг зависнет, и станок отрежет что-нибудь ненужное. Но рациональное зерно в этом термине есть — уже много лет среди управляющих устройств промышленной автоматизации встречаются устройства, напоминающие ПК.
Напоминающие, конечно, не внешне.
Как и в вашем ноутбуке, в контроллере может стоять процессор Core i5, обыкновенная DRAM (только обычно с ECC), SSD диск, обычный Ethernet. Процесс загрузки тоже не отличается — BIOS загружает операционку. Как правило, операционка — RTOS. Однако иногда бывает даже Windows. Причем не всегда это Windows Embedded Compact (бывшая CE). Используется даже Windows Embedded 7, а это полноценная семерка. (Линуксы тоже встречаются)