работа

 

Страницы: | 1 | 2 | 3 | 4 |

Мадрид: жизнь налаживается

12 ноября 2011 // Хельги

Я тут в командировке с понедельника, но пока рабочий график не оставлял ни времени, ни возможности для каких-либо развлечений. Живут тут сплошь жаворонки, и рабочий день у них с 8 утра до 5 вечера (что для меня даже с учётом джет-лага тяжело). Осень уже поздняя, день короткий, так что в восемь солнце только встаёт, а в пять уже садится: света белого не видишь, сидишь в офисе.

Но сегодня у меня в планах не работа, а осмотр достопримечательностей. А вот что видно у меня из окна:

/users/helgi/madrid-vista.jpg

Короче, жизнь потихоньку налаживается.

Редакция от 13 ноября 2011
Тэги: путешествия, работа, фото
Написать комментарий

По стопам Ганса Райзера

28 октября 2011 // Хельги

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

— Слушай, всё пропало. Мы же там труп оставили!

Оказалось, true поставили.

Тэги: fun, работа
Написать комментарий

Вашингтон

5 июня 2011 // Хельги

Командировка закончилась пробежкой по замысловатому маршруту Нэшнл Харбор — Александрия — Вашингтон — Нэшнл Харбор. Границы штатов этот маршрут пересекал не меньше трёх раз: Нэшнл Харбор находится в Мэриленде, а Александрия — в Виргинии (но до неё дотягивается синяя ветка вашингтонского метро).

Он Нэшнл Харбора до Александрии ходит паром, от Александрии до центра Вашингтона — метро; и это, видимо, самый простой способ добраться из точки А в точку В, исключая такси.

В Александрии, судя по всему, больше всего «одноэтажной Америки» — небольших жилых домов. На некоторых висит объявление, что дом конфискован и выставлен на продажу банком (caveat emptor).

Метро, если ехать от станции Брэддок-роуд до станции Фаррагут-Уэст, проезжает аэропорт имени Рейгана (метро до аэропорта — это всё-таки круто) и министерство обороны. «Осторожно, двери закрываются. Следующая остановка — Пентагон».

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

В девять вечера вокруг монумента Вашингтона ещё водят экскурсии, но купить воды уже негде.

/users/helgi/wash1.jpg

/users/helgi/wash2.jpg

/users/helgi/wash3.jpg

Тэги: путешествия, работа, фото
Комментарии (1)

Нэшнл Харбор

3 июня 2011 // Хельги

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

* * *

Нэшнл Харбор расположен к югу от Вашингтона, на берегу реки Потомак. Над рекой всё время пролетают самолёты, заходящие на посадку в аэропорт имени Рейгана:

/users/helgi/nh-potomac.jpg

Тэги: путешествия, работа, фото
Комментарии (6)

Когда на работе не хватает времени на хорошее

3 апреля 2011 // Хельги

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

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

И если ради новой фичи на своём же сайте можно и урвать часок-другой у сна, то сидеть безвылазно на работе — это всё же неправильно.

Тэги: работа
Написать комментарий

Материя для духа

9 декабря 2010 // Хельги

На работе я время от времени сталкиваюсь со случаями, когда аппаратная часть какого-нибудь медицинского комплекса устроена прекрасно, а вот софт никуда не годится. Не то чтобы так было всегда: часто софт вполне ничего, не очень интуитивный, не очень элегантный, но вполне годный. Но иногда просто диву даёшься: зачем было так вылизывать «железо», когда оператор всё равно будет пялиться в жуткие разноцветные кнопки на экране рабочей станции?

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

Но это медицинская аппаратура, вертикальный рынок и всё такое. Лаборант в ренгтенкабинете будет злиться, но от своей рабочей станции никуда не денется.

Странно другое. Если зайти в салон, где гаджеты, возникает ощущение, что в компаниях-производителях всякой электроники тоже заправляют инженеры. У нас блютус! у нас вай-фай! у нас камера 8 мегапикселей!

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

И ведь люди покупаются (и покупают). И даже, наверное, пользуются — с великим гневом.

А потом все удивляются армиям поклонников «айфонов» и «андроидов». Нет в этом никакой магии, просто кое-кто догадался сделать хотя бы типичные задачи по настоящему удобными, вот и всё.

В конце концов, без софта «айфон» — это просто коробка с мёртвым экраном.

Тэги: software, лучшее, работа
Написать комментарий

