NewsPack# 11: самые интересные ИТ-ссылки за прошлые недели

Ну, что маляты, пришло время выкатить новую порцию самых свежих и сочных http-ссылок, накопленных за две прошедшие недели в священных буферах моего мягкотельного ПЗУ — это всё самое интересное, что попало в моё поле зрения по теме ИТ. Но как обычно ссылки пойдут в комплекте с моими же словообильными комментариями, дабы чего худого с вами от такого привалившего счастья не приключилось.

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

NewsPack# 11: самые интересные ИТ-ссылки за прошлые недели

1. Wargaming — патриотическая проактивность Бурля в патритическом угаре самое время обсудить Wargaming.

Так, Андрей Яранцев увлекательно рассказывает, зачем World of Tanks заигрывает с патриотами.

Российская экономика идёт по пути создания одного большого «чеболя». Всё будет приводиться к общему знаменателю и встраиваться в систему «Всё для фронта, все для Победы!». Занять нейтральную позицию, если вы работаете с большой аудиторией, вряд ли удастся.

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

Колонка главы издательского подразделения Wargaming Андрея Яранцева о том, зачем бизнесу заигрывать с политикой http://t.co/9TfXjGpvG5— Секрет Фирмы (@scrtmag) 29 апреля 2015

Тут невольно вспоминаю про Джека Ма, хозяина «Алибабы», который почти в каждом интервью заклинает бизнес держать дистанцию от власти, предупреждая, что любое панибратство в этом союзе — роковая ошибка.

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

NewsPack 11 самые интересные ИТ-ссылки за прошлые недели обзоры новости блогератор ИТ«Я всегда говорю своей команде — никогда никакого бизнеса с правительством»

Но возвращаясь к Wargaming, в дополнение репортаж с гранд-финала по World of Tanks. Разговор пойдет не о турнире, а о киберспорте, который разработчики «Танков» упорно намерены развивать. Представители Wargaming рассказали, почему турниры по компьютерным играм превращаются в шоу-бизнес, и пояснили, зачем собираются выдавать некоторым игрокам зарплату. Также были опубликованы выступления участников DataTalks в Wargaming, посвященные визуализации данных.

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

2. Свое место под солнцем Там, в тексте про Wargaming частотность слова «конкуренция» зашкаливает. На прошлой неделе гендиректор »1С-Битрикс» Сергей Рыжиков также объяснял публике, как завоевать рынок с высокой конкуренцией.

Речь пойдет не сугубо о 1C, но о софте вообще, где личный опыт будет противопоставлен авторитетам:

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

Привет! Колонка от гендиректора »1С-Битрикс» Сергея Рыжикова о том, как завоевать рынок с высокой конкуренцией http://t.co/yWuN9kbvOM— Секрет Фирмы (@scrtmag) 30 апреля 2015

Сюда же вверну ещё одну http-ссылку на свежее интервью с похожей тематикой. На этот раз разговор с разработчиком браузера Opera: белорусы почему-то убеждены, что мы неправильно делаем браузер.

3. Microsoft против пиратства На прошлой неделе мы писали, что в Беларуси впервые оштрафовали компьютерных пиратов. А именно:

Суд Минского района оштрафовал компанию «Родная сторона» и её сотрудника. Это судебное решение не имеет прецедентов в Беларуси. Факты использования в компании пиратских копий Microsoft Windows и Microsoft Office были выявлены во время инспекции правоохранительных органов.

Но самое вкусное, ИМХО, осталось за кадром. Это кардинально изменившаяся политика борьбы с пиратством со стороны MS, начиная с текущего 2015 года:

Пользователям предлагается сообщить организации о том, что на их местах работы используется нелицензионное ПО, и получить за это вознаграждение. В некоторых случаях размер вознаграждения может составить $1 млн.

Еще в 2014 году один из членов совета директоров BSA сообщал, что подобные кампании стали очень успешными. По его словам, благодаря финансовой заинтересованности пользователей альянсу удалось нанести серьезный удар по предпринимателям, не желающим приобретать лицензионное ПО.

В другом месте пишут подробней где «деньги лежат»:

В широко проводившейся на страницах соцсети Facebook кампании участникам предлагалось настучать на пиратов и получить денег. При этом по всем законам маркетинга зимой их соблазняли лыжным курортом, а летом — оплаченным отпуском. Правда, средства доносчики могли получить только после того, как BSA сможет выиграть у пиратов дело в суде и в свою очередь получить денежную компенсацию. Заманчивое предложение действовало на территориях США, Австралии, Канады и Китая. В зависимости от полученной судебной компенсации за доносы обещали давать до $200000.

И кампания, по отзывам альянса, проходит очень успешно. В среднем он получает порядка 30 наводок в месяц. Поэтому теперь было решено развить успех новой кампанией в Facebook. На этот раз реклама адресована пользователям, которые не очень рачительно относятся к своим расходам. «Не можете оплатить кредит? — спрашивает текст с рекламы. Сообщите нам о компании, использующей нелицензионное ПО, и вы сможете получить вознаграждение».

К программе подключаются все новые страны, поэтому кому эта денежная тема интересна — держите руку на пульсе, уж в Беларуси «материала для работы», ИМХО, выше крыши, долларовым миллионером запросто стать можно. Также напомню, что в BSA входят компании Adobe, Apple и Microsoft — так что есть из чего выбрать.

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

4. Console.mihai (); Невероятная история одного из разработчиков Mozilla, который совсем недавно скончался, но был увековечен в коде.

Румынский программист Михай Шукан (Mihai Sucan) исправил 1919 багов в Firefox. В середине 2010 года, когда он приступил к работе, код консоли представлял собой полную мешанину, которую никто вообще не хотел трогать, вспоминает Джо Уолкер (Joe Walker), один из координаторов проекта DevTools в Mozilla. Там были баги, на которые каждый смотрел и думал: чтобы всё грамотно исправить, потребуется пара недель. Лучше взять что-то другое. Такие баги оставляли кому-нибудь другому.

И тут за дело взялся Михай.

Большинство из группы Devtools работает удалённо, так что долгое время люди знали Михая только по его нику, а позже — и по голосу. Михай продолжал переделывать консоль сумасшедшими темпами. Тогдашний менеджер проекта Devtools говорил: «Проблема с ним только одна: загружать его достаточным количеством багов — я чуть ли не всё рабочее время этим занимаюсь».

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

Не буду рассказывать концовку истории, прочтите лучше сами.

RIP Mihai? ucan, #FirefoxDevTools contributor extraordinaire, in memoriam: console.mihai (); — Incompleteness http://t.co/J8hpwleTbm— Mozilla Hacks (@mozhacks) 27 апреля 2015

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

Такой вот чисто программистский способ увековечить имя хорошего человека-программиста-коллеги на века вечные (как минимум, пока существует сам Firefox).

