Архив по категории ‘софт’.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

waver_01

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

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-файле. Если не боитесь таких тяжелых страниц, то на этой вики можно построить полноценные веб-сайты, официальный сайт именно на этом движке и работает, хотя эта возможность на любителя. Там же можно посмотреть на внешний вид, на анимацию элементов управления и тому подобное.

tiddiwiki

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

Еще раз про Firefox

Еще раз про Firefox

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

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

ff37_personas

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

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

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

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

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

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

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

ff_37_tabs_02

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

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

Грустное

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

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

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

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

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

Да, потом будет другая, никуда от этого не деться. Но пока она еще кое-как, но живет, моя видеокарта ATI Radeon 9800.

Вот ее последняя фотография:

Читать далее ‘Грустное’ »

Thunderbird 3 beta 4

Вышла 4-я бета-версия почтовика Thunderbird 3, в этот раз изменения уже более заметные по сравнению с прошлой бетой.

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

Поиск теперь стал открываться в новой вкладке, и выглядит он вот так:

thunderbird_3_4_02

Читать далее ‘Thunderbird 3 beta 4’ »

Поездка в город Александров. Разруха

В прошлое воскресенье на сайте dbtwalks.ru организовали поездку в город Александров. Надо сказать, что за несколько часов, что мы там были, город произвел довольно унылое впечатление, повсюду валяется мусор, дома находятся в плачевном состоянии.

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

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

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

Читать далее ‘Поездка в город Александров. Разруха’ »

PicPick 2.1

PicPick 2.1

Этот пост написан специально для [ljuser]ibigdan[/ljuser], чтобы сказать, что в новой версии проги для создания скриншотов PicPick (что-то сайт программы пока не открывается, поэтому закачал архив с программой сюда) сделали то, что ему не хватало в предыдущей версии. А для остальных чуть поподробнее 🙂

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

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

picpick_21

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

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