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

Все потоки

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

Как приручить AI-пиксель-арт

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

За последние пару лет генеративные нейросети стали волшебной кисточкой для всего: концепт‑артов, иконок, иллюстраций, обложек, аватаров, спрайтов… Особенно — пиксель‑арта. В Midjourney, Stable Diffusion, Dall‑E, Image-1 и в других моделях можно просто вбить: «Pixel art goose with goggles in the style of SNES» — и получить шикарного пиксельного гуся за 10 секунд.

Но если ты пробовал вставить такого гуся в игру — ты уже знаешь боль.

Я решил вкопаться в эту тему поглубже и сделать open‑source‑инструмент, который автоматизирует превращение AI‑generated pixel art в pixel‑perfect pixel art.

Читать далее

Я купил детский ARM-ноутбук за 500 рублей, чтобы поставить на него Linux

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

Сегодня компьютером на x86-совместимом процессоре едва ли можно кого-то удивить с гиковской точки зрения. Другое дело — обучающий ноутбук для детей, который работает на интересном и необычном ARM-процессоре от небезызвестной компании VIA. И хотя для запуска произвольных программ его необязательно было хакать — всем гикам известно, надо было ставить Linux!

К чему приводит давняя детская мечта об обучающем ноутбуке, что скрывается внутри устройства за 500 рублей и как на всё это накатить Linux с дуалбутом в родную систему — читайте в сегодняшней подробной статье!

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Visopsys — ОС, которую написал один человек

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

На Хабре частенько говорят о дистрибутивах, так или иначе основанных на ядрах Linux или BSD. Но есть и совсем уникальные операционные системы, которые разрабатывались с нуля и полностью самодостаточны. Порой такие проекты создаются лишь одним человеком, яркий пример — TempleOS. Сегодня хочу рассказать о Visopsys, проекте визуальной операционной системы, которая уже 23 года разрабатывается Энди Маклафлином (Andy McLaughlin) в качестве хобби.

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Как я убедил виртуальную машину, что у неё есть кулер

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

Зачем вообще этим заморачиваться?

Некоторые образцы malware выполняют различные проверки, чтобы определить, запущены ли они в виртуальной машине. Один из самых частых способов — проверка наличия определённых аппаратных компонентов, обычно не эмулируемых в виртуальных средах. Один из таких компонентов — кулер процессора. Например, malware может проверять наличие кулера процессора, поискав в WMI класс Win32_Fan:

wmic path Win32_Fan get *

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

Зловредное ПО может определять, запущено ли оно в виртуальной машине, множеством разных способов. Есть различные классы WMI, позволяющие обнаружит присутствие виртуальной машины, например, Win32_CacheMemory, Win32_VoltageProbe и множество других.

В этом посте я расскажу о кулере процессора. Мне просто понравилась идея убедить виртуальную машину, что он у неё есть. Однако такой же подход можно применить к другим аппаратным компонентам и классам WMI.

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

Установка Windows через CMD

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

Приходилось ли вам устанавливать современные версии Windows? Если да, то вам точно знаком установщик, каждый этап которого прогружается несколько секунд, и который яростно навязывает вам использование аккаунта Microsoft, с каждым обновлением делая использование локального аккаунта всё труднее и труднее.

Но существует альтернативный способ установить Windows — более быстрый, не требующий подключения к интернету и не навязывающий никаких сервисов — ручная установка с использованием CMD.

Читать далее