вторник, 29 мая 2007 г.

Notepad для программиста

Программку по имени Notepad++ v.4.0.1 мне посоветовал один мой знакомый-коллега, занимающийся программированием на PHP. Он утверждал, что установив чудесный-расчудесный "плюсованный" Notepad, можно смело забыть не только о стандартном виндовом Notepad, но и обо всех остальных редакторах кода (да и вообще плоских текстов). Такое мнение я не мог не подвергнуть сомнению, и поэтому долгое время откровенно игнорировал эту программу - я с трудом себе представлял редактор кода, который превзошел бы Visual Studio или Eclipse. Поставить я ее решил, после того как количество положительных отзывов от уважаемых мною людей стало стремительно увеличиваться.
В лучших традициях свободного ПО Notepad++ предлагает выбрать язык (русский присутствует), а также выбрать комплектность установки. Помимо всяких плагинов и фенечек, можно указать, чтобы данные программы сохранялись не в %APPDATA%, а в установочном каталоге. Это позволяет запускаться с мобильного носителя.
Интерфейс программы достаточно типичен для Notepad-подобных редакторов: полоска меню, полоска кнопок, полоска вкладок - остальное отдано под область редактирования. Ничего лишнего, чистая функциональность.
Поскольку в PHP я профан, решил я проверить работу редактора на исходном коде привычного мне C. При набивании текста в новом файле ничего особенного не происходит, разве что подсвечиваются парные скобки. Но если сохранить файл с расширением *.c, то умный редактор догадывается, что имеет дело с программистом, и код тут же раскрашивается во все цвета радуги. Впрочем, того же эффекта можно добиться, выбрав из меню "Синтаксис" соответствующий язык (я их там насчитал 46, причем можно определять и свои шаблоны). Вообще, видно, что авторы делали свое творение под сильным влиянием как MS Visual Studio: такие приятные мелочи, как возможность сворачивания блоков кода и комментариев, вкладки, автодополнение.
Думаю, Notepad++ можно спокойно приводить как пример программы, которая используется самими авторами. По крайней мере, такое обилие мелочей, облегчающих жизнь, может быть обусловлено только этим; среди таких мелочей маскирование/демаскирование кавычек (актуально для PHP-программистов), преобразование кодировок, преобразование форматов окончаний строк (актуально для тех, кто пишет под *nix), запись и выполнение макросов. Вообще, программа немного перекошена в сторону веб-программирования - на горячик клавишах уже висит справка по PHP, и открытие файла в браузере.
Управление проектами в Notepad++ не предусмотрено, можно разве что отобразить автоматически формируемый список функций. Можно даже что-нибудь скомпилировать, указав внешний компилятор, хотя в отсутствие проекта эта возможность представляется сомнительной.
Глюков в работе я не заметил, зато заметил странное наполовину переведенное меню; видимо, это обуславливается тем, что устанавливаемые плагины не поддерживают русский язык.
Резолюцию могу вынести такую: это добротная программа для тех, кому приходится много работать с исходными текстами программ, не объединенными в проекты и решения. Особенно можно рекомендовать PHP-программистам. Безусловным преимуществом является бесплатность. Однако Notepad++ не имеет многих возможностей, присущих большим и/или коммерческим редакторам (например, лично мне не хватает автоматической простановки звездочек в начале строк внутри многострочного комментария, как в Eclipse). Лично я работать с Notepad++ не буду в силу привычки, но программа весьма достойная и для многих она окажется наилучшим выбором.
У программы есть сайт, на котором ее можно скачать.

четверг, 24 мая 2007 г.

FeedReader

