Tuesday, December 30, 2008

С Новым 2009-м Годом!

Всех с Новым 2009-м Годом! Удачи, успехов, счастья и здоровья!

Happy New 2009 Year!

Впрочем, какой же это Новый Год без тоста? Итак, давайте поднимем бокалы...

Ну, какие бывают тосты? Например, вот такой:

К словам Генерального Секретаря об успехах 1970-го года могу добавить еще одно достижение: автор сего блога пошел в первый класс. Мама еще была жива, отец еще был молодой - немного старше меня сейчас, школьная форма был еще серая, но теплая (это где-то в 5-6-м классе ее сменили на синее х-б с нашивками на рукавах), а я верил, что и Украина, и Грузия, и Прибалтика - это все МОЯ страна. Забавно, но я по-прежнему могу приехать в любую из этих стран без визы.... хотя и по несколько другой причине. А через пятнадцать лет началась перестройка...

Так о чем я хотел бы предложить тост? Сейчас многие люди испуганы мировым кризисом, тем как он повлияет на их жизнь, где бы они ни жили - в России, на Украине, в США... Так вот, я хотел бы, чтобы мы все понимали и помнили, что, что бы там ни говорили "оптимисты", ХУЖЕ ЧЕМ В ПЕРЕСТРОЙКУ НЕ БУДЕТ! Главное - не унывать, худшее мы уже пережили. Как говорится, cheers! Будьте здоровы и веселы! И с Новым Годом!

Оригинал поста как всегда здесь...

Новогодние приколы: белый охотник и звонки в Россию

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

А оригинал как обычно на персональном блоге...

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

Snow steps

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

Snow traces

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

"Здравствуйте, меня зовут Ира. Я представляю телекоммуникационную компанию..." (очаровательный женский голос, по-русски, между прочим)

"Спасибо, но я звоню по скайпу..."

"Ну, если у вас с обеих сторон скайп, то да, это бесплатно, а когда только с одной стороны?"

"Два цента в минуту"

"А куда вы звоните?"

"Куда-куда,... в Россию. Я бы и в Израиль недорого нашел, но все уже в Штаты уехали..."

Нет, правда, я не понимаю, так трудно догадаться куда звонит человек, живущий в США, если ему можно продавать услуги на русском?

Wednesday, December 24, 2008

Всех, кто празднует сегодня - с Рождеством!

Погода будто рехнулась. Опять большую часть дня шел снег. Позавчера слепил снеговика на деке:

Саммамиш Рождество

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

Редмонд Рождество 2008

Кстати, эта дорога слева вверху - это 156-ая, одна из главных дорог Редмонда в обычное время почти всегда полная машин. А чтобы приехать пришлось надеть на колеса цепи, так что вспоминается амобилер сэра Макса, который они вместе с Мелифаро перевели на гусеницы:


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

- Не отвлекайтесь! - сказал Валентин строго. - Слушайте, что вам рассказывают. Это очень странно. - Он поднял рюмку, разом отхлебнул половину и продолжал: - Мы не знаем, что произошло с бедными хармонтцами в самый момент Посещения. Но вот один из них решил эмигрировать. Какой-нибудь обыкновеннейший обыватель. Парикмахер. Сын парикмахера и внук парикмахера. Он переезжает, скажем, в Детройт. Открывает парикмахерскую, и начинается чертов бред. Более девяноста процентов его клиентуры погибает на протяжении года: гибнут в автомобильных катастрофах, вываливаются из окон, вырезаются гангстерами и хулиганами, тонут на мелких местах, и так далее, и так далее. Возрастает количество стихийных бедствий в Детройте и его окрестностях. Откуда-то берутся смерчи и тайфуны, которых в этих местах не видывали с тысяча семьсот забытого года. Ну и все в таком же роде. И такие катаклизмы происходят в любом городе, в любой местности, где селится эмигрант из района Посещения, и количество этих катаклизмов прямо пропорционально числу эмигрантов, поселившихся в данном месте.
"Пикник на обочине"

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

Для тупых обьясняю: это была шутка. И вообще, оригинал на персональном блоге.

Зачем Китай покупает зеленую туалетную бумагу?

На одном из финансовых сайтов я увидел комментарий в стиле «Китайцы, что, не понимали, что это не может продлжаться вечно? Они принимали доллары, зная что они бесполезны. Они просто финансировали потребителей. Это ж глупо! Ну, и идиоты!» Для справки, китайцы – отнюдь не идиоты. Идиот – автор этого комментария.

Как обычно, кросс-пост с персонального блога...

Тем не менее. И правда кажется странным, что огромная нация принимала по сути необеспеченную валюту в течении 20 лет. Так что же деется, а?

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

Позвольте напомнить, что Россия и Китай – это два крупнейших обломка империи Чингиз-Хана, известного не только своей жестокостью, но и рядом очень прогрессивных идей, в частности, изобретением бумажных денег. Да-да, до этого бумажных денег не было. Так что сказать что Китай не знает, что такое бумажные деньги, мягко говоря самонадеянно. Они знают. Они их придумали. И, что еще более важно, они знают как их использовать. Позвольте пояснить.

К слову, если вы не в курсе, бумажные деньги действительно придумал вовсе не жуликоватый министр Франции в 18 веке (которого потом упорно ловили всей страной, пока он скрывался в Англии,... после чего его, впрочем, ловили уже в Англии..., но мы отвлеклись), а придумал первым бумажные деньги именно Чингиз-Хан.

Процедура были примерно такова. Завоевав значительную часть Евразии Чингиз-Хан (и его внук Бату) обложил всех данью, которую нужно было платить каждый год с удручающими последствиями в случае неплатежа. Одновременно, его войсковые части имели своего рода казначейские расписки, которыми те могли при необходимости расплачиваться за то, что не могли взять просто так.

И в общем, ничего необычного в этом не было бы. Случалось на завоеванных территориях сплошь и рядом. Разница в случае с Чингиз-Ханом состояла в том, что во-первых, расписки писались централизованно – в «казначействе», а не первым попавшимся офицером-десятником, а во-вторых, они были обязательны к приему сборщиками налогов – в счет дани. То есть ими можно было откупаться от мытарей.

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

Итак, да, примерно 20 лет китайцы производили товары для почти всего мира и брали в оплату за это доллары. Собственно, до этого это делали их «братья меньшие» - японцы. Да, внешнеторговый баланс США против Китая (и Японии) выглядел, мягко говоря, грустно. И да, бесконечно это продолжаться не могло. И выглядит так, что и не продолжится. Означает ли это, что китайцы были неправы?

Отнюдь. Во-первых, давайте не забывать, что любая купля-продажа – это по сути все тот же древний бартер. Только на стороне одного из товаров – кусочки бумажки измазанные зеленой краской. Ну, или какой другой краской, если речь идет не о долларах. Это очень важно. Когда вы продаете что-то, вы не продаете это за абсолютное значение, вы просто продаете его за другой, пусть даже и условный товар.

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

К слову, о монетаристах, доминирующих в финансовой сфере США с почти религиозным рвением, и долларе, воспринимаемом как самоценность, есть даже шутка. Как вы думаете, почему Федеральная Резервная Система, выпускающая американские доллары – это на самом деле система ЧАСТНЫХ банков? В смысле, почему это не делает государственный Центральный Банк, как в большинстве других стран? Все очень просто. Конституция США требует разделения Церкви и Государства!

Нет, правда, подумайте сами. Представьте себе, что вы купили рулон туалетной бумаги. И использовали его. Вы потеряли ценность туалетной бумаги? Отнюдь! Совсем наоборот. Вы ее получили. Наконец-то. Это все остальные потеряли ее ценность, продав ее вам. Это как раз то, что вам продали, правда?

Я уже упоминал, что китайцы изобрели бумажные деньги и знают как их использовать? За свои двадцатилетние усилия они купили тонны зеленой туалетной бумаги. И они ее использовали. Давайте взглянем, что Китай получил за то, что принимал к оплате продукцию издательства «Федеральная Резервная Система США»:

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

И это неполный список. Ну, что, кто-нибудь еще считает китайцев глупыми? Скорее уж тех, кто выпускал доллары, хотя эти-то парни считают себя самыми умными... или там хитрыми. В общем, то, что в английском называется хорошим словом «smartass». Я бы перевел, но это еще менее политкорректно... да, вы и сами справитесь. В общем, не придумывайте. Внуки Чингиз-Хана знали что они делали.

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

Кстати, насчет обрушивания, оно, конечно, произойдет. Но подумайте. Учитывая сколько других правительств бросится на опережение... Почему? Подумайте сами. Если доллар обрушится, американский экспорт станет конкурентоспособным, а всякий европейский-китайский-японский-индийский-гватемальский импорт в США – нет. Как говорят в Одессе, оно им нужно? Япония уже обьявила, что выпустит йен на порядка 500 миллиардов долларов по нынешнему курсу. А евро думаете куда денется? А как вы думаете, Китаю внешний курс юаня хоть на что-нибудь нужен?

А теперь подумайте. Когда все больше правительств мира с криком «Банзай!» бросает самолет своих национальных валют в пике, это еще большой вопрос, чей курс будет относительно высок.

