es
Feedback
Блог*

Блог*

Ir al canal en Telegram

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

Mostrar más
1 924
Suscriptores
+224 horas
+37 días
+130 días
Archivo de publicaciones
Repost from Generative Anton
Удар пришёл откуда не ждали: Cursor отказался генерировать код и попросил человека научиться программировать. В очередной раз
Удар пришёл откуда не ждали: Cursor отказался генерировать код и попросил человека научиться программировать. В очередной раз глупая машина оказалась умнее умного человека.

#ml и то ли #suckassstory, то ли #successstory, непонятно

#rust #article Rust in 2025: Targeting foundational software This first post describes my general vision for how Rust fits into the computing landscape. The remaining posts will outline major focus areas that I think are needed to make this vision come to pass. Одна из точек зрения, высказанная Нико в тексте, довольно неожиданна (но я с ней согласен): то, что инструмент низкоуровневый, не значит, что для него не важна эргономика — скорее наоборот, потому что эргономичность позволяет программисту тратить больше умственных усилий на саму задачу: <...>the fact that foundational software needs control over low-level details only makes it more important to try and achieve good ergonomics. Anything you can do to help the developer focus on the details that matter most will make them more productive.

#rust #php #quotes
#rust #php #quotes

Вы знаете, кого поздравить 😏
Вы знаете, кого поздравить 😏

#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 ожидаемо тоже засветился в ответах

Наконец-то, появилась ясность
Наконец-то, появилась ясность

Бедные гетеро Бедные гомо Никогда не поймут, какого это — быть би и получать ОТКАЗЫ ОТ ОБОИХ ПОЛОВ😏😭

Я опять умудрился пропустить годовщину своего блога — а она, между прочим, была 5 декабря. Ещё и дата довольно круглая — Блог*у 5 лет исполнилось

Repost from Install Wizard
Как же он хорош Delightfully devilish
Как же он хорош Delightfully devilish

#prog #typescript В Microsoft решили из-за проблем с производительностью переписать компилятор Typescript с Typescript на... #Go. Выбор языка аргументируют сочетанием контроля над раскладкой структур в памяти вкупе со сборщиком мусора и лёгкостью портирования уже имеющегося кода. На мой взгляд, очень странный выбор. Производительность, впрочем, действительно улучшилась — прототип уже в состоянии компилировать реальные проекты на порядок быстрее.

— Дорогая, ты — как сама жизнь. — Такая же красивая? — Такая же тяжёлая...

— Ну что, зарезолвил таску? — Да, код работает, как часы. — А должен работать по ТЗ!

Repost from commit -m "better"
photo content

Repost from iPhone.alt
Дуров немного взаймы взял
Дуров немного взаймы взял

Самая необходимая #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?
Пропускная способность считается в гигабайтах в секунду — отличное производительное решение, готовое для прода.

#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);
}
Написано, конечно же, Толяном.

#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;
}

#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)

photo content