BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

Видео/статьи. Конспект и мои вольные комментарии по инженерии. тут только то, что считаю полезным для себя или других =)

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
https://praktikum.blog/cpp20/
Бесплатный вебинар от Яндекса по стандарту си++ 20
всего 1 час. видимо пробегутся голопом по европам. но тем не менее интересно
в четверг 25.02.2021
FPGA - Field-Programmable Gate Array

ППВМ - программируемые пользователем вентильные матрицы

== Технология FPGA для тысячи применений https://habr.com/ru/post/505838/

== FPGA. Разбираемся, как устроены программируемые логические схемы и чем они хороши
https://xakep.ru/2018/11/15/fpga/
Процессор перестраивается под каждую программу и превращает алгоритм непосредственно в «железо»

* CPU универсален, можно запустить любой алгоритм, он наиболее гибок. на каждую полезную арифметическую операцию он совершает много доп операций, связанных с чтением инструкций, перемещением данных между регистрами и кешем, и другие телодвижения.
* ASIC. алгоритм реализуется аппаратно за счет прямого соединения транзисторов, Отсюда максимальная производительность и наименьшее энергопотребление. А вот перепрограммировать ASIC невозможно.
* GPU. Они состоят из тысяч небольших вычислительных ядер и выполняют параллельные операции над массивом данных. Если алгоритм можно распараллелить, то на GPU получится добиться значительного ускорения по сравнению с CPU. А, последовательные алгоритмы будут реализовываться хуже CPU.
* FPGA. Приемущество - способность обрабатывать данные в темпе их поступления с минимальной задержкой реакции.

FPGA работают на определенных тактовых частотах (100–300 МГц),
- На уровне RTL определяешь поведение схемы с точностью до такта.
- На блочном уровне занимаешься соединением готовых крупных блоков функций, для получения нужной функциональности
- на высоком уровне - пишешь алгоритм. Существуют компиляторы или трансляторы с языков C и C++ на уровень RTL например Vivado HLS

== FPGA. Создаем хардверный счетчик в Xilinx Vivado, чтобы освоить инструменты разработки ПЛИС
https://xakep.ru/2018/11/16/fpga-counter/
- Устанавливаем Vivado
- Запускаем пример и моделируем схему
- Синтезируем код и анализируем результат
- Получаем прошивку и загружаем ее в FPGA

== Intel® FPGA Products
https://www.intel.ru/content/www/ru/ru/products/programmable/fpga.html

== Wiki: ПЛИС
PAL - programmable array logic
GAL - generic array logic
CPLD - сomplex programmable logic device
FPGA - field-programmable gate array

== Wiki: Программируемая пользователем вентильная матрица
Научпоп. но вполне интересный. Голопом по европам.в основном про железо, ДЦ, материнки, процессоры и тп . в основном человек занимается тестированием железа для ДЦ

== Приглашенный доклад (Данила Кутенин, 16.11.2020)
https://www.youtube.com/watch?v=zZNPA9HWeHc


все датацентры стремяться разделять узлы на вычисляющие и на те которые хранят данные (диски). компактней система!

Tapes сторадж - магнитные ленты из 80х. оно просто дешевле чем хдд на 5-10%. там лежат только холодные данные. В гугле они до сих пор процветают. Отклик к данным - несколько дней

чем больше герц у проца - тем лучше нужно охлаждение. ДЦ не используют по этому выше чем 3.5ггц.

Кэши процессора невозможно увеличивать бесконечно. это всегда компромис между лэтенси и пропускной способностью.
L1 =1ns. L2 =4ns. L3 =44-90ns

RAM приходит к обьему который скоро не сьест операционка (адреса ~2^48)
Не существует константного времени доступа к памяти. Доступ к ней ~100нс
1мб из памяти займет 3000ns (для 2020). и 9000нс (для 2015)

Сейчас Linux развивается в сторону
- честного распределения ресурсов между процессами - безопасность
- Контейнеры
- ЮзерСпэйс

Если убрать все из Линукса кроме подистемы памяти и дисков то получите около 30% прироста скорости, жертвуя безопасностью и другими фичами

ну собственно тут и появилось развитие самого FPGA, что бы просто выполнять конкретные вещи без ОС и тп

- хдд диски по прежнему вылетают раз в 2 месяца
- цпу редко умирает. 1 раз в 5 лет
- обычно конфигурация сервера живет около 2-3 года
- ссд живут 1-2.5 года
- память живет около 5лет
- часто вылетают сети и роутеры

ссд в 30раз дороже хдд

в среднем датацентры имеют емкость 5к-20к серверов