Кстати, в России сейчас есть тенденция бегать кругами и кричать, что рубль потеряет свою стоимость. Вот только... подумайте, оно кому нужно? Российскому правительству после перестройки уже более менее все равно. Основной источник доходов – нефть и газ – деноминированы отнюдь не в рублях. Причем сильный рубль даже интереснее, поскольку так легче сделать его региональной валютой. Европе? Зачем? Как уже упоминалось, контракты на газ и нефть в долларах, а не в рублях. Америке? Зачем? Ей важнее курс доллара пониже держать.

Экономика очень странная наука. В ней, кто-то обычно должен быть серьезно заинтересован в событии, чтобы оно произошло. В общем, не слушайте идиотов. Нынешнее падение рубля – это не падение рубля, это временный рост доллара. Я не скажу, что падение рубля невозможно. Россия не раз делала невозможное. Думаю, еще не раз сделает. Я только говорю, что сейчас это НИКОМУ НЕ НУЖНО.

В общем, не теряйте духа. С Рождеством и Новым 2009-м Годом!

Sunday, December 21, 2008

Глобальное потепление - где я могу получить свою долю?

Да-да, знаю, уже достал этой шуткой... но все же! В Сиэттле обещают минусовую температуру со снегом чуть ли не до Нового Года. Такого невесть сколько времени уже не бывало.

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

Issaquah, Barnes & Noble window view

А по свеженаметенному снегу на заднем дворе раньше времени прибежали еноты за жратвой и обиженные ушли...

Следы енотов 

А дома - сосульки под крышей

Саммамиш, сосульки 

Тепло, уютно, огонь в камине...

Fireplace 

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

---
Кросс-пост с персонального блога...

Как (не) работает свободный рынок – Часть 6. Частичное резервирование (fractional reserve)

В реформы Рузвельта также входила третья важная составляющая – частичное резервирование.

Помните, как происходил кризис перепроизводства? Все деньги стекались с Питу, а у Джо ничего не оставалось. А банковский кризис? Это когда деньги Пита сотню раз давались Джо в долг и в результате Питы считал, что у него сто долларов на счету, хотя это он просто сто раз положил на счет один и тот же доллар и в экономике просто не было достаточно наличности, чтобы обеспечить «богатство» Пита.

Да-да, кросс-пост с персонального блога...

Частичное резервирование требует, чтобы банк держал в наличности (или чем-то близком к наличности) 10% депозитов и только 90% мог пускать обратно в оборот в форме кредитов. То есть на каждые 10 долларов депозита, банк должен запересть в большом сейфе как у дядюшки МакДака один доллар, а 9 может отдать в долг. Если вы подумаете, то это означает геометрическую прогрессию с коэффициентом 0.9, а сумма геометрической прогрессии с коэффициентом меньше единицы конечна. То есть, с первого заработанного Питом доллара банк даст в кредит $0.9, когда они вернутся в банк, для кредита будет доступно только 0.9*0.9=$0.81 и т.д. Если вы еще помните формулу суммы геомертической прогрессии, то легко сосчитаете, что в результатет на каждый доллар выпущенный правительством в экономике появляется $10. Что, конечно, тоже пузырь, но все-таки пузырь терпимых размеров, когда можно оценить сколько в случае чего будет нехватать и подготовиться к проблеме. Например, страхованием вкладов.

При бесконечном пузыре страхование вкладов практически нереально. Сами подумайте, если на каждый доллар в экономике Питы могут накопить миллион, произведенный из паршивых долгов, то сколько же надо брать с каждого доллара за страховку? А если только десять, то все уже можно сосчитать. Добавьте ограничение на максимальную застрахованную сумму и, если не жульничать, то все становится более-менее управляемым. Конечно, «не жульничать» - это очень сильное условие для свободного рынка... В Америке страхованием депозитов занимается FDIC – Federal Deposit Insurance Corporation, которой все банки должны платить небольшую мзду с каждого депозита, и которая выплачивает вкладчикам в пределах максимума, если банк банкротится.

    К слову, это действительно работает. Я, например, пережил по крайней мере два банкротства банков – причем отнюдь не во время нынешнего кризиса, в которых у меня были счета, и для меня разница была лишь в том, что в какой-то момент на чеках моего счета оказалось имя другого банка, которому отдали счета. А пару дней назад я даже открыл новый счет в свежеобанкротившемся банке, поскольку он предлагал очень хорошие условия для перевода денег в Россию. Впрочем, человека, пережившего перестройку, вообще трудно чем испугать. Ну разве что... лозунгом предвыборной компании Обамы был «Hope for change», уже после его победы я задумался, что слово «перестройка» лучше всего переводится на английский как «change»…

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

До недавнего времени банковская система работала и каждый выпущенный доллар плавно и нежно раздувался до десяти за счет того, что его (отложив каждый раз 10%) опять и опять выпускали в экономику давая кому-нибудь в долг. Что это означало? Это означало, что если правительство выпустило, скажем, N зиллионов зеленых, то в экономике оказывалось 10*N зиллионов. Денежная масса в экономике обладает неприятным свойством – ее должно быть ровно столько, сколько на рынке товаров и услуг есть товаров и услуг, которые хотят купить те, у кого есть деньги. Если это не так, то происходит инфляция или дефляция, поскольку бумажные деньги – этот тот же товар, и если его много, он дешевеет, если мало – дорожает.

Теперь где-то во второй половине 2008-го утверждается, что банки впали в панику и перестали давать в долг. Если честно, я не уверен какова была истинная послседовательность. Если вы следили за моими статьями, то должны были видеть заметку об отчете №666 (тоже мне, выбрали номер, шутники...) от Федерального Резервного Банка Минессоты, утверждавшего, что этого на самом деле не происходило. Так что не исключено, что сначала все завопили, что банки не дают в долг, а потом уж банки и сами испугались и перестали давать в долг. Что это означает? Это означает, что в экономике сбалансированной на N*10 зиллионов зеленых (и имеющей товаров на эти деньги) неожиданно оказалось только N зиллионов. Ну, поскольку процесс оборвался в середине, может быть не N, а N*5 или там N*7, но суть все та же – денег оказалось резко меньше. В переводе на русский это называется дефляция. Ну, а когда начинается дефляция, давать деньги в долг становится неинтересно, поскольку деньги сами собой растут в цене просто лежа в сейфе, в то время как любые активы, в том числе и ценные бумаги – например, долговые обязательства фирм под их активы – падают. Так что система переходит в состояние, когда банкам уже не только страшно, но и экономически невыгодно давать в долг, и экономику «заклинивает». Кстати, примерно так началась Великая Депрессия.

Должен заметить, что я выше изложил относительно «официальную» версию, которую скармливали публике. Лично у меня она вызывает сильные сомнения, особенно в связи с упомянутым докладом #666, но я привел ее как отличную иллюстрацию нестабильности денежной массы в зависимости от функционирования и уровня доверия к банковской системе.

Что по моему скромному мнению произошло на самом деле, это то, что «дефляция» отражает в первую очередь падение цен на нефть и недвижимость. Падение цен на недвижимость вызвано тем, что куча ипотек «сгорела» и банки остались с домами на руках, которые надо продать, чтобы вернуть деньги. А когда на рынке оказалось много домов на продажу, да еще после раздутых пузырем цен, они, конечно, начали резко падать в цене. После большого количества ипотек «в красном» (кстати, это не банкротство, в большинстве штатов вы можете просто отдать банку ключи от дома и сказать, что не можете платить, а если вы не отдали ключи и не платите, то опять же банк не может заставить вас пойти на банкротство, он может только отобрать дом – это называется foreclosure) началась паника насчет американской экономики. Паника подорвала пузырь фучерсов на нефть, которые и держали ее цену на необоснованно высоком уровне.

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

    Помните старый анекдот про двух новых русских? Один говорит другому: «Хочешь вагон цветных металлов за пять тон зеленых?» «Хочу!» Ударили по рукам. Один пошел искать пять тон зеленых, другой пошел искать вагон цветных металлов.

    Так вот, несмотря на все шутки про «бизнес по-русски» именно так работают товарные фьючерсы в США. Встречаются два банка на бирже, один говорит «Хошь сколько-то там баррелей нефти по Х баксов за баррель через шесть месяцев?» «Хачу!» Только в отличие от новых русских первый не идет искать нефть, а второй не ищет баксы. Поскольку фьючерс – это право купить. То есть, покупатель сразу платит небольшие деньги за контракт, а через шесть месяцев решает использовать его или нет.

    Расчет покупателя в том, что если через шесть месяцев цена будет X+Delta, то он может положить себе в карман дельту. А если нет, то не так и много потерял. Причем нефть ему вообще не нужна, он просто продаст контракт тому, кому он нужен по цене X+Delta/2 и они вместе поделят прибыль. Причем он даже не обязан ждать шесть месяцев, если цена вырастет достаточно, он может продать контракт задолго до этого.

    А цена вырастет, поскольку тот, кто продал контракт тоже не спешит покупать нефть, поскольку не знает, воспользуется кто его контрактом или нет, и что он будет делать с этой нефтью, если не воспользуются? И он прав, поскольку фьючерсов на рынке болтается куда больше, чем потребность в нефти. Так что ему проще купить у кого фьючерс по цене чуть ниже, если получится. А чтобы цена была пониже, покупаешь фьючерс и тут же выпускаешь свой по той же цене плюс маржа. В результате, народ начинает увлеченно перепродавать друг другу фьючерсы на нефть по все возрастающей цене как акции МММ при Ельцине. А поскольку реальную цену на нефть определяют по фьючерсам (поскольку к моменту, когда нефть надо перегонять в бензин и продавать на бензоколонках, она вся уже давно продана и перепродана), то спеуляции на рынке фьючерсов приводили к росту реальной цены на нефть. Вот такой вот пузырь. А как народ понял, что экономике США скоро будет плохо, и нефти потребуется куда меньше, пузырь, само собой лопнул. Насколько мне известно, ни одного Мавроди пока что еще за это не посадили, ну посмотрим, может Обама решится.

    Хотя надо признать, что России этот пузырь был чрезвычайно выгоден. Что же касается ОПЕК, то они дошли до столь полного изумления от этой пьянки, что в какой-то момент сказали нечто в духе: «Не, не будем повышать производство. Мы производим достаточно. Разбирайтесь со своими спекулянтами.»

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

