From Novosibirsk, Russia? Our tiny company is looking for current or future rock-star developers.

September 13, 2008

Me

Накатал «О себе» для нашего сайта. По-моему, звучит неплохо:

I'm the CTO and the lead architect of our company. 15 years have passed since I was a proud DOS user, and I've been crazy about computer programming for all this time.

My experiences range from GW-BASIC, through Assembler and standards-based C++ to Python, Ruby and Java. Among the languages I've never really used I know and appreciate Erlang, Haskell and Smalltalk, and I love Ada, which is sharing the label of my all-time favourite language with Ruby. I like writing beautiful code, and I believe that every language has its own unique style which makes the definition of "beautiful" very different for each of them.

I've lead and failed my first multiperson project at the age of 16, and I've learned a lot about managing software developments since then. It was around the same time I came to know that my favourite part of programming is called "object-oriented analysis and design".

I've switched to Mac in 2006 and never-ever-ever looked back.

Currently I'm mostly focused on Java and particularly Eclipse world, though occasionally I get involved in Python and Ruby projects or have to apply my Win32 skills to make some crazy JNIs. I've contributed the initial Ruby type inferencing code into the Eclipse Dynamic Languages Toolkit and demoed it at EclipseCon 2007. I left the DLTK team afterwards and co-founded a company which aims to create a new generation of IDEs and productivity tools for developers.

В паре мест сомневаюсь в английском, так что замечания принимаются с благодарностью.

39 comments:

Unknown said...

у Карри фамилия с двумя l =)

Unknown said...

Спасибо, пофиксал.

Anonymous said...

Smalltalk пишется без большой буквы t.

http://squeak.org/
http://www.cincomsmalltalk.com/
http://smalltalk.ru/
http://smalltalk.org/
http://www.gemstone.com/products/smalltalk/

Unknown said...

Tnx. Забавно. Всегда писал через две прописные. Впрочем, забавному удивляться не стоит — super new initialize ! !

Anonymous said...

Мне кажется, что упоминания про Mac выглядят немного неестественно. Ну представь себе руководителя. Он разговаривает о своём опыте, туда-сюда. И вдруг заявляет: "В 2006 году я перешёл на BMW" :) Это лишний раз доказывает, хотя и не умоляет достоинств продукции Apple, что пользователи их девайсов часто воспринимают их как сексуальный объект, ну или как выход своей личности на новый уровень. Достойны ли эти побрякушки такой чести?

Unknown said...

Интересный момент. Но мне упоминание кажется совершенно естественным, это вроде принадлежности к другой культуре, что ли. Нечто из серии «В 200x я принял мусульманство и теперь молюсь по 10 раз в день» или «В 200x я переехал в Чехию и больше не вспоминаю о России». Важная личностная характеристика.

С BMW у меня ничего подобного не ассоциируется, поэтому замечание про BMW выглядело бы станным.

Anonymous said...

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

Anonymous said...

В этом смысле, пользователи Mac наверно ещё более убеждены в своей избранности, чем пользователи Linux. :))

Unknown said...
This comment has been removed by the author.
Unknown said...

Мак — это не вещь, это культура, почти религия. :)

Что касается Гейтса... ты наверняка видел, но на всякий случай: http://www.youtube.com/watch?v=rIjNJZpRtj8 %)

Anonymous said...

Я вырезал поддержку флэша отовсюду и теперь даже не помню, как её вернуть. Но мне не сильно хочется. Так что тюбики смотреть -- не судьба :)

Ладно, дело твоё. Но поверь мне, раз мои комментарии появились в твоём блоге, то тезис "Mac -- это культура, почти религия" разделяют не все.

Anonymous said...

Ну кстати если и религия, то как я уже говорил -- фетишизм. Что вас объединяет кроме почитания продуктов Apple? Ответь пожалуйста, мне даже стало интетересно. Во что вы верите?

Unknown said...

В то, что качественные дорогие вещи лучше плохих и дешевых?

