惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AI
AI
T
Tailwind CSS Blog
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
P
Proofpoint News Feed
D
Docker
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
云风的 BLOG
云风的 BLOG
有赞技术团队
有赞技术团队
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
酷 壳 – CoolShell
酷 壳 – CoolShell
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
博客园 - Franky
The GitHub Blog
The GitHub Blog
月光博客
月光博客
小众软件
小众软件
Martin Fowler
Martin Fowler
P
Palo Alto Networks Blog
Google DeepMind News
Google DeepMind News
Hugging Face - Blog
Hugging Face - Blog
T
Threat Research - Cisco Blogs
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
K
Kaspersky official blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Securelist
Spread Privacy
Spread Privacy
博客园 - 聂微东
B
Blog
The Hacker News
The Hacker News
Simon Willison's Weblog
Simon Willison's Weblog
T
The Exploit Database - CXSecurity.com
S
Schneier on Security
P
Privacy International News Feed
腾讯CDC
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Threatpost
T
Tenable Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
Stack Overflow Blog
Stack Overflow Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Heimdal Security Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Миллион долларов, заработанный в студенческом общежитии
PatientZero · 2026-06-01 · via Все публикации подряд на Хабре

Миллион долларов, заработанный в студенческом общежитии

Простой

7 мин

14K

За свои первые каникулы в колледже, вдохновившись Satisfaction75, я создал устройство, которое назвал Dissatisfaction65 — беспроводную клавиатуру формата 65%. Не помню, почему конкретно, но, изготовив несколько проводных клавиатур, мне хотелось попробовать собрать самодельную беспроводную. Для реализации беспроводной связи я выбрал микроконтроллер Adafruit 32u4 Bluefruit LE, потому что опенсорсная клавиатурная прошивка QMK поддерживала Bluetooth конкретно с этой платой. Получившееся устройство выглядело прекрасно, но производительность была чудовищной. Из-за задержек при вводе пользоваться им было почти невозможно, и несмотря на огромный аккумулятор, работало оно от него всего несколько дней.

У компаний наподобие Logitech и Apple есть беспроводные клавиатуры с низкими задержками и долгой работой от аккумуляторов, поэтому я понимал, что это не предел. На следующие два месяца я погрузился в мир беспроводных микроконтроллеров и самодельных клавиатур. Почти сразу же я понял, что любители выбирают микрочипы Nordic, а правит в этом мире формат Pro Micro. В процессе исследований я обнаружил три микроконтроллера, разработчики которых пытались связать эти две технологии: BlueMicro, nRFMicro и BLE-Micro-Pro1.

Плата

Розничная цена

Форм-фактор

Open Source

BlueMicro

Слишком большой

Да

nRFMicro

Да

Да

BLE-Micro-Pro

~$40

Да

Нет

Из-за форм-фактора BlueMicro я бы не смог изготовить большинство клавиатур Pro Micro, потому что они бы мешали друг другу. BLE-Micro-Pro был довольно дорогим, закрытым и продавался только в Японии. Ближе всего оказался nRFMicro. Сначала я решил модифицировать под свои нужды nRFMicro, но вскоре осознал, что мои цели слишком амбициозны, поэтому начал с нуля.

Рождение nice!nano

В те выходные (да всё устройство я спроектировал за выходные), когда я создал nice!nano, я отходил от стола, только чтобы поспать, и раза три выходил в столовую, чтобы взять еды. В комнате были только я, KiCad, Nordic Infocenter2nRFMicro wiki и схема Adafruit nRF52840 Feather. Я разработал схему и составил спецификацию материалов, спроектировал печатную плату и проложил дорожки. В результате у меня получилась самая тонкая плата на основе nRF52840, совместимая с Pro Micro.

В течение следующей недели я придумывал ей название и искал производителя плат. Название выбрано по моему сетевому нику, Nicell. Мне хотелось продолжить традицию «размерного» наименования Pro Micro и я придумал «nice!nano». Стилизованный пиксельный логотип я расположил поверх антенны. Связавшись с несколькими производителями плат, я выяснил, что самый дешёвый вариант — это примерно $100 за пять единиц. Для меня это была серьёзная сумма, а дизайн вполне мог оказаться ошибочным, но спустя несколько дней тщательных проверок я всё-таки оплатил заказ3.

