Как стать автором
Поиск
Написать публикацию
Обновить

Все потоки

Сначала показывать
Период
Уровень сложности

Экологичное расставание с Алисой: строим полностью локальный и приватный голосовой ассистент

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

Идея отказаться от использования Яндекс Алисы в системе умного дома возникла у меня после новости о принятии Госдумой законопроекта, касающегося штрафов за поиск и доступ к экстремистским материалам в интернете. Казалось бы, при чём тут голосовой помощник? Однако Яндекс входит в реестр организаторов распространения информации, что означает определённые юридические и технические обязательства по хранению и передаче данных.

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

Тем более что сейчас единственным слабым звеном в моём умном доме остается Яндекс Алиса — которая требует постоянного интернет‑соединения даже для выполнения простейших команд управления локальными устройствами.

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

Алиса, извини

О ненависти к российским дистрибутивам Linux

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

Каждый второй комментарий к новостям о российских дистрибутивах Linux можно сформулировать как "опять перерисовали шильдики".

Причем объяснить с чего перерисовали шильдики, комментаторы зачастую не могут. "Чувствую бесовщину, но доказать не могу!".

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

Но давайте поговорим про дистрибутивы.

Читать далее

Как я пять раз переделывал умный дом — и выкинул половину ненужного

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

Я начал проектировать умный дом еще до ремонта. Сразу проложил витую пару, разбил нагрузки по группам, подобрал оборудование, поставил контроллер. Все проектировал сам, под себя. А потом понял: умный дом не строится один раз. Он изменяется вместе с тем, как ты живешь. И за три года я переделал его пять раз (ну, потому что могу).

В этой статье я расскажу, как все устроено у меня сейчас — и почему многое из задуманного я в итоге выкинул. Что работает стабильно, а что мешает. Какие сценарии прижились, а какие пришлось отключить. Почему я установил Sprut.Hub, но все равно держу Home Assistant. И зачем в квартире больше кабелей, чем светильников.

Эта статья не про то, «как надо» или «как не надо». Она про то, как получилось у меня — и почему я этим доволен. 

Читать далее

Советы новичкам в карьере программиста

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

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

Читать

Георгий Герганов, автор llama.cpp и звукового кейлогера

Время на прочтение6 мин
Количество просмотров15K

Многие пользуются YouTube, Netflix, но не подозревают о ключевых опенсорсных программах типа ffmpeg, которые работают на бэкенде этих сервисов. Похожая ситуация с нейронками, где многие знают программу Ollama для локального запуска моделей на CPU. Но мало кто понимает, что это всего лишь простенькая оболочка вокруг опенсорсной библиотеки llama.cpp на С, которая и делает инференс. Автор этой библиотеки, талантливый разработчик Георгий Герганов, мало известен широкой публике.

Читать далее

Большинству людей плевать на качество софта

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

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

Но у этой деградации есть естественная причина, и она очень простая. Дело в том, что большинству людей по большому счёту наплевать.

Читать далее

От React всё так же веет безумием, но все об этом молчат

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

Недавно работал над хобби-проектом, который описал в другой своей статье. В процессе его реализации у меня возникло желание чиркануть пару абзацев о том, почему React — отстой, но в итоге я не смог удержаться и решил высказаться по полной…

Так что вот она полноценная статья, ещё больше той, из которой она родилась. Здесь я подробно опишу все проблемы React и поясню, почему это может не быть виной разработчиков.

Читать далее

Как хранить деньги в базах данных и почему это не так просто, как кажется

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

Хранение денежных сумм в базах данных и API: анализ подходов платежных систем

Хранение денег — вещь только на первый взгляд простая, а на деле содержит множество подводных камней. Выбрав не тот тип данных, можно получить неточности в расчётах, возможна путаница при переводе суммы из одной валюты в другую. А если ещё и подключать внешние API, у каждого из которых своя точность для одних и тех же валют, уследить за совместимостью еще труднее.

Разбираем, как решают эти проблемы Stripe, PayPal, Google Wallet и другие платежные системы. Сравниваем три основных подхода: Integer minor units, Decimal base units и String base units.

Читать далее

Хронометр Гаррисона: прибор, спасший жизни сотен моряков

Время на прочтение14 мин
Количество просмотров18K

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

Чтобы решить эту задачу, британское правительство — обладатель самого мощного флота на тот момент — учреждает премию в 20 000 фунтов. И такой человек находится. Его зовут Джон Гаррисон, он часовщик.

Читать далее

Как «по-быстрому» сделанная игра затянула меня в геймдев на 20 лет и какие выводы я из этого сделал

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

Я уже делал серию постов об истории flash-игр (раз, два, три), а сейчас пришла пора рассказать как я сам оказался в этой индустрии.

Ещё после поступления в ИТМО я решил, что не мешало бы поизучать какую-то модную на тот момент технологию, и купил в переходе диск “Самоучитель по Flash MX”. А когда уже сносно программировал - захотелось сделать и свою игру. Писать какие-то аркады было не интересно, и я замахнулся аж на целый авиасимулятор (да, в программе для создания 2D анимаций). Но в целом у меня получилось! Геймплей был ужасен, графика ещё хуже, но были и воздушные бои, и даже миссии по уничтожению наземки. Игра была показана друзьям и заброшена на полку, но через пару месяцев я узнал про Newgrounds - это тогда была самая большая тусовка флешеров, куда все кому не лень выкладывали свои игры и мульты.

Читать далее

Карьера вайб-кодера — это тупик

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

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