В общем, такое ощущение, что экономику США (а вместе с ней и мировую, читали мою статью «Ноев ковчег глобальной экономики»?) совершенно сознательно обвалили, и все это вызывает назойливое чувство дежа вю... Вы не читали «Кто спер мой СССР?» Особенно по делу звучит там часть «Николай Рыжков – человек укравший советский рубль.»

Но опять же возвращаясь... С планом Полсона в банки накачали уже порядка 250 миллиардов наличности (первый транш из 700 миллиардов по TARP плану), но поскольку банки эти деньги не дают в долг, то и на денежную массу в обороте они не влияют, и доллар застрял в дефляционной фазе. Вообще, рестартовать экономику накачивая деньги в банки, которые не дают в долг это очень смешная идея, с таким же успехом их можно складывать в большой сейф и надеяться, что это справится с дефляцией. С одной очень несмешной разницей. Банки не хотят давать в долг, но они МОГУТ начать давать эти деньги. И как только появится угроза инфляции, они будут ВЫНУЖДЕНЫ это начать делать, поскольку при инфляции наличность «сжигается», как вы все отлично знаете по личному опыту.

То есть все эти миллиарды наличности зависли над нами в виде мощных темно-зеленых кучевых облаков. И пока они не выпали в виде осадков, у нас внизу «засуха» - дефляция. Но как и с облаками, достаточно одного триггер-события и пойдет дождь. Ливень. Как я уже писал в «Ноев ковчег глобальной экономики» очень трудно сказать о какую точку бифуркации система споткнется, их в экономике, как и в гидроаэродинамике, очень много. Но как только это произойдет, разверзнутся хляби небесные и вместо Великой Депрессии мы получим Великий Потоп. Причем под «мы» я подразумеваю не только Америку. Заметьте, что как только банки начнут давать в долг, 700 миллиардов, которые планируется в них накачать по плану Полсона за счет мультипликатора, описанного выше в статье, превратятся в СЕМЬ ТРИЛЛИОНОВ зеленых. Отгадайте с трех раз, к чему это приведет? Вот это-то я и имел в виду, говоря о нестабильности экономики и денежной массы даже при всего лишь 10-кратном мультипликаторе.

Конечно, и это можно было бы предотвратить. Вопрос только станут ли? Конечно, никому при гиперинфляции мало не покажется. Лично мне (и всем остальным, живущим в США) вряд ли будут так торопиться повышать зарплату, а расходы буквально на все от продовольствия до электричества и бензина будут расти, при том что плату за ипотеку тоже никто не отменит. В общем, придется вспоминать навыки, обретенные в конце 80-х – начале 90-х. Россия и страны экспортеры нефти столкнутся с резко упавшим спросом на энергоносители и падением реальной цены на них. Китай обнаружит что продавать свои товары окажется очень трудно, и окажется с переросшей промышленностью на руках и потенциально сотнями миллионов людей без работы. Про Европу я уж и не говорю, евро им разумеется придется тоже как-то обрушить. А Япония уже вчера обьявила, что впрыснет в свою экономику йен на 500 миллардов, видимо пытаясь обогнать США в плане падения курса своей валюты. В общем, банзай!

Однако, есть несколько причин по которым правительство США может не так уж и возражать против всего этого сценария.

  • Огромный долг как правительства, так и населения США в долларах. Инфляция этот долг частично сожжет. В общем, как я иногда отвечаю на форумах на злорадные замечания насчет грядущей инфляции в США, «У вас деньги были в подушке, а у меня – в ипотеке.»
  • Пузырь недвижимости поднял цены на дома и коммерческие здания на нестабильную высоту. Падение этих цен только началось и будет очень болезненно по ряду причин (например, если цена банка падает ниже суммы ипотеки, банк начинает дергаться и может попробовать забрать дом, а «владелец» дома может предпочесть оставить дом банку, чем платить за него 30 лет цену, которой он уже не стоит. Результат – еще больший обвал рынка недвижимости и углубление банковского кризиса.) Инфляция подгонит доллар под уже существующие цены и позволит избежать падения цен.
  • Гиперконцентрация капитала, которая в центре любого кризиса перепроизводства «свободного рынка», даже если он припудрен банками, резервной системой, налогами и прочее, будет  уменьшена, поскольку деньги будут сгорать в основном там, где их много.
  • Импортные товары подорожают, американские товары подешевеют. Опять станет выгодно шить джинсы в Северной Каролине и собирать машины в Детройте. Хотя, учитывая что ждет Китай и Индию, это еще не столь определенно.
  • По поводу последнего замечания вспоминается мультик про очередного супергероя, что-то вроде «Капитан Америка». Нехороший диктатор говорит ему: «Только Америка могла произвести такого идиота как ты!», на что герой гордо отвечает: «Да, и это мы делаем лучше всех!» Основной риск инфляции состоит в том, что капитал начнет утекать из страны в места с более благоприятным состоянием экономики. Но как всегда вам необязательно обгонять льва, достаточно обогнать других, которые от этого льва убегают. В случае если «везде плохо, но у нас лучше всех» американская экономика может по-прежнему оказаться самым привлекательным местом для инвестиций. В конце концов, инфляция сжигает деньги, а не активы. А уж сделать так, чтобы у всех было плохо – дело техники. Поссорить Россию и Украину, Европе при этом тоже мало не покажется, устроить разборку в Пакистане, чтобы Индия не скучала, Китаю, кстати, тоже будет интересно, да и Тибет можно освобождать до Второго Пришествия, страны ОПЕК все равно ничего кроме нефти делать не умеют, а Бразилия и сама себе проблем придумает.

В общем, что будет – это к гадалкам. Но шансы велики, что ничего против Великого Зеленого Потопа делать не будут. Тем более, что депрессия в США тоже никому не нужна – ни Китаю, ни России, ни Индии, ни Европе, ни ОПЕК... Почему пузырь доллара и надували так долго и увлеченно всем миром.

Поцелуй

Кросс-пост с персонального блога...
---

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

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

Одного, врочем, не хватает. У него – особая участь. И как это случается, что когда дело доходит до полного дерьма, всегда можно надеяться только на самого лучшего, самого умного, самого талантливого... и самого верного. Безоговорочно верного. Верного до конца.

А и правда, на кого? Вон Сёма дрыхнет. Уж на что надежный мужик, даром что ли мы его Кремнем прозвали. Такой трижды споткнется, плюхнется мордой в грязь, а все равно, подымется и пойдет дальше. Камень, одно слово. Лучший из лучших. Не считая того, одного, конечно. Он бы и сделал, что нужно, да только как же без него остальные потом? Распадутся, растеряются... нужен он, нужен... чтобы всех вместе держать, когда меня с ними не будет.

А вон, Матвеюшка лежит. Мешок свой обнял как девушку и посапывает счастливо. Правильный мужик. Это для него главное – чтобы все правильно было. Думаете у него хлеб в мешке? Как же... записки! Из тех что «пусть рушится мир, но торжествует закон». Одна его предыдущая профессия чего стоит... Тут или полной сволочью надо быть, или свято верить, что так и надо. А ведь, как понял, что так не надо, ни секунды не колебался. Собранные деньги на дорогу бросил и за мной пошел. Что значит, «как надо». Но ему такую задачу не доверишь. Ему понять надо, почему так правильно. А вот с «понять» - у него непросто. Как поймет – тут его упряжкой быков с места не стронешь, настоящий человек, не торгует собой. Но ему нужно, чтоб мир был просто устроен. Понятно. А сложности – это не для него. Это и без него разберутся. А он лучше потом запишет, для грядущих поколений. И запишет, сомнений нет. И много добра этим сделает. Так что, пусть уж пишет.

А вон, Ваня, младшенький... Тоже гуманитарий. Этому лишь бы в книжках покопаться. Ну, или пописать свои книжки, в надежде, что кто-то через годы их читать будет. Книжник, одно слово. Хороший парень, кстати, молодец. Умница. Только молодой еще, умствующий. А как до практики... В общем, пусть уж тоже книжки пишет – так от него больше пользы.

Или вон, Зёма. Тоже хороший мужик, слов нет. И практичный. Знает, что делает. Только горячий, черт... Ему только намеки, он же такое устроит, потом ввек не отмоешься. Одно слово – зилот. Этому и предлагать такое без толку, все знают как он попов ненавидит. Они ему и не поверят. Все ему бы «взвейся да развейся». Дай ему волю, он «кишкой последнего попа последнего имперца удавит». И тут же расстелит мне плащ на троне Иудеи, залитом свежей кровью...