Кстати, у меня есть и вторая причина писать про мак: point вроде «мы в конторе достаточно продвинутые». Видишь ли, (а) см. http://www.paulgraham.com/microsoft.html, (б) это понимают еще не все люди, (в) мы не хотим сотрудничать с теми, кто этого не понимает, (г) мы хотели бы сотрудничать с теми, кто ищет тех, кто это тоже понимает.

Чем не определение субкультуры? Маководы — это те, кто понимает, что все интересные люди в мире юзают мак или линукс.

А вот рекламу с участием Билли ты все-таки посмотри. :)

Anonymous said...

Paul Graham'а я уже читал. И даже эту статью читал. Чел там лечит про стартапы. И то, что уже никто не боится M$. И что? Я говорил не о M$, а об отношении к тем вещам, которые тебя окружают.

Посмотрю.

Я бы сказал так:

"Маководы — это те, кто заблуждаются в том, что все интересные люди в мире юзают мак или линукс."

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

Я сам когда-то думал, что вот мол. Я юзаю Линукс. Это круто. Почти все вокруг юзают Windows. Они лохи. Но потом я понял, что это совершенно не обязательно так.

Unknown said...

Хорошо, все — это преувеличение. Скажем: все те, кто адекватно воспринимает современный мир и при этом относится к сфере IT. «Everyone who cares about computers».

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

Впрочем, я слышал, что половина терминалок НГУ уже на маках. Сам не проверял.

Если ты зарабатываешь и можешь себе позволить мак (а если нет, то «почему, если ты такой умный, то до сих пор не богатый»), нет ни одной причины сидеть на винде. Это как обедать в ССке, если можешь себе позволить ресторан.

Более того, скорее всего нет причин сидеть на линуксе, если ты только не настолько продвинут, чтобы юзать всякие tiled window manager'ы (которым аналога в маках нет, и которые я считаю единственной объективной причиной иметь линукс).

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

Anonymous said...

Может быть ты не можешь распознать в некоторых людях, что они заслуживают внимания после того, как они затрудняются поговорить об IT? :)

Я был в прошлом семестре в терминалке пару раз. Там стояли Sun Ultra 20.

Anonymous said...

Кстати, как вариант, могу предложить пару мотивов предпочесть Linux:

1) Возможности кастомизации под себя
2) Возможности разобраться как он работает и получить большую уверенность в том, что работает правильно
3) Возможность поучаствовать в его разработке
4) Возможность устанавливать его легально на всё что шевелится, включая виртуальное железо
5) Возможность изучать High-Performance-Computing (вытекает из возможности собрать кластер в каком-нибудь VMWare :))

и таких мотивов может быть много, включая и те же Ion'ы/DWM'ы...

Unknown said...

винда наше всё. скажем нет красноглазикам и макофилам.

Unknown said...

кстати да, винда непременно должна быть палёной, иначе никакого цимеса

Unknown said...

“Может быть ты не можешь распознать в некоторых людях, что они заслуживают внимания после того, как они затрудняются поговорить об IT?”

Брр, я, естественно, имею в виду заслуживающие внимания в плане приглашения их к себе на работу.

“Возможности кастомизации под себя”

Потеря времени. Профессионалы не любят терять время. Я люблю профессионалов.

“Возможности разобраться как он работает и получить большую уверенность в том, что работает правильно”

Кто? ОС? Работает ли моя ОС правильно, или моя ОС согрешила? “Я не мил тебе” (только наоборот)

“Возможность поучаствовать в его разработке”

Чтобы поучаствовать в разработке Linux (скажем, для признания или чтобы было, чем хвалиться в резюме), не обязательно его юзать. Можно просто поставить в вмваре.

“Возможность изучать High-Performance-Computing”

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

И прогать, в основном, тоже на маках лучше. Нет, всякий NetBeans/Eclipse там хуже работает, чем на линухе, но при этом вспомогательные вещи (всякая коммуникация и скриншаринг, расшаривание файлов) здесь лучше, и конфигурация всего съедает на порядок (или два) меньше времени.

