ar
Feedback
Блог*

Блог*

الذهاب إلى القناة على Telegram

Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here

إظهار المزيد
1 963
المشتركون
-224 ساعات
-17 أيام
+130 أيام
أرشيف المشاركات
забавный факт: именно этот палм использовал Джон Коннор во втором терминаторе чтобы взломать банкомат
забавный факт: именно этот палм использовал Джон Коннор во втором терминаторе чтобы взломать банкомат

гайс, кто шарит в компьютерах подскажите, мой новый ноутбук потянет гта 6?
гайс, кто шарит в компьютерах подскажите, мой новый ноутбук потянет гта 6?

> В Max разрешили создавать свои каналы всем пользователям > По случайному совпадению скорость скачивания в Телеге режется до ~150Кб, скорость аплоада до ~0Кб > Акции МКПАО «ВК» подскочили на фоне известий об ограничении работы Telegram > В ВК пользователи выражают благодарность РКН в комментариях - https://vk.com/wall-76229642_469593

ПП — это
Anonymous voting

Repost from N/a
Господи сколько же у людей свободного времени
Господи сколько же у людей свободного времени

#prog #моё У метода Iterator::all — который возвращает, удовлетворяют ли все элементы в итераторе переданному предикату — есть вот такая строчка в документации:
An empty iterator returns true.
Более того, аналогичное утверждение есть и в документации метода allMatch на Java Stream API, и в документации встроенной функции all в Python, и в документации IEnumerable.All в C#. Некоторые странные люди утверждают, что all на пустой последовательности должен возвращать false — дескать, нет значений — не возможности определить значения. Я здесь для того, чтобы сказать, что эти люди неправы. Условный all(seq, pred), где seq — это последовательность a1, a2, ..., an, вычисляет значение pred(a1)∧ pred(a2) ∧ ... ∧ pred(an) (∧ — символ коньюкции, который в ЯП часто называют &&). Коньюкция — операция коммутативная и ассоциативная, поэтому если последовательность s является конкатенацией последовательностей a = a1, a2, ..., an и b = b1, b2, ..., bn, то мы можем переставить скобки и посчитать all(s, pred) = pred(a1) ∧ ... pred(an) ∧ pred(b1) ∧ ... ∧ pred(bn) как (pred(a1) ∧ ... pred(an)) ∧ (pred(b1) ∧ ... ∧ pred(bn)) = all(a, pred) ∧ all(a, pred) Или, иными словами и в синтаксисе Rust, если x и y — итераторы, то логично ожидать, что x.chain(y).all(p) вернёт тот же результат, что и x.all(p) && y.all(p). Это свойство должно работать для любых последовательностей, включая пустые. С другой стороны, любую последовательность можно представить, как конкатенацию этой же последовательности с пустой. Или, в синтаксисе Rust, с поправкой на типы x и x.chain(iter::empty()) ведут себя одинаково. Подставив это в свойство выше, мы получаем, что x.all(p) && iter::empty().all(p), x.chain(iter::empty()).all(p) и x.all(p) должны возвращать один и тот же результат. Для произвольного итератора x это возможно только в том случае, если iter::empty().all(p) возвращает значений, нейтральное для коньюкции, то есть true. Иными словами, Iterator::all должен возвращать true на пустом итераторе, ч. и т. д. Аналогичные соображения показывают, почему Iterator::any должен возвращать false.

Discord: с марта все аккаунты в мире автоматически сделают «детскими», пока пользователи не подтвердят возраст https://habr.com/ru/news/994528/ С начала марта 2026 года все аккаунты пользователей в мире автоматически сделают «детскими», пока их пользователи не подтвердят свой возраст. Без подтверждения нельзя заходить на сервера 18+, а если пользователь уже состоит в таких серверах, доступ к ним заблокируют. Личные сообщения для незнакомых пользователей также будут закрыты. Подтвердить свой возраст можно только паспортом и видеосканом лица, причём других способов получения доступа к информации 18+ не будет. Без подтверждения возраста на платформе также нельзя будет смотреть большинство контента — он будет скрыт цензурой. Что будет закрыто/ограничено на Discord для «детских» аккаунтов: - фильтрация чувствительного контента: графические или «взрослые» материалы по умолчанию размываются, пока пользователь не подтвердит, что он взрослый; - ограниченный доступ к возрастным чатам/сервером — доступ к серверам/командам, помеченным как для взрослых, возможен только после подтверждения возраста; - личные сообщения в отдельный запрос‑ящик — сообщения от людей, которых вы не знаете, по умолчанию идут не в основной чат, а в отдельную папку; - предупреждения при запросах дружбы — если кто‑то, кто вам не знаком, отправляет запрос, вы получите предупреждение; - ограничения на «Stage» каналы — говорить в комнатах Stage могут пользователи, которые подтвердили, что они взрослые. Оригинал Discord Launches Teen-by-Default Settings Globally https://discord.com/press-releases/discord-launches-teen-by-default-settings-globally База паспортов и лиц точно никуда не утечёт.

