Technologique
663 subscribers
144 photos
3 videos
42 files
949 links
Deeply involved developers about various aspects, tendencies & conceptions of programming technologies, FLOSS, Linux, security, cloud infrastructures & DevOps practices, distributed systems, data warehousing & analysis, DL/ML, web3, etc.
Author: @andrcmdr
Download Telegram
Technologique
Отличный инструмент для визуализации и анализа данных профилирования приложений - pprof На GitHub Джааной Доган (Google) было предложено реализовать в веб интерфейсе pprof возможности Flame Graph визуализации - голосуте все, кто заинтересован: https://gi…
Ранее инженеры Netflix использовали инстументы Flame Graph визуализации для профилирования сервер-сайд Node.js приложений под большой нагрузкой, в результате чего были обнаружены и исправлены серьёзные узкие места в роутере Express.js фреймворка и платформе Node.js:

https://medium.com/netflix-techblog/node-js-in-flames-ddd073803aa4

http://brendangregg.com/flamegraphs.html

Перевод на русский язык:
https://habrahabr.ru/post/243945/
Technologique
TMessagesProj-fat-debug.apk
Trifle, but nice! 😄👍

Приятная мелочь - в Telegram сделали возможность редактировать свою bio, для большего эксгибиционизма пользователей. 😁😂👍

Павел об этом писал не так давно, 31 октября 2015 года - https://t.me/durov/33

Недавно bio по просьбам пользователей решили вернуть:
https://twitter.com/durov/status/886471494863290368

В официальных клиентах возможность отображения bio появится чуть позже (а после и в Plus), но в API бэкэнда эти возможности уже есть.

Редактирование bio практически сразу реализовали в неофициальных клиентах, после появления данной возможности в API бэкэнда и немного позже, буквально вчера, в Telegram Beta:
https://fabianpastor.github.io/webogram

Update:

Сегодня возможность редактировать bio добавили в мобильный клиент Telegram и в кодовую базу мобильного клиента на GitHub.

https://telegram.org/blog/now-you-see-me

https://github.com/DrKLO/Telegram

