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
Экстремальный_Cи_Параллелизм,_ООП_и_продвинутые_возможности_2021.pdf
7.8 MB
Экстремальный Cи. Параллелизм, ООП и продвинутые возможности
Автор: Камран Амини
Книга научит пользоваться продвинутыми низкоуровневыми возможностями языка для создания эффективных систем.
#c
Forwarded from Блог*
#prog #rust #article

Очередная статья про обработку ошибок в Rust, да. Но полезная: ставит под сомнения и разбирает распространённые мнения об ошибках в Rust. В частности, разбирается совет "anyhow для приложений, thiserror для библиотек".
курс по параллельным алгоритмам, вычислениям на видеокартах

== 1. История видеокарт, введение в OpenCL
https://youtu.be/2_vUxISp7ko

CPU parallelism
- out-of-order optimizations (instruction level parallelism)
- branch predictor
- hyper-treading
- multi-core parallelism
- SIMD intrinsic functions - SSE, SSE2, SSE3 (по 4 числа). AVX, AVX2 (по 8 чисел)

GPU
- vertex shader 9вершины и треугольники)
- fragment shader (пиксели, освещение)

GPGPU API
- closeto metal
- cuda
- openCl
- Metal

GPU
- SIMT instructions

Computation model in OpenCL/Cuda:
- Work space (Height X WIdth)
- Work group
- Work Item
- Kernel (program)

!!! отказ от синхронизации
INTRINSIC FUNCTION

https://en.wikipedia.org/wiki/Intrinsic_function
встроенные функции в процессор, которые доступны из ЯП. используются для оптимизации вычислений или предоставляют какие либо функциональные возможности. например обработка массива данных одной функцией из линейной алгебры. может быть вставлена компилятором автоматически если он видет такую возможность

== Intrinsic Functions - Vector Processing Extensions
https://youtu.be/x9Scb5Mku1g
1512.00168.pdf
866.7 KB
Consistency in Non-Transactional Distributed Storage Systems

про распределенные нетранзакционные системы
Consistency in Non-Transactional Distributed Storage Systems

про распределенные нетранзакционные системы
== Pablo Galindo Salgado - Time to take out the rubbish: garbage collector - PyCon 2019
https://youtu.be/CLW5Lyc1FN8
- reference counting (count, ownership)

- identify cycles
- deference rc
- clear weak refs (very tricky)
- call finalizers (very tricky)
- resurrection (abort cancelation)
- clear ref cycles
- generational GC - survive the object to next gen.
- atomic
- copy On Write (when forked process) - BUT rc gets troubles !!!
- calculating total memory costs


- pep 442 DETERMINE object finalization

хороший доклад от кор-разраба питона про ГЦ в питоне
Генерация случайных значений с помощью модуля secrets

Встроенный модуль secrets используется для генерации криптографически стойких случайных чисел, с помощью средств предоставляемых операционной системой. Что хорошо подходит при работе с паролями, токенами аутентификации.

Интерфейс использования secrets довольно прост и схож с random. Его основные функции:

secrets.choice(collection) - возвращает случайно выбранный элемент из переданной коллекции.

secrets.randbelow(n) - возвращает случайный int в диапазоне [0, n).

secrets.randbits(n) - возвращает целое число int состоящее из n случайных бит.

secrets.token_bytes(n) - возвращает случайную байтовую строку, содержащую n байт.

token_hex(n) - возвращает случайную строку из n байт в шестнадцатеричной формате.

token_urlsafe(n) - возвращает URL-безопасную строку, содержащая n байт, закодированную в Base64.

Также в модуле есть класс SystemRandom, который поддерживает большинство функций определенных в random.
Пользуясь случаем напоминаю, что 3.7 и 3.8 сейчас находятся на этапе security fixes only. То есть, если вы хотите, чтобы в вашем питоне исправлялись всякие баги с неправильным поведением и падениями, то вам нужно быть как минимум на 3.9.

Вот хорошая диаграмма, визуализирующая время жизни разных версий интерпретатора: https://python-release-cycle.glitch.me/
🌚 Даже при минимальной настройке и бездействии телефона и iOS, и Google Android обмениваются данными с Apple/Google в среднем каждые 4,5 минуты.

🌚 И iOS, и Google Android передают телеметрию, несмотря на то, что пользователь явно отказался от этого.

🌚 При установке SIM-карты и iOS, и Google Android отправляют данные в Apple/Google - IMEI телефона, серийный номер оборудования, серийный номер SIM-карты и IMSI, номер телефона и т.д. передаются в Apple и Google.

🌚 iOS отправляет MAC-адреса близлежащих устройств, например, других телефонов и домашнего шлюза, в Apple вместе с их местоположением по GPS. Пользователи не имеют возможности отказаться от этого, и в настоящее время существует мало, если вообще существует, реальных вариантов предотвращения такого обмена данными.
Эта картинка выглядит почти нормально. При этом 99.7% байт в ней — это данные про яркость, и только 0.3% — данные про цвет. Картинка выглядит почти нормально, потому что человеческий глаз замечает изменения в яркости гораздо лучше, чем в цвете.

Доклад c web.​dev live про то, как эту и другие особенности зрения используют алгоритмы сжатия изображений: https://youtu.be/F1kYBnY6mwg