пятница, 30 октября 2015 г.

Какой язык программирования учить первым - опрос в блоге eax.me

Поучаствовал в интересном опросе в блоге небезызвестного @afiskon. Он предложил независимо ответить на один и тот же вопрос "Какой язык программирования вы бы посоветовали учить первым, и почему именно его?" разным людям и свёл результаты вместе и опубликовал. Я если честно ожидал что все ответы будут о 2-3 языках, примерно с одинаковой аргументацией, ан нет, разброс мнений меня сильно удивил. Не менее интересное обсуждение идёт в комментариях, советую почитать.

Собственно вот ссылка на сам пост.

четверг, 29 октября 2015 г.

Скринкасты и UNIX-way

Не так давно обсуждали с коллегами разницу между возможностями command-line в Windows и Linux. Мне кажется так и не удалось донести мысль, что тот же powershell не смотря наличие нескольких хороших идей в большинстве своём остаётся для повседневных задач неудобным, неповоротливым монстром. И что пресловутый UNIX-way, с сотнями утилит на все случаи жизни гораздо практичнее и функциональнее. Сотни тысяч приложений, написанных в стиле максимальной конфигурируемости, позволяют как из кубиков собирать нужное и максимально удобное для себя родимого. Для иллюстрации подхода, попробую на примере записи скринкастов в GIF, показать насколько удобно можно собирать эти кубики.

понедельник, 26 октября 2015 г.

Визуальные undo redo в Emacs

Концепция операций undo/redo кажется выверенной и отточенной многими годами, добавить туда что-то новое не возможно. Большинство редакторов впрочем и не пытаются, полностью сосредоточившись на редизайне кнопок в интерфейсе и добавлении новых шкурок. В Emacs'е же, попытки изменить устоявшуюся концепцию есть и на мой взгляд удачные.

понедельник, 19 октября 2015 г.

Software render на Rust: добавляем текстуры

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

вторник, 6 октября 2015 г.

Мой первый пакет для Emacs: multi-compile

Более актуальная версия
Я часто пишу заметки о Emacs, в формате: скопируйте вот эти строки подкорректируйте под себя, вставьте в конфиг, установите ещё вот этот плагин и т.п. Сегодня решил выйти на "новый уровень" и сделал полноценный пакет для Emacs и что бы нанести пользу максимально большой аудитории - разместил его в melpa. Конечно подготовить его несколько сложнее, чем просто пример конфига для блога, но для меня это своеобразное возвращение долгов за используемые мной open-source решения.

пятница, 25 сентября 2015 г.

appveyor - travis-ci под windows

Я недавно делал обзор travis-ci и пожаловался на то, что там нет возможности прогонять тесты на windows. В комментариях ozkriff дал ссылку на appveyor.com, спасибо ему. Сервис как раз и специализируется на создании продукта для continuous integration под windows. У меня наконец дошли руки до того, что бы посмотреть на то, что он умеет, результаты далее.

среда, 16 сентября 2015 г.

Подборка ресурсов по Emacs

Что-то накопилось много разных ссылок на разные полезные и интересные материалы по Emacs, решил поделиться.

среда, 9 сентября 2015 г.

Software render на Rust: интерполяция атрибутов и освещение

В прошлой статье я показал как можно реализовать буфер глубины с помощью интерполяции значения 1/z. А так же сделал простейшую систему освещения, когда цвет рассчитывался целиком для треугольника. На низкополигональных моделях это выглядело ужасно, так рисовали много лет назад, когда производительности катастрофически не хватало. Сейчас даже ресурсов только процессора хватит, что бы сделать нормальное попиксельное освещение, чем мы сейчас и займёмся.

пятница, 4 сентября 2015 г.

Автоматическое удаление в Emacs лишних пробелов и табуляции в конце строки

Набрел недавно на замечательную возможность emacs, не могу не рассказать. Многих я думаю раздражают лишние пробелы или табы, которые остаются в конце строки (как отобразить непечатаемые символы я писал раньше). В emacs есть функция "M-x delete-trailing-whitespace" которая удалит все пробелы и табы в конце строк в текущем буфере, а заодно и лишние линии в конце файла, оставив только одну. А что бы автоматизировать этот процесс, можно добавить в конфиг вот такую строчку:
(add-hook 'before-save-hook 'delete-trailing-whitespace)
Теперь "delete-trailing-whitespace" будет вызываться перед каждым сохранением файла автоматически.

вторник, 1 сентября 2015 г.

Software render на Rust: переходим в 3d

В предыдущей статье, разобрались с отрисовкой одноцветного треугольника на плоскости. Теперь пора переходить в 3D. С нуля разработать математический аппарат по проецированию треугольника на плоскость - задача весьма нетривиальная. Однако за нас уже все сделали и упростили до такого уровня, что практическое использование осилит даже тот, кто прогуливал уроки математики в школе.