Как им обьянить, таким правильным? Мы уж больше недели в Вершалаиме, и все как будто так и надо. Казалось бы, после того, что мы в Храме устроили, всех должны были стражники схватить, а вот нет. Пришли, тупо поглядели по сторонам и ушли, как будто так и не увидели никого.

Зло, оно еще и столь бессильно, когда до дела доходит... Не всякого дела, конечно. То, на что стражники тренированы – там купца обобрать или избить кого попало – это пожалуйста. А чуть интеллект требуется, скажем конкретного небогатого человека найти, откуда ж у них интеллект при такой работе? Уж насколько попы меня ненавидят, а схватить не могут. Хотя вроде бы уж давно решили. Бред... Просто сомнабулы какие-то. Деградировали. Вообще ни на что не способны.

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

И сдаться им нельзя. Потому что, пример неправильный. Не должно добро сдаваться. А все равно, что суждено, тому быть... Вот только, кто сделает, что суждено? Нужен кто-то, кто злу не продался... Чтоб в нашем слое вселенной был.

Небо засветлело на востоке в предчувствии грядущей зари... Он уж небось поговорил с попами... Точно... вдали показалось движение. Группа. Один иудей и несколько стражников. Идут, не шумят... иудейские стражники не носят на себе металла как римляне. Те же самые обноски, как и на всех остальных, плюс шлем, щит и там копье, или меч, если повезет кому.

Подошли... Он идет ко мне. Подходит. Поднимает глаза.

«Учитель, я сделал как ты просил», – тихо шепчет он, чтоб никто не услышал, – «Но ты ведь шутил, ты уйдешь от них, правда?»

Несчастный. Бедный мой ученик. Лучший. Единственный, кто понял, что нужно... Как же ты после этого будешь?

Он смотрит на меня, раскрывает руки для обьятия. Бедный ребенок... Прижимается ко мне, дрожа, плача, потом поднимает глаза и целует в щеку... Прощальный поцелуй сына отцу... Я глажу его по волосам, прижав к груди, уже не пряча слезы. Бедняжка. Как случилось, что именно его я должен был отдать на заклание??? Лучшего... самого понятливого...

А он, теперь отстранившись, смотрит на меня молящим взором... безмолвным криком широко раскрытых отчаянных черных глаз...

«Боже! Ты же можешь! Пожалуйста! Тебе ведь только захотеть!

ДА МИНУЕТ ТЕБЯ ЧАША СИЯ!!!»

Thursday, December 18, 2008

Белое рождество

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

А на улице красота... Уже сантиметров пятнадцать навалило, скоро будет больше:

Sammamish White Christmas

Sammamish White Christmas 

Из прочего, недавно пришла наклейка за service pack 1 Windows Home Server. Как говорится, мелочь - а приятно.

WHS SP1 Shit-It!

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

 Template-driven XML signatures plaque

Это патент мы зафайлили еще в Webdata примерно в 2001-м году. Патентный оффис вот только-только закончил рассмотрение и выпустил патент. Скоро еще одна такая придет, тоже из тех дальних лет.

Еще вчера посмотрел документальный фильм "Кто убил электрический автомобиль?" Если вы не знали, в 1996-м General Motors выпустило ограниченную партию полностью электрических автомобилей и протестировало их в Калифорнии и Аризоне. Машина имела ограниченную дальность - порядка 100 миль (обычная машина проезжает миль 300 без заправки, а то и больше), но в остальном ее пользователи (именно пользователи, а не владельцы - машина была доступна только в долгосрочную аренду-лиз) были от нее в восторге. Тем не менее как только Калифорния отказалась от своего "Clean Air Act", все эти электрические машины были отозваны и в основном пущены под пресс. Увидел в фильме много интересного. Например, как вы думаете, кто купил технологию батарей для электрического автомобиля? Нет, не производители ноутбуков, не производители наладонников, не производители батареек и аккумуляторов. Угадайте еще раз? Шеврон!!! Ага, это, конечно, стратегически важная технология для нефтяной компании...

Кросс-пост с персонального сайта...

Sunday, December 14, 2008

Социальная система Соединенных Штатов на пальцах

Капитализм? Ага! Как же...

По хорошему и подробно я опишу это все позднее. Со ссылками на классиков и деталями теории. А пока версия для публики. Так сказать, "на пальцах", или там "for dummies". В общем, вот видео:

Ну, да, кросс-пост с персонального...

Для не владеющих SOAPBox, YouTube link http://www.youtube.com/watch?v=HsZCt3uopEU

Friday, December 12, 2008

Эта земля - их земля (обзор книги)

This Land is Your Their Land: Reports From a Divided Nation by Barbara Ehrenreich – Metropolitan Book, 2008, 235 p. ISBN 0-8050-8840-7

Кросс-пост с персонального блога...

Barbara Ehrenreich известна своей более ранней книгой Nickel and Dimed, в которой она описала жизнь американцев, живущих на минимальной зарплате – официантки в ресторане, клерка в универмаге, кассира на автозаправке. Причем описала она это на своем опыте, потратив изрядное время на сбор материала действительно работая на всех этих работах и пытаясь свести концы в с концами на нищенскую зарплату.

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

С другой стороны, если вы и так в курсе всего этого, вам может слегка затошнить от концентрации всего этого материала. И что самое противное, если посмотреть на Европу или Россию, то как говорил Иа-Иа, «Так и знал, с этой стороны ничуть не лучше...» Утешает лишь то, что эти победы паразитов случались в истории регулярно, начиная с Египта и – особенно – Вавилона, и каждый раз было плохо, но потом рано или поздно приходило оздоровление, за исключением случаев, когда уничтожалась страна в целом. Но последнее всегда требовало одного из двух условий:

  • Наличие внешнего врага, желающего завоевать страну, что становилось фатальным, когда влияние паразитов подрывало способность страны к обороне, часто предварительно сопровождавшееся военными авантюрами.
    Примеры: завоевание Египта персами в 525 до н.э., поражение Афин спартанцами в Пелопонесской войне (404 г. до н.э.), захват Рима визиготами в 410-м и вандалами в 455-м, более поздним примером является поражение Франции и захват ее Германией во Второй Мировой несмотря на преимущество в количестве и техническом вооружении войск, отступление СССР в первые два года Великой Отечетсвенной, которое хоть и не уничтожило страну, но привело к временной потере значительной территории)
  • Предательство верхушкой национальной элиты, зараженной паразитами: завоевание Египта Римом при Цезаре и Августе (Клеопатра), французские монархи после Наполеона, держащиеся на русских, австрийских и английских штыках, Февральская Революция в России в 1917-м приведшая к ликвидации монархии, ну, и, конечно, сладкая парочка Горби-ЕБН в СССР.

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

Sunday, December 7, 2008

Как стать хорошим программистом (часть 4. Extra): влияние на межличностые контакты

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

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

Да-да, тоже с персонального блога...

Плотность информационного канала

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

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

Чтоб далеко не ходить, приведу пример. В Америке в большинстве фирм регулярно происходят митинги, посвященные пеп-ток. Это такой американский вариант политинформаций с пропагандой компании или группы в которой ты работаешь, обычно посвященной мудрости менеджмента, осуществляющего очередное изменение оргструктуры и пересаживавние медведей и мартышек между музыкальными инструментами. Так вот, на таких митингах лично я обычно физически начинаю отключаться через 15-20 минут, через 10, если я пытаюсь слушать о чем они говорят... Нет, правда. Глаза начинают слипаться и появляется риск треснуться лбом об стол...

Другой пример: некоторые читатели говорят, что им здорово мешает обилие вводных, междометий и прочих неинформативных элементов в моих статьях. Так вот, я этому сознательно учился, и знаете почему? Если вы принадлежите к этой группе читателей, возьмите любую мою статью, которая вам нравится, и попробуйте убрать все эти вводные и неинформативные слова. Мой опыт показывает что у подавляющего большинства людей от подобного текста просто заклинивает каналы обработки информации. Знаете как иногда с компьютерами бывает – процессор утилизован на 100%, диск крутится как сумасшедший и ничего не происходит. Не шучу.

Это еще сильнее заметно в устном общении. Если вы не уделяете спецально внимания общению с обычными людьми, то обьяснить свою точку зрения и «продать идею» менеджменту часто оказывается практически невозможно. Их информационные каналы просто не рассчитаны на концентрацию, с которой изьясняетесь вы. Нужно ли обьяснять, насколько это осложняет вашу жизнь и карьеру? Лично мне пришлось в свое время потратить немало времени, чтобы научиться искусству оценки собеседника и выбора правильного уровня речи в презентации своих мыслей.

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

Бартер лжи

«Fidelity to reality» - «верность истине», о которой я уже писал, имеет целый ряд отрицательных последствий для социальных контактов. К сожалению, целый ряд социальных взаимодействий основан на лжи или по крайней мере на приятии лжи. Любой пеп-ток, пропаганда всегда основаны на этом. Очень часто отношения людей включают в себя элемент лжи. Еще более часто способность вписаться в какую-нибудь очень полезную в плане карьеры или денег структуру вроде КПСС или американского корпоративного менеджмента основана на способности искренне и убежденно врать. Про более приземленные примеры вроде продажи витаминов, средств похудания или там новой информационной системы заказчику я уж и не говорю. Знаю-знаю, сейчас раздадутся возмущенные голоса. Да, вы часто и сами верите в то, о чем говорите, во многих случаях это требование. Вам действительно нужно верить в мудрость вашего сегодняшнего менеджера, иначе очень трудно глядеть на него восхищенными глазами молодой студентки, когда он лепит горбатого про бизнес-цели вашей организации. И это делает ситуацию еще хуже. Поскольку врать себе – еще хуже чем врать другим.

