Пароле-пароле-пароле

0 коммент. | добавить комментарий
А вы используете матерные слова в качестве паролей?

Помню красное лицо моего коллеги, когда ему пришлось по телефону диктовать по слогам слово "за-е-ба-ло", дабы его собеседник мог вытащить из его компа требуемый файл.

Сегодня тоже был прикол. Коллективно помогали другому коллеге вспомнить забытый пароль. У него фишка была в том, что в начале было слово, а в конце - номер месяца (март), в котором он его установил. Диалог был примерно такой:

- А, может, там был не март?
- Да нет, почему? Мат...

И дикий ржач. Без палива))

Побороли ошибку

0 коммент. | добавить комментарий
Третьего дня одна девушка, работающая в моей команде, поборола ошибку в программе. Ошибка заключалась в следующем: при запуске swing-приложения его окно (разворачиваемое на весь экран) загадочно мерцало где-то полсекунды.

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

А почему дергала, спросите вы? Такие уж это загадочные существа - женщины :)

YourKit

2 коммент. | добавить комментарий
Открыл для себя замечательный профилировщик (он же профайлер) - называется YourKit. Умеет профилировать и CPU, и память, и потоки, и дедлоки... А, во, еще имеет плагин для Eclipse, позволяющий запускать профайлинг прямо оттуда.

Не, я реально в восторге! Только что с его помощью выяснил, почему в одном из наших продуктов не высвобождалась память при закрытии старого документа и открытии нового. Наш обработчик тултипов хранил ссылку на TableColumn, который хранил ссылку на объект SwingPropertyChangeSupport, у которого в списке маус-моушн-лиснеров зачем-то хранилась DefaultTableModel. Из-за этой "лишней" ссылки на данные GC никогда их реально и не прибивал... Ну, блин, Swing!!! А YourKit все сразу показал - и самые большие объекты в памяти, и ссылки на них.

Зараза, к сожалению, платная, но обладает 15-дневным пробным ключом активации. Очень рекомендую попробовать! Ведь как приятно, после дня мучений, увидеть такой замечательный график:

Бинарные форматы документов Microsoft Office 97-2007 открыты!

0 коммент. | добавить комментарий
В прошлую пятницу Microsoft открыла общественности спецификации бинарных форматов для Word, Excel, PowerPoint и Drawing 97-2007.

Брать отсюда: http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx.

А здесь Джоэль дает несколько комментариев и полезных советов к тому, как это все понимать.

Баг в Swing: редактирование ячейки JTable отменяется при ресайзе столбца

0 коммент. | добавить комментарий
Я всегда говорил, что разработка под Swing сродни ходьбе по минному полю - никогда не знаешь, под какой ногой рванет в следующую минуту.

Сегодня (в который раз!) рванула JTable. Я напоролся на баг, который заключается в следующем: если начать ресайзить столбец таблицы в процессе редактирования ее ячейки, то введенный во время редактирования текст исчезает - вместо него возникает предыдущее значение.

Вот так вот. Багу #4330950 уже почти восемь лет.

Интересно было почитать комментарии к нему на сайте Sun:

  • 17 июня 2002 г.: можете пообещать, что это будет исправлено в 1.4.1?
  • 6 августа 2005 г.: это должно быт обязательно исправлено в Java 6!
    26 июня 2007 г.: проблема все еще жива в j2se 1.6.1!


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

Русские зайцы настолько суровы...

2 коммент. | добавить комментарий


Японские мультяшки про русских зайцев: здесь.

В ролях:

  • заяц в красном
  • заяц в зеленом
  • зайцы за дверью
  • странный цыпленок
  • жабко
  • и т.д.


Ржал долго. Пыхово у авторов реально тяжелое.

Interbase/Firebird и Windows Vista: друзья навек

19 коммент. | добавить комментарий
Вчера, несмотря на Старый Новый Год, пришлось решать проблему установки одной программы, использующей СУБД Interbase, на Windows Vista Home Basic.

Само по себе, увы, не заработало. Валился локальный протокол доступа Interbase.

Лирическое отступление. Протоколов доступа там два:

  • сетевой - формат адреса типа localhost:c:/db/mydb.gdb
  • локальный - а это, например, просто c:\db\mydb.gdb

Так вот, при попытке доступа к БД по локальному протоколу все время вываливалось unavailable database. В связи с этим излагаю выработанную последовательность шагов, которая позволяет запустить сервер Firebird под Windows Vista с работающим локальным протоколом:

  1. Скачиваем с firebirdsql.org Firebird 2.0.3 (подойдет любая версия старше 2.0.1), устанавливаем:

    • режим сервера - SuperServer
    • запускать как службу
    • НЕ ДОБАВЛЯТЬ аплет в Панель управления - иначе она потом вообще не сможет запуститься, и FB придется сносить

  2. Заходим в папку с Firebird, открываем файл firebird.conf, откомментируем строку с параметром IpcName, заменяем ее на:
    IpcName = Global\FIREBIRD

  3. Здесь придется перезагрузить машину.

После этих танцев с бубном Firebird должен заработать правильно.