Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 22 min 9 sec ago

От идеи до платформы: полгода разработки собственного AI радио

Sat, 06/07/2025 - 21:54

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

Читать далее

Olimex RP2040-PICO-PC на стезе эмуляции ретро-платформ

Sat, 06/07/2025 - 20:31

Olimex RP2040-PICO-PC - небольшая платка, типа "материнской", в которую можно воткнуть микроконтроллерную плату форм-фактора Raspberry Pi Pico, которых выпускается достаточно много.

Я много писал про аналогичную плату, разработанную нашими ребятами (см. Мурмулятор), однако, имеются и некоторые альтернативы, включая разработку от Olimex.

Читать далее

Обзорная экскурсия в мир сетевых контейнеров

Sat, 06/07/2025 - 20:24

Приветствую профессиональное сообщество. Здравствуй, Хабр! Это первая обзорная статья из серии, посвящённой ContainerLab.

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

Читать далее

Open source Self-Hosted убийца убийц Notion. Как установить?

Sat, 06/07/2025 - 20:18

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

Сегодня расскажу про то что нашел для и себя и как это похостить.

Читать далее

[Перевод] Go synctest: Решение проблемы нестабильных тестов

Sat, 06/07/2025 - 20:08


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


func TestSharedValue(t *testing.T) { var shared atomic.Int64 go func() { shared.Store(1) time.Sleep(1 * time.Microsecond) shared.Store(2) }() // Проверяем общее значение через 5 микросекунд time.Sleep(5 * time.Microsecond) if shared.Load() != 2 { t.Errorf("shared = %d, want 2", shared.Load()) } }

Этот тест запускает горутину, которая изменяет общую переменную. Она устанавливает shared в 1, спит 1 микросекунду, а затем устанавливает её в 2.


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


Однако...

Читать дальше →

Как наша студия ушла от гиперказуала и что из этого вышло

Sat, 06/07/2025 - 19:39

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

Пришло время выбора: продолжать штамповать одноразовые проекты или рискнуть и сделать что-то своё. Мы выбрали второе.

Читать далее

100K юзеров за 3 дня — что сломалось после релиза

Sat, 06/07/2025 - 19:13

Привет, Хабр!

В этой статье — история запуска Telegram Mini App, куда за трое суток пришло 100.000 реальных пользователей.

Покажу, как мы масштабировали Node.js приложения на многоядерных серверах, увеличивали RPS в 10 раз, боролись с N+1 проблемой в MongoDB и снижали нагрузку на CPU. А ещё расскажу как мы быстро настроили мониторинг через Grafana, подключили Cloudflare и интегрировали Sentry. Поделюсь практическими инсайтами о том, на что стоит обращать внимание в первую очередь, и как эти инструменты помогли нам оперативно находить узкие места и устранять сбои в реальном времени. Всё, о чём будет в этой статье, основано на том, что действительно сработало. Кроме того, расскажу, какие моменты мы упустили до запуска.

Это разбор с цифрами, графиками и практическими выводами. Он может сэкономить вам время, нервы и деньги, если вы готовитесь к запуску Telegram Mini App или просто работаете с Node.js-приложениями, которые могут оказаться под серьёзной нагрузкой.

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

Первая часть про подготовку к запуску доступна здесь.

Читать далее

Летний апдейт: что умеют новые мини-ПК на Arrow Lake, Strix Halo и RTX 50

Sat, 06/07/2025 - 19:07


Май и июнь 2025 года выдался жарким для рынка мини-ПК. Производители выкатили сразу несколько моделей, в которых компактность уживается с топовыми процессорами Intel Arrow Lake, RyzenTM Strix Halo и дискретной графикой NVIDIA RTX 50-й серии. Некоторые из них — абсолютно бесшумные, другие готовы заменить рабочую станцию или игровой ПК. Разбираем главные новинки месяца — от Asus NUC и Zotac ZBOX до мини-NAS на Twin Lake и миников с откидными экранами. Поехали!
Читать дальше →

Апгрейд по реверс-инженерски: хакаем прошивку кнопочного телефона и пишем для него программы

Sat, 06/07/2025 - 19:05

Осторожно: в данной серии статей я рассказываю о реверс-инжиниринге и хакинге простых кнопочных звонилок. Цель простая: расширить скудный функционал телефонов ценой до 1 000 рублей и сделать их привлекательной платформой для самых разных гиков. Если вам интересно узнать, как происходит процесс взлома и изучения прошивок, а также написания новых программ для кнопочников — жду вас под катом!

Читать далее

[Перевод] Коротко объясняем, что такое поток, буфер, дуплекс и канал

Sat, 06/07/2025 - 19:05

Поток – это последовательность элементов данных, предоставляемых за некоторое время. Концепция потока (stream) позволяет обрабатывать или передавать данные поэлементно, а не как одно целое. Потоки особенно полезны в сценариях, когда приходится работать с большими множествами данных, непрерывными данными или данными реального времени.

Читать далее

Не выходя из CLI: решения для планирования и трекинга задач

Sat, 06/07/2025 - 18:18

В MWS мы используем платформы для совместной работы и автоматизации, которые легко подключить, настроить и использовать без нагрузки на ИТ-отдел (например, MWS Tables). Но если вам привычнее работать не покидая пределы консоли, собрали терминальные инструменты, которые помогут вывести продуктивность на новый уровень: планировщики задач, органайзеры и вот это всё.

Читать далее

Про деревянные подшипники

Sat, 06/07/2025 - 18:01
Картинка 1, 2, Freepik

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

Мы знаем, что эти компоненты должны быть металлическими или из специальных составов, чтобы обеспечить минимальное трение (нейлон, фторопласт, графитонаполненные композиции и т.д.) одновременно с хорошей долговечностью.

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

Эта проблема ещё более усугубляется, если надо изготовить нечто чуть более масштабное, чем «подшипник с ноготь мизинца диаметром» :-)

