What is “good taste” in software engineering? 🔥 Горячее 💬 Длинная дискуссия
Хороший вкус в разработке — это не техническое умение, а способность выбирать набор инженерных ценностей, подходящих конкретному проекту. В отличие от навыков, которые можно развить учёбой и практикой, вкус формируется через личный опыт и предпочтения. Например, одни разработчики ценят читаемость кода с map и filter, другие — производительность for-циклов, и это различие отражает их приоритеты, а не уровень компетенции.
Ключевой признак зрелости — понимание, что почти каждое решение в разработке связано с компромиссами: между скоростью, гибкостью, устойчивостью или читаемостью. Незрелые инженеры часто жёстко придерживаются одного подхода, тогда как опытные оценивают контекст и выбирают оптимальное решение для конкретной задачи. Ваш вкус определяется тем, какие ценности — например, корректность, масштабируемость или скорость разработки — вы ставите выше остальных в данной ситуации.
Комментарии (208)
- Обсуждение определяет "хороший вкус" в разработке как способность выбирать оптимальные решения, основанные на контексте и требованиях проекта, а не на личных предпочтениях.
- Участники подчеркивают, что хороший вкус тесно связан с опытом, гибкостью, умением аргументировать выбор и предвидеть последствия решений для поддержки и масштабирования.
- Многие отмечают, что хороший вкус — это баланс между читаемостью, производительностью, простотой и соответствием бизнес-целям, а не слепое следование догмам или модным тенденциям.
- Спорным остается вопрос, является ли "вкус" субъективным эстетическим понятием или его можно формализовать через принципы инженерии (например, поддерживаемость, ясность, минимальная сложность).
- Некоторые видят корень проблемы в смешении объективно плохих решений (например, неэффективные алгоритмы) и субъективных предпочтений (стиль кода, выбор парадигм).
I built ChatGPT with Minecraft redstone [video] 🔥 Горячее
YouTube — это глобальная видеоплатформа, принадлежащая Google LLC, предоставляющая пользователям доступ к разнообразному контенту. Сервис включает разделы о компании, пресс-релизы, информацию об авторских правах и контакты, а также ресурсы для создателей, рекламодателей и разработчиков.
Платформа регулируется условиями использования, политикой конфиденциальности и мерами безопасности, включая объяснение работы YouTube. Пользователи могут тестировать новые функции, а также доступны предложения вроде NFL Sunday Ticket. Все права защищены до 2025 года.
Комментарии (85)
- В Minecraft создана работающая модель языкового моделирования (LLM) с 5 млн параметров, генерирующая текст со скоростью 1 токен в 2 часа.
- Проект реализован на редстоуне без использования командных блоков, но с применением внешних инструментов для программного размещения блоков.
- Сообщество обсуждает техническую реализацию, включая специализированный серверный софт (MCHPRS) и оптимизацию редстоун-схем.
- Многие пользователи изначально восприняли заголовок как кликбейт, но были впечатлены реальным воплощением идеи.
- Обсуждение также затрагивает теоретические аспекты, такие как тьюринг-полнота Minecraft и сравнение с другими проектами (например, CPU в игре).
F-Droid and Google’s developer registration decree 🔥 Горячее 💬 Длинная дискуссия
F-Droid уже 15 лет предоставляет безопасный каталог свободных приложений для Android, проверяя исходный код на отсутствие скрытых функций вроде трекеров и рекламы. Каждое приложение собирается из открытого кода и подписывается, гарантируя прозрачность и защиту от вмешательства. В отличие от коммерческих магазинов, где распространены шпионские программы, F-Droid обеспечивает конфиденциальность — например, погодные приложения не передают данные брокерам.
Новая политика Google требует от разработчиков централизованной регистрации с оплатой, верификацией личности и привязкой идентификаторов приложений. Это угрожает существованию F-Droid, который не может ни принудить авторов к регистрации, ни присвоить их идентификаторы. Реализация правил лишит пользователей тысяч проверенных приложений и подорвет доверие к открытому ПО.
Комментарии (472)
- Участники выражают серьёзную озабоченность новыми правилами Google, которые угрожают существованию независимых магазинов приложений, таких как F-Droid, и возможности сторонней установки (sideloading).
- Многие видят в этом шаге конец открытости Android, усиление контроля корпораций над пользователями и потенциальную угрозу цифровым свободам, включая развитие открытого ПО.
- Обсуждаются возможные последствия: уход разработчиков с платформы, необходимость перехода на альтернативные ОС (например, GrapheneOS, PureOS), а также потенциальные конфликты с лицензиями вроде GPLv3.
- Высказывается мнение, что проблема требует законодательного решения на уровне государств (особенно ЕС) для защиты права пользователей запускать любое ПО на своих устройствах.
- Некоторые видят выход в развитии прогрессивных веб-приложений (PWA) и мобильных версий Linux как альтернативы закрытым экосистемам.
Go ahead, write the “stupid” code
Автор вспоминает, как начал программировать в 2010 году, почти бросив идею из-за неуверенности, но в итоге полюбил это дело через упорство. Он признаётся, что писал много «глупого» кода во время учёбы и игровых джемов, что помогло ему отточить навыки и сохранить интерес.
Сейчас, работая с JavaScript и Deno, он осознал, что стал излишне строг к себе, боясь писать что-то простое или неидеальное. Его вывод: не стоит сдерживаться — любой код, даже самый нелепый, это шаг вперёд. Важно экспериментировать, пробовать новое и просто получать удовольствие от процесса, ведь это поддерживает любопытство и профессиональный рост.
Комментарии (131)
- Рекомендуется начинать с написания простого, "глупого" кода для быстрого старта и проверки идей, а не с длительного планирования.
- Прототипирование помогает уточнить требования, выявить ошибки в ментальной модели и получить обратную связь.
- Важно найти баланс между быстрым стартом и стратегическим планированием, учитывая масштаб проекта и возможные последствия.
- Опыт позволяет писать менее "глупый" код с самого начала, используя лучшие практики и архитектурные шаблоны.
- Такой подход поддерживает мотивацию и удовольствие от процесса создания чего-то своего, даже если результат неидеален.
Play snake in the URL address bar 🔥 Горячее
Это браузерная игра «Змейка», которая использует URL-страницы в качестве игрового поля. Управление осуществляется стрелками или клавишами WASD, а змейка перемещается прямо в адресной строке. Если URL отображается некорректно, есть кнопка для исправления отображения.
Игра сохраняет рекорд игрока в очках и позволяет делиться результатом. Создана разработчиком под ником @epidemian, исходный код открыт на GitHub. Проект демонстрирует креативный подход к использованию стандартных элементов браузера для создания игрового процесса.
Комментарии (88)
- Пользователи восхищены креативностью и нестандартным подходом к реализации игры "Змейка" в адресной строке браузера с использованием символов Unicode (Braille).
- Обсуждаются технические аспекты и проблемы: некорректное отображение пробелов в некоторых браузерах, предложения по улучшению (использование других символов, зацикливание границ), ограниченная работа на мобильных устройствах.
- Предупреждения о возможных проблемах с историей браузера и рекомендации использовать режим инкогнито.
- Упоминаются похожие проекты: игры в favicon (2048, другая версия "Змейки"), а также шуточные предложения портировать Doom.
- Автор проекта (@epidemian) отмечает, что игра создана 10 лет назад и может некорректно работать в современных браузерах.
We bought the whole GPU, so we're damn well going to use the whole GPU 🔥 Горячее
Исследователи из Hazy Research разработали высокопроизводительный мегаядро для тензорно-параллельного вывода Llama-70B на H100, которое агрессивно перекрывает вычисления, работу с памятью и коммуникацию между GPU. Это позволяет одновременно задействовать различные аппаратные ресурсы: тензорные ядра, модули для нетензорных операций, пропускную способность HBM и NVLink. В интеграции с движком Tokasaurus их решение превосходит SGLang на >22% по общей пропускной способности при обработке 65 536 промптов из ShareGPT.
Ключевая идея — использование интерпретатора инструкций, работающего на каждом SM, который позволяет гибко планировать выполнение разнородных операций. Это обеспечивает перекрытие на нескольких уровнях: внутри SM (память и вычисления), между SM (матричные умножения и нормирование) и между GPU (скрытие задержек связи за счёт специальных потоков). Особенно отмечается простота реализации сложных трансформаций данных между GPU прямо после attention-слоя, что трудно выразить стандартными средствами коммуникации.
Комментарии (94)
- Обсуждение эффективности использования GPU: использование всех блоков (NVDEC, NVJPG, RT и тензорные ядра) для декомпрессии весов и вычислений, аналогии с оптимизацией под консоли.
- Проблемы инструментов и драйверов: отставание языков, библиотек и драйверов от возможностей современного железа, сложности компиляторов для гетерогенных систем.
- Виртуализация и разделение ресурсов GPU: обсуждение MIG, MPS для многопользовательского использования, риски утечки данных и ограничения этих технологий.
- Сравнение с другими платформами: упоминание Apple Metal и открытости драйверов, потенциал использования GPU для аудиообработки и сигналов.
- Критика и ирония: сравнение стиля статьи с "Трансгрессия границ", комментарии о "коде, который не предназначен для поддержки" и неожиданно доступных оптимизациях в крупных лабораториях.
China Is Run by Engineers. America Is Run by Lawyers
Китай и США, несмотря на схожие черты — динамичность, готовность к риску и ориентацию на будущее, — кардинально различаются по структуре управления. Китаем руководят инженеры, что фокусирует страну на строительстве, инфраструктуре и технологическом прогрессе. США же управляются юристами, что ведёт к преобладанию правовых споров, регуляторных барьеров и замедлению реализации проектов.
Это различие отражается в подходах к инновациям и экономическому развитию: Китай быстро внедряет масштабные инициативы, тогда как американская система часто тормозится судебными разбирательствами и бюрократией. Практический вывод: эффективность управления может зависеть от профессионального бэкграунда элиты, а не только от политических институтов.
Комментарии (107)
- Участники обсуждают преобладание юристов и финансистов в управлении США, связывая это с проблемами "финансиализации" и бюрократии, в то время как Китай, по мнению некоторых, управляется инженерами с фокусом на масштабное строительство и инфраструктуру.
- Поднимается проблема возраста политиков в США (на примере 95-летнего сенатора), которая рассматривается как угроза эффективности управления, с призывом ввести возрастные ограничения.
- Критикуется система, в которой множество инстанций имеет право вето, что, по мнению части комментаторов, парализует процесс строительства и принятия решений в США.
- Обсуждается роль капитализма и неолиберализма в переориентации экономики с производительной деятельности на ренту и финансовые спекуляции, что приводит к оттоку инженеров в финансы.
- Высказываются мнения, что фундаментальная проблема — не профессия управленцев, а коррупция, кумовство и система, поощряющая лояльность, а не компетентность.
UK Petition: Do not introduce Digital ID cards 💬 Длинная дискуссия
Петиция против введения цифровых удостоверений личности в Великобритании собрала более 2,3 миллиона подписей. Авторы считают, что такая система станет шагом к массовой слежке и цифровому контролю, а также принудительной регистрацией в государственной системе. Они напоминают, что ID-карты были отменены в 2010 году по уважительным причинам.
Петиция уже преодолела порог в 100 000 подписей, необходимый для рассмотрения в парламенте, и ожидает дебатов. Правительство обязано дать ответ в течение 25 дней. Это отражает широкую общественную озабоченность вопросами приватности и свободы в цифровую эпоху.
Комментарии (195)
- Высказано сильное недоверие к правительству Великобритании в вопросах внедрения цифровых ID из-за опасений усиления авторитаризма и некомпетентности.
- Обсуждаются потенциальные преимущества централизованной системы (удобство, безопасность, борьба с мошенничеством) на примере успешного опыта Эстонии, Швеции и Японии.
- Поднимается вопрос о рисках для приватности, безопасности данных и возможных злоупотреблениях со стороны властей, особенно в контексте недавних законов и арестов.
- Отмечается, что цифровой ID — это общий термин для разных систем (eGovernment, цифровые удостоверения, EU-style wallet), и важно различать их.
- Указывается на отсутствие четкого обоснования проблемы, которую должна решить система, и скептицизм относительно её эффективности против нелегальной работы.
The AI coding trap 🔥 Горячее 💬 Длинная дискуссия
ИИ-кодинг переворачивает традиционный процесс разработки: вместо долгого обдумывания задачи и последующего написания кода разработчики теперь генерируют код мгновенно с помощью ИИ, а затем тратят время на его осмысление и интеграцию в сложные системы. Это создаёт парадокс — хотя скорость написания кода растёт в разы, общая продуктивность в доставке работающего ПО увеличивается лишь на ~10%, так как основное время уходит на тестирование, исправление ошибок и документацию.
Проблема напоминает «дилемму техлида»: опытные разработчики, как и ИИ, могут быстро решать сложные задачи, но если они забирают всю сложную работу себе, команда становится хрупкой и зависимой. Ключ — в балансе между делегированием и контролем, чтобы избежать выгорания и обеспечить устойчивое развитие команды. ИИ не заменяет глубокого понимания системы, а лишь смещает фокус с создания на осмысление.
Комментарии (377)
- Использование ИИ в программировании требует тщательного планирования и проверки, аналогично традиционной разработке, иначе код становится нестабильным.
- ИИ эффективен для быстрого создания прототипов и решения рутинных задач (80% работы), но финальную доработку и интеграцию (20%) выполняет человек.
- Существует риск снижения глубины понимания кода и качества обучения новичков при чрезмерном reliance на ИИ-генерацию.
- Инструменты ИИ наиболее полезны как "сверхопытные pair-программисты" для обсуждения идей, рефакторинга и поиска решений, а не как автономные кодогенераторы.
- Текущие ИИ-агенты не заменяют junior-разработчиков, так как не способны к обучению, уточнению требований и обладают ограниченным контекстом системы.
When I say “alphabetical order”, I mean “alphabetical order” 🔥 Горячее 💬 Длинная дискуссия
Автор обнаружил, что современные файловые менеджеры (включая Google Drive, Windows Explorer, Dolphin и другие) не сортируют файлы в строгом алфавитном порядке. Вместо этого они применяют «естественную сортировку»: если в имени встречаются цифры, система сравнивает их числовые значения, а не символы. Из-за этого file-10.txt оказывается перед file-9.txt, поскольку 10 > 9, хотя буква «1» идёт раньше «9».
Проблема проявилась при сортировке фотографий с двух Android-устройств, где в одном названии миллисекунды были отделены подчёркиванием, а в другом — нет. Это привело к неправильной группировке по времени. Только консольная утилита ls и некоторые UNIX-системы сохранили классическую сортировку. Автор с ностальгией отмечает, что компьютеры теперь часто «думают за пользователя», вместо того чтобы чётко выполнять команды.
Комментарии (293)
- Участники обсуждают разницу между алфавитной и естественной (natural) сортировкой, где числа сортируются по их числовому значению, а не посимвольно.
- Многие пользователи ожидают, что "файл10" будет после "файла9", что является распространённым поведением в современных ОС, хотя это и не строго алфавитный порядок.
- Поднимается вопрос корректности labeling: интерфейсы часто называют сортировку "по имени", а не "алфавитной", что технически позволяет использовать любой алгоритм.
- Некоторые пользователи предпочитают лексикографическую сортировку (например, для хэшей или дат) и критикуют отсутствие выбора алгоритма в системах.
- Обсуждаются сложности сортировки с учётом локалей, не-ASCII символов и контекстно-зависимых правил, делающих единый стандарт невозможным.