2007-08-20

Сайт для FreeDune

Сегодня запущен сайт www.freedune.org. Это сайт игрового проекта FreeDune, который "мусолится" :-) мной и другими разработчиками уже пару лет. Сайт появился только сейчас. До этого, для ведения проекта и поддержания заинтересованных в разработке интернетчиков, использовался ресурс www.gamedev.ru и форум на моем сайте, который давно канул в Лету. Теперь информация о проекте будет публиковаться на официальном сайте, да и проект сдвинется с мертвой точки.

2007-07-30

Neweb

Есть и еще новость на сегодня.
Значительно обновил код framework'а (имя neweb). Выложил его на сайт. Пока комментировать и открывать код не буду, так как он очень сырой, но к концу этого года, может раньше, обязательно это сделаю. Отмечу пока, что остановился на концепции "нодов" (nodes, узлов), основная идея не сформирована, сказать что-то подробнее не могу. Разве то что ноды поставлены не во главе решения всех задач, а как частный инструмент, который весьма удобен при формировании структуры сайта.

KviD

Сегодня у меня хорошее настроение :-).
Запустился видеоряд (m4v) xvid и некоторых версий divx проигрывателя под KolibriOS, собственно еще конечно не проигрывателя, а только кода, способного крутить видеопоток с частотой ~25 кадров в секунду. Основная радость, тем не менее, порождена не тем что эта штука все же заработала, а тем что ряд проблем решение части которых не было очевидно (да и вообще не предвидилось), а другие были напротив очевидно сложными и продолжительными в разработке. Но. Получилось так что в первом случае мне повезло и вопросы решились чуть ли не сами по собой, а во втором случае - ошибся с прогнозами и все что нужно я сделал в течении суток.
Сейчас этот примитивный проигрыватель и еще немного мусора лежит здесь. Позже, когда сделаю официальный релиз, я выложу полноценную версию в индивидуальном месте хранения :-).

2007-01-08

Косяк с Entity в Pygext

Если копать глубже то, наверное, не совсем в Entity, но копать мне пока некогда. Ошибка заключается в том что, если pygext.gl.director.entities.Entity не прикручен к какому либо слою pygext.gl.director.scene.Layer, то при выходе из программы возникает гнусная ошибка, цитирую:

Fatal Python error: (pygame parachute) Segmentation Fault

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


Эта ошибка будет возникать стабильно даже в самых элементарных приложениях. Дело в том, что хотя бы один Entity будет создаваться всегда. Этот Entity создается в pygext.gl.mouse.Mouse и является изображением курсора по умолчанию.

p.s. В будущем постараюсь больше времени уделять PyGame, Pygext и просто программированию графики на Python.

2006-11-14

Twisted и заголовки запроса

Давно поставил галочку для выполнения задачи, и несколько раз её подчеркнул. Задача состоит в оптимизации обработки HTTP запросов с if-modified-since заголовками. Задача не бог весть какая сложная и, видимо, по этому я её все время откладывал. Ограничивался лишь expires и cache-control заголовками в ответе клиенту. Работаю я с Twisted/Nevow. И до сих пор не догадывался о существовании такого камня, о который я сегодня спотыкался несколько часов. Дело в том, что Twisted не обнуляет заголовки запроса, если запрос повторяется при том же соединении. Таким образом, после первого запроса с заголовком if-modified-since, Nevow редиректит клиента на определенный адрес, после чего делает его редирект обратно на эту же страницу. При этих редиректах браузер опускает заголовок if-modified-since, но так как коннект не разрывается, то заголовок if-modified-since, переданный при первом запросе, сохраняется и в последующем.
Способ решения проблемы я опишу позже, а пока нужно провести еще несколько экспериментов, что бы быть уверенным в его выборе.