Hacker News Digest

Обновлено: 28 ноября 2025 г. в 08:55

Постов: 4635 • Страница 237/464

Testing “Exotic” P2P VPN (blog.nommy.moe)

Стандартный WireGuard блокируется сигнатурными методами, поэтому автор ищет альтернативные P2P VPN-решения с меш-топологией, открытым исходным кодом и без зависимости от WireGuard. Рассмотрены два варианта: EasyTier и Nebula.

EasyTier — минималистичный проект из Китая, использующий общий пароль для шифрования и поддерживающий множество протоколов для обхода блокировок. Не требует сложной настройки, но не позволяет закреплять IP-адреса за устройствами. Nebula от создателей Slack предлагает PKI на эллиптических кривых, собственный файрвол и зонирование, но требует ручного распределения сертификатов и имеет неудобный интерфейс через SSH. Оба решения упакованы в nixpkgs и подходят для создания самохостанных сетей без центрального сервера.

by todsacerdoti • 28 сентября 2025 г. в 16:47 • 94 points

ОригиналHN

#wireguard#p2p#vpn#easytier#nebula#tinc#iroh#yggdrasil#pki#nixpkgs

Комментарии (22)

  • Обсуждаются альтернативы P2P VPN: упоминаются Tinc, WireGuard, Nebula, Iroh, Yggdrasil, vpncloud, а также устаревшие проекты (Social VPN, Remobo и др.).
  • Критикуется исключение Headscale из сравнения, так как он, по мнению участников, не связан с Tailscale и является полноценной open-source альтернативой.
  • Уточняется, что SSH-интерфейс в Nebula предназначен только для отладки, а не для конфигурации, что было неверно истолковано в исходном посте.
  • Отмечаются проблемы поддержки некоторых проектов (Tinc, по мнению ряда комментаторов, выглядит заброшенным).
  • Обсуждаются технические нюансы: работа derper за обратным прокси, обфускация в AmneziaVPN без уменьшения MTU, идея использования VPN на втором уровне (L2).

The Weird Concept of Branchless Programming (sanixdk.xyz)

Безусловное программирование — это подход, при котором условные конструкции заменяются битовыми и арифметическими операциями для исключения ветвлений. Это позволяет избежать дорогостоящих промахов предсказателя переходов в процессоре, которые могут стоить 15–20 циклов при работе с непредсказуемыми данными, например, в циклах или при обработке ввода.

Основная идея заключается в замене условий на манипуляции с битами. Например, вычисление модуля числа без ветвления: с помощью арифметического сдвига вправо на 31 бит получается маска (0 для неотрицательных, -1 для отрицательных), затем применяются сложение и XOR для инверсии знака. Аналогично, функция clamp, ограничивающая значение диапазоном, реализуется через вычитание и побитовое И с маской, что исключает проверки if.

Такой подход не только ускоряет выполнение за счёт линейного потока инструкций, но и повышает детерминированность, что критично в криптографии и высокопроизводительных вычислениях. Хотя код становится менее читаемым, выигрыш в производительности оправдывает его использование в узких местах.

by judicious • 28 сентября 2025 г. в 16:40 • 124 points

ОригиналHN

Комментарии (57)

  • Обсуждаются техники и преимущества branchless-программирования для оптимизации кода и избежания штрафов за предсказание переходов.
  • Отмечается, что современные компиляторы и процессоры с продвинутым предсказанием ветвлений часто эффективно преобразуют условные конструкции в безветвевые (например, с помощью cmov).
  • Подчеркивается применение branchless-подходов в криптографии для защиты от атак по времени, а также их критическая важность в GPU-программировании.
  • Упоминаются потенциальные проблемы с неопределенным поведением (UB) и необходимость проверки ассемблерного вывода компилятора при низкоуровневой оптимизации.
  • Затрагиваются исторические и современные особенности архитектур процессоров (x86, ARM, RISC-V) в контексте выполнения условных операций.

Why I'm not rushing to take sides in the RubyGems fiasco (justin.searls.co)