Я начал замечать перемены, когда темы бесед разработчиков полностью поменялись. Теперь они обсуждают лишь то, как заставить Claude написать код за них. Или конечную цель: как заставить ИИ делать всё без вмешательства человека.

До недавнего времени я по большей мере игнорировал этот ажиотаж. Я читал заголовки, время от времени просил Claude или ChatGPT помочь мне в отладке, но ничего больше. Пришла пора учиться вайб-кодингу!

Читать далее

Вайбовый панк

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

Из всего айти отдела вайбовал один лишь я.
У меня Курсор с подпиской, я довольный как свинья.
Мой папанька инженером отбатрачил тридцать лет,
А сейчас в анкетах пишет что детей у него нет

Я теперь на таски скор — у меня же есть Курсор.
Я на ём вайб код лабаю всем олдам наперекор.
Любой челендж для меня нынче полная фигня.
А-а-а!!! Вайбовый кодер я!

Читать далее

Блеск и ад p2p-торговли на Bybit

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

Интервью с человеком, который провёл несколько сотен p2p-сделок по продаже и покупке USDT на Bybit и наступил на разные грабли. Пятничная история, чтобы читатели были предупреждёнными и осторожными.

Читать далее

Ближайшие события

Запустили векторный поиск в YDB: рассказываем, как он работает

Время на прочтение10 мин
Количество просмотров13K

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

Новый релиз СУБД Яндекса делает векторный поиск доступным для всех. Статья под катом написана по мотивам моего доклада на конференции HighLoad++, с которым я выступил 23 июня в Питере. В ней я расскажу про векторный поиск, индекс, RAG и о том, как эти технологии применяются в Алисе.

Читать далее

Как мы создавали первую портативную умную колонку Яндекса

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

Меня зовут Александр Батин, я инженер‑схемотехник. Уже больше трёх лет я работаю в Яндексе в команде, которая занимается разработкой умных экранов и новых продуктов. Отвечаю за проектирование материнских плат (разрабатывал материнскую плату для Станции Дуо Макс), а в последних проектах участвую уже в качестве техлида.

Сегодня я хочу посвятить свой рассказ ключевым аспектам разработки первой портативной колонки с Алисой — Станции Стрит:

— рассмотрим интересные моменты на этапе проектирования,

— поговорим о технических решениях, принятые в процессе работы,

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

Особое внимание уделю подходам к преодолению технических и инженерных вызовов: оптимизацию работы AI‑ассистента в условиях ограниченных вычислительных ресурсов и обеспечения стабильного взаимодействия при мобильном использовании без доступа к интернету.

Читать далее

8 вещей на удалёнке, которые вернули мне концентрацию и спокойствие

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

Меня зовут Дмитрий, мне 29, я Senior PHP-разработчик в продуктовой компании. Полтора года назад я сбежал из московской каморки в Екатеринбург и перешёл на полную удалёнку. Заперся в квартире-студии с кошкой по кличке Матильда и начал жить ту жизнь, о какой мечтал лет с 19. 

Читать далее

Как я научился обманывать холодильники — и сделал бизнес на 1,3 млн в месяц

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

У меня было два пивота. Сначала занимался рекламным бизнесом в Омске. Работало неплохо, но я понимал — это ненадолго. Слишком конкурентная сфера, слишком много изменений. Много хейта. В 2022 году после поправок ФЗ О рекламе окончательно закрыл направление.

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

Освоил ремонт холодильников на курсах в Омском техникуме. Работал мастером, сам ездил по вызовам, знал все проблемы изнутри. Потом стал обучать других — сначала одного сотрудника, тот научил следующего.

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

Проблема пришла откуда не ждали...

Читать далее

Как работает DNS в Linux. Часть 2: все уровни DNS-кэширования

Время на прочтение15 мин
Количество просмотров14K

В первой части мы разобрали, как в Linux работает процесс разрешения имен — от вызова getaddrinfo() до получения IP-адреса. Однако если бы каждый вызов требовал нового DNS-запроса, это было бы неэффективно и сильно нагружало как систему, так и сеть. Поэтому используется кэширование.

Кэширование DNS может быть везде — в glibc, в systemd-resolved, в браузерах и даже в приложениях на Go. Кэш помогает увеличить скорость работы, но создает дополнительные сложности при отладке. Например: вы меняете DNS-запись, но сервер продолжает ходить по старому IP-адресу. Или, Dig показывает правильный адрес, а curl всё равно подключается к устаревшему.

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

Читать далее

Давайте уже потише с ИИ

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

Ну хорошо, ну есть у нас ИИ. Уже как 3 года он есть. А толку? Как его правильно впихивать в техпроцесс?

- Меня не надо впихивать!

- ЧЕМ ТЫ ЭТО СКАЗАЛ?

Читать далее

Вы тоже заказываете платы, компоненты и всячину здесь?

Время на прочтение11 мин
Количество просмотров39K

Что такое коллективный экспресс (7$/кг) и как его использовать?

Почему с 45$/кг бывает дешевле, чем с 23$/кг?

Как заказать компоненты/всячину с сайтов JLC (jlcfa, lcsc, jlcpcb, …)?

С 1688, Тао бао и других китайских площадок?

Привезти из Европы, США (Маузера, Диджикея и т. д.)?

Где платы с размерами >100х100 мм будут дешевле?

Надеюсь, продуманная навигация по статье и таблицы помогут быстро найти и сравнить полезную информацию.

Читать далее