развитие сетей еще не лимитировано ни физикой ни

в ДЦ по сети это 250мкс - 1мс от сервера до сервера. Сеть не является узким местом. Скоро она станет супер быстрой. еще очень большая емкость для роста скорости

== Latency Numbers Every Programmer Should Know
https://colin-scott.github.io/personal_website/research/interactive_latency.html
очень круто говорит о том сколько какие операции занимают
https://gist.github.com/hellerbarde/2843375
сегодня подкинули прикольный генератор для гитигнора
https://www.toptal.com/developers/gitignore
впринципе адекватно генерит
== 4 Microservices Caching Patterns at Wix
https://medium.com/wix-engineering/4-microservices-caching-patterns-at-wix-b4dfee1ae22f
1. Locally Persisted (or S3 backed) Configuration Data Cache
2. Kafka topic based 0-latency Cache
3. (Dynamo)DB+CDC based Cache
4. HTTP Reverse Proxy Caching (Varnish cache)
== Сколько зарабатывают айтишники в США // Зарплаты в США 2021
https://www.youtube.com/watch?v=AgPkrXcpuXo
в 2x смотреть нормально

~$117к за мид-синьер = ~$7312 чистыми

если ктото расскажет что в америке хоть чутчуть чтото просело в айти за время ковида - ВРАНЬЕ

https://info.motionrecruitment.com/hubfs/2021%20Tech%20Salary%20Guide/Tech-Salary-Guide_2021_OC.pdf

Sinior:
Back End - - - $125к - $155к
Embedded - - - $131к - $157к
Front End - - - $115k - $145k
QA - - - $110k - $136k
Security - - - $134k - $162k
Product & UX - - - $125k - $147k
Mobile - - - $131k - $164k
Infrastructure - - - $116k - $140k
Data - - - $132k - $165k
The Missing Semester of Your CS Education

https://github.com/danlark1/hse_missing_cs_education

== Лекция 01. Shell
https://youtu.be/4wLEVnGm_5c
база

== Лекция 02. Shell Scripting
https://youtu.be/4I24oiwAedI
- tmux
- terminal shortcuts
- noscripting (vars, functions)
- grep
- find
- sed

== Лекция 03. Text Editors
https://youtu.be/NcCwTYlB2Ss
вам нужно всего 20ч что бы спокойно работать с 80% функционала текстового редактора
!! vi & vim
Modes:
- normal (ходим по файлу и что-то меняем)
- insert (наконец-то пишем код)
- replace (заменяем текст)
- visual (выбираем блоки текста, копируем и вставляем потом)
- cmd
команды:
:q - просто выйти
:q! - выйти несохраняя
:w - сохранить
:wq - сохранить и выйти
:help :w - вывод хэлп тест для команды :w
v - переход в визуальный режим
i - переход в инсерт режим
ESC - выход из решима
h - влево
j - вниз
k - вверх
l - вправо
w - на следующее слов
e - в конец слова
b - в начало слова
^ - первый ненулевой символ в строке
$ - последний ненулевой символ в строке
:123 - на конкретную строку
gg - в начало файла
G - в конец файла
ctrl+u вверх
ctrl+d вниз

== Лекция 04. Git и Version Control Systems
https://youtu.be/xbZceDrBhIA
type object = blob | tree | commit
Forwarded from Andrew Tonko
https://www.youtube.com/watch?v=FtOAALNAhik
очень зачетно рассказывает будни ДевОпса = всего 2минуты
== Fuse bits
https://youtu.be/oTOQCYTTHfw
базовые настройки микроконтроллера.
можно случайно залочить мк. и нужно будет фьюз доктор или высоковольный программатор

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

Настройки тактирования
Внешний кварц, без него работать не будет

Делитель частоты на 8

Время старта мк

Настройка блока напряжения питания (не разрешает запускаться до определенного порога)

Настройка работы вочдога

Настройка епрома от стирания

Настройка бутлоадера, указание где находится и стоит ли запускаться с него

Настройка включения/выключения и разрешения самопрограммирования

Настройка последовательного интерфейса
== сторожевой пес = Watchdog
https://www.youtube.com/watch?v=z4vFB5e1q9U
если не сбросил конкретный бит в течении определенного количества тактов, то программа перезагрузится. произойдет ресет МК
Он работает максимально независимо от самого МК, вплоть до того что имеет собственный осцилятора, частота собственная, не зависит от того что именно тактирует сам МК

можно настраивать количество тактов сколько считать

можно включать/отключать вочдог

сделан специально что бы процесс программы не завис