Hacker News Digest

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

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

The key to getting MVC correct is understanding what models are (stlab.cc) 💬 Длинная дискуссия

Как MVC стало таким бардаком

Классическое Smalltalk-MVC:

  • Model — данные, ничего не знает об UI.
  • View — рисует Model, подписывается на её изменения.
  • Controller — переводит клики/клавиши в команды Model.

Связь Model→View только через наблюдение (observer), поэтому Model переиспользуема.

Apple (и большинство фреймворков) всё перепутали:

  • View и Controller слили в «View-Controller» — толстый монстр, который одновременно держит UI-элементы и кучу логики.
  • Controller превратился в мусорный бак кода, «непереиспользуемый — но это нормально».
  • Model зачастую делают пассивной структурой, а состояние хранят в самом виджете (чекбокс знает своё значение).

Итог: вместо «Model как источник истины» получаем размазанное состояние по View-Controller’ам, гонки данных и невозможность тестировать.

Почему случилось: в C/Pascal сделать observable-Model было больно, поэтому в Xerox Lisa пожертвовали чистотой ради скорости. За ними потянулись все.

Как надо:
Model — любой observable-объект (даже bool в обёртке). View подписывается и рисует текущее значение; никогда не спрашивает «каков чекбокс?» — он знает только Model. Controller лишь говорит Model «переключись». Можно цеплять сколько угодно View к одной Model без изменения кода.

by csb6 • 07 сентября 2025 г. в 01:26 • 176 points

ОригиналHN

#mvc#smalltalk#controller#model#view#observer#ios#reactive#rad#composition

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

  • MVC — «религия без евангелия»: все уверены, что знают, что такое Model и View, но Controller — у каждого свой.
  • Исходные определения настолько абстрактны, что под MVC подгоняют любую структуру из трёх классов; реальные кодовые базы показывают 1:1 связь V-C, что уничтожает пользу разделения.
  • Контроллер быстро превращается в «всё, что не влезло в M или V», из-за чего страдает тестируемость и масштабируемость; 15 лет рефакторинга iOS-проектов подтверждают: 100 % проблем — в недостаточной проработке Model.
  • RAD-фреймворки и визуальные редакторы ускорили искажение: код-behind стал контроллером, а «настоящий» MVC остался только в Smalltalk-историях.
  • Практический выход: оставить MV, убрать лишний C или превратить его в тонкий «GluePuppy», который просто связывает наблюдаемую Model с реактивной View; всё остальное — следствие Expression Problem и отсутствия языковой поддержки композиции.

Axial twist theory (en.wikipedia.org)

Теория аксиального скручивания объясняет зеркальную (перекрёстную) организацию нервной системы позвоночных: правая половина тела иннервируется левым полушарием и наоборот. Согласно теории, на ранней стадии эмбриогенеза головной мозг и спинной хребет поворачиваются друг относительно друга на 180°, что и создаёт описанную асимметрию.

Ключевые положения

  • Эмбриональный поворот: между 2-й и 4-й неделями у человека передний мозг отклоняется вправо, задний — влево; затем происходит «завинчивание» ствола.
  • Генетика: за поворот отвечают гены PITX2, NODAL, SHH; мутации вызывают гетотаксию (зеркальное расположение органов).
  • Эволюция: скручивание появилось у первых хордовых и сохранилось у всех позвоночных.
  • Морфология:
    – «мозговой крутящий момент» (правое лобное и левое затылочное полушарие крупнее);
    – перекрёст зрительных, обонятельных и пирамидных путей;
    – внутренние органы расположены асимметрично (сердце слева, печень справа).

Альтернативы и вопросы

  • Гипотеза инверсии: позвоночные «перевернулись» спиной к хорде.
  • Соматическое скручивание: поворачивается всё тело, а не только нервная трубка.
  • Пока неясно, как именно поворот координируется с формированием скелета и сосудов.

by lordnacho • 07 сентября 2025 г. в 00:25 • 167 points

ОригиналHN