Автор выражает сомнения в однозначности ситуации вокруг конфликта в RubyGems, подчёркивая, что публичная дискуссия сильно упрощена и сводится к нарративу «альтруисты против корпораций», хотя реальность сложнее. Он указывает на давний неразрешённый конфликт между сторонами, где одна активно высказывается публично, а другая хранит молчание, что оставляет рядовых разработчиков в неведении и тревоге.

Ключевая проблема — запутанное управление экосистемой Ruby, разделённое между разными группами: разработчиками языка Ruby, инструментами RubyGems/Bundler и хостингом RubyGems.org. Исторически эти части развивались отдельно, а recentние слияния (например, поглощение Ruby Together Ruby Central в 2022 году) усугубили неразбериху в правах доступа и ответственности, что теперь вылилось в публичный кризис доверия.

by felipemesquita • 28 сентября 2025 г. в 15:48 • 119 points

ОригиналHN

#ruby#rubygems#rubycentral#bundler#opensource#shopify#github

Комментарии (68)

  • Обсуждение касается конфликта вокруг RubyGems и Ruby Central, где ключевой фигурой является André Arko, чье поведение и профессиональные действия ставятся под сомнение.
  • Участники отмечают предвзятость и неоднозначность представленных точек зрения, включая мнение Джастина Сёрлса, который, хотя и считается авторитетом, может быть необъективен из-за связей с Shopify.
  • Поднимается вопрос финансирования open-source: должна ли работа оплачиваться пропорционально вкладу, и как действия спонсоров (как в случае с Shopify) влияют на проекты.
  • Обсуждаются юридические и этические аспекты, включая обвинения в плагиате кода и потенциальные судебные разбирательства, что заставляет многих участников избегать публичных комментариев.
  • В целом, дискуссия сводится к необходимости прозрачности и добросовестности со всех сторон для разрешения конфликта и обеспечения устойчивости open-source проектов.

The AI coding trap (chrisloy.dev) 🔥 Горячее 💬 Длинная дискуссия

ИИ-кодинг переворачивает традиционный процесс разработки: вместо долгого обдумывания задачи и последующего написания кода разработчики теперь генерируют код мгновенно с помощью ИИ, а затем тратят время на его осмысление и интеграцию в сложные системы. Это создаёт парадокс — хотя скорость написания кода растёт в разы, общая продуктивность в доставке работающего ПО увеличивается лишь на ~10%, так как основное время уходит на тестирование, исправление ошибок и документацию.

Проблема напоминает «дилемму техлида»: опытные разработчики, как и ИИ, могут быстро решать сложные задачи, но если они забирают всю сложную работу себе, команда становится хрупкой и зависимой. Ключ — в балансе между делегированием и контролем, чтобы избежать выгорания и обеспечить устойчивое развитие команды. ИИ не заменяет глубокого понимания системы, а лишь смещает фокус с создания на осмысление.

by chrisloy • 28 сентября 2025 г. в 15:43 • 620 points

ОригиналHN

#llm#programming#software-development#productivity#coding-practices#team-management

Комментарии (377)

  • Использование ИИ в программировании требует тщательного планирования и проверки, аналогично традиционной разработке, иначе код становится нестабильным.
  • ИИ эффективен для быстрого создания прототипов и решения рутинных задач (80% работы), но финальную доработку и интеграцию (20%) выполняет человек.
  • Существует риск снижения глубины понимания кода и качества обучения новичков при чрезмерном reliance на ИИ-генерацию.
  • Инструменты ИИ наиболее полезны как "сверхопытные pair-программисты" для обсуждения идей, рефакторинга и поиска решений, а не как автономные кодогенераторы.
  • Текущие ИИ-агенты не заменяют junior-разработчиков, так как не способны к обучению, уточнению требований и обладают ограниченным контекстом системы.

Scm2wasm: A Scheme to WASM compiler in 600 lines of C, making use of WASM GC (git.lain.faith)

Разработан экспериментальный компилятор Scheme в WebAssembly, который автор сам называет «очень плохим» и минималистичным. Он написан преимущественно на C (97.2%) и способен преобразовывать код Scheme в валидный WASM-модуль, который затем можно запускать через Wasmtime.

