Обновить
1024K+

DIY или Сделай сам

Для тех, у кого руки растут из нужного места

786,67
Рейтинг
Сначала показывать
Порог рейтинга

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

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

Теги:
0
Комментарии8

Ноутбук для апокалипсиса найден: энтузиаст добавил к проверенному временем Dell бензиновый генератор. Устройство может работать полтора часа от полного бака — далее нужно заправляться. Изобретение продаётся за $850.

Теги:
+3
Комментарии12

Всем привет ребята!

Планирую написать свой ЯП в следующие недели, возможно в следующей статье про него буду говорить даже.

Так вот.

Синтаксис будет наверно Smalltalk подобным.

Думаю, спецификация будет почти что такой:

define = | имя1 имя2 имя3 ... |
assign = имя := значение !
msg send = объект сообщение !
reserved msg send = объект сообщение: аргументы !
binary msg send = объект сообщение аргументы !
cascade msg send = msg send или reserved msg send; msg send или reserved msg send; ... !
block = [ ... ] !
fn = # (аргумент1 аргумент2 ...) block !
dfmthd = defmethod имяобъекта имяметода аргументы block !
return = ^ выражение !
class = class parent name init-block !

Ну... Синтатикс ещё не продуман так сильно прям.

Напишу на Пайтон, потом перепишу на Си.

Всем удачи!

UPD:

Где тут реклама по вашему!?

Я что тут где то ссылку указал и говорю "ПЕРЕЙДИ, ИНАЧЕ БУДЕТ ТЕБЕ ПЛОХО!"?
Вроде нет.

Даже мыслями нельзя уже поделиться без минусов?

Теги:
-9
Комментарии15

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

Теги:
0
Комментарии2

Энтузиаст собрал дома самодельную тритиевую батарейку (нановаттную ядерную электростанцию) из старых калькуляторов, тритиевых колб и фольги.

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

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

Небольшой эффект удалось увидеть только после подключения батарейки к конденсатору. За сутки конденсатор зарядился до 2,8 вольта. При этом измерение напряжения мультиметром быстро просаживало заряд, что хорошо показало, насколько крошечным оставался запас энергии.

Теги:
+7
Комментарии3

Пока везут в Zed нативный diff выделенных кусков кода, с подсветкой, преферансом и барышнями, мы будем пить то, что есть 😁

Скрипт намбер ван:

#!/bin/bash

FILE1="/tmp/clp.saved"

# xclip -o -selection primary > "$FILE1"
wl-paste --primary > "$FILE1"
notify-send "Diff" "Первый фрагмент сохранён"

вешаем на одно сочетание клавиш (у меня, например, для удобства, Alt+Shift+1)
(выбираем на вкус для X11 или Wayland)

Скрипт намбер ту:

#!/bin/bash

FILE1="/tmp/clp.saved"
FILE2=$(mktemp /tmp/clp.XXXXXX)

trap 'rm -f "$FILE2"' EXIT

# xclip -o -selection primary > "$FILE2"
wl-paste --primary > "$FILE2"

if [ ! -s "$FILE1" ] || [ ! -s "$FILE2" ]; then
	notify-send "Ошибка" "Нет текста для сравнения"
	exit 1
fi

meld "$FILE1" "$FILE2"

вешаем на другое сочетание клавиш (у меня, например, Alt+Shift+2)

Изолента и реактивный двигатель — вот всё, что нам нужно. Лучше, чем ничего, по крайней мере…
Первый скрипт сохраняет выделенный текст во временный файл /tmp/clp.saved.
Второй скрипт сохраняет выделенный текст в другой временный файл /tmp/clp.XXXXXX, открывает их оба в нашем любимом Meld, мы на всё это дело любуемся, сравниваем, закрываем Meld, после чего скрипт удаляет этот второй временный файл со случайным постфиксом, чтобы не болтался зря. Первый, /tmp/clp.saved пока остаётся, чтобы было удобно с одним и тем же «первовыделенным» сравнивать несколько вариантов, и его всегда можно переопределить первым скриптом.

