1.84K subscribers
3.18K photos
125 videos
15 files
3.48K links
Блог со звёздочкой.

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

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
#prog #article #abnormalprogramming

McCarthy's Ambiguous Operator

Абьюз продолжений ради этого:

# amb will (appear to) choose values
# for x and y that prevent future
# trouble.
x = amb 1, 2, 3
y = amb 4, 5, 6

# Ooops! If x*y isn't 8, amb would
# get angry. You wouldn't like
# amb when it's angry.
amb if x*y != 8

# Sure enough, x is 2 and y is 4.
puts x, y
🤔1
#bash #abnormalprogramming (кажется, эти два хештега можно совместить)
#prog #c #abnormalprogramming

Как сказал один из комментаторов: "Finally, Duff's undevice"
😁4🤝1
#game #abnormalprogramming #article

Simulating Rule 110 in Opus Magnum

Ввиду того, что симуляция сколько-нибудь большого пространства в игре затруднена, решение делается для закольцованного поля в 6 клеток. Но даже так это очень впечатляет.
#prog #python #article #abnormalprogramming

Python's Preprocessor

Python позволяет иметь в первой строке комментарий, который говорит о том, какая кодировка используется для текста файла. Имя кодировщика ищется в специальном месте, и механизм для предоставления этого кодировщика позволяет исполнять произвольный код на Python. Как следствие, это позволяет интерпретировать дальнейший текст как угодно — с синтаксисом, произвольно далёким от Python.

(thanks @itpgchannel)
🔥10
🤯12😭3🔥2🤩2
#prog #abnormalprogramming #article

Building a url-shortener with Lambda — JUST Lambda
(и немного Python)

Работает без базы данных, если что
#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 #abnormalprogramming #retroit #ml

ZX Spectrum проходит тест Тьюринга: учим 8-битный процессор проходить CAPTCHA

(UPD: ссылка не работает, держи wayback machine)

Представьте: вы открываете чердак и находите пыльный ZX Spectrum. «Музейный экспонат», — думаете вы. А что если я скажу, что эта коробка с 48 килобайтами памяти может с 95.5% точностью распознавать рукописные цифры и проходить те самые CAPTCHA-тесты «Я не робот» из 2010-х?

Более того: технически она могла это делать с момента выпуска в 1982 году. Мы просто не знали правильный алгоритм 43 года.


(thanks @tech_b0lt_Genona)
🔥14