Technologique
652 subscribers
144 photos
3 videos
42 files
947 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
О том, куда движется развитие микроархитектур мобильных процессоров... https://vk.com/wall222500216_1024 https://vk.com/note222500216_11794877 Меня немного удивляют тенденции развития архитектур современных ARM SoC - ядра сгруппированы в 2 или в 3 (а скоро…
Микроархитектуры Zen/Zen 2/Zen 3 и K12 от AMD и будущий выход AMD на рынок мобильных процессоров.

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

Тогда же я писал про новую архитектуру ядер K12 (ARMv8-64) и Zen от AMD, которая была запущена в массовое производство только в конце 2016 года и поступила на рынки в начале этого года.
Архитектуры K12 и Zen (процессоры EPYC и RYZEN) разработал Джим Келлер, очень талантливый инженер, автор нашумевшей микроархитектуры K8 (архитектуры Claw Hammer и Sledge Hammer - процессоры Opteron и Athlon-64), в своё время выдвинувшей AMD в лидеры микропроцессорного рынка (как и Zen сейчас), а также соавтор набора инструкций x86-64 (aka AMD64), шины HyperTransport (до сих пор самой быстрой по пропускной способности), архитектуры AMD K7 (процессоры Athlon до поколения K8), процессоров Apple A4 и A5, которые Джим разработал в Apple.
Вновь возвратившись ненадолго в AMD и разработав K12 и новую х86 архитектуру Zen для AMD Джим перешёл в конце 2015 года на работу в Tesla Motors.

И вот сейчас стали известны факты, что бортовые системы электрокаров Tesla будут оснащаться мобильными процессорами K12, которые будут запущены в производство в конце этого или начале следующего года (что также означает возможный выход AMD на мобильный рынок), а машинное зрение автопилотов в будущих моделях будет работать на дискретных процессорах AMD Radeon серии Vega, которая была выпущена в августе, и будущей серии Navi, которая будет запущена в производство в следующем 2018-м году.