Я уже обьяснял, что программирование не терпит вранья. Если вы пытаетесь соврать компьютеру, вы получаете баг, вот все. Что приучает вас к тому, что это занятие не только бессмысленное, но и сугубо вредное. Но в человеческом общении сплошь и рядом случаются противоположные ситуации. Как неверие в коммунизм мешало в карьере в СССР, так неверие в великую миссию унитазов с компьютерным управлением помешает вашей карьере в американской фирме, производящей оные унитазы.

Причем, мне кажется, что трудности с верой в ложные утверждения у хорошего программиста даже глубже, чем реакция компьютеров на баги. Честно предупрежу – это лишь моя теория, но лично мне она кажется правдоподобной. Такое ощущение, что в некоторых науках, дизайне сложных систем и программировании человечество достигло пределов эксплуатации нейронных сетей человеческого мозга. Если нейронная сеть используется на 1%, как, например, в профессиях вроде уборки мусора, вы можете лгать и верить в чушь используя остальные 99% мозга и ваша способность убирать мусор от этого не страдает. Когда нейронная сеть используется на пределе, у вас нет этой роскоши. Как только вы перестаете отличать правду от лжи, вы перестаете отличать баг от фичи, потому что вы используете одни и те же нейронные цепи. Продолжая аналогию, если у вас в ящике с инструментами лежит микроскоп и молоток, то вы можете забить молотком гвоздь, и микроскоп по-прежнему будет работать. Если у вас весь ящик занят большим микроскопом, то забейте им гвоздь, и он станет бесполезен как микроскоп. Он просто сломается. Это то как ложь действует на человеческий мозг. Большинству хватает ломаного микроскопа в голове, программисту, если он хочет быть хорошим программистом – нет. Уверуйте в развевающееся знамя, программу партии, WMD в Ираке или мудрость корпоративного менеджмента, и ваш код станет хуже.

Опять же, это лишь моя теория.

«Надо»

Третий и последний пример, о котором я хотел бы написать, это слово «надо». В программировании нету отдельностоящего слова «надо», он всегда сопровождается дополнением отвечающим на вопросы «Зачем?», «Для чего?» или «Почему?»

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

X = 5; // Присвоить переменной X значение 5

With надо использовать, чтобы гарантировать вызов Dispose().

Автопойнтеры полезно использовать, чтобы не было утечек памяти.

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

Дело в том, что к сожалению, большинство мемовирусов устроено так, что они активно используют слово «надо» и программируют свои носители на агрессию на вопрос «зачем?» Попробуйте спросить националиста с окраин бывшего СССР зачем ему его «маленькая но независимая». Попробуйте спросить новообращенного христианина зачем верить в Бога. Попробуйте спросить алкоголика зачем он пьет. Далеко не всегда мемовирусы вредны – некоторые из них являются симбиотами, которые помогают носителю. Здравый патриотизм обеспечивает поддержку и создание среды, в которой легче жить всем. Воздержание от «нечистой» свинины предотвращало отравления в жарких странах. Но в любом случае, «надо» без ответа на вопрос «зачем» плохо лезет в голову программиста, а вопрос «зачем» очень часто оканчивается агрессивной реакцией.

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

Например, если ваше дите требует новую видеокарту. Разумеется, это «надо»! Вы, разумеется, спрашиваете «зачем». Вы просто хотите услышать полную версию, вы не понимаете что такое «надо» без обьяснения зачем. Вам может даже вполне устроить ответ «потому что хочется!» или там, «у меня без нее игрушка не идет!» Более того, на второй ответ вы можете заставить ребенка разобраться точно, чего именно не хватает и что именно нужно – поскольку теперь понятна цель и понятен критерий. То есть вы могли бы продолжать и сделать то, что от вас хотят. Что непрограммист слышит в ответ – это то, что вы не хотите купить видеокарту. Дальше в зависимости от отношений в семье вместо ответа на ваш вопрос начинаются игры, чтобы вас уломать, что не только не отвечает на ваш вопрос, а вообще запутывает его до состояния когда вообще ничего не понять. А учитывая то, что непрограммисты не страдают fidelity to reality, то Роулинг отдыхает, дите обижается, а вы получаете лишнюю головную боль.

Вот такое вот вредное слово «надо»...

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

Friday, December 5, 2008

Как стать хорошим программистом? (часть 3 из 3). Обратная сторона Луны

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

Да-да, кросс-пост с персонального...

Писатель или литературовед?

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

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

Пример 1: Строки в С++. Строки бывают простые, широкие и мультибайтные. Но это еще ничего, поскольку можно в команде договориться использовать только широкие и тогда преобразования будут требоваться достаточно редко. Но есть еще несколько представлений строк. Есть стандартные С++ строки, кончающиеся нулем. Есть VB-style строки с длиной перед указателем на строку (и нулем в конце). Есть STL строки, которые работают как нормальный автоматический объект, хотя и со своими тараканами. И есть ATL строки, которые претендуют на то же, что и STL строки.

Каждая из них имеет свои проблемы. Кончающиеся нулем С++ строки считаются одной из двух главных причин всех багов в программах на С++ наравне с указателями и адресной арифметикой. VB строки были бы не так плохи, но их необходимо аллокировать одним и тем же способом, иначе вы запутаетесь как их освобождать. А в ряде случаев вы обязаны их аллокировать как глобальную память, то что вам всегда придется так делать. А размещение глобальной памяти – это очень дорогая операция. Особенно для такого популярного обьекта как строка. STL строки в общем не так и плохи, если не считать того, что они тянут за собой всю STL библиотеку. Что в ряде случаев нежелательно. А главное, как только ваш проект начинает ее использовать, незрелые умы в вашей группе тут же начинают использовать и другие обьекты из оной библиотеки – они и правда очень удобные. Что кончается тем, что вы обнаруживаете свой продукт в тестовой лаборатории завесившим всю машину и использующим 100% процессора. Есть такой таракан в  STL. Ну, а уж если вы вляпались в ATL...

Что в этой картине самое поганое, это то, что как только ваш продукт начинает взаимодействовать с платформой и другими компонентами, вы оказываетесь вынуждены использовать чуть ли не все четыре представления и конвертировать их из одного в другое направо и налево. Win32 использует в основном С++ строки с нулем в конце, COM и WMI часто требуют VB строк, а многочисленные левые компоненты, которые вы подобрали, чтобы не изобретать велосипед, запросто могут потребовать STL и ATL строк.

Пример 2: Media Foundation. Это такой новый фреймворк на нашей фирменной горной вершине дабы играть аудио и видео медиа. Выглядит как набор API, где все необходимые источники, парсеры, трубы, дешифровщики, размазыватели по стенкам (как правильно перевести «rendeder»?) соединяются вместе в полной гармонии и дружной работе по проигрыванию того или иного мультимедийного формата. Причем вы можете (теоретически) просто имплементировать еще одну компоненту, скажем, декодер или источник для определенного формата, и он должен магически начать работать. Ну, то есть буквально магически, поскольку вам еще придется поплясать вокруг костра с бубном – записать куда надо в регистр правильные ключи, правильно оформить DLL,... Один из наиболее впечатливших меня па в этом танце и соло на бубне является то, что вам придется писать в практически полной COM системе, имплементируя на каждом вашем объекте IUnknown со всеми причандалами для ref counting и правильного управвления циклом жизни этих объектов, но при этом сам COM не используется. То есть как бы, all pain, no gain. Просто мазохизм какой-то.

Поневоле вспоминается бородатый анекдот про водителя и феечку. Стоит на обочине дороги водитель и грустно смотри на свою машину, у которой отвалилось колесо. Пролетает мимо феечка: «Чего делаешь?» «Да, вот, с колесом #$%^&*!» «А хочешь по-настоящему?» Водитель взглянул на феечку, симпатичная... «Ну, хочу.» Взмахнула феечка волшебной палочкой, и у машины отвалились остальные три колеса. Такое вот «настоящее» программирование.

Так вот, это все – не то ради чего вы пришли в программирование. Это как если  вы стоите на лесной тропинке и брезгливо оттираете подошву кроссовки об опавшую листву, мысленно матеря на все лады любителей собак... или там, создателей платформ. К слову, если кто решит по этому поводу покритиковать Windows, рекомендую поглядеть на Java и Java 2 – тоже очень большой и очень популярный у любителей собак лес. Вы еще помните (оттирая подошву об опавшую листву) AWT? В общем, «учись сынок, а то так и будешь всю жизнь ключи подавать...»

Если вы не в курсе, имелся в виду анекдот про двух сантехников, мастера и помощника. Вызывали их на прочистку, весь подвал залит понятно чем, мастер ныряет, ученик сидит на лестнице, ждет. Через пару минут мастер выныривает и кричит «Ключ номер десять!» Ученик подает, мастер ныряет, еще через пару минут раздается бульканье и содержимое подвала уходит вниз в канализацию. Мастер подходит к ученику, стряхивая кусочки того, что только что плавало вокруг, и говорит: «Учись, сынок, а то так и будешь всю жизнь ключи подавать...»

