#prog #article
The Alkyne GC
Статья описывает устройство сборщика мусора для скриптового языка программирования. Этот сборщик мусора относительно простой (однопоточный, stop-the-world, mark-and-sweep, без поддержки финализаторов), но не примитивный. На его примере демонстрируются техники оптимизации, которые используются в реальных сборщиках мусора.
The Alkyne GC
Статья описывает устройство сборщика мусора для скриптового языка программирования. Этот сборщик мусора относительно простой (однопоточный, stop-the-world, mark-and-sweep, без поддержки финализаторов), но не примитивный. На его примере демонстрируются техники оптимизации, которые используются в реальных сборщиках мусора.
👍10
Forwarded from ☕️ Мерлин заваривает τσάι 🐌
Так интересно слушать споры "разумна ли модель X или нет"
Люди, я не уверен что вы обладаете разумом.
Что уж говорить, не уверен что у меня самого есть разум.
Люди, я не уверен что вы обладаете разумом.
Что уж говорить, не уверен что у меня самого есть разум.
🤔11👍3😁2👎1
#prog #rust #rustasync #suckassstory
Ask not what the compiler can do for you
TL;DR: из-за того, что
Ask not what the compiler can do for you
TL;DR: из-за того, что
async_trait
боксит футуры и стирает типы, в асинхронном коде, использующем этот крейт, можно организовать безусловную рекурсию, и ни компилятор, ни clippy этого не отловят.GitHub
Ask not what the compiler can do for you
An Open Source Financial Switch to make Payments fast, reliable and affordable - juspay/hyperswitch
👍1
Окей, пусть требуется из кода поднять сетевой интерфейс на Linux. Не вопрос, получаем имя интерфейса через getifaddrs, заполняем
и вызываем ioctl с нужными флагами:
Есть только маааленький вопрос: какой именно файловый дескриптор нужен в качестве первого аргумента? Это обязательно должен быть сокет? Если да, то какой? AF_INET с SOCK_DGRAM, как это сделано в убогой interfaces? Или, может, как в одной из реализаций busybox, последовательно пробовать разные варианты сокетов? Почему в манах нигде об этом не написано? Почему, блин, в этих ваших интернетах нигде об этом не написано (а если и написано, то про работу через совсем другой способ, по протоколу netlink)?
И ещё. Какого хрена это идиотское сокращение IFNAMSZ? Буков жалко было?
struct ifreq req;
strncpy(&if_req, name, IFNAMSZ);
req.flags = IFF_UP;
и вызываем ioctl с нужными флагами:
ioctl(sock, SIOCSIFFLAGS, &req);
Есть только маааленький вопрос: какой именно файловый дескриптор нужен в качестве первого аргумента? Это обязательно должен быть сокет? Если да, то какой? AF_INET с SOCK_DGRAM, как это сделано в убогой interfaces? Или, может, как в одной из реализаций busybox, последовательно пробовать разные варианты сокетов? Почему в манах нигде об этом не написано? Почему, блин, в этих ваших интернетах нигде об этом не написано (а если и написано, то про работу через совсем другой способ, по протоколу netlink)?
И ещё. Какого хрена это идиотское сокращение IFNAMSZ? Буков жалко было?
GitHub
interfaces-rs/src/lib.rs at master · andrew-d/interfaces-rs
Library to work with network interfaces in Rust. Contribute to andrew-d/interfaces-rs development by creating an account on GitHub.
🤔4❤1👍1🤬1
#prog #tip
Встроенное в VS Code расширение для работы с Git очень помогает с ребейзами: показывает сообщение коммита, которое можно тут же и отредактировать, показывает отдельно списки staged changes и unstaged changes, одной кнопкой позволяет перевести отдельный файл из второе в первое, а также предупреждает, если вы пытаетесь застейджить файл с маркерами конфликта слияния (и да, конкретно этот пункт мне уже разок помог).
UPD: предупреждает при попытке застейджить файл с несохранёнными изменениями.
Встроенное в VS Code расширение для работы с Git очень помогает с ребейзами: показывает сообщение коммита, которое можно тут же и отредактировать, показывает отдельно списки staged changes и unstaged changes, одной кнопкой позволяет перевести отдельный файл из второе в первое, а также предупреждает, если вы пытаетесь застейджить файл с маркерами конфликта слияния (и да, конкретно этот пункт мне уже разок помог).
UPD: предупреждает при попытке застейджить файл с несохранёнными изменениями.
👌11
Блог*
#prog #tip Встроенное в VS Code расширение для работы с Git очень помогает с ребейзами: показывает сообщение коммита, которое можно тут же и отредактировать, показывает отдельно списки staged changes и unstaged changes, одной кнопкой позволяет перевести отдельный…
Telegram
Блог*
Блеск и нищета #rust:
https://twitter.com/frankmcsherry/status/954062968903405573
https://twitter.com/frankmcsherry/status/954062968903405573
😁8😐1
#prog #article
GPT-3 нашёл 213 Security Vulnerabilities... Или не нашёл
Этот текст является развёрнутым комментарием к статье "I Used GPT-3 to Find 213 Security Vulnerabilities in a Single Codebase". (перевод)
Я не разделяю энтузиазм и восторг автора статьи. Наши собственные эксперименты показали куда более скромные и неоднозначные результаты: Хорошо ли ChatGPT ищет ошибки в коде?
Мне кажется, GPT-3 очаровал автора, и он приписывает ему правильные ответы даже там, где их нет. Этим, возможно, и объясняется, что в статье говорится, что ложных срабатываний почти нет. Если не хотеть их замечать, то их и не будет :)
Почему я скептичен? Автор, скорее всего, приводит самые красивые и сильные примеры работы GPT-3. Согласитесь, вряд ли он отбирал слабые примеры :). Так вот, даже в этих отобранных примерах удачной работы имеются незамеченные автором ложные срабатывания.
GPT-3 нашёл 213 Security Vulnerabilities... Или не нашёл
Этот текст является развёрнутым комментарием к статье "I Used GPT-3 to Find 213 Security Vulnerabilities in a Single Codebase". (перевод)
Я не разделяю энтузиазм и восторг автора статьи. Наши собственные эксперименты показали куда более скромные и неоднозначные результаты: Хорошо ли ChatGPT ищет ошибки в коде?
Мне кажется, GPT-3 очаровал автора, и он приписывает ему правильные ответы даже там, где их нет. Этим, возможно, и объясняется, что в статье говорится, что ложных срабатываний почти нет. Если не хотеть их замечать, то их и не будет :)
Почему я скептичен? Автор, скорее всего, приводит самые красивые и сильные примеры работы GPT-3. Согласитесь, вряд ли он отбирал слабые примеры :). Так вот, даже в этих отобранных примерах удачной работы имеются незамеченные автором ложные срабатывания.
PVS-Studio
GPT-3 нашёл 213 Security Vulnerabilities... Или не нашёл
Этот текст является развёрнутым комментарием к статье I Used GPT-3 to Find 213 Security Vulnerabilities in a Single Codebase.
❤4
Блог*
#music youtube.com/watch?v=7rxTVFpo5EQ
YouTube
9bit Chiptune: Bytenommer – All the Rave
I started making this tune nine months ago but wasn't happy with it and left it unfinished. Now I finally found the willpower to come back to it to finish it, and I'm pretty happy with how it turned out! I'm particularly happy about the explosive first bar…
💩1🖕1🤷1