Category: криминал

Category was added automatically. Read all entries about "криминал".

Верхний пост :)

Основной мой вид деятельности на данный момент - разработка ПО в области embedded. Опыт работы - с 2001 года. Сайт-визитка по этой теме: http://avl2.info/.

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

1. Естественные роды. Все - на основании собственного (почти :)) опыта рождения двух детей. Я оба раза присутствовал на родах, во второй раз мы вместе с женой составляли план родов, выбирали и общались с акушерками, ходили на курсы подготовки и многое-многое другое :) Опыт вылился в сайт http://ru.naravniporod.com/. Буду рад ответить на вопросы, если кого-то мой опыт заинтересует подробнее.

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

2. Фотография. Началось это увлечение еще с 1996 года, с фотоаппарата "Смена 8М" и черно-белой пленки, проявки ее в бачке и печати фотографий в ванной под увеличителем и красным фонарем. Кое-что из того, что получается сейчас, можно увидеть здесь по тегу "Фото". Коммерческое предложение с ценами и вариантами - на еще одном моем сайте http://www.lepitrenutki.com/, который, правда, на словенском языке - для целевой аудитории.

И если вы планируете поездку в Словению (или ближайшие ее окрестности) и хотите, чтобы у вас на память остались фотографии, на которых бы были запечатлены и вы тоже (или вы вдвоем с партнером, или вся ваша семья) - буду рад оказать такую услугу. По себе знаю, что тот, у кого в руках фотоаппарат, очень редко сам оказывается в кадре. К тому же, часто приходится выбирать: сфотографировать момент или прожить его. И не лучше ли будет выбрать "прожить", а для "сфотографировать" нанять фотографа? :) Особенно в поездке в такую красивую страну, как Словения :)

3. Гимнастика для новорожденных. С первым ребенком я открыл для себя динамическую гимнастику. Со вторым - познакомился с абсолютно другим подходом, автором которого является словенка Андрея Семолич, и который она назвала "Педокинетика". (Сайт тоже на словенском). Подход очень и очень интересный, отлично дополняет собой динамическую гимнастику, со вторым ребенком я прошел всю ее методику, начав с 6 недель и закончив моментом, когда малыш начал делать первые шаги. И очень доволен результатом. В мае 2013 года я получил сертификат инструктора "Педокинетики" первого уровня (после двух лет обучения, в том числе более 200 часов практики с реальными детьми и 6-часового экзамена на реальных и непростых группах). Впереди еще минимум три года обучения :) Так что в ближайшее время появится еще одно направление в моей деятельности :) По которому я тоже буду рад помочь тем, кого это заинтересует!

Атлант расправил плечи

Я же говорил, что это кладезь цитат? :)

"— Мисс Таггарт, знаете ли вы отличительную черту посредственности? Негодование из-за успеха другого. Эти обидчивые бездари трясутся над тем, как бы их кто не обскакал. Они и понятия не имеют, какое одиночество появляется, когда достигаешь вершины. Им чуждо это чувство тоски, когда так хочется увидеть человека, равного тебе, разум, достойный преклонения, и достижение, которым можно восхищаться. Они скалятся на тебя из своих крысиных нор, полагая, что тебе нравится затмевать их своим блеском, а ты готов отдать год жизни, чтобы увидеть хоть проблеск таланта у них самих. Они завидуют великому свершению, и в их понимании величие — это мир, где все люди заведомо бездарней их самих. Они даже не осознают, что эта мечта — безошибочное доказательство их посредственности, потому что человеку воистину великому такой мир просто противен. Им не дано понять, что чувствует человек, окруженный посредственностью и серостью. Ненависть? Нет, не ненависть, а скуку — ужасную, безнадежную, парализующую скуку. Чего стоят лесть и похвалы людей, которых не уважаешь? Вы когда-нибудь испытывали сильное желание встретить человека, которым могли бы восхищаться? Чтобы смотреть не сверху вниз, а снизу вверх?
— Я испытываю это желание всю жизнь, — сказала Дэгни."

И длинная цитата про деньги. Кусочек - в книге эта тема гораздо лучше раскрыта :)

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

...

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

28. Позвольте трупу упасть

(В оригинале - Don't Nail Your Program into the Upright Position)

Однажды я написал шутливую программку на С++, в которой я с некоторой долей сатиры реализовал следующую концепцию: при помощи множества try...catch конструкций по всему коду не дать программе аварийно завершиться. Результат мы назвали «труп, не падающий потому, что он прибит гвоздями к стене».

Несмотря на легкомысленность примера, я вынес из него некоторый опыт.

В нашей собственной С++ библиотеке был один класс. Этот класс долгое время страдал от активности многих и многих программистов. Практически каждый оставил в нем свой след. В этом классе содержался код, работающий со всеми исключениями из всех остальных мест. И мы решили, что объект этого класса должен жить вечно (или умереть в попытках это сделать).

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

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

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

Он процитировал правило дизайнера пользовательского интерфейса: «НИКОГДА НЕ ПОЗВОЛЯЙТЕ ПОЛЬЗОВАТЕЛЮ ВИДЕТЬ СООБЩЕНИЕ ОБ ОШИБКАХ», не задумываясь о том, что КАПС и НИКОГДА – не самые лучшие аргументы. Я спросил, не он ли писал софт для банкоматов, «синий экран» которых так любят фоткать и выкладывать в инет, за что получил по голове.

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

Автор оригинала - Verity Stob

Перевод мой, при использовании ссылка на мой живой журнал обязательна!

15. Коммит без проверки - убийца производительности

(В оригинале Commit-and-run is a crime.

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

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

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

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

Автор оригинала - Niclas Nilsson

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