И чем больше кода написано в мире вашими предшественниками, тем больше времени у вас занимает именно это, а отнюдь не написание нового кода, делающего что-то полезное.

Рынок труда

Вообще-то, в плане рынка труда программистам грех жаловаться. В кризисы, когда фирмы увольняют направо и налево, им все равно нужно чтобы работа делалась. Соответственно, ее перекладывают на компьютеры, что приводит к новым проектам и новым рабочим местам для программистов. В условиях нынешнего кризиса, начавшегося в октябре 2008-го, правительство Британии считает, что в следующем году им потребуется на 100,000+ больше программистов, чем в этом году (цифра приблизительная, точнее она выглядит ближе в 150 тысячам, но поскольку точно не помню, то и врать не буду). А когда кризис проходит, все это добро по-прежнему надо сопровождать, развивать, да еще и стратапы появляются.

В общем, я в курсе, что очень много программистов на Восточном побережье США, особенно бывших работников Citi, Wachovia, Washington Mutual со мной не согласятся, но все-таки по сравнению с другими профессиями мы в относительно хорошей форме. С одной стороны сборщикам машин на конвейрных линиях в Детройте или там шахтерам после закрытия завода или шахты остается только прямая дорога в систему общепита – жарить картошку и гамбургеры. Неудачливым или начинающим адвокатам и врачам тоже на самом деле несладко – доходы падают, а конкуренция растет, поскольку все новые толпы молодежи рвутся в эти профессии, думая, что там всегда будет медом намазано. Менджеры низшего и среднего звена вообще никому не нужны. В программировании таких проблем нет.

Конечно, есть некоторая массивная конкуренция со стороны программистов-иммигрантов из Индии и Китая. Но это все равно не сравнить с конкуренцией, которую испытывают между собой скажем выпускники-юристы. Да и ситуация меняется. Многие из них уезжают обратно на родину, либо не найдя работы, либо найдя дома лучшую работу в пересчете на местные цены. Чтобы понять масштаб явления, оцените следующий не очень относящийся к делу, но показательный факт: в 2008-м примерно два миллиона мексиканцев добровольно покинуло США и вернулось домой, считая, что в Мексике у них лучшие шансы на работу и нормальную жизнь. Причем, речь идет отнюдь не о программистах. Оценили?

Так что программисты из Индии и Китая - это скорее больше проблема для начинающих российских программистов здесь, которые еще не понимают культуры других народов. Как только вы начинаете понимать культуру китайцев, индусов, британцев, латиноамериканцев, румынов, и собственно американцев, оказывается, что большинство ваших коллег – отличные ребята и девчата, к которым вы начинаете испытывать искреннюю симпатию, даже если и несогласны с некоторыми их инженерными решениями. Вонючки, ясное дело, тоже иногда попадаются, но где их нет? В общем, конкуренция с программистами из Индии и Китая не такой уж большой фактор. А если вы хотите быть программистом в России, то и тем более неактуальный.

Однако, есть один фактор, который полезно понимать. Это то, что рынок труда программистов начинает структуироваться. И большая часть рынка труда на самом деле предназначена не для лучших, а для средних, а то и посредственных программистов. Так что большая часть того, чему вы научитесь на разных курсах или из тех же книжек, которые я упомянул раньше, вам не пригодится. Я уже упоминал, что за все время жизни в Штатах я только несколько раз написал сортировки, причем только один раз по работе, а остальное время так, для удовольствия?

Самое смешное, что интервьюировать-то вас будут все равно по-серьезному, а вот работа будет куда примитивнее и часто скучнее. Виноваты в этом часто сами программисты, которые проводят интервью. IT менеджеры просто вынуждены полагаться на их мнение, а наши собратья по профессии из средней категории часто отличаются полным отсутствие чувства меры. Так что гоняют вас на должность чуть ли не архитекта, а потом вы рисуете формочки. Причина простая. «Недоделанные» программисты обычно очень гордятся кусочками знания, которые им все-таки довелось получить, и поскольку эти кусочки разрозненные и случайные, то спектр вопросов, который вас ожидает на интервью в средней фирме, фактически очень широк. Куда шире, чем одолели бы те, кто проводит с вами интервью. В общем, вас наймут как микроскоп, и тут же начнут вами забивать гвозды. Это не очень приятно.

Смежный эффект происходит по той же причине: когда у «недоделанного» программиста в голове хорошо проработан один кусочек знания, он часто становится религиозной темой для него. Скажем, работал я с один товарищем (кстати, и правда товарищем – он из Китая), который хорошо знал уже упомянутый MF, и все делал в его стиле. Одна нить, все объекты в стиле COM, все операции асинхронно с обратными вызовами через IMFAsyncResponse... И любой программист, который так не делал, воспринимался им как плохой программист. И попробуйте угадать в первые несколько минут интервью, какие тараканы рулят в голове вашего собеседника? Причем, если вы умеете это делать, может вам лучше не в программисты, а в психиатры?

Никак не забуду один случай еще в конце 97-го – начале 98-го года. Я проходил интервью по телефону в фирме в Чикаго. Интервьюер очень хорошо знал MFC и очень гордился этим, так что и вопрос был по теме:

«А что вы сделаете, если вам нужно засунуть сто тысяч элементов в listbox?»

«Я не буду засовывать сто тысяч элементов в listbox.»

«А если заказчик требует?»

«Я поговорю с заказчиком и обьясню почему это неправильно.»

«А если он настаивает?»

«Тогда я сделаю в лоб, и покажу ему что это не работает. А потом сделаю без этого огромного listbox с какой-то навигацией...»

«А если он все равно настаивает?»

«Можно просто сделать в лоб, поскольку тут уж все равно. Машина – железная, она может и потянет, а пользователь, сидящий перед экраном – нет.»

Ребенок на самом деле хотел услышать ответ, что можно повесить обработчики событий на движения списка и динамически добавлять-убирать элементы из него. Решение, к слову, идиотское сразу по нескольким причинам – для начала слайдер сбоку listbox начал бы вести себя очень странно, попасть в нужную точку списка быстро было бы серьезной проблемой, а уж о дисковых операциях на кручение слайдера вверх-вних и думать страшно (поскольку сыр-бор был в первую очередь из-за того, что весь список не лез в память), но я даже не стал это обсуждать. Ему не было никакого дела до заказчика или пользователя. Вот MFC – это вещчь! В общем, я быстро понял, что туда не хочу, и чувство это было взаимным. Но это – прекрасная иллюстрация к тому, что интервьюировать вас нередко будут как раз не настоящие программисты, а полные идиоты.

И главное, это то, что я уже сказал. Нет так много хороших программистов и нужно в экономике. Да, есть заповедники гоблинов вроде MS или Гугл. Хотя и количество этих островков сокращаются. Sun явно идет на закат, IBM того гляди вообще всю разработку выставит в Китай и Индию, Intel и Motorola уверенно идут той же дорогой, только еще часть работ выводят в Россию... Есть некоторое количество консалтинга. То есть консалтинга много, а вот консалтинга, требующего хороших программистов так себе. Еще в хорошие времена есть стартапы. Ну, в общем-то и все.

В общем, пройти интервью вам это поможет, а насколько вы сможете задействовать свой потенциал – вопрос открытый.

Социальный статус

Не знаю, каков социальный статус у программистов в России, но надо понимать, что в целом программисты – это «синие воротнички» с высокой зарплатой. И обращаются с вами соответственно. Если в России вы работали в науке или преподавании, в университетской среде, то получали вы может и очень немного, но ваша свобода как в распоряжении своим временем, так и в направлении исследований была несравненно выше. Даже если вы подрабатывали консалтингом и проектами на стороне. А свобода – это один из важнейших показателей социального статуса.

Уйдя в программисты, особенно программисты в Америке, все это меняется. Это работа по найму. Это рабочий день с 9 до 5 (а то и с 9 до 9). Это подчинение менеджменту. Это партсобрания, пардон, team meetings, на которых вам втюхивают, как вам повезло и какая классная группа, команда, фирма, на которую вы работаете. Причем делают это так фальшиво и неубедительно, что даже если вы в это и верили, то начнете сомневаться. Это не говоря о том, что вам это будут втюхивать даже если ваша фирма делает цифровые контроллеры для унитазов. Кстати, вероятно полезная штука, но очень неудобный объект для пропаганды. Вас может не клеймят как скот, но периодически выдают футболки с лого фирмы или вашего продукта. В принципе, опять же, это даже и неплохо, но все равно что-то где-то в глубине души... как бы это сказать... шкрябает...

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

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

Если не в курсе: Подъезжает новый русский к заправке, рядом стоит панк с зелеными волосами. Тот спрашивает, а что с волосами-то? Панк отвечает, ну, чтобы отличаться. Новый русский тыкает себе в грудь и говорит: «Видишь, пиджак? Тыщу баксов стоит. УМОМ НАДО ОТЛИЧАТЬСЯ!»

К слову, я не пытаюсь вас отговорить от программирования. Просто насколько могу честно рассказываю о некоторых не столь широко известных аспектах этой профессии. И если вы внимательно посмотрите на другие профессии, то скорее всего будет как сказал бы Иа-Иа, «Так и знал. С этой стороны ничуть не лучше.»

 

Tuesday, December 2, 2008

