Yt-dlp: External JavaScript runtime now required for full YouTube support 🔥 Горячее 💬 Длинная дискуссия
В проекте yt-dlp теперь требуется внешняя среда выполнения JavaScript для полноценной работы с YouTube. Это изменение связано с тем, что YouTube изменил способ защиты своего контента, и теперь для доступа к некоторым функциям необходимо выполнение JavaScript прямо в браузере. Ранее yt-dlp мог обходиться без этого, но из-за недавних обновлений на YouTube такая необходимость стала обязательной. Разработчики советуют пользователям убедиться, что у них установлена последняя версия yt-dlp и что среда выполнения JavaScript (например, Node.js) правильно настроена. Это изменение направлено на улучшение поддержки новых функций YouTube и обеспечение стабильности загрузки.
Комментарии (588)
- YouTube и Google продолжают усложнять скачивание видео, что вызывает обсуждение о том, что делает невозможным для пользователей сохранять контент, несмотря на то, что это может быть законным для личного использования.
- Участники обсуждают, что Google и YouTube могли бы просто разрешить использование yt-dlp для премиум пользователей, что могло бы решить проблему, но вместо этого они выбирают делать это труднее.
- Обсуждается, что yt-dlp и другие инструменты всё ещё работают, но требуют больше усилий для обхода ограничений, что может быть неудобно для пользователей.
- Участники также обсуждают, что Google и YouTube могли бы просто разрешить использование yt-dlp для премиум пользователей, что могло бы решить проблему, но вместо этого они выбирают делать это труднее.
- Участники также обсуждают, что Google и YouTube могли бы просто разрешить использование yt-dlp для премиум пользователей, что могло бы решить проблему, но вместо этого они выбирают делать это труднее.
What happened to Transmeta, the last big dotcom IPO
Transmeta стала последним крупным IPO эпохи доткомов, собрав $273 миллионов 7 ноября 2000 года. Несмотря на то, что компания была производителем процессоров, а не интернет-стартапом, ее запуск считается символическим завершением интернет-бума. Аналитики часто называют это IPO последним успешным технологическим размещением до Google в 2004 году. Компания привлекла внимание благодаря найму Линуса Торвальдса, который продолжал разработку ядра Linux, работая в Transmeta.
Transmeta предложила революционный подход к созданию процессоров, используя программную эмуляцию x86-архитектуры вместо аппаратной реализации. Их первый процессор Crusoe работал на 30% менее эффективно, чем аналоги от Intel, и хотя компания выпустила два поколения чипов, она не смогла конкурировать по производительности. Отсутствие собственных производственных мощей и неспособность догнать гигантов отрасли привели к тому, что инновационная технология так и не принесла коммерческого успеха.
Комментарии (137)
- Transmeta поставила на то, что динамическая компиляция сможет обогнать традиционные процессоры, но в итоге не смогла удержать рынок и была вынуждена переключиться на лицензирование IP и стала патентным троллем.
- Компания стала жертвой собственной идеи: она не смогла конкурировать с Intel и AMD, но зато Intel позже использовал её идеи в своих продуктах.
- Команда Transmeta, включая Linus Torvalds, в конце концов оказалась в других компаниях, где их опыт и знания были использованы для создания новых продуктов.
- Проект показал, что динамическая компиляция может быть полезна для энергоэффективности, но не для производительности, и что рынок ноутбуков в начале 2000-х был не готов к такой технологии.
- История Transmeta стала примером того, как иногда даже самые продвинутые технологические идеи могут не прижиться из-за плохого тайминга или рыночных условий.
Hard drives on backorder for two years as AI data centers trigger HDD shortage 💬 Длинная дискуссия
Рост центров обработки данных для искусственного интеллекта вызвал дефицит жестких дисков, достигнув беспрецедентного уровня - некоторые корпоративные HDD заказаны на два года вперед. Гипермасштабные провайдеры вынуждены срочно переходить на QLC SSD, так как традиционные накопители не могут удовлетворить возросший спрос. Эксперты отмечают, что этот сдвиг происходит на фоне общего сжатия рынка DRAM, усугубляющего ситуацию с компонентами для хранения данных.
Производители HDD, такие как Seagate и Western Digital, не успевают наращивать мощности из-за ограниченных производственных линий и логистических проблем. В то же время, QLC SSD, хотя и дороже на гигабайт, предлагают более высокую производительность и плотность записи, что делает их привлекательными для ИИ-приложений. Аналитики прогнозируют, что этот переход может ускорить внедрение новых технологий хранения данных в отрасли.
Комментарии (162)
- Производители флеш-памяти сократили поставки, что ведёт к дефициту и росту цен на SSD и DRAM.
- Поставщики перепродают восстановленные накопители как новые, что подрывает доверие покупателей.
- Пользователи жалуются на рост цен и отсутствие комплектующих, но при этом продолжают покупать, что подогревает спекуляцию.
- Производители и ретейлеры винят в этом AI-стартапы, которые скупают всё подряд в панике.
- В то же время, несмотря на кризис, компании продолжают инвестировать в развитие производственных мощностей, что может привести к обвалу цен в будущем.
Ditch your (mut)ex, you deserve better
Современные компьютеры имеют несколько ядер, но инструменты синхронизации, такие как мьютексы и семафоры, практически не эволюционировали с момента их создания. Автор утверждает, что управление разделяемым состоянием между потоками остается сложной задачей, и приводит пример банковского счета с операциями пополнения и снятия средств. В многопоточном режиме возникает проблема гонки данных: когда два потока одновременно пытаются снять деньги с одного счета, каждый может проверить баланс, увидеть достаточное количество средств, но после снятия обоими потоками итоговый баланс станет отрицательным.
Эта ошибка особенно коварна, так как она возникает при добавлении многопоточности в ранее корректный код. Автор подчеркивает, что даже простая проверка баланса может прерваться планировщиком потоков, что приводит к некорректным результатам. Статья демонстрирует, как эволюция однопоточного приложения в многопоточное может introduce критические ошибки в совершенно无关 частях кода без каких-либо изменений в этих частях.
Комментарии (127)
- Проблемы традиционных мьютексов (раздельность с данными, сложность композиции) решаются в Rust объединением мьютекса и данных, что упрощает код и обеспечивает статические гарантии.
- STM (Software Transactional Memory) предлагается как альтернатива с лучшей композицией, с примерами в Haskell и поддержкой в Kotlin, Rust, Scala, Clojure и других языках.
- STM не решает проблему дедлоков и не всегда подходит; альтернативы включают избегание общего изменяемого состояния (акторные модели, каналы) или его использование в случаях, где необходимо для производительности.
- Исторический контекст: влияние Haskell, эксперименты с аппаратной поддержкой (Intel x86) и современные тенденции, включая критику отставания от первоначальных амбиций в области языков программирования.
I didn't reverse-engineer the protocol for my blood pressure monitor in 24 hours 🔥 Горячее
После прививки от гриппа автору предложили 24-часовой мониторинг давления с устройством Microlife WatchBP O3, которое автоматически измеряет давление каждые 30 минут днём и 60 ночью. Обнаружив micro-USB порт на устройстве, он решил анализировать данные без использования официального Windows-приложения WatchBP Analyzer. Устройство распознавалось в Linux как hidraw, но для доступа к данным потребовался запуск Windows в виртуальной машине через Gnome Boxes с перенаправлением USB-устройства.
Анализируя трафик между хостом и устройством через Wireshark и usbmon, автор обнаружил, что данные передаются в 32-байтных пакетах. Первый байт указывает количество значащих битов в пакете, третий байт кодирует систолическое давление, четвёртый — диастолическое, а пятый — пульс. Например, пакет 05 0a 89 71 43 9b соответствовал давлению 137/113 и пульсу 67. Однако полной расшифровки протокола не удалось — остались неопределёнными второй и шестой байты, а также отсутствовали метки времени и данные об Oscillometric signal peak pressure (OPP).
Комментарии (120)
- Обсуждение охватывает широкий спектр тем: от «белый халат гипертония» до влияния стресса на показания прибора, отсутствие единого стандарта измерения давления и необходимость повторных измерений, а также ситуации, когда приборы не калиброваны или не стерилизуются.
- Участники обсуждают, что измерение давления в клинических условиях может быть выше, чем дома, и что это может влиять на диагноз и лечение.
- Также обсуждается, что вакцинация может вызывать временное повышение давления, и что это может быть связано с тем, что врачи не всегда правильно интерпретируют показания.
- Участники также обсуждают, что важно иметь в виду, что приборы для измерения давления должны быть калиброваны и стерильны, и что важно правильно интерпретировать показания.
- В конце обсуждение переходит к тому, что важно иметь в виду, что вакцинация может вызывать временное повышение давления, и что это может быть связано с тем, что врачи не всегда правильно интерпретируют показания.
Collaboration sucks 🔥 Горячее 💬 Длинная дискуссия
Автор утверждает, что изречение "Если хочешь идти быстро - иди один; если хочешь идти далеко - иди вместе" медленно убивает компании. Он сравнивает сотрудничество с вождением автомобиля: полезно получать навигационную помощь, но вредно постоянно менять водителей или получать комментарии о вождении. В компании PostHog ценят принцип "ты - водитель", нанимают хороших специалистов и не мешают им работать, но избыточное сотрудничество замедляет работу, снижает мотивацию и уверенность.
Причины избыточного сотрудничества включают желание быть полезным, недостаточную конкретность в запросах обратной связи и отсутствие ясности в определении ответственного. Автор предлагает решения: по умолчанию отправлять код (pull requests), а не обсуждать в Slack, и сокращать количество участников в обсуждениях. В компании даже подсчитали 175 упоминаний фразы "давайте обсудим" в Slack, что свидетельствует о проблеме.
Комментарии (220)
- Обсуждение в основном вращается вокруг вопроса, когда коллаборация становится вредной: отсутствие четкого владельца решения, размывание ответственности, «bikeshedding» и замедление процесса.
- Участники спорят, где именно граница между полезной обратной связью и «параноем» в стиле «дайте мне знать, что вы думаете об этом» и «почему вы не сделали это так, как я бы хотел».
- Некоторые участники подчеркивают, что не всякая коллаборация вредна — только та, что не имеет четкой структуры и владельца решения.
- Обсуждение также затрагивает тему, что важно различать «коллаборация» (которая может быть полезной) и «безконтрольная коллаборация» (которая может быть вредной).
The terminal of the future 🔥 Горячее
Современные терминалы ограничены решениями, принятыми ещё в 1980-х, и состоят из четырёх компонентов: эмулятора терминала, псевдотерминала (PTY), оболочки (shell) и запускаемых программ. Автор отмечает, что внутренняя структура терминалов — это "куча", где многие решения невозможно изменить из-за исторического наследия. В качестве примера приводится цитата Джулии Эванс: "Внутренности терминалов — это беспорядок. Большая часть этого именно такая, потому что так кто-то решил в 80-х, и теперь это невозможно изменить".
В качестве альтернативы традиционному терминалу автор предлагает использовать Jupyter Notebook как модель для будущего терминала, предлагающую такие возможности, как высококачественное рендеринг изображений, функцию "перезапустить с начала" и возможность редактирования представлений кода и вывода. Статья описывает четыре этапа создания такого терминала: транзакционную семантику, постоянные сессии, структурированный RPC и интерфейс, похожий на Jupyter.
Комментарии (146)
- Обсуждение охватывает широкий спектр тем: от философских вопросов о том, что такое терминал и каким он должен быть, до конкретных технических деталей, таких как поддержка изображений, буферов и сессий.
- Участники обсуждают, какие функции действительно необходимы, и какие являются излишеством, и как они могли бы быть реализованы без нарушения обратной совместимости.
- Обсуждаются такие темы как встроенная поддержка редактора, возможность встроенной поддержки графики и мультимедиа, и как эти функции могли бы быть реализованы без нарушения существующих стандартов.
- Участники также обсуждают, какие функции могли бы быть реализованы в будущем, и какие из них уже реализованы в других системах, таких как Jupyter и Emacs.
- Обсуждается, какие функции могли бы быть реализованы в будущем, и какие из них уже реализованы в других системах, таких как Jupyter и Emacs.
A modern 35mm film scanner for home 💬 Длинная дискуссия
Knokke представляет собой новый высокоскоростной сканер 35 мм пленки, который позиционируется как "новая эра сканирования". Устройство предлагает впечатляющие характеристики: разрешение 4064 DPI, динамический диапазон 120 дБ и глубину цвета 48 бит, при этом способно отсканировать всю катушку всего за несколько минут. Сканирование происходит с помощью кастомной оптики и современного сенсора, что обеспечивает высочайшее качество при доступной цене.
Сканер работает на собственном программном обеспечении Korova — легком приложении на C++, нативном для Linux, macOS и Windows. Это позволяет отказаться от устаревших ПК и использовать современный plug-and-workflow. Каждому кадру можно задать индивидуальные настройки, которые повторяются при последующих сканированиях для консистентных результатов. Цена запуска составит €999, включая и сканер, и программное обеспечение.
Комментарии (176)
- Стоимость сканера Knokke составляет €999, что вызывает сравнение с ценой на подержанные DSLR-установки и вызывает обсуждение ценообразования.
- Отсутствие примеров сканов и отсутствие ИК-сенсора для удаления пыли и царапин вызывает критику.
- Обсуждается, что цена может быть оправдана для энтузиастов, которые ценят дизайн и удобство использования.
- Некоторые участники обсуждения выражают сожаление, что сканер не поддерживает 120 формат, а также отсутствие автоподатчика.
- Участники также обсуждают, что стоимость может быть оправдана для тех, кто ищет высокое качество сканирования и готов заплатить за него.
FFmpeg to Google: Fund us or stop sending bugs 🔥 Горячее 💬 Длинная дискуссия
К сожалению, предоставленный текст не содержит статьи "FFmpeg to Google: Fund Us or Stop Sending Bugs" от The New Stack. Вместо этого это форма подписки на их рассылку. Чтобы я мог создать точный пересказ статьи (~170 слов на русском в Markdown), пожалуйста, предоставьте текст самой новости.
Как только вы поделитесь содержанием статьи, я сразу подготовлю лаконичный пересказ, выделив главную идею и ключевые факты/цифры/цитаты, строго следуя вашим инструкциям.
Комментарии (763)
- Крупные корпорации (Google, Amazon и др.) ожидают, что open-source проекты будут бесплатно исправлять уязвимости, которые они же и находят, но при этом не предлагают ни ресурсов, ни финансирования.
- Сторонники FFmpeg отвечают, что если проект не может позволить себе тратить время на бесплатную разработку, то это не значит, что он обязан это делать, и что крупные компании могут просто отказаться от использования open-source, если не хотят платить.
- Обсуждение вышло за рамки конкретной ситуации и затронуло более широкий вопрос о том, как корпорации используют open-source без всякой отдачи.
- Некоторые участники обсуждения подняли вопрос о том, что если FFmpeg и подобные проекты не могут позволить себе тратить ресурсы на бесплатную разработку, то, возможно, им стоит пересмотреть свою модель лицензирования или найти другие способы монетизации.
- В целом, обсуждение подняло волну обсуждений о том, как корпорации используют open-source без всякой отдачи, и как это влияет на устойчивость проектов.
Pikaday: A friendly guide to front-end date pickers 🔥 Горячее
В статье утверждается, что JavaScript-библиотеки для выбора даты, такие как Pikaday, часто не нужны и могут приводить к ошибкам и брошенным формам. Вместо этого рекомендуется использовать нативные HTML-инпуты: date для дат, time для времени и datetime-local для их комбинации. Эти решения требуют всего одной строки кода, обеспечивают лучшую доступность, производительность и интернационализацию, работают без JavaScript и позволяют браузеру обрабатывать сложные детали.
В качестве альтернатив предлагаются раздельные инпуты для дня, месяца и года (особенно полезно для запоминающихся дат), селекты при ограниченном наборе вариантов и маскированные инпуты с плейсхолдерами. Для улучшения опыта можно использовать атрибуты: inputmode="numeric" для отображения цифровой клавиатуры, maxlength для ограничения ввода, pattern для валидации, autocomplete для автозаполнения и min/max для ограничений диапазона. Автор подчеркивает важность прогрессивного усиления и учета пользователей без JavaScript.
Комментарии (124)
- Пользователи жалуются на нативные пикеры из-за необходимости тысяч кликов, чтобы выбрать дату рождения, и наоборот — кастомные пикеры не позволяют вводить дату текстом.
- Разработчики отвечают, что нативный
<input type="date">не поддерживает форматов вроде «MM/DD/YYYY» и не даёт контроля над UI, а кастомные пикеры не решают проблему с доступностью и не имеют единого UX. - В итоге спор сводится к тому, что нативный пикер не решает проблему, а кастомный — не решает её лучше.
- Пользователи также жалуются на то, что нативный пикер не позволяет вводить дату текстом, а кастомный — не позволяет вводить дату текстом.
- В итоге, обсуждение сводится к тому, что нативный пикер не решает проблему, а кастомный — не решает её лучше.