Ахахаха, последний пост Дурова собрал так много дизлайков (порядка 30 тысяч), что он вырубил на канале реакции 🤡
🤡15😁8🤮2
Блог*
Ахахаха, последний пост Дурова собрал так много дизлайков (порядка 30 тысяч), что он вырубил на канале реакции 🤡
Telegram
Внутри Микроволновки
Ёбаный рот этого casino.ton
Как я и боялся - лишение юзернеймов в телеграме оказалось массовым, и то что появлялось в недавних действиях канала: «возвращение юзернейма» от имени создателя оказалось… просто багом. Мои знакомые админы всё ещё тщетно пытаются…
Как я и боялся - лишение юзернеймов в телеграме оказалось массовым, и то что появлялось в недавних действиях канала: «возвращение юзернейма» от имени создателя оказалось… просто багом. Мои знакомые админы всё ещё тщетно пытаются…
👍2❤1👎1😱1💩1
#prog #python #abnormalprogramming
Crimes with Python's Pattern Matching (перевод)
Или как при помощи
Crimes with Python's Pattern Matching (перевод)
Или как при помощи
__subclasshook__
поменять и даже сломать декларативность и семантику pattern matching в Python.Hillel Wayne
Crimes with Python's Pattern Matching
Let's make the CPython team regret adding pattern matching to Python!
👍1
#music
Я всё ещё считаю, что Bytenommer незаслуженно непопулярен. И этот трек, пожалуй, пока что наилучшее из того, что он сделал.
youtube.com/watch?v=Lp2TxF8KTOM
Я всё ещё считаю, что Bytenommer незаслуженно непопулярен. И этот трек, пожалуй, пока что наилучшее из того, что он сделал.
youtube.com/watch?v=Lp2TxF8KTOM
YouTube
9bit Chiptune: Bytenommer – Mission Critical
Our heroes are outnumbered, so a veteran fighter ace is called back from retirement to push back the enemy force. The mission is critical.
Thanks to DDRKirby for their freely available FL studio chiptune resources. https://ddrkirby.com/music/music.html
…
Thanks to DDRKirby for their freely available FL studio chiptune resources. https://ddrkirby.com/music/music.html
…
👍2🤔1💩1
Forwarded from Дневник пидора-провинциала | Ярослав Распутин
Ебитесь у себя в бункере — и поставьте хорошую охрану. Иначе наши дети будут размахивать вашими трусами. Главной гей-новостью сегодняшнего дня стало задержание в Москве двух молодых парней, которым не посчастливилось заняться сексом на балконе и попасться на глаза детям.
#гейновости #гомофобия #дайджест
Новость настолько абсурдная, что я её принял было за фейк. Все следы сначала сводились исключительно к публикации BAZA, затем ещё MSK1 сослался на свои источники, а Саше Рахманову пришло сообщение от вроде как друга одного из задержанных.
Что известно: жительница Москвы вызвала полицию, заявив, что двое мужчин занимаются сексом на глазах у её детей, мальчиков 12 и 13 лет, в квартире, выходящей окнами на детскую площадку. Полицейские приехали и обнаружили там двух раздетых парней, Тимура и Даниила, которые якобы заявили, что чинили трубу и разделись из-за жары. Парней вроде как тут же упекли в СИЗО на 2 месяца, им вменяют 132 ч. 4 УК РФ. База добавляет, что мать детей, вызвавшая полицию, якобы передумала парней за произошедшее сажать.
Что здесь не так: если ребёнок видит чужие половые органы, но не прикасается к ним — это невозможно трактовать как секснасилие, но можно трактовать как растление. Друзья из Дело ЛГБТ в личном общении приводят печальный факт: российские суды за такое реально сажают невиновных, вот дальнобойщик Руслан Вахапов отсидел пять лет за то, что вышел из автомобиля помочиться на обочину, это увидели дети — следствие сочло это растлением, суд согласился, оспорить не удалось.
Что говорят геи в Телеграме: ну лично я говорю, что это пиздец.
Дима Толкачёв подмечает: в формулу «занимайтесь дома чем хотите» добавляются новые условия, о том же грустно иронизирует Федя Фетисов, на ту же тему злится Лео Велес.
Игорь Кочетков уверен (как и Толкачёв), что хороший адвокат легко развалит это дело. Парни, обратитесь в Дело ЛГБТ! Организация молодая, зато защитники в ней матёрые.
Андрей Нечаев обращает внимание на то, как быстро полиция отреагировала и приехала. Это вам не муж жену режет, это безотлагательно!
Ренат Давлетгильдеев задумывается, сколько раз рисковал попасть на точно то же самое место — о да, я тоже задумался и страшно. Влад Крылов обратил внимание, что новость — первая в топе Яндекса.
Саша Рахманов днём надеялся, что это фейк, Саша Канинчик (верно?) просто не мог подобрать слов.
Больше развития за день у новости не случилось, я до сих пор держу скрещенными пальчики, чтобы журналисты ошибались хотя бы насчёт СИЗО. Я много раз говорил, что гомофобная истерия всегда вспыхивает с новой силой, стоит опросам показать, что россияне не такие гомофобные, как хочется пропаганде. Но тут, кажется, перебор уже даже для сторонних наблюдателей.
Надеюсь, что перебор.
#гейновости #гомофобия #дайджест
Новость настолько абсурдная, что я её принял было за фейк. Все следы сначала сводились исключительно к публикации BAZA, затем ещё MSK1 сослался на свои источники, а Саше Рахманову пришло сообщение от вроде как друга одного из задержанных.
Что известно: жительница Москвы вызвала полицию, заявив, что двое мужчин занимаются сексом на глазах у её детей, мальчиков 12 и 13 лет, в квартире, выходящей окнами на детскую площадку. Полицейские приехали и обнаружили там двух раздетых парней, Тимура и Даниила, которые якобы заявили, что чинили трубу и разделись из-за жары. Парней вроде как тут же упекли в СИЗО на 2 месяца, им вменяют 132 ч. 4 УК РФ. База добавляет, что мать детей, вызвавшая полицию, якобы передумала парней за произошедшее сажать.
Что здесь не так: если ребёнок видит чужие половые органы, но не прикасается к ним — это невозможно трактовать как секснасилие, но можно трактовать как растление. Друзья из Дело ЛГБТ в личном общении приводят печальный факт: российские суды за такое реально сажают невиновных, вот дальнобойщик Руслан Вахапов отсидел пять лет за то, что вышел из автомобиля помочиться на обочину, это увидели дети — следствие сочло это растлением, суд согласился, оспорить не удалось.
Что говорят геи в Телеграме: ну лично я говорю, что это пиздец.
Дима Толкачёв подмечает: в формулу «занимайтесь дома чем хотите» добавляются новые условия, о том же грустно иронизирует Федя Фетисов, на ту же тему злится Лео Велес.
Игорь Кочетков уверен (как и Толкачёв), что хороший адвокат легко развалит это дело. Парни, обратитесь в Дело ЛГБТ! Организация молодая, зато защитники в ней матёрые.
Андрей Нечаев обращает внимание на то, как быстро полиция отреагировала и приехала. Это вам не муж жену режет, это безотлагательно!
Ренат Давлетгильдеев задумывается, сколько раз рисковал попасть на точно то же самое место — о да, я тоже задумался и страшно. Влад Крылов обратил внимание, что новость — первая в топе Яндекса.
Саша Рахманов днём надеялся, что это фейк, Саша Канинчик (верно?) просто не мог подобрать слов.
Больше развития за день у новости не случилось, я до сих пор держу скрещенными пальчики, чтобы журналисты ошибались хотя бы насчёт СИЗО. Я много раз говорил, что гомофобная истерия всегда вспыхивает с новой силой, стоит опросам показать, что россияне не такие гомофобные, как хочется пропаганде. Но тут, кажется, перебор уже даже для сторонних наблюдателей.
Надеюсь, что перебор.
Telegram
Дневник пидара-провинциала
Двое молодых геев из Москвы занялись сексом у себя дома возле открытого окна и теперь могут сесть на 20 лет. Их увидели дети и пожаловались маме.
Пикантную сцену в окне увидели мальчики 12 и 13 лет, которые живут в доме на 1-м Краснокурсантском проезде.…
Пикантную сцену в окне увидели мальчики 12 и 13 лет, которые живут в доме на 1-м Краснокурсантском проезде.…
🤬12👍1
Forwarded from Коробка 37 📦🏳️🌈🔞
Чисто на сравнение вам новость:
https://snob.ru/accidents/v-tatarstane-opravdali-muzhchinu-iznasilovavshego-polutorogodovaluyu-doch/
Но кошмарят уголовкой парней, которые проводили вместе время у себя дома.
https://snob.ru/accidents/v-tatarstane-opravdali-muzhchinu-iznasilovavshego-polutorogodovaluyu-doch/
Но кошмарят уголовкой парней, которые проводили вместе время у себя дома.
🤬7🤯3
#prog #go
В Go недавно (кстати, thanks @go_perf) внесли изменение: "strconv: optimize Parse for []byte arguments". Что же там такого сделали? Читаем:
When one has a []byte on hand, but desires to call the Parse functions,
the conversion from []byte to string would allocate.
any of the Parse functions. Together with the compiler optimization
where the compiler stack allocates any string smaller than 32B
this makes most valid inputs for strconv.ParseXXX(string(b), ...)
not require an allocation for the input string.
<...>
Previously, this was not possible since the input leaked to the error,
which causes the prover to give up and instead heap copy the []byte.
We fix this by copying the input string in the error case.
The advantage of this change is that you can now call strconv.ParseXXX
with a []byte without allocations (most times) in the non-error case.
The detriment is that the error-case now has an extra allocation.
We should optimize for the non-error path, rather than the error path.
Так а для чего это в принципе понадобилось? Дело в том, что строки в Go — это единственный, помимо числовых, неизменяемый тип данных. Не смотря на то, что представление строки — это префикс представления слайса (указатель и длина) и, по идее, конвертация из одного в другое должна быть дешёвой, в общем случае это делать небезопасно: этот слайс могут менять где-то в другом месте и таким образом инвалидировать иммутабельность строки. Именно поэтому конвертация из
(Кстати, функции для парсинга почему-то хоть и возвращают всегда
Как и описано в изменении, на error path строка теперь копируется. Но причём тут extra allocation, если аллокация и так раньше была? Дело в том, как именно это копирование строки реализовано — через написанную на месте функцию
Для сравнения: в Rust операция парсинга (которая, между прочим, называется одинаково вне зависимости от разбираемого типа и даже может поддержать кастомный тип через реализацию FromStr) проводится на
TL;DR: отсутствие иммутабельности в Go (как, впрочем, и странные решения в стандартной библиотеке) напрямую ведёт к необходимости трейдоффов по производительности.
В Go недавно (кстати, thanks @go_perf) внесли изменение: "strconv: optimize Parse for []byte arguments". Что же там такого сделали? Читаем:
When one has a []byte on hand, but desires to call the Parse functions,
the conversion from []byte to string would allocate.
var b []byte = ...This changes it such that the input string never escapes from
v, err := strconv.ParseXXX(string(b), ...)
any of the Parse functions. Together with the compiler optimization
where the compiler stack allocates any string smaller than 32B
this makes most valid inputs for strconv.ParseXXX(string(b), ...)
not require an allocation for the input string.
<...>
Previously, this was not possible since the input leaked to the error,
which causes the prover to give up and instead heap copy the []byte.
We fix this by copying the input string in the error case.
The advantage of this change is that you can now call strconv.ParseXXX
with a []byte without allocations (most times) in the non-error case.
The detriment is that the error-case now has an extra allocation.
We should optimize for the non-error path, rather than the error path.
Так а для чего это в принципе понадобилось? Дело в том, что строки в Go — это единственный, помимо числовых, неизменяемый тип данных. Не смотря на то, что представление строки — это префикс представления слайса (указатель и длина) и, по идее, конвертация из одного в другое должна быть дешёвой, в общем случае это делать небезопасно: этот слайс могут менять где-то в другом месте и таким образом инвалидировать иммутабельность строки. Именно поэтому конвертация из
[]byte
в string
в общем случае должна аллоцировать память. Да, в Go есть escape analysis, но он тут не работал из-за сомнительного дизайн-решения: ошибка парсинга включает в себя текст разбираемой строки.(Кстати, функции для парсинга почему-то хоть и возвращают всегда
*NumError
— и даже пишут об этом в документации — но скрывают это в типах за error)Как и описано в изменении, на error path строка теперь копируется. Но причём тут extra allocation, если аллокация и так раньше была? Дело в том, как именно это копирование строки реализовано — через написанную на месте функцию
cloneString
:func cloneString(x string) string { return string([]byte(x)) }
И тут действительно две аллокации: из строки в слайс и из слайса в строку — на одну больше, чем до изменения. Казалось бы, можно использовать strings.Clone, которая ровно для этого и предназначена (и, кстати, которая эксплуатирует одинаковое представление префикса слайса и строки). Но нет, как написано в комментариях, транзитивной зависимостью strings
является пакет unicode с объёмными таблицами, добавляющими размер итоговому бинарю.Для сравнения: в Rust операция парсинга (которая, между прочим, называется одинаково вне зависимости от разбираемого типа и даже может поддержать кастомный тип через реализацию FromStr) проводится на
&str
. Какими бы не были байты на руках, их всегда можно привести к &[u8]
, ссылке на байтовый слайс, а их, в свою очередь, через std::str::from_utf8 к &str
. Это не совсем дёшево в том плане, что требует прохода по всем байтам для того, чтобы убедиться, что они корректно закодированы в UTF-8, но всё же не требует аллокации в куче. Иммутабельность ссылки на пару с borrow checker-ом гарантируют, что во время вызова str::parse
нижележащие байтики не будут изменены. При этом этот запрет на изменение действует лишь на время жизни ссылки, а потому ничто не мешает сделать это со ссылкой на некоторый изменяемый буфер.TL;DR: отсутствие иммутабельности в Go (как, впрочем, и странные решения в стандартной библиотеке) напрямую ведёт к необходимости трейдоффов по производительности.
👍9
Блог*
#prog #rust #rustlib #serde #amazingopensource Хозяйке на заметку Подборка библиотек для работы с serde от замечательного Толяна dtolnay. erased-serde — трейты из serde со стёртыми типами. Позволяют сделать из (де)сериализаторов трейт-объекты. Обычно это…
#prog #rust #serde #article
Exploring Traits with Erased ‘serde’ — статья с демонстрацией того, как erased-serde выглядит на практике и где это может пригодиться
Exploring Traits with Erased ‘serde’ — статья с демонстрацией того, как erased-serde выглядит на практике и где это может пригодиться
The Coded Message
Exploring Traits with Erased 'serde'
I came across a programming problem recently where I wanted to use dynamic polymorphism with serde. This turned out to be much easier than I expected, and I thought it was an interesting enough case study to share, especially for people who are learning Rust.…
#prog #rust #article
Trivia About Rust Types: An (Authorized) Transcription of Jon Gjengset’s Twitter Thread
Коллекция небольших неожиданных фактов о типах в Rust. И пофиг, что это компиляция треда в твиттере, всё равно интересно
Trivia About Rust Types: An (Authorized) Transcription of Jon Gjengset’s Twitter Thread
Коллекция небольших неожиданных фактов о типах в Rust. И пофиг, что это компиляция треда в твиттере, всё равно интересно
The Coded Message
Trivia About Rust Types: An (Authorized) Transcription of Jon Gjengset's Twitter Thread
Preface (by Jimmy Hartzell) I am a huge fan of Jon Gjengset’s Rust for Rustaceans, an excellent book to bridge the gap between beginner Rust programming skills and becoming a fully-functional member of the Rust community. He’s famous for his YouTube channel…
👍4
То есть вы хотите сказать, что Грейдон Хоар бросил Rust ради того, чтобы работать над Swift? Это крайне упрощённое и потому неверное представление о ходе событий. Это заблуждение развенчал сам Грейдон.
Reddit
r/rust on Reddit: I wonder, why Graydon Hoare, the author of Rust, stopped contributing into it and switched to Swift?
Posted by u/IngvarrEm - 44 votes and 29 comments
👍5