Обновить

Как стать автором

Голосовой ввод для Windows через Vosk своими руками

Уровень сложностиПростой
Время на прочтение10 мин

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

Лучшим выходом из моей ситуации было создать свое минималистичное решение, и вот как это было:

Читать далее
Всего голосов 21: ↑21 и ↓0+23
Комментарии7

FlakyDetector — мой путь к созданию инструмента для ловли «нестабильных» тестов в Python

Время на прочтение5 мин

FlakyDetector — мой путь к созданию инструмента для ловли «нестабильных» тестов в Python

Привет! Меня зовут Артём Алимпиев, я Python-разработчик.
Недавно я столкнулся с тем, что даже идеально написанные тесты порой ведут себя… странно.
Один день они проходят, другой — падают, хотя код не менялся.

Если вы когда-нибудь ловили такие «призраки» в CI/CD, то знаете, насколько это раздражает.

Так начался мой эксперимент — сделать инструмент, который умеет находить и объяснять, почему тесты становятся нестабильными.

Так родился проект FlakyDetector.

Читать далее
Всего голосов 5: ↑1 и ↓4-3
Комментарии3

Плата контроллера движения OpenPNP

Уровень сложностиПростой
Время на прочтение3 мин

Плата управления на чипе STM32F4×1 станком SMT pick and place OpenPNP под управлением прошивки GrblHAL.

Читать далее
Всего голосов 9: ↑9 и ↓0+12
Комментарии3

Яндекс Трекер: Инструкция. Как создать форму для шаблонизации задач и проектов

Уровень сложностиСредний
Время на прочтение3 мин

Сервис Яндекс Трекер хорошо подходит для управления процессами и проектами, однако сейчас «из коробки» нет решения для шаблонизации задач проектов. Каждый проект нужно заводить с самого начала, что увеличивает время работы с проектами и задачами.

В данной инструкции предложено решение, как с помощью Яндекс Форм, Yandex Cloud Functions и Яндекс Трекера создать инструмент для шаблонов проектов с уже существующими предустановленными задачами по вашим параметрам.

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии2

Комплексная схема процесса разработки физического продукта

Уровень сложностиПростой
Время на прочтение3 мин

Всем привет! Существует множество фреймворков для управления IT SaaS продуктами, по сравнению с которыми - физический продукт в инфополе обделен вниманием, что у нас, что за рубежом, но в меньшей мере. Поэтому я выделил немного времени, чтобы описать общий процесс продукта на основе практик компаний, которые производят потребительскую электронику и авто. Ничего революционного и нового в ней нету, это просто попытка систематизировать общую картину.

Читать далее
Рейтинг0
Комментарии0

Создание простой поисковой системы, которая действительно работает

Уровень сложностиСредний
Время на прочтение10 мин

Зачем вообще делать что-то своё?

Я знаю, что вы можете подумать: «Почему бы просто не использовать Elasticsearch?» или «А что насчёт Algolia?» Это вполне рабочие решения, но у них есть нюансы. Нужно разбираться с их API, поддерживать инфраструктуру под них и учитывать все тонкости их работы.

Но иногда хочется чего-то более простого...

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии7

Atomic insert in Clickhouse

Уровень сложностиСредний
Время на прочтение7 мин

В этой статье мы поговорим о том, как реализовать поведение атомарной вставки в ClickHouse. Рассмотрим несколько вариантов, подсветим их сильные и слабые стороны, а также, когда каждый из них применять.

Читать далее
Рейтинг0
Комментарии0

Дискретные дифференциальные операторы

Уровень сложностиСредний
Время на прочтение4 мин

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

Читать далее
Всего голосов 7: ↑6 и ↓1+6
Комментарии9

Мегатренды в дизайне интерфейсов. Часть 2. Природа и окружающая среда

Уровень сложностиПростой
Время на прочтение7 мин

Привет, Хабр! Мы продолжаем изучать влияние глобальных мегатрендов на дизайн интерфейсов. В прошлых статьях мы уже разобрали, что такое тренды, как они рождаются и по каким законам живут; и изучили влияние культурных и социальных мегатрендов на дизайн интерфейсов.

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Вайб вместо звука: как я за вечер собрал вибровариометр на ESP32, а Gemini и ко сгенерировали всё, кроме пайки