Кстати, кластеры нынче не нужно собирать ручками, есть Amazon EC2. Но там тоже Линукс, да.

“Возможность устанавливать его легально на всё что шевелится, включая виртуальное железо”

Понимаешь ли. Я программист. Я не админ. Я не хочу тратить время на настройку ОС ни на рабочей машине, ни на виртуальном железе. Мне за это не платят, удовольствия от этого нет, ценностей тоже не прибавляется.

Настройка кластеров, машин под виртуалками и т.п. — дело админа. Ему за это платят, поэтому ему не жалко на это время тратить.

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

Но остается другой фактор — удовлетворенность персонала. А людям мак и Apple Cinema Display визуально и морально нравятся намного больше, чем линух и какой-нибудь Samsung. Поэтому я считаю, что даже если бы какой-нить админ-гуру за $1000/мес делал бы жизнь с линуксом в конторе безоблачной (нереальный вариант, ибо такое стоит раза в два дороже точно), и если бы это было дешевле, чем покупать маки, все равно меньшее удовольствие персонала от жизни (а значит и меньшая продуктивность, более длинные непродуктивные периоды, большая вероятность увольнения) делало бы стратегию экономически невыгодной.

Если бы мне был нужен кластер, да, я бы нанял крутого админа на полставки его поддерживать, и для меня стоимость всех линуксов была бы какая-нибудь тыща баксов в месяц. С Amazon EC2 у меня нет выбора, и я бы закладывал эту сумму (+ еще тыща баксов на десяток машин в EC2) в бизнес-план проекта.

Unknown said...

Андрей вы говорите удивительно правильные вещи, но при этом не делаете одного ма-а-а-а-аленького шага.

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

Например, я не вижу ни под маком, ни под линуксом даже слабенького подобия Far'у. А это скажем так естестественная часть моего development environment. Такая же как рука или глаз. Я могу работать без глаза, но удобнее всё-таки с ним.

Unknown said...

Я тоже думал, что мне не будет хватать Far'а, в котором на винде я жил постоянно. Но мимолетная привычка, которая прошла меньше, чем за неделю. Finder + TextMate + zsh вместе намного круче, чем Far.

Я допускаю, что кому-то удобнее другое, именно поэтому я считаю использование twii или xmonad валидной причиной юзать Linux. Я допускаю наличие других валидных причин юзать другие операционки, но поверь, что Far — не одна из них.

Unknown said...

Уж простите, но не поверю. Опыт говорит обратное.

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

Я допускаю мысль, что TextMate --- это не глючный сурогат. Однако, что-то мне подсказывает, что он не замена Фару. Он совершенно другой.

Anonymous said...

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

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

А я всего-лишь о том, что лицензия Mac очень сильно может тебя ограничивать. Например в той же виртуализации. Это конечно, скорее относится к серверам, но всё равно. Если ты захочешь разворачивать какие-нибудь демо-инсталляции, то та же виртуализация очень помогает. Или ты для каждой инсталляции новый сервер будешь заказывать?

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

Unknown said...

Вот я просто беру список фич, которые они выпячивают:

Ability to Search and Replace in a Project = Могу в Фаре
Auto-Indent for Common Actions Like Pasting Text = Могу в Фаре
Auto-Pairing of Brackets and Other Characters = Могу в Фаре
Clipboard History = Могу в Фаре
Column Selections and Column Typing = это я так понял выделение блоками а не подряд? тоже могу
Completion of Words from Current Document = не испытывал необходимости, но могу в фаре
CSS-like Selectors to Pinpoint the Scope of Actions and Settings = нафиг не надо мне
Declarative Language Grammars for Graceful Mixing and Hacking = colorer умеет
Dynamic Outline for Working With Multiple Files = ну да попробуйте побить фар по удобству работы с файлами
Expand Trigger Words to Code Blocks With Tab-able Placeholders = могу в фаре такое сделать, но до сих пор не было нужды
File Tabs when Working With Projects = вау, прямо прорыв
Foldable Code Blocks = ну вот такого в фаре нет, но необходимости опять же не испытывал, никогда фолдом не пользуюсь в редакторах которые его поддерживают
Function Pop-up for Quick Overview and Navigation = могу в фаре, но чаще всего пользуюсь обычным Ctrl+Down/Ctrl+Up (search current keyword up/search current keyword down) ибо удобнее
Plug-able Through Your Favorite Scripting Language = у меня есть LuaFAR =)
Recordable Macros With No Programming Required = Far тоже умеет.
Regular Expression Search and Replace (grep) = вау! еще один прорыв в науке
Run Shell Commands from Within a Document = надо же, фар опять умеет и даже больше.
Support for Darcs, Perforce, SVK, and Subversion = тут у фара прокол, но опять же мне не нужно, я Git'ом пользуюсь, которого в списке нет =)
Support for More Than 50 Languages = это языки интерфейса что-ли? зачем оно мне?
Switch Between Files in Projects With a Minimum of Key Strokes = опять таки вау!
Themable Syntax Highlight Colors = colorer!
Visual Bookmarks to Jump Between Places in a File = ну в фаре они не "визуальные", но имеются.
Works As External Editor for (s)ftp Programs = а у фара FTP встроенный!
Works Together With Xcode and Can Build Xcode Projects = ну вот чего нет, того нет =)

Unknown said...

Итого: среди фич я не увидел ни одной, которая просто побудила бы меня пересесть с Far на TextMate. Всё это у меня уже есть.

Anonymous said...

Ты забыл про секретное оружие -- zsh :))

Unknown said...

e.v.e.: извини, чувак, но после такого неадекватного финта я вынужден закрыть дискуссию. Ты за каким-то хреном сравниваешь фичи не в ту сторону (речь ни разу не шла о том, что TM лучше, чем Far Editor, хотя это и чистая правда), при этом не понимаешь того, что является сутью популярности social-driven софта. (TM — это платформа для bundle'ов, которые пишутся с помощью CSS + Ruby/Python/Shell/Perl + HTML, позволяющих это делать любым, вовлеченным в современную Web 2.0-сферу. Отсюда огромная популярность и рынок. Для чего угодно можно найти TM bundle, который дает подсветку и автоматизацию большинства рутинных операций. Никаким плагинам такое не снилось, потому что плагины сложно писать. Та же причина, по которой сейчас мегапопулярны widget'ы и lightweight mashup'ы. Это так, в качестве бесплатной лекции — добро пожаловать в современный мир, странник. Кстати, для винды есть клон TextMate по имени E.)

Ни говоря уже о том, что только полный еблан может сравнить знакомую ему прогу с той, которую он ни разу не видел, по списку фич с сайта. (Hint: Far не имеет подсветки синтаксиса, если посмотреть на его список фич. Хотя это чисто пример того, почему подход является ебланским — я ни одним плагином к TM не пользуюсь, ибо Git юзаю из zsh + GitNub + GitK. Но мог бы, если б захотел Git в TM.)

localstorm: OS X можно виртуализовать на Apple-компьютерах. И VMware Fusion, и Parallels Desktop это умеют. Вот лицензия Висты, сука, ограничивает, это да (нужна Vista Business для виртуализации, это тебе не $130 за OS X).

Anonymous said...

Linux/BSD/Sun Solaris можно виртуализировать на любых компьютерах. Я знаю, что MacOS X Server разрешает на их же железе поднять несколько копий MacOS, но мне оно не надо, т.к.:

1) Я не могу быстро сходить с Квесту и купить слабенький Mac-сервер. Мне за него надо занести диких денег. А если мне всего-то и нужно только лишь подготовить образ, протестировать...

Unknown said...

зачем так возбуждаться?.. я ведь вас макоебом не называю, хотя иногда хочется.

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

