пятница, 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. С нуля разработать математический аппарат по проецированию треугольника на плоскость - задача весьма нетривиальная. Однако за нас уже все сделали и упростили до такого уровня, что практическое использование осилит даже тот, кто прогуливал уроки математики в школе.


пятница, 28 августа 2015 г.

Небольшой обзор travis-ci

Наверняка многих, в своё время, не обошла стороной шумиха вокруг travis-ci. Это сервис для сборки и тестирования проектов на GitHub, относительно простой, но в принципе покрывающий большинство use case. По сравнению с тем же Jenkins, он выглядит малофункциональным, но тут преимущество в том, что за вас уже развёрнута инфраструктура, причём совершенно бесплатно.

понедельник, 24 августа 2015 г.

Software render на Rust: рисуем треугольник

Я уже давно хотел разобраться получше с Rust, что бы составить впечатление о языке. У них есть достаточно хорошая документация, которая к тому же переведена на русский, в интернете - куча статей. Но видно я не из тех, кто способен понять язык по книжкам. Поэтому было решено написать на нем, что-то более или менее крупное, в качестве задачи решил взять Software rendering, заодно университетский курс линейной алгебры вспомню. Тем более я уже когда-то давно писал его для конкурса (я там под ником Rean), правда исходники не сохранились, но зато в памяти остались общие моменты. Сразу оговорюсь: я не буду пошагово описывать все алгоритмы, которые я использую, иначе это будет не серия постов, а объёмная книга. Но постараюсь давать ссылки на материалы, которые, на мой взгляд, хорошо описывают что я делаю и комментаровать некоторе моменты. Так же буду выкладывать ссылки на мою реализацию в GitHub, местами корявую, частично из-за незнаний языка, частично из-за подзабытых алгоритмов. Всего этого должно быть в принципе достаточно для воспроизведения, при желании, моих результатов на любом другом языке. А для тех кому лень - будут картинки, по которым можно оценить прогресс.

среда, 29 июля 2015 г.

Ansible - заключение

В предыдущих статьях (1 2 3 4) я обзорно прошёлся по основным на мой взгляд моментам ansible. Конечно очень многое осталось "за кадром", но для составления мнения мне хватило. Настало время подвести итоги и показать что получилось в результате экспериментов. Впечатления от ansible остались неоднозначные. Очень много негатива, хотя есть и положительные моменты. Если честно, я ожидал большего.

воскресенье, 26 июля 2015 г.

Minecraft без demo

Решил я на днях поиграть в minecraft на Linux. Зарегистрировался на сайте, установил пакет, когда launcher попросил - ввёл данные свои регистрационные, все как положено. Игра заработала - наслаждаюсь, вот думаю разработчики java молодцы, обещали что "написано один раз, работает везде" и выполнили таки обещание, несмотря на то, что игра выкуплена Microsoft - на Linux проблем нет. Но проходит пара часов - а она денег просит, прям как вирус какой поганый, про какое-то буржуйское "demo" талдычит. Я их тарабарскому наречию не обучен, чувствую только что java опять гадит, ибо других вирусов на Linux не водится.

вторник, 21 июля 2015 г.

Ansible - встроенные возможности

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