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

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

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

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

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

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

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

Настройка последовательного интерфейса