The Theoretical Limitations of Embedding-Based Retrieval
Ключевая идея:
Методы ретривала на основе эмбеддингов (EBR) не могут точно воспроизвести полный ранжир по BM25 из-за фундаментальных ограничений геометрии евклидовых пространств.
Проблема:
EBR приближает BM25 через косинусное сходство векторов запроса и документа. Однако BM25 зависит от частоты терминов (TF) и обратной частоты документов (IDF), что нельзя точно закодировать в фиксированном векторе.
Результаты:
- Нижняя граница ошибки: Для коллекции из n документов минимальная ошибка приближения BM25 через EBR составляет Ω(1/n).
- Практический эксперимент: На MS MARCO даже идеальные эмбеддинги (обученные для имитации BM25) показывают значительное падение качества (nDCG@10 ↓ на 15–25%).
Вывод:
EBR полезен как компрессия, но не заменяет точные методы. Гибридные системы (EBR + BM25) остаются необходимыми для высокой точности.
Комментарии (34)
- Все сжатия информации (включая эмбеддинги) потерянны, и «обед безплатен» не работает, потому что лучший способ зависит от задачи.
- Теоретические оценки, экстраполирующие полином на тысячи измерений, вызывают сомнение: рост может быть экспоненциальным.
- Плотные векторы ограничены размерностью 4 k, поэтому идеал — «разреженная семантическая» модель вроде SPLADE или гибридные схемы.
- На практике работают многовекторные и late-interaction подходы (ColBERT), но они всё ещё уступают BM25 по ранжированию.
- Реальные системы идут по пути параллельных каналов: плотные, разреженные, BM25 → объединение, дедупликация, переранжирование LLM.
The No-CPU Amiga Demo Challenge
NoCpuChallenge — конкурс демо для Amiga без участия процессора.
Участники пишут эффектные интро, полностью отключив 68k: все вычисления и вывод графики/звука выполняют только чипы Agnus, Denise, Paula и внешние устройства.
Цель
Показать, насколько мощной была «железная» архитектура Amiga 500/1200 без CPU.
Правила кратко
- Запускается на базовой A500 или A1200.
- CPU держится в RESET; никаких инструкций не выполняется.
- Разрешены все DMA-каналы, Copper, Blitter, Audio, Disk, Sprites.
- Максимальный размер файла — 880 КБ (один ADF).
- Исходники открыты под MIT.
Как участвовать
- Форкните репозиторий.
- Создайте каталог
entries/<nick>/с ADF-файлом и README. - Отправьте pull-request до 31 августа 2024.
Оценка
Жюри из старых демосценеров оценит:
- визуальное впечатление,
- техничность (оптимальное использование DMA),
- креатив и синхронизацию с музыкой.
Призы — ретро-железо, мерч Amiga и вечная слава.
Комментарии (22)
- Участники восхищаются демо без CPU на Amiga и понимают, как при таких низких частотах процессора была возможна архитектура Video Toaster.
- Вспоминают, что демосцена всегда «заставляла» железо делать невозможное, а у кого-то сохранились 35-летние дискеты с эффектами.
- Поясняют роль чипов Amiga: медный (copper) и blitter позволяли параллельную графику и эффекты без нагрузки на CPU.
- Сравнивают эпохи: жалеют, что «золотые» платформы (C64, Amiga, NES, SNES) не длились по 10 лет, но отмечают, что некоторые всё же жили столько же.
- Отмечают, что длинные циклы привели бы к более зрелой оптимизации и куче Doom-клонов на Pentium Pro.
How did .agakhan, .ismaili and .imamat get their own TLDs? 💬 Длинная дискуссия
Список доменных зон
`.aaa .aarp .abb .abbott .abbvie .abc .able .abogado .abudhabi .ac .academy .accenture .accountant .accountants .aco .actor .ad .ads .adult .ae .aeg .aero .aetna .af .afl .africa .ag .agakhan .agency .ai .aig .airbus .airforce .airtel .akdn .al .alibaba .alipay .allfinanz .allstate .ally .alsace .alstom .am .amazon .americanexpress .americanfamily .amex .amfam .amica .amsterdam .analytics .android .anquan .anz .ao .aol .apartments .app .apple .aq .aquarelle .ar .arab .aramco .archi .army .arpa .art .arte .as .asda .asia .associates .at .athleta .attorney .au .auction .audi .audible .audio .auspost .author .auto .autos .aw .aws .ax .axa .az .azure .ba .baby .baidu .banamex .band .bank .bar .barcelona .barclaycard .barclays .barefoot .bargains .baseball .basketball .bauhaus .bayer .bb .bbc .bbt .bbva .bcg .bcn .bd .be .beats .beauty .beer .berlin .best .bestbuy .bet .bf .bg .bh .bharti .bi .bible .bid .bike .bing .bingo .bio .biz .bj .black .blackfriday .blockbuster .blog .bloomberg .blue .bm .bms .bmw .bn .bnpparibas .bo .boats .boehringer .bofa .bom .bond .boo .book .booking .bosch .bostik .boston .bot .boutique .box .br .bradesco .bridgestone .broadway .broker .brother .brussels .bs .bt .build .builders .business .buy .buzz .bv .bw .by .bz .bzh .ca .cab .cafe .cal .call .calvinklein .cam .camera .camp .canon .capetown .capital .capitalone .car .caravan .cards .care .career .careers .cars .casa .case .cash .casino .cat .catering .catholic .cba .cbn .cbre .cc .cd .center .ceo .cern .cf .cfa .cfd .cg .ch .chanel .channel .charity .chase .chat .cheap .chintai .christmas .chrome .church .ci .cipriani .circle .cisco .citadel .citi .citic .city .ck .cl .claims .cleaning .click .clinic .clinique .clothing .cloud .club .clubmed .cm .cn .co .coach .codes .coffee .college .cologne .com .commbank .community .company .compare .computer .comsec .condos .construction .consulting .contact .contractors .cooking .cool .coop .corsica .country .coupon .coupons .courses .cpa .cr .credit .creditcard .creditunion .cricket .crown .crs .cruise .cruises .cu .cuisinella .cv .cw .cx .cy .cymru .cyou .cz .dad .dance .data .date .dating .datsun .day .dclk .dds .de .deal .dealer .deals .degree .delivery .dell .deloitte .delta .democrat .dental .dentist .desi .design .dev .dhl .diamonds .diet .digital .direct .directory .discount .discover .dish .diy .dj .dk .dm .dnp .do .docs .doctor .dog .domains .dot .download .drive .dtv .dubai .dunlop .dupont .durban .dvag .dvr .dz .earth .eat .ec .eco .edeka .edu .education .ee .eg .email .emerck .energy .engineer .engineering .enterprises .epson .equipment .er .ericsson .erni .es .esq .estate .et .eu .eurovision .eus .events .exchange .expert .exposed .express .extraspace .fage .fail .fairwinds .faith .family .fan .fans .farm .farmers .fashion .fast .fedex .feedback .ferrari .ferrero .fi .fidelity .fido .film .final .finance .financial .fire .firestone .firmdale .fish .fishing .fit .fitness .fj .fk .flickr .flights .flir .florist .flowers .fly .fm .fo .foo .food .football .ford .forex .forsale .forum .foundation .fox .fr .free .fresenius .frl .frogans .frontier .ftr .fujitsu .fun .fund .furniture .futbol .fyi .ga .gal .gallery .gallo .gallup .game .games .gap .garden .gay .gb .gbiz .gd .gdn .ge .gea .gent .genting .george .gf .gg .ggee .gh .gi .gift .gifts .gives .giving .gl .glass .gle .global .globo .gm .gmail .gmbh .gmo .gmx .gn .godaddy .gold .goldpoint .golf .goo .goodyear .goog .google .gop .got .gov .gp .gq .gr .grainger .graphics .gratis .green .gripe .grocery .group .gs .gt .gu .gucci .guge .guide .guitars .guru .gw .gy .hair .hamburg .hangout .haus .hbo .hdfc .hdfcbank .health .healthcare .help .helsinki .here .hermes .hiphop .hisamitsu .hitachi .hiv .hk .hkt .hm .hn .hockey .holdings .holiday .homedepot .homegoods .homes .homesense .honda .horse .hospital .host .hosting .hot .hotels .hotmail .house .how .hr .hsbc .ht .hu .hughes .hyatt .hyundai .ibm .icbc .ice .icu .id .ie .ieee .ifm .ikano .il .im .imamat .imdb .immo .immobilien .in .inc .industries .infiniti .info .ing .ink .institute .insurance .insure .int .international .intuit .investments .io .ipiranga .iq .ir .irish .is .ismaili .ist .istanbul .it .itau .itv .jaguar .java .jcb .je .jeep .jetzt .jewelry .jio .jll .jm .jmp .jnj .jo .jobs .joburg .jot .joy .jp .jpmorgan .jprs .juegos .juniper .kaufen .kddi .ke .kerryhotels .kerryproperties .kfh .kg .kh .ki .kia .kids .kim .kindle .kitchen .kiwi .km .kn .koeln .komatsu .kosher .kp .kpmg .kpn .kr .krd .kred .kuokgroup .kw .ky .kyoto .kz .la .lacaixa .lamborghini .lamer .land .landrover .lanxess .lasalle .lat .latino .latrobe .law .lawyer .lb .lc .lds .lease .leclerc .lefrak .legal .lego .lexus .lgbt .li .lidl .life .lifeinsurance .lifestyle .lighting .like .lilly .limited .limo .lincoln .link .live .living .lk .llc .llp .loan .loans .locker .locus .lol .london .lotte .lotto .love .lpl .lplfinancial .lr .ls .lt .ltd .ltda .lu .lundbeck .luxe .luxury .lv .ly .ma .madrid .maif .maison .makeup .man .management .mango .map .market .marketing .markets .marriott .marshalls .mattel .mba .mc .mckinsey .md .me .med .media .meet .melbourne .meme .memorial .men .menu .merckmsd .mg .mh .miami .microsoft .mil .mini .mint .mit .mitsubishi .mk .ml .mlb .mls .mm .mma .mn .mo .mobi .mobile .moda .moe .moi .mom .monash .money .monster .mormon .mortgage .moscow .moto .motorcycles .mov .movie .mp .mq .mr .ms .msd .mt .mtn .mtr .mu .museum .music .mv .mw .mx .my .mz .na .nab .nagoya .name .navy .nba .nc .ne .nec .net .netbank .netflix .network .neustar .new .news .next .nextdirect .nexus .nf .nfl .ng .ngo .nhk .ni .nico .nike .nikon .ninja .nissan .nissay .nl .no .nokia .norton .now .nowruz .nowtv .np .nr .nra .nrw .ntt .nu .nyc .nz .obi .observer .office .okinawa .olayan .olayangroup .ollo .om .omega .one .ong .onl .online .ooo .open .oracle .orange .org .organic .origins .osaka .otsuka .ott .ovh .pa .page .panasonic .paris .pars .partners .parts .party .pay .pccw .pe .pet .pf .pfizer .pg .ph .pharmacy .phd .philips .phone .photo .photography .photos .physio .pics .pictet .pictures .pid .pin .ping .pink .pioneer .pizza .pk .pl .place .play .playstation .plumbing .plus .pm .pn .pnc .pohl .poker .politie .porn .post .pr .praxi .press .prime .pro .prod .productions .prof .progressive .promo .properties .property .protection .pru .prudential .ps .pt .pub .pw .pwc .py .qa .qpon .quebec .quest .racing .radio .re .read .realestate .realtor .realty .recipes .red .redumbrella .rehab .reise .reisen .reit .reliance .ren .rent .rentals .repair .report .republican .rest .restaurant .review .reviews .rexroth .rich .richardli .ricoh .ril .rio .rip .ro .rocks .rodeo .rogers .room .rs .rsvp .ru .rugby .ruhr .run .rw .rwe .ryukyu .sa .saarland .safe .safety .sakura .sale .salon .samsclub .samsung .sandvik .sandvikcoromant .sanofi .sap .sarl .sas .save .saxo .sb .sbi .sbs .sc .scb .schaeffler .schmidt .scholarships .school .schul
Комментарии (154)
- ICANN разрешил любым организациям покупать собственные gTLD за ~180 тыс. $ ещё в 2012-м; новый раунд намечен на 2026 г.
- Ага-хан и Исмаилитский имамат получили .agakhan, .ismaili, .imamat, как и Ватикан (.va) или Mormons (.lds).
- Бренды вроде Walmart (.george), Canon (.canon), Google (.gle) регистрируют TLD «про запас», но почти не используют.
- Пользователи считают систему «тупой» и «чёрным ящиком»: короткие имена всё равно заняты, а новые TLD выглядят спамом.
- Итог: чтобы завести свой .word, нужны деньги и связи; остальным проще довольствоваться .com.
Do the simplest thing that could possibly work 🔥 Горячее 💬 Длинная дискуссия
Разрабатывайте самое простое, что только может работать.
Это правило годится и для исправления багов, и для новых систем.
Многие инженеры мечтают о «идеальной» архитектуре: масштабируемой, распределённой, красивой. Это ошибка. Лучше глубже понять текущую систему и сделать самое простое решение.
Простое может выглядеть скучно
Джуны любят рисовать сложные схемы из кэшей, очередей, прокси. Настоящее мастерство — уметь делать меньше. Великий дизайн выглядит тривиально: «О, задача оказалась простой».
Unicorn и стандартный Rails REST API — примеры: всё нужное достигается очевидными средствами.
Практика
Нужно ограничение частоты запросов в Go-сервисе?
- Вариант 1: Redis + алгоритм «протекающего ведра».
- Вариант 2: счётчики в памяти (теряются при рестарте).
- Вариант 3: включить rate-limit в edge-прокси одной строкой конфига.
Если последнее покрывает требования — выбирайте его.
Развивайте продукт, начиная с минимума и усложняя только по новым требованиям. Это YAGNI как высший принцип.
Возражения
-
Слякоть из костылей
Костыль не прост — он добавляет сложности. Настоящее простое решение требует понимания всей системы и часто сложнее придумать. -
Что такое «просто»?
Простота — это минимум сущностей, минимум переходов, минимум новых инструментов. Она не всегда очевидна и требует инженерной работы. -
Масштабирование
Простое не значит «только сейчас». Unix-сокеты, CGI, файлы — примитивы, на которых построены крупные системы. Если завтра потребуется масштаб, выясните новые факты и добавьте минимально необходимое.
Делайте самое простое, что только может работать — и будете удивлены, как далеко это вас заведёт.
Комментарии (364)
- Участники сходятся в том, что «делай самое простое, что может работать» — полезная эвристика, но не универсальный закон.
- Опытные разработчики подчеркивают: простота ≠ легкость; требует глубокого понимания задачи и контекста.
- На больших системах «простое» быстро ломается из-за edge-case’ов и масштаба, поэтому часто приходится усложнять.
- Частая ошибка — проектировать «на вырост»: реакт, k8s и прочее для сайта из трёх страниц, лишь бы «в портфолио».
- Самый практичный совет: фиксируй реальные требования здесь и сейчас и строй под них, а не под гипотетическое будущее.
Data engineering and software engineering are converging
Кратко:
Инженеры, создающие realtime-аналитику или AI-функции, нуждаются в инфраструктуре данных с современным developer experience (DX). MooseStack от 514 — open-source DX-слой для ClickHouse.
Слияние дисциплин
Классические хранилища и озёра строились для аналитиков: SQL, BI-дашборды. Теперь же realtime-данные встроены в продукты и AI-функции, а команды разработки обязаны поставлять их так же быстро, как и обычный код.
- Транзакционные БД (Postgres, MySQL) хороши для разработки, но проваливаются при аналитических нагрузках.
- Облачные аналитические платформы (Snowflake, BigQuery) удобны для пакетных ETL, но не обеспечивают свежесть данных и sub-second ответов, а DX в них устарел.
UX-разрыв
Пользователи хотят аналитику за миллисекунды. ClickHouse решает задачу: на порядки быстрее Postgres и дешевле Snowflake/Databricks.
DX-разрыв
Разработчики привыкли к локальному циклу «код → тест → CI/CD». В мире данных такого нет: нет локального окружения, медленные итерации, конфликты между data- и software-инженерами.
MooseStack
514 выпустили MooseStack — open-source DX-слой поверх ClickHouse:
- Git-native, local-first, everything-as-code.
- Единый язык схем и запросов для всех специалистов.
- Поддержка CI/CD, preview-окружений, автотестов.
Комментарии (50)
- Сторонники «чистого» инженерного подхода считают, что data engineering изначально был частью software engineering, но позже к нему примешались аналитики, знающие лишь SQL/DBT.
- В сообществе виден раскол: одни DE пишут Terraform, CI/CD, Spark и k8s, другие ограничиваются ноутбуками, SQL-запросами и no-code-инструментами.
- Критика Python и SQL как «недостаточно инженерных» языков: динамическая типизация, отсутствие строгих схем и нормального тестирования.
- Название роли «Data Engineer» стало размытым: HR ищут «писателей SQL», а специалисты просят называть их «Software Engineer, Big Data» или «Platform Engineer».
- Сильные практики уже давно используют IaC, версионирование, code review и полноценный SDLC, но таких меньшинство.
Income Equality in Nordic Countries: Myths, Facts, and Lessons 💬 Длинная дискуссия
Основные выводы
- Главный фактор равенства доходов — сжатие почасовых зарплат, а не налоги или трансферты.
- Механизм — высоко координированные отраслевые переговоры, которые ограничивают премии за образование и навыки.
- Распространённые объяснения (объёмное перераспределение, социальные расходы, политика равных навыков) оказываются второстепенными.
- Уроки для других стран: без института централизованных соглашений трудно повторить нордическую модель.
- Открытые вопросы: как сжатие зарплат влияет на мотивацию, мобильность и долгосрочный рост.
Комментарии (169)
- Неравенство доходов и неравенство богатства почти не связаны: у скандинавов одно из самых высоких в мире богатства, но доходы распределены равнее благодаря «пред-распределению» (сжатию зарплат до налогов) и сильным профсоюзам.
- Американцы часто не принимают идею платить за общее благо («почему я должен оплачивать чужое здоровье?»), тогда как в Норвегии/Дании высокие налоги воспринимаются как плата за качество жизни без необходимости сверх-высоких зарплат.
- Норвегия дополнительно «подпитывается» нефтегазовыми доходами, но даже без них ключевым фактором считается именно сжатие зарплат, а не перераспределение через налоги.
- Скандинавские профсоюзы настолько сильны, что при злоупотреблении работодателем к бойкоту могут подключиться даже смежные профессии (сантехники, поставщики).
- Несмотря на «социалистическую» репутацию, внутри стран растёт недовольство: повышение пенсионного возраста, снижение качества здравоохранения и всё более ощутимое неравенство богатства.
SQLite's documentation about its durability properties is unclear
SQLite и надёжность: бардак в настройках
Надёжность (durability) — гарантия, что после COMMIT изменения сохранятся даже при падении ОС или отключении питания. На Linux это обеспечивается вызовом fsync. Цена — производительность, поэтому СУБД дают «ручки» для настройки. Главное, чтобы документация чётко объясняла, что включено по умолчанию.
У SQLite всё запутано. Два ключевых параметра:
journal_mode(DELETE | WAL …)synchronous(EXTRA, FULL, NORMAL, OFF)
По документации:
- По умолчанию
journal_mode=DELETE,synchronous=FULL. - В режиме DELETE
FULLне гарантирует надёжность; нуженEXTRA. - В режиме WAL
FULLуже достаточно.
Вывод: «из коробки» SQLite не надёжна; переключившись на WAL — становится.
Однако Ричард Хипп (автор SQLite) в комментарии на HN утверждает прямо противоположное:
- «В конфигурации по умолчанию SQLite надёжна».
- «Если включить WAL, по умолчанию надёжность теряется».
Документация и автор расходятся.
Дополнительные ловушки:
- Обертки могут переопределять
synchronous. Популярный драйвер Go для SQLite ставитNORMALв WAL-режиме — надёжности нет. - На macOS
fsyncработает не как на Linux, что тоже снижает гарантии.
Итого: чтобы быть уверенным, явно задайте
PRAGMA journal_mode = WAL; PRAGMA synchronous = FULL;
Комментарии (51)
- Участники спорят, что «durability» в SQLite зависит от комбинации journal_mode и synchronous, а не от единого определения.
- По-умолчанию (DELETE + FULL) SQLite не гарантирует durability при сбое ОС/питания, потому что fsync не всегда успевает закрепить журнал.
- WAL по умолчанию защищает от краха приложения, но не от краха ОС; для полной durability нужно synchronous=FULL.
- Некоторые считают документацию ясной, другие — запутанной и просят примеров выбора режимов.
- Поднимаются вопросы надёжности fsync, файловых систем и дисков, а также желание «SQLite 4» с новыми умолчаниями.
John Carmack's arguments against building a custom XR OS at Meta 🔥 Горячее 💬 Длинная дискуссия
Комментарии (587)
- Кармак: новая ОС требует «монашеского ордена» инженеров, иначе проект затянет «гравитация» существующих решений.
- Бывшие сотрудники Meta и Oculus: XROS отвлекал основные команды, не имел чёткого бизнес-кейса, а критика внутри компании заканчивалась жалобами в HR.
- Технический консенсус: драйверы и экосистема железа сегодня настолько сложны, что проще адаптировать Linux/RTOS, чем писать ОС с нуля.
- Примеры Google Fuchsia и HarmonyOS показывают, что даже гигантам требуются годы и огромные ресурсы, чтобы просто добиться совместимости.
- Итог: без явного стратегического преимущества и готовности к долгосрочным инвестициям новая ОС — дорогой эксперимент ради эксперимента.
The web does not need gatekeepers: Cloudflare’s new “signed agents” pitch 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (426)
- Участники спорят: нужен ли единый «привратник» (типа Cloudflare), чтобы защищать сайты от агрессивных ИИ-ботов, или это лишний централизованный контроль.
- Многие жалуются, что крупные компании (Meta, OpenAI, Perplexity) игнорируют robots.txt и нагружают серверы.
- Противники Cloudflare считают, что «публичное» должно оставаться публичным, а проблему можно решить простым rate-limiting и децентрализованными ID.
- Часть пользователей готова платить или использовать invite-only доступ, лишь бы не было единого gatekeeper.
- Пока нет открытого стандарта идентификации агентов, владельцам сайтов приходится либо доверять Cloudflare, либо играть в «кошки-мышки» с ботами.
Offline-First Landscape – 2025
Почему мы отказались от WatermelonDB
- IndexedDB тормозит: WatermelonDB держит всю БД в памяти через LokiJS, что при 100 МБ+ данных недопустимо.
- Синхронизация хрупкая: клиент обязан сначала вытянуть данные, иначе мутации могут затереться.
- Проект замедлился: PR с чанковой загрузкой висит месяцами, активность упала.
- Web-ограничения: IndexedDB единственное постоянное хранилище в браузере, и все реализации страдают от его скорости.
Что мы искали
- Полноценная работа офлайн: чтение, удаление, ответ, сортировка писем без сети.
- Сотни МБ и миллионы строк с первого запуска — задача из топ-1 %.
- Кроссплатформенность: web + натив, общий знаменатель — браузер.
- Отказались от идеи «база-независимый API»: готовы интегрироваться на уровне Postgres, если это даст надёжность.
Первые кандидаты
| Библиотека | Плюсы | Минусы |
|---|---|---|
| WatermelonDB | Open-source, проверен временем | Память, тормоза, слабая поддержка |
| PowerSync | Есть self-host | Требует кластер MongoDB + изменения Postgres, кейсы только демо |
| ElectricSQL | Переписывают, односторонняя синхронизация, требует Postgres |
Итог
Альфа-версия на WatermelonDB работала, но к ноябрю стало ясно: для «тяжёлого» офлайна нужно что-то совсем другое. Мы начали поиск «новой волны» решений, отбросив все предубеждения.
Комментарии (63)
- Автор поста (isaachinman) доволен Replicache+Orama, ждёт стабильности Zero, считает InstantDB созревшей, а Triplit теперь просто open-source.
- Критика: почти все решения (WatermelonDB, ElectricSQL, InstantDB, Convex) всё равно сидят на IndexedDB, который сам по себе «хак» и в Chrome построен на SQLite.
- Появляется надежда на Origin Private File System (OPFS) и WASM-SQLite, но пока боятся коррупций и нестабильности.
- Разработчики жалуются: мало примеров разрешения семантических конфликтов, ограниченные типы SQLite, сложности больших данных (ГБ+) и неясность, где open-source, а где нет.