Икс-лучи

8 ноября 2010 // Хельги

Гугл напоминает своим логотипом, что 115 лет назад были открыты икс-лучи.

Мой в-настоящее-время-профессиональный праздник, в принципе.

Тэги: google, работа
Написать комментарий

Про мерж в меркуриале

21 октября 2010 // Хельги

Мержили на работе две ветки, которые разошлись больше полугода назад. Не без страха, конечно. Это был первый «серьёзный» мерж на меркуриале, а все предыдущие случались ещё под TFS.

Так вот, после ужасного hopebaseless-мержа тоже примерно на полгода разошедшихся веток в TFS я стал слегка нервным. Тогда мы убили уйму времени, а я заимел на TFS зуб.

Меркуриал всё-таки кардинально лучше. Без конфликтов и ошибок, конечно, не обошлось, но давящее ощущение отчаяния к нам больше не придёт.

(Пользуясь случаем, хочу напомнить поклонникам гита: меркуриал и гит — не враги, их общий враг — svn.)

Тэги: hg, tfs, работа
Написать комментарий

Профессиональная деформация

6 октября 2010 // Хельги

Сегодня в столовой на работе обсуждали невероятно важную вещь: где правильно разместить стойку с приборами, до собственно еды или после, в районе касс. Сошлись на том, что оба способа имеют преимущества и недостатки. Если брать приборы до того, как выберешь обед, то придётся брать всё; даже если потом раздумаешь есть суп, ложку столовой мыть всё равно придётся. Зато если приборы расположены после касс, то создаётся локальный затор: вместо того чтобы взять поднос и отправиться к столикам, люди будут брать приборы и тормозить следующих в очереди.

После этого состоялся такой диалог:

— Вот она, профессиональная деформация программистов: со знанием дела обсуждать чужие бизнес-процессы.
— Но ведь мы пользователи этого процесса.
— Воспринимать всё вокруг в модели «процессы и участники» — это тоже профдеформация!

Тэги: жизнь, работа
Написать комментарий

Инструмент для распаковки упаковки

12 сентября 2010 // Хельги

Polish remover

9 сентября 2010 // Хельги

Сегодня (технически уже вчера) пришлось на работе разбираться в довольно обширном документе на польском. Безумие было подогрето тем, что документ был сшит задом наперёд (спасибо автору).

Разобраться, конечно, разобрались. Братья-славяне опять же, да и словарь с гугл-транслейтом под рукой. Но мне это живо напомнило, как я со словарём первый раз в жизни продирался через английский текст. Тогда меня заело: это было руководство к StarEdit. :)

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

Тэги: английский язык, польский язык, работа
Написать комментарий

Противопожарный инструктаж

29 июля 2010 // Хельги

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

Говорил вот что. Если огня не видно, а есть дым — нужно драпать и звонить 01. В плотном дыму человек погибает через две минуты. Если идти некуда (дым на лестнице), то открывать настежь окна и привлекать внимание пожарных. И только если видно, что именно загорелось (компьютер, чайник) — только тогда можно не сразу эвакуироваться, а, например, пытаться тушить.

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

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

Короче, всё было наглядно и по теме. Вспоминая наш чудесный институт с запертыми на ключ эвакуационными выходами: думаю, если бы наш начальник охраны работал там — он, наверное, устроил бы большой скандал, но выходы бы функционировали.

Тэги: жизнь, работа
Написать комментарий

Материя и дух

8 июня 2010 // Хельги

Как я узнал благодаря двуязычному стандарту IEC 62304, аппаратное обеспечение по-французски называется matériel, а программное — logiciel.

Не совсем материя и дух, но очень поэтично. Куда нашим бюрократическим или английским техно-жаргонным терминам!

Тэги: работа, французский язык
Комментарии (2)

Заводские утки

6 июня 2010 // Хельги

/users/helgi/ducks1.jpg
/users/helgi/ducks2.jpg
Территория завода Москабельмет

Редакция от 18 июня 2010
Тэги: snapshots, работа, фауна
Написать комментарий

Глючит буфер обмена в Visual Studio 2010

28 мая 2010 // Хельги

Симптомы такие: в «студии» при нажатии Ctrl+C в буфер ничего не копируется, так что нажатие Ctrl+V ничего не вставляет. То же самое и Ctrl+X: текст из редактора исчезает, но в буфере ничего нет, приходится отменять.