Тем не менее, есть один широко распространённый материал, о котором прекрасно известно профессионалам, но он малоизвестен для применения в подшипниках широкой публике — и это древесина!

Да-да, как ни странно, она вполне может быть применена для этой цели, и далее мы посмотрим, каким именно образом… Читать дальше →

Кригинг F-фактора или кормить, любить и никогда не покидать

Sat, 06/07/2025 - 18:00

Девочка и мальчик — метисы хаски жили в трубах на стройке, в феврале 2025 года спасены волонтерами, откормлены и подлечены. Сейчас у них появились хозяева и теперь их будут "Кормить, любить и никогда не покидать!". Про любовь может быть как-нибудь в другой раз, а сегодня поговорим про "кормить".

Канули в лету времена, когда своих маленьких друзей все кормили "со стола".

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

Чаще всего домашних собак и кошек мы кормим влажными консервированными кормами. Сегодня мы поговорим о производстве влажных кормов, узнаем почему F-фактор критически важен и зачем ему самому нужен кригинг.

Читать далее

EPT-MX-ADM: Новый уровень управления Matrix Synapse — Бета-версия v0.0.1

Sat, 06/07/2025 - 17:54

Привет, Хабр! Меня зовут Brabus, я разработчик из EasyProTech LLC, и сегодня я хочу рассказать о моём проекте - EPT-MX-ADM. Это современная админ-панель для Matrix Synapse, которая решает проблемы устаревших инструментов вроде Synapse Admin. Если ты админ Matrix-сервера и устал от CORS-ошибок, древнего UI и вечных плясок с Nginx-конфигами, этот проект для тебя.

Как устроен отбор на стажировку в Big Tech

Sat, 06/07/2025 - 17:49

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

Внутри будет описание моего пути, а также советы, которые помогли мне и другим стажерам получить оффер.

Читать далее

DIY проект: cистемная информация на LCD дисплее GC9A01 (часть 1)

Sat, 06/07/2025 - 17:44

Всем доброго дня! Мой никнейм Arduinum628, я занимаюсь DIY проектами и программированием на Python и C++. В этой статье пойдёт речь о выводе системной информации с ПК на круглый LCD дисплей GC9A01.

Сама идея проекта мне пришла во время разговора с другом Иваном @proDream Я рассказал ему, что заказал пару LCD дисплеев GC9A01 с Ali Express для своих будущих DIY проектов. Во время разговора Иван внезапно сказал, что ему-бы пригодился девайс для вывода системной информации с ПК. Я подумал - почему-бы не научиться использовать этот дисплей на подобном проекте?!

Сам проект я буду писать не для нужд друга, а скорее в целях обучения работы с этим дисплеем. Как я понял, что ему нужно что-то более компактное и встраиваемое в корпус ПК. По моему совету он купил компактную плату esp32 с дисплеем и будет писать своё решение сам. Я же собираюсь делать что-то вроде приборной панели и поставлю её за клавиатурой. Это чем-то будет напоминать спидометр автомобиля =)

Читать далее

Соединяем физику и лирику. Как я собрал рекомендательную систему для стихов с помощью Flask, sqlite-vec и Hugging Face

Sat, 06/07/2025 - 17:11

Для песен рекомендательные системы есть, для книг — есть, для фильмов — есть, для стихов — нет. Непорядочек

Карьера системного администратора на заводе

Sat, 06/07/2025 - 17:00

Что это и зачем?

Сразу скажу, что это – очередная бессмысленная и беспощадная статья, в которой не будет ни крупицы полезной технической информации. И я здесь высказываю только свои мысли и наблюдения. Предупреждаю сразу, чтобы потом ко мне не было претензий. Я уже пытался уместить в одной статье всё и сразу, и считаю это решение неудачным.

Я также прекрасно понимаю, что некоторые люди читают мои статьи только ради шуток и картинок. Что ж, весёлые шутки и смешные картинки вы получите.

Читать далее

Жизнь после 30: поговорим о больных коленях

Sat, 06/07/2025 - 16:20

Сегодня я расскажу о проблеме, которая уже к 30 годам касается каждого десятого, а по достижению пенсионного возраста встречается у 80% людей. И это больные суставы.

Читать далее

Benchmark — разрушитель LLM'ок, или Как мы собрали свой мультиязычный SWE-Bench

Sat, 06/07/2025 - 16:17

В статье представлено многоязычное расширение SWE-Bench от команды Doubletapp — бенчмарка для оценки больших языковых моделей (LLM) на реальных задачах программной инженерии, на различных языках программирования и кодовых базах индустрии. О процессе сбора SWE-Bench мы уже рассказывали в отдельной статье, а здесь сосредоточимся на результатах тестирования. Мы оцениваем ряд ведущих открытых LLM, предоставляя подробный количественный и качественный анализ, а также рассматриваем, как качество бенчмарка влияет на достоверность и объективность оценки моделей.

Содержание
Общая информация о датасете
Стенд для тестирования
Результаты
Заключение

Читать далее

Who's online

There are currently 1 user and 2 guests online.