суббота, 31 июля 2010 г.

Обновление restas.lisper.ru

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

http://restas.lisper.ru/

пятница, 30 июля 2010 г.

cl-sphinx и restas.lisper.ru

Накидал первую версию cl-sphinx, аналог http://sphinx.pocoo.org/ (на мой взгляд, лучшего пакета для создания документации). Возможности весьма ограниченны, а стадия разработки самая начальная, но кое-что уже делать можно. С помощью уже имеющегося функционала сделал типа документации к RESTAS (на самом деле это не документация, а несколько предыдущих статей из блога), посмотреть можно здесь: restas.lisper.ru. Надеюсь, что теперь таки смогу заняться документацией (раньше мне не хватало приемлемого инструмента). Посмотреть исходники этой "документации" можно здесь: http://github.com/archimag/restas/tree/master/docs/ru/.

вторник, 27 июля 2010 г.

Исходный код cliki

Из любопытства посмотрел исходный код cliki - думаю, что его стоит засекретить, что бы никто его не увидел, не ужаснулся и не объявил, что CL полное г..., особенно для разработки web-приложений.

вторник, 20 июля 2010 г.

layman и archimag-lisp-overlay

Немного упростил использования моего lisp-оверлея (который форк стандартного gentoo-lisp-overlay) с помощью layman (Gentoo). Теперь, для подключения моего оверлея необходимо установить layman
$ emerge layman
добавить http://github.com/archimag/archimag-lisp-overlay/raw/master/layman-list.xml в "список списков оверлеев" (!), который находиться в файле /etc/layman/layman.cfg, например
overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
http://github.com/archimag/archimag-lisp-overlay/raw/master/layman-list.xml
и наконец
layman -f -a archimag-lisp
Всё.

понедельник, 12 июля 2010 г.

RESTAS: упрощение отладки удалённых серверов

Я писал ранее, что в репозиторий Hunchentoot был принят мой патч, который должен был упростить отладку удалённых серверов. Однако, в последующем он был отменён с сообщением: "Fix breakage of LW version". LispWorks у меня нет, в чём проблема там я не знаю, но Edi мог хотя бы сообщить об этом в рассылку, а то ведь этого можно было и не заметить. Ну да ладно, немного поразмыслив решил просто перенести данный функционал в код RESTAS. Теперь отладочные режимы RESTAS и Hunchentoot независимы друг от друга. Теперь в RESTAS:
  • Постоянно поддерживается список отлаживаемых в данный момент потоков
  • Добавлен параметр *max-debugging-threads*: максимально возможное количество одновременно отлаживаемых потоков, значение по умолчанию - 5.
  • Функция debug-mode-on - активизирует отладочный режим.
  • Функция debug-mode-off - отменяет отладочный режим, имеет необязательный параметр kill-debugging-threads (по-умолчанию T) , который определяет надо ли уничтожать отлаживаемые в данный момент потоки.
  • В случая наличия в системе swank-сервера, в переменную swank::*connection-closed-hook* добавляется вызов debug-mode-off , который обеспечивает отмену отладочного режима и уничтожение отлаживаемых потоков после разрыва соединения.
  • Описанная схема применяется только к потокам, которые созданы Hunchentoot для обработки запросов.

вторник, 6 июля 2010 г.

Made with Common Lisp 2: screencast

Я уже показывал скриншот моего нового интерфеса, но тогда не было скринкаста - обещал его чуть попозже. Вот, теперь могу кое-что показать:



Некоторые товары отображаются не очень качество, но это проблема Chronium - с Firefox и Opera всё отображается прекрасно, но на Linux они подттормаживают (на Windows всё работает прекрасно).

четверг, 1 июля 2010 г.

В ожидании...

Итак, слухи потвердились, Google купил таки ITA за 700 млн. долларов: http://www.google.com/press/ita/. Поскольку для ITA ключевой технологией является Common Lisp, то встаёт интересный вопрос - какое влияние эта сделка окажет на дальнейшее развитие Common Lisp?

Ностальгия по C++

Что-то временами хочется пописать на C++, но куда его приложить в окружающих задачах не знаю. Надо бы собраться с духом и сесть патчить Chromium, а то он фильтры feImage в SVG очень криво поддерживает, а они мне нужны. Будет и польза и навыки в C++ теряться не будут...