Процесс включает компиляцию исходного кода, валидацию и дизассемблирование выходного файла. Пример демонстрирует выполнение простой программы, возвращающей число 30. Проект служит учебным примером, показывающим базовые принципы трансляции функционального языка в низкоуровневый бинарный формат.

by todsacerdoti • 28 сентября 2025 г. в 15:43 • 172 points

ОригиналHN

#scheme#webassembly#wasm-gc#c#wasmtime#asm.js#compiler#oop

Комментарии (23)

  • Упомянуты проекты на WebAssembly: минимальный OOP рантайм, Forth, компилятор в твите и книга о WebAssembly.
  • Обсуждается компилятор Scheme в WebAssembly (Guile Hoot), его особенности и поддержка WASM-GC.
  • Затронуты технические вопросы: возможность использования как интерпретатора, поддержка tail call и call/cc.
  • Отмечается важность самодостаточных инструментов и независимости от платформ.
  • Поднята тема различий между Asm.js и WebAssembly в контексте исторического развития.

NJ theme park puts animatronic dinosaurs on Facebook Marketplace (gizmodo.com)

Тематический парк Field Station: Dinosaurs в Нью-Джерси закрывается в ноябре и выставил своих аниматронных динозавров на продажу через Facebook Marketplace. Цены варьируются от $500 до $2900 за экземпляр — например, спинозавр длиной 52 фута стоит $2900, а анкилозавр — $2100. Некоторые модели оснащены голосовыми модулями и ограниченной подвижностью.

Покупатели должны самостоятельно организовать демонтаж и транспортировку гигантских фигур. Парк, работавший с 2012 года, не смог остаться на плаву даже после участия в реалити-шоу о помощи бизнеса. До закрытия запланированы специальные мероприятия, включая ночные экскурсии и день посещения с собаками.

by ohjeez • 28 сентября 2025 г. в 15:40 • 117 points

ОригиналHN

#facebook-marketplace#animatronics#dinosaurs#parks#ecommerce#meta

Комментарии (51)

  • Пользователи обсуждают продажу и покупку аниматронных динозавров, отмечая выгодные предложения и высокую стоимость доставки.
  • Упоминаются различные тематические парки и достопримечательности с динозаврами по всему миру, а также личный опыт их посещения и обслуживания.
  • Обсуждается исторический контекст и ностальгия по старым аттракционам, таким как "Lost World" или динозавры из Pacific Science Center.
  • Затрагиваются практические сложности владения большими конструкциями, включая реакцию соседей или ТСЖ и логистику.
  • Поднимается вопрос о реалистичности моделей, в частности отсутствии перьев у некоторых видов, и предлагаются альтернативные способы их приобретения или создания.

What’s New in PostgreSQL 18 – a Developer’s Perspective (bytebase.com)

PostgreSQL 18 добавляет нативную поддержку UUID v7 через функцию uuidv7(), что позволяет использовать UUID в качестве первичных ключей без потери производительности благодаря их последовательной природе. Это устраняет необходимость в сторонних расширениях или реализации генерации на уровне приложения.

Также введены VIRTUAL generated columns — теперь вычисляемые столбцы по умолчанию генерируются при чтении, а не записи, что экономит место на диске и избегает перезаписи таблиц при их добавлении. Эти изменения упрощают разработку, делая работу с базой данных более гибкой и эффективной.

by datelligence • 28 сентября 2025 г. в 15:27 • 91 points

ОригиналHN

#postgresql#uuid#databases#sql#performance#data-modeling

Комментарии (17)

  • Участники обсуждают преимущества вычисляемых столбцов в базах данных, отмечая их полезность для миграций схем и единообразия логики между разными клиентами.
  • Поднимается вопрос о производительности: выполнение вычислений на стороне БД может быть эффективнее, чем в клиентских приложениях, особенно при использовании индексов.
  • Высказываются опасения о возможном злоупотреблении этой функцией и усложнении схемы, но признаётся, что иногда это единственное решение.
  • Упоминается конкретный пример использования для преобразования временных зон, чтобы упростить запросы.
  • Обсуждение начинается с упоминания функции pg_get_acl() и сложности составления запросов для проверки привилегий.

