2/7/2010 3:23:00 AM

Пришлось использовать, так сказать, по назначению. Точнее, по одному из – восстановить “умирающую” машину.

Что-то я сделал такое нехорошее со своим ноутбуком – толи удалил что-то, толи поставил, толи выключил его неподобающим образом (4-секундной задержкой кнопки выключения, бывает такое), но факт в том, что система “заболела”. IE не открывался совсем, Windows Installer отказывался работать, заявляя, что части его нет, GTalk рисовал окошко но упорно в нём ничего не показывал, и т.д.

Мысль о переустановке windows меня угнетала (хотя, было время, любил я это делать, глупый был), а мысль о восстановлении системы вводила в замешательство по двум причинам: у меня на ноутбуке нет DVD-привода и как быть с установленными обновлениями?

Вот тут-то и пригодился WHS, ежедневно делающий backup компьютеров.

Сделал загрузочную флешку из WHS Restore CD (ну, так как DVD-привода-то нет), воткнул и стал ждать (медленная флешка у меня).

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

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

Ничего, подумал я. И полез с другого компьютера на WHS, чтобы открыть там бекап, залезть в папку Windows и, может быть, отыскать там нужный драйвер.

Однако, всё оказалось куда проще. В самом бекапе, оказывается, лежит папочка с говорящим названием и файлом readme, в котором написано: “вот тут все драйверы, которые могут понадобиться при восстановлении из бекапа”.

Скопировал их на флешку, воткнул – всё нашлось, заработало. Мастер восстановления только спросил, какой из домашних PC будем восстанавливать, и бекап от какого дня использовать. Я выбрал “позавчера”. Восстанавливал только раздел с Windows.

Через двадцать минут я получил “позавчерашнюю” машину, целёхонькую и отлично работающую. Только некоторые неважные файлы из папки Downloads потерял – она у меня запрещена для бекапа, ибо важные файлы качаются напрямую на WHS.

Оказалось очень удобно.

А ещё я нашёл такое дополнение для WHS, называется Time Traveler. Судя по аннотации оно обеспечивает версионность файлов, хранимых на WHS. Ну, то есть, если что-то нечаянно удалил, или перезаписал – можно откатить.

Дополнение платное, поэтому я его даже купил. И поставил. Сказал, чтобы следил за версионностью раз в сутки в 3 часа ночи. А в 11 утра обратил внимание, что он всё ещё “следит”. Что же оно делает, возник у меня вопрос.

Полез я смотреть и обнаружил, что эта штука поставила мне на систему SVN (или какого-то клона SVN) и пытается сделать check in всех папок, которые я разрешил для мониторинга версий. Конечно, я разрешил папку с фотографиями, которых я даже не знаю сколько. Гигабайт 300, может быть.

В общем, такой подход мне очень не понравился. Если бы я хотел SVN – я бы поставил SVN, простой скрипт, делающий check in раз в день, я бы тоже написать сподобился. И не надо мне парить мозги и разводить на деньги.

Отправил заявку на money back.

P.S. А оно ещё очень странно устроено. Судя по монитору процессов, оно вызывает svn.exe очень часто и в один поток. Пофайлово, чтоли, делают… Ужас какой.

P.P.S. А SVN тот ещё… Наделал во всех каталогах и подкаталогах своего мусора своих папок, начинающихся с точки, а убирать за собой и не подумал. Сижу, смотрю, как PowerShell чистит это <нехорошее слово>.

Tags:

Live | Other

1/3/2010 5:27:57 AM

Столлман побил Балмера с его “developers, developers, developers”. Думается, навсегда. Это просто слов нет. У него даже вид как у того мужика из Аум-Сенрикё.

Tags:

Other

11/25/2009 12:18:38 PM

А кто-нибудь знает какой-нибудь приличный софт для ручного письма на PC?
Ну, чтобы можно было заметки удобно делать и чтобы почерк распознавал прилично…

Стандарнтый Handwriting tool просто в юзабилити не слишком удобным показался. Если кто-то что-то пользует – то что именно?

[UPDATE] Далеко ходить не пришлось. Microsoft OneNote из Office делает всё, что надо, и даже больше. Приятно то, что он входит даже в Home & Student version, которая у меня и установлена дома.

Tags:

Other

11/16/2009 8:44:00 AM

14 часов в самолёте прошли незаметро, зря я боялся. Я их просто проспал. Причём уснул почти сразу, так что на ужин пришлось просыпаться. Потом снова уснул – и уже до утра. Когда проснулся, решил посмотреть “Ночь в музее-2”, но не успел досмотреть – приземлились.