Согласен, что сравнение не очень корректное, но вы внимательно посмотрите какой я из него сделал вывод. Я не сделал вывода о том, что X круче Y, ибо делать такие выводы не в моих правилах. Я сделал вывод касающийся исключительно меня, как пользователя ПО. Если вы почему-то решили спроецировать его в глобальную плоскость, то это ваши личные проблемы.

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

Меня не интересует насколько что-то популярно. Меня интересует только то насколько что-то лично мне удобно. Меня не интересует сколько людей по всему миру дрочат на TextMate, меня интересует только насколько будет мне удобнее выполнять в нем те же операции, которые я выполняю в Far'е. Всё.

Anonymous said...

Поставили под сомнение самое святое. Незыблемые истины. Чего ж ты хотел, Слава? :)

Unknown said...

Перейти предлагают не из-за этой программы, а говорят, что сочетание Finder + TextMate + zsh с лихвой покрывает все, что было нужно от Far'а. (И, естветсвенно, намного лучше, но этого утверждения я вначале не делал.)

И как нужно рассуждать, чтобы после этого пойти и для каждой фичи TextMate сказать, что она либо есть в Far, либо тебе не нужна? При чем здесь это вообще?

Unknown said...

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

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

Unknown said...

И, естветсвенно, намного лучше, но этого утверждения я вначале не делал.

Это ваше мнение, которое ничем пока не обосновано.

Anonymous said...

Спешу поделиться мыслью, которая ко мне пришла вчера. Андрей всё правильно делает :) Прямо по Peopleware :) Хотя его фетиш меня не возбуждает, но тем не менее.

Unknown said...

Посмотрел несклолько скринкастов с сайта TextMate, а именно про LaTeX, про AppleScript и про blogging.

В скринкастах TextMate меня честно скажу не поразил, как редактор, но я еще раз отметил то единственное, что мне в Mac OS нравится: тесную интеграцию компонентов системы, взаимодействие всего и вся. Например, Keychain. Очень разумно и удобно.

После чего посмотрел как собственно выглядит этот самый blogging bundle изнутри. Ну что я могу сказать: архитектурно система bundle'ов сделано удобно. Всяко удобнее чем в Far'е-из-коробки с его угребищным Plugin API, глупо это отрицать.

Однако, если взять скриптовый язык и интегрировать его с Far (я пользуюсь LuaFAR), то получается не менее удобно.

А еще одна вещь понравилась. Поиск по имени команды предоставляемой бандлом. В Фаре я иногда забываю, где делается то или иное редкое действие.

Unknown said...

“Однако, если взять скриптовый язык и интегрировать его с Far”

Проблема в том, что community Far'а на порядок меньше, чем community TextMate, и при этом между Lua и bash/ruby/python/php есть большая разница. Для TM чуваки пишут на знакомых им языках бандлы под любые плагины, которые они творят (всякий там текстиль, или HAML, или еще какая дрянь).

Мы вот творим IDEху, и собираемся тоже поддерживать бандлы TextMate'а. Так что это потихоньку становится industry standard. Даешь плагин для Far'а с поддержкой бандлов, как в E? Между прочим, авторы E даже портировали на винду знаменитый CocoaDialog: http://code.google.com/p/wxcocoadialog/.

(нашел, наконец-то, время ответить)

Unknown said...

Андрей, вы собираетесь продавать свою IDE?

Забавно, что вы упомянули про CocoaDialog. Только сегодня случайно натолкнулся на lua-dialog, который является портом CocoaDialog реализованным на gtk. Сделал его Mitchell Foral и сделал он его для того, чтобы портировать Textadept, созданный им Scintilla-based редактор. У него на сайте есть также такая интересная вещь как Textmate-like snippets for SciTE. Видно, что человек пользовался TextMate, но почему-то остался не удовлетворён.

Что касается поддержки бандлов TM в Far'е, я над этим думаю. Правда мне в данный момент интереснее сниппеты поддержать =)

Unknown said...

Сниппеты — часть бандлов. Так что можно считать это отправной точкой. (Может, сразу брать бандлы и поддерживать из них только сниппеты? Будет формат описания, совместимый с другими редакторами.)