суббота, января 21, 2006

Перешли на круглосуточную работу

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

четверг, января 12, 2006

Если ты выдохся...

Если

  • ты выдохся и чувствуешь, что программировать уже надоело - бросай это дело.
  • перестал понимать, как это важно - ясно выражать свою мысль в коде - бросай программировать.
  • тебе однажды хотя бы показалось, что, в конце-концов, нет разницы между решением проблемы и её нерешением - уходи.
  • ты перестал ощущать стыд от того, что твоя ошибка месяцами висит в FB - освободи место.
  • я сказал это тебе в лицо или ты получил это от меня в письме - не расстраивайся. Есть много другой полезной работы в мире. И раз для программирования ты уже потерян, то не теряй времени - ступай, переквалифицируйся в аналитики, пока орды уставших не заняли твоё место там.
Однажды я услышал: это плохой менеджмент. Если вы, суки, такие умные, то попробуйте для затравки сказать своей старой матери, что она стала безобразной старухой и расскажите потом мне, как это было... Такие же чувства испытываю я к людям, которые, оставаясь моими друзьями, один за одним сходят с дистанции. Этикет и деликатность требуют от меня тратить так много времени на выведение человека из процесса, сколько нужно. Бизнес и текущие проблемы не позволяют мне тратить столько времени. Я бы никому не позавидовал, кому приходится решать такие проблемы.

среда, января 11, 2006

Вчера был в Троицке, МО

Забрал двое binary watches (красные и синие) для друга. Завтра к нему и поеду.

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

понедельник, января 09, 2006

Закончена переделка репликатора

Новостей, собственно, 2.
1. Код переписан почти полностью, но все тесты срабатывают на 100%
2. У нас есть настраиваемый стек обмена произвольной информацией.

Завтра, если и QA не найдёт слабых мест, будем запускать в production. ПоглядимЪ.

пятница, января 06, 2006

Производственное

Двое суток были посвящены разработке модели Репликатора, который позволил бы выполнять произвольные двусторонние преобразования данных, которые берутся из нашей гранд-базы (для выгрузки) и почты/диска/etc. (для загрузки). В процессе создания "бумажного прототипа" было написано 1500 строк кода, изрисовано схемами почти 7 бумажных страниц А4 и 2 страницы текста в Microsoft Word.

Результат мне очень нравится.

  • Все внутренности вроде событий синхронизации аккуратно упрятаны вглубь кода.
  • Интерфейсы взаимодействия почти невесомы и на 100% очевидны и ожидаемы
  • Для приёма и выдачи данных используются контейнеры.
  • Исключено использование БД для хранения промежуточных и конфигурационных данных (а в первой версии это предполагалось)
  • Стек преобразователей настраивается простым копированием в каталог на диске
  • Исключительно простая схема обработки неизвестных данных позволяет разгрузить объект "Координатор" от сложной аналитики
  • Убить мусором преобразователь невозможно
  • Одно из самых главных достоинств: в этой модели действительно можно преобразовывать что угодно во что угодно
Это стоило двух дней напряжённых размышлений. Сейчас вот немного посплю и начну воплощать.

понедельник, января 02, 2006

А ведь Спольский прав

Мне приходится, как говорится, иметь дело с людьми из разных миров. Разговариваю с теми, кто пишет на Java, сам много пишу на C#, пока ещё не забыл, как люди работают в C++.

Одно время меня пугало, что есть такие люди на свете, которые считают себя программистами, но не понимают, что такое указатель и как выглядит атака на стек программы. Я всё как-то пытался понять, как они так живут и не мог.

Потом некоторое время я не касался проблем указателей, размещения памяти и прочих деструкторов и вроде бы даже расслабился. А теперь снобически думаю, что это всё же неправильно: избавлять языки, хотя бы и такие высокоуровневые как та же Java или C# от указателей. Это самый простой и эффективный из известных мне тестов на профпригодность. Можешь объяснить если, где находится буква в строке длинных целых, преобразованной из строки текста - заходи, поговорим. А нет, так ничего не поделаешь: иди картриджи менять.