Microsoft Connect предлагает выключить расшаривание буфера обмена в RDC, во всех видах. Я закрыл два подключённых RDC, и мне действительно помогло.

Тэги: visual studio, работа, советы
Написать комментарий

Если бы системы контроля версий были транспортными средствами

26 марта 2010 // Хельги

Мы тут на работе обсуждали разные системы контроля версий, и в итоге пришли к вот такому сравнению:

  • cvs — ржавый гусеничный трактор «Джон Дир», 1920 года выпуска. Ездит.
  • hg — современный седан с автоматической коробкой передач. Удобен, современен, прост в управлении.
  • svn — современный седан с климат-контролем, электропакетом, но на ржавых гусеницах. Пока сидишь внутри, не пытаясь ехать, кажется, что всё нормально.
  • git — спорткупе с салоном от самолёта, полным ручек, кнопочек и дисплеев. Ездит ненамного быстрее обычного седана, но освоить управление гораздно труднее.
  • darcs — экспериментальный автомобиль с роботом-водителем. Едет сам, но если вдруг повернет в стенку, вмешаться будет невозможно.

Тэги: darcs, hg, svn, работа
Написать комментарий

TFS ⇒ HG: Подготовка Subversion-сервера

10 марта 2010 // Хельги

Первый шаг нашей комбинации для перехода с TFS на меркуриал — конвертация из TFS в SVN. Если SVN-сервер под рукой есть, то всё отлично; если же его нет (как его не было у меня), то волей-неволей придётся приобретать навык его настройки.

Я описываю путь, которым шёл сам; скорее всего, многие вещи можно было бы сделать и по-другому.

* * *

Я использовал SVN версии 1.6.6, собранный для Windows; брал я его с tigris.org.

Сервер можно настроить для работы в качестве Windows-сервиса или запустить только на время конвертации (если больше он не будет нужен).

В любом случае, на машине, где будет запущен сервер, нужно создать каталог для репозиториев, например D:\env\svn.

(tfs2svn можно запустить и без SVN-сервера, если репозиторий расположен на той же машине, на которой запускается конвертер. Однако этим вариантом я не пользовался.)

Чтобы запустить SVN как сервис, выполните команды:

sc create svn binpath= "c:\Progra~1\Subversion\bin\svnserve.exe --service -r d:\env\svn" displayname= "Subversion Server" depend= Tcpip start= auto
sc start svn

Будьте внимательны с пробелами. После создания сервиса можно настроить режим его запуска при помощи аплета Services в панели управления.

Однократный запуск выполняется так:

svnserve -d -r d:\env\svn

Дальше необходимо создать репозиторий:

svnadmin create d:\env\svn\myapp

tfs2svn меняет при конвертации свойства коммитов задним числом: в частности, чтобы коммиты в сконвертированном репозитории были правильно датированы. Для того чтобы это работало, надо создать в каталоге репозитория (d:\env\svn\myapp) файл hooks\pre-revprop-change.bat с таким содержанием:

echo ok

Чтобы настроить аутентификацию, нужно раскомментировать в файле conf\svnserve.conf в каталоге репозитория строчку password-db = passwd в секции general, после чего указать логин и пароль (открытым текстом) в файле conf\passwd, например:

[users]
helgi = BoZo

* * *

Следующим шагом будет патченье tfs2svn и его запуск.

Тэги: svn, работа
Написать комментарий

TFS ⇒ HG: Причины перехода

7 марта 2010 // Хельги

Для своих проектов я с 2005 года использовал darcs. Эта система контроля версий одновременно гениальна и ужасна. С одной стороны, за четыре года использования даркса для контроля исходников «Индианы» мерж-конфликты у меня были два или три раза. С другой стороны, даркс совсем не подходит для продакшена: нет ни графических обёрток, ни нормальной интеграции в «студию». Даже графической мержилки нет «из коробки»! Теория патчей математически обоснована, а вот про удобство работы для самых разных категорий пользователей никто не подумал. Хотя для маленького самописанного проекта — отлично.

На работе мы сейчас пользуемся TFS, который работает ровно наоборот. Консольный клиент и графический клиент — равные по мощности. Графическая мержилка и возможность подключить любую другую, по выбору. Полная интеграция в «студию».

Но пользоваться этим тяжело. Централизованная система контроля версий — это фэйл. Нет офлайновых коммитов (и вообще работа без сервера затруднена). Все ветки на сервере. При мерже из ветки в транк теряется вся история. Короче, сделать CVS по уму невозможно, Линус был прав.