Летел классом “экономи премиум”, там места между креслами побольше и кормят получше. К тому же дали нормальные наушники и “набор путешественника” – сумочку с зубной щёткой, пастой, бирушами, чем-то ещё.

Так что отдохнул, сытый и довольный сижу в номере отеля, который расположен прямо в даун тауне.
Даун таун по стилю жизни похож на Северный Сидней (North Sydney). То есть, жизни тут нет. Тут есть офисные здания, поэтому в выходные (сегодня воскресенье) на улицах просто нет никого.

Отель хороший, большой, состоящий из четырёх башен. Соответственно, четыре лифта: красный, жёлтый, зелёный и синий.
У меня шестнадцатый этаж (это ниже середины) с видом на небоскрёб. Номер однокомнатный, но большой, с рабочим столом и окном во всю стену, прямо как дома, только стена шире.
Балкона, правда, нет. Зато есть две двуспальные кровати. Размышляю, спать на одной или по очереди.

Всякие прочие радости типа телевизора, фена и утюга тоже есть.

Завтра в 7:30 подъём, завтрак и полный день треннинга по параллельному программированию.

Tags:

Live | Other

10/5/2009 7:37:00 AM

Свершилось, Microsoft наконец сделали релиз своего антивируса, о котором говорили уже достаточно давно.

Скачать можно отсюда: http://www.microsoft.com/security_essentials/

Правда, я ждал этой штуки для установки на мой Windows Home Server, а его в списке поддерживаемых ОС, к сожалению, нет (как и серверных ОС вообще)... Но если у Вас Windows XP SP2, Vista или даже Windows 7 - можно ставить!

7/31/2009 6:55:07 AM

Михаил затронул интересную тему в комментах к предыдущему постингу: задачи и ответственность некого “руководитела команды”.
В частности он говорил о том, что все наши “неудачи” в начале процесса связаны с плохим “руководителем команды”, а если этого руководителя нет, то “и не удивительно” :)

Тема мне показалась интересной, а утверждение – спорным. В частности и потому, что “неудачи” были успешно пофиксены, а “руководитель команды” так и не появился. Просто мы стали командой. И всё.
Поэтому давайте рассмотрим, что же это за позиция такая: “руководитель команды”? Позиция, кстати сказать, весьма распространённая.

Итак, в чём заключается роль “руководителя команды” (они любят называть себя ПиЭм, поэтому я тоже буду использовать эту аббревиатуру, хотя это неверно).

  1. Управление требованиями, приоритетами задач, функциональностью релизов.
  2. Прямое руководство командой программистов.
    Программисты находятся в прямом официальном подчинении у ПиЭм’а.
  3. Распределение задач между программистами, сроков выполнения этих задач, а так же отслеживание результатов.
  4. Поддержка формальной методологии разработки ПО.

Вроде на этом всё. Рассмотрим по пунктам.

Начать хочется с пункта 4, как самого интересного :)
Интересного в этом пункте то, что формальные методологии процесса разработки практически умерли, доказав свою неэффективность.
Перефразируя Ладыженского:
”Умер RUP.
Это много страшнее других смертей.
Обалденно стою
Над потерей потерь.”

То есть, найти в применении что-то, что не-agile сейчас действительно проблематично. А Agile – это уже даже не методология, а процесс… Тот же SCRUM, пожалуй один из самых распространённых в мире процессов. Тот же канбан, который, видимо, набирает силу (но к которому я отношусь с подозрением). Всё это происходит от того, что издержки от “тяжёлых” методологий велики.

“Тяжёлые” методологии умирают. Об этом же пишет Том ДеМарко, один из основоположников всего этого дела и автор книги “Controlling Software Projects: Management, Measurement, and Estimation”. Он в своей статье прямо пишет:

“In my reflective mood, I’m wondering, was its advice correct at the time, is it still relevant, and do I still believe that metrics are a must for any successful software development effort? My answers are no, no, and no.

В статье он называет самого себя “юным автором, которому нравились метрики” и заявляет о том, что всё это оказалось неверным.
Оригинал можно почитать тут: http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf
Перевод – здесь: http://bishop-it.ru/2009/07/softwareengineeringisdead/

В действительности, поддержка “тяжёлых” методологий – это достаточно большой и не нужный кусок работы.