The first nice!nano with the charging LED on

Первый nice!nano с горящим индикатором зарядки

Через несколько недель мне доставили платы. Я и радовался, и был в ужасе, что они не заработают. Подключив первую, я зажмурил глаза и напрягся. К моему удивлению и облегчению, она работала! За пару недель я собрал на этих платах Lily58 и запустил модифицированную версию QMK. При тестировании выяснилось, что плата может прожить несколько недель на аккумуляторе ёмкостью 110 мА·ч. Для сравнения: Dissatisfaction65 работала всего несколько дней на аккумуляторе ёмкостью 2500 мА·ч, то есть эффективность энергопотребления выросла более чем в сотню раз. Окрылённый, я опубликовал на Reddit пост о своей полностью беспроводной Lily58, и он набрал довольно большую популярность.

The Lily58

Lily58

За последующие несколько недель мой крошечный Discord-сервер превратился в достаточно масштабное сообщество, увлечённое инновациями в сфере беспроводных клавиатур. Я проверил интерес пользователей в групповой закупке, внёс ещё несколько улучшений в nice!nano, и к середине июня был готов к организации приобретения крупной партии.

Групповые закупки ужасны

Я был студентом колледжа и не мог выложить деньги за покупку тысячи nice!nano, поэтому запустил групповой предзаказ. На тот момент я установил минимальный объём партии в 200 единиц, иначе это было бы невыгодно, и максимальный в тысячу, потому что не был уверен, что справлюсь с бóльшим объёмом. Я установил дедлайн в один месяц для сбора заказов. В конечном итоге, он не был открыт и дня.

Предзаказ начался 20 июня в 11 утра по центральному времени США. Буквально за считанные минуты я собрал минимальный объём заказов для закупки. Помню, как сидел в своей детской спальне (спасибо ковиду) и наблюдал за поступлением заказов на дэшборде Shopify. Это было потрясающее ощущение. Всего за семь часов была продана вся тысяча nice!nano, ознаменовав завершение групповой закупки. За следующие два месяца я получил все платы и благодаря помощи своей семьи отправил заказы на более чем четыре сотни адресов.

My mom's facebook post about the process

Моя мама опубликовала в Facebook пост об этом процессе. Семейный бизнес!

Вы можете задаться вопросом: если групповая закупка оказалась успешной, то в чём же здесь ужас? Было крайне тревожно хранить деньги столь многих людей, не получив ещё физических плат. Пугало и то, что PayPal на какое-то время придержал половину фондов закупки. В то время групповые закупки вызывали множество споров в сообществе любителей механических клавиатур: инициаторы зачастую воровали деньги, а проекты реализовывались крайне долго. Когда я вижу, как популярные магазины, у которых должен быть капитал, запускают групповые закупки, я только головой качаю. Вскоре после этого я решил, что больше никогда не буду заниматься групповыми закупками.

ZMK

Вернёмся на пару месяцев назад: я жду изготовления и доставки заказа, но мне пока не хватает ключевой части экосистемы: приличной прошивки. Я выбирал между несколькими вариантами, но ни один меня не устроил. Потом я связался с Питом Джохансоном, который по случайности как раз работал над прошивкой для беспроводных клавиатур на основе современной Zephyr RTOS.

Я быстренько отправил Питу несколько предпроизводственных плат, чтобы он с ними поэкспериментировал. Вскоре после этого у него получилось запустить на nice!nano раннюю версию ZMK, и мы приступили к созданию новой прошивки, в первую очередь нацеленной на беспроводные устройства и низкое энергопотребление. К началу 2021 года небольшое сообщество под руководством Пита создало крайне высокопроизводительную полнофункциональную прошивку для беспроводных клавиатур.

Развиваемся

В 2021 году я плотно приступил к развитию своего маленького бизнеса. Моя сеть поставщиков разрослась на весь мир, nice!nano сметали с полок, и я едва успевал пополнять запасы, а сообщество ZMK продолжало расти и становиться сильнее. Начали появляться другие популярные платы на основе ZMK, во многом вдохновлённые nice!nano, или, по крайней мере, в них использовались мои схемы, которые я опубликовал.

