суббота, 3 ноября 2007 г.

Обживаем Ubuntu 7.10 - План действий.

Не сильно долго взвешивая все за и против, решил попробовать пожить в новой убунте. Учитывая, что я устанавливаю её дистрибутивы где-то с 6.06, но так же часто и сношу, просто из-за отсутствия желания всерьёз работать напильником. Сегодня же я полон решимости =)

Я начал с того, что составил небольшой список программ, необходимых мне для комфортного существования в свободной системе:

  1. Проигрыватель аудио (flac, ape, wv)
  2. Проигрыватель видео (DVD, divX, xVid)
  3. Запись дисков
  4. Синхронизатор/бэкапер всего со всем.
  5. Вменяемый клиент Torrent
  6. Skype или аналогичная прога с трансляцией видео.
  7. Домашние финансы
  8. Словарь (англ).

Это программы. Ещё есть некоторый список пожеланий, которые тоже хотелось бы видеть исполненными, например:

  1. Настроить на мышЕ кнопки вперед/назад
  2. Найти приличные шрифты для системы и браузера
  3. Синхронизировать телефон с компом
  4. Настроить клавиатурные сочетания для комфортной работы с системой

Можно заметить, что здесь ни слова о работе, редакторах, отладчиках и прочих тулзах, необходимых девелоперу. Это тема отдельная и смешивать её с пользовательской частью я не хочу. Хотя поиск программы для моделирования ER-диаграмм, пока не принес результатов, что грустно.

По мере решения проблем, буду постить рецепты и критерии выбора того или иного решения

среда, 31 октября 2007 г.

Assertion failed: LDAP_VALID( ld ), file getentry.c, line 35.

Вот такими неприличными строками встретил меня мой сервер после перезагрузки. Ошибка из разряда "Ничего не менял. Только перезагрузил!"

После продолжительных поисков в гугле и нахождения ответов "Мы не знаем что это, но физическая перезагрузка сервера нам помогла", пришел к выводу, что это очень печально. Мне сервер перегрузить ну совсем никак. Это делается через RFC, а их выполняют долго.

Ошибка кроется в модуле ldap для php. Ошибка возникает, вроде, только под 64-битными SPARC'ами. На соляре. Вообщем редкая штука ;)

Решения проблемы я не нашел. Перекомпиляция с флагами оптимизации мне не помогла. Пришлось отрубать модуль ldap из конфигурации. Это мне ещё аукнется. Но в свете предстоящего на выходных внедрения, это малая кровь.

суббота, 27 октября 2007 г.

Синхронизация Google Calendar.

Вот буквально сегодня обнаружил ещё одну связку приложений, состоящую из GoogleCalendar (календарь on-line), Mozilla Thunderbird(с плагином) или Sunbird(календарь дома) и сервиса GooSync, который синхронизирует GoogleCalendar с мобильным телефоном с помощью протокола SyncML.

Отличная связка. Может даже лучше моей. Если не брать в расчет то, что синхронизацию надо проводить руками и не забывать это делать. Хотя, GoogleCalendar, вроде умеет слать sms с расписанием дня, но, говорят, опаздывает иногда на пару-тройку часов.

Касательно интеграции Молока с ГКалендарем...можно использовать маленький виджет от Молока, чтобы в ГКалендаре появились линки на задачи с Молока. Жаль, что они не полноценны, т.е. их нельзя будет синхронизировать.

Ещё одна польза от Молока. У них вполне приемлемый сайт для мобильных устройств, на котором вполне можно управлять задачами.

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

А вот синхронизировать эти дополнительные календари (ради чего всё и затевалось...) мне не удалось, потому что на gooSync эта услуга стоит 30 euro в год. И платить пока не хочется

В надежде на чудо, была испробована программа, написанная на javaME, которая устанавливается на телефон и обещает синхронизацию с ГКалендарем. Называется GCalSyn. Но чуда не свершилось. И она тоже синхронизирует 1 календарь. И давно не развивается. Жаль.

четверг, 11 октября 2007 г.

Как не забыть про молоко?

Я очень не люблю ежедневники. У меня мало воли. И мне вообще лень вставать по утрам. Но периодически я ищу silver bullet, которая поможет мне хоть чуть-чуть упорядочить свою жизнь.

Ежедневник...забываешь в него смотреть. Особенно, когда мотаешься. Или погружен в работу. Напоминания на телефоне...не удобно заполнять. Даже стилусом. А учитывая, что к Windows Mobile я питаю некоторую ...ммм... нелюбовь, и на моей моторолле установлен Linux, то нормальной синхронизации не получится. Всякие прочие методы так же не приносили результатов.

Идеальный с моей точки зрения инструмент, способный сделать хаос чуть упорядоченей должен

  1. Позволять с легкостью заносить новые записи, желательно с компа
  2. Быть доступным всегда
  3. Уметь о себе напоминать достаточно навязчиво
  4. Быть достаточно geek'анутым

И вот у какого-то блоггера (которых я почерпнул немало из Конкурса Конкурентов, но уже порядком просеял), я наткнулся на упоминание сайта ПомниПроМолоко!, который преподносился, как неплохой ежедневник. Зарегистрировавшись и покопавшись на этом сайте, я понял, что он мне нравится. И решил попробовать там пожить. Таким образом пункт 1, 2 и 4 выполнялись, потому что интернет почти всегда под рукой. Не с компа, так с мобильного.

Остался пункт о напоминаниях. Создатели сайта предлагают купить у них подарок за 25 $ в год и получить возможность работать с сайтом с КПК. Но опять всё упирается в WM или Palm. Ни тем, ни другим, обзаводиться мне не особо хочется. Поэтому надо было реализовать напоминания при существующем раскладе. Одной из услуг, является как раз служба напоминаний, и вроде бы есть возможность получать напоминания на мобильный, различные IM-клиенты и по e-mail. Я настроил ICQ, мобильный и почту. Напоминания приходят только на почту. Почему - не знаю. Может дальше будет лучше. Нет, я понимаю ещё почему не приходят на мобильник. Всё ж таки сайт не российский, но почему не приходят на ICQ...Я-то думал, установить Jimm и радоваться. А пришлось возиться с почтой.

Итак. Надо было реализовать получение писем на телефон. Никогда у меня небыло необходимости в получении e-mail на телефон. Не так уж это и сложно ;). Зарегистрировал новый ящик на mail.ru, чтобы не мешать деловую переписку с напоминаниями. Настроил её на мобильном. Одна беда, не получилось у меня на мобиле выставить проверку сообщений каждые n минут. Снова полез на mail.ru. Нашел там "уведомления sms о новых письмах". Настроил. И теперь всё отлично. Уведомления от неЗабудьПроМолоко падают в ящик, ящик шлет их sms, открываем ящик и смотрим, что там дальше в планах.

Всё отлично. Поулыбался только на mail.ru, который требует активации только через WAP. И настойчиво предлагает читать через него же почту. А так я доволен.

среда, 10 октября 2007 г.

Изящный баг. Или как я чуть не сменил шаблонный движок.

Сегодня утром столкнулся с ситуацией, которая может ввергнуть в панику любого разработчика. Когда уходил вчера вечером, всё работало, бегало и жило. Сегодня утром пришёл...И что-то жизнь затихла.

В своем проекте я использую Smarty. Проверенный временем шаблонный движок, который при наличие прямых рук и склонности к чтению документации, способен выдать неплохую производительность и гибкость. И мы с ним хорошо ладили. Пока сегодня утром, Smarty не начал мне компилировать пустые страницы. Одну за одной. Если я заходил на одну страницу, то все остальные, на которые я пытался попасть по ссылкам, были пустые. Я удалял скомпилированные страницы, заходил снова и всё повторялось. Потом у страниц отвалился подвал, который жил в отдельном шаблоне. Вообщем сайт исчезал на глазах. У меня началась паника и я начал подумывать о смене шаблонного движка. Потом вспомнил, что можно накатить ночной backUp (все ведь делают бэкапы. Я УЖЕ делаю бэкапы.) и посмотреть что будет с ним. Для этого надо было сохранить то, что было сделано за утро и раскатать ночную версию.

Бэкап отказался создаваться, сославшись на то, что на сервере закончилось место. И тогда все встало на свои места. Просто за ночь кто-то что-то сделал с сервером. И место закончилось. И бедный Smarty не мог записывать свои скомпилированные шаблоны. И создавал их пустыми. Место расчистили и всё вернулось на круги своя.

Вот такой вот полезный опыт разработки в многокритериальных системах.

среда, 26 сентября 2007 г.

Украшательства кода.

Задумал я написать несколько примеров-туториалов по активно используемой мной сейчас библиотеке Ext. Но столкнулся с проблемой. Не красив JavaScript код в текстовом представлении. Попытался найти украшатели. Но все они какие-то ущербные. Либо сделанные по правилам htlm 4 без использования css, либо просто криво работающие и убивающие code indent там, где они считают его ненужным.

Поэтому будут примеры просто с отступами. Без украшательств. Либо посмотрю в Zend, да заберу оттуда цвета красивые. А уж скриптик-то написать можно и самому, чтобы устраивал полностью.

четверг, 20 сентября 2007 г.

И снова Eclipse. Теперь PDT.

Вступление

Давно не трогал Eclipse. Писал себе спокойно в ZDS. И, вдруг, прошел слух, что вышел PDT 1.0 Release. Надо попробовать, решил я.

И попробовал. К счастью, на сайте разработчиков есть собранная версия, и разбираться с зависимостями не пришлось. Всё заработало с первого раза. Но в любом случае, с выходом Eclipse 3.3 aka Europe, ситуация стала получше.

Основная часть

Для меня ZDS идеален. Кроме мелких огрехов и стоимости, меня всё устраивает. Да даже стоимость у него вполне вменяемая с учетом студенческих скидок. И без учета возможности украсть. Он помнит имена переменных. Он знает все (почти) основные функции. Он поддреживает ZF. Он знает что такое JavaScript. Он выдает прекрасные описания функций. Он хорошо работает с SVN...да много чего ещё.

Что же из этого можно обнаружить в PDT...Он слышал о функциях и способен напомнить порядок следования переменных, что для PHP важно. Ибо порядок часто сильно разниться. Haystack и Needle часто меняются местами. Он знает SVN благодаря plug-in'у. Если пересесть на Aptana и добавить Spket IDE, он будет знать что есть JavaScript и даже сможет подсказывать названия функций ExtJs (об этой библиотеке мы ешё поговорим). Да, можно настроить debugger. Да, помнит названия переменных. Но блин! Учитывая, что его создавали программисты из Zend, понятно, что они не будут создавать конкурента ZDS. И он не конкурент.

Заключение

Я не принадлежу к джедаям. Я не освоил Vi(m) или Emacs. Мне нравится легкость с которой можно писать в ZDS. Это та легкость, которая присуща самому PHP. И, к сожалению, пока я не вижу реальных альтернатив ZDS без потери удобства написания кода. Даже не смотря на то, что мне приходится часто обращаться к мануалу по ExtJs на сайте. Просто ZDS удобней. И всё.

П.С. Кто-то может сказать "Сделай лучше". И будет прав =) Может это достаточная причина, чтобы учить Java. Время покажет.