Ну, я думал сделать JRPG, но выяснил тут, что есть готовый конструктор RPG Maker, он хоть и закрытый-платный, но довольно удобный, вантузойдов устраивает, есть целые коммюнити, а мой красноглазый велосипеды их вряд ли заинтересует. Короче, мотивация пропала, ищу другую интересную идею.
> Эмулятор себя, чтобы за тебя работал, тогда будет время действительно выучить лисп.
А если без глупостей, то я даже не представляю что можно сделать полезного на лиспе, не инструмент программирования или библиотеку, а именно конечный продукт. Не какаю-нибудь убогость (это можно на любом языке написать), а именно чтобы задействовать сильные стороны лиспа.
Ну и что написал лично ты? (не из того что на сайте, а вообще)
Блин, лоровские лисперы кричат что лисп крут и прочее, да крут, но почему вы не похвастаетесь своими проектами? Или все ограничивается расширением имакса? :)
> А если без глупостей, то я даже не представляю что можно сделать полезного на лиспе, не инструмент программирования или библиотеку, а именно конечный продукт. Не какаю-нибудь убогость (это можно на любом языке написать), а именно чтобы задействовать сильные стороны лиспа.
Софт для велокардиометра для неинвазивного определения порога анаэробного обмена. Пойдёт?
Да знаю я лисп, но тратить отпуск на еблю с кривыми библиотеками не хочется. Даже OCaml сейчас и то по батарейкам даст всем лиспам 100 очков вперёд, уж про Питон я не говорю.
Ну тебе уже предложили написать форум на пистоне, так вот, можешь написать форум на Lisp`е, ucw в зубы и вперёд... думаю можно очень неплохой форум навоять.
> Собираюсь на месяц в отпуск, думаю, что бы такое опенсорсное накодить.
есть такая идея: "синхронизатор" закладок/сессий в разных браузерах, как синхронизация roaming profiles через интернет в Opera, SeaMonkey. Идея в том, чтобы синхронизировать закладки/сессии с вкладками в разных браузерах, в разных ОС, прозрачно для пользователя.
Есть "универсальный" XML формат хранения закладок, XBEL. Есть "профиль браузера", в котором хранится bookmarks.html или opera6.adr. Можно написать несколько XSL+XML (для Оперы понадобиться скрипт, парсящий opera6.adr -- у него не HTML формат), которые переводят из специфического формата конкретного браузера в XBEL, и наоборот.
Для сессии с вкладками аналогично, можно эмулировать сессии там, где их нет: запоминать в папке bookmarks "SESSIONS" под именем вида ddmmyy-hhmm при закрытии, открывать вкладки из нужной папки при открытии. В целом "сессии вкладок" очень похожи на те же закладки.
Возможно, обновлять-синхронизировать надо не все закладки, а только спец. выделенную папку в закладках, остальное оставить специфич. для конкретного браузера.
Весь смысл, чтобы эта фигня работала совершенно прозрачно для пользователя. Какой-то фреймворк, в котором запуск браузера заменяется на обёртку, которая делает sync in(синхронизирует закладки из "хранилища"), запускает браузер (с обновлёнными закладками), при выходе из браузера делает sync out (синхронизирует обновившиеся закладки из конкретного браузера в "хранилище").
sync in, sync out можно сделать каким-то DVCS, например, Mercurial:
hg checkout file.xbel
convert-from-xbel file.xbel $BROWSER_PROFILE > $BROWSER_PROFILE_BOOKMARKS
$BROWSER
convert-to-xbel $BROWSER_PROFILE_BOOKMARKS $BROWSER_PROFILE > file.xbel
hg commit file.xbel
DVCS ещё на халяву даст возможность делать hg clone, hg push/hg pull, hg branch, hg serve
Итого, надо сделать:
1) "унифицированно описать" в каком-то XML профили разных браузеров: закладки, сессии
2) прикрутить несколько XSLT, по одному на каждый браузер, чтобы конвертировать из в универсальный XBEL, и наоборот. Если входной формат -- не XML (opera6.adr), прикрутить скрипт, который будет парсить.
3) фреймворк для запуска браузеров через синхронизацию
4) описать профили реальных браузеров; сделать инсталлятор, чтобы он сам определял путь к профилям, чего куда установлено, и генерил этот XML из 1)
заодно можно потренироваться в генерации XML+XSLT, парсить текстовые конфиги, прикрутить GUI (кстати, в примерах Qt 4.4 готовые примеры работы с XBEL), инсталлятор, и т.п. Mercurial сам на питоне, возможно, если сделать convert-to-xbel, convert-from-xbel плагинами Mercurial, а сам Mercurial запускать не из консоли, а из другого скрипта на питоне, постоянно держать библиотеку в памяти, можно потренироваться в программировании плагинов для hg, и во встраивании самого hg куда-нибудь, как плагин :)
В идеале, сидит пользователь, запускает программу под вендой, нажимает кнопку, она сама определяет что за браузеры у него установлены, пути к профилям. Запускает из программы браузер, браузит, закрывает браузер.
Перегружается в линукс, запускает программу, прописывает путь к настройкам установленной в венде той же программы, нажимает кнопку "определить профили". Запускает браузер, у него открываются те же закладки, та же сессия вкладок, выходит, перегружается в винду, запускает браузер (через программу) и продолжает с того же самого места. чтобы вся эта машинерия была прозрачно для пользователя, скриптом.