#biology#neuroscience#embryology#genetics#evolution#morphology#axial-twist-theory#nervous-system#asymmetry#pitx2

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

  • Обсуждение крутится вокруг «осевого поворота» у позвоночных: тело будто бы перекручено на 180°, поэтому мозг управляет противоположной стороной.
  • Кто-то вспоминает старую «инженерную» теорию, объясняющую зеркальное отображение в мозге топологией проводки, но точную ссылку никто не находит.
  • Все восхищаются или пугаются милых, но странных схем, которые нарисовал сам автор теории (User:Marci68), и опасаются, что их заменят «корпоративными» картинками.
  • Спорят, действительно ли «поворот» научный консенсус или личная теория одного учёного, потому что почти вся викистатья написана им же.
  • Мелькнули шутки про левшей, сердце-спираль Торрент-Гуаспа и «звёздных морских ежей» на Марсе, но быстро сошли на нет.

Knowledge and memory (robinsloan.com)

  • Клод придумал три несуществующих метода Ruby; я бы тоже мог так «угадать», но не делаю этого, потому что помню, где и когда учил каждую деталь.
  • Моя память «осадочная»: факты ощущаются плотными или пустыми, и я чувствую разницу между знанием и догадкой.
  • У биологов до сих пор нет модели, что именно в мозге есть память; это центральная тайна человечества.
  • У языковых моделей памяти нет: веса — как ДНК, а не как личный опыт. Контекстное окно — лишь блокнот в чужом номере.
  • Чтобы перестать галлюцинировать, ИИ должен жить во времени и причинности, а не просто обрабатывать текст.

by zdw • 07 сентября 2025 г. в 00:15 • 87 points

ОригиналHN

#ruby#artificial-intelligence#neuroscience#machine-learning#neural-networks#memory#natural-language-processing

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

  • Участники спорят, почему LLM «галлюцинируют»: кто-то винит сжатие знаний, кто-то — статистическую природу моделей.
  • Нейробиологи и пациенты уточняют: человеческая память тоже ненадёжна, но у нас есть метапамять и эпизодические «якоря», которых у LLM нет.
  • Документированная письменная база знаний считается лучшим способом снизить ошибки ИИ, пока не появятся принципиально новые архитектуры.
  • Некоторые считают термин «галлюцинация» маркетинговым и предлагают называть это просто «ошибкой» или «склейкой».

Show HN: I'm making an open-source platform for learning Japanese (kanadojo.com) 🔥 Горячее

by tentoumushi • 06 сентября 2025 г. в 21:19 • 259 points

ОригиналHN

#open-source#learning-platform#japanese-language#jlpt#education#user-interface

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

  • Приложения полезны только для зубрёки слов, но не заменяют полноценного изучения.
  • Ключ к успеху — иммерсия: аниме, книги, подкасты, живое общение.
  • Критика UI: спорные шрифты, лишний ромадзи, неудобный выбор наборов слов, неочевидный старт.
  • Пользователи просят выключать ромадзи, добавлять режим письма, группировать уроки по JLPT и убирать Google Analytics.
  • Без грамматики, разговора и письма даже лучшее приложение превращается в просто карточки-словарь.

A Navajo weaving of an integrated circuit: the 555 timer (righto.com) 🔥 Горячее

Навахо-ковёр «555 таймер» — схема микросхемы, вытканная из шерсти. Белые линии — металлизация, чёрное поле — кремний, оранжевые ромбы — контактные площадки.
Мастерица Марилу Шульц воплотила 25 транзисторов и три крупных «квадрата» 王, сделав микроскопические дорожки монументальными. Вдохновение — тёмнопольная фотография кристалла Антуана Берковичи.
Работа продолжает серию: с 1994 года она ткёт «чипы» из шерсти навахо-чурро, начав с Pentium для Intel. В новом ковре серебряная и золотая нити подменяют алюминий и медь реального дай.

by defrost • 06 сентября 2025 г. в 20:57 • 350 points

ОригиналHN

