Интернет от самых основ

Масштабный интерактивный разбор устройства интернета от первых принципов до наших дней.

Начинаем с телеграфа Морзе и релейной регенерации сигналов, Увидим что цифровая передача битов через дискретные символы появилась задолго до компьютеров. Пройдем через коммутацию каналов и dial-up-модемы - к пакетной коммутации Барана и Дэвиса, ARPANET и первым IMP-маршрутизаторам.

Автор последовательно проводит читателя через Ethernet, IP-адресацию с CIDR, TCP, BGP-маршрутизацию между автономными системами, NAT в домашних сетях, иерархический DNS, HTTP как пользовательский интерфейс интернета, TLS-шифрование. Посмотрим на полный путь пакета при клике на ссылку - от радиоволн Wi-Fi до света в оптоволокне на дне океана.

Статья с очень крутыми интерактивными симуляторами, которые все показывают максимально наглядно

Обязательно к прочтению

Новости

Post Thumbnail

SIMD для всех

Митчелл Хашимото утверждает, что SIMD незаслуженно считается сложным. Он на примере из своего терминала Ghostty показывает, что "обработка N значений за раз" всегда сводится к одному и тому же шаблону из пяти шагов: размножить константы в вектор, загружать...

Post Thumbnail

687 ГБ аллокаций

Автор профилировал свою многопоточную реализацию Redis на Go и обнаружил, что одна строка кода `s.kvList[k] = append(v[popped:], s.kvList[k]...)` за время бенчмарка суммарно аллоцировала 687 ГБ памяти. Реально приложение держало в памяти лишь около 4,58 МБ. В ...

Post Thumbnail

HTMX с Go

Автор детально описывает свои паттерны интеграции HTMX с Go. Почитайте, там много всего интересного. Но мне весь это веб всё еще не нравится. Любой HTML - это в первую очередь ебля со стилями. Я хотел бы, чтобы уже сделали как во Flutter или Qt, чтобы было ...

Post Thumbnail

Запускаем юникловскую футболку

Автор обнаружил на футболке Uniqlo из коллекции Akamai "Peace for All" обфусцированный bash-скрипт. На спине напечатан небэнг и base64-закодированная строка, подаваемая в eval. После трудоемкого OCR и выверки расшифрованный скрипт оказался очень милой пасха...

Post Thumbnail

Виртуальная память

Масштабное погружение в виртуальную память от самых основ. Туториал прикольно написан как диалог двух приятелей - процесса по имени Аллока и Ядра. Раскрывается множество тем: зачем нужна виртуальная память, раскладка адресного пространства, 4-уровневые иера...

Post Thumbnail

Agda

Пятничный язык программирования Agda - это функциональный язык программирования с зависимыми типами, основанный на интуиционистской теории типов Пер Мартин-Лёфа и разрабатываемый группой Logic and Types в Чалмерском технологическом университете. Язык по...

Статьи

Post Thumbnail

DNS на Zig

Это должен был быть перевод статьи "From Log Reader to Packet Crafter — Building DNS from Scratch in C". Но автор довольно фигово написал исходную статью и не удосужился показать весь написанный код, Поэтому я решил пойти дальше, реализовать очень маленький ин...

Post Thumbnail

Playdate

Наше поколение выросло вместе с первыми консолями. Мы все с теплотой вспоминаем время, когда у нас появилась первая денди. Теперь у нас есть самые разные движки и большие мощности для игр. Но чем больше возможностей, тем сложнее начать что-то делать, сложне...

Post Thumbnail

Привет Ethernet

Если вы читаете эту статью, то есть очень большая вероятность, что прямо сейчас вы пользуетесь Ethernet соединением где-то между вашими устройствами и хостингом, на котором размещён этот блог. Семейство технологий Ethernet - это строительные блоки для современ...

Post Thumbnail

RAG в Go проекте

Одна из ключевых задач для компаний, работающих с искусственным интеллектом, - обеспечить эффективный доступ к внутренним знаниям. На первый взгляд всё просто: загрузи корпоративные документы в большую языковую модель (LLM) и дай ей генерировать ответы. Но на ...

Инструменты

Post Thumbnail

Kutta

Это 2D-аэродинамическая труба, написанная на Go с Ebitengine, Ага, прям настоящая аэродинамическая труба, которая симулирует обтекание профиля крыла методом Lattice-Boltzmann и визуализирует поле скоростей, завихрения, линии дыма и векторы подъемной силы/с...

Post Thumbnail

GALA

GALA (Go Alternative LAnguage) - статически типизированный функциональный язык, транспилирующийся в Go, который приносит в экосистему Go sealed-типы с исчерпывающим паттерн матчиг, монадический стек, иммутабельные коллекции и do-нотацию с накоплением ошибок че...

Post Thumbnail

OpenLogi

Я давно влюбился в лоджитековские мыши MX Master. И вдруг появляется OpenLogi - это нативная, локальная альтернатива Logitech Options+, написанная на Rust. Приложение управляет мышами Logitech напрямую через протокол HID++ без аккаунта, телеметрии и облака...

Post Thumbnail

UTM

UTM - бесплатное open-source приложение для macOS, использующее Apple Hypervisor для виртуализации ARM64 на Apple Silicon и QEMU для эмуляции x86/x64, ARM32, MIPS, PPC, RISC-V и SPARC. Мне понравилась очень удобная надстройка над QEMU. Запомнить команды и...