При этом TFS мне приходилось использовать не только на работе: дома тоже была парочка проектов, где работа шла на TFS-сервере.

* * *

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

Одной из главных причин, почему я выбрал трак, а не один из других багтрекеров, было то, что трак — это комбинированная система управления проектом. Помимо собственно багтрекера, трак содержит модули вики и интеграции с системой контроля версий. Это невероятно удобно и позволяет, к примеру, перейти из режима просмотра коммита по ссылке на связанный тикет с описанием бага.

Трак поддерживает интеграцию с несколькими системами контроля версий, но лучше всего реализована поддержка Subversion и Mercurial. SVN, разумеется, я даже и не рассматривал (он централизованный), а вот меркуриал для моих нужд вполне подошёл.

* * *

У меркуриала присутствуют все основные качества распределённой системы версий. Каждая рабочая копия содержит свой репозиторий, система отслеживает патчи, а не версии, мерж веток делается через синхронизацию, история обоих веток сохраняется после мержа.

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

Меркуриал лучше даркса подходит для продакшена. Есть несколько способов сделать центральный репозиторий, куда все коммитят: помимо доступа по SSH, можно прикрутить к веб-серверу hgwebdir или просто пустить крутиться hg serve за nginx с аутентификацией.

Кроме графической оболочки (в винде интегрирующейся с проводником) есть также плагин к «студии», без которого очень грустно было бы объяснять системе, какой файл как переименовали.

* * *

Единственной проблемой после выбора хорошей во всех отношениях системы контроля версий было перевести проект, лежащий в TFS, на меркуриал. Для этого я воспользовался двухходовкой: tfs2svn помог мне перегнать проект в SVN, а из SVN в меркуриаловский формат конвертирует команда hg import. И если со второй всё было просто, то конвертация из TFS в SVN попортила мне немало крови.

Сейчас мы на работе идём по тому же пути, по которому я прошёл со своим карманным проектом. (Мержи замучили, да и многим другим параметрам распределённая система просто удобнее.) Но поскольку масштабы у нас побольше, то и проблемы возникают более крупные. В связи с этим я планирую поделиться опытом запинывания tfs2svn, а также выложить патчи к этому конвертеру.

Тэги: darcs, hg, svn, tfs, trac, работа
Написать комментарий

Перемещение файлов, находящихся под контролем TFS, из консоли

15 февраля 2010 // Хельги

Перемещать несколько файлов, лежащих в TFS, при помощи окна Source Control Explorer мучительно. Файл нужно щёлкнуть правой кнопкой, выбрать в меню Move, указать каталог, куда нужно его переместить. И так для каждого файла по отдельности.

Но эта неприятная особенность присуща только графическому клиенту. В консоли, если вам нужно, скажем, переместить контрол вместе с .Designer.cs и .resx, можно написать так:

D:\Projects\Client\Controls>tf move AreaControl.* d:\Projects\Common\UI\Controls\
AreaControl.cs
AreaControl.Designer.cs
AreaControl.resx

Редакция от 7 марта 2010
Тэги: tfs, работа, советы
Написать комментарий

До часа пик

30 ноября 2009 // Хельги

Всё-таки я сова. Обычно на работу прихожу к обеду, а сегодня потребовалось к 8 утра. Ну вот, вышел из дома, темно так, людей на улице мало, хорошо, спать почти не хочется, думаю я. А самого начинает уводить в сторону, и глаза закрываются. Не-ет, хорошая это штука — совиный автопилот.

* * *

У меня на пропуске указано время, когда я могу находиться на работе: с 8 до 23 часов. После 23 я уходил множество раз: чаще спокойно, а иногда препираясь с вахтершами. А до восьми пройти оказалось так просто, что даже скучно. Наверное, дело в том, что после одиннадцати вечера вход закрывают, а вот открывается он не восемь, а скорее в шесть?

* * *

Перед пробуждением приснилось, что я готовлюсь к какой-то важной презентации-демонстрации, и в качестве опорного материала у меня не слайды, а салат. Обычный салат такой, типа оливье. Причем этот салат я старательно делал за несколько дней до презентации, специально прочитал несколько статей о том, как готовить презентационный салат. И вот утром перед презентацией я понимаю, что салат я сделал, а в холодильник не убрал, и он у меня испортился, потому что был майонезом заправлен. И я сижу в ужасе и думаю: что мне делать? важная презентация, люди смотреть будут, а у меня главый демонстрационный материал протух.

