Show HN: Moribito – A TUI for LDAP Viewing/Queries
moribito
Публичный репозиторий ericschmar/moribito
- Ошибка загрузки – перезагрузите страницу.
Комментарии (23)
- Пользователи рады новому TUI-клиенту для LDAP и благодарят автора.
- Просят добавить поддержку редактирования дерева cn=config и лицензию в репозиторий.
- Уточняют совместимость с Active Directory; автор считает, что должно работать через библиотеку Go.
- Сравнивают проект с громоздким Apache Directory Studio и предлагают выложить его на terminal trove.
Take something you don’t like and try to like it 💬 Длинная дискуссия
-
Хобби: взять то, что не нравится, и попытаться полюбить — еду, музыку, людей, обстоятельства. Это способ наслаждаться жизнью и изучать человеческую природу.
-
Париж, Майкл Джексон. Услышал Billy Jean повсюду, решил: «Они правы, он крут». Потом узнал, что это было 25 июня 2009-го — день смерти певца.
-
Шпинат. Детство: заставляли есть — чувствовал насилие над автономией. Взрослый приём: представляю, что монахи в Японии кормят таинственным овощем. Получилось «переварить» также белое вино, Ezra Klein, диско, йогу, Pearl Jam, Гибли.
-
Кантри. Оцениваю, но не чувствую. Хочется хотеть любить, но культурная программа глубже. Некоторые уровни подсознания не поддаются.
-
Изюм и Oasis. Годами добавлял изюм в троп-микс, но никогда не хотел его есть. Раз в пару лет «признаюсь» себе в любви к Oasis — включаю и разочаровываюсь. Концепция «я» может быть ошибочной.
-
Сноб по ТВ. Уверен, что сериалы могут быть высоким искусством, но 90 % считаю «кормёжкой». Хочется посмотреть — не могу. Возможно, всё плохо, либо не моё, либо трудно придумать «монахов и Big Bang Theory».
-
Самолёт. Капитан советует «расслабиться и наслаждаться полётом». Как наслаждаться теснотой, турбулентностью и очередью в туалет?
Комментарии (183)
- Люди делятся опытом, как научиться любить то, что раньше не нравилось: помидоры, натто, солёный лакриц, джаз, аниме, полёты.
- Ключевой метод — повторное, сознательное пробование: «съешьте каждый день неделю — и вкус изменится».
- Некоторые признают, что «вкус» часто — просто привычка или предрассудок; раскрывается, когда отделяешь вещь от окружающей субкультуры.
- Есть и обратная сторона: у одних хобби плодятся до стресса, другие вовсе не хотят ничего «приучать» себе нравиться.
- Итог: открытость к новому расширяет жизнь, но насильное «нравиться» не всем нужно.
RubyMine is now free for non-commercial use
RubyMine теперь бесплатен для некоммерческого использования
- Кому подходит: учёба, open-source, контент, хобби-проекты.
- Как получить: скачать RubyMine и выбрать «Non-commercial use».
- Коммерческое использование оплачивается по старой модели.
Почему?
JetBrains хочет снизить порог входа в Ruby и поддержать сообщество. Лицензия бесплатна, но включает анонимную телеметрию (только статистика функций).
Комментарии (52)
- RubyMine считается «самым слабым» IDE от JetBrains из-за ограниченных возможностей самого Ruby.
- Тем не менее, у него лучший поиск, навигация и отладка по сравнению с ruby-lsp/VS Code, особенно при метапрограммировании.
- Бесплатная некоммерческая лицензия требует отправки анонимной статистики, что вызывает споры о «free as in freedom».
- AI-возможности уступают Cursor, но JetBrains-IDE всё равно предпочитают за стабильность и встроенный DataGrip.
- Некоторые видят в бесплатной лицензии попытку вернуть пользователей, ушедших к VS Code, и не считают это признаком «смерти Ruby».
How big are our embeddings now and why?
Как сейчас выросли эмбеддинги и почему
Эмбеддинги — это плотные числовые векторы, которые заменяют тексты, картинки, звук для поиска, рекомендаций, RAG, классификации.
Раньше 200–300 измерений считались потолком: Word2Vec, GloVe, PCA — всё укладывалось в сотню мегабайт и давало приемлемое качество.
Что изменилось
- BERT (2018) — 768 dim.
- GPT-подобные — 768–1600 dim.
- OpenAI text-embedding-ada-002 — 1536 dim.
- text-embedding-3-large — 3072 dim (можно урезать до 256–1024 без потери, но по умолчанию большой).
- Anthropic, Cohere, Jina, voyage — 1024–4096 dim.
- Multimodal (CLIP, SigLIP) — 512–1024 на патч/токен, но стекуются до 8192+.
- ColBERT, late-interaction — хранят вектор на каждый токен: 128×N токенов → десятки тысяч dim на документ.
Зачем столько
- Больше параметров модели → лучше передаёт тонкие семантические различия.
- GPU/TPU стали дешевле — обучить 4k-дим пачку на паре A100 проще, чем 5 лет назад 300-дим на CPU.
- Аппроксимация и сжатие (PQ, OPQ, HNSW, int8) позволяют хранить и искать в 4–16× экономнее, поэтому «жирный» вектор не болит.
- RAG-рейсы — продавцы API конкурируют качеством, а не объёмом: лучше отдать 3k dim, чем терять клиента.
- Масштабируемость векторных БД — Pinecone, Weaviate, Qdrant, PGvector умеют индексировать сотни миллионов 1k–4k векторов на одном ноде.
Итого
300 дим остались в учебниках. Пром-норма — 768–1536, новые модели — 2k–4k, а при late-interaction счёт идёт на сотни тысяч «виртуальных» измерений. Рост цены хранения компенсируется сжатием и железом; качество растёт быстрее, чем стоимость, поэтому векторы продолжат толстеть, пока не упрёмся в новый физический или экономический потолок.
Комментарии (13)
- Размер эмбеддингов растёт (уже 4096-D и выше), потому что LLM учат их совместно с остальной сетью и получают «по бонусу» для внешних задач.
- Парадокс Джевонса: чем больше измерений доступно, тем активнее их используют, несмотря на убывающую отдачу.
- Для RAG и хостинга векторных БД растёт спрос на компактные модели (EmbeddingGemma, 300 M), чтобы сэкономить память и деньги.
- Абсолютное косинусное расстояние менее важно, чем порядок; при обучении под конкретный домен можно ужать размер без потери качества.
- «Похожесть» в эмбеддинге — это не всегда семантика: может учитываться синтаксис, формат или задача ранжирования.
- Эмбеддинги — это координаты в латентном пространстве трансформера; для чат-моделей они лишь первый шаг, а для специализированных моделей — финальный продукт.
Toronto’s network of pedestrian tunnels 💬 Длинная дискуссия
Торонто под землёй
В центре Торонто сходятся две линии метро, восемь пригородных железных дорог, трамваи, автобусы и шоссе. Узкая прибрежная полоса ежедневно принимает сотни тысяч человек, и улицы буквально забиты.
Чтобы обойти пробки и зимнюю стужу, ещё в начале XX века компании начали прокладывать подземные переходы от офисов к станциям метро. К переходам быстро пристроились магазины; появился «сетевой эффект»: новые здания стремились присоединиться к уже существующим туннелям.
Так вырос Path — 30-километровая «пешеходная подземка», связывающая почти все центральные станции с крупными башнями. Сеть разбита на 35 участков, каждый по-прежнему принадлежит тому бизнесу, который её построил. Лобби небоскрёбов служат одновременно и вестибюлями метро, и город играет лишь роль слабого регулятора.
Комментарии (151)
- Участники обсуждают обширные пешеходные сети в холодных городах: Toronto PATH, Montréal RESO, Calgary +15, Minneapolis Skyway, Chicago Pedway, Sapporo, Helsinki.
- Основная причина их появления — суровые зимы и непогода; в тёплых мегаполисах таких систем почти нет.
- Некоторые сети превратились в «тайные» города с магазинами, музеями, вузами и даже гонками на 5 км.
- После пандемии многие участки полупусты: закрыты витрины, падает аренда.
- Критика: туннели отвлекают внимание от улучшения уличной среды и могут быть результатом лобби автомобилистов.
New knot theory discovery overturns long-held mathematical assumption
Математики опровергли 90-летнее предположение: соединённый узел может распутываться быстрее, чем сумма «сложностей» его частей.
В теории узлов каждому узлу приписывают «число распутывания» — минимум разрезов и склеек, чтобы превратить его в петлю. Гипотеза Вендта (1937) утверждала, что для двух склеенных узлов это число равно сумме исходных.
Марк Бриттенхэм и Сьюзен Хермиллер из Университета Небраски взяли узел с числом 3, соединили его с зеркальным отображением и получили новый узел, который распутывается за 5 (а не ожидаемых 6) ходов.
Результат показывает, что наши меры сложности узлов несовершенны и могут влиять на понимание сворачивания ДНК и устойчивости молекул.
Комментарии (31)
- Ученые нашли первый контрпример к гипотезе 1977 года: число «развязывающих» ходов при объединении двух узлов иногда меньше суммы их индивидуальных чисел.
- Пример требует всего 5 изменений перекрёстков, но перебор всё же нетривиален из-за комбинаторного взрыва.
- Результат опровергает пункт 1.69(B) из списка проблем Кирби и может пересмотреть ряд старых выводов в теории узлов.
- Участники отмечают, что задача казалась «очевидной», но 50 лет не находилось ни одного контрпримера, что подчёркивает её сложность.
What's New with Firefox 142
Firefox 142: кратко о главном
- Firefox Relay — создаёт безопасные маски e-mail при регистрации, чтобы меньше спама и больше анонимности.
- Предпросмотр ссылок — долгое нажатие показывает миниатюру страницы до перехода.
- AI-группы вкладок — локальная модель сама собирает похожие вкладки и предлагает названия.
- Вертикальные вкладки — боковая панель убирает хаос и фокусирует внимание.
- Персонализация новой вкладки — обои, цвета или свои фото одним кликом.
- Группы вкладок вручную — перетащи одну на другую и всё в порядке.
Комментарии (98)
- Пользователи спорят о полезности Link Preview: одни считают её медленной и бесполезной, другие — удобной для проверки сокращённых ссылок.
- Волнует приватность: превью может обращаться к сайту без блокировщиков и без предупреждения.
- На фоне новых AI-функций многие жалуются на старые проблемы: утечки памяти до 8 ГБ, потерю всех вкладок, «поломанный» поиск по странице.
- Часть аудитории разочарована отсутствием подробных changelog и просит сначала починить баги, а не добавлять фичи.
- Некоторые уже рассматривают Ladybird или Edge как альтернативу, но опасаются их недостатков.
Run Erlang/Elixir on Microcontrollers and Embedded Linux
GRiSP – три стека для запуска Erlang/Elixir на встраиваемых системах:
- GRiSP Metal – BEAM на RTEMS, 16 МБ ОЗУ, реальное время, прямой доступ к железу.
- GRiSP Alloy – BEAM на Buildroot-Linux RT, несколько VM, приоритеты и привязка к ядрам.
- GRiSP Forge – то же, но на Yocto, для долгих жизненных циклов и кастомных BSP.
GRiSP-io – облачная платформа для OTA-обновлений, мониторинга и масштабного управления устройствами.
Преимущества: открытый код, надёжность BEAM, минимальные задержки, масштабируемость от прототипа до флота.
Комментарии (48)
- Участники спорят, считать ли 16 МБ «MCU-классом»: традиционные микроконтроллеры имеют ≤1 МБ, но современные ESP32 и NXP i.MX 6UL уже выходят за эти рамки.
- GRISP — это BEAM-платформа поверх RTEMS для «мягкого» реального времени, в отличие от Nerves (BEAM на минимальном Linux).
- Пользователи отмечают удобство модели акторов и горячей замены кода, но сомневаются в приоритетах процессов и строгих гарантиях latency.
- Для устройств с КБ-объёмом памяти предложили AtomVM; 16 МБ пока выше среднего, но быстро дешевеет.
- На «железе» 90-х Erlang/Elixir запустится, если ОЗУ ≥16 МБ; сама BEAM требовала ещё меньше.
Next.js is infuriating 🔥 Горячее 💬 Длинная дискуссия
Next.js выводит из себя
Наконец-то написал пост: злость лучший мотиватор.
В $COMPANY упал сервис на Next.js, а логов в проде нет. Задача — добавить логирование.
Middleware
Дока обещает: «Middleware выполняется до рендера, удобно для логов».
Пробуем pino + AsyncLocalStorage:
// middleware.ts
export async function middleware(req: NextRequest) {
LoggerStorage.enterWith(requestLogger());
logger()?.debug({ url: req.url }, "start");
return NextResponse.next();
}
Запускаем — логи летят в браузер. Почему? Runtime по умолчанию edge. Меняем на nodejs — в новом проекте работает, в боевом нет.
Страницы и layouts
Пишем в компоненте:
logger()?.info("from page");
Тишина. logger() возвращает null: рендер и middleware живут в разных async-контекстах.
Решение
Передаём requestId через заголовки:
// middleware.ts
const id = crypto.randomUUID();
loggerInstance.child({ requestId: id }).debug("start");
return NextResponse.next({ headers: { "x-request-id": id } });
// page.tsx
const id = headers().get("x-request-id");
loggerInstance.child({ requestId: id }).info("from page");
Итог: чтобы просто логировать, нужно городить костыли через заголовки.
Комментарии (445)
- Пользователи жалуются на игнорирование сотен старых issue, перегруженность абстракциями и постоянные «канареечные» решения, которые не доходят до продакшена.
- Сообщество считает Next.js «самой худшей» технологией: сложно понять, где выполняется код, нельзя цепочкой middleware, а апи-шлюзы выглядят «как будто их писали выпускники буткемпа».
- Разработчики предлагают уходить на Remix, React Router v7, Nuxt, SolidStart, Deno Fresh или даже «чистый HTML/CSS» ради простоты и контроля.
- Представитель Vercel признаёт DX-проблемы и обещает улучшения, но многие уже мигрируют на Vite или Django/Rails/Phoenix.
Collecting All Causal Knowledge
CauseNet — проект по сбору всей человеческой причинной информации из веба и отделению знаний от убеждений.
Получено 11,6 млн причинных связей (точность ≈ 83 %) из полуструктурированных и неструктурированных источников. Построен первый крупный граф причинности открытого домена.
Данные
- CauseNet-Full — полный набор (11,6 млн связей, 12,2 млн понятий, 1,8 ГБ).
- CauseNet-Precision — высокоточная выборка (200 тыс. связей, 80 тыс. понятий, 135 МБ).
- CauseNet-Sample — мини-пример (264 связи, 524 понятия, 54 КБ).
Модель
Концепты соединяются отношениями «причина → следствие».
Каждая связь снабжена метаданными: источник, предложение, шаблон, временная метка и т.д.
Примеры
{
"causal_relation": {
"cause": {"concept": "smoking"},
"effect": {"concept": "disability"}
},
"sources": [{
"type": "clueweb12_sentence",
"payload": {
"sentence": "In Canada, smoking is the most important cause of preventable illness...",
"path_pattern": "[[cause]]/N\t-nsubj\tcause/NN\t+nmod:of\t[[effect]]/N"
}
}]
}
Применение: ответы на причинные вопросы, аргументация, многошаговые выводы.
Комментарии (101)
- Критики считают идею «базы всех причин» хрупкой и излишне упрощённой: примеры вроде «человеческая деятельность → изменение климата» слишком обобщены и бесполезны.
- Многие проводят параллель с провалом проекта Cyc и предупреждают о повторении тех же ошибок.
- Упрекают отсутствие неопределённости, контекста и механизмов: «болезнь → смерть» игнорирует вероятности, временные рамки и индивидуальные условия.
- Источник — Википедия — вызывает скепсис; в базе даже встречаются ложные связи («вакцины → аутизм»), что подрывает доверие.
- Пока не ясно, для чего это нужно: прогнозы, дообучение ИИ или просто каталог «что кто-то когда-то утверждал».