воскресенье, 3 апреля 2011 г.

Цитата недели

Joe Armstrong (Erlang, OTP):

Over the years I’ve kind of made a generic mistake and the
generic mistake is to not open the black box. To mentally think, this black
box is so impenetrable and so difficult that I won’t open it. I’ve opened up
one or two black boxes: I wanted to do a windowing system, a graphics
system for Erlang, and I thought, “Well, let’s run this on X Windows.” What
is X Windows? It’s a socket with a protocol on top of it. So you just open
the socket and squirt these messages down it. Why do you need libraries?

четверг, 30 декабря 2010 г.

Цитата недели

"Don't check in a bunch of crap to trunk and then leave for the holidays. I will find you. You won't have a "happy holidays"."

четверг, 25 ноября 2010 г.

Цитата недели

Nothing will ever be attempted if all possible objections must first be overcome

Цитата недели

Software startup are businesses, not software development projects

среда, 10 ноября 2010 г.

Цитата недели

debt is not building stuff that’s technically inferior but building stuff that doesn’t help the org

пятница, 5 ноября 2010 г.

Цитата недели

to be innovative you can either take a twisted look at the world or have a twisted mind and look straight

вторник, 2 ноября 2010 г.

Release It!

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

Bad & good copy-and-paste

Рано или поздно встает вопрос: скопировать ли существующий кусок кода в какой-нибудь новый обработчик либо оформить его в виде функции. Как правило, все учебники учат, что дублирование кода - это плохо (think DRY), поэтому надо делать новую функцию. С другой стороны, если общая (на данный момент времени) функциональность вдруг перестанет быть таковой в будущем, то это породит leaky abstraction (think костыль), что, пожалуй, даже хуже чем дублирование.
Поскольку предвиденье - это искусство, то оформлять новую функцию, предвидя сближение функциональности, либо просто скопировать кусок, предвидя расхождение функциональности, является талантом, опытом и даром свыше вместе одновременно.
В общем, хорош копипаст или нет, становится понятно только постфактум.

понедельник, 6 сентября 2010 г.

Monitoring for production is the same as tests are for development

everybody knows it is required but nobody really adopts it

суббота, 20 сентября 2008 г.

среда, 20 августа 2008 г.

пятница, 23 мая 2008 г.

пятница, 2 мая 2008 г.

пятница, 22 февраля 2008 г.

Tiger Lillies

вторник, 22 января 2008 г.

Бизнес модели продажи ПО и Open Source

Программа — ничто, поддержка — всё.

воскресенье, 9 декабря 2007 г.

Различие между американским и британским английским

Если Google Mail на британском варианте английского (English(UK)), то функции IMAP, AIM и цветные метки не доступны. В американском варианте (English (US)) GMail всё это есть. И уже давно.

четверг, 5 июля 2007 г.

Сочи

Sochi

пятница, 8 июня 2007 г.

SOA? CORBA?

Автор считает, что SOA практически то же самое, что и CORBA, только основана на технологиях SOAP/XML/HTTP и предлагает бороться со сложностью, возникающей при использовании SOA различными методами. Видимо все рассуждения о сложности вызваны непониманием различия между SOA и CORBA. CORBA - Common Object Request Broker. Т.е. это чисто объектная технология, которая позволяет создавать брокеров, через которые происходит вызов методов. И тут есть некоторые недостатки. Первое, что приходит в голову - асинхронность сообщений. Т.е. вызов метода удаленного объекта может не дать результата.
SOA - Service Oriented Architecture. Т.е. технология, ориентированная на сервисы, точнее, на web-сервисы. Если использовать web-сервисы так, как их сейчас используют, то выигрыша перед CORB'ой практически не будет. Сейчас очень распространено оборачивать какой-нибудь класс в web-сервис с помощью аннотаций. Это называется rpc. На же деле, то что web-сервисы используются так сейчас не значит, что они для этого и задумывались. Совсем наоборот. Просто инерция общественного мышления, привыкшего к CORBA, RMI, RPC, .NET remoting и т.д. "Правильный" web-сервис - web-сервис вида document/literal. Это чисто передача сообщений. Структура сообщения - не сериализованный объект, а произвольный XML-документ. Если посмотреть на web-сервисы от Google, то там как раз передается нечто более похожее на сообщение, чем на сериализованный объект.
Следует посмотреть видео про web-сервисы от одного из разработчиков Axis. Он об этом говорит и в Axis они стараются как раз упростить создание и использование web-сервисов в стиле document/literal.
Вообще в "мире распределенных вычислений" есть два подхода - messaging и rpc. Каждый в свое время брал верх над другим и каждый раз казалось, что победитель решит все проблемы. Но, по-видимому, не решает, раз появляются реинкарнации другого метода.

воскресенье, 3 июня 2007 г.

GIT