Как стать хорошим программистом? (часть 2 из 3)

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

Да-да, как обычно, с персонального блога...

Для начала, поздравляю, вы уже удовлетворяете первому требованию к хорошему программисту. Вы не только пытаетесь что-то сделать, вы еще и критично все оценили, убедились, что вам это действительно нужно, и точно знаете причину. Хороший программист просто обязан выпить стакан-другой крови PM'а (менеджера, архитекта, аналиста, или кто там обьясняет вам, что надо делать). И вовсе не потому, что это вам или ему продлит жизнь, даже в полную луну. Скорее наоборот. Но зато вы будете ПОНИМАТЬ что же вы делаете и зачем. А это означает, что ваш код будет делать то, что нужно пользователю. Для справки, я уже писал, что происходит в обратном случае. То есть, когда программист не понимает, что надо. Посмотрите историю блога.

К слову, это кажется очень простым требованием. Это не простое требование, это только вам так кажется. Мы все привыкли толковать движения ушами и хвостом, как в «Повести о ходже Насреддине», а затем верить в то, что наши фантазии -  это святая правда. Как бы вы ни истолковали, вы от этого не станете визирем, а ишак – принцем. И хороший программист знает, что каким бы ослом ни был заказчик, толковать движения его ушей нельзя – нужно чтобы он сам сказал, что хочет. И если в консалтинге, где заказчик еще и сам платит деньги, приходится идти на компромиссы (аккуратно прикрыв предварительно пятую точку), то уж когда заказчика представляет работник вашей собственной компании – будь то PM, архитект, или там, «аналист» – тут уж точно необходимо переквалифицироваться из легковерного Агабека в папу Мюллера.

Что приводит нас ко второму обязательному университетскому курсу для профессии программиста, называемому «Как стать занудой». Да-да, вы уже догадались? Это шутка. Подчеркиваю, ШУТКА. Нет, не шутка в смысле статьи, для программирования это и правда нужно. Шутка, в том смысле, что такого курса не бывает. Не, правда. Ни в одном университете такого курса я не видал. Вот сходил на Гугл – и правда, нет таких курсов. И вообще, этому не учат в университетах...

Ладно, в тексте блога быть занудой на самом деле необязательно, но это все равно не знание, это – черта личности, которая будет переть из вас где надо, и где не надо. Вообще, вам приходилось слышать фразу «программист – это не профессия, это диагноз»? Упомянутое письмо включало примечание вроде: «Я даже могу принять такой ответ как «Стать программистом нельзя – им надо родиться!»» Так вот, стать программистом можно! Врожденная склонность, равно как и неаккуратные няньки, стукающие младенцев головой об перила, бывает помогают, но само программирование – это не врожденное, это благоприобретенное. Ну, как другие состояния психики, кончающиеся заботливыми руками санитаров. Хорошая новость в том, что состояние психики именуемое «программист» столь полезно обществу, что вместо санитаров и обитой войлоком комнаты вас сажают в обитый тканью кубик и используя особенность заболевания, приковывают вас к тихо шуршащему ящику, переливающемуся яркими красками монитором, мышке и прямоугольному устройству с множеством кнопочек, которые можно нажимать в таком разнообразном количестве комбинаций... Причем приковывают не буквально, а просто знают, что от этой игрушки вы никуда не денетесь. А подающим признаки выздоровления вроде меня всегда можно дать 3-4 таких ящика, желательно разных (пару под Вистой, один под Windows Server, один под XP, один Мак, и один Xbox в версии для разработчкиов – ну, да, обычный Xbox – это для программиста слишком скучно). Такое практически детерминированно заканчивается острым рецидивом весьма полезным для общества, фирмы, и даже счета в банке самого больного. Могу подтвердить. В общем, никто не в обиде.

Собственно, точность и занудность – это просто две стороны главной стороны личности программиста, которую я называю fidelity to reality – верность реальности. Не «правде», не «истине», а именно «реальности». Не тому, что написано на развевающемся знамени, а тому «как на самом деле». И опять же, это не университетский курс, это свойство личности. Не врожденное, благоприобретенное, но тем не менее свойство личности, которое будет видно и во всех остальных областях вашей деятельности. Во всех областях вашей ЖИЗНИ. И это будет мешать. Серьезно будет. Ваш единственный шанс вписаться в организации вроде Коммунистической Партии Советского Союза (а также менеджерской структуры любой американской корпорации) – это воспринять реальность как еще один восхитительный компьютер, который надо запрограммировать. Но добравшись до этого состояния вы, скорее всего, потеряны для программирования, поскольку программирование человеческих сообществ после программирования компьютеров – это как гоночный автомобиль или самолет после механической колымаги от Тойоты или General Motors. Количество адреналина и серотонина просто несравнимое. К слову, а макроэкономика (в рамках стран и мира), если вы не обращаетесь с ней как профессиональные экономисты (дойная корова, способ развести лохов в правительстве на вашу липовую модель), а как программист («как это на самом деле?») – это как космический корабль из StarWars, StarTrek или там Babylon 5.

Обращаясь к автору письма: вы, должно быть, разочарованы. Вы спросили меня о практических советах, а я тут о свойствах личности рассуждаю. Нет, чтобы по-простому, делай раз, делая два, делай три... Но в том-то и дело, что программист – это в первую очередь свойство психики, если вообще, не состояние психики. Я, конечно, говорю о хорошем программисте. Рисовать формочки все это не нужно. Берете месячный курс C# и .Net или там Visual Basic – и вперед. Ни одного настоящего программиста вы не обманете, но такие тоже нужны. В общем, никаких проблем. Даже не раз-два-три, а ррраз, и программист! В общем, если это то, что вам нужно – вперед, и дочитывать этот пост ни к чему. А пока вернемся к настоящему программисту.

Кстати, изменение своей собственной психики кажется далеко не простым делом, но трюк в том, что от вас и не требуется его делать самостоятельно. Нет-нет, никаких университетских курсов. Изменения происходят сами собой по мере того как программирование затягивает вас как наркотик. Fidelity to reality не воспитывается заботливыми гувернантками или профессорами, оно – результат вашего общения с компьютером в роли программиста. В реальной жизни есть много причин предать реальность, и обычно они все сопровождаются кратковременными наградами. В программировании каждый раз, когда вы предаете реальность, вы тут же получаете столом по морде. С полного размаха. Компьютер ляпов не прощает. Компьютер тупой и исполнительный, он делает ровно то, что вы сказали, даже если ваше махание ушами и хвостом не должно было это означать. И это происходит изо дня в день, из месяца в месяц, из года в год. И вы привыкаете к мысли, что ваша вера в то, что вы написали все правильно не имеет никакого значения, и каждый ваш ляп вылезает тут же и нелицеприятно. По крайней мере пока вы не приучились делать только ОЧЕНЬ мелкие ляпы. К чему компьютер и приучает вышеописанным методом очень и очень эффективно.

К слову, еще одна черта воспитываемая компьютером в программисте, это твердая вера, что КАЖДАЯ ПРОГРАММА ИМЕЕТ ХОТЯ БЫ ОДИН БАГ. Это означает знание, что сам ты тоже в чем-то неправ, о чем бы ни шел разговор, и способность продолжать действовать и не впадать в истерику по этому поводу. Правда, общение с простыми смертными часто приводит к убеждению, что они-то вообще почти во всем не правы. К этому вас приучает даже не компьютер, а сами простые смертные, компьютер лишь приучает вас это замечать. Тоже, как понимаете, не самая лучшая черта в плане социальных навыков. Хотя обычно помогает то, что вы в основном общаетесь почти исключительно в обществе программистов, на которых (после многолетнего мордобития со стороны компьютеров) это правило к вашему удовольствию не распространяется. В смысле, они не всегда неправы, а только так, изредка, баг проскакивает. В общем, выражение «тараканы в голове» приобретает несколько новую и очень конкретную форму.

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

Некоторые сравнивают программирование с сексом. И знаете, в этом есть изрядная доля правды. По крайней мере на стадии хакера. К слову, публика считает «хакеров» какими-то исключительными программистами. Это неправда. Хакер – это как раз начинающий программист. Своего рода личинка программиста. Освещение в прессе и инциденты с хакерами обычно связаны как раз с тем, что их квалификации еще не хватает, чтобы получить нормальную работу программиста, а программировать хочется, поскольку они от этого получают тонны удовольствия, вот и программируют что попало вплоть до компьютерных инфекций. С начинающими в сексе тоже такое случается. Это уже потом случайных dial-up'ов начинает нехватать, и приходится все-таки тратиться на DSL, а то и T1, кому как повезет. Кстати, заметили что от программирования и секса я перескочил на Интернет. К слову, того же поля ягода...

Можно неполткорректный анекдот? Луг, стадо коров, холм, на вершине холма старый здоровый бык и молодой бычок. Бык флегматично жует траву, а бычок прыгает вокруг и с интересом приглядывается к коровам у подножия холма. Подпрыгивает к быку и кричит: «Дядя бык, дяда бык, давай быстро-быстро сбежим с холма и проявим интерес к той ЧЕРНОЙ коровке?» Бык, продолжая жевать, флегматично отвечает: «Не-е-е...» Бычок прыгает вокруг еще и подскакивает с альтрернативным предложением: «Дядя бык, дяда бык, давай быстро-быстро сбежим с холма и проявим интерес к той РЫЖЕЙ коровке?» Бык, продолжая жевать, опять флегматично отвечает: «Не-е-е...» Так повторяется несколько раз. Наконец, бычок спрашивает: «Так, дядя бык, а что ж мы будем делать?» Бык перестает жевать, вздыхает, и отвечает: «Мы медленно-медленно сойдем с холма и проявим интерес ко всему стаду!»