Перейдём к пункту 3.
Имея на руках задачи (об этом позже), кто может сделать разбивку задач на технические “таски”, сделать оценку сложности работ, оценку приблизительного времени исполнения лучше, чем сама команда разработчиков? Некий “руководитель”, который придёт и скажет потом “Вася с Петей делают то-то, у вас неделя, Миша, Маша и Маня – вот это, у вас 8 дней”? Да не смешите, это не работает :) Но даже если это сработает с определенной поправкой (допустим, “руководитель” хорошо знает способности всех пятерых), то это всё равно не будет лучше, чем если бы это сделали сами исполнители.
К тому же, в подавляющем большинстве случаев, программисты знают код и архитектуру лучше, чем любой волшебный ПиЭм :) Поэтому оценки будут вернее.
Есть ещё один аспект: команда может перераспределять подзадачи внутри себя. Никакой “ПиЭм” ей для этого не нужен. А эффективность возрастает существенно по сравнению с тем, что Вася сидит и делает данный ему “свыше” таск – практика.

Кстати, о том, что “нет руководителя – неудивительно”. Когда команда принимает решение – это делает именно команда. То есть, несколько человек. В процессе обсуждения.
Если мы “выцепим” одного из процесса, фактически из той же команды, и заставим его одного принимать решения – риск ошибки и негативных последствий только возрастёт.

О контроле за процессом разработки. Тут даже говорить-то не о чем – весь контроль – это фикция, сводящаяся к назойливому ежедневному (хорошо если не ежечасному) “ну, как продвигается?”. Да невозможно узнать “как продвигается” лучше, чем знают это конкретные исполнители. И если дать возможность команде самоорганизовываться – она станет способна решать эти проблемы. Сама.

О пункте 2. Простой вопрос: зачем?
При отсутствии фигни из пункта 3 отпадает всякая необходимость и в этом.

Наконец, пункт 1.
Это очень важный и нужный кусок работы. Серьёзно. Но фишка в том, что он никак не связан с “руководством команды”. Это просто кусок работы, который должен кто-то делать. Этот “кто-то” не является руководителем, не находится ни выше, ни ниже тех же программистов и тестеров. Так же, как и последние две (программисты и тестеры), эти специалисты представляют собой независимую ветвь.
Важно: они ничего никому не приказывают, никакими программистами не руководят. Они организовывают требования, описывают их с точки зрения будущего продукта, определяют, в какой момент жизни продукта в нём должна появиться какая функциональность и т.д.
Поэтому этот пункт мы отбрасывать не будем.

Итак, у нас осталась разработка требований, которая с руководством не связана.
Теперь давайте посмотрим на типичную команду, имеющую “руководителя-ПиЭма”. Кто он?
В 90% случаев (я видел только таких, но пишу 90%, мало ли :)) это люди, которые работали сначала разработчиками, потом.. как это по-русски.. senior software developer, а потом типа “выросли” до ПиЭма. То есть – программеры-переростки :)
Что такие люди знают об управлении требованиями? Об управлении людьми (буде они таки собрались ими управлять)? Об управлении чем-либо вообще? Ни-че-го. Хорошо, если книжек про это почитают.
И это хорошо ещё, если этот человек таки действительно занимается требованиями. Ибо часто бывает, что требованиями занимаются другие, например, непосредственно менеджмент, или представитель заказчика, а такой вот ПиЭм является просто переносчиком информации (вопрос “как продвигается” остаётся в силе).

Теперь задумайтесь: “повышая” (а посути понижая) хорошего разработчика до такого вот “руководителя команды” мы:

  1. Теряем высококвалифицированного специалиста.
  2. Получаем неквалифицированного (низко квалифицированного) человека, занимающегося требованиями.
  3. Вынуждены платить большие деньги этому человеку на новой позиции.
  4. Теряем гибкость и чёткость работы команды именно как команды, а не как Васи, Пети, Маши, Миши и Мани, делающих то, что в данный момент велел “руководитель”. Поверьте, именно командная работа существенно улучшает конечный результат.
  5. Увеличиваем риск ошибки (одна голова хорошо, но две – лучше). К тому же, та же самая голова никуда и не девается.

Скрипач не нужен…

Получается, что гораздо выгоднее перейти на рельсы самоорганизации команды, сделать её именно командой, вернуть такого программера-переростка на место, получив обратно +1.5 к programming skills в комманде.
А для работы с требованиями программист не нужен. Достаточно усердного человека, хорошо разбирающегося в офисе с минимальными навыками в программировании на уровне сделать запрос в ACCESS или простейший макрос на Office VB, чтобы просто понимал, что за магию творят другие :)
И станет он разбираться в продукте с “внешней” его стороны, и станет он распределять приоритеты необходимой для релиза функциональности, и станет он описывать требования ну никак не хуже вышеописанного ПиЭма. :)

