habrahabr
Германская танковая проблема: торжество статистики и один из первых примеров военного OSINT'a

В разведке, где информация является ключевым фактором успеха, важнейшей задачей всегда была оценка потенциала и возможностей противника. Традиционные методы, основанные на сборе информации от шпионов, анализе открытых источников и допросах пленных, зачастую оказывались неэффективными, предоставляя неполные, неточные и противоречивые данные. Во время Второй мировой войны перед Союзниками встала острая необходимость определить реальные масштабы производства военной техники в нацистской Германии. …

  • суббота, 4 января 2025 г. в 00:00:06
habrahabr
Более 14 лет ставлю цели на год: рассказываю, как и почему этот процесс работает у меня

Привет, меня зовут Павел Комаровский – и я из тех душнил, которые в начале января усиленно строят всякие акульи планы на год. Так как делаю я это уже много лет, у меня выработался довольно своеобразный подход к процессу, которым я и хотел с вами поделиться – надеюсь, это поможет вам избежать ошибок, которых в свое время наделал я.Фото из Токио, куда мы с женой ездили в августе 2024. К прошлой моей статье про целеполагание был прикреплен заглавный портрет двухлетней давности, где я с длинными во…

  • суббота, 4 января 2025 г. в 00:00:06
habrahabr
«Сингулярностей не существует», — утверждает первооткрыватель чёрных дыр Рой Керр

Гениальный учёный, нашедший пространственно-временное решение для вращающихся чёрных дыр, утверждает, что сингулярности физически не существуют. Прав ли он?Эта визуализация показывает, как выглядит внутренняя часть вращающейся (керровской) чёрной дыры с точки зрения наблюдателя, который пересёк внутренний горизонт событий в местном пространстве-времени. Розовая область иллюстрирует вид изнутри предполагаемой кольцевой сингулярности, которая присутствует в математической формулировке пространств…

  • суббота, 4 января 2025 г. в 00:00:05
golang
Генерация PDF-файлов на Go

Генерация PDF-документов это практически неотъемлемая часть при создании отчетов. Ведь гораздо проще иметь один HTML-шаблон который просто редактируется, и в нужные места подставить необходимые данные.В статье отобрал самые популярные (по звездам на GitHub на момент написания статьи) инструменты для генерирования PDF из HTML, DOCX и некоторых других форматов. Рассмотрим только те, которые реализованы непосредственно на Go ИЛИ имеют обертки над API на Go.Список следующий: https://github.com/go-…

  • суббота, 4 января 2025 г. в 00:00:03
golang
ErrorHandling-патерн в golang

Обработка и передача ошибок в конкурентном коде имеет некоторые особенности. Поскольку решении о запуске подзадачи(или подзадач) принимается вне запущенной горутины, центр обработки информации(в данном случае ошибки) должен находится в другом месте. Это может быть часть кода инициирующая запуск горутин(родительская горутина) и ожидающая результатов ее выполнения или отдельная горутина, запущенная для этих целей.Будем отталкиваться от примера, где мы ожидаем результатов выполнения n-горутин. Рез…

  • суббота, 4 января 2025 г. в 00:00:02
habrahabr
Оптимизация кольцевого буфера для повышения пропускной способности

В этой статье мы рассмотрим классический конкурентный кольцевой буфер и обсудим, как его можно оптимизировать для повышения производительности. Я покажу вам, как существенно улучшить этот показатель от 5,5 миллионов элементов в секунду до 112 миллионов элементов в секунду — и эти показатели выше, чем в реализациях Boost и Folly. Если вам требуется готовая реализация со всеми этими оптимизациями, посмотрите мою библиотеку SPSCQueue.h.Кольцевой буфер также называется очередью «один производитель …

  • пятница, 3 января 2025 г. в 00:00:08
habrahabr
Приключения серотонина в бесконечном цикле боли, или опиатная ломка у неторчка — ч.1

Всем привет. Меня зовут Александр, и я айтишник. Нет, я не торчок, но уже несколько лет я живу с постоянной болью, как morphiumsüchtig на ломке (хотя и не так страшно). В течение этого времени у меня сложилось понимание ( а оно всегда субъективно ), как работает регуляция боли, последствия ее нарушения, и почему это может коснуться каждого. Даже тебя, Анон. А скорее всего уже коснулось. Особенно, если ты, Анон, знаком с фразами «у вас остеохондроз», «сорвал спину», «что‑то защемило», то статья …

  • пятница, 3 января 2025 г. в 00:00:06
habrahabr
Эволюция рабочего места одного программиста

Начались боли в спине — пошли эксперименты. Год за годом, стол за столом приходил к идеалу: ортопедический стул, стол с вырезом и регулировкой высоты, кронштейн для фиксации монитора на уровне глаз. Спустя два года обнаружил себя буквально прикованным к положению лежа с противоречивыми диагнозами от неврологов, ортопеда и нейрохирурга.Расскажу о самых интересных организациях рабочего пространства, которые попробовал, поделюсь наблюдениями, поспекулирую о вреде конвенциальных подходов.Проблемы с…

  • пятница, 3 января 2025 г. в 00:00:05
javascript
Что такое реактивное программирование? Руководство для начинающих по написанию реактивного кода

Добро пожаловать в путешествие по динамичному миру реактивного программирования! Эта увлекательная парадигма направлена ​​на создание быстро реагирующих, отказоустойчивых и адаптируемых приложений, которые легко и практически мгновенно управляют огромными объемами данных.Представьте себе, что вы пишете программу, которой необходимо мгновенно реагировать на изменения — будь то ввод пользователя, сообщения из других систем или потоки данных в реальном времени. Именно здесь проявляется реактивное …

  • пятница, 3 января 2025 г. в 00:00:04