#555-timer#integrated-circuit#transistor#microcontroller#apollo#moon-landing#intel#pentium

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

  • Художница-маруха Марилу в ткачестве воспроизвела схему культового таймера 555, превратив кремниевую топологию в ковёр.
  • Участники вспомнили, что навахо уже связывали ткачество и высокие технологии: в 1969 году женщины плели «память» для Apollo, а недавно Марджо Селби показала 16-метровую инсталляцию «moon landing» в соборе Кентербери.
  • Обсуждали, почему 555 до сих пор не вытеснили микроконтроллеры: он дешёв, работает в экстремальных условиях, не требует прошивки и живёт десятилетия.
  • Кто-то предложил вплести проводящие нити, чтобы ковёр стал рабочей схемой; другие сравнили узор с линиями Наски и фракталами.
  • Тема вызвала волну ностальгии, восхищения «красотой механической необходимости» и рефлексию о передаче знаний будущим поколениям через текстиль.

Microsoft Azure: "Multiple international subsea cables were cut in the Red Sea" (azure.status.microsoft)

Сводка Azure

  • Инцидент: 06.09.25, 05:45 UTC – повреждены подводные кабели в Красном море; трафик Европа ↔ Азия идёт обходными путями, задержки выше нормы.
  • Статус: команды перенаправляют нагрузку, ремонт займёт время; обновления ежедневно.
  • Регионы: задержки возможны во всех европейских, азиатских и ближневосточных зонах; сервисы помечены «Information».
  • Действие: следите за Azure Service Health в портале, настройте оповещения.

by djfobbz • 06 сентября 2025 г. в 20:57 • 123 points

ОригиналHN

#microsoft-azure#cloud-platforms#networking#subsea-cables#azure#microsoft

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

  • 6 сентября 2025 г. около 05:45 UTC несколько подводных кабелей в Красном море оборвались, и трафик Европа ↔ Азия пошёл обходными путями с ростом задержки.
  • Пока неясно, случайность это (рейд якорей) или умысел; официальных выводов нет.
  • Кабели чинят: спецсудно крюком поднимает концы на борт, вырезает повреждённый участок и сваривает новый отрезок, после чего кабель опускают обратно.
  • Процесс сложен: современные кабели натянуты без излишков, поэтому часто приходится предварительно разрезать их на дне.
  • Подобные обрывы в Красном море и у Сингапура случаются регулярно — чаще всего виноваты якоря судов.

Shipping textures as PNGs is suboptimal (gamesbymason.com)

Перестаньте пихать PNG в игры

PNG — хорош для обмена, но плох для текстур: нет мипмапов, кубемапов, premultiplied-альфы и GPU-сжатия (BCn).
При загрузке приходится распаковывать и тратно пересжимать — тормоза и лишняя память.

Что делать
Используйте KTX2 или DDS: заголовок + готовые GPU-данные, можно сжать ещё zlib/lz4.
Для мобильных — Basis Universal, транскодит под нужный формат на лету.

Экспорт
В редакторе кнопки нет; берите готовый open-source-конвертер Zex или пишите свой.

by ibobev • 06 сентября 2025 г. в 20:37 • 124 points

ОригиналHN

#png#ktx2#dds#zlib#lz4#basis-universal#compressonator#directxtex#gpu#texture-compression

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

  • Нет готового OSS-инструмента, который за один вызов делает мипмапы → BC/ASTC → KTX2+zstd для всех типов текстур.
  • Все крупные движки решают это собственным импорт-пайплайном; остальные катят свои скрипты вокруг Compressonator, DirectXTex или старых ISPC-библиотек.
  • GPU-ускорение есть только в закрытых NVIDIA/AMD утилитах и части шейдеров Compressonator; открытых «одним бином» всё равно нет.
  • Для веба и мобилок часто берут PNG/JPG и конвертят уже на клиенте, жертвуя RAM/бандвидсом; Basis Universal/KTX2 пока единственный разумный компромисс.
  • Нейро-компрессия обещает «всё заменить», но пока не в продакшене; старые палитровые форматы в GPU никто не хочет возвращать.

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

  • Участники обсуждают прорыв в геотермальной энергетике: Fervo и другие компании (Quaise, Sage) делают EGS-технологию масштабной и дешёвой.
  • Скважины в Cape Station, Юта, уходят на 2,5–4,5 км; это уже достаточно для кипящей воды, но суперпар требует 4–12 км.
  • Опыт нефтяных сервисов (Schlumberger, DigiDrill) и высокотемпературных MWD-систем решает задачи навигации и бурения.
  • В Европе (Тоскана, Исландия) геотермия даёт до 40 % электричества, но нужны фильтры от Hg и H₂S; следы ртути и тепловой сброс всё же остаются.
  • Турбины задают «пол цены» любой пара-генерации, поэтому солнце в перспективе дешевле; для геотермии ищут альтернативы (пельтье, натриевые ТЭЦ-ячейки).
  • Проект всё ещё дорог, разрешения сложнее, чем у солнца, но бывшие угольные турбины можно переоборудовать, а тепловой ресурс земной коры практически безграничен.