1.10 evalWithDebugger: function WCA_evalWithDebugger (aString, aOptions = {}) 1.11 { 1.12 + let trimmedString = aString.trim (); 1.13 // The help function needs to be easy to guess, so we make the () optional. 1.14 — if (aString.trim () == «help» || aString.trim () == »?») { 1.15 + if (trimmedString == «help» || trimmedString == »?») { 1.16 aString = «help ()»; 1.17 } 1.18 1.19 + // Add easter egg for console.mihai (). 1.20 + if (trimmedString == «console.mihai ()» || trimmedString == «console.mihai ();») { 1.21 + aString = »\«http://incompleteness.me/blog/2015/02/09/console-dot-mihai/\»; 1.22 + } 5. Очередной необходимый минимум Какие алгоритмы должен знать уважающий себя программист? — мнение специалистов из крупнейших российских ИТ-компаний.

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

В нагрузку: 7 принципов, которые нужно знать начинающему программисту:

Эта статья — не самоучитель по кодингу. И не пост о том, «какой язык программирования выбрать». Если вы хотите понять, насколько вам интересно изучать мир кода, то более важным вопросом будет: что такое программирование? Как выглядит программирование изнутри? Совместимы ли я и программирование?

6. Секрет успешности Как стать таким же успешным, как Гейтс, Джобс, Маск или Брэнсон?

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

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

Некоторым невдамек, что никакая внешняя успешность ничего не доказывает. Главное, что внутри.— Ксения Чучанова (@mangseruris) 21 мая 2015

Фактически, это попытка воспроизвести своими словами манифест Slow programming. Добавочка по теме. Ложная суета: как постоянная занятость уменьшает продуктивность.

7. Порция свежих видео с ИТ-конференции На этот раз были залиты новые видео с AgileDays-2015 (Москва) — эта конференция проходила в прошлом месяце. Список всего, что есть можно зазырить вот здесь, но я отобрал для вживления в пост (в качестве примеров) следующие три.

Мне понравилось высказывание Алекса Трошина на Agile Days 2015:

Фичи которые занимают 1 час разработки, это, скорее всего, не фичи, а баги.

Цитата взята с видео ниже — это то самое выступление Алекса, опытного product manager«a, который делится своим насущным опытом в неформальной и немного сумбурной манере.

[embedded content]

А нам-то зачем функциональное программирование?

[embedded content]

Это неформальное видео-введение в (норвежское) функциональное программирование от Вагифа Абилова (который очень любит повторять во время выступления, что «он из Норвегии»). Дополнительно по теме ФП можно посмотреть вот здесь.

Третий пример ниже — почему юнит-тесты не работают? Это история большого проекта от Александра Мартюшева.

[embedded content]

8. Народное творчество Наш читатель Александр Будников в свободной манере и домашней обстановке рассуждает о перспективах мифических 40-летних программистов, равно как и о программировании вообще, «которое, если честно, я выбрал исключительно из-за денег».

[embedded content]

Тем не менее, он создал серию обучающих видео, примеряя себе лавры видеоблогера и преподавателя программирования одновременно.

9. Вести России Архетип успешного программиста, прекрасно чувствующего себя даже в кризис, легко тиражируется в массах и уже добрался до федеральных российских каналов. Вот что крутили на телеканале «Россия 24» на прошлой неделе: Программисты: новая российская элита.

«Айтишников» — специалистов по высоким технологиям — в рекрутинговых агентствах называют «новой офисной элитой». У них даже в нынешних непростых экономических условиях стабильная и вполне солидная зарплата. Генеральный директор компании «Ашманов и партнеры» уточняет: «Сейчас серьезного программиста, на которого можно рассчитывать, дешевле 100 тысяч рублей нанять почти нельзя. Выпускника хорошего вуза нанимают на 60–70 тысяч рублей, а если человек с опытом, и у него есть какие-то достижения — это 100–150 тысяч».

А еще эксперты говорят, что впереди — рывок технологий. Через два-три года будет бум робототехники, как до этого — появление смартфонов и интернета. IT-специалисты и вовсе будут нарасхват. Тем более, что в России готовят отличных специалистов в этой сфере: МГТУ имени Баумана, МГУ, МИФИ, Петербургский госуниверситет, Уральский федеральный университет.

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

Ниже тот самый сюжет про типичного айтишника с подробностями его уличной личной жизни:

10. Привычный веб должен умереть Интересная колонка с точки зрения анализа трендов развития контентных веб-проектов, повествующая о том, как Google, Twitter и Facebook нещадно давят на издателей веб-контента (ну, а те сопротивляются, делая вид, что дружат, боясь перечить гигантам). В терминологии статьи социальные сети по отношению к, например, dev.by, выступают в роли frenemy — то есть «волка в шкуре овцы».

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

Статья дня: Владислав Гордеев: Facebook разработал новый способ публикаций статей из СМИ http://t.co/NWt9QQn0kI #bttd— BesTToday.ru (@besttoday_ru) 24 Март 2015

Бурное обсуждение этого тренда сразу в нескольких изданиях:

Крупнейшая социальная сеть в мире хочет сделать ещё один шаг, чтобы стать «целым интернетом» — журналисты Wall Street Journal утверждают, что компания Марка Цукерберга ведёт переговоры с онлайн-изданиями о возможности полного размещения их контента на Facebook. Если сейчас сайты ставят ссылку на свой материал на своей странице, то пользователь сети видит только картинку, заголовок и несколько строк текста. Если предложение Facebook будет принято, что сайты смогут полностью размещать свои публикации в ленте пользователя, не требуя от него перехода по ссылке — всё можно будет прочитать, не покидая Facebook.

Обе стороны получают преимущества от такого решения, которое в социальной сети называют Instant Articles. С одной стороны, пользователю социальной сети не понадобится уходить на сторонний сайт, если его что-нибудь заинтересует. С другой стороны, для того, чтобы компенсировать сайтам потерю трафика, Facebook предлагает издателям оставлять весь доход от рекламы себе. Как утверждают источники журналистов WSJ, материалы таких сайтов как BuzzFeed, The New York Times и National Geographic появятся в социальной сети уже к концу мая.

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

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

Коммент по делу из-под статьи выше:

Пускай себе отгораживаются. Соцсети — хороший отстойник для ньюфагов, в KOI-то годы давший надежду на завершение т. н. «вечного сентября».

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

Будущее медиа: лекция Демьяна Кудрявцева https://t.co/TiajpUSl2u— SxAx (@soyxanal) 24 Март 2015

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

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

NewsPack# 11: самые интересные ИТ-ссылки за прошлые недели

Цитата ниже отсюда:

Человеческий мозг настроен на то, чтобы никогда не меняться — мы неизбежно тянемся ко всему близкому и понятному. Существует целый ряд ловушек, в которые попадается наше сознание, чтобы сохранить статус-кво. Например, то, что по-английски называется confirmation bias — cклонность к подтверждению своей точки зрения, благодаря которой мы окружаем себя людьми, разделяющими наши взгляды на мир, и меньше замечаем вещи, которые этим взглядам противоречат.

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

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

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

Да, такого чувачка с антенной вы не встретите в районе МАЗа, где больше по части гаечных ключей.

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

Обновления 21 века. Они киборги: Нил Харбиссон http://t.co/Hv4SfuSQ3Y pic.twitter.com/eq3OLzOcbk— Keddr.com (@Keddr) 5 мая 2015

Художник Нил Харбиссон, страдающий «цветовой слепотой», вживил в голову прибор, позволяющий слышать цвета. pic.twitter.com/9y8SNP5NPE— Вязаный Твитер (@twitted_knitter) 23 апреля 2015

12. Свободные IPv4-адреса закончатся совсем скоро Честные админы бьют во все колокола, апокалипсис на сетевых магистралях приближается.

Показательные комментарии из-под статьи:

Да когда они уже наконец закончатся-то? Уж который год слышу — «всё, буквально завтра закончатся» —, но они всё не кончаются и не кончаются.

Люди из зала отвечают примерно так:

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

Следующие на очереди — организации, которые получали блоки от региональных (вероятно, это будут в первую очередь крупные провайдеры), когда у них начнут кончаться адреса, которые они уже успели получить.

Или:

RIR«ы уже, считай, раздали. last /8 уже фиг знает сколько. А 1000 адресов per LIR — это детский лепет и никакой роли не играет. Сейчас заканчивается этап проедания нахапанного и начинает выходить на передний план первичный вторичный рынок.

Поясняю насчёт «первичного вторичного рынка». Это когда адреса покупаются на вторичном рынке у компаний, которые их получали, пока адреса раздавались легко и свободно, и которые ничего такого особого не думали. Всякие хостеры-неудачники, у которых из активов только IP, крупные конторы, которые адреса получали «под задел», который не пригодился и т.д. То есть сейчас пылесосят «завалявшееся».

Когда этот ресурс закончится (а он весьма ощутим, на самом деле), то в дело пойдёт уже «коммерческий вторичный рынок». Когда будут не «завалявшееся» собирать, а резать наименее интересные проекты ради адресов — они будут весьма и весьма ценными на рынке.

И комментарий, который объясняет тормоза со всем новым:

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

Поэтому с IPv6 пока всё не так складно, хотя отчаянно скрипя, прогресс таки заставляет двигаться вперед.

IPv6 не нужен: http://t.co/5Uks9gSAt6. История о том, как мы купили билеты на поезд IPv6 и остались на перроне. pic.twitter.com/uDLofud7cn— Хабрахабр (@habrahabr) 5 мая 2015

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

Анонимус говорит, что проекты — как женщины: могут отличаться в деталях, иметь немного другой «стек», но в целом — одинаковы. Поэтому в глобальном смысле ничего кардинально не меняется. Очень удобная консервативная модель для диванных философов. С таким подходом можно не пробовать новые блюда, не ездить в другие страны и не знакомиться с новыми людьми — потому что они все примерно одинаковы.

Есть и более прогрессивный подход, который можно описать высказыванием Эйнштейна: «Life is like riding a bicycle. To keep your balance, you must keep moving.» С этой точки зрения если проект перестал устраивать, пора валить.

По сути, «Пора валить» — это новый лозунг эпохи, поэтому человеку, который дает такие советы — можно доверять. Например, его пункт номер один:

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

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

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

NewsPack# 11: самые интересные ИТ-ссылки за прошлые неделиТестирование жизни с помощью популярного сервиса определения возраста How-Old.net

Вторым номером идет статья О программистах, деньгах и успехе:

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

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

14. Чем похожи программирование и алхимия? Короткое знакомство с программистом-алхимиком из Питера Григорием Петровым.

Чем похожи программирование и алхимия? https://t.co/APF4SCFequ via @YouTube— Чернобаев Николай (@NickyMeloman) 5 мая 2015

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

Для примера вживляю в страницу его видео-лекцию о правильном комментировании исходников.

[embedded content]

15. Anti-Patterns Every Programmer Should Be Aware Of Хорошая порция критики к уже священным методологиям — 9 анти-паттернов, которые нужно понимать и знать. Очень много умных мыслей. Рекомендую —, но всё на языке «потенциального противника».

16. Почему сложно сделать правильное кэширование? Читать вот здесь:

Вы, наверняка, знаете, как это бывает. Ой, у нас тут такие тяжёлые вычисления / так долго тянутся данные из базы. А давайте просто прикрутим кэшик. Что может пойти не так? Так вот, опыт показывает, что пойти не так может очень и очень многое.

@afiskon Хочется выделить два капитанских пункта — 1. инвалидируйте кэши перед записью 2. при записи не используйте данные из кеша.— Jonn Mostovoy (@podmostom) 13 мая 2015

Классический случай, когда комментарий к статье ценнее самого материала (приводится в сокращении):

Я думаю что изначальный план иметь такую концепцию, как кеш в системе, построенной на akka, фундаментально неверное решение.

Идиоматический для akka путь работы с большим набором данных, которые надо шардировать (для size, geographic скалабилити), является Distributed Domain Driven Design. Здесь юнитом становится PersistentActor (Aggregate root в терминологии DDD). Например, пользователь со своим внутренним состоянием. Такой актор получает команды и записывает эвенты в свой журнал БД и только после этого изменяет свое состояние в памяти. Внутреннее состояние каждого актора воссоздается (при старте/рестарте) путём проигрывания последовательности евентов, сохраненных этим актором ранее. Для запросов нужно иметь отдельный View layer.

В итоге у нас strong consistency внутри Aggregate root и eventual между. Нужно моделировать свой домен под эти условия. Сейчас в akka есть механизмы для запуска множества таких PersistentActor в кластере, разбивая их на шарды. В распределенном режиме, конечно, появляется необходимость кое-где иметь at-least-once + idempotant получатель и применять Saga Pattern.

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

В дополнение про кеши вот вам ещё:

Что нам стоит Cache построить? http://t.co/CI38FitU3h #habr— Sergey Kotelnikov (@KotelnikovSerg) 20 мая 2015

17. Загадка от Intel На прошлой неделе Intel в своём Twitter как бы между прочим запостил снимок экрана монитора, на котором читатели увидели очень необычный психоделический код, понять который можно было бы разве через вывих мозга. Вместо того, чтобы мирно пройти мимо и продолжить заниматься повседневными служебными делами, наш_человек не смог его развидеть, и решил проникнуть в загадочный потусторонний смысл увиденного в виде слегка жутковатых машинных инструкций.

Для всех любителей Python, желающих познать насколько глубока кроличья норка, — читаем вот здесь отчет об эзотерических глубинах познанного:

Имеется страшилка, обладающая невероятным количеством подчёркиваний, лямбд и чрезвычайно редкой функцией __import__. Что за зверь и что он делает?

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

Подчёркивания и лямбды: http://t.co/WUHHoalWVr. Разгадываем картинку из Твиттер-аккаунта компании «Intel». pic.twitter.com/VlOiEf7IWj— Хабрахабр (@habrahabr) 12 мая 2015

Если кому-то это покажется простой задачкой, переходим на следующий уровень: задачка 1, задачка 2.

18. Не совсем крутые Ruby и Python Читать вот здесь:

Помню, как два года назад столкнулся с Руби. Язык показался прекрасным, всё в нем понятно и просто, нет ничего лишнего, нет ничего не очевидного. Шло время, навыки росли, времена менялись и вот уже Руби не кажется мне таким привлекательным как раньше: медленно работает, да и большие проекты поддерживать тяжело. Почему?

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

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

Явное лучше неявного: http://t.co/6EhUYtm7Iq. Ночные кошмары Питона: неявный «this». pic.twitter.com/N6KBcg9Vcr— Хабрахабр (@habrahabr) 14 мая 2015

В добавку из свежего питоньего: Почему я не люблю конфигурацию в django-style.

Также опубликовано введение в функциональное программирование на Питоне:

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

Забейте. Функциональный код отличается одним свойством: отсутствием побочных эффектов. Он не полагается на данные вне текущей функции, и не меняет данные, находящиеся вне функции. Все остальные «свойства» можно вывести из этого.

По совету автора перевода «забить» на всё остальное можно по этой ссылке. Также по этой же теме вышла новая статья Монада, да не та:

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

Кстати, всем кому интересен Python — вот пост-список всех самых лучших материалов на «Хабре» по теме этого языка, вручную классифицированных и отобранных.

19. Тестирование ПО в Facebook Продолжая тему тестирования в Google, теперь инженер из Facebook рассказывает о тестировании в своей компании.

#itloft #web #it #цитата pic.twitter.com/kJVnyWV0mj— LOFTBLOG (@loft_blog) 16 мая 2015

20. Про злых хакеров и Wi-Fi Оригинал тута, перевод здеся:

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

ФБР: «Крис Робертс во время полёта взломал развлекательную систему самолета и переписал код на компьютере управления тягой. После этого он смог отправить команду на набор высоты и заставить самолет на короткое время изменить курс.

Во время допроса в ФБР он сознался, что ему даже удалось заставить один из самолётов набрать высоту и отклониться от намеченного маршрута. «Он заявил, что смог отдать команду одному из двигателей, что привело к набору скорости, а самолёт начал уходить в стороны, сбиваясь с маршрута», — говорится в ордере, подписанном агентом ФБР Марком Хёрли.

Я вот подумал, насколько у меня жизнь мелкая. А вот слабо так, в летящем с твоим телом самолёте хачить его систему управления и править код управления движком по живому? Просто море ощущений (профита, правда, никакого, кроме тюрьмы)!

Как всего один специалист по информационной безопасности поставил на уши всю авиацию: http://t.co/xCgHq8hF5k— Kaspersky Lab (@Kaspersky_ru) 20 мая 2015

Подробный, с техническими подробностями, рассказ о том, насколько нынче уязвимо все, что подключено к интернету: http://t.co/lwgkmKHGcr— Kaspersky Lab (@Kaspersky_ru) 19 мая 2015

Так вот ты какое — экстремальное программирование. И всему виной — публичный Wi-Fi.

Экстремальное программирование http://t.co/STnh5WAHPa— _She1llmatic (@_She1llmatic) 12 мая 2015

Wi-Fi вообще зло, он выжигает нам моск изнутри:

Американские ученые: Wi-Fi оказывает крайне негативное влияние на человека и на растения http://t.co/rGv2mGL8Qd— Компьютерные вести (@newkv) 12 мая 2015

21. Громадье мелких полезных ссылок Всё технические ссылки прошлой недели, заинтересовавшие меня лично, выдаю одной транзакцией:

22. Почему люди становятся программистами? (бонус) Самый страшный и откровенный пункт.

Если отбросить случайных прохожих, которые приходят в ИТ просто «на подзаработать», то остаются самые странные — идейные. Вот о них-то и речь на видео ниже.

Ужасная и тоталитарная правда о true-программистах и их потаенных желаниях, откровение длиною в 1 минуту.

[embedded content]

Поэтому можно сказать, что программист — это такой мелкий политик-интроверт, фактически это такой «детский вариант» диктатора (уж раз мы много сегодня говорили про Питона — сразу вспоминается его Великодушный пожизненный диктатор).

Но закончить обзор хочу на позитивной ноте: для софтверных мини-политиков у меня хорошие новости:

Компания Microsoft вернет в опера

© Blogerator