Прогресс не стоит на месте, и теперь даже в рунете вошли в обиход такие непонятные ранее названия, как Feed, RSS, Atom и прочие относящиеся к синдицированию новостей словечки. В кратце для тех, кто еще не приобщился: RSS (и аналоги) - это технология, призванная уведомлять пользователя о каких-то новостях и обновлениях. Например, через RSS можно, не заходя на любимый сайт, увидеть, что там появилось новенького. Или же посмотреть мировые новости. RSS-канал публикуется тем, кто предоставляет информацию, а пользователи на RSS-канал подписываются. Есть и альтернативные RSS технологии (то же Atom), но принцип тот же самый. Во как. Соответственно, для приема и отображения новостных потоков требуется какой-то софт; часто эту функциональность обеспечивает браузер, но он не всегда открыт, а людям нравится, когда новости доводятся до них сразу после появления.
FeedReader - бесплатная программа, единственной функцией которой является агрегация новостных потоков. Мне она очень понравилась, в первую очередь из-за простого и понятного интерфейса. При поступлении новости всплывает небольшое уведомительное окошко, а работа с самой программой даже не требует пояснений - все и так понятно. Главное окно можно свернуть в трей. Что касается поддерживаемых форматов фидов, то затрудняюсь сказать, какой формат не поддерживается FeedReader'ом. В общем, мой любимый тип программ - не слишком наворочанные, но функциональные (хотя, честно говоря, настроек в FR немало, но и без них можно нормально жить).
Модная нынче фишка - при установке можно указать, что запускать Feed Reader планируется с мобильного носителя информации. При этом все устанавливаемые файлы расположатся в одном каталоге, и можно будет запускать FR с флэш-диска, например. Удобно.
В качестве минусов можно отметить легкую сыроватость: при каких-то действиях иногда вылетают окошки с ошибками, но после их закрытия программа стойко продолжает нести свою вахту, как будто ничего и не произошло.
Пожалуй, FeedReader у меня приживется. Скачать его можно на официальном сайте.

Paint .NET

Я тут сейчас буду говорить много непонятных слов, поэтому, уважаемые непрограммисты, можете смело пропустить следующие два абзаца.
В мире программистов давно идет война ортодоксов с приверженцами платформы .NET. Основное оружие традиционалистов - два обвинения: (1) Программы, написанные под .NET, работают медленнее (2) Программы, написанные под .NET, требуют установки .NET. Первое обвинение адепты современных технологий считали и считают безосновательным, потому как написанные под .NET программы (а таких пока немного) показывают не худшую, а иногда даже лучшую производительность, чем их аналоги на неуправляемых языках. А вот со вторым утверждением поспорить сложно. Хотя в дистрибутив Windows XP сейчас уже включается .NET 1.1, а в Windows Vista - .NET 2.0, все равно шароварщики, определяющие развитие отрасли, боятся делать ставку на .NET, справедливо полагая, что не каждая домохозяйка бросится скачивать непонятную ей штуковину на 50Мб, чтобы запустить малюсеньку программку. Но тенденция налицо - все больше и больше народу обзаводятся дотнетом, и недалек уж тот час, когда все новые шароварные проекты будут начинаться именно под управляемыми платформами.
Так вот, малоизвестная компания под названием Microsoft решила поддержать платформу .NET и написала простой графический редактор Paint.NET, пророча его как замену стандартному виндовому Paint. Чтобы поддержка имела больший эффект, программа раздается бесплатно. (Все, теперь обычные люди тоже могут читать).
Сразу скажу, что программа получилась отменная. Интерфейс хорошо продуман и интуитивен до безобразия, в наличии пара десятков разных эффектов, фильтры (включая автоматическую коррекцию красных глаз), поддержка слоев (!) и особенно мне понравившаяся бесконечная история команд с возможностью мгновенного отката к любому из предыдущих шагов. Не фотошоп, конечно, но для домашних нужд штука достаточно мощная; к тому же, можно расширить ее плагинами. Интерфейс - вообще загляденье.
И, наконец, скорость работы развеяла во мне все сомнения относительно будущего .NET: стартует программа меньше секунды (не считая первого раза, это уж особенность работы .NET), и все операции (кроме применения фильтров и эффектов) выполняются хоть и не мгновенно, но достаточно быстро, чтобы не было ощущения тормозов.
У Paint.NET есть свой официальный сайт, где можно скачать как саму программу, так и исходники и плагины к ней. Для запуска Paint.NET требует установленного .NET Framework 2.0.

Оцифрованные мысли

Использование схем и рисунков для представления знаний - идея не новая, и поняли это еще пещерные люди, которые долгими зимними вечерами рисовали на стенах своих жилищ совокупляющихся животных. Видимо, такие волнующие зрелища и послужили причиной столь быстрого прогресса человечества, ведь каждый знает, что лучший способ что-то объяснить - это нарисовать. В 60-х годах XX века умные дядьки основали целое научное направление, изучающее новый способ мышления, основанный на применении схем, и назвали его "concept mapping" или "mind mapping".
Суть mind mapping заключается в том, что процесс мышления сопровождается рисованием графа (ну или блок-схемы, если вам так проще), который отражает сущности, мысли и переходы между ними. При этом, как утверждается, активнее начинает работать правое полушарие мозга и активизируются творческие способности. Интересующихся подробностями направляю сюда. Уж не знаю как там насчет правого полушария, но лично мне такие схемки помогают удержать в голове больше мыслей, чем может нормальный человек, и дарят возможность рассматривать проблему "свысока".
В принципе, для использования техники "карт памяти" (такой вот вольный перевод) никакой софт не нужен - бери себе бумагу и карандашик и рисуй на здоровье. Когда у меня нет под рукой компьютера, но есть мысли, я так и делаю. Однако у такого способа есть очевидный недостаток - тяжело исправить то, что нарисовал; это особенно актуально, когда в виде карты представляется не какая-то информация (скажем, лекция), а именно процесс творческого мышления. А посему, соответствующий софт необходим.
Поначалу я пользовался коммерческой программой Mindjet MindManager 6, лицензию к которой мне подарил даже уже не помню кто. Программа очень мощная, красивая и удобная, с кучей дополнительных функций, в общем - мечта поэта. Но только если у вас есть лишние 300 евро.
Сами понимаете, что нормальный русский человек ни в жисть такие деньги за "какую-то фитюльку" не отдаст. Поэтому я решил перейти на бесплатный аналог, благо список редакторов mind maps насчитывает несколько десятков имен, да и то не все там указано. После некоторого наведения справок я остановился на продукте отечественного софтостроения - Explain, написанную Олегом Набатовым.
Вообще, знаете, у меня слабость к минималистичным интерфейсам. Но эта программа меня просто поразила своей одновременно простотой и сложностью. Очень интересна концепция бесконечного листа клетчатой бумаги - выглядит симпатично, да и удобно. Создание узлов и связей выполняется или мышкой, или горячими клавишами, здесь юзабилити налицо, и в интерфейсе разберется за пять минут даже ребенок. Возможность вставки картинок и гиперссылок, динамической раскраски - прилагаются. Но есть за кажущейся простотой еще и мощный движок логического вывода на нейронных сетях. Вряд ли кто-то этим будет пользоваться, но задумка, согласитесь, интересная - задать некоторые утверждения, указать для них истинность (поддерживается и двоичная, и нечеткая логика) и, запустив симуляцию, посмотреть, какие наши утверждения оказались истинными, а какие ложными. Исходные данные для сети программа может автоматически брать из Excel. Я рекомендую сразу отключить этот движок (F9 или снять галочку с пункта "Выполнять" в контекстном меню), потому как он ощутимо жрет процессорное время.
В Explain классно сделана справка - в виде такой же mind map, раскрывающейся по щелчку на узле, по умолчанию создающемся на бумаге.
Выглядит программа вот так:

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

Apollo Player

Только попробуйте не согласиться, что без музыки жизнь была бы лучше, нежели с ней! Я лично брошу вам перчатку и застрелю из водяного пистолета. Так или иначе, каждый из нас слушает музыку. Только вот всех слушателей можно поставить на этакую шкалу, где на одном конце водитель маршрутки, которому достаточно, чтобы музыка просто была, а на другом конце - фанатичный меломан, который на слух может определить процент примесей в сигнальном кабеле из бескислородной меди. Короче говоря, требования к качеству у всех разные. Я к крайностям не склонен, но если уж слушаю музыку, люблю, чтобы звучание было качественным.
Именно качеством звучания меня и подкупил Apollo Player (не считая того, что он совершенно бесплатный). Уж не знаю, как так автор смог написать декодер, что даже человек вроде меня, с отдавленными медведем ушами, мог услышать разницу в звучании одного и того же файла в Winamp и Apollo (не в пользу первого), но факт остается фактом - разница есть. Звук выходит какой-то... благородный, что ли. Лучше всего меня поймут автомобилисты, установившие новые крутые колонки себе в авто. Вроде и музыка та же самая, а звучит так, что аж дух захватывает. Конечно-конечно, я понимаю, что формат MP3 не вполне располагает к качественному звучанию, но я говорю не об абсолютном преимуществе, а об относительном.
Ладно, давайте посмотрим, что нам предлагают создатели:
  • Собственно, плеер, который в базовой комплектации умеет проигрывать только MP3 и WAV. Остальные форматы добавляются путем установки плагинов.
  • Плагины. Причем как для поддержки альтернативных форматов файлов, так и для визуализации, горячих клавиш и чего угодно еще. Кстати, плагины подходят от Winamp 2.xx.
  • Отсутствие скинов. Я считаю это преимуществом, хотя многие со мной не согласятся. Причем отсутствие поддержки скинов является перманентным: слоган Apollo гласит "Sound quality is not skinnable".
  • Декодирование в WAV.
  • 16-полосный эквалайзер.
  • Всякие мелкие фенечки, вроде настройки перехода между композициями. По умолчанию выполняется crossfading, то есть наложение окончания одного файла и начала другого. Можно включить обычный режим или же избавиться от пауз. Остальные фенечки, характерные для старых Winamp'ов, также присутствуют.
  • Три режима отображения окна плеера: нормальный (с плейлистом), маленький (без плейлиста, только панель с кнопками и полоса прокрутки) и совсем маленький. А если совсем жаба душит, то можно и в трей свернуть, откуда по правой кнопке будет выпадать плейлист. Внешний вид также настраивается в некоторых пределах.
Выглядит это все примерно так:

Вот, собственно, и все. Если вам нужна качественная музыка и простой, но функциональный интерфейс, то Apollo вам определенно понравится. Я лично недостатков в нем не нашел.
Скачать Apollo можно здесь.

среда, 23 мая 2007 г.

Что-то вроде вступительного слова

Обычно в первом сообщении блога пишут, как от нечего делать создали персональный дневник, как они теперь будут делиться со всем миром радостями и горестями, и как всем теперь будет хорошо. Давайте считать, что я это все уже написал.
А делиться с читателями я буду не радостями или горестями, а своим радостным или горьким опытом в использовании различных программ, программулек, прибамбасов, виджетов - короче говоря, софта. Критерий отбора у меня будет простой - если софт мне нравится и способен принести хоть какую-нибудь пользу, не убив при этом все остальные программы с ОСью заодно, то я его попользую и расскажу о впечатлениях.
Так как внутри, снаружи и по паспорту я русский, то, сами понимаете, платить за программы я не люблю. Так что преимущественно буду смотреть бесплатные. А если и будут изредка попадаться платные, то ни за что не скажу, где я их взял.
Пока что буду рассматривать программы под Windows, поскольку душа у меня больше лежит именно к этой ОС. Но если вдруг будет много желающих приобщиться к софтовому миру Linux, за мной дело не станет.

Еще вот что. Как честный человек, сразу сообщу о своих наполеоновских планах. Программы я люблю, причем как использовать, так и писать, поскольку я по образованию программист и ничуть об этом не жалею. Это я к тому, что писать я буду с вполне профессиональной точки зрения. Если вдруг так случится, что многим людям будет полезно то, что я делаю, повешу сбоку контекстную рекламу и буду зарабатывать на вас, мои дорогие, небольшую денежку. А может, если совсем хорошо пойдет, даже перееду на отдельный хостинг. Чисто для понта.