Свежий набор ссылок про сложный рынок мессенджеров и неоднозначность развития интернета, а также про PostgreSQL, Clojurescript и Java 8; рассказ о том, как попасть в мир Open Source, и как советский эмигрант флешку изобрёл — в традиционном обзоре за неделю.
1. Тотальное логирование и космический интернет
Нашумевшее постановление Министерства связи Беларуси о тотальном логировании всего исходящего трафика не внесёт существенных изменений в жизнь пользователей — так считает технический директор крупного интернет-провайдера «Атлант Телеком» Олег Гаврилов.
По словам представителя провайдера, данные белорусов сохраняются интернет-операторами ещё с 2010 года. Хранятся MAC-адреса, внешний и внутренний IP-адреса, даты и время проведения соединения, а также доменные имена и IP-адреса интернет-ресурсов, к которым обращался пользователь.
Эта возможность сбора была основана на п. 6 указа № 60 Президента Республики Беларусь от 1.02.2010, п. 17 указа № 129 Президента Республики Беларусь от 3.01.2010, постановлении № 646 Совета Министров Республики Беларусь от 29.04.2010.
«С нового года к этому перечню добавился только объём принятых и переданных данных», — поясняет Олег Гаврилов.
В своих размышлениях об анонимности мы невольно приходим к спутниковому интернету, который в скором времени появится и у Беларуси — свой собственный:
Спутник Belintersat-1 отправился на геостационарную орбиту, где будет обеспечивать работу телекоммуникационных сервисов, спутникового телевидения и широкополосного доступа в интернет. Он будет использоваться Беларусью на протяжении 15 лет. Ракета-носитель уже прошла все важные тесты, сателлит окончил заводские тесты месяц назад.
Всё что вам нужно знать о первом белорусском спутнике, что он был спроектирован, построен и запущен в Китае. Так победим!
Создатели минской карты CityInfo прекратили распространять программу https://t.co/wodQcL8VxB pic.twitter.com/1XHxQD664q
— 42.TUT.BY (@42tutby) January 17, 2016
2. «Ползучий фичеризм»
Важный и душеспасительный текст, который касается не только джаваскриптеров: Трагедия common lisp.
Вашему вниманию предлагается перевод письма Марка Миллера, одного из участников комитета по стандартизации JavaScript. В этом письме Марк рассказывает, к чему может привести «ползучий фичеризм» при дизайне языков программирования. И почему он не хочет добавлять в JavaScript синтаксис «let-block».
Поскольку комьюнити JS-разработчиков рекомендует добавить спасительный синтаксический сахар, в комментариях критически осмысливают сказанное:
Желание ввести подобного рода сахар скорей всего возникло именно для того, чтобы подчеркнуть функциональную натуру JavaScript, потому что подобного рода let-блоки встречаются повсеместно в разного рода функциональных языках. Марк прав в отношении данной фичи: Это не тот сахар, который бы значительно облегчил жизнь разработчикам, и не тот, который значительно улучшил бы читаемость кода, как и сказал переводчик, скорей всего, этому блоку будет лучше житься в отдельной функции.
Да и к тому же, будем честны: JS использует огромное количество людей и вряд ли хотя бы треть из них когда-нибудь писала на языках типа Lisp или Haskell. Подобного рода сахар оценила бы лишь маленькая ниша разработчиков, которыt тащятся от разных функциональных плюшек, да и те, скорей всего, в свободное время пишут на ClojrueScript.
И раз уж мы коснулись выше таких общих тем, как проектирование и анализ софта, архитектура проекта и его рефакторинг, то вот вам ещё одна свежая и хлёсткая добавка по теме: Ваше проектирование — отстой.
Из тамошних комментариев добавляю:
Был у нас один проект, когда требовалось реализовать систему управления безопасностью... После макетирования заказчик раскритиковал нашу систему, потому что она «слишком сложная», хотя имела большой потенциал к расширению и гибкость в использовании. После долгих и мучительных месяцев реализации «простой» системы, на испытаниях, заказчик поблагодарил нас не за выбранное решение, а за то, что кнопки были большие. После этого к критике со стороны заказчиков я отношусь с определенной долей скептицизма.
3. Не думай о секундах и Java 8 свысока
Основательная статья: Java и время (часть 1, часть 2). Там речь пойдет не о Джаве в нашей информационной эпохе, а о работе со временем и типичных подводных камнях, встречаемых на этой, только на первый взгляд безобидной, стезе.
Также по этой теме есть известное видео про time zomby (The Problem with Time & Timezones):
4. Open Source Software for Everybody
Две свежих и взаимосвязанных статьи:
- Почему и зачем писать open source код?
- Как правильно внести свою лепту в open source проект: простые подсказки
Я верю и знаю, что далеко не все программисты — это зацикленные на деньгах меркантильные кодеры. Многие из нас частенько не прочь делать правильные вещи в правильных проектах просто ради... удовлетворения, помощи другим или просто желания показать, на что реально способен. Эти две замечательных статьи позволят правильно влиться в большой и бушующий мир открытых исходников.
Один из комментариев из приведённой статьи:
В любом крупном проекте найдётся хорошая стопка issue или PR, которые висят месяцами или даже годами. Залипают обычно некритичные и часто сложновоспроиводимые проблемы, улучшения, сломы обратной совместимости, неоттестированные опасные PR. Рассматривая новый PR всегда перебираешь варианты: а нужны ли эти изменения, не дублируют ли они что-то существующее, не сломается ли чего, не зарыт ли тут слом обратной совместимости, придётся ли менять документацию, и так далее.
Я раньше этого всего до конца не осознавал и сам думал «Блин, ну не уже ли нельзя смёржить то, ничего сложного нет», но после присоединения к Core-team начал невольно смотреть на это немного иначе. Каждый день — это поток изменений, комментариев, новых задач и PR. Случайные люди не видят этого, ведь кто захочет просто так получать 50+ уведомлений каждый день, и вчитываться в них и от всей души стараться решить чью-то проблему?
Я однажды услышал версию, что это происходит из-за плохо организованной работы в команде и если принудительно раздавать задачи и контролировать их исполнение — все будет чётко и быстро. Утверждение толковое, но в Open-source оно не будет работать. Какую бы задачу я не взял, займет она у меня 10 минут или 5 часов, я это буду делать добровольно, с удовольствием, целью помочь сообществу и за идею. Такое принудительно не работает.
5. Откуда есть флешка пошла
Интервью с простым пермяком, который давным-давно эмигрировал в Израиль и изобрёл там флешку, ту самую, без которой сложно представить наш электронно-компьютерный быт сегодня.
Вот его свежее интервью и старое для тех, кому интересна жизнь необычных людей создающих целые индустрии.
— И тем не менее, когда вы приехали, этой хайтековской «болезни» в Израиле ещё не было. Что произошло?
— Всё случилось на наших глазах. [...] Всё изменилось в один день, когда была продана за 380 миллионов долларов компания ICQ. Ну, вы помните, компанию основали четверо молодых ребят, папа одного из них дал 10 тысяч долларов... И выяснилось, что можно не идти по стандартной тропинке и все равно преуспеть. Тут же подоспели истории с Facebook, Google и другими компаниями, и стало ясно, что могут быть и такие истории успеха. Классическая еврейская модель — врач, адвокат — сменилась другими моделями. Конечно, у молодых людей должна быть мотивация и хорошее образование, а в обществе — соответствующие условия: финансовый и деловой климат, инфраструктура. С мотивацией здесь всё хорошо — есть некая модель «израильской мечты».Дело в том, что ребята действительно в раннем возрасте могут преуспеть и разбогатеть. Уже лет в 20 с чем-то можно стать весьма состоятельным человеком, например, управляющим компанией. Процент преуспевающих израильских компаний выше в три раза, чем в Силиконовой долине. Структура израильского бизнеса в ИIT-сфере отличается от стандартов в других странах. Большая часть компаний — а всего их около пяти тысяч — состоит из 50-80 человек. В каждой компании 4-5 ведущих сотрудников. И вот мечта еврейской мамы стала вполне осязаема. Сейчас в университетах пользуются наибольшим спросом такие специальности, как биотехнология, компьютерные науки и электроника.
6. A bird’s eye view of ClojureScript
ClojureScript в последнее время привлекает к себе очень много внимания за счёт того, что позволяет писать элегантные программы на стороне клиента. Чтобы показать, на что этот скриптовый язык реально способен, Ченду Теннету описывает своё приложение, которое анализирует и визуализирует закономерности миграции птиц в южные края. В своем интересном выступлении он описывает не только скрытую сторону жизнь пернатых, но и показывает потроха своего приложения, в котором царствует ClojureScript и Datomic.
Это его выступление на конференции по функциональному программированию LambdaConf 2015:
У выступления есть субтитры для тех, кто плохо понимает английский на слух. А вот и тот самый провокационный твит, с которого Ченду стартует своё профессиональное путешествие в мир ClojureScript.
«That's why a lot of crappy Ruby developers are now crappy Clojure developers.» Shots fired at the type theory talk! #strangeloop
— Katherine Fellows (@kf) September 18, 2014
7. Postgres Pro
Вышел 75-ый выпуск подкаста о программировании DevZen (прямой MP3, 73 Мб), в котором приняли участие представители компании PostgresPro — Олег Бартунов, Иван Панченко и Фёдор Сигаев.
В ходе интервью гости подкаста рассказывают об истории возникновения компании, планах по развитию PostgreSQL, предстоящей конференции PgConf.Russia 2016 и бесплатном курсе Hacking PostgreSQL. Также рассказывается об изменениях, которые уже приняты в последнюю ветку 9.6, и о том, как вообще выглядит процесс разработки PostgreSQL.
В качестве добавки — интересное видео добавки по общей теории БД:
Записали с Иваном Селиховкиным видео о создании баз знаний (ключевые ошибки и как надо, чтобы работало): https://t.co/yfzy8hBI6J
— Alexander Orlov (@happypm) June 14, 2015
8. PHP 7 — слабые ссылки
Слабые ссылки в PHP 7 — механизм, позволяющий ссылаться на объект, при этом не запрещая сборщику мусора удалять этот объект в языках программирования с автоматической сборкой мусора.
Подпираю эту ссылку по новшествам PHP 7 более общей ссылкой по теме: Слабые ссылки в различных языках программирования.
9. Знания на халявной раздаче
Стал доступен для загрузки новый пакет бесплатных книг от O'Reilly. На этот раз издательство выложило тематику: производительность веб-приложений и DevOps.
10. Будущее — время битв идеологий
Далее о нынешних проблемах и сложностях бытия мессенджеров, хотя вместо мессенджера в любую из статей можно подставить любой другой класс программ/сущностей, например, биткоин:
- Почему ваш любимый мессенджер должен умереть
- Есть ли смысл запрещать Telegram?
- Свободный мультипротокольный мессенджер с поддержкой Tox
As I predicted, ISIS launched its own messaging app. Lobbying backdoors in mainstream apps makes little sense now. https://t.co/5Hq2R7xuHm
— Pavel Durov (@durov) January 15, 2016
И чтобы почувствовать эту противоречивость и одновременно перспективность технического развития, вот вам свежий Топ-5 самых важных технологических трендов 2016 года, на которые стоит обратить внимание. Технологии или интернет сами по себе не смогут стать панацеей от проблем общества: Конец моей интернет-мечты:
Сегодня мы достигли точки перегиба. Если мы поменяем свои траектории, возможно, мечту о свободном интернете по-прежнему реально осуществить. Но если останемся на прежних позициях, то нет. Интернет продолжит превращаться в гладкую, одеревеневшую, контролируемую и закрытую систему. И моя мечта — и мечта многих из вас — умрёт. Если так, то мы должны подумать о создании новой технологии: в следующие 20 лет нам нужно приготовиться разнести интернет на куски и построить на его месте что-то получше.
*Мнение колумнистов может не совпадать с позицией редакции.
**В цитировании сохранены авторская орфография и пунктуация.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.