Всё выглядело замечательно, но я заметил, что у большинства моих поставщиков не было всех деталей, необходимых для беспроводной конструкции или в их конструкциях делался упор на проводные микроконтроллеры. Я решил, что могу сделать в этой сфере что-то новое.

Сам становлюсь поставщиком

Я продолжал учиться очно, поэтому понимал, что не смогу управлять онлайн-магазином в полную силу. К счастью, к концу 2021 года мои родители решили выйти на пенсию, и отец сказал, что хочет найти себе какое-нибудь занятие. В 2022 году мы вместе основали Typeractive — магазин клавиатур, в основном занимающийся беспроводными устройствами.

Я создал трёхмерный интерактивный инструмент конфигурирования, позволяющий покупателям собирать все нужные им детали и наборы, специально разработанные для беспроводных плат. Удобство этого процесса обеспечило нам огромный успех, и к 2025 году мы стали одним из крупнейших магазинов сплит-клавиатур. Typeractive занимается далеко не только ими, но это уже тема для отдельного поста.

Клонирован дважды!

В 2023 году nice!nano клонировали, да не единожды, а дважды. На Taobao появились две копии с разным дизайном, а вскоре после этого они перекочевали на AliExpress и даже в магазины моих поставщиков. Меня это немного потрясло, но в конечном итоге я выяснил, что с этим практически ничего не поделаешь.

Уточню, что это именно клоны. Я считаю, что конкуренция — это нормально, но эти новые платы рекламировались, как nice!nano, и поставлялись точно с той же прошивкой, которую я использовал в nice!nano, поэтому при подключении плата определяется, как nice!nano. Если бы производители хотя бы собрали собственную прошивку (она опенсорсная!) и не использовали имя nice!nano в описаниях товаров, то я бы сказал, что всё честно.

Видя, как мой продукт клонируют, я испытывал смешанные чувства. Как всем известно, имитация — наивысшая степень лести, но меня бесило то, что они пользуются успехом моей работы. Однако в конечном итоге их продукция оказалась посредственной, а nice!nano продолжили продаваться со стабильной скоростью. Вероятно, отчасти это связано с тем, что крупнейший магазин самодельных беспроводных клавиатур не забил ими все свои склады. Спасибо, Typeractive!

Товар на миллион долларов

Должен признаться, что заголовок поста немного кликбейтный, но если вы дочитали досюда, то, вероятно, он сработал. Да, я спроектировал nice!nano в спальне своего общежития, но путь мой длился много лет. На сегодняшний момент [прим. пер.: на март 2025 года] различными онлайн-магазинами по всему свету продано более 50 тысяч nice!nano, что составляет доход более миллиона долларов. Мне до сих пор трудно осознать этот факт, но я безмерно благодарен. Да, я вложил кучу труда, но должен признать, что важную роль сыграли правильно подобранный момент и удача. Растущий интерес к беспроводным клавиатурам и отсутствие подходящих вариантов в мире самоделок создали идеальную среду для процветания nice!nano.

При написании этого поста я совершил невероятное путешествие по закоулкам памяти. nice!nano сильнейшим образом повлияла на мою жизнь, и это стало возможным только благодаря множеству людей, помогавших мне на этом пути. Я бы хотел упомянуть тех, чья помощь оказалась неимоверной:

  • Joric (создателя nRFMicro)

  • Пьера Константино (создателя платы и прошивки BlueMicro)

  • Пита Джохансона (автора ZMK)

  • Майка и Пэм (моих родителей)

Благодарю вас. Было невероятно радостно видеть все самодельные клавиатуры, изготовленные на основе nice!nano или развившие её идеи. Сообщество продолжает расти, и я рад, что nice!nano остаётся большой его частью.

Примечания

  1. Я намеренно оставил ссылки на каждый репозиторий в том состоянии, в котором я мог изучать их в начале 2020 года.

  2. В процессе написания статьи я узнал, что Nordic Infocenter закрыли. RIP.

  3. Иногда я смеюсь над тем, как боялся тогда покупки за $100. Учитывая всё последующее, это оказалась крайне дешёвая инвестиция в R&D.