Фигуры на детских площадках

Фигуры на детских площадках

Мне всегда было интересно кто и под какими химическими препаратами делает скульптуры на детских площадках. Впервые уверенность в том, что это работа специально обученных людей, у меня появилась этой зимой, когда мы бродили в районе Теплого Стана во время одной из фотоохот. Там концентрация детских фигур, которые вполне можно было бы использовать в каких-нибудь ужастиких, просто зашкаливает.

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

Теплый Стан. Девушка-зомби

Читать далее…

Outwiker 1.0 alpha 1

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

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

Вот основные возможности OutWiker’а на данный момент:

  • Все страницы хранятся в виде папок, заголовок которых и есть заголовок страниц в дереве.
  • Каждую ветвь дерева можно открыть как полноценную вики (дерево).
  • В программе есть поддержка тегов для каждой страниц, но пока еще нет поиска по ним.
  • Страницы можно помещать в закладки, чтобы потом можно было быстро переключиться на нужную страницу.
  • В данный момент страницы могут быть двух типов: HTML-страницы и простой текст.
  • К каждой странице можно прикреплять любое количество файлов. Чтобы было проще работать с деревом, в меню есть пункты для копирования в буфер обмена пути до основной директории страницы и до директории с прикрепленными файлами.
  • В HTML-страницах можно показывать картинки прикрепленных файлов.
  • Раскраска кода HTML.
  • Программа опенсорсная, кроссплатформенная и портабельная.

И пара скриншотов:

OutWiker. HTML-код страницы OutWiker

Читать далее…

Книга Джошуа Кериевски «Рефакторинг с использованием шаблонов»

Рефакторинг с использованием шаблоновДочитал на днях сабжевую книжку. Вышла она еще в 2008 году, но мне она попалась только недавно. По идее, читать ее надо было бы после книги Фаулера «Рефакторинг. Улучшение существующего кода», на которую Кириевски постоянно ссылается, но до Фаулера я пока не добрался, хотя это и не особо затруднило чтение. Вторая книга, которую лучше всего прочитать заранее, это «Приемы объектно-ориентированного проектирования. Паттерны проектирования» банды четырех.

Суть книги «Рефакторинг с использованием шаблонов» состоит в том, что в книге автор собрал 27 довольно сложных рефакторингов, большинство которых предназначены для того, чтобы как можно более безболезненно ввести в архитектуру программы паттерны, описываемые в книге банды четырех. Как пишет в начале Кириевски, часто он начинает программировать без использования паттернов до тех пор пока этот участок кода не надо расширять, тогда он принимается за рефакторинг. Правда, в книге есть еще один рефакторинг, который наоборот избавляет код от использования синглтонов (автор называет болезнь, когда используют синглтоны по любому поводу, синглтонизмом и предлагает открыть общество анонимных синглтоников).

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

Читать далее…

Makagiga — аутлайнер и ToDo-manager

Makagiga - аутлайнер и ToDo-manager

Пока OutWiker находится в разработке, сделаю-ка я обзор еще одного потенциального конкурента. 🙂 Дело в том, что на днях случилось страшное — на буржуйском сайте, посвященному аутлайнерам, попалась ссылка на огромный список других подобных программ. Честно говоря, когда я открыл эту таблицу, у меня был шок: это ж что, мне все это придется смотреть, а если что-нибудь понравится, то писать обзор? Когда я включил фильтр для показа только бесплатных программ, стало полегче, а когда переключился на опенсорсные разработки, успокоился и начал смотреть что же есть такого, что до сих пор не попадало в мои руки.

А в мои руки до сих пор не не попадала программа со звучным названием Makagiga.

makagiga_04

И еще пара скриншотов OutWiker’а

И еще пара скриншотов OutWiker'а

Я к вам опять по поводу OutWiker’а. Чтобы немного подогреть интерес перед выходом первой альфа-версии, которую надеюсь выложить в ближайшие неделю-две, покажу еще два новых скриншота.

