Показаны сообщения с ярлыком shallow philosophy. Показать все сообщения
Показаны сообщения с ярлыком shallow philosophy. Показать все сообщения

Экспертиза

3 коммент. | добавить комментарий
Это только меня передергивает, когда я слышу/вижу это слово? Нет, правда.

Кто решил, что экспертиза в русском языке обозначает то же самое, что expertise - в английском?
  • "Наша экспертиза позволяет нашей компании выполнять проекты самого высокого уровня сложности"
  • "Экспертиза отдела разработки ПО на базе Java составляет 3 года"
  • "Это позволяет EPAM накапливать экспертизу и успешно применять ее в проектах."
  • "Расскажите о вашей экспертизе с Informatica"
Предлагаю определиться. Экспертиза - хоть Ушакова откройте, хоть Брокгауза и Ефрона, хоть словарь иностранных слов - означает примерно следующее:

Экспертиза [лат.; см эксперт] - исследование какого-л, вопроса, требующего спец. знаний, с представлением мотивированного заключения, напр, врачебная э., бухгалтерская э.
 А то, что сертифицированные менеджеры и пубертатные девелоперы пытаются выдать за экспертизу - это калька с английского. По-русски это будет "опыт", возможно "знания" - по контексту, но никак не "экспертиза". Экспертиза - это исследование, изучение чего-либо.



Is Data a Software?

1 коммент. | добавить комментарий
Сегодня инициировал, а затем полтора часа участвовал в дискуссии, смысл которой можно свести к вопросу "можно ли входные данные, обрабатываемые программой, также называть Software"?

По завершении дискуссии, нашел интересную статью Peter Suber, "What is Software?" Несколько цитат из глав 9 и 11:

To compile a program written in a high level language, it must be treated as data by another program, the compiler. It must passively be worked upon, so that later it may actively do work. Without this step, the programmer might as well have spoken in English. Programs written originally in the binary code readable by the machine do not require this translation, and hence need not be treated as data. But virtually all programs written today are written in higher level languages.
Apart from this critical step in the very functioning of software, programs are treated as data for the purpose of copying (publishing) and transmitting them. Even if a program were originally written in machine language, chances are good that if we are using it, its code has once been treated as data by another program.

Software may essentially be pattern, but how is it to be distinguished from patterns that are used as data rather than software? How does it take the position of natura naturata and then natura naturans? This seems to be the central mystery. How can pattern be read as instructions? How can mere pattern rise from passivity to activity? Why isn't sheer syntactical pattern always inert, perpetually data and never software?
 ...
We can approach answers to these questions by saying that software is pattern in a controlling position, while the same pattern in a different position will be data (and the same pattern under different language conventions will be noise). But what is this "position"? The first thing to observe about it is that it is not part of the pattern. It is the use to which the pattern is put, or the relation between the software-pattern and other patterns that are currently functioning as data. In this, to assume the "controlling position" is similar to meeting the physical requirement of readability; it leaves the pattern unchanged and occurs independently of the syntactic and semantic content of the pattern.

It is this "position" or use of the software pattern that enables its binary code to be taken as code for instructions that are to be executed. The matter is simpler than it may appear. If we write down on one piece of paper directions for copying a page of text, and on another piece of paper directions for erasing or shredding a page of text, then we may give them to a stranger and ask that the top sheet be read and applied to the bottom sheet. It does not matter how they are shuffled; each can apply to the other as it can apply to itself. One is put in a controlling position if the "hardware" (here the stranger) reads one first and one second. Odysseus may command his men to tie him to the mast as his ship passes the island of sirens, and to ignore any commands to be released that he might issue. If his men obey this command, then it "poisons the well" for future commands and causes them to be interpreted as data. But the commands to be released are like the directions written to the stranger: fully satisfactory and "authoritative" as commands. Whether they function as commands or data is a matter of whether they are taken up earlier or later than other contenders.

Вкратце: data также является software. IEEE также считает данные подмножеством software.

"Начало крупномасштабной кибервойны", или "Во всем виноват Гурвиц"

0 коммент. | добавить комментарий