7/24/2009 5:56:39 PM

Подписали билды Windows 7 и Windows Server 2008 RC2. Следовательно, релиз состоялся. По плану и даже чуть раньше. Прогнозы “аналитиков” о том, что делать будут “аж до хрен знает когда, раз Висту так задержали” не оправдались.

7/24/2009 5:59:00 AM

Прислали ссылку: http://habrahabr.ru/blogs/silverlight/65191/

Почитал новость, потом комментарии к оной.
Самое смешное это, конечно, как всегда комментарии линуксоидов. “Я отнюдь не за распространение этой технологии”, как красиво и смешно сказано! Отож, призрак Microsoft маячит за “технологией”, ничего, что mono-ребята реализовывали всё open source и с нуля по спецификациям. И призрак этот ну просто откровенно мешает людям жить! Поэтому технологию, конечно, распространять не надо.
Смешно.

Причем проблемы себе создают сами.
- Попробуйте установить мунлайт? Работает.
- Какой дистрибутив, какой репозиторий?

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

По-моему же проблема ситуация формулируется гораздо проще даже безо всяких допущений, сгребём всех в одну коробку: не работает на одном проценте клиентских машин, у пользователей которые всё равно параллельно установлена виндовс в качестве операционной системы, куда они и переключаются, устав от бесконечного “администрирования” (ух, Линукс настроил, а что с ним дальше делать?) для решения реальных задач (от “поиграть” до “курсовик допинать”).
Решение проблемы ситуации: да и хрен с ними! :) У кого заработает (как они говорят “руки из того места растут”) – хорошо, остальные – хрен с ними. Ибо их всё равно в разы меньше чем тех, кто тупо отключает Javascript в браузерах. Статистически, а статистика - вещь упрямая. Поэтому глупо притягивать за уши HTML5+JS к Сильвер/Мунлайту.

P.S. Про призрак. Недавно прочитал, MS планирует опубликовать в основную ветку ядра Линукса несколько тысяч строк кода различных дополнений. Интересно, эти чистые душою и идеологией люди перестанут пользоваться некошерной и осквернённой веткой ядра? :)

P.P.S. Поставил Silverlight 3 на Mac OS X. Просто, ради посмотреть, как оно там живёт. Живёт оно точно так же: нажал кнопарь – установилось. Отлично показываются видеоролики и всё остальное. Про “репозиторий” и “дистрибутив” меня никто не спросил. Всё просто работает. И, что показательно, выбор между HTML5+JS и сильверлайтом делать не заставляют.
Бедные однопроцентники, даже жалко их :) Мыши плакали, кололись, но продолжали есть кактус, не иначе…

6/29/2009 12:20:12 PM

Ну вот, разобрался с последней “проблемой” WHS – сделал его тихим.

Купил такой вот кулер на eBay:

Scythe Infinity Scythe Infinity

“Scythe Infinity” он называется. Кулер, конечно, огромный, пропеллер, который на картинке – он 120-миллиметровый. Занял половину корпуса у меня. Сейчас подумал – винты добавлять будет проблематично, наверное. Снимать надо будет, а потом снова вешать, иначе, наверное, просто не запихаешь.

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

Итак, кулер стал бесшумным, диски на резиновых прокладках, а остальное (вентилятор на блоке питания и системный) почему-то не шумит совсем. Приятно. Захожу в комнату-кабинет, прислушиваюсь, стараясь уловить звуки жизнедеятельности WHS, но слышу только что-то с улицы :) Чего и хотелось.

Последняя “проблема” решена.
Ну, может еще придумать какую-то пластину, чтобы синий светодиод не светил по ночам (кто-то же догадался на черном корпусе подсветить кнопку “вкл” по кругу). Но поскольку в той комнате всё равно пока никто не спит (и вообще заходят редко), то в ранг “проблемы” это пока не попадает :)

6/24/2009 1:49:18 PM

Такую вот ошибку выдала сегодня Visual Studio. Ну, или Team Explorer, не знаю, кто из них:

successful error

Думал, такое в сказках бывает :)

Powered by BlogEngine.NET 1.6.0.0

About the author

Alexey Raga Alexey Raga
.NET software developer.

E-mail me Send mail

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Sign in