Links:
https://t.me/technologique/856
https://t.me/technologique/912
Информация также отображается веб сервисом t.me (telegram.me).
Technologique
А вообще хорошо, что сейчас постепенно приходит прозрение и осознание у многих профессиональных умудрённых опытом программистов, что наследование и классы, специальный ad-hoc полиморфизм включения (полиморфизм подтипов - однако, сколько же терминов в русской…
Товарищи с Хабра провели отличное интервью с Аланом Кейем, автором SmallTalk и очень крупным учёным в области computer science, разработавшем в конце 60-х будучи в Xerox PARC очень много ИКТ технологий, ставших нашей сегодняшней реальностью.

https://habrahabr.ru/post/333778/

С сорокового вопроса начинаются очень интересные ответы по части технологий программирования.

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


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


И в дополнение мысль Алана о сегодняшних технологиях разработки ПО из другой весьма интересной статьи (https://www.itweek.ru/idea/blog/idea/3254.php):

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



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


Links:
https://t.me/technologique/1007

https://youtu.be/NdSD07U5uBs

https://youtu.be/KVUGkuUj28o

https://youtu.be/M6ZHxUwqPVw

https://habrahabr.ru/company/edison/blog/310588/
Technologique
Товарищи с Хабра провели отличное интервью с Аланом Кейем, автором SmallTalk и очень крупным учёным в области computer science, разработавшем в конце 60-х будучи в Xerox PARC очень много ИКТ технологий, ставших нашей сегодняшней реальностью. https://habr…
И раз уж речь зашла про паттерны проектирования - Марио Фуско из Red Hat большой оригинал в этом деле и преподнёс весьма элегантное решение для упразднения ООП паттернов проектирования.
Он буквально вывернул наизнанку ООП паттерны проектирования, спроецировал и привёл их к функциональной парадигме, где программы проектируются с использованием лямбда исчисления и функций высших порядков, и структурируются с помощью функторов и монад, как структурного паттерна для проектирования приложений.

The book of design patterns known as Gang of Four has been a kind of Bible for all the developers of my generation.
Nevertheless the biggest issue with this is that almost all patterns listed in that book, especially the behavioural ones, are a only workaround for a missing abstraction: higher order functions.


https://www.youtube.com/watch?v=lZG74WbnhoE&feature=youtu.be&list=PLRsbF2sD7JVq8QYW0vlbOS2JuXUWaWMnT

https://github.com/mariofusco/from-gof-to-lambda

https://github.com/lmller/gof-in-kotlin

https://github.com/truizlop/GOFToLambda


PS:
Огромная благодарность за материалы для крайних двух постов Люгеру (@Luger_08) - во многом благодаря нашим регулярным дискуссиям о технологиях программирования рождаются интересные мысли и посты, которыми живёт и полнится наш канал. 👍
Весьма интересный и близкий нам канал о технологиях программирования на С, C++, Go и Python, а также о Linux, ведёт Сергей Аббакумов - Sea++. Подписывайтесь на канал, чтобы поддержать автора в его стремлении писать больше об этих технологиях программирования.

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

Мне понравилась серия постов про обработку ошибок и исключений в С++:

https://t.me/sea_plus_plus/22 - про использование идиомы RAII (деструкторной техники освобождения ресурсов) в обработке исключительных ситуаций

https://t.me/sea_plus_plus/23 - про сравнение с методом обработки исключений в Go

В Go обработка исключений и ошибок происходит посредством возврата состояний через тип-интерфейс error. [1] [2] [3] [4]

https://t.me/sea_plus_plus/24 - про класс Expected<T> от Андрея Александреску, соавтора D и стандартной библиотеки языка D (библиотеки Phobos).

О подобном способе обработки исключений в Java, посредством класса Either<MyError, MyResult>, как альтернативе checked exceptions, писал недавно Марио Фуско из RedHat в Twitter.
Technologique
На Mobile World Congress 2017, проходящем в Барселоне, Sony и финская компания Jolla объявили о долгосрочном сотрудничестве. Jolla будет поставлять ОС Sailfish, для смартфонов Xperia. Sailfish - дистрибутив для мобильных платформ на базе ядра Linux и проекта…
Jolla выпустили обновление Sailfish OS 2.1.1

Обновление образов прошивок будет доступно для устройств Jolla и Sony Xperia.

https://blog.jolla.com/sailfish-os-2-1-1-now-available-jolla-devices-early-access/

https://blog.jolla.com/sony-xperia-project-update/

Девайсов с Sailfish на борту по прежнему очень мало - это устройства Jolla собственной разработки компании и с недавних пор отдельные устройства Sony Xperia, прошивки для которых разрабатываются по договору о сотрудничестве Jolla с Sony.
Поддержка устройств не очень широкая и вряд ли будет таковой. Причины этого обективны и понятны - рынок уже занят и поделён.
Все основные производители мобильных устройств и SoC чипов завязаны на Open Handset Alliance, который недостаточно open, чтобы быть открытым для сторонних производителей железа и софта, и альянс сильно завязан на Google и экосистеме Android, которые обязывают компании альянса, для участия в нём и экосистеме Android, закрывать спецификации своих SoC и запрещают открывать исходники драйверов для сторонних производителей софта.

https://www.openhandsetalliance.com/oha_members.html#handset

https://www.openhandsetalliance.com/oha_members.html#semiconductor

https://www.openhandsetalliance.com/oha_members.html#software

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

Во многом это и послужило большим препятствием для выхода на мобильный рынок и дальнейшего широкого распространения Ubuntu на нём, что подтолкнуло Canonical на зарытие проектов конвергентного интерфейса и мобильного дистрибутива Ubuntu Linux по причине убытков и неокупаемости проектов.

Canonical искали точки входа на рынок, сначала пытались распространять устройства с помощью европейских (например Bq) и азиатских мобильных операторов, участвовали со своим проектом мобильного дистрибутива Ubuntu в Mobile World Congress в Барселоне на протяжении нескольких лет для его популяризации среди производителей устройств, европейских и азиатских операторов , после пытались сотрудничать с азиатскими производителями железа (например Meizu) - но ничего не вышло.

Думаю та же участь ждёт проект Jolla Sailfish, даже не смотря на сотрудничество с Sony.
Такая ситуация на рынке делает любой проект альтернативной ОС невостребованным и слабо окупаемым.
Производитель железа должен иметь уверенность в прибыли, сколько он устройств сможет и должен произвести и отгрузить, сколько из них будут востребованы, согласно исследованиям рынка и ситуации на нём, чтобы окупить их разработку и производство и ещё заработать прибыль - Google с Android и альянс дают гарантии этого, а сторонние производители софта не дают никаких гарантий.
С другой стороны производитель софта должен создавать удобный инструментарий для разработки приложений и формирования экосистемы вокруг ОС - успех ОС во многом зависит от её SDK, доступности языковых и инструментальных средств для разработки приложений под неё.

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

Хотя сам я за Jolla очень болею, но уже ни на что не надеюсь, потому что на успех Ubuntu у меня лично была очень большая надежда и большие ожидания свершений, и сейчас я просто использую те устройства что более доступны.

На таком рынке сможет остаться только полностью самостоятельный производитель софта и железа ("full-stack vendor"), как например Apple, чтобы составить конкуренцию и зарабатывать на нём деньги.
Technologique
Jolla выпустили обновление Sailfish OS 2.1.1 Обновление образов прошивок будет доступно для устройств Jolla и Sony Xperia. https://blog.jolla.com/sailfish-os-2-1-1-now-available-jolla-devices-early-access/ https://blog.jolla.com/sony-xperia-project-update/…
Даже в самой экосистеме Android такая ситуация на рынке и в альянсе порождает негативные тенденции - замкнутость экосистемы, элиминация/исключение не только иных производителей софта, но и железа (пример - слабый успех YotaPhone 2, что послужило причиной замораживания всего проекта, слабый успех Intel на мобильном рынке, не смотря на влияние корпорации и технологически очень хорошо проработанные последние поколения мобильных чипов), из-за чего устройства всё больше становяться до ужаса однообразными, как по своей железной начинке, дизайну, форм-фактору, так и по пользовательским интерфейсам приложений и системы, из-за влияния одного главного производителя софта, Google, со своим мнением о том "как нужно делать интерфейсы правильно".
Тем не менее такая унификация железа, ОС, SDK и интерфейсов не делает разработку приложений, прошивок и их поддержку более простой - до сих пор в экосистеме Android присутствует значительная фрагментация самой ОС в плане существующего железа и его поддержки, возникшая во многом из-за закрытости драйверов для SoC (производители SoC чипов в альянсе делятся спецификациями и исходниками драйверов только с производителями конечных устройств) и из-за модели выпуска и поддержки обновлений прошивок целиком под конкретные устройства самими производителями конечных устройств. Таким образом фрагментация ОС возникла из-за vendor centric модели выпуска и распространения самой системы, сконцентрированной вокруг производителей конечных утсройств, которые решают сделать ли прошивку, её обновления, ядро и драйверы доступными или нет, что делает процесс поддержки прошивок устройств самими производителями (без привлечения сообщества) очень сложным и также негативно влияет на процесс разработки приложений разработчиками под различные устройства, т.к. нужно поддерживать как можно больше различных стройств и сделать универсальную поставку приложения работающего на всех устройствах становится всё сложнее, даже не смотря на наличие единого SDK.

И именно по этим причинам пользователи выбирают устройства Apple, как альтернативную экосистему c единой ОС для ограниченного спектра мобильных устройств и их железа.

Выпустив Windows для персональных компьютеров в своё время Microsoft поступили очень грамотно (что было весьма очевидно для того времени), разработав единый универсальный API ядра и системных библиотек (WinAPI), и заставив производителей самого железа, а также производителей компьютеров "в сборе" и лэптопов, распространять как минимум бинарные драйверы железа и устройств для их поддержки и работы в ОС Windows.

Links:
https://t.me/technologique/777
https://t.me/technologique/933
https://t.me/technologique/936
https://t.me/technologique/938
Technologique
Интересные времена настали, интересные... - Mr.Robot Мистер Робот продлён на третий сезон! https://www.instagram.com/p/BJLknNEBpIH/ Лишь бы Сэм Эсмэйл не уронил планку сценария! PS: eps2.2_init1.asec - действительно интересная и глубокая по своему смыслу…
Первый тизер третьего сезона сериала "Мистер Робот".

С каждым сезоном сериал "Мистер Робот" всё больше отражает тенденции в американском и глобальном обществе и политике, а также показывает влияние технологий на информационное общество - побочные эффекты применения и использования цифровых технологий, тотальная слежка за гражданами, ограничение свободы доступа к информации, всё большее влияние глобальных корпораций и финансовых конгломератов на жизни и судьбы людей, распространение криптовалют и darknet.
Во втором сезоне было сделано весьма смелое предположение, что после краха традифионной финансовой системы фиатных денег международные финансовые конгломераты могут перейти на криптовалюты, основанные на блокчейн алгоритмах. И это вполне подтверждается текущими экспериментами крупных международных банков (например UBS) с блокчейн алгоритмами.
Я конечно не сторонник теорий заговоров, но мне думается, что появление Bitcoin в текущую post-2K эру было далеко не случайным и весьма своевременным, учитывая также факт сокрытия его авторства. 😉

Сложно представить до чего дойдёт фантазия (фантазия ли? скорее предупреждение и предостережение) Сэма Эсмейла в новом, третьем, сезоне, премьера которого состоится 11 октября этого года.

https://www.youtube.com/watch?v=CmtaZ8sOfbk

Links:
https://t.me/technologique/553
Technologique
https://www.kinopoisk.ru/news/2590497/ https://www.kinopoisk.ru/film/404213/ Главная жанрообразующая книга Уильяма Гибсона "Нейромант" ждёт своей экранизации PS: Наша колекция фильмов по IT тематике: https://telegram.me/technologique/304 Весьма интересный…
Первую книгу трилогии "Киберпространство", роман "Нейромант" ("Neuromancer", 1984) будет экранизировать Тим Миллер, режиссёр "Дэдпула".

https://www.kinopoisk.ru/news/3019210/

http://deadline.com/2017/08/deadpool-tim-miller-neuromancer-william-gibson-movie-fox-simon-kinberg-1202145496/

Права на экранизацию второй и третьей книги трилогии "Киберпространство" ("Sprawl" trilogy), романов "Граф Ноль" ("Count Zero", 1986) и "Мона Лиза Овердрайв" (Mona Lisa Overdrive, 1988) писателя Уильяма Гибсона, были выкуплены ещё в 2007 году и ожидают своей экранизации.

В англоязычной литературе цикл романов был озаглавлен издательствами в разные годы по разному ("Neuromancer", "Cyberspace", и даже "Matrix"), т.к. сам Уильям Гибсон не объединял цикл романов в трилогию и не давал специально трилогии названия.
Наиболее известно название "Sprawl trilogy", по первому изданию всех трёх романов одной трилогией.

Термин "Sprawl" в романе "Нейромант" и всём цикле применяется в смысле "urban sprawl" и обозначает рост количества строений, т.к. в романах описывается экспансия, расширение урбанистической агломерации и городских метрополий будущего, одна из которых и обозначается нарицательным именем "Sprawl", "Муравейник", "расскадник", городская агломерация, простирающаяся вдоль восточного побережья Соединённых Штатов, вокруг дуо-города Бостон-Атланта (Boston-Atlanta Metropolitan Axis, BAMA), являющаяся расскадником, порождающим криминальную среду будущего киберпространства. Сам термин "киберпространство" был впервые изобретён в этом цикле романов Уильяма Гибсона.

Уильям Гибсон в библиотеке Максима Мошкова:
http://lib.ru/GIBSON/

Очень советую прочитать оригинал романа "Нейромант" ("Neuromancer") на английском языке:
http://lib.ru/GIBSON/neuromancer.txt

Wiki:
https://ru.wikipedia.org/wiki/Киберпространство_(трилогия)
https://en.wikipedia.org/wiki/Sprawl_trilogy
https://en.wikipedia.org/wiki/The_Sprawl

Links:
https://t.me/technologique/611

#киберпанк
#cyberpunk
zRAM - swapped your memory from zipped swap partition, placed right into the same RAM memory, and getting more memory!

Подкачиваешь оперативку прямо из сжатого раздела подкачки в оперативке и получаешь больше памяти! ©

Модуль ядра Linux zRAM полезен для "современных" ультрабуков со "стандартными" 8 ГиБ RAM, когда памяти недостаточно и конфигурация не поддерживает апгрейд (память нерасширяема, нет слотов, впаяна в матплату - on-board soldered RAM), для серверов при использовании виртуализации, для серверов приложений (для апплетов экосистемы Java), при тестировании массивных Java приложений и GC на многогигабайтных кучах (heap), а также для систем сборки и поставки проектов (процессов CI/CD в DevOps практике), для компиляторных ферм, используемых для сборки очень крупных проектов, требующих для процесса компиляции и сборки много памяти и процессорного времени, в этом случае zRAM будет полезен для мэйнтейнеров пакетов различных дистрибутивов и любителей компилировать и собирать source-based дистрибутивы (Gentoo и другие) и пакеты для них, создавать локальные зеркала скомпилированных и собраных пакетов (ebuild для Gentoo) для подобных дистрибутивов, на серверной площадке компании или проекта, и т.д.

https://www.kernel.org/doc/Documentation/blockdev/zram.txt

Установка и настройка zRAM в Gentoo, ArchLinux и Debian.

https://habrahabr.ru/post/172137/ - давняя статья Дмитрия Петрашко (@darkdimius, к слову одного из основных авторов компилятора Dotty с системой зависимых типов для Scala 3)

#Linux
Technologique
Шикарный спич на недавней конференции C++Now 2017, прошедшей в мае, от Нико Матсакиса, одного из основных разработчиков Rust! Нико очень простым языком на примерах объясняет весьма сложные концепции, например как устроена идиома контроля заимствований и владений…
Нико Матсакис о библиотеке Rayon для параллельной обработки данных в языке Rust на конференции Rust Belt.

https://youtu.be/gof_OEv71Aw

Библиотека Rayon позволяет обрабатывать данные параллельно с использованием композитных комплексных типов данных, поддерживающих параллелизм при работе с ними, например параллельных коллекций.
Для этих целей библиотека Rayon обеспечивает создание параллельных итераторов и редукцию рекурсивных алгоритмов в параллельные с использованием поддерживаемой библиотекой операции/метода join (https://en.wikipedia.org/wiki/Fork%E2%80%93join_model).

http://smallcultfollowing.com/babysteps/blog/2015/12/18/rayon-data-parallelism-in-rust/

Перевод на русский язык:
https://habrahabr.ru/post/274299/

https://github.com/nikomatsakis/rayon

https://crates.io/crates/rayon

https://docs.rs/rayon/

Links:
https://t.me/technologique/1012
Андрей Бреслав, автор Kotlin, о поддержке сопрограмм (coroutines), итераторов и продолжений (continuations) в языке Kotlin и семантике байт-кода JVM для работы с асинхронным многопоточным исполнением кода в программах, ленивыми и отложенными вычислениями, и событийно асинхронным неблокирующим вводом-выводом.

https://youtu.be/4W3ruTWUhpw
Для работы, правильного настроя на творческий процесс написания программ и приятного отдыха - классный сайт, c GIS и аудио-стримингом, для поиска интересных радиостанций по всему миру!

http://radio.garden/live/

Список интересных избранных радиостанций, которые сам часто слушаю:
https://gist.github.com/andrcmdr/5953df2752285b714108ef2ee6bde61d