Предлагаю вашему вниманию видеозапись беседы с Джимом Келлером на AMD Core Innovation Summit, проходившем в мае 2014 года, которое по прежнему актуально:
https://www.youtube.com/watch?v=oZVBMfgGVb8
(https://www.youtube.com/watch?v=SOTFE7sJY-Q)
Полная запись:
https://www.youtube.com/watch?v=03jto1a1oFY

Links:
https://xn--r1a.website/technologique/28
Занимаюсь Rust вплотную уже практически три года и понял, что не знаю и никогда не видел его автора, Грэйдона Хоара, в лицо.
Решил поискать - интересно ведь какой он, как выглядит, сколько лет человеку.
В социальных сетях (в Twitter) его фото нет, на GitHub и KeyBase фото нет, на конференциях не выступал (например на Lang Next часто авторы новых языков программирования выступают с докладами и с обсуждениями), записей видео на YouTube с ним нет.
Человек оказался довольно скрытным и в сети его фотографий крайне мало - всего-то две.
Оказалось он далеко не бородатый хакер, типа Кена Томпсона или Дэниса Ричи, как он мне представлялся ранее. 😄

http://venge.net/frances/frances_raftis.html - фото с супругой

https://adainitiative.org/2012/10/13/graydon-hoare-i-donated-because-id-like-to-see-the-culture-change/

https://www.infoq.com/news/2012/08/Interview-Rust

https://keybase.io/graydon

https://github.com/graydon

https://twitter.com/graydon_pub

Его блог:
http://graydon2.dreamwidth.org
http://graydon.livejournal.com

Но то, что я нашёл помимо фото, на его сайте (http://venge.net), позволило мне лучше понять какой он человек, какие базовые концепции были заложены в фундамент Rust и укрепить мою веру в большое будущее Rust.

А нашёл я две презентации - первая от 2010 года, когда проект Rust был официально анонсирован и получил публичную огласку, была непублично выпущена первая версия его компилятора, написанного на OCaml, с применением синтаксических расширений/макросов и рефлексии этого замечательного языка, а вторая от 2012 года, когда была уже публично выпущена первая версия бутстрап компилятора, переписанного на самом Rust.

Даже по духу презентаций, по тому как они написаны, хорошо ощущается какой Грэйдон человек и конечно какой он инженер - он эксперт по концепциям ЯП и инженер очень высокого ранга.
Он очень грамотно и прагматично сочетал в Rust концепции, пришедшие из очень многих языков, чтобы достигнуть цели создания безопасного и удобного в использовании языка для системного программирования и его использования в более широком круге задач. Первоначальные цели были поставлены очень амбициозные - изменить отрасль кардинально, сделать программирование крупномасштабных систем более безопасным - безопасность начинается на уровне ЯП (https://en.wikipedia.org/wiki/Language-based_security).
Боюсь представить чем он сейчас занимается в команде Swift в Apple - скорее всего в Swift 5 в 2018 году мы увидим модель многопоточности и безопасности памяти, модель владений и заимствований (borrow and ownership) для работы с указателями, подобную Rust.

Я остался под большим и очень хорошим впечатлением - очень советую их посмотреть:

http://venge.net/graydon/talks/intro-talk-2.pdf [2010]

http://venge.net/graydon/talks/rust-2012.pdf [2012]

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

Go seems to be barking up a different tree?
–Has coroutines, but kept shared mutable state.
–Has memory safety, but kept null pointers.
–Has unwinding, but no destructors or RAII.
–Has message passing, but no immutability.
–Has some built-in generics, but not in user code.

C++ is well past expiration date:
–Wildly unsafe in almost every way
⦁ Memory unsafe, no ownership policies, no concurrency control at all, can't even keep const values constant.
–Heavily burdened with legacy issues
⦁ Absurd compilation model, weak linkage and module system, nigh-impossible to write tools for.
–Spend more time fighting its weaknesses than seems reasonable.


#Rust
Technologique
Занимаюсь Rust вплотную уже практически три года и понял, что не знаю и никогда не видел его автора, Грэйдона Хоара, в лицо. Решил поискать - интересно ведь какой он, как выглядит, сколько лет человеку. В социальных сетях (в Twitter) его фото нет, на GitHub…
https://habrahabr.ru/post/271789/

В своей первой презентации от 2010 года по первому публичному релизу Rust (http://venge.net/graydon/talks/intro-talk-2.pdf) Грейдон Хоар очень верно отметил:

Go has coroutines, but kept shared mutable state - thread safety и безопасность общей памяти потоков нарушаются.
Есть нулевые указатели и они никак не проверяются - в Kotlin например есть проверка nullable types, т.е. обнуляемых типов благодаря flow-sensitive type system.
Нет деструкторной техники освобождения ресурсов (RAII).
Есть GC, но нет динамики вывода типов во время исполнения (в run-time) и дженериков (обобщённых типов).
Сообщения хоть и передаются синхронно через каналы, но мутабельны.

https://habrahabr.ru/post/338718/

В этом и вся проблема в Go - авторы сделали горутины по образу CSP Чарльза Энтони Хоара, чтобы исключить доступ к общей памяти потоков (shared mutable memory), её повреждение при одновременной записи (shared mutable state), состояние гонки или взаимоблокировки потоков за счёт синхронных сообщений, передаваемых через каналы, а теперь выходит что нужно пользоваться мьютексами для предотвращения повреждения данных в общей памяти потоков при одновременной записи (shared mutable state), потому что параллельные коллекции не предусмотрели.

Rust имеет более широкий спектр применения и скомпилированный им код более безопасен при работе с памятью и вводом-выводом, чем Go - Go более узкоспециализированный язык программирования.
Всё что можно сделать на Go можно сделать и на Rust, но ещё более эффективно, например писать веб-приложения с помощью фреймворка Rocket или веб-серверы на Hyper+Finchers или Tokio.
Но не наоборот - Go не системный язык и например на нём невозможно разрабатывать драйверы или модули ядра, или даже само ядро, когда Rust и это позволяет (проект Redox OS).
При том, что Rust, так же как и Go, и Python, не ограничивает программиста в производительности и скорости написания программ.

#Rust vs. #Go
#Golang
Код серверной части (server-side back-end) мессенджера Wire теперь открыт полностью!

https://medium.com/@wireapp/wire-server-code-now-100-open-source-the-journey-continues-88e24164309c

Это означает, что теперь доступно self-hosted развёртывание серверной части Wire для индивидуальных команд и бизнес клиентов на своих серверных площадках и сетях.

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

https://wire.com/en/privacy/

https://wire.com/en/teams/

Качество связи потрясающее и не сравнимо ни с одним другим средством связи через TCP/IP сети - звук кристально чистый, для аудио-видео конференций протокол поддерживает 3D аудио (с использованием гарнитур) и шумоподавление эха в помещении.

https://github.com/wireapp/wire-server - серверная часть, relay анонсер, хранилище DHT таблиц, хранилище аккаунтов и их контента, написаны на Haskell

В мессенджере используется p2p протокол обмена сообщениями Proteus - протокол реализован на Rust, на базе протокола Axolotl (который в свою очередь разработан на базе подобного протокола, используемого в мессенджере Signal):
https://github.com/wireapp/proteus
https://github.com/trevp/double_ratchet/wiki

Все процессы шифрования контента (используется библиотека криптофункций libsodium) происходят строго в хранилище cryptobox на устройстве и далее зашифрованные хранилища могут синхронизироваться клиентами между разными устройствами, в т.ч. с задействованием серверной части:
https://github.com/wireapp/cryptobox
https://github.com/wireapp/sodiumoxide
https://github.com/wireapp/libsodium
https://github.com/wireapp/libsodium-native

Есть мобильные, веб и десктоп приложения (весь исходный код открыт):

https://app.wire.com

https://github.com/wireapp/wire-webapp

https://github.com/wireapp/wire-desktop

https://play.google.com/store/apps/details?id=com.wire

https://wire.com/en/download/

https://get.wire.com

Links:
https://xn--r1a.website/technologique/939

Must read:
https://medium.com/@wireapp/wire-server-code-now-100-open-source-the-journey-continues-88e24164309c
https://medium.com/@wireapp/open-sourcing-wire-server-code-ef7866a731d5

https://medium.com/@wireapp/speeding-up-crypto-on-wire-desktop-apps-3ff37fc98c3f
https://medium.com/@wireapp/axolotl-and-proteus-788519b186a7

https://medium.com/@wireapp/a-step-forward-for-wire-for-linux-52f0538cac15
https://medium.com/@wireapp/get-your-linux-on-999403a1a4fe

https://medium.com/@wireapp/call-security-constant-bit-rate-encoding-and-improving-webrtc-a85be6caa43a
https://medium.com/@wireapp/wire-and-webrtc-2553c01bbd0a

https://medium.com/@wireapp/hello-hd-group-calls-now-in-stereo-978ac2c8e21b
https://medium.com/@wireapp/its-all-in-wire-now-with-screen-sharing-e26805c17f8f
https://medium.com/@wireapp/hello-video-calls-hello-privacy-61a189aec23d
Вся суть логических моделей многопоточности и асинхронного кода на уровне языков программирования.

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

https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md

https://github.com/Kotlin/kotlin-coroutines/blob/master/kotlin-coroutines-informal.md
Technologique
Новый рекламный ролик Lenovo к 25-летию серии Thinkpad о самом лучшем топовом бизнес лэптопе всех времён - ThinkPad X1 Carbon. Показанное в этом году на CES2017 пятое поколение модели стало ещё лучше, мощнее, удобнее в использовании и главное - работа от одного…
Серии лэптопов ThinkPad - 25 лет!

5 октября 1992 года IBM выпустила первый лэптоп ThinkPad, но он стал лишь самым первым, положив начало огромной серии моделей, выпускающихся на протяжении 25 лет и поныне компаниями IBM и ныне подразделением Lenovo.

В связи с данным событием Lenovo выпустили юбилейную модель, очень похожую на первый ThinkPad, в особенности раскладкой клавиатуры и классическим логотипом:
https://www.youtube.com/watch?v=4CgoI76_cfg

Unboxing юбилейной модели ThinkPad от Lenovo:
https://www.youtube.com/watch?v=EvDhuXaoL6c

"Future years - future users":
https://www.youtube.com/watch?v=pX9ZKwA-WBA

Links:
https://xn--r1a.website/technologique/1060
https://xn--r1a.website/technologique/914
https://xn--r1a.website/technologique/913
https://xn--r1a.website/technologique/274
https://xn--r1a.website/technologique/244
Сегодня мировая премьера фильма "Blade Runner 2049".

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

http://www.kinopoisk.ru/film/589290/

Продолжение истории снятой сэром Ридли Скоттом ещё в 1982 году (http://www.kinopoisk.ru/film/403/).
"Бегущий по лезвию" давно стал классикой мировой научной фантастики и жанра киберпанк.

Обязательно перед просмотром фильма "Blade Runner 2049" найдите и посмотрите оригинальный фильм Ридли Скотта "Blade Runner" 1982-го года.

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

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

Предыдущие материалы по теме:
https://xn--r1a.website/technologique/1039
https://xn--r1a.website/technologique/1011
https://xn--r1a.website/technologique/1062
https://xn--r1a.website/technologique/968
https://xn--r1a.website/technologique/653

#киберпанк
#cyberpunk
Technologique
Сегодня мировая премьера фильма "Blade Runner 2049". https://www.youtube.com/watch?v=zvFp9v_InWM http://www.kinopoisk.ru/film/589290/ Продолжение истории снятой сэром Ридли Скоттом ещё в 1982 году (http://www.kinopoisk.ru/film/403/). "Бегущий по лезвию"…
Все опубликованные материалы по фильму:

https://www.youtube.com/watch?v=7tCeft9dbNE

Сразу скажу - трейлеры и тизеры вообще имеют мало отношения к сюжету самого фильма и обыгрывают абсолютно иную альтернативную версию фильма, придуманную Дени Вильнёвом для возбуждения интереса к картине. Поэтому - готовьтесь быть удивлёнными в кино!
Релиз PostgreSQL 10.

https://www.postgresql.org/about/press/presskit10/ru/

Возможности шардинга (партиционирования) и репликации, для распределённого хранения и бэкапов данных, теперь полностью встроены в движок СУБД.

Логическая репликация построена по модели publish–subscribe и позволяет выборочно реплицировать заданные таблицы.

Шардинг производится по интервальной (диапазонам значений) или списочной схемам партиционирования таблиц при помощи нового декларативного синтаксиса, выражений "PARTITION BY" и "PARTITION OF", в директиве "CREATE TABLE".

Наследование таблиц и контроль записи в них через правила, заданные в триггерах, теперь упразднены!

Новый синтаксис это только начало, первый шаг для поддержки базовых возможностей партиционирования и в дальнейшем разработчики PostgreSQL будут развивать возможности и фреймворк партиционирования для распределённого хранения данных с использованием СУБД PostgreSQL.
Устранение множественных критических уязвимостей авторизации и обмена ключами (handshake) в протоколе WPA2 стэка протоколов беспроводной передачи данных командой безопасности дистрибутива Debian.

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

https://www.debian.org/security/2017/dsa-3999

https://forum.openwrt.org/viewtopic.php?id=72340

https://community.ubnt.com/t5/UniFi-Updates-Blog/FIRMWARE-3-9-3-7537-for-UAP-USW-has-been-released/ba-p/2099365

Уязвимость KRACK attack (https://en.wikipedia.org/wiki/KRACK, https://www.krackattacks.com) не зависит от применяемых асимметричных шифров (WPA-TKIP, GCMP, AES-CCMP), позволяет перехватить и дешифровть трафик (даже используя пустой ключ при наличии компонента wpa_supplicant реализующего протоколы авторизации WPA/WPA2), и касается точек доступа и роутеров с демоном hostapd на борту (дистрибутивы OpenWRT, LEDE, оборудование Ubiquiti Networks и других вендоров), реализующим авторизацию клиентов по протоколам WPA/WPA2, и клиентов с установленным по умолчанию пакетом wpa_supplicant дистрибутива, содержащим соответствующий компонент системы, реализующий протоколы авторизации WPA/WPA2.

Описание принципа атаки:
https://papers.mathyvanhoef.com/ccs2017.pdf
Инфраструктура IT каналов в Telegram.

Мы с ребятами, авторами каналов, решили, что пора уже перестать сидеть в тени и нужно объединяться! Коллективный интеллект решает и консолидация рулит!

Предлагаем Вам в качестве рекомендации список интересных и дружественных нам каналов по смежной IT тематике, которые мы сами читаем и рекомендуем Вам.

#channels

Sea++ - Интересные материалы из мира C/C++, Python, Go, Linux и не только.

L'homme qui pleure - Авторский канал про ужасы IT индустрии и инфраструктуры в Санкт-Петербурге. Автор верует в единорогов и пытается стать гиперполиглотом.

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

Spalmalo Tech Talks - Полезные ссылки для разработчиков, DevOps инженеров, аналитиков данных (Data Scientists). Автор постит то, что хочет донести коллегам с примерно таким же стэком и интересами: Linux, Ruby, macOS/OSX, Python, ML, психология.

MicrosoftRus - ITpro News & Reviews - Авторские заметки о Microsoft, Windows Server, System Center, Azure, Office 365, OMS и не только, для IT профессионалов, разработчиков и всех, кто интересуется новыми технологиями.

The After Times - Несерьезный дайджест IT. Ежедневно. Цитаты, паста, картинки.

IT Broadcast - Канал для тех, кто хочет быть в теме и познавать новое в области IT. Входит в топ каналов Telegram о технологиях.

Linkmeup - Самый официальный канал единственного и неповторимого подкаста для связистов LinkMeUp. Ребята постят новости со своего сайта, группы ВКонтакте и просто интересные вещи из отрасли связи.

ЗаТелеком - Авторский канал про сферу Телеком отрасли. Новости, тренды и истории. Много фото со всего мира и мнение о происходящем.

Microsoft Developer - Официальный канал сообщества Microsoft Developer для разработчиков и всех, кто интересуется новыми технологиями.

IoT Space - Канал о бизнесе эры Интернета Вещей, цифровой трансформации нашей реальности и о формирующемся рынке и экосистеме IoT.

Robotics Channel - Канал о робототехнике, нейросетях, автоматизации, научных исследованиях и разработках в смежных областях.

Channels Lists:
https://github.com/goq/telegram-list

https://geektimes.ru/post/285704/

https://github.com/A-gambit/awesome-telegram-chats/

Links:
https://xn--r1a.website/technologique/1070
CEO и основатель Nvidia Дженсен Хуанг на открытии конференции GPUTechConf Europe 2017, прошедшей в Мюнхене 10-12 Октября.

https://www.youtube.com/watch?v=1Te9PL46oIE

Дженсен (Jen-Hsun "Jensen" Huang) говорит про cutting edge of computational technologies, про текущие и грядущие определяющие для индустрии вычислительных систем вещи - о применении приложений дополненной и виртуальной реальности (Nvidia HoloDeck VR/AR), о замедлении закона Мура и переходе от алгоритмических методов решения задач к неалгоритмическим, но математическим методам параллельных вычислений на базе приложений линейной тензорной алгебры Ли, благодаря анализу и выявлению шаблонов в данных нейросетевыми методами глубокого машинного обучения, параллельным вычислениям в применении к искусственным нейросетям (технологии Tensor Core и набор инструкций CUDA TensorOp) и новым архитектурам параллельных процессоров для ускорения машинного обучения (дискретный процессор Nvidia Tesla Volta V100 построенный по архитектуре Tensor Core и использующий новый набор инструкций для глубокого машинного обучения CUDA TensorOp), производительность и эффективность которых будет определяться уже не только количеством операций с плавающей точкой за единицу времени (FLOPS), но в большей степени эффективностью и количеством операций машинного обучения за единицу времени, Tensor OPS - количество выработанных шабонов тензорных полей в процессе обучения на основе обработанных наборов данных, связей между ними, с закреплением и последующим выводом шаблонов для применения и создания приложений на базе многослойных перцептронов, фреймворков Convolutional Neural Networks (ConvNet), Recurrent Neural Networks (RNN) и других моделей искусственных нейросетей.

Но главный анонс конференции - это первый серийный бортовой суперкомпьютер Nvidia PEGASUS для обслуживания машинного зрения, анализа дорожной ситуации, роботизированного AI пилотирования и оснащения им систем беспилотных автомобилей (driver-less cars) для логистической индустрии, car-sharing сервсов и служб беспилотных такси - https://www.youtube.com/watch?v=1Te9PL46oIE&t=1h33m57s

Links:
Обязательно посмотрите предыдущие выступления на GTC:
https://xn--r1a.website/technologique/987
https://xn--r1a.website/technologique/988

CPU&GPU Tech:
https://xn--r1a.website/technologique/1102
https://xn--r1a.website/technologique/772
https://xn--r1a.website/technologique/28
​​Популярность языков программирования с начала 2017 года по уровню контрибуции (вклада) разработчиков на разных языках в кодовую базу репозиториев проектов на GitHub.

Визуальное представление данных

Полная диаграмма

На мой взгляд самый эффективный и корректный рейтинг популярности языков - на основе данных по замерам контрибуции Krihelimeter

Уровень вклада участников в репозитории трансляторов различных языков программирования.