среда, марта 10, 2010

Личный вики блокнот.

Попробовал пару вариантов личных викиблокнотов - tiddlywiki и wikidPad.
Tiddlywiki хранит всю систему в одном файле, но лично мне это не показалось очень удобным. Так что пока остановился на wikidPad'е.

В связке с dropbox можно соорудить удобную систему для блокнота с вики разметкой, которой можно пользоваться одновременно дома и на работе. В принципе для подобных задач подходят и всякие evernote, onenote, но у них вики-разметки нет, поэтому полагаться приходится на тэги и папки, а это иногда не совсем удобно.

WikidPad - личный wiki блокнотВ общем, чтобы система заработала надо скачать и установить dropbox (бесплатная программа для синхронизации файлов между несколькими компьютерами, если кто не в курсе, замена флешке, позволяет хранить 2 Gb файлов) и wikidPad (open source программа, я лично последнюю бету использую) и сказать wikidPad'у, чтобы хранил все в папке dropbox'а. Сделать это надо на 2-х (или сколько там у вас) компьютерах.

Удобно для создания всяких to-do-list, рабочих заметок и т.п.

Не хватает русификации меню правда, пока там кроме английского только шведский добавили. Но поскольку это опенсоурс, есть надежда на каких-нибудь комсомольцев-добровольцев, которые добавят туда и русский. Записи на русском создавать вполне можно, всё в UTF-8 кодируется.

P.S. Еще вариант нашел на codeplex - SWiki - Simple Standalone Wiki. Правда этот вариант я не пробовал. Думаю, даже если эта штука совсем сырая, можно исходники скачать и посмотреть ради любопытства. Программа на C#.

суббота, марта 06, 2010

Введение в eclipse

Я ни разу не java разработчик, и основным IDE для разработки для меня всю жизнь является MS Visual Studio, но всегда полезно иметь представление об альтернативах, особенно таких крупных, как Eclipse. Посмотрел сегодня вечером видео-лекцию с введением в Eclipse на сайте intuit'а:
Дальше там идут еще несколько лекций с подробностями.

понедельник, ноября 02, 2009

Русский сайт с видеолекциями.


Вчера у меня наконец появился достаточно толстый канал, чтобы смотреть видео в интернете в прямом эфире без подзагрузок, и по этому поводу вчера несколько часов я провёл за исследованием содержания нового портала-агрегатора видео лекций по различным предметам univertv.ru

До этого мне уже попадался англоязычный аналог - academicearth.org. На нем лекций, конечно, побольше и они из более солидных источников, типа Кембриджа, Массачусетского Технологического и Йеля, а не Марийского политеха, но всё же на родном языке слушать приятнее.

P.S. Еще один классный сайт с видео-курсами для ИТ-шников - Интернет Университет www.intuit.ru

пятница, августа 21, 2009

Список open source игр.

Случайно нашёл в википедии список опенсорсных игр, для которых можно скачать исходники и при желании поучаствовать в их дальнейшей разработке. В нем больше 100 игр, причем, насколько я понял, совсем не доделанные проекты отсутствуют.

В принципе, должно быть полезно для того, чтобы учиться писать программы в команде. Всё равно в одиночку сейчас ничего серьёзного не напишешь, а так и fun и польза. Посмотрел тут на днях исходники одной open source игры в процессе разработки (в том списке она ещё отсутсвует) - FreeOrion - по мотивам Master of Orion. Она еще до версии 1.0 не добралась, но написано уже порядочно. Пишут на C++ и Python, используют Boost, OGRE и еще много интересных технологий и библиотек.

Код написан в хорошем объектно-ориентированном стиле, при поверхностном осмотре замечены boost::graph (библиотека для работы с графами - для моделирования вселенной, в которой каждая звездная система - вершина графа), boost::statechart (конечный автомат - для переходов между разными состояниями игры), boost::python, boost::shared_ptr, а также обильное использование STL. Так что можно просто посмотреть, как надо писать.

Я думаю, что и в других достаточно давно существующих проектах, таких как Battle for Wesnoth (пошаговая стратегия в фэнтези мире), FreeCol (клон Colonization написанный на java), OpenTDD (open source клон Transport Tycoon Deluxe), UFO Alien Invasion (клон X-COM) есть чему поучиться в смысле программирования игр. У таких долгоиграющих проектов есть развитое community, wiki сайты, форумы, всегда можно получить помощь, если что-то не понятно.

P.S. Нашёл wiki, посвященную таким играм - Libregamewiki.
А так же блог на английском - freegamer.blogspot.com

пятница, июля 24, 2009

Игры для программистов

Update от 10 Сент 2015 г: Более свежие посты на эту тему:  #1#2 и #3.

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

Список таких игр с кратким обзором можно найти на хабрахабре.

Самые известные:

  • Robocode - соревнования между танками-роботами, алгоритм нужно писать на Java (пытаются написать C# клон игры - http://www.pureai.com/TankAI/).
  • Google AI Challenge - создание программы по контролю над колонией муравьев, сражающихся с колониями муравьев других игроков. Программу можно писать на куче реальных языков программирования.
  • GalaxyFx:Старатели - космические зонды должны собирать ресурсы. Игра сделана в Sun Microsystem, писать нужно на JavaFX Script. Можно участвовать в соревновании и выиграть призы от компании - главный приз ноутбук.
  • Terrarium - создать живое существо и победить в борьбе за существование. Писать надо на C# (.Net 2.0)
  • Breve - моделирование децентрализованных систем и искуственной жизни. Написано на Python, алроритмы нужно писать на нём же или на собственном языке.
  • HabraWars - сражение роботов, писать надо на JavaScript.
  • web-worker-wars - еще одно сражение ботов написанных на JavaScript.

Это все open source по большей части, так что если надоест играть, то можно и в самих проектах поучаствовать.
Есть куча подобных игр, использующих свои собственные языки программирования. С точки зрения обучения программированию это несколько более запутанный способ, чем писать на реальном языке, но в принципе тоже полезно. В конце концов когда я в ВУЗе учился, за 5 лет нас заставили попробовать писать примерно на 10 языках программирования, включая всякую экзотику, реально я из всего этого только C/C++ и Perl сейчас использую.
  • A.I. Wars - программирование роботов-жуков
  • Colobot, Ceebot - роботы, осваивающие другую планету. Язык программирования Cbot - смесь C#, C++ и Java.
  • DarwinBots - программирование колонии микробов
  • Infon Battle Arena - программирование жучков на языке Lua.
Полный (наверное) список подобных игр можно увидеть на DMOZ.

P.S. Еще одна возможность что-то запрограммировать в игре, которая приходит мне в голову - программирование скриптов в R3: Reunion. Это большая игра, посвященная космосу и разработчики оставили для всех желающих возможность перепрограммировать всевозможные скрипты в ней, подробнее можно ознакомиться тут - Космическое программирование.