Тут вдруг оказалось, что небезызвестный многим http://today.od.ua лёг. Причина этому - взлом английского хостинга, на котором он был расположен. В результате хакерской атаки было положено порядка 100,000 сайтов и подробнее об этом можно почитать здесь.

Еще одна подробность: хозяин компании, разработавшей софт для этого хостинга, повесился. По результатам анализа, софт содержал 24 уязвимости и индусский директор, похоже, этого перенести не смог.

Самое смешное - вот что говорят по этому поводу местные медиа-ресурсы:

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

Вот так простой хакерский налет превращается в "начало крупномасштабной кибервойны".

Какой вы ученый?

0 коммент. | добавить комментарий
О, да вы - математик.
image Вы из тех, кто проверяет алгеброй гармонию и при проверке находит в гармонии ошибки. Ваша логика настолько безупречна, что порой смахивает на безумие. К людям вы относитесь осторожно, зато с компьютером вы даже не на "ты", а на "ты, сволочь". Вас порой упрекают в отрыве от реальности и в витании в облаках. Но, может быть, весь этот мир - всего лишь игра вашего блестящего ума.
Пройти тест

The Domain Chronicles

0 коммент. | добавить комментарий
Итак, в 2002 году я создаю веб-сайт на Brinkster.com, чтобы впервые приобщиться к волшебному миру ASP и прочего server-side программирования. Сажусь на бесплатный хостинг.

Проходит год, и на выставке HiTech 2003, проходящей в Одессе, я показываю Украинский Феномен. Программа эта настолько нравится некоему Константину, компания которого в то время предоставляла услуги веб-хостинга и регистрации доменов, что он берется сделать мне домен, причем бесплатно. Таким образом мой сайт получает имя lonewolf.od.ua. Однако, прав для управления им у меня нет, а Константин теряется спустя полгода бесследно. Домен с того времени живет и работает сам по себе.

История продолжается в январе 2009, когда домен работать перестает. На сайте http://ns.od.ua я узнаю о том, что, в соответствии с правилами доменной зоны OD.UA, все желающие регистраторы должны перезаключить с ними договор до января 2009 г. Домены, зарегистрированные до января 2009 г. прочими регистраторами, в феврале переводятся в состояние ON HOLD и удаляются спустя месяц.

Не желая терять привычное имя сайта, я жду месяц, потом туплю еще один, и в апреле 2009 г., наконец, убедившись, что домен lonewolf.od.ua снова свободен, покупаю его через TeNeT, но уже самостоятельно.

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

Обращаюсь в Brinkster. После недолгих раздумий, раз пошел такой праздник, покупаю себе хостинг-план "Rookie" за $4/месяц. Спустя полчаса, индус на другом конце Live Help добавляет домен lonewolf.od.ua к моему аккаунту, а еще спустя четыре часа мой сайт становится доступен по адресу lonewolf.od.ua.

А вот теперь вопрос - нужен ли мне сайт, если есть блог, твиттер, линкедин, пикаса, вконтакте, армия воинов на mybrute.com?..

А пусть будет. На сайте можно Матричный Вычислитель зарегистрировать, если кто захочет. Или резюме посмотреть. Или еще что ого-го какое мощное забабахать!

Мой домен опять со мной,
Мой домен стал снова мой!
Ля-ля-ля, ля-ля-ля,
Мой домен опять живой!

Про аутсорсинг

0 коммент. | добавить комментарий
Даешь два поста в день!

Только что прочел интересную статью о пост-советском аутсорсинге вот здесь. Имхо, интересно. К сожалению, ничего из нее скопировать сюда не могу, т.к. автор впилякал в ее конец вот такую вот просьбу:

I am sorry, but I strictly prohibit reproducing anything from this material in any form and any type of media without my personal approval


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

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


Ну как, уважил я автора?

Разрешить нельзя запретить

0 коммент. | добавить комментарий
На сайте http://neoutils.ru (и какого меня туда понесло?) наткнулся на замечательную программу NeoAutorun. Софтина позволяет контролировать список автоматически загружаемых программ, но это неважно - я ее не видел, и не хочу. Меня впечатлил чекбокс на скриншоте:



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

