Use Private Key JWTs to Authenticate Your .NET Application - статья от Auth0. Да, это как бы привязано к Auth0, но выглядит неплохо. #dotnet
Auth0 - Blog
Use Private Key JWTs to Authenticate Your .NET Application
Add Private Key JWT authentication to your .NET application to empower security in sensitive contexts.
🔥2👍1💩1
Очень интересная статья про AVX512 - в частности как он был реализован AMD в ядре Zen4 и в Zen5 mobile (две операции по 256 бит) и как его сделали в ядре Zen5 (честные 512 бит). Но, есть конечно и физика, от которой никуда не деться:
Therefore, this behavior is consistent with the earlier observation that Zen5 can run AVX512 at full clock speed provided there is thermal headroom. Somehow Zen5 manages to keep all that extra hardware on standby and can wake it up instantly.
Но очень удивлён как это реализовано в Intel процессорах (далее мой перевод):
Для процессоров Intel эти переходы [от обычного кода к коду с AVX512] обрабатываются в два этапа:
1) При переходе от кода низкой интенсивности (low-intensity) к коду высокой интенсивности (high-intensity), код высокой интенсивности работает с резко сниженной пропускной способностью, чтобы уменьшить его интенсивность.
2) После длительного периода в ~50 000 циклов код с более высокой интенсивностью переключается на полную пропускную способность.
Как упоминалось ранее, процессоры Intel не могут запускать AVX512 на полной скорости, так как они выйдут из строя [ниже в статье есть упоминание про Vdroop и я пока не понял - то ли напряжение падает то ли наоборот подскакивает]. Поэтому, прежде чем он сможет запустить AVX512, ему сначала нужно снизить тактовую частоту.
Снижения тактовой частоты выполняется тактовым генератором и регулятором напряжения и это занимает время ~50 000 циклов. Также требуется дополнительные аппаратные модули, которые включаются и используются только с 512-битными инструкциями.
...
На более высоких тактовых частотах включены только нижние 128 бит 512-битных модулей. На этой [полной] скорости включение верхних 384 бит вызовет [повышение?] vdroop, которое может вывести ядро из строя. Только на более низких скоростях могут быть включены все 512 бит. Но во время ожидания, пока процессор переключается на более низкую частоту - код может выполнять 512 битные инструкции, используя нижние 128 бит, что занимает в 4 раза больше времени, но это лучше чем вообще ничего не делать.
Вместо приостановки выполнения на ~50 000 циклов, процессоры Intel разбивают более широкие инструкции и "многократно перекачивают" (multi-pump) их в модули, которые уже включены и готовы к использованию на текущей тактовой частоте.
(конец цитаты)
🤦♂️ походу костыли не только в софте бывают :))) Буду искать подробности ещё. #simd
Therefore, this behavior is consistent with the earlier observation that Zen5 can run AVX512 at full clock speed provided there is thermal headroom. Somehow Zen5 manages to keep all that extra hardware on standby and can wake it up instantly.
Но очень удивлён как это реализовано в Intel процессорах (далее мой перевод):
Для процессоров Intel эти переходы [от обычного кода к коду с AVX512] обрабатываются в два этапа:
1) При переходе от кода низкой интенсивности (low-intensity) к коду высокой интенсивности (high-intensity), код высокой интенсивности работает с резко сниженной пропускной способностью, чтобы уменьшить его интенсивность.
2) После длительного периода в ~50 000 циклов код с более высокой интенсивностью переключается на полную пропускную способность.
Как упоминалось ранее, процессоры Intel не могут запускать AVX512 на полной скорости, так как они выйдут из строя [ниже в статье есть упоминание про Vdroop и я пока не понял - то ли напряжение падает то ли наоборот подскакивает]. Поэтому, прежде чем он сможет запустить AVX512, ему сначала нужно снизить тактовую частоту.
Снижения тактовой частоты выполняется тактовым генератором и регулятором напряжения и это занимает время ~50 000 циклов. Также требуется дополнительные аппаратные модули, которые включаются и используются только с 512-битными инструкциями.
...
На более высоких тактовых частотах включены только нижние 128 бит 512-битных модулей. На этой [полной] скорости включение верхних 384 бит вызовет [повышение?] vdroop, которое может вывести ядро из строя. Только на более низких скоростях могут быть включены все 512 бит. Но во время ожидания, пока процессор переключается на более низкую частоту - код может выполнять 512 битные инструкции, используя нижние 128 бит, что занимает в 4 раза больше времени, но это лучше чем вообще ничего не делать.
Вместо приостановки выполнения на ~50 000 циклов, процессоры Intel разбивают более широкие инструкции и "многократно перекачивают" (multi-pump) их в модули, которые уже включены и готовы к использованию на текущей тактовой частоте.
(конец цитаты)
🤦♂️ походу костыли не только в софте бывают :))) Буду искать подробности ещё. #simd
🔥5👍2💩1
👍7💩1
Как думаете, стоит размещать вакансии от дружественных эйчаров (только пожирнее, например $5К+)?
Anonymous Poll
55%
Да
9%
Нет
37%
Я посмотреть
💩1
Расширение для Postgres, которое генерит разные короткие уникальные идентификаторы #postgres
💩1
Ещё одна штука забавная игрушка для #postgres - AI который, генерит схемы и скрипты. Надо попробовать поиграть с какими-нибудь хитрыми запросами. Наверное зайдет студентам, чтобы практику делать по СУБД :)
🔥4👍1💩1
Твиттер принёс интересную ссылку на CS3 Data Structures & Algorithms - больше описание разных алгоритмов (с дополнениями), с картинками и анимациями. Если пошарица уровнем выше - там много разного ещё есть. #docs #algorithms
👍7💩1
В продолжение поста чудес со шрифтами - теперь оказываеца можно делать highlight текста прямо шрифтом (без всяких CSS) с помощью штуки, которая называеца COLR table в OpenType шрифтах. Да, 8 цветов максимум, но для раскраски текста этого хватает с избытком.
В статье есть ссылка на такой шрифт. #css #front
В статье есть ссылка на такой шрифт. #css #front
🔥4💩1
Твиттер принёс статью про использование Postgres как search engine
Ну, pg_trgm и tsvector я давно использую и они работают на удивление хорошо. Да, сотен миллиардов записей у меня нету, но на миллионах - они работают как заявлено. #postgres
Ну, pg_trgm и tsvector я давно использую и они работают на удивление хорошо. Да, сотен миллиардов записей у меня нету, но на миллионах - они работают как заявлено. #postgres
👍1💩1
Ещё одна статья про Postgres - How Postgres stores data on disk - полезно понимать как это всё храница на самом деле (файлы, страницы, записи) и в особенности потому что это легко к этому получить доступ (почти как в MSSQL, где тоже есть функции чтения на +/- таких данных низком уровне) #postgres
drew.silcock.dev
How Postgres stores data on disk – this one's a page turner | drew's dev blog
A high-level overview of how PostgreSQL stores data on disk, covering segments, pages and more.
👍3🔥1💩1
Порылся тут в заметках notes app и нашёл список, который собирался для одного из проектов.
1. https://www.craft.do
2. https://www.notion.so
3. https://obsidian.md
4. https://evernote.com
5. https://www.onenote.com
6. https://keep.google.com
7. https://joplinapp.org
8. https://clickup.com
9. https://bear.app
10. https://workflowy.com
11. https://wetransfer.com
12. https://ulysses.app/en
13. https://www.squidnotes.com
14. https://simplenote.com
15. https://www.dropbox.com/paper/start
16. https://www.goodnotes.com
17. https://notability.com
18. https://coda.io
19. https://www.rapidtables.com/tools/notepad.html
20. https://usememos.com
21. https://www.fleetingnotes.app
22. https://culturedcode.com/things
23. https://coda.io
24. https://www.napkin.ai
25. https://www.getoutline.com
upd: камменты принесли ещё три проекта:
26. https://www.appflowy.io
27. https://affine.pro
28. https://anytype.io
1. https://www.craft.do
2. https://www.notion.so
3. https://obsidian.md
4. https://evernote.com
5. https://www.onenote.com
6. https://keep.google.com
7. https://joplinapp.org
8. https://clickup.com
9. https://bear.app
10. https://workflowy.com
11. https://wetransfer.com
12. https://ulysses.app/en
13. https://www.squidnotes.com
14. https://simplenote.com
15. https://www.dropbox.com/paper/start
16. https://www.goodnotes.com
17. https://notability.com
18. https://coda.io
19. https://www.rapidtables.com/tools/notepad.html
20. https://usememos.com
21. https://www.fleetingnotes.app
22. https://culturedcode.com/things
23. https://coda.io
24. https://www.napkin.ai
25. https://www.getoutline.com
upd: камменты принесли ещё три проекта:
26. https://www.appflowy.io
27. https://affine.pro
28. https://anytype.io
🔥6👍1💩1
WhoDB is a lightweight (~20MB), powerful, and user-friendly database management tool designed to streamline your database administration tasks. Combining the simplicity of Adminer with enhanced UX and performance, WhoDB is built with GoLang to deliver optimal speed and efficiency.
вебморда для того, чтобы потыкать базуна проде на stage наверное... Выглядит кросиво, но не более. Практической ценности пока не могу придумать - посмотреть пару записей в базе я могу и в консоли по ssh (хотя может кому-то удобнее в таком UI), а ставить ещё один сервис (=точку отказа) как-то не вижу смысла.
Умеет Postgres, Mysql, Sqlite3, MongoDB, Redis и ElasticSearch. Есть live demo. #tools
вебморда для того, чтобы потыкать базу
Умеет Postgres, Mysql, Sqlite3, MongoDB, Redis и ElasticSearch. Есть live demo. #tools
👍1💩1
История про One million checkboxes от его разработчика, в целом ничего сверхординарного, но почитать интересно
👍6💩1
Некоторая пауза в постах, потому что на работе повышенная занятость, сорян.
👌10👨💻7
Хорошая статья про низкоуровневый TCP, а именно - про штуки, которые называются MSS, MSS Clamping, PMTUD, and MTU #network #howto
🤯2👍1🔥1