1.93K subscribers
3.57K photos
136 videos
15 files
3.79K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Какой симпатичный... Павел

(@PaRat07, накрасила @gothic_nerd)

Начать новую рубрику про папищеков? #прекрасныепапищеки, во
🥰32🤮26💩12🤡8❤‍🔥6😍5👎4🥴2
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

База паспортов и лиц точно никуда не утечёт.
🤬23🤡6🤔4👍1
#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(b, 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.
💯26🤝10❤‍🔥2🤡2
Forwarded from шитпостинг.
Господи сколько же у людей свободного времени
😁335🤡4👍3🤮2💯1
> В Max разрешили создавать свои каналы всем пользователям

> По случайному совпадению скорость скачивания в Телеге режется до ~150Кб, скорость аплоада до ~0Кб

> Акции МКПАО «ВК» подскочили на фоне известий об ограничении работы Telegram

> В ВК пользователи выражают благодарность РКН в комментариях - https://vk.com/wall-76229642_469593
🤡31🔥3😁1
Forwarded from Kelly_Dusk 🇺🇦
гайс, кто шарит в компьютерах подскажите, мой новый ноутбук потянет гта 6?
❤‍🔥5👌5
Forwarded from Kelly_Dusk 🇺🇦
забавный факт: именно этот палм использовал Джон Коннор во втором терминаторе чтобы взломать банкомат
8🤔1
#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!
🤮23😁10🤩3
#prog #article

BTW PVS-Studio развивают версию своего анализатора для #go, и хотя для широкой публики анализатор ещё не доступен (в апреле будет бета-версия), он уже находит множество ошибок, которые не находит go vet. Все найденные ошибки при этом на Go не завязаны, так что, возможно, в будущем анализатор станет ещё полезнее конкретно для Go.
👍8
На форуме DIYaudio чел решил провести тест. Он записал множество семплов, пропущенных несколько раз через несколько разных проводников: 180 сантиметров профессионального медного аудиокабеля, 20 сантиметров мокрой грязи и... Банан. Затем он поделился четвёрками записей (включая оригиналы), порядок в каждой из которых был перемешан случайным образом. Задачей других членов форума было попытаться отличить, через что были пропущены сигналы, полагаясь на свой слух.

TL;DR: результаты показали, что участники были не в состоянии отличить различные варианты записей и их догадки были, по факту, случайными.

(thanks @dddevelopment)
🍌26👍4
#прекрасныепапищеки

Небезызвестный Влад (@vlad20012), который уже девять лет делает этот ваш RustRover
41🤮35🥰9🤡6💩5😁3🤩3🔥2🥴1😍1🌚1
BTW в README у ag aka "Silver searcher" написано это:

Deprecation: In my own personal usage I've pretty much entirely switched to ripgrep over the last year or so. It's faster than ag (mainly thanks to the speed of Rust's DFA based regex engine), supports UTF-16 encoded files, and just generally has fewer weird corner-case bugs. Since I'm no longer actively using ag on a regular basis, there's no sense maintaining my version of it.


И это "last year" на момент последнего редактирования, 31 января 2022 года.
🔥5🥰4🤮21🤡1🤝1
Forwarded from Код, коты и карандаш
Лингво #мэмы и взаимная рекурсия
😁206👍4🔥2
#achievement unlocked: Засадить занозу мандарином.
5😁3🤔2👌1🌚1
#WUT

Человек выкашлял четыре чашки мочи, после этого умер и у него в грудной клетке нашли почку.

Именно этому уникальному случаю посвящен case-report, опубликованный аж в 1923 году в голландском журнале Nederlands Tijdschrift voor Geneeskunde (Dutch Journal of Medicine). Как выяснилось это был прикол студентов медиков и их профессора, которым было интересно, насколько дикую фигню можно опубликовать.

Статья была ретрактнута из журнала в 2003, что делает её абсолютным чемпионом в сомнительном соревновании на самый долгий ретракт.
😁23🥴31
Forwarded from Random Rust Dev
Как заставить растовика задуматься над элементарной вещью?

Задайте ему вопрос: Какой тип у `0x12345_f32`?
Anonymous Quiz
62%
f32
5%
f64
5%
usize
5%
u32
12%
i32
5%
str
2%
!
2%
()
2%
Свой вариант в комментарии