She Sent Her iPhone to Apple. Repair Techs Uploaded Her Nudes to Facebook (2021) (vice.com)

Женщина из Орегона отправила iPhone в Apple на ремонт, а сотрудники подрядчика компании выложили её обнажённые фото и видео в её же Facebook. Инцидент произошёл в 2016 году, но стал известен лишь сейчас из-за судебного разбирательства между Apple, ремонтной компанией Pegatron и страховщиком. Apple выплатила пострадавшей многомиллионное возмещение за вторжение в частную жизнь и моральный ущерб.

Этот случай демонстрирует, что даже при жёстком контроле Apple над ремонтной инфраструкторией гарантировать конфиденциальность невозможно. Компания годами лоббирует ограничение доступа к ремонту, аргументируя это рисками для безопасности, но здесь утечка произошла внутри её собственной цепочки. Пользователи часто вынуждены отправлять устройства в непрозрачные сервисные центры, лишаясь контроля над личными данными. Открытый рынок ремонта позволил бы людям выбирать проверенных мастеров или чинить устройства самостоятельно.

by janandonly • 28 сентября 2025 г. в 15:09 • 79 points

ОригиналHN

#apple#iphone#privacy#data-breach#pegatron#facebook#meta

Комментарии (50)

  • Пользователи возмущены требованием пароля для ремонта и рисками утечки конфиденциальных данных
  • Подчеркивается необходимость права выбора сервиса и возможности самостоятельного ремонта
  • Отмечается системная проблема хищения личных данных в индустрии и призывы к строгой ответственности
  • Предлагаются меры предосторожности: сброс к заводским настройкам или отказ передавать пароль
  • Обсуждаются технические причины требования пароля для тестирования устройств после ремонта

Комментарии (112)

  • Предложены инструменты для конвертации HTML в PDF: браузерные решения (headless Chrome, Puppeteer, Playwright), open-source (WeasyPrint, Gotenberg, Pandoc) и коммерческие (Prince XML).
  • Обсуждаются нюансы: важность настройки print CSS для корректной пагинации, возможность обхода браузера через прямую генерацию PDF (Apache PDFBox, Typst).
  • Упомянуты альтернативы: архивация страниц в единый HTML-файл (SingleFile), конвертация из Markdown (KeenWrite), обратная задача — PDF в HTML для доступности.
  • Отмечена надежность браузерного подхода для сложных версток, но также ресурсоемкость и сложность поддержки такого решения.
  • WeasyPrint получил несколько положительных отзывов за стабильность и простоту интеграции, особенно в Django-средах.

Show HN: Toolbrew – Free little tools without signups or ads (toolbrew.co)

Библиотека toolbrew предлагает набор чистых и полезных инструментов для разработчиков, фокусируясь на удобстве использования и минималистичном дизайне. Включает утилиты для работы с текстом, данными, кодом и веб-разработкой, такие как конвертеры, генераторы и анализаторы. Все инструменты открыты для модификации и интеграции в проекты.

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

by andreisergo • 28 сентября 2025 г. в 14:40 • 236 points

ОригиналHN

#json#web-development#utilities#code-analysis#data-processing#open-source#pdf#ssh

Комментарии (53)

  • Пользователи обсуждают полезные онлайн-инструменты (CyberChef, easyinvoicepdf, cobalt.tools, simonwillison.net) и делятся своими проектами.
  • Поднимаются вопросы безопасности и доверия к сторонним инструментам, а также желание видеть больше информации об их надежности.
  • Предлагаются идеи для новых функций: улучшение мобильного интерфейса, добавление поиска, агрегатора инструментов, генератора QR-кодов без трекеров.
  • Обсуждаются конкретные технические нужды: мерж PDF, проверка ссылок, генерация SSH-ключей, сетевые утилиты.
  • Отмечается проблема с YouTube-загрузчиком и predatory-моделями монетизации некоторых сервисов (например, QR-кодов).