Forwarded from Neural Machine
Сейчас мы можем делать все, что захотим, но скоро Бог будет судить нас.
👍6🤯5❤🔥3😁1
Forwarded from Гепардово гнездо
Еще про проклятые фичи баша
https://yossarian.net/til/post/some-surprising-code-execution-sources-in-bash
tl;dr: вот эта функция на баше при передаче «правильного» аргумента может привести к выполнению произвольного кода:
Мораль проста:не пишите на баше не передавайте в bash-скрипты недоверенные данные
https://yossarian.net/til/post/some-surprising-code-execution-sources-in-bash
tl;dr: вот эта функция на баше при передаче «правильного» аргумента может привести к выполнению произвольного кода:
function guess() {
num="${1}"
if [[ "${num}" -eq 42 ]]
then
echo "Correct"
else
echo "Wrong"
fi
}
Мораль проста:
🤯8💯4👍2🙏1
⚡️Хочешь крутить слоты 🎰 ПРЯМО В TELEGRAM? 💎🥵🥵
Если да, то... Что с тобой, блин, не так?
Если да, то... Что с тобой, блин, не так?
🌚10❤6👍1
Forwarded from Гепардово гнездо
https://www.ryanliptak.com/blog/every-rc-exe-bug-quirk-probably/
Не знаю, как вы, а я просто обожаю такие посты.
Здесь автор попытался написать альтернативную реализацию компилятора ресурсов Windows. Это программа, которая принимает текстовый
Альтернативных реализаций компилятора ресурсов много, но у автора была цель, которой не добивались остальные:написать все на новом модном современном Zig как можно точнее сохранить совместимость с оригинальной версией от Microsoft, вплоть до багов и незадокументированного поведения.
Как достичь этой цели? Например, можно написать код, а затем пофаззить оригинальную реализацию с альтернативной и найти, на каких данных они выдают разные результаты. В результате этого процесса автор нашел горы странного поведения в компиляторе ресурсов от Microsoft.
Пост длинный; если хотите посмотреть только самое интересное, можно поискать по странице по словам
Не знаю, как вы, а я просто обожаю такие посты.
Здесь автор попытался написать альтернативную реализацию компилятора ресурсов Windows. Это программа, которая принимает текстовый
.rc
файл с описанием менюшек, кнопочек, окошек, иконок, курсоров и прочего, и компилирует это описание в бинарный .res
файл, который потом встраивается в бинарник приложения под Windows.Альтернативных реализаций компилятора ресурсов много, но у автора была цель, которой не добивались остальные:
Как достичь этой цели? Например, можно написать код, а затем пофаззить оригинальную реализацию с альтернативной и найти, на каких данных они выдают разные результаты. В результате этого процесса автор нашел горы странного поведения в компиляторе ресурсов от Microsoft.
Пост длинный; если хотите посмотреть только самое интересное, можно поискать по странице по словам
utterly baffling
. Если же у вас много времени и вам не лень, можно прочесть и все :)Ryanliptak
Every bug/quirk of the Windows resource compiler (rc.exe), probably - ryanliptak.com
Fuzz testing decades-old software can turn up some curious behaviors
❤9👍3🔥3
#prog #article
Bunnyhopping from the Programmer's Perspective
Или про то, как реализовать багофичу "банни-хопинг" в коде
Bunnyhopping from the Programmer's Perspective
Или про то, как реализовать багофичу "банни-хопинг" в коде
👍4
#prog #article (и #performancetrap, видимо?)
The RAM myth (перевод)
Или о оптимизационных трюках, которые позволяют шардировать данные в RAM значительно быстрее наивного подхода (спойлер: они лучше утилизируют кэш). Бенчмарки наглядно показывают, насколько неадекватным является представление о RAM как о линейной памяти с константным доступом.
The RAM myth (перевод)
Или о оптимизационных трюках, которые позволяют шардировать данные в RAM значительно быстрее наивного подхода (спойлер: они лучше утилизируют кэш). Бенчмарки наглядно показывают, насколько неадекватным является представление о RAM как о линейной памяти с константным доступом.
purplesyringa's blog
The RAM myth
The RAM myth is a belief that modern computer memory resembles perfect random-access memory. Cache is seen as an optimization for small data: if it fits in L2, it’s going to be processed faster; if it doesn’t, there’s nothing we can do.
Most likely, you believe…
Most likely, you believe…
👍15❤🔥3👎1
#prog #rust хайлайты
Пару недель назад из лексера убрали зависимость от парсера. Почему эта зависимость была? Один из методов для восстановления от незакрытого разделителя полагался на создание временного парсера для того, чтобы давать диагностику получше. Как следствие, после этого изменения для парочки крайних случаев качество диагностик несколько снизилось.
Пару недель назад из лексера убрали зависимость от парсера. Почему эта зависимость была? Один из методов для восстановления от незакрытого разделителя полагался на создание временного парсера для того, чтобы давать диагностику получше. Как следствие, после этого изменения для парочки крайних случаев качество диагностик несколько снизилось.
GitHub
Remove `Lexer`'s dependency on `Parser`. by nnethercote · Pull Request #134192 · rust-lang/rust
Lexing precedes parsing, as you'd expect: Lexer creates a TokenStream and Parser then parses that TokenStream.
But, in a horrendous violation of layering abstractions and common sense, Lexe...
But, in a horrendous violation of layering abstractions and common sense, Lexe...
🤔10👍2🤡1🥴1🌚1
#prog #article
Storing currency values: data types, caveats, best practices
This article is not the final source of the truth, but it contains useful information that you should take into consideration when designing software.
(thanks @badassorange)
Storing currency values: data types, caveats, best practices
This article is not the final source of the truth, but it contains useful information that you should take into consideration when designing software.
(thanks @badassorange)
cardinalby.github.io
Storing currency values: data types, caveats, best practices
Intro
Repeatedly facing questions, debates, and mistakes related to storing and representing currency amounts, I decided to collect all facts and advice regarding this topic in one place. This article is not the final source of the truth, but it contains…
Repeatedly facing questions, debates, and mistakes related to storing and representing currency amounts, I decided to collect all facts and advice regarding this topic in one place. This article is not the final source of the truth, but it contains…
👍2❤1
#prog #rust #article
Thoughts on Rust hashing
Или о том, как дизайн API для хеширования в Rust напрямую ведёт к неэффективностям.
Thoughts on Rust hashing
Или о том, как дизайн API для хеширования в Rust напрямую ведёт к неэффективностям.
purplesyringa's blog
Thoughts on Rust hashing
In languages like Python, Java, or C++, values are hashed by calling a “hash me” method on them, implemented by the type author. This fixed-hash size is then immediately used by the hash table or what have you. This design suffers from some obvious problems…
👍9
Forwarded from Таксики и лытдыбр σποραδικος
Короче.
У нас по соседству с кладбищем находится цирк.
И если это не объясняет всю нашу жизнь, то что тогда.
У нас по соседству с кладбищем находится цирк.
И если это не объясняет всю нашу жизнь, то что тогда.
😁13🤡8😢1