Being good isn't enough (joshs.bearblog.dev)

Краткий перевод на русский (в 2 раза короче):


Чтобы расти в карьере, одного мастерства недостаточно. Сначала важно быть сильным в своей основной технической области — это база. Но со временем все вокруг тоже становятся сильными, и выделяться становится сложнее.

Ключ к росту — в развитии четырёх навыков:

  • технический (мастерство),
  • продуктовый (понимание, что важно),
  • исполнительский (доведение до результата),
  • людской (влияние и коммуникация).

Все успешные проекты требуют каждого из них. Развиваться можно быстрее, если сознательно работать над слабым местом. Для этого нужны обратная связь и скромность — чтобы услышать и принять критику.

Не ждите идеального плана. Начинайте: берите проекты, ищите ментора, становьтесь ментором, делайте работу видимой. Важно быть инициативным — это решает больше, чем талант или удача.

Работайте над собой открыто и намеренно. В долгосрочной перспективе вы получите то, что заслужите.

by protagonist_hn • 06 сентября 2025 г. в 20:01 • 120 points

ОригиналHN

#career-growth#technical-skills#product-management#communication#leadership#mentoring

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

  • «Хорошо» мало: работодателю нужен не только талант X, но и навыки Y, которые сотрудник игнорирует.
  • Программа должна приносить деньги; люди важны на всех уровнях.
  • Высокая продуктивность часто награждается лишь новой порцией работы: «приз за победу — ещё кусок пирога».
  • Карьерный рост зависит от мотивации тех, кто решает, а не от чистой квалификации; надо говорить о своих результатов и выравниваться с целями компании.
  • Умение писать (и быть заметным) — ключевой «силовой множитель», но в устных/политических культурах его эффект ограничен.

Over 80% of sunscreen performed below their labelled efficacy (2020) (consumer.org.hk) 💬 Длинная дискуссия

80 % защитных кремов не соответствуют заявленному SPF, показало исследование Гонконгского совета потребителей.
У 55 из 61 образцов реальная защита оказалась ниже надписи на упаковке; у 8 – в 2–3 раза. Это повышает риск ожогов, гиперпигментации и рака кожи.

Ключевые выводы

  • Самые слабые результаты у «натуральных» и детских кремов.
  • 23 % проб содержат потенциально вредные фильтры (оксибензон, октиноксат).
  • Дешёвые средства (≈ 3 USD/30 мл) часто защищают лучше дорогих.

Советы покупателям

  1. Выбирайте SPF 30–50, широкий спектр UVA/UVB.
  2. Наносите 2 мг/см² (≈ 1 ч. л. на лицо) за 15 мин до выхода и обновляйте каждые 2 ч.
  3. Комбинируйте с одеждой, головными уборами и тенью.

by mgh2 • 06 сентября 2025 г. в 19:57 • 208 points

ОригиналHN

#consumer-safety#spf#uva#uvb#oxibenzone#octinoxate#upf

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

  • Независимые тесты показали: многие кремы заявляют SPF 50, а дают SPF 4–30; разброс огромен и зависит от партии.
  • Пользователи сомневаются в надёжности маркировки, требуют публиковать бренды и штрафовать обманщиков, а не перекладывать риск на покупателя.
  • Часть комментаторов переходит на физическую защиту: UPF-одежда, широкополые шляпы, тень; считают это надёжнее и дешевле кремов.
  • Обсуждают безопасность химических фильтров: кто-то выбирает «минералку» с оксидом цинка, кто-то вообще отказывается от кремов ради базового загара.