Category: лытдыбр

vit_r

Про чекистское рождество

Смотрим на аватар и запоминаем:
Vit minus R dot com

Там сейчас ничего нет, но если что, адрес всем известен.

Запомнить советую потому, что Гугл находить не будет, если сделаю так, как мне нравится. Судя по тестам, Империя Зла фильтрует определённые вещи из результатов поиска. Бинг и остальные в подобном не замечены.

А теперь к делу.
Collapse )
vit_r

Про Cеверную и Южную Кореи

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

Насколько понял, это был в основном наезд на gorky_look, хоть под залп говномёта и попали остатки тех, кто изнутри как-то пытается идти поперёк режима. Пусть, только словесно.

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

Дело не в мифе о том, что посреди Мордора, расползающегося как чума к соседям и заражающего чужие земли, живёт Народ Непричастных, и, когда сменится правитель, фазы Луны, путь морских течений и Юпитер выйдет из знака Козерога, Невинное Население призовёт Светлых Людей, которые всё это время мужественно держали в кармане Принципиальную Фигу.

Я уважаю циников, которые спокойно заявляют «Да, мы соучастники своим молчанием. Не потому, что нам это нравится. Просто потому, что нам это удобно. Мы живём помимо власти, стараясь не соприкасаться.»

Я не уважаю, но понимаю заражённых телевизионным бешенством. Я аккуратно отношусь к фанатикам любой религии.

Даже те, кто дурит народ за деньги, не вызывают такого склизкого омерзения как эти Светлые Люди, активно борющиеся со Злыми Силами, умудряясь при этом не выходить из зоны комфорта.
Collapse )
vit_r

Про ёжика в тумане, зазнайство, языки программирования и вериги

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

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

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

Про правильные аналогии или почему agile не работает



Переписывать картинку полноценным текстом влом, так что набросок объявляется финальной версией. Чтобы совсем не издеваться над людьми, надписи я всё-же переделал по-человечески. (Правда, предпочитая быстроту аккуратности, проигнорировал грамматику и дизайн.)
Collapse )
vit_r

Про ёжика в тумане, зазнайство, языки программирования и вериги

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

Наши специалисты сочувствовали и давали советы. От независимой профессиональной экспертизы и до жалоб в профсоюз. Масса предложений. Полный спектр. И тут являюсь я со своим канделябром...

Короче, опять на меня обиделись смертельно и непримиримо.

Про звездизм и функциональное программирование



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

То, что в мире что-то не так, первый раз понял, когда получил на втором (или третьем) курсе экзамен по физике автоматом. За один вопрос. Заданный на лекции. Просто так, в качестве уточнения.

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

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

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

Не то, чтобы похожих людей я не встречал. Просто их было ничтожно мало.

Это ни в коем случае не ум. Скорее, структура мышления и подход к решению проблем.

Возраст и опыт сейчас как раз такие, что пора учить молодёжь жизни, писать книжки, выступать с проповедями...

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

Я, в принципе, могу начать проповедовать о том, что agile спасёт индустрию. Могу выступать с проповедями о том, что это диверсия, призванная индустрию погубить. Причём, и то и другое будет в моём исполнении одинаково эффективно, хотя за второе денег будет меньше, ибо не в моде. Но мне это не интересно. Потому что правы и те и другие. Потому что начинать надо с определения аксиом. С выяснения того, что же такое agile и почему разные люди под этим разное понимают. И куда делись те книжки, которые читали те проповедники, которые умные мысли выдают за свои свежие озарения.

Но это не то, чтобы не принесёт денег, просто никому не интересно. Все, даже самые разумные, хотят разделить мир на «мы» и «они».

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

ИТ сообщество безнадёжно больно звездизмом.

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

Закончу наездом на функциональное программирование.

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

Мои критерии слишком отличаются от правильных. И по многим из них функциональщина не проходит. Минимум, в том виде, в каком её дают проповедники.

От языка, концепции и стиля мне нужны графичность, понятность, стабильность и лёгкость загрузки контекста. Всё остальное вторично.