Уровень сложностиПростой
Время на прочтение5 мин

Парапланеризм - это про спокойствие, свободу и медитативный полет. Но в этой идиллии есть один назойливый артефакт: звук вариометра.

Традиционные приборы - звуковые. Они меняют тональность в зависимости от скороподъемности. И когда часами часами летаешь под облаками это постоянное пикание слегка надоедает.

Однажды мой друг, с которым мы летали на соревнованиях, бросил фразу:
«Было бы круто, если бы вариометр просто вибрировал - как телефон в кармане. Чтобы я чувствовал поток рукой или запястьем, а не ухом».

Я тогда просто кивнул. А через годик, болтаясь по Алиэкспрессу я увидел на сайте часы Watchy на ESP32-PICO-D4 с Е-ink и в голове щелкнуло: А что, если превратить эти open-source часы в вибровариометр?

Читать далее
Всего голосов 48: ↑47 и ↓1+58
Комментарии36

Моя история: как я нашёл первую работу в IT

Уровень сложностиПростой
Время на прочтение6 мин

Всем привет! Меня зовут Женя, и я хочу поделиться своей историей о том, как смог получить первую работу в IT, не имея опыта коммерческой разработки.

Читать далее
Всего голосов 12: ↑7 и ↓5+5
Комментарии8

Всё, что вы хотели знать о t-тесте, но боялись спросить

Уровень сложностиСредний
Время на прочтение9 мин

Всем привет!

Меня зовут Александр Щукин, я аналитик в СКБ «Контур». В этой статье я расскажу о базовых основах применения t‑критерия Стьюдента.

Для начала предлагаю Вам поучаствовать в викторине: если вы уверенно ответите на все вопросы ниже, то будете освобождены от прочтения этой статьи:‑)

Читать далее
Всего голосов 5: ↑5 и ↓0+6
Комментарии0

Микрофронтенды: прихоть разработчиков или реальная польза для бизнеса

Уровень сложностиСредний
Время на прочтение8 мин

История о том, как наша команда смогла ускорить релизы, снизить затраты и построить масштабируемую архитектуру без хаоса. В статье вы узнаете, подходят ли вам микрофронтенды.

Читать далее
Всего голосов 12: ↑8 и ↓4+4
Комментарии6

Чистая правда: как компьютерное зрение помогает делать мир чище

Уровень сложностиПростой
Время на прочтение6 мин

Компьютерное зрение развивается стремительно: задачи, которые ещё недавно требовали собственных датасетов и долгого обучения моделей, теперь решаются готовыми инструментами.

Всем привет! Меня зовут Алина, я инженер‑исследователь в Центре искусственного интеллекта СФУ. В этой статье расскажу, как мы применяем методы компьютерного зрения для анализа фотографий уборок в проекте «Чистые игры», как подошли к задаче автоматической оценки качества уборок и какие технические решения легли в основу MVP. В конце поделюсь выводами и тем, что удалось сделать, а что ещё предстоит улучшить.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Меня не повысили

Уровень сложностиПростой
Время на прочтение6 мин

Трагедия карьерного роста состоит в том, что человек чаще всего демонстрирует лучшие рабочие качества не тогда, когда ему дают возможности, а тогда, когда его запихивают в ситуацию «спасай» или «выкручивайся как хочешь».

Читать далее
Всего голосов 136: ↑128 и ↓8+135
Комментарии83

От идеи до сертификации: как мы делали устройство, которое должно спасать людей при ДТП

Уровень сложностиПростой
Время на прочтение12 мин

Меня зовут Владимир Радченко, я инженер-программист в компании Taiga IoT. В 2022 году мне довелось принять участие в проекте, который оказался значительно сложнее, чем можно было представить по описанию стандарта: разработке Устройства Вызова Экстренных Оперативных Служб (УВЭОС) в формате дополнительного оборудования для системы ЭРА-ГЛОНАСС.

