Archive - 2009

про пафосное образование

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

только что в google reader наткнулся на понятную картинку:

(сопровождающий текст тоже неиллюзорно доставляет)

интересно, а что же отцы-основатели гугля не спасают альма-матер?

странная история

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

это что, новое слово в телефонном маркетинге?
кто-нибудь в курсе?

очередное достижение майкрософта!

"Значки программ теперь располагаются в шестигранной сетке, а не квадратно-гнездовым методом."

пруфлинк (via screamager)

"Бесконечная лента команд, легко прокручиваемая пальцем." (пруфлинк)

революция в пользовательском интерфейсе, пацаны, я гарантирую это!

SmartStor NS2300N telnet access plugin

Решение по получению рутового доступа к SmartStor, описанное мной здесь, всем хорошо, кроме одного - конфигурация не сохраняется при перезагрузке (т.к. весь /etc/ смонтирован в ramdisk, а его содержимое по большей части генерится startup-скриптами).

Вместо того, чтобы модифицировать оригинальный софт, проще оказалось сделать application plugin (идея взята отсюда).

Плагин делает несколько вещей:
- подавляет автоматическую перезапись /etc/telnet.user
- разрешает пользователю admin доступ по telnet
- вносит пользователя admin в /etc/sudoers

Кроме того, плагин модифицирует конфигурацию AFPD для более корректной работы с Apple Time Machine.

Взять можно здесь, установить - через PASM или SmartNAVI (disclaimer: вы используете этот плагин на свой страх и риск, за потерянные данные, отказы в гарантийном обслуживании и другие сложности, связанные с использованием плагина, автор ответственности не несет).

Enjoy!

на дорогах осеннее обострение

вчера на ТТК видел на отрезке между Савеловским и Русаковской 4 (четыре) аварии, одна из которых представляла собой паровоз из 6 (шести) машин; еще был отличный вариант с двумя автомобилями, которые не смогли поделить две соседние полосы на съезде на Русаковскую, причем благодаря какому-то припаркованному справа от них деятелю съезд оказался наглухо перегорожен для всего что больше легкового автомобиля (автобус там проехать не мог, а две фуры, на радость всего окружающего трафика, сдавали из этого съезда назад).

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

мне надо было развернуться через въезд во двор. стою в левом ряду, с левым поворотником, жду разрыва в потоке. дальше события развиваются так:

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

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

мораль номер два: если в потоке вас пропустил один ряд, совершенно не факт, что это сделает другой (особенно если нет обзора!)

смешное

(без темы)

raped development

гугль по словосочетанию находит в основном опечатки, то есть видимо эту шутку еще никто не шутил

немного кухонной философии

[Cmd-Tab -> Safari]

почему все без исключения формальные процессы управления разработкой сосут big time, будучи применяемыми "в лоб"?

очевидно, потому что сама природа этой работы обладает слишком недетерминистским характером.

поясню.

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

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

в программировании творчество - это ключевая составляющая любого по-настоящему удачного решения. программные продукты остаются качественными до тех пор, пока делающим эти продукты людям ИНТЕРЕСНО делать их лучше. и выигрывать в бизнесе будут те, кто в состоянии сделать программистам интересно, так сказать, in a long run.

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

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

угадайте с одного раза компанию, в которой хорошо поняли этот принцип.

такие дела.
[Cmd-Tab -> Eclipse]

Apple TimeMachine + сетевой storage

чтобы заставить TimeMachine бэкапиться на любой сетевой сервер (обязательное условие: сервер должен иметь поддержку AFP), нужно сказать в терминале:

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

после этого все ресурсы, расшаренные по AFP, будут видны в настройках Time Machine и на них можно будет создавать резервные копии.

на практике может понадобиться еще предварительно создать образ диска в формате sparse bundle disk image, и скопировать его на место, т.к. на на линуксовых имплементациях AFP Time Machine не всегда в состоянии справиться с этим самостоятельно.

подробности (англ.) есть вот тут: http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-m...

по мотивам антисоветской шашлычной

если Митволь на Онищенко налезет - кто кого сборет?