photo content
+2

PSA: Did you know that it’s unsafe to put code diffs into your commit messages? Like https://github.com/i3/i3/pull/6564 for e
+2
PSA: Did you know that it’s unsafe to put code diffs into your commit messages? Like https://github.com/i3/i3/pull/6564 for example Such diffs will be applied by patch(1) (also git-am(1)) as part of the code change! This is how a sleep(1) made it into i3 4.25-2 in Debian unstable. So
urce (thanks @itpgchannel)

photo content

Коллеги! Прошу коллективный разум совета по дальнейшему prompt injection.
+1
Коллеги! Прошу коллективный разум совета по дальнейшему prompt injection.

Repost from N/a
#achievement unlocked: Чихнув прокусить язык до крови.

Gamers out of context
Gamers out of context

Надо брать #game #meme
Надо брать #game #meme

На экране выбора медиа для прикрепления к посту иконка места для снимка прокручивается над всем остальным
На экране выбора медиа для прикрепления к посту иконка места для снимка прокручивается над всем остальным

✊

#kbd
#kbd

#prog #rust #rustreleasenotes Вышла версия Rust 1.93.0! Как обычно, тут только избранное, остальное только в детальных заметках о релизе. (да, я выкладываю анонс с опозданием больше недели, и что ты мне сделаешь?) В этот раз большинство изменений связаны со стандартной библиотекой. ▪️Немного печальное изменение: даже с установлением #[global_allocator] std всё ещё может вызывать System аллокатор. По крайней мере, на core это не распространяется. ▪️Компилятор теперь выдаёт предупреждение на #[repr(C)]-перечисления, у которых значения дискриминантов не умещаются в сишный int. Смешно, но до C23 у сишных enum нельзя было указать численный тип и нельзя было использовать значения больше int для дискриминантов. ▪️Компилятор теперь выдаёт предупреждение на попытку вызвать метод на const-значении, который эксплуатирует внутреннюю изменяемость. Так как константы инлайнятся по месту использования, эти изменения не будут видны. Обычно это является следствием ошибки — использования const вместо static (и я, кстати, такую ошибку уже делал). ▪️Метод append на BTreeSet и BTreeMap теперь сохраняет ключ из исходной коллекции, если ключи считаются равными через ==. До этого перезаписывались и ключ, и значение. ▪️Стабилизированы API: 🔸assume_init_drop, assume_init_ref и assume_init_mut на MaybeUninit<T> 🔸write_{copy, clone}_of_slice на [MaybeUninit<T>] 🔸into_raw_parts на String и на Vec. Странно, что только сейчас, потому что обратные from_raw_parts методы были стабилизированы ещё в версии 1.0. 🔸методы для непроверяемых (и потому потенциально дающих UB) битовых сдвигов в обе стороны на примитивных числах, а на знаковых — ещё и unchecked_neg 🔸методы для перевода ссылок на слайсы в (опциональные, разумеется) ссылки на массивы и сырых указателей на слайсы в сырые указатели на массивы, включая мутабельные варианты 🔸pop_front_if и pop_back_if на VecDeque 🔸std::fmt::from_fn для ad-hoc форматирования через переданную функцию. Позволяет избежать создания одноразовых типов, нужных только для форматирования ▪️Cargo теперь прокидывает значение конфигурации debug_assertions в билд-скрипты. ▪️Команда cargo tree теперь позволяет использовать для форматирования записей в дереве длинные имена для элементов шаблонов. Например, следующие два вызова эквивалентны:
cargo tree --format='{p} {f}'
cargo tree --format='{package} {features}'
▪️cargo clean теперь может удалять артефакты компиляции из всего workspace-а целиком.

photo content