Гамбург - 01

0 коммент. | добавить комментарий
Уже неделю работаю я в Гамбурге на благо компании Харман/Бекер. Приятно все-таки приезжать в компанию в третий раз: за это время несколько человек сами подошли ко мне с подходом «а я тебя уже видел, ты откуда, и т.д.» Так что число моих шапочных знакомых все время растет.

Один из них – Мартин (это тот, который босиком ходит), не перестает удивлять меня своими странностями. В пятницу поймал меня за пуговицу в коридоре и начал рассказывать о том, какой он трудоголик, как трудно ему различать «рабочее» и «личное», и какой он молодец, что может говорить об этом открыто. На нем висит значок «I am not normal», что, безусловно, чистая правда. Третьего дня, например, слышал от него историю, как он обновил какую-то навигационную таблицу, записал ее в навигатор своего автомобиля и поехал к родственникам, и как оно все плохо работало, и длительность поездки предсказывало с ошибками, и не туда его заворачивало, и пр…
Другой из них – Stefan - кстати, скоро станет нашим главным контактом с немецкой стороной. Питер наконец-то созрел для того, чтобы выделить человека, для которого работа с нами будет основным занятием, а не «между прочим», как это происходит сейчас. Штефан, как сказал Питер, тысячу лет работал на проекте БМВ, и сейчас ему срочно нужно сменить род занятий, чтобы не загнуться от тоски. Жду хорошего. Поживем – увидим, как оно будет.
Здание нашей работы находится над одним из многочисленных каналов, и, если выйти во двор, то с него есть спуск на понтонный причал, где отдыхают уточки.



В четверг играли с Питером в Го. О многом поговорили. Кроме Питера, я сыграл партию в Го с одним новичком (разумеется, обыграв его). Интересен род его деятельности: он проверяет, насколько плотно закручены болты в самолете, перед его взлетом. В его распоряжении 5 болтов – за остальные отвечают другие. И так – от рейса к рейсу – 5 болтов. Впечатляет занятие!
В Го-клубе много разговоров было о чемпионате Европы по футболу, проходящем сейчас. В тот вечер играла Германия, и Питер все хотел, чтобы они проиграли, и это сумасшествие на улицах закончилось. Каждый день в 20:45 начинается очередной матч – и до этого времени важно успеть поужинать, т.к. все кафе и рестораны, где есть телевизор, заполняются толпами оголтелых болельщиков. Турки, кстати, коих здесь великое множество, ох сильные болельщики – от сигналов их машин я в пятницу вечером почти оглох, пока шел под мостом возле станции Berliner-Tor. А за Россию, которая вчера играла, соотечественники болели, в основном, по кабакам – почти из каждого доносились крики на родном языке, когда я возвращался домой из бассейна. В метро на электронных табло, где пишут, сколько времени осталось до прибытия следующего поезда, вечером выводят счет текущего матча. Короче говоря, народ болеет.

В эти дни в Гамбурге проходит еще одно мероприятие – т.н. Harley Davidson Days. Со всей Европы сюда съехались десятки тысяч волосатых байкеров на своих мотоциклах, чтобы как следует напиться и покрасоваться. Их парад был вчера в районе St.Pauli, но я не пошел – посмотрел фотографии с прошлогоднего события и, признаться, побоялся, что затопчут. В центре, однако, их тоже было много, народ их фотографировал, и т.д. Как по мне – мотоциклы как мотоциклы, хотя я тоже не удержался и сделал пару фотографий для истории.


Вместо байков я вчера сфокусировался на местах, где еще не был в прошлые разы – Altstadt (старый город) и Hafencity (гавань). В последней я был, но в этот раз я зашел с другой стороны (с какой? Не знаю, как объяснить – со стороны Altstadt :)) Центральная старая часть города непохожа на нашу. Гамбург – город портовый, и сооружения там, преимущественно, квадратные и утилитарные, построенные для портовых контор и первых офисов. Основная особенность – красный кирпич, из которого в том районе построено без исключения все.