Итого: Выделили кусок, Alt+Shift+1, выделили другой кусок, Alt+Shift+2 — смотрим, радуемся! 😁

Теги:
+2
Комментарии0

Как я научил Telegram-бота помнить то, что LLM положено забывать

LLM по своей природе — без памяти. Каждый новый диалог с ChatGPT, Claude или DeepSeek начинается с чистого листа. Разработчики пытаются решать это костылём: запихивают в контекст последние N сообщений.

Но это не память. Это дорогое, конечное и очень прожорливое контекстное окно. Хранить всю историю — разоришься на токенах. Учить модель на лету — пока фантастика.

Поэтому я сделал по-другому.

Встречайте: настоящая долговременная память для Golem (В том виде, в каком она нужна кодинг-агенту)

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

Как это работает:

  • /remember текст — Golem сохраняет факт в SQLite

  • /recall — показывает все ваши заметки

  • /forget ID — удаляет ненужное

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

Реальные примеры из жизни:

Вы пишете: /remember Я работаю над проектом X на Django + PostgreSQL. Никогда не предлагай MongoDB.

Через неделю спрашиваете: «Как оптимизировать запросы?» — Golem сразу учитывает стек и не несёт чушь про NoSQL.

Или: /remember Голем, не отвечай на вопросы про погоду. Это тупо.

Теперь на «какая погода?» он спокойно посылает вас в Google и не жрёт токены.

Это сильно круче простого увеличения контекста: вы сами решаете, что важно, а что — мусор.

Хотите видеть, как я дальше развиваю память (векторный поиск, автоматическое извлечение фактов и другие смелые эксперименты, которые я обкатываю прямо сейчас)?

→ Подписывайся на основной канал «СИСТЕМА»

Там я показываю внутреннюю кухню разработки Golem, полные архитектурные разборы и то, что обычно не выношу на Хабр.

Где потрогать бота прямо сейчас: https://t.me/Golem666bot

Пробуйте, ломайте, кидайте в комментариях:

  • Какие факты вы бы хотели, чтобы бот помнил о вас?

  • Каких ещё фич не хватает идеальному AI-ассистенту?

Жду ваших кейсов и идей — лучшие разберём вместе с Golem.

Теги:
-9
Комментарии2

Всем привет! Сейчас делаем сварочный проект: в симуляторе провариваем 3D-модель детали, собираем траектории и смотрим, как горелка проходит все швы на этой геометрии.

🔎 На этом этапе проверяем порядок проходов, подход к сложным местам и саму логику сварки по детали. Скоро покажем фотки уже с завода.

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

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

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

У меня двойственное отношение к технологическим ностальгантам. С одной стороны, я с большим интересом хожу в музей истории компьютеров в Маунтин-Вью, Калифорния, а также считаю полезным введение небольшого количества исторической интроспективы в образовательные курсы, чтобы понимать истоки ключевых изобретений, например: прерывания (DYSEAC, 1954), внеочередное выполнение инструкций (CDC-6600, 1964), векторные регистры (Cray-1, 1976) итд.

С другой стороны я считаю вредным, когда старперы пытаются учить молодежь на примерах какого-то старья типа PDP-11, 6502 или Z80. Я понимаю что в 1970-х PDP-11 поразила их красотой, но все эти автодекременты с двухадресными инструкциями хорошо вписывались в микрокодовую идеологию своего времени, но не вписались даже в идеологию 1980-х, с статическим hard-wired конвейером. Ну выучил старпер молодежь ассемблеру PDP-11, а как теперь привязать это к созданию конвейерного процессора на верилоге?

Аналогично аккумуляторная архитектура 6502, которая для ностальгантов связана с молоденьким Стивом Джобсом и Apple II - это следствие не только ограниченных ресурсов 1970-х, но и того, что в те времена доступ к памяти происходил быстрее, чем арифметические операции. Только в таком контексте ее стоит упомянуть перед тем как перейти в набору регистров в современном RISC-V.

