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

Прежде чем говорить о том, что изменилось за год, напомню про основные изменения во FreeCommander XE по сравнению с текущей стабильной версией FreeCommander:
- Полная поддержка Unicode.
- Переделанные диалоги работы с файлами.
- Измененный внешний вид главного окна.
- Поддержка сторонних программ для копирования, переименования и удаления файлов (можно выбирать, копировать/переносить/удалять файлы с помощью средств Windows, FreeCommander’а или какой-нибудь другой программы).
- Поиск файлов с использованием регулярных выражений.
- Окно быстрого запуска.
- Контейнер файлов (что это такое будет сказано ниже в обзоре).
- Множество интересных мелочей в интерфейсе.
Я не буду еще раз подробно останавливаться на тех отличиях FreeCommander XE от старого FreeCommander’а, что уже были в прошлогоднем обзоре, в этом посте рассмотрим, что изменилось в новой публичной бета-версии за год, и то, что не попало в прошлый обзор.
Читать далее…
По истории IT существует довольно много книг, но в основном они посвящены тому, как технологии развивались за рубежом. Про то, что происходило в это время у нас, полноценных книг мне как-то не попадалось, в основном отдельные статьи. А вот оказалось, что в далеком 1995 году вышла книга про наши первые вычислительные машины (не будем здесь употреблять слово «компьютер»).
Про книгу Б. Н. Малиновского «История вычислительной техники в Лицах» я узнал в музее вычислительной технике, тогда еще подумал, что надо бы ее поискать в электронном виде. И как же я удивился, когда оказалось, что в интернете она лежит практически на каждом углу.
В этой книге рассказывается в первую очередь про тех людей, которые занимались созданием первых ЭВМ, начиная с послевоенного времени конца 1940-ых, и примерно до 1970-ых годов. Из ученых, о которых рассказано в книге, особенно подробно описана жизнь и работа С. А. Лебедева, под руководством которого были созданы такие ЭВМ как МЭСМ, БЭСМ-1, БЭСМ-2, М-20 и другие.

Читать далее…
Выход очередной версии (1.4) программы OutWiker немного задержался, но вот, наконец, эту версию можно считать завершенной, и постепенно приступать к разработке следующей версии.
Для тех, кто не следил за постами в этом блоге, OutWiker — это кроссплатформенная программа с открытыми исходниками для хранения заметок в виде дерева. Одно из отличий OutWiker’а от других подобных программ состоит в том, что все заметки хранятся не в одном файле, а в виде вложенных папок. Кроме того, к каждой заметке можно прикреплять любое количество файлов, а теперь программа поддерживает и плагины. Более подробно о программе вы можете прочитать по приведенной выше ссылке.
Что нового на этот раз? Краткий список изменений выглядит следующим образом:
- Добавлена поддержка плагинов.
- Добавлено автосохранение заметок по таймеру (интервал сохранения задается в настройках).
- Добавлена проверка изменения текста заметок сторонними программами.
- Для HTML-страниц добавлена кнопка включения/выключения автоматического переноса строк.
- Версия под Linux теперь устанавливается в /usr, а не в /opt. Теперь из консоли программу можно вызывать с помощью команды outwiker.
- Улучшена обработка викисинтаксиса, касающегося создания списков.
- Теперь поиск по страницам ищет искомую фразу в именах прикрепленных файлов и в названиях тегов.
- Исправления ошибок и небольшие улучшения интерфейса.
- Программа теперь тестируется только под Python 2.7.
А теперь про изменения более развернуто.
Читать далее…
На этой неделе c 30 ноября по 4 декабря журнал «Конец Вокруг света» празднует свое 150-летие, и по этому поводу организаторы пригласили для чтения лекций многих интересных людей (дело происходит в Москве). Среди приглашенных были Ричард Столлман, которого вы наверняка знаете, физик-теоретик Брайан Грин, автор замечательной научно-популярной книги про теорию струн «Элегантная вселенная», математик Джон Дербишир и многие другие. Часть лекций проходили в рамках издательской ярмарки non-fiction в Центральном Доме Художников на Крымском валу, а часть — в лектории политехнического музея. Полностью программа выложена здесь.
На проповеди Столлмана про Open Source и копиразм мне попасть не удалось из-за того, что они проходили в будни, а вот на лекцию Брайна Грина я попал, за что огромное спасибо
tehi4ka. Лекция Грина называлась «Перевороты в науке и революционное мышление», но по сути это был краткий пересказ его книги, которую я уже упоминал. Он начал свой рассказ с появления закона всемирного тяготения, затем переключился на общую теорию относительности, после которой рассказал о проблемах квантовой физики, и что она никак не согласуется с теорией относительности, а затем перешел к теории струн, которая должна связать эти две теории.

Читать далее…
В последнее время я готовлю статейку для выкладывания на сайт про метод оптимизации, который называется метод роя частиц. И пока я думал, как этот алгоритм можно описать на пальцах или каких-то жизненных аналогиях, то воспаленный мозг родил вот такое описание. Я что-то сомневаюсь, что его стоит включать в конечный вариант статьи, но пусть он останется хотя бы здесь для истории.
Чтобы понять алгоритм роя частиц, представте себе большую поляну с земляникой (это наша область поиска решения), и нам надо найти то место на поляне, где земляники больше всего (глобальный экстремум). Будем считать, что сама земляника не кончается, и при съедении ягоды, она вырастает снова. Теперь представьте себе, что по этой поляне случайным образом (с вертолета) разбросали бабушек-собирателей земляники (агентов алгоритма). Сначала каждая бабушка идет в случайном направлении и с каждым шагом замечают, сколько земляники находится вокруг нее. Но с каждым новым шагом скорость и направление движения бабушки изменяют так, чтобы с одной стороны направиться в ту сторону, где она сама видела больше всего земляники (авторы алгоритма назвали этот аспект поведения «ностальгией»), а с другой — старается приблизиться к наилучшей области с наибольшим числом земляники, найденной среди всех бабушек (глобальное лучшее значение). В идеале через некоторое количество шагов все бабушки должны собраться в одной области с наибольшим числом земляники. В реальности кто-то может остаться в области, достаточно хорошей, но не в глобально лучшей, но главное, чтобы глобальный экстремум был найден хотя бы одной бабушкой.
Ну и, если этот ужас вы дочитали до конца, то в качестве компенсации вот вам анимация, иллюстрирующая работу алгоритма роя бабушек частиц.
Читать далее…
Наконец-то, дочитал книгу Макконнелла «Совершенный код», о который слышал много лестных отзывов. Честно говоря, особого восторга она у меня не вызвала, хотя подобную книгу должен прочитать каждый программист, и чем раньше, тем лучше. Но давайте обо всем по порядку.
В этой книге Макконнелл охватывает весь процесс разработки программного обеспечения, включая, проектирование софта, непосредственно написание кода, отладку программы, оптимизацию, взаимодействие с начальством, заказчиком и коллегами и даже есть глава про личные качества программистов. Цель этой книги — помочь писать такой код, который бы поняли другие программисты, которые после вас в нем будут разбираться.
Самыми полезными мне показались главы про непосредственно написание кода, где автор описывает общие принципы, как надо и как не надо писать код: почему вредны длинные функции, большая вложенность циклов и других управляющих конструкций, почему надо избегать оператора goto (хотя в некоторых редких случаях Макконнелл оправдывает его применение). Здесь не будет никаких особенных откровений, во многих книгах это уже описывалось (кстати, библиография, приводимая в конце книги, очень обширная — целых 43 страницы), но часто это было обрывочно, а в «Совершенном коде» все собрано в одном месте.
Читать далее…
Когда-то давно я выкладывал статьи про взаимодействие с сервером ЖЖ (Основы работы с сервером livejournal.com, Еще раз про авторизацию на сервере livejournal.com и Бот для отправки комментариев), а на этой неделе СУП’овцы что-то поменяли, что примеры из этих статей перестали работать.
Первое изменение заключается в том, что, если раньше для общения с сервером можно было использовать адрес как http://www.livejournal.com/interface/flat, так и http://livejournal.com/interface/flat (для flat-протокола) и, соответстенно, http://www.livejournal.com/interface/xmlrpc или http://livejournal.com/interface/xmlrpc (для протокола XML-RPC), а теперь надо обязательно указывать адрес с «www».
Второе изменение касается авторизации как посетителя. Если раньше на сайте была хорошая авторизация, когда на сервер передается не сам пароль, а его хеш, созданный из пароля и случайного числа, полученного от сервера, то теперь форма для авторизации на странице сайта передает пароль в явном виде. К счастью, старый способ можно по-прежнему использовать (если добавить www к адресу сервера: http://www.livejournal.com/login.bml), но сама авторизация на сайте теперь не безопасна.
Например, вот как выглядит измененный код авторизации для Бота на Python без использования безопасной авторизации:
Читать далее…
Похоже, Google решил застолбить за собой еще одну нишу — удаленное управление компьютером. Теперь они будут знать не только что вы делаете (Google Calendar), что вы собираетесь сделать (Google Tasks), над чем вы работаете (Google Documents), где вы отдыхали (Picasa), какую музыку вы слушаете (Google Music) и т.д., и т.п., теперь они будут видеть, что у вас происходит на экране компьютера в каждый момент времени. Я, конечно, немного утрирую, но суть в том, что недавно появилось интересное расширение Удаленный рабочий стол Chrome для браузера Google Chrome, с помощью которого можно организовывать удаленный доступ к компьютеру.
Давайте посмотрим, как это все работает. Не знаю насколько старая версия Chrome подойдет для этого приложения, поэтому будем считать, что у стоит последняя dev-версия. Скачиваем и устанавливаем по указанной выше ссылке приложение, которое весит целых 19 МБ. После этого переходим к списку установленных приложений (не путайте с расширениями)

Читать далее…
Недавно с друзьями сходили с музей вычислительной техники, который расположен в Москве в здании гимназии N1530 на улице Егерской д. 4, недалеко от станции метро Сокольники. Весь музей занимает одну небольшую комнату и поддерживается одним человеком — Златопольским Дмитрием Михайловичем, но несмотря на это экспонатов в музее довольно много, начиная от счет и счетных палочек, до советских компьютеров и их частей.

Читать далее…
С сегодняшнего дня решил начать периодически выкладывать нестабильные версии программы OutWiker. Думаю, не надо предупреждать о том, что в этих версиях могут быть глюки, но зато вы можете попробовать новые добавленные возможности до выхода очередной стабильной версии.
Я надеюсь, что в случае обнаружения каких-то проблем в этих версиях, вы будете о них писать в комментариях. В дальнейшем я не буду сообщать о каждой нестабильной версии в новостях или в блоге, а просто буду закачивать очередные сборки и делать пометки о том, что изменилось в той или иной версии на указанной странице. Новые сборки буду выкладывать не после каждого коммита, а только после добавления изменений, которые заметны пользователю, или по мере исправления глюков.
Сейчас работа над программой движется в сторону поддержки плагинов (кое-что уже есть) и более правильных инсталляторов под Linux. Было бы здорово, если бы кто-нибудь кроме меня начал писать плагины, и заодно сообщали бы о том, каких возможностей не хватает в их поддержке, хотя сейчас поддержка плагинов находится на очень ранней стадии, там еще многое предстоит сделать и, возможно, переделать.
И заодно такой вопрос: интересует ли кого-нибудь 64-битные сборки под Windows? Я, честно говоря, в них особого смысла не вижу, просто появилась возможность их делать.