А, вот еще новость: я купил билеты в Брюссель! В пятницу, день своего рождения, после работы я сяду на поезд и чухну в Бельгию. Посмотрю на здания Евросоюза, писающих мальчика и девочку (да, есть и такая), поем бельгийского шоколаду да вафель, и вечером поеду обратно. Поезда в этот раз без пересадок – надеюсь, что дорога не будет такой утомительной, как была, к примеру, из Копенгагена в прошлом году. Туда-обратно – 110 евро – это вместе со скидкой, которую мне сделали как молодому, не достигшему 25 лет. Женю все равно наверняка потянет в Рим (дался ему этот Рим, блин!) – ну а я себе в Бельгию ))

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

Вот, вкратце, такие дела. О чем еще сказать? Ну, не знаю, меня, как всегда, много жизнеполагающих вопросов волнует. Например, вот елочка:

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

Анекдот

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

The Truth About Game Development

2 коммент. | добавить комментарий

Только что два часа рубился в мега-игрушку (название в теме). Скачать ее можно отсюда.

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

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

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

Если убивать их слишком часто, может начаться забастовка, в которой могут принять участие несколько рабов (тогда парочку из них можно убить), либо всеобщая – с которой уже хрен чего сделаешь. По завершении работ нам показывают отзывы геймерских журналов, доход и ROI. Мой рекорд – 1795692%:

Убийственно классная штука!

У этого же автора в блоге есть много других отличных игр (рекомендую Humpster, Bloody, Crayon). Он их пишет по одной в неделю.

Виза

0 коммент. | добавить комментарий
На прошлой неделе ездил получать визу в немецкое посольство. Теперь мне не отдают обратно загранпаспорт без разрешения на то Германского ведомства по делам иностранцев.

То, что они стребовали с меня резюме, диплом (как доказательства того, что я имею отношение к разработке ПО), мед. страховки - это понятно. Веселое случилось в пятницу. Они захотели, на минуточку, скан моего загранпаспорта! Люди, у которых находится мой загранпаспорт, потребовали его скан! Ну руки опускаются, а! Где я его им найду?!

Вот сижу и думаю: мой дед получил Героя Советского Союза за разведку боем при форсировании Днепра. Много он их тогда перекосил. После войны всю Европу объездил на мотоцикле. А я теперь должен получать разрешение на то, чтобы въехать в их замечательную страну...

Ховайся!

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

Вот здесь говорят про мой Матричный Вычислитель, ищут к нему кряк, "мега калькулятор", "помогите, у меня не запускается!" и все такое прочее...

Популярность, йопт!

Сказка о Программе

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

А теперь – сказка.

* * *

Сказка о Программе

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

«Вот как-нибудь дойдут руки – любил говаривать Начальник – и мы обязательно выделим время на переработку и оптимизацию алгоритмов».

«Вот как-нибудь выкрою время – любил помечтать Программист – и я обязательно что-нибудь с этим придумаю!»

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

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

И эта жирная сука пробует, блядь, захуярить в нее на своем блядском ноутбуке ебаный файл, бля, в семьсот пятьдесят тысяч строк! И Аутлук его сраный чтоб не тормозил, бля, при этом! А говна тебе на лопате?! Руки оторвать к ебеням! Блядь, не тянет она, нахуй, такие объемы! Запустил Начальник Начальника программу и открыл в ней файл, состоящий из семиста пятидесяти тысяч строк. Глядь - ан работа его ноутбука нежданно-негаданно замедлилась ощутимо. Аутлук стал принимать письма через одно, а напоминания о Заседаниях - так те вообще стали появляться лишь на следующий день, и то нерегулярно.

Вызвал Начальник Начальника к себе Начальника, посмотрел на него грозно и молвил: «Будет сие исправлено к завтрему, али как?» «Будет, будет, не сумлевайтесь, ужо напрягемся» - залепетал в ответ Начальник. И пулей бросился бежать к Программисту, на ходу переставляя приоритеты задач в плане работ и придумывая, каким способом можно было бы уменьшить потребляемый Программой объем памяти…

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

***


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

Обезьяны и пол-ребенка

0 коммент. | добавить комментарий
Обращаю внимание своей молчаливой аудитории, что у меня в блог-ленте появился новый ЖЖ. Петр Бормор пишет туда сказки. Читайте их, они хорошие.