Я видел как некий прибалтийский университет пригласил к себе европейского профессора из Италии, который стал там учить студентов стоить копии Apple II - способствует ли это подготовке современных проектировщиков процессоров? Имхо пример того, что европейское не значит качественное.

Про Z80 и спектролюбцев я вообще не говорю - там попытки навести косметику на набор костылей в Intel 8080, с косвенной адресацией через конкатенацию 8-битных регистров H и L и прочий маразм. Чистая сублимация по поводу дискотек 1980-х и кучерявых девочек на них которые сейчас стали бабушками.

К чему я все это пишу. Сегодня в некоей ностальгантской группе фейсбука опубликовали пост с картинкой мануалов по 8086/8088, а также про DOS и BIOS. Я там написал что эти технологии были уже устаревшими в момент выхода этих книг в 1980-х. Далее некий немец поставил сердитый несмайлик и вступил со мной в диалог про это самое:

Теги:
Всего голосов 22: ↑19 и ↓3+22
Комментарии15

Собираем локальную агентную AI-систему

Если хочется не просто «чатик с нейронкой», а локального AI агента, который умеет ходить в инструменты (файлы и т. п.) и выполнять твои задачи, то вот статья, которую реально можно повторить руками: «От чат-бота к AI агенту: собираем локальную систему на LibreChat, Langflow и MCP». Это подробнейший мануал с пятью уровнями сложности!

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

  1. LibreChat — UI для работы с LLM

  2. Langflow — low-code платформа и визуальный редактор

  3. MCP — стандарт для подключения инструментов

Структура статьи «по нарастающей»: можно остановиться на любом уровне — от простого локального чата до кастомизируемого агента.

Если вам интересны вызовы защиты ML-систем от современных атак и вы хотите развиваться в MLSecOps, присоединяйтесь к нашей команде, мы в поисках специалиста по защите искусственного интеллекта. Откликайтесь на вакансию по ссылке.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Привет Хабр!

Помогите добить реверс bike tracker на MC60 + STM32L486 – что здесь за интерфейсы и как лучше подступиться.

Больше фото в конце!
Больше фото в конце!

Есть у меня bike tracker infocar bikeAngel AMB02. Разобрал его и сейчас пытаюсь спокойно, без лома через колено, понять архитектуру платы, интерфейсы и нормальный маршрут реверса. По фото и маркировке пока получается такая картина:

  • модем / GNSS / Bluetooth — Quectel MC60EC3-04-BLE

  • отдельный MCU — STM32L486GT7

  • внешняя SPI flash — Adesto / Dialog AT25DB321E;антенна Antenova A10340;

  • есть SIM-слот, батарейный блок и несколько непонятных тестовых/сервисных точек.

  • Из того, что пока смущает –MC60 и STM32 здесь явно живут как два разных мозга, и я пока не до конца понимаю, кто кого будит, кто держит power sequencing и где именно проходит основной UART.

На плате нет «человеческих» кнопок boot/reset, поэтому неочевидно, насколько реалистично подлезть к MC60 напрямую без плясок с его boot/pwrkey линиями. Не уверен, не зашита ли вся критичная логика именно в STM32, из‑за чего идея «просто заменить SIM и жить» может оказаться слишком наивной.

Что уже удалось идентифицировать по плате:

  • MC60 — сотовая часть, GPS и Bluetooth а STM32L486 — управляющий MCU,

  • SPI flash рядом с белым разъёмом , возможный сервисный коннектор / debug-разъём;

  • батарейный блок выглядит как 1S Li-ion pack на нескольких параллельных банках.

Моя цель сейчас не «ломать прод», а именно картировать железо, найти UART между STM32 и MC60 — понять, где SWD на STM32. Определить, можно ли безопасно снять дамп / хотя бы проверить RDP. Понять, есть ли смысл лезть в SPI flash отдельно да и прикинуть, насколько жизнеспособен вариант со своей SIM и своим софтом. Инструменты у меня пока довольно базовые: паяльник и USB‑UART, нормального анализатора и ST‑Link пока нет. (Заказал себе пока, ST‑link v2 Clone M89 для STM).