Графичность позволяет понять программу, не читая.

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

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

Понятность - критерий очень скользкий.

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

Писать просто очень сложно. Даже на нормальном языке. Большинство писанины, производимой инженерами или считающими себя таковыми, совершенно не читабельны.

Скажем, для нормального языка есть тул, определяющий Grade Reading Level. Можно взять текст, прогнать, после чего выяснить, совпадает ли сложность с оптимальным уровнем старшеклассника, или любой человек, не защитивший докторскую по филологии, спасует уже на втором абзаце.

Критериев для программирования просто нет. И не потому, что они не нужны. Просто среди «специалистов» действует правило «мне кажется, что я понимаю, а остальное меня не волнует».

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

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

Давным давно, когда перед Гостиным собирался народ и спорил о политике, на заявление о том, что в экономике может понимать любая кухарка, я просто открыл учебник и показал формулу на пол страницы. После чего оппонент согласился, что кухарка может понимать не всё. В том числе, и экономические зависимости.

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

Стабильность.

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

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

Уже одна голая скобка в неудачных условиях может привести к нескольким дням жестокого дебаггинга. Простое, но не удачное изменение может породить хитрые ошибки в другом конце программы. Мелкие улучшения поклонника Шивы могут разрушить программу «Hello world!»

Страшно подумать, что произойдёт, когда функциональщина покинет стены башни из слоновой кости.

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

Лёгкость загрузки контекста для меня важна из-за характера моей работы.

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

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

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

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

Если будет время, подниму октябрьский черновичок и допишу грустную историю про стрелочки и прямоугольнички, после чего отложу тему.

Copyright

(CC BY-NC-ND 3.0) vit_r, 2012

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
Перевод на английский запрещён, потому как нефиг портить хорошую вещь.

vit_r

Этнографическое

Frankfurt 2011-11-16 Frankfurt 2011-11-16

Frankfurt 2011-11-16Больше всего "Оккупация Франкфурта" напоминает маленькую огороженную помойку.

Пусть снимки не вводят в заблуждение. Это я просто обошёл вокруг. На фотографиях одни и те же деревья.

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

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

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

Короче, я ожидал большего.



vit_r

Должен ли ИТ менеджер программировать? (3)

Здравствуйте!

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

Да, ещё одно пояснение: это не готовый текст. Если когда-то дойдёт до книги, она будет на английском и без матов. Пока что я просто в черновом варианте накидываю материал, а заметки к отсутствующим главам и темам. Остальное или пропускается, или упоминается вскользь.

Те, кто хочет, может начать с начала.
Для остальных

Часть вторая. О вреде личного общения

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

Чтобы разобраться с этой проблемой, рассмотрим процесс с нейтральных позиций.

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

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

Итого, у нас остаётся канал получения информации и канал управляющий. Для начала остановимся на втором.

Collapse )
vit_r

Должен ли ИТ менеджер программировать? (1)

Здравствуйте!

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

Точнее есть. Целых два. И я аргументированно могу доказать обе точки зрения.

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

Другую крайность представляют теории научного управления. В последнее время бытует мнение, что можно взять любую обезьяну и надрессировать на правильные слова, вроде CMMI, PRINCE2 и PMBook. В особо продвинутом случае она ещё должна пройти курсы с названием "Нематериальная мотивация работников" и "Эффективное решение конфликтных ситуаций". Считается, этого вполне достаточно для управления толпой софтописателей. При желании для любой популярной на рынке методики можно накопать в Интернете красивые графики, неоспроимо доказывающие эффективность подобного подхода.

Я не особо верю статистике. То, с чем я столкнулся на практике, стабильно показывает убогость результатов.

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

Collapse )
vit_r

Сколько стоит обменять чистый воздух на Маааскву

Дискуссия новых жителей Германии о смысле работы в Москве.
Несколько типичных цитат:

за 5 килобаксов в москве будет примерно то же уровень жизни, что за 2 килобакса в мюнхене.
минус безопасность.


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

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


Collapse )