У одного индуса жили три обезьяны: слепая, глухая и немая.
Однажды в дом забрался вор, увидел обезьян и собрался их убить, чтобы не оставлять свидетелей.
-Ничего не вижу!- поспешно сказала слепая обезьяна.
-Ничего не слышу!-добавила глухая.
А немая только руками развела: она, мол, и рада бы что-то сказать, да вот не может.
Вор успокоился, собрал всякое добро в мешок и убежал.
Утром хозяин обнаружил пропажу и вызвал полицию.
-Я всё видела!- сказала глухая обезьяна.
-Я всё слышала!- добавила слепая.
"А я записала номер машины",- показала знаками немая и протянула листок.
--------
Скольких преступников уже погубило слепое следование стереотипам!..

(c) bormor

UPD сразу: ну и безоглядова, как всегда, великолепна:

Поперек Ленинского проспекта висит рекламная перетяжка:

"Мы поможем определить пол Вашего будущего ребенка"
WWW.POLREBENKA.RU

О рынках ПО

0 коммент. | добавить комментарий
А что, все уже знают, как нынче модно пробиваться на рынок программного обеспечения? Сейчас я напишу о двух стратегиях завоевания. Первую все знают. Называется она:

"Написать программу, которую еще никто не написал"

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

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

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

"Написать программу, которую написали все"

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

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

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

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

А какой рынок выбираете вы?

Lonewolf on CMMI

1 коммент. | добавить комментарий
CMMI (Capability Maturity Model Integration) - это модель улучшения процесса разработки продуктов и служб. Сегодня я буду говорить о CMMI-DEV - CMMI для разработки ПО. Эта модель имеет 5 уровней (чем выше уровень - тем круче). Любая компания может за несколько десятков тыщ вызвать к себе бравую команду оценщиков и пройти сертификацию на определенный уровень.

Зачем это нужно? Ну, например, вы возглавляете аутсорсинговую компанию "Швайнске" и как раз окучиваете нового клиента. Заклинание "Наш процесс разработки сертифицирован на CMMI Level N" - это хороший способ как минимум привлечь к себе внимание, а как максимум - вполне может повлечь за собой подписание контракта на Q сладких лет.

Вот Люксофт на своем сайте заявляет о том, что имеет CMMI 5 уровня. Врут. На самом деле, пятый уровень имеет только филиал в Москве, и то не весь. У нас, как я считаю, сейчас уровень 2 (но сертификации нет никакой, так что можно мне не верить). А вообще уровни зрелости бывают такими:

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

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

Уровень 3. Определенный. Процессы понимаются всеми и описываются в терминах стандартов, процедур, инструментов и методов - гораздо более строго, чем на уровне 2. Документы теперь стандартизованы на уровне всей организации, и никак иначе. А главное - на уровне 3 происходит следующее: конкретные личности перестают определять процесс разработки.

Теперь стоп. Дальше пока не рассказываю.

Ведь посмотрите: что происходит в мире разработки ПО последние лет дцать? Мы изо всех сил стараемся снизить влияние человеческого фактора на процесс разработки и на конечный продукт. Началось с программной инженерии, сейчас вот CMMI-DEV и аналогичные модели, имя коим - легион... Уровни 3, 4 и 5 предполагают, что если, например, команду в ответственный момент покинет ключевой разработчик, то ничего страшного не произойдет. Мы попросту заменим его другим человеком близкой по уровню квалификации, и он волшебным образом втыкнет во все сразу - потому что у нас классный процесс, документирование, процедуры и метрики.

Более того, достигнув 3 уровня, можно снижать требования к набираемому персоналу. Даже команда середнячков с правильно поставленными процессами вполне может быть успешной. А вот более низкие уровни не могут себе такого позволить - им важны конкретные личности с золотыми головами. Вот, например, Джоэль пару лет назад хвастался, как он тщательно подбирает людей в свою компанию FogCreek - и теперь вы знаете почему: у FogCreek уровень CMMI ниже нижнего.

