26 августа 2011

Common Lisp. Postmodern.

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

Встречайте! Перевод документации двух частей библиотеки Postmodern.
http://lisper.ru/wiki/libraries:postmodern

Одним из плюсов является то, что библиотека Postmodern не зависит от сторонних библиотек и соответственно не наследует си-интерфейсы, а сразу предоставляет простой лисп-интерфейс. Кроме того реализована такая вкусняшка, как транслятор s-выражений в строки SQL запросов. Польза ее использования спорна, но без сомнения эта компонента заслуживает внимание к себе, так как использовать ее проще, чем пытаться понять документацию по ней.

Перевод ОРМ-а хромает, но мне ОРМ все равно не нравиться.

Документацию по низкоуровневому слою CL-postgres я не переводил, так как, думаю, желающие ею воспользоваться будут знать английский язык.

Ну и как всегда: критика и пожелания приветствуются всячески.

P.S. Кстати говоря редактор сообщений blogspot немощен не менее. Он и недовысивиг и блокнот из него никакой.

UPD. Не удержался и быстренько перевел external-program.
http://lisper.ru/wiki/libraries:external-program

24 августа 2011

Erlang. Billing server.

Волею судьбы делал простую систему билинга на erlang'е. Я уже неоднократно восторгался этим языком и даже переводил некоторые вводные статьи. Сегодня же я познакомлю вас с небольшой веб-инфраструктурой сложившейся вокруг данного языка. Предполагается, что читатель знаком с языком erlang, знание принципов OTP необязательно. В статье слегка затронется поведение gen_server.

Git репозитарий с исходным кодом доступен по адресу: http://github.com/filonenko-mikhail/erlbilling

13 августа 2011

Common Lisp. Restas. Maxima.

 So, lesson is, if you're going to start a Lisp company, don't make Lisp the product, make it your secret weapon. (c)jimbokun

Некоторое время назад решал много контрольных по математике. Однотипные задачи, просто разные варианты условий. Давайте рассмотрим такой вопрос: можно ли это автоматизировать, и поставить решение задач по математике на поток.
Начнем с системы символьных вычислений. Выбор пал на Maxima, которая имеет такую же длинную историю, как и Emacs.
Начало было положено проектом Macsyma в 1968 году и maclisp-ом, lisp-ом, который для этой системы и был разработан. В результате "санта-барбары" с владениями, лицензиями в распоряжении open source сообщества появился такая замечательная программа как Maxima, доступная на большинстве реализаций common lisp-a.
С этим проектом кстати в некоторой степени связан закат такой компании как symbolics, которая всячески производила лисп-машины в прямом понимании этого слова. Небольшая оценка заката здесь от Dan Weinreb. Dan Weinreb лиспу конечно не изменил и в итоге перебрался в ITA Software.
Но эта целая отдельная история, которая впрочем достаточно сильно повлияла на существующую программисткую реальность.

06 августа 2011

Quicklisp

Очень и очень удобный инструмент. Кто бы мог подумать, что я смогу за три строки установить restas. Для сравнения отсылаю к алгоритму "ручной" установки: http://restas.lisper.ru/ru/installation.html#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0. А еще разрешить  зависимости для hunchentoot.
Вообщем не могу удержаться и не перевести миниатюрное руководство по quicklisp.

03 августа 2011

Публикую тут виджетик

Посвщяается чекбоксам в заголовке таблицы для того, чтобы выделять все чекбоксы колонки, или строки.



Проект на хостинге проектов.
https://gitorious.org/qtcheckheaderview