Тэги: dreams, жизнь, работа
Написать комментарий

Exception imminent

25 ноября 2009 // Хельги

/users/helgi/exception-imminent.png

Я, конечно, опечатался: не ==, а !=.

Тэги: c#, en, visual studio, wtf, работа
Написать комментарий

Пэхапэ веб делевопер

20 ноября 2009 // Хельги

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

Уже собирались отправлять, когда заметили, что в пресловутой плашке должность обозначена как «Software Delevoper» (sic!). И самое главное, что я сам этот текст и набирал. Правду не скроешь, да.

В «гугле», кстати, этих «делевоперов» 39 тысяч, и все, как назло, из Бангалора.

Тэги: жизнь, работа
Написать комментарий

Кьюшки (cue banner) в контролах DevExpress

15 октября 2009 // Хельги

В Windows XP появились встроенные подсказки, которые выводятся в текстовом поле, пока пользователь не поставит туда курсор. По-английски они называются cue banners, а вот русский термин мне не известен (Language Portal не помог).

/users/helgi/cue-banner-vista.png

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

Итак, необходимые объявления:

private const int EM_SETCUEBANNER = 0x1501;
private const int EM_GETCUEBANNER = 0x1502;

[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern Int32 SendMessage(
    IntPtr hWnd, 
    int msg,
    int wParam, 
    [MarshalAs(UnmanagedType.LPWStr)] string lParam);

Установка кьюшки на девэкспрессовский контрол (помним, что контролы DevExpress содержат текстовое поле в качестве дочернего контрола):

foreach (Control control in buttonEdit1.Controls)
{
    if (control is TextBox)
    {
        WinApi.SendMessage(control.Handle, WinApi.EM_SETCUEBANNER, 0, "Cue banner");
    }
}

Вот так выглядит результат:

/users/helgi/cue-banner.png

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

Тэги: c#, работа, советы
Комментарии (1)

Изменение регистра буквы и перенос операторов (Visual Studio, ReSharper)

13 октября 2009 // Хельги

Многим известно, что сочетание Ctrl+U в Visual Studio приводит букву под курсором к нижнему регистру, а Ctrl+Shift+U, наоборот, к верхнему. Обе команды заодно передвигают курсор вправо на одну позицию, что позволяет, зажав клавиши, изменить регистр у целого слова.

Однако мало кто знает, что модификатор Ctrl+Alt+Shift включает «решарперовский» режим реорганизации кода, который позволяет переупорядочивать блоки кода, операнды бинарных операций и аргументы методов.

Рассмотрим последний пример подробно. Ставим курсор на один из операндов бинарной операции (например, операции присваивания) и зажимаем Ctrl+Alt+Shift. Появляется подсказка; следуя ей, нажимаем стрелку влево, и операнды меняются местами. Отпускаем Ctrl+Alt+Shift.

/users/helgi/resharper-reorder.png

Так же меняются местами аргументы в определении методов. А нажимая стрелку вверх или вниз, можно перемещать блоки: одиночные операторы, составные операторы и даже целые методы.

Редакция от 15 октября 2009
Тэги: visual studio, работа, советы
Написать комментарий

Когда предопределённые тэги нужны

8 октября 2009 // Хельги

Опять же по итогам поднятия бложика на работе понял одну вещь. Я всегда считал, что тэги, которые существуют как, скажем, записи в таблице — это ересь. Тэги, как мне казалось, всегда должны быть отражением текущей картины. Нет, конечно, это удобно — взять и переименовать один тэг — но вряд ли нужно (сломаются ссылки, например).

Да и вообще: когда ты сам всё пишешь, тебе же лучше знать самому, когда какой тэг ввести и от какого отказаться. А если имеет место user-generated content, то всё равно будут тэги вида «паразиты клещ». Пользователям никто не указ.

Но есть одна ситуация, где заготовка тэгов впрок нужна. Это промежуточная ситуация: не помойка, а коллективный журнал (наподобие ЖЖ-сообщества для узкого круга). Вот там было бы полезно обсудить набор применяемых тэгов, а потом их создать, тем самым ограничив творческие способности «узкого круга».

Тэги: b2, работа
Написать комментарий

Страницы: | 1 | 2 | 3 | 4 |