Ставлю интересный вопрос: хорошо это или плохо? Нужно ли стремиться к получению 5 уровня? Или можно остановиться на третьем?

По мнению многих, процессы уровней 4 и 5 являются самодостаточными. Легко можно представить себе крупную компанию, сертифицированную на CMMI ML4 или ML5, в которой дни напролет работа просто кипит: пишутся отчеты, проводятся собрания, выпускаются руководящие инструкции, выполняется расчет разнообразных метрик... Только вот разработка программ как-то не очень укладывается в эту картину. Нет времени на разработку, потому как поддерживать хороший процесс - это вам не хухры-мухры, на это время нужно!

Но многие также думают, что стремиться нужно к CMMI ML3, что это хорошо, а я говорю - не очень хорошо. Почему?
  1. Потому что вполне можно смириться с тем, что соседняя команда не понимает процессов в моей команде - им это и так ни к чему, у них есть свои.
  2. Пусть каждая команда имеет свой набор документов - лишь бы им удобно работалось.
  3. Потому что мне хочется работать с квалифицированными коллегами, а не с безликим персоналом.
  4. Потому что я предпочту уменьшить текучку, тем самым снизив риск ухода ключевых специалистов.
  5. И еще потому, что люди - это самое важное, что может быть в разработке софта, что бы там не втирали нам эксперты из Carnegie Mellon Software Engineering Institute. Им надо свой CMMI продавать, а нам надо работать и делать мир лучше.
Таким образом, если мы не ставим своей целью пробиться к наивысшему уровню 5, то остановиться вполне можно на втором. Третий - это не очень круто, и преимущества от него не столь значимы.

Итого: как по мне, так на сертификации можно и сэкономить (если вы не директор аутсорсинга "Швайнске"). Гораздо важнее то, что в действительности происходит внутри вашей организации. И если вы часто опаздываете со сроками, оказываетесь перед необходимостью внесения изменений в последние минуты, ваши расходы растут и вы не можете точно сказать, чем занимается сотрудник вон за тем столом - попробуйте пересмотреть ваши взгляды на процесс разработки. Я смею утверждать:
  1. Процесс не ограничивает свободу вашего творчества
  2. Процесс - не то же самое, что бюрократия
  3. Внедрение процесса оправдано в равной степени как для больших, так и для маленьких команд.
  4. Процессы хороши даже для очень маленьких команд.
  5. Даже если вы одиночка - вам все равно нужен процесс.
  6. CMMI-DEV уровня 3 не так хорош, как его малюют. Часто имеет смысл остановиться на уровне 2.

Deadlock и военкомат

0 коммент. | добавить комментарий
Был сегодня в райвоенкомате - пришел становиться на учет офицеров запаса. Тетенька там сидит такая смешнючая - и говорит мне: "А отчего же ты, Сережа, раньше не явился? Приказ-то о присвоении тебе звания уже два месяца как пришел. Это называется "несвоевременная явка" - будем штраф оформлять".

А я ей: "А не пришел я потому, что не знал, что приказ уже есть - мне же не приходила повестка!".

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

А я ей: "А не пришел я потому..." - ну и так несколько раз, по кругу.

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

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

О Лукаше Подольски и об одной проблеме роста

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

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




Может, это случилось тогда, когда мой хороший знакомый и ровесник женился и завел ребенка, а я еще продолжал блядовать, не помышляя о продолжении рода?Или когда одноклассник - вечный конкурент - показал мне свое первое творение на Си, в то время как я еще только разгребался с Паскалем?Или когда бывший одногруппник и одногодка вдруг оказался моим начальником?


Я не знаю. Знаю только, что вчера, когда я смотрел матч Германия-Португалия за 3 место ЧМ-2006, я опять почувствовал это. Ну, Лукаш Подольски, ну как же так?! Ты - и по телевизору, и пасы, и по воротам, и комментатор в восторге, и Мондиаль, и поклонницы, и деньги, и слава, и гимн. А я - на диване, и пиво, и духота, и мухи, и Жигули, и эта сука прожужжала все уши!

А, между прочим, я старше тебя на целый год.

Разэдак тебя и разтак, Лукаш Подольски!