В обиходе это устройство называют «SOS-кнопкой», «тревожной кнопкой» или «кнопкой спасения». На момент начала проекта в России не существовало ни одного УВЭОС в такой конфигурации, которое прошло бы полный цикл — от разработки до сертификации. Поэтому нам пришлось буквально прокладывать путь: разбираться с нюансами ГОСТов, собирать прототипы, ездить на испытания и устранять проблемы, которые всплывали в самых неожиданных местах.

Эта статья — о том, как выглядел этот путь изнутри: от схемотехнических решений до функциональных, акустических и ЭМС-испытаний, без которых устройство не может попасть на рынок.

Читать далее
Всего голосов 8: ↑8 и ↓0+9
Комментарии12

Как я «взломал» адресную книгу Radmin, чтобы не вводить 1000 IP-адресов вручную

Уровень сложностиПростой
Время на прочтение9 мин

Конечно же, взломать – громко сказано, но заголовок рождён эмоциями :-)

Эта история о том, как лень, заставила меня окунуться в реверс-инжиниринг бинарного файла адресной книги Radmin (.rpb).

Внутри – странные заполнители, контрольные суммы, таинственные временные метки и структуры данных, где папки и компьютеры имеют одинаковый размер и бескрайние просторы нулей, о мои глаза!

Результат – opensource утилита для конвертации между RPB и JSON, возможно кому-то пригодится.

Представьте: вы – ответственный за парк из сотен компьютеров. Вам нужно актуализировать таблицу имен и IP-адресов компьютеров или адресную книгу Radmin, или, как в моём случае, использовать список этих записей в другом ПО. Работа трудоёмкая, но я – человек не ленивый, но оптимизированный. Вводить вручную имя, IP, порт, настройки для каждого компьютера – рутина, однообразное щёлканье кнопок! Кажется, жизнь пролетает впустую, так я подумал, когда представил, что мне предстоит это сделать.

Вот и мне довелось писать внутренние ПО по массовому контролю доступности и сбору инфы, а в основном, по массовому сетевому копированию и развертыванию с использованием промежуточных групповых серверов. И уже на этапе бета-тестирования от меня потребовалось внесение информации о сотнях сетевых устройств.

«Эврика! – подумал я. – У меня же есть Radmin, а там есть все адреса! Я экспортирую их и использую себе во благо!».

Эврика длилась ровно до момента, когда я обнаружил, что Radmin экспортирует адресную книгу только в свой собственный формат - rpb, добавили бы csv, с моей точки зрения логично, «Спасибо, разработчики». Документации? Конечно, нет, это же не api и не опенсорс.

Интересное дальше
Всего голосов 23: ↑23 и ↓0+31
Комментарии18

Один дорогой разработчик или шесть дешевых: простая математика

Уровень сложностиСредний
Время на прочтение5 мин

Фича может ехать в прод квартал силами шести человек — или за две недели одним разработчиком. Разбираю, почему один дорогой автономный инженер часто выгоднее команды «дешёвых».

Читать далее
Всего голосов 7: ↑2 и ↓5-3
Комментарии9

Теория графов для программистов

Время на прочтение5 мин

Краткое введение в графы: их устройство, основные типы и способы хранения в программе. Всё изложено просто и по делу — для тех, кто хочет быстро разобраться в теме.

Погрузиться в мир графов
Всего голосов 18: ↑15 и ↓3+15
Комментарии10

Движение — жизнь, или почему после травмы нужно дружить с диваном иначе

Уровень сложностиПростой
Время на прочтение3 мин

Всем привет! Сегодня хочу поговорить на тему, которая, не побоюсь этого слова, касается если не каждого, то очень многих. Речь пойдет о том, что происходит после того, как заканчивается самое интересное: сняли гипс, выписали из больницы, отменили обезболивающее. Начинается та самая, «веселая» часть - реабилитация.

Если представить нашу жизнь как компьютерную игру, то травма или операция - это такой суровый босс, которого вы, героически хрустя костями и связками, все-таки победили. Казалось бы, можно сохраниться и пойти дальше. Но нет! После победы над боссом начинается квест «Восстановление». И вот тут многие совершают классическую ошибку: либо бросают игру (читай: лежат и надеются, что «само пройдет»), либо, что еще хуже, пытаются пройти следующий уровень на сломанном движке.

Читать далее
Всего голосов 6: ↑2 и ↓40
Комментарии0