Теперь в программе есть два типа страниц: обычные текстовые и HTML-страницы. На следующем скриншоте видна такая страница:

outwiker_3_01

Читать далее…

Первые скриншоты OutWiker’а

Первые скриншоты OutWiker'а

Недавно я писал, что начал делать свою программу для хранения заметок — OutWiker (называйте ее как угодно — outliner, персональная вики или может быть для таких программ есть еще какое-то название). За это время OutWiker уже приобрел интерфейс, поэтому могу показать первые скриншоты того, что получается. Саму программу пока еще не выкладываю в виде готовых файлов, потому что она еще сырая, как только доделаю основные операции, выложу первую альфа- (бета-, гамма- 🙂 ) версию.

А теперь, собственно, скриншоты. Главное окно:

outwiker_01

Читать далее…

Про wxPython

Про wxPython

Где-то года полтора назад (в конце 2008 года) я выкладывал обзор дизайнеров интерфейса для wxPython. На днях решил посмотреть что же изменилось за это время. Прошелся по упомянутым в обзоре сайтам и, честно говоря, удивился, что за это время из всех программ обновлялась только wxGlade. Беглый поиск по гуглу тоже не дал никаких новых IDE или дизайнеров.

Жаль, что такие полезные программы не развиваются. Правда, есть парочка платных софтин для построения интерфейса на wxPython/wxWidgets, которые обновлялись не так давно, но мы их считать не будем. 😛

Немного настораживает ситуация с обновлением самой библиотеки wxPython. Последняя версия (2.8.10.1) вышла 14 мая прошлого года, осенью прошлого года вышла версия 2.9 wxWidgets, на основе которой построена wxPython, но библиотека wxPython до сих пор не обновилась. Правда, покопавшись в рассылке wxPython обнаружилось, что версия 2.9 должна скоро выйти, вроде бы уже есть предварительные сборки.

Еще жаль, что wxPython не поддерживает Python 3.x, и когда начнется работа по портированию на него не понятно. Все в той же рассылке писали, что разработчики обсуждали, а не начать ли работу по портированию в этом году, чем все это закончилось я так и не понял, до этого писали, что портирование на Python 3.x имеет у разработчиков низкий приоритет.

Если честно, то очень расстраивает то, что такая замечательная библиотека как wxPython так медленно развивается. С точки зрения пользователя мне намного больше нравятся проги, написанный под wxPython, чем под pyGTK. Все-таки wxPython/wxWidgets для отображения интерфейса использует API той среды, где программа запускается. Поэтому, например, в винде все диалоги открытия/сохранения окон будут выглядеть привычно для пользователя, в отличие от того же pyGTK.

Начал делать свой outliner

Начал делать свой outliner

В последнее время здесь в блоге я много писал про разные Outliner’ы и персональные вики. Вроде бы программ такого типа полно, но лично мне в каждой из них чего-то, но не хватало, поэтому решил все-таки делать свой outliner, пусть и не очень навороченный. Года два назад я уже задумывался над этим, но все-таки надеялся найти уже готовую программу, которая меня бы полностью устроила.

В последнее время приступил к написанию своего outliner’а (странно, что для этого термина в русском языке как-то не нашлось даже жаргонного аналога, можно пользоваться выражением «персональная вики», но это не совсем то). Рабочее название проги — OutWiker (от слов outliner и wiki).