Поэтому особенно интересны советы именно по порядку действий: с чего лучше начать, чтобы не убить плату и не потратить неделю впустую.

Ссылка на гугл папку с фото (ибо более одного медиафайла не разрешено, добавлять.)

Всем спасибо!

Теги:
Всего голосов 6: ↑6 и ↓0+11
Комментарии8
Изображение дерева [Электронный ресурс] / Сгенерировано нейросетью Алиса. — 2026. — Дата генерации: 13.03.2026.
Изображение дерева [Электронный ресурс] / Сгенерировано нейросетью Алиса. — 2026. — Дата генерации: 13.03.2026.

«Обёртка» для системы мониторинга системного журнала операционной системы с открытым исходным кодом.

Концепция заключается в адаптивности решения. Написана на «bash» с использованием лингвистической модели с китом.

Код

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

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

За пару-тройку месяцев пристрастился к публикациям на Хабр.
И, чтобы это не превращать эту новую привычку в пустое графоманство, решил сфокусироваться и прикинуть в этом посте темы для следующих публикаций:

  • Как судить песни на онлайн-турнирах в числах?

  • Функция Cover в Suno для возведения нашего творчества в степень

  • Типовые баги в русской фонетике относительно песнен из Suno

  • Публикуем музыкальный альбом через сервис дистрибьютора

Теги:
Всего голосов 4: ↑0 и ↓4-4
Комментарии0

Краткая история развития ЭВМ - от механических счётов до современных LLM в рифму за две минуты!

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

Прошу помощи. Не могу найти документацию на плату. Купил когда-то на а**-э*****сс, но к ней не было в комплекте вообще ничего. За время поисков удалось найти только два фрагмента схемы. Мб есть у кого такая....

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии11

Представлен открытый учебный сервис Diode, который предлагает знания электрических схем и цепей до профессионального уровня без необходимости тратить деньги на оборудование:

  • полноценные 3D‑схемы реальных электрических цепей с диодами, транзисторами, резисторами, вольтметрами, проводами, лампочками и прочими деталями.

  • можно пробовать любые схемы и сразу же тестировать их работоспособность.

  • на портале есть все инструкции, как собирать рабочие схемы и даже сложные электрические цепи.

  • не нужно покупать реальные платы, чтобы изучать микроэлектронику — можно экспериментировать на симуляциях.

Теги:
Всего голосов 4: ↑3 и ↓1+5
Комментарии2

Блогер встроил в обычный тостер Raspberry Pi 5, 7-дюймовый экран и кастомный корпус, а также Windows 98. Для управления поджаркой блогер написал собственную программу. Через неё можно опускать лотки и включать нагрев. Сенсорный экран в Windows 98 до конца не заработал, поэтому управлять системой нужно мышкой. Но самое главное — компьютер жарит хлеб.

Теги:
Всего голосов 5: ↑5 и ↓0+7
Комментарии0

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

Новозеландский художник, инди-игроразработчик и хакер Сет Грум довёл идею до крайности и оптимизировал собственную мышь. Вдохновением послужила Zeromouse Blade, но Сету не понравились её плоские поверхности — энтузиаст захотел побольше эргономики. Как утверждает Грум, его вариант в руке не чувствуется вообще.

За основу была взята старая Logitech MX Master 3, которая у Сета валялась где-то в коробке. Грум полностью пересобрал корпус и геометрию, оставив начинку, а внешнюю оболочку заменил на лёгкую пространственную раму. В результате общий вес мыши c колёсиком снизился с 143 до 36,4 граммов.

Модель создавалась в Blender, затем распечатывалась на 3D-принтере из PLA, полилактида. В дальнейшем Сет переделал творение из нейлона с углеволокном, снизив вес пластиковой конструкции на 14 %.

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

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

Можете ставить на свои VPS-ки одной командой: 

curl -sSL https://raw.githubusercontent.com/itcaat/mtproto-installer/main/install.sh | bash

Исходники тут: https://github.com/itcaat/mtproto-installer

_________________

Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии0