суббота, 16 августа 2008 г.

Последняя запись на blogspot'е.

Это сообщение всем своим видом сообщает, что данный блог закрыт по причине переезда на другую платформу.

RSS уже обновлен и натравлен на временное пристанище на wordPress'е. А нет ничего более постоянного, чем временное =) Цель данного переезда в том, чтобы в конечно итоге переползти на stand-alone блог и сделать ему более приветливый вид =) А WordPress подходит для этого чуть лучше, как мне кажется. Все записи успешно импортированы туда, вместе с комментариями. Спасибо команде WordPress за этот безболезненный переезд =)

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

Мой эксперимент с Oracle можно считать начавшимся, с понедельника приступаю к написанию агрегатов. Читаю Тома Кайта на ночь и восхищаюсь изворотливостью человеческого разума =)


BTheMad

воскресенье, 10 августа 2008 г.

Oracle, JDeveloper и PL/SQL

Так уж получилось, что я решил чуть-чуть сместить фокус своей девелоперской деятельности в сторону Oracle PL/SQL. Нет, мне совершенно не надоел веб, просто у меня есть свой проект Smart Masses, который представляет собой магазин для гиков и сочувствующих имени доктора Жаба, и мне его более чем достаточно для экспериментов. А учитывая, что в конторе, где я работаю всегда есть возможность выбора проекта, я решил «прокачать» знания по sql и pl/sql, с которым до этого не работал. Для начала оформил себе оракловые курсы по банальному sql и уложил все знания в систему =) Учиться понравилось. Вчера съездил в Олимпийский и закупил литературы по Oracle PL/SQL и немного Тома Кайта для души =)

Сегодня уже установил себе Oracle 10g XE на Ubuntu 8.04 и начал вдумчиво читать литературу и выполнять примеры.

У оракла есть некая IDE с незамысловатым названием JDeveloper. Не то, чтобы я горю желанием изучить ещё одну IDE, но посмотреть на неё захотелось. Ставиться она не без бубна, но официального руководства вполне достаточно. Единственная проблема возникает, когда пытаешься законнектиться к базе из неё. Проблема выражается двумя ошибками:

ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified

И ничего не признает. Выставление параметра NLS_LANG в профиле баша ничего не дает. После многочисленных расследований и поисков в гугле решение было найдено. В файл jdev.conf необходимо добавить пару строк:

AddVMOption -Duser.language=en
AddVMOption -Duser.region=us

Оказывается Ынтырпрайз Жава не очень признает всякие NLS_LANG и берет параметры прямо из среды обитания. И эти параметры оказываются неверными. Этот «хак» подходит для любых IDE, написанных на этом чудесном кросс-платформенном языке и использующихся для разработки под Oracle.

И вот ещё одна ссылка по которой можно почитать чуть более объемное описание проблемы и способы её решения. Отличный статья, рекомендую.

...тем же вечером...

Продолжая копать в нужном направлении, нарвался на SqlDeveloper, выпускаемый Oracle. Который не несет в себе столько уг, как jDeveloper. При установке был капризен и требовал путей к jvm, не смотря на то, что она была прописана в PATH. Ещё пытался (неудачно) создавать файл jdk в дирректории ~/.sqldeveloper/ и писать туда этот самый путь, чтобы не спрашивать каждый раз при старте. Но что-то у него не задавалось. Пришлось создать ему этот файлик, раздать на него 777 (на всякий случай =) и вот тогда, он туда уже всё написал.

Ну и баг NLS data files лечился тем же способом. В sqldeveloper.conf добавились те же магические строки =) Вот такой вот он...ЫнтЫрпрайз.

воскресенье, 6 апреля 2008 г.

Авиабилет Москва-Амстердам-Москва.

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

В свете того, что мне понадобилось слетать в Амстердам =) я начал искать самую бюджетную возможность добраться до города...тюльпанов. Самолетом. В одном вменяемом агентстве мне поведали, что в Амстер летает много авиакомпаний. Просто многие из них с пересадкой в каком-нибудь европейском городе. Вот список тех, кого пробивал я:

  • Аэрофлот (без пересадки)
  • KLM (различные варианты)
  • AlItalia (с пересадкой)
  • SAS (с пересадкой)
  • LOT (с пересадкой)
  • SwissAir (с пересадкой)

Далее я аккуратно просчитал билет на одинаковые даты во всех авиакомпаниях. К сожалению, цены я тогда не переписал, а сейчас билет на те же даты стоит уже по-другому. Но в итоге я отправился за билетами в SAS, т.к. их вариант (14 т.р.) оказался самым выгодным с точки зрения времени вылета/времени полета/цены. Такой же, но беспересадочный рейс у KLM стоил на 2 т.р. дороже.

Надеюсь, что качество сервиса будет на сколько-нибудь приличном уровне и я не подпаду под статью "скупой платит дважды" =)

пятница, 4 апреля 2008 г.

Ubuntu 8.04 beta. Шаг вперед, два шага назад.

Зачем обновляться до beta?..

Угораздило меня попасть на сайт убунты, и увидеть там "25 дней до релиза". Потом угораздило прочитать в каком-то блоге об успешном обновлении до бетаВерсии. До этого читал, что человек обновился до альфы, и ему всё нравится.

Вечер был свободный ;) Поэтому и я набрал update-manager -d и смело нажал "Обновить". Убунта честно предупредила, что обновляться будет до беты, что качать придется метров 900 и что вообще всё опасно. Пути назад не было =)

Я думал, что процесс пойдет автоматически, поэтому пошёл пить чай, однако, вернувшись, я обнаружил диалоговое окошко с вопросом "Какой из конфигов использовать для ..." И таких вопросов мне задали много. Т.е. не уходите пить чай, а вдумчиво следите за обновлением. К тому же это процесс поинтереснее дефрагментации диска ;)

И что в итоге?..

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

  • Пропал звук. Устройств, на которые можно подавать звук в системе обнаружено не было. Проблема была в ядре, оно обновилось спустя 4 дня. Звук появился. Ура.
  • В системе поселился Tracker, который активно за мной следит. И всё время всё индексирует. Пока я с ним не общался на предмет индекса, но лишний значок в трее заметил ;)
  • FireFox обновился до 3b4, следовательно, половина add-on'ов стала неработоспособной. Особенно мне не хватает FireBug и Del.icio.us-плагина. Ставить "check for version compatibility" в "none" мне не хочется. В прошлый раз плохо закончилось =) Подождем...
  • Слетела тема MacOsX (надеюсь, не палюсь ;) Правда не целиком, а только частично. Оччень весилит
  • Есть ощущение, что система дольше грузится. Надеюсь, после релиза ей полегчает

Вообщем, это хороший такой LTS-релиз, т.е. без наворотов и революций. Обновление прошло почти успешно, полет нормальный. Ждем релиза.

среда, 26 марта 2008 г.

Как я подСел на подКасты.

Сегодняшняя микрозаметка будет посвящена подкастам, кои я открыл для себя совершенно недавно. Дело, кажется началось с Хабра, на котором подКастам отведен отдельный тег, где они кучкуются. Вообщем, в очередной раз увидев на главной странице новость о выходе очередного подкаста, я решил послушать о чем же говорят люди. Послушав, кажется, об ИнтернетМаркетинге, я жОсктко вдохновился и понял, что подКасты являются идеальным заполнителем рыхлого времени, которое, обычно, забивается музыкой. Или, если совсем всё плохо, радио

Но не удобно же, блин качать их по ссылкам и заливать в телефон руками. Поэтому, пошерстив безнадежный рунет, нашел на забугорном сайте более или менее приличную таблицу сравнения. Прошерстив и её, выбрал самое банальное - gPodder, который в Убунте ставиться apt'ом.

GPodder умеет уже многое. Конечно с багами и прочим, но это джедаям опенСорса не помехи. Например, он может синхронизировать подкасты с плеером или iPod'ом. Мой телефон он принял за плеер и удачно залил на флешку то, что скачал. Правда с русскими кодировками у него плохо. И файлики называются _____.__C___.mp3. Но это тоже не пугает джЕдаев =)

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

четверг, 13 марта 2008 г.

Ubuntu. Проблема с кодировкой CD/DVD дисков.

Давно возникал вопрос, почему на вставленных cd/dvd дисках папочки с русскими названиями были представлены знаками вопроса. В связи с тем, что дисками я не часто пользовался, я на это забивал =) Ну а если не забивал, то пробирался по диску вслепую =)

Ответ был подсмотрен в убунтарии на хабре. Вся (грустная) правда в том, что диски монтируются в неизвестной кодировке. Чтобы ситуацию поправить раз и навсегда, стоит открыть на редактирование /etc/fstab и дописать там в опциях монтирования оптоДисков iocharset=utf8

П.С. Больше трех месяцев в Ubuntu. Полет нормальный =)

четверг, 28 февраля 2008 г.

Обо всем по-немногу. Firefox, AMR, ExtJS.

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

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

Конвертация AMR и 3gp.

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

Я не помню уже, чем конвертировал из amr в mp3 под Windows, но под *nix искать программу долго не пришлось. Попробовав несколько самопальных скриптов, некоторые из которых опасны для жизни файлов ;) я остановился на программе Mobile Media Converter (ссылка внизу страницы, между гуглоРекламой, долго искал =). Программа с самым банальным интерфейсом и тем очень удобна. Умеет работать с amr и 3gp, а большего мне и не нужно.

Знаменитый баг Firefox

С этим багом я столкнулся сразу же после установки Ubuntu. Это тот самый знаменитый баг, из-за которого хоткеи не работают в русской раскладке. Его уже поправили (за деньги), но исправления будут только в Firefox 3. А пока, необходимо установить маленький add-on, который всё вам поправит. И будет шастье =)

Небольшой багФикс для ExtJS

Замешивая полный винегрет из тем, упомяну ещё одну вещь. Все знают, что ExtJS можно заставить говорить по-русски в окошках/менюшках, просто подключив файл с русской локалью. Но в нем есть один неприятный и редкий баг. При работе с DateField, когда выставляется формат содержащий месяц прописью (янв, фев и пр.), мы получаем январь 1970 года и ничего кроме.

Вся проблема кроется в массиве Date.monthNumbers, в котором содержатся неверные короткие имена. Надо просто заменить его на следующий:

Date.monthNumbers = {
  Янв : 0,
  Фев : 1,
  Мар : 2,
  Апр : 3,
  Май : 4,
  Июн : 5,
  Июл : 6,
  Авг : 7,
  Сен : 8,
  Окт : 9,
  Ноя : 10,
  Дек : 11
};

На сегодня — всё. Надеюсь, что скоро станет посвободнее и я допишу туториал по ExtJS и гридам с фильтром и поиском =)