fa
Feedback
Блог*

Блог*

رفتن به کانال در Telegram

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

نمایش بیشتر
1 926
مشترکین
+224 ساعت
-47 روز
+130 روز
آرشیو پست ها
— Нормальные армяне люди, что ты на них бочку катишь? —
— Нормальные армяне люди, что ты на них бочку катишь? —

#прекрасныепапищеки Небезызвестный Влад (@vlad20012), который уже девять лет делает этот ваш RustRover
+1
#прекрасныепапищеки Небезызвестный Влад (@vlad20012), который уже девять лет делает этот ваш RustRover

На форуме DIYaudio чел решил провести тест. Он записал множество семплов, пропущенных через несколько проводников: 180 сантиметров профессионального медного аудиокабеля, 20 сантиметров мокрой грязи и... Банан. Затем он поделился четвёрками записей (включая оригиналы), порядок в каждой из которых был перемешан случайным образом. Задачей других членов форума было попытаться отличить, через что были пропущены сигналы, полагаясь на свой слух. TL;DR: результаты показали, что участники были не в состоянии отличить различные варианты записей и их догадки были, по факту, случайными.

#prog #article BTW PVS-Studio развивают версию своего анализатора для #go, и хотя для широкой публики анализатор ещё не доступен (в апреле будет бета-версия), он уже находит множество ошибок, которые не находит go vet. Все найденные ошибки при этом на Go не завязаны, так что, возможно, в будущем анализатор станет ещё полезнее конкретно для Go.

#prog В #go тесты работают таким образом: программист делает файлы, имя которых оканчивается на _test.go, и внутри пишет функции вида:
func TestXxx(*testing.T)
(префикс Test обязателен), а команда go test автоматически эти тесты подхватывает и исполняет. Тип testing.T позволяет организовывать тесты: логгировать, запускать подтесты и досрочно прерывать тесты, как ошибочные. К чему я это? В последней версии Go — Go 1.26.0, вышедшей 10 февраля, есть несколько изменений. Одно из них — у кучи функций из подпакетов пакета crypto описаны изменения в духе "функция для генерации ключей теперь игнорирует аргумент, переданный для генерации случайности, и использует криптографически безопасный источник случайности". Разумеется, для тестов желательна воспроизводимость. Но как этого добиться, если источник случайности игнорируется? Для решения этого вопроса Go предлагает два решения. Первое — это GODEBUG, костыль способ заставить программы на Go (скомпилированные!) использовать поведение из более старой версии. В данном случае предлагают добавить настройку cryptocustomrand=1. Настройки через GODEBUG не вечные и могут быть убраны в одном из будущих релизов. По этой причине этот способ выглядит не особо привлекательным. Второе — это использовать новую функцию testing/cryptotest.SetGlobalRandom. Она устанавливает сид для источника случайности, который будет использоваться для всех криптографических функций из пакета crypto, полагающихся на случайные данные. Эти изменения действуют в пределах одного теста, запускаемого testing.T. Соответственно, для каждого теста, который желает воспроизводимости, эту функцию нужно вызывать явно в начале. Разумеется, как справедливо отмечено в документации,
Because SetGlobalRandom affects the whole process, it cannot be used in parallel tests or tests with parallel ancestors.
Воистину concurrent programming language!

забавный факт: именно этот палм использовал Джон Коннор во втором терминаторе чтобы взломать банкомат
забавный факт: именно этот палм использовал Джон Коннор во втором терминаторе чтобы взломать банкомат

гайс, кто шарит в компьютерах подскажите, мой новый ноутбук потянет гта 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