Внезапно и совершенно случайно выяснил, что домены в зоне .dev chrome/ff/edge открывает только по https и нет никакого способа это исправить. Ну тоесть делаешь в DNS запись типа test.domain1.dev, поднимаешь локально сервер по http и в браузере открываешь - а нет, нифига. Редирект на HTTPS делается всегда. И кажеца это не лечица никак:
Chrome 63 (out since December 2017), will force all domains ending on .dev (and .foo) to be redirected to HTTPS via a preloaded HTTP Strict Transport Security (HSTS) header.
Chrome 63 (out since December 2017), will force all domains ending on .dev (and .foo) to be redirected to HTTPS via a preloaded HTTP Strict Transport Security (HSTS) header.
🤔6💩1
Most-Used Distributed System Design Patterns - краткое описание некоторых паттернов #architecture
👍2
plausible - интересная альтернатива google analytics:
Google Analytics Script:
• ~65 KB compressed, 67.4KB on the network
• Blocked by Safari, Firefox, etc.
• Challenging to setup (If you have a few days)
• Complex features
Plausible Script:
• 0.7 KB compressed, 1.2KB on the network
• Not blocked by Safari, Firefox, etc.
• Easy and quick to setup
• Uncomplicated
сравнение конечно интересно, надо посмотреть как оно на самом деле. По первому впечатлению - возможностей конечно поменьше чем у GA, но с другой стороны - всё намного проще и быстрее. И пока не режеца браузерами. #front #js
Google Analytics Script:
• ~65 KB compressed, 67.4KB on the network
• Blocked by Safari, Firefox, etc.
• Challenging to setup (If you have a few days)
• Complex features
Plausible Script:
• 0.7 KB compressed, 1.2KB on the network
• Not blocked by Safari, Firefox, etc.
• Easy and quick to setup
• Uncomplicated
сравнение конечно интересно, надо посмотреть как оно на самом деле. По первому впечатлению - возможностей конечно поменьше чем у GA, но с другой стороны - всё намного проще и быстрее. И пока не режеца браузерами. #front #js
👍6
Byte Pair Encoding in different languages - странный тест, где шарп обгоняет С++ почти в 4 раза.
Вообще конечно там есть много вопросов. Например, почему в С++ используется std::unordered_map, а в C# не используется SIMD. Ну что, кто перепишет код на шарпах на SIMD? :) #benchmark
Вообще конечно там есть много вопросов. Например, почему в С++ используется std::unordered_map, а в C# не используется SIMD. Ну что, кто перепишет код на шарпах на SIMD? :) #benchmark
👍1🤔1💩1
Converting ASCII strings to lower case at crazy speeds with AVX-512 - всё это конечно хорошо, но я как-то ощущаю, что в основном строки, которым делают lower case они короче 64 символов (HTTP-заголовки например). Так что выигрыш конечно на синтетике будет адовейший, но в реальности для этого хватит и Vector<128> или Vector<256> #simd
👍3💩1
Интересный тред про LLM - могут ли LLM предсказать результаты экспериментов в области социальных наук?
tldr - с вероятностью 0.85 :)
#llm
tldr - с вероятностью 0.85 :)
#llm
Threadreaderapp
Thread by @RobbWiller on Thread Reader App
@RobbWiller: 🚨New WP: Can LLMs predict results of social science experiments?🚨 Prior work uses LLMs to simulate survey responses, but can they predict results of social science experiments? Across 70 studies, we fin...…
👍1💩1
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