В чем же по задумке OutWiker должен отличаться от подобных программ? В принципе, концептуальных отличий пока быть не должно, просто хотелось бы собрать в одной программе некоторые приятные возможности из других программ. Перечислю то, что хотелось бы иметь в программе.

  • Каждая страница может быть разного типа (простой текст, HTML, текст в нотации wiki и т.д.).
  • Дерево заметок хранится в виде обычных директорий на диске
  • Возможность шифрования заметок
  • К каждой странице можно прикреплять любое количество файлов, причем для этого достаточно просто скопировать файл в определенную папку
  • Список последних измененных страниц (чтобы не искать страницы, с которыми работал в последний раз)
  • К каждой заметке можно добавлять теги
  • Шаблоны для новых страниц
  • И всякие мелочи вроде установки иконок для записей в дереве, возможность редактирования страниц во внешнем редакторе.
  • Возможно, что сделаю возможность расширения типов страниц с помощью плагинов, но это не сразу.

Прогу пишу на связке Python + wxPython, чтобы было проще с кроссплатформенностью, прога будет опенсорсная.

В данный момент устаканился формат дерева заметок, я делаю движок для работы с деревом (движок уже умеет создавать страницы, строить дерево заметок и загружать уже готовое дерево), есть грубая заготовка для интерфейса. Как только доделаю в движке обработку событий от страниц, можно будет прицепить интерфейс. Когда будет получаться что-то работоспособное, начну выкладывать прогу или хотя бы скриншоты.

В качестве рендера для страниц хочу использовать движок WebKit в виде компонента wxWebKit.

Пока думаю как быть с шифрованием. Шифроваться будут отдельные страницы, а вот как быть с прикрепленными файлами? Сейчас хочу кидать их в запароленный архив.

И заодно хотелось бы спросить, может вы знаете, где можно скачать бесплатные иконки для кнопок размером 16×16, чтобы меня потом не повесили за нарушение авторских прав? У меня есть коллекция иконок из Eclipse, но, честно говоря, какие-то они страшненькие.

Remus Information Management. Снова outliner

Remus Information Management. Снова outliner

Продолжим тему outliner’ов, персональных вики и других прог для хранения заметок.

Только недавно я писал про outliner для программистов Gluebox, который работает на движке Eclipse, а тут попался еще один Outliner на том же самом движке. Причем, что интересно, обе программы написаны немецкими разработчиками (или, как минимум, сайты находятся на немецких серверах). Интересно, неужели в Германии так распространен движок Eclipse?

Программа, про которую пойдет речь, называется Remus Information Management, или сокращенно RIM. Эта программа кроссплатформенная, с открытыми исходниками, но из-за движка требует установленной Java 1.5 или выше. Если бы не Java, то программа была бы полностью портабельной, а так для запуска программы с флешки на чужом компе нужно будет надеяться, что эта самая Java там установлена.

Теперь пройдемся по возможностям RIM, а их не мало. Внешний вид главного окна типичен для outliner’ов: слева дерево заметок, справа — сами заметки, причем можно открывать сразу несколько записей в разных табах.

rim_01

Читать далее…

Фотоотчет о поездке в Дзержинский

В прошлые выходные мы побывали в подмосковном Джерзинском (не путать с Дзерзинском, который находится чуть подальше — под Нижним Новгородом, и Дзержинский != Дзержинск). Организатором поездки была [ljuser]jglijgi[/ljuser], поэтому надо рассказать как проходят поездки под ее начинанием.

[ljuser]jglijgi[/ljuser] заранее находит местные достопримечательности, обходя которые мы и осматриваем заодно город. Но самое главное заключается в том, что [ljuser]jglijgi[/ljuser] не находит места расположения всех этих достопримечательностей, а чтобы их найти, она подбегает к аборигенам и пытается у них выведать, где расположен тот или иной памятник. Иногда это удается, поэтому, опросив таким образом полгорода, мы узнаем места расположения всех достопримечательностей.

На этот раз все прошло по тому же накатанному сценарию. В качестве контрольных пунктов, на которые мы ориентировались, в этот раз были:

  • Памятник Пушкину
  • Памятник Ленину
  • Памятник самому Дзержинскому
  • Памятник Александру Невскому
  • Некий серп и молот
  • Мемориал, посвященный ВОВ
  • Монастырь

Читать далее…