Что делать
Pentium 1993 года, 3.1млн транзисторов. Над непосредственно кремнием 3 слоя проводок и соединений
А красивый же!
https://www.righto.com/2025/01/pentium-floating-point-ROM.html
В FPU есть отдельный ROM с вхардкоженными (вхардпаянными?) константами, как то же число pi.
Вообще, статья, помимо прочего, интересна ещё и тем, что вкратце (но избыточно) описывает устройство самих транзисторов, и как из них можно константную память сконструировать. Жаль, правда, что я сам едва ли могу это раздуплить
https://www.righto.com/2025/01/pentium-floating-point-ROM.html
В FPU есть отдельный ROM с вхардкоженными (вхардпаянными?) константами, как то же число pi.
Вообще, статья, помимо прочего, интересна ещё и тем, что вкратце (но избыточно) описывает устройство самих транзисторов, и как из них можно константную память сконструировать. Жаль, правда, что я сам едва ли могу это раздуплить
Righto
Pi in the Pentium: reverse-engineering the constants in its floating-point unit
Intel released the powerful Pentium processor in 1993, establishing a long-running brand of high-performance processors. 1 The Pentium incl...
А я тут в общем свою обобщённую header-only библиотеку для динмассивов сделал таки. Для функции роста решил взять из голанга вместо линейного удвоения, как это часто делают - я там даже целый тестовый стенд на питоне накалякал, чтобы более интерактивно смотреть за поведением функций, скину в комменты. Но забавно оказалось, когда я попытался сделать:
И раскрылось оно в
Пошёл узнавать - да, удостоверился, что препроцессор не следует грамматике С. Вот и рассматривал запятую в f(1, 2), как свою запятую. То есть - для него это два разных аргумента: f(1 и 2). Стрельба по коленям, внезапно, вызывает боль и отстреленное колено.
PUSH(vec, f(1, 2))
И раскрылось оно в
... = f(1; } (да, прям так и кончается). Ну пиздец.Пошёл узнавать - да, удостоверился, что препроцессор не следует грамматике С. Вот и рассматривал запятую в f(1, 2), как свою запятую. То есть - для него это два разных аргумента: f(1 и 2). Стрельба по коленям, внезапно, вызывает боль и отстреленное колено.
❤2
Avalanche effect в хэш-функциях
Пустовато здесь, поэтому буду хоть какими-то филлерами прайм-тайм забивать. Пускай и хуже сформулированными вырезками из вики.
Avalanche effect (он же лавинный эффект) - это понятие из криптографии, применяющиеся обычно к хэш-функциям или симметричным шифрам. Суть заключается в том, чтобы малейшие изменения на входе давали значительные различия на выходе. Вот как SHA-*: поменяй одну буковку - и совершенно новый хэш. Хоть и хватило бы единственный бит флипнуть.
Интересно, а сюда можно как-нибудь эффект бабочки притянуть?
Пустовато здесь, поэтому буду хоть какими-то филлерами прайм-тайм забивать. Пускай и хуже сформулированными вырезками из вики.
Avalanche effect (он же лавинный эффект) - это понятие из криптографии, применяющиеся обычно к хэш-функциям или симметричным шифрам. Суть заключается в том, чтобы малейшие изменения на входе давали значительные различия на выходе. Вот как SHA-*: поменяй одну буковку - и совершенно новый хэш. Хоть и хватило бы единственный бит флипнуть.
Интересно, а сюда можно как-нибудь эффект бабочки притянуть?
😁2🤡2👎1💩1😇1
https://wilsoniumite.com/2025/01/21/weve-lost-our-respect-for-complexity/
TL;DR мы склонны недооценивать сложность. Практически всегда за практически всем стоит сложность, превышающая наши ожидания, и узнать о которой можно лишь испробовав самому. Прочувствовать изнутри, иными словами - к примеру, лишь поработав официантом, начнёшь действительно ценить их труд. Думаю, сюда же можно отнести совет поработать в общепите прежде, чем открывать собственное заведение.
Фактически - он на прикладном примере разделяет людей на тех, кто знает, о чём он НЕ знает, и на тех, кто НЕ знает, о чём он НЕ знает. А заодно - и выдвигает теорию, что эти две категории людей периодически сменяются: чаша весов, как синусоида - качается в разные стороны. И сейчас настала пора вторых.
TL;DR мы склонны недооценивать сложность. Практически всегда за практически всем стоит сложность, превышающая наши ожидания, и узнать о которой можно лишь испробовав самому. Прочувствовать изнутри, иными словами - к примеру, лишь поработав официантом, начнёшь действительно ценить их труд. Думаю, сюда же можно отнести совет поработать в общепите прежде, чем открывать собственное заведение.
Фактически - он на прикладном примере разделяет людей на тех, кто знает, о чём он НЕ знает, и на тех, кто НЕ знает, о чём он НЕ знает. А заодно - и выдвигает теорию, что эти две категории людей периодически сменяются: чаша весов, как синусоида - качается в разные стороны. И сейчас настала пора вторых.
👍2
Забавно. Проверил на индиге - оказывается, у меня самый старый файл - это гитигнор) У меня действительно не осталось ни единой строчки кода с тех времён, когда я только начинал писать проект. Интересно, а это уже новый проект, или всё ещё корабль Тесея?
Forwarded from Hacker News
https://vas3k.blog/blog/blockchain/#tranzaktsii
https://vas3k.blog/blog/ethereum/
Вообще офигенные статьи у Вась3к, рекомендую ознакомиться
https://vas3k.blog/blog/ethereum/
Вообще офигенные статьи у Вась3к, рекомендую ознакомиться
vas3k.blog
Блокчейн изнутри: как устроен биткоин
Разбираемся раз и навсегда человеческим языком
https://docs.google.com/spreadsheets/d/1-UlA4-tslROBDS9IqHalWVztqZo7uxlCeKPQ-8uoFOU/edit?pli=1&gid=0#gid=0
Большая таблица протоколов передачи данных с информацией про их безопасность, поддержку, функционал и т.д.
Матрикс уверенно побеждает
Большая таблица протоколов передачи данных с информацией про их безопасность, поддержку, функционал и т.д.
Матрикс уверенно побеждает
🔥3🤡1
https://graphics.stanford.edu/~seander/bithacks.html
Прикольно. Оказывается, можно даже битхаком узнавать, присутствует ли в 32х битном числе байт с конкретным значением. За О(1), получается
Прикольно. Оказывается, можно даже битхаком узнавать, присутствует ли в 32х битном числе байт с конкретным значением. За О(1), получается
🤩1
https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/
Прикольно. Для 32х-битных x, n вместо
Прикольно. Для 32х-битных x, n вместо
x%n можно писать (uint64(x) * n) / 32, и это будет в 4 раза быстрее (если заменить деление на битшифт, конечно же)🔥1
Что делать
https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/ Прикольно. Для 32х-битных x, n вместо x%n можно писать (uint64(x) * n) / 32, и это будет в 4 раза быстрее (если заменить деление на битшифт, конечно же)
Нет, хуйню спизданул. Делить не на 32, делить на 2^32, поскольку битшифт вправо на x тождественен делению на 2^х
🔥1