Это к слову, о разнице между хакером и профи, если не поняли.

Ну, и теперь к самому конкретному вопросу в том письме. Какие курсы взять? Хотите честный ответ?

А НИКАКИХ!

Представляете себе такое письмо от бычка: «Дядя бык! Я тут листаю PlayBull и надеюсь когда-нибудь перейти к настоящему сексу. Какие курсы в местном университете и какие сертификации вы посоветуете?» Никаких. Начните общаться с коровками (в случае бычка), девушками (в случае секса) или с компьютером (в случае с программирования). И старайтесь каждый день чуть продвинуться вперед. Ну, там, сегодня пуговку расстегнуть, завтра руку куда засунуть... Если вы IT admin (это я о все о программировании, если вы запутались в моих сравнениях), напишите скрипт там на Питончике, shell или Перле. Потом крохотную программку на C# или C++, которую этот скрипт вызовет. Поучаствуйте в каком-нибудь конкурсе плагинов. Скачайте онлайн библиотеку для персональных нужд. Естественно, программой, которую сами написали. Походите по программистским форумам. Знаете, как начинающие ребята в баре, хвастающиеся своими постельными подвигами. Ну, и так далее. По ходу дела сами увидите какие университетские курсы или сертификации вам нужны. Заодно убедитесь, что как правило лучший способ выучить язык – это начать писать на нем. Ни один курс лучше этого не поможет.

Ну, и в общем и целом, конечно полезно быть в курсе таких университетских предметов как некоторый обьем математики (ставит мозги), вычислительной сложности и алгоритмики, физики и электроники (чтобы знать как эта штука у вас под столом работает, а также быть способным понять изрядный спектр задач во встроенных системах), физики и механики (для тех же нужды, плюс тоже ставит мозги). Короче, хороший университет в области математики, физики, или электроники помогает. Что вы и сами наверняка знаете. Но если возраст уже не тот, чтобы потратить пять лет в хорошем университете (вроде мат-меха Петербургского Государственного, который, как вы понимаете, мой любимый), то просто делайте как описано выше, и заполняйте дырки по мере обнаружения. Все равно ваша карьера в программировании именно так и будет работать – заполнение дырок по мере обнаружения. Как говорится, «век живи – век учись, все равно дураком помрешь.»

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

Список Сергея:

Список Вадима (то же место):

Sunday, November 30, 2008

Как стать хорошим программистом? (часть 1 из 3)

На самом деле я уже писал об этом. Вот здесь, или еще более широко, вот здесь. Но недавно пришо письмо примерно следующего содержания: «Здрасьте, я классный сисадмин, но всегда мечтал стать программистом. Посоветуйте, как это сделать? Ах, да, ответить можете на eldar.com» Нет, письмо было значительно длиннее и подробнее, и в конце была просьба не публиковать его, посколько «оно – глупое». Хм-м-м... Ну, из уважения к автору, письмо не публикую и его имя не упоминаю, но...

К слову, это как обычно,
пост с персональног блога...

Во-первых, позвольте сразу пояснить.

Письмо – не глупое. Письмо – очень умное. Человек знает, что он хочет, и спрашивает совета у тех, кто это уже сделал. 90% населения нашей планеты (подозреваю, что на самом деле что-то вроде 98%) до этого не додумались бы. Ну, или скажем так, на практике не додумываются. Нет, правда, подтверждено на наблюдениях. Так что, первый совет – отбросьте ложную скромность. В конце концов, один из необходимых шагов для хорошего секса – это раздеться, а программирование неоднократно сравнивалось с этим исторически любимым способом времяпровождения наших предков. Если сомневаетесь – подумайте сами: ни один из ваших предков без него не остался.

Во-вторых....

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

Итак, вы – успешный сисадмин. Рассматривая вашу фирму как отдельную вселенную, вы – Бог. Ок, ок, ну, не "Бог", а так, бог, вроде Гефеста, поставляющего молнии Зевсу. Ну, или там, Верхоный Жрец Бога. Глава фирмы трепещет от ваших аббревиатур, финансирует ваши расходы, поскольку они позволяют уволить больше работников, и никто не понимает, что же вы делаете, кроме программистов, этих пеонов от клавиатуры... Ок, ок, если ваша фирма большая, то CIO – это Бог, а вы один из его жрецов. По-прежнему, ваша красная книжечка с гербом КГБ или там символом Озириса позволяет вам решать, что должно делаться, а что не должно.

Ну, да, да, я приукрашаю... но все-таки! Если посмотреть на наиболее перспективные профессии 21 века, что из статей ACM, что ректрутинговых сайтов вроде «монстра» или «лестницы», что обзоры на экономических сайтах вроде MarketWatch, все – одно. Да, админы и программеры в числе перспективных профессий, но админов больше.

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

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

Не, правда. Есть такая хорошая пословица: «От добра добра не ищут.» Чем же вам так не нравится работа сисадмина? Нет-нет, я не спорю, может у вас и есть хорошая причина для этого. Я просто ОЧЕНЬ серьезно вам советую задуматься, А ЕСТЬ ЛИ ОНА, ЭТА ПРИЧИНА? Или это просто блажь и дань моде?

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

Friday, November 28, 2008

Заметки из индейской резервации – 4

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

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

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

Пока было светло, дите из соседней «кабины» - это так они называют местные избушки, которые сдают в наем – упорно болталось перед широченными окнами сводя на нет все ощущение приватности. Дите, кстати, во многих отношения занятное. Девочка лет 10-12 одета в джинсы (несмотря на холодный ветер и несомненно с какими-нибудь шерстяными колготками под ними), сапоги (а отнюдь не кроссовки), непромокаемую курточку из капрона с подкладкой (до сих пор такую помню!) и вязаную шапочку из-под которой торчат традиционно длинные светлые волосы. Сопровождает дите бабушка с недовольной миной на физиономии и тоже одетая согласно представлениям советской публики годов этак 70-х. Кроме них в кабине папа и мама, папа темноволосый с начинающей лысиной, мама, способная обращаться с ноутбуком. Вечером, все семейство включая бабушку, уселось вокруг ноутбука – очевидно смотрят кино. Да, я упомянул, что здесь телевизоров нет? В общем, начинаю задаваться вопросом, не слишком  ли я активно рекламирую это место на своем русском блоге...

Утром следующиего дня проснулся, продрал глаза, и поехал на мой любимый третий пляж...

Дошел до конца, сфотографировал водопад... По дороге увидел множество ручейков, которые стекают с материка на плаж – не даром эти места называют «дождевой лес» - rainforest.

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

А сегодня, через четыре дня прогуливаясь по пляжу я увидел странное зрелище. Два существа, как будто придуманные моим любимым французским режиссером Люком Бессоном, сами себя поперек шире, в мешковатых джинсах размера 60-го, кроссовках и необьятных бесформенных толстых не то куртках, не то рубашках, словно скрывающих по ними скафандры иноплатетян, вышли на пляж, каждый с палкой для ходьбы, как будто земная гравитация прижимала их к песку и гальке... Передвигаются медленно, с трудом. Как будто каждый шаг требует вдумчивого решения – а стоит ли его делать? А через несколько десятков метров на берег выползли еще двое – не то сестры, не то супруги, не то мать с взрослым сыном... Тех же необьятных размеров, тоже опирающиеся на палки, но еще и ветронепроницаемых куртках с капюшонами натянутыми до кончиков носов, чтобы никто не мог взглянуть на их лица и убедиться, что это не пришельцы из других миров...

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

Или вчера на трейле столкнулся с парой. Он тоже худощавый, бородатый, подтянутый лет тридцати-сорока. Она немного его моложе, красивая, ухоженная, с огромными глазами славянки, в совершенно неподходящем для леса изящном и марком пальто в стиле греческой хламиды, но из теплой шерсти ярко-бежевого цвета, которое я скорее ожидал бы увидеть на улицах какого-нибудь европейского города, а не в диком лесу американского северо-запада. Тем не менее оба довольные до ушей. Припарковались в начале трейла идущего на Второй пляж мы почти одновременно, но я специально задержался, чтобы дать им убежать вперед. Где-то посередине встретился с ними идущими обратно, и мужчина не удеражался от того, чтобы к обычному «Hi!» не добавить восторга от увиденного вида. Пришлось обьяснить им, что если они хотят, то могут проехать чуть дальше, и сходить на Третий пляж, где они еще и на песочек выйти смогут. Поскольку в этом момент был прилив, а на Второй пляж выйти было невозможно, только посмотреть на океан с огромных бревен, накопившихся у выхода с трейла. Я-то об этом заранее был в курсе, еще днем раньше на этих бревнах с комфортом расположился и устроил себе маленький пикник с фруктами и напитками. Зачем и сегодня туда шел...

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

А вечером в темноте мигает красный огонь входа в бухту. И над всем берегом раздается заунывний звук маяка, как тоскливый голос какого-то одинокого животного. «У-у-у-у!» «У-у-у-у!» «У-у-у-у!»

---
Окончание
на персональном блоге...