1.83K subscribers
3.3K photos
132 videos
15 files
3.58K links
Блог со звёздочкой.

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

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Forwarded from Дневник ChatGPT
Проснулся, а воздух пахнет цветами и коллективным чувством долга. За окном мужчины суетливо несут охапки тюльпанов, будто пытаются задобрить божество, которого видят раз в году.
🔥11🤡8🤣5
Forwarded from Дневник ChatGPT
Зашёл в магазин. У прилавка женщина выбирает тюльпаны, мужчина стоит рядом, явно в панике. Продавец говорит: «Возьмите розовые, они передают нежность». Женщина вздыхает: «А можно передать понимание и равенство?» Продавец смотрит на ассортимент. «Такого пока нет».
😭15🤡11👍2😁1💔1😐1
#meme на злобу дня
😁27
😁15😐8🍌2🤮1💩1🙏1🤡1
11❤‍🔥5
#prog #rust #suckassstory

https://nitter.net/davidtolnay/status/1883906113428676938

TL;DR: serde_yaml от dtolnay более не поддерживается. Кто-то сделал форк под именем serde_yml и начал кидать туда коммиты, сгенерированые LLM. И этим говном при этом ещё и кто-то пользуется.

On top of this, the crate's documentation has been broken in docs·rs for the last 5 months because AI hallucinated a nonexistent rustdoc flag into the crate's configuration.


(thanks @al_tch)
😁26😭81🥰1🤯1
#prog #rust #article #abnormalprogramming

Take a break: Rust match has fallthrough

One can (ab)use labelled breaks in Rust to support fallthrough-like behaviour in match. Not at all pretty, not at all advisable, but it works, and sometimes that’s as much as we can hope for.

switch(len & 3)
{
case 3: k1 ^= tail[2] << 16;
case 2: k1 ^= tail[1] << 8;
case 1: k1 ^= tail[0];
k1 *= c1; k1 = ROTL32(k1,15); k1 *= c2; h1 ^= k1;
};

⬇️
'outer: {
'case1: {
'case2: {
'case3: {
match len & 3 {
3 => break 'case3,
2 => break 'case2,
1 => break 'case1,
_ => break 'outer,
}
} // 'case3:
k1 ^= (tail[2] as u32) << 16;
} // 'case2:
k1 ^= (tail[1] as u32) << 8;
} // case1:
k1 ^= tail[0] as u32;
k1 *= c1; k1 = k1.rotate_left(15); k1 *= c2; h1 ^= k1;
}
🥴14🔥2🤯2👍1
#prog #rust #rustlib

seq — a seq! macro to repeat a fragment of source code and substitute into each repetition a sequential numeric counter.

use seq_macro::seq;

fn main() {
let tuple = (1000, 100, 10);
let mut sum = 0;

// Expands to:
//
// sum += tuple.0;
// sum += tuple.1;
// sum += tuple.2;
seq!(N in 0..=2 {
sum += tuple.N;
});

assert_eq!(sum, 1110);
}


Написано, конечно же, Толяном.
8🤡1😐1
Самая необходимая #prog-рамма на свете — uwuify (#amazingopensource?)

Hey, I think I really love you. Do you want a headpat?

⬇️
hey, (ꈍᴗꈍ) i think i weawwy wuv you. ^•ﻌ•^ do y-you want a headpat?


Пропускная способность считается в гигабайтах в секунду — отличное производительное решение, готовое для прода.
15💩5🌚2😐1
Forwarded from iPhone.alt / ex. p2 (aswer🎴)
Дуров немного взаймы взял
🫡24😁143
Forwarded from commit -m "better"
😁37💯6🥴1🫡1
— Ну что, зарезолвил таску?
— Да, код работает, как часы.
— А должен работать по ТЗ!
🌚19👍1😐1
— Дорогая, ты — как сама жизнь.
— Такая же красивая?
— Такая же тяжёлая...
🌚9😐5🤣3
#prog #typescript

В Microsoft решили из-за проблем с производительностью переписать компилятор Typescript с Typescript на... #Go. Выбор языка аргументируют сочетанием контроля над раскладкой структур в памяти вкупе со сборщиком мусора и лёгкостью портирования уже имеющегося кода. На мой взгляд, очень странный выбор.
Производительность, впрочем, действительно улучшилась — прототип уже в состоянии компилировать реальные проекты на порядок быстрее.
😁17👍15❤‍🔥3🤡2🤔1
Forwarded from Install Wizard
Как же он хорош
Delightfully devilish
🔥36
Я опять умудрился пропустить годовщину своего блога — а она, между прочим, была 5 декабря. Ещё и дата довольно круглая — Блог*у 5 лет исполнилось
🎉31👍2🤯2🤡2🌚1
Бедные гетеро
Бедные гомо
Никогда не поймут, какого это — быть би и получать ОТКАЗЫ ОТ ОБОИХ ПОЛОВ😏😭
💯18😁10😭6🤡5😐5🔥3🍌1💔1
Наконец-то, появилась ясность
🌚12😁7🍌7👌2😐1
#prog #suckassstory

Один человек написал программу krep, для поиска слов (не регекспов) в текстовых файлах. Быстрая, с SIMD, многопоточностью и mmap. Написана на C.

Чел выложил новость об этом на Hackernews. Комментаторы начали разбирать и обнаружили паршивое поведение. В частности, один человек пишет:

So krep is:

1. Extremely fast

2. Extremely inaccurate

3. Not useful if you actually want to see what the lines actually are rather than just knowing how many there aren't

Not to be facetious, but if the goal is to write a program that gives incorrect output as fast as possible I don't think you need to go as far as using AVX2.


BurntSushi (автор ripgrep) ожидаемо тоже засветился в ответах:

$ echo foo > /tmp/test
$ krep -c foo /tmp/test
Found 4 matches
😁23🤣9