Archive for октября 2009

Животные Бабушкинского района

В сентябре мы бродили по Бабушкинскому району и по Лосиному острову. Во время этой прогулки удалось сфотографировать на удивление много всякой живности, особенно котов.

Животные Бабушкинского района los animals 05

Читать далее ‘Животные Бабушкинского района’ »

Книга Уоррена «Алгоритмические трюки для программистов»

Книга Уоррена Алгоритмические трюки для программистов algПрочитал недавно книгу Уоррена «Алгоритмические трюки для программистов» (в оригинале она называется «Hacker’s Delight»), любопытная оказалась книжка, хотя алгоритмы, рассмотренные в ней, довольно специфические.

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

Многие алгоритмы явно предназначены для того, чтобы их реализовали на ассемблере, причем иногда для процессоров, более редких, чем x86 (например, часто упоминаются процессоры IBM, а иногда опоминаются и древние компьютеры еще 60-ых годов прошлого века). Автор пишет, что многие примеры из книги могут пригодиться тем, кто создает компиляторы. Для примера приведу описание некоторых задач, разбираемых автором: как обнулить крайний справа единичный бит (01011000 -> 01010000), округление к кратному степени двойки, подсчет единичных битов в слове, поиск строки битов и тому подобные. Почти для каждого алгоритма автор пытается оценить количество необходимых тактов процессора, иногда с учетом распараллеливания.

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

Ближе к концу книги есть глава, посвященная системам счисления с необычными основаниями, такие как -2, -1+i, -1-i. Такие системы счисления никто в здравом уме применять не будет, но почитать про них все-равно интересно.

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

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

Книгу можно рассматривать как небольшой сборник рецептов про битовые операции. Книга издавалась несколько раз, последнее издание 2007 года.

В электронном виде найти ее можно без проблем.

Фотоотчет о поездке в Серпухов

fotootchet-o-poezdke-v-serpukhov

Неделю назад на сайте dbtwalks.ru была организована поездка в Серпухов, спасибо Олегу (ака Калий О Аш) за отличную экскурсию по городу.

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

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

Хотелось бы услышать ваше мнение, вообще кому-нибудь интересно здесь читать/смотреть такие фотоотчеты, или лучше ограничиваться совсем избранными фотографиями?

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

Читать далее ‘Фотоотчет о поездке в Серпухов’ »

Waver. Клиент для Google Wave

waver-klient-dlya-google-wave

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

Клиент называется Waver. Итак, Waver – это приложение, написанное для Adobe Air, поэтому автоматически становится кроссплатформенным.

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

Waver. Клиент для Google Wave waver 01 224x300

Читать далее ‘Waver. Клиент для Google Wave’ »

Feedly for Chrome

feedly-for-chrome

Есть такой замечательный сайт feedly.com, который представляет собой альтернативную читалку для Google Reader. Причем это альтернатива именно для Google Reader, а не просто онлайн-ридер для RSS, потому что каналы (ака фиды) берутся именно из гуглоридерного аккаунта.

Многим нравится внешний вид ленты на feedly, но я в первую очередь им пользуюсь, потому что он заметно быстрее RSS-читалки от гугла. Как раз после того как мне попался этот сайт на одном форуме, я полностью перешел на чтение RSS в онлайне, а до этого пользовался оффлайновой прогой FeedDemon.

Так вот к чему это я. feedly.com работает только через плагины к браузерам. До сих пор был плагин только для Firefox, а на прошлой неделе разработчики пообещали, что скоро начнут раздавать инвайты на бета-версию плагина для Хрома. Так как я как раз пытаюсь перейти на этот браузер, то меня это заинтересовало.

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

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

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

PPS. Вот уже и мне тоже прислали ссылку, которую вчера нашел в гугле.

Google Chrome vs. Firefox

google-chrome-vs-firefox

Для Google Chrome стало появляться все больше и больше расширений и скриптов, поэтому решил попытаться перейти на этот браузер с Firefox. Для этого составил список расширений, установленных у меня в огнелисе, и попытался найти их аналоги для Хрома. К сожалению, для Хрома нет какого-то одного официального сайта, где бы располагались все расширения, поэтому расширения приходится искать по всему интернету.

AdBlock Plus. Первое, что меня интересовало – банерорезалка, без нее в интернете бродить просто невозможно. Для Хрома такие расширения появились одни из первых – AdBlock. Есть еще расширение AdSweep, которое не показывает баннеры, но все-таки загружает их. Вместе эти два расширения работают замечательно.

Читать далее ‘Google Chrome vs. Firefox’ »

TiddlyWiki

tiddlywiki

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

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

Как только мне попалась на глаза TiddlyWiki, на меня произвела впечатление сама идея этой вики. Дело в том, что TiddlyWiki – написан полностью на JavaScript и по сути представляет собой один html-файл, но в тоже время это довольно мощный вики-движок. TiddlyWiki можно настраивать с помощью плагинов, которых написано огромное количество, наверное, на все случаи жизни. Пустая, только что скачанная вики  занимает чуть больше 300 килобайт (90% в нем – это код на JavaScript).

При добавлении новых записей все они будут хранится всё в том же html-файле. Если не боитесь таких тяжелых страниц, то на этой вики можно построить полноценные веб-сайты, официальный сайт именно на этом движке и работает, хотя эта возможность на любителя. Там же можно посмотреть на внешний вид, на анимацию элементов управления и тому подобное.

TiddlyWiki tiddiwiki 300x218

Читать далее ‘TiddlyWiki’ »

Еще раз про Firefox

eshhe-raz-pro-firefox

В продолжение прошлого поста. Благодаря сайту The Burning Edge были обнаружены еще некоторые любопытные изменения в последних ночных сборках.

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

Еще раз про Firefox ff37 personas 300x240

Читать далее ‘Еще раз про Firefox’ »

Кое что про Firefox 3.6 и 3.7

koe-chto-pro-firefox-3-6-i-3-7

Сразу после выхода Firefox 3.5 я стал пользоваться ночными сборками следующей версии Firefox – 3.6. Если честно, сначала не думал, что эти ночные сборки станут на долгое время основным браузером, но они оказались на редкость стабильными и заметно быстрее Firefox 3.5.

Несмотря на то, что версия 3.6 еще не вышла (в этом месяце должна появиться первая бета), разработчика параллельно ей делают Firefox 3.7, релиз которого должен выйти ближе к лету.

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

Про одно обновление я уже писал после перехода на преальфу Firefox 3.6. Это окно с превьюшками открытых табов, внешний вид его немного поменялся, поэтому приведу просто скриншот:

Кое что про Firefox 3.6 и 3.7 ff 37 tabs 02 300x100

Второе заметное изменение касается вкладок, теперь на них показывается прогресс загрузки страницы (эта возможность пока есть только в Firefox 3.7).

Читать далее ‘Кое что про Firefox 3.6 и 3.7’ »

Несколько фотографий из Суздаля

Глобальный фотоотчет устраивать не буду, просто покажу несколько наиболее удачных кадров.

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

Несколько фотографий из Суздаля suzdal 06

Читать далее ‘Несколько фотографий из Суздаля’ »