Деволлим
227 subscribers
92 photos
15 videos
99 links
Привет, я Лёша - стартапер, фулл-стэк разработчик с 15+ годами опыта.

Делюсь тем, что реально помогает - как быстрее делать MVP, как балансировать между качеством, архитектурой и тем, что «работает сейчас».

@devall
Download Telegram
В CSS появилось крайне полезное свойство - corner-shape.

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

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

Лично меня эта новость радует тем, что теперь без боли можно делать такую форму как squircle (а точнее corner-shape: superellipse(1.333)), которую apple использует в своих интерфейсах.

Посмотреть все в живую можно здесь:
https://codepen.io/una/pen/PwNozMX
🔥5
А помните старые времена, когда появляющийся скролл портил лэйаут?

Когда открываешь модалку - и у тебя вся страница хрясь - на десяток пикселей в сторону.
И ты такой: “Ну ок, опять ловить ширину скролла, опять пляски с паддингами”.

Так вот, всё это можно выкинуть на свалку истории.

В CSS с декабря 2024 завезли свойство scrollbar-gutter, и оно делает именно то, чего мы столько лет хотели:
резервирует место под скролл заранее, чтобы интерфейс нигде не дёргался.

Минимально рабочий вариант:

overflow: auto;
scrollbar-gutter: stable;


И всё - модалки не прыгают, страницы не сдвигаются, UI ведёт себя адекватно.

Документация:
https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter
🔥4🌚1
У браузерного js как языка есть большой недостаток являющийся плюсом - деобфускация.

Большой минус в том, что деобфускация js не сложна и любой человек может разобрать твой продукт на кусочки и спасения этому увы нет (а llm значительно удешевляют этот процесс).

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

Один из сильных для меня примеров - это Linear, которые, понимая бессмысленность защиты, всего лишь минифицировали код (оставив даже нэйминг файлов), но при этом у них сильные и выразительные инженерные решения:

- интересная организация моделей с Mobx и свой «Sync Engine»
- механика описания и использования «Action»'ов (которые можно передавать как классы в специальные react компоненты и получать например готовые кнопки с иконками, текстом, шорткатом и правилами активности; вешать глобальные шорткаты; в зависимости от активности той или иной модели применять этот экшен именно к ней; и тот же экшен можно увидеть в «Command Menu»)
- определение роутов и использование «useLoaderData» (который завезли в реакт роутер 3 года назад)


**Как правило reverse engineering легален в образовательных целях, но зависит от законодательства страны и лицензионного соглашения
🔥3😎1
Если у вас очиститель воздуха от xiaomi и нет желания нормальный фильтр выкидывать на помойку

https://unethical.info/2024/01/24/hacking-my-air-purifier/

Сработало даже с айфоном, хотя, мне казалось, не так давно он умел только читать rfid метки

(есть еще способ с нажатием разного рода кнопок и играми с питанием, но этот банально быстрее)
Небольшие итоги года (с учетом что до этого сидел на другом акке)

https://cursor.com/2025
🔥2👏2
Tailscale и homelab

В декабре 2022 года я собрал свой homelab (рис 1) и записывал что покупал, что ставил, как настраивал (рис 2), думая что когда то это где то опубликую, но руки так и не дошли создать свой digital garden (аля https://nikiv.dev/) из obsidian, да и в целом упаковать все в удобный для понимания “проект” (и имхо многие вещи можно было бы сейчас переложить на terraform + ansible, но мотивация есть только на занятие продуктами)

Поэтому сегодня просто поделюсь актуалочкой про tailscale.

Какое то время он был недоступен для пользователей рф, а я его использовал для подключения к homelab из разных мест (фотки выкачать, к devcontainer’ам подключиться, менеджер паролей синкануть, селф хост решениями попользоваться и тд). Но вот прошло время и мне снова потребовался кейс с удаленным доступом к homelab и tailscale вновь работает, а я чуть детальнее сделал настройку.

Задача в этом случае у меня для homelab простая - я использую macOS и создаю аналог screen.studio для записи экрана с автозумом и редактированием, но пытаюсь сделать программу кроссплатформенной и мне для этого нужны VM’ки (сейчас windows; рис 3 и 4). В homelab стоит proxmox (рис 5), а в нем винда (с прокинутой видюшкой), которая иногда используется как game vm с playnite лаунчером (некоторые вечера были проведены с джойстиком в руках, т.к комп подключен по hdmi к телеку с прямым доступом к экрану винды)

Так вот, tailscale позволяет создать частную виртуальную сеть (VPN) и связать наши устройства.

Можно поставить tailscale на все устройства и vm’ки, а можно пойти более интересным путем:
- Поставить tailscale на основную тачку (с настройками как на рис 6)
- Поставить tailscale на proxmox и запустить его как маршрутизатор для subnet routes

tailscale up --advertise-routes=192.168.1.0/24

(после этого в admin console tailscale нужно апрувнуть эти маршруты для машины)

И получится так что вы сможете получать доступ к любым vm’кам представленным в proxmox используя внутренние ip proxmox’а

Чтобы увидеть routing tables (узнать к каким ip можно делать запросы и проверить ip’шники vm’ок):

netstat -rn
🔥21
В новом году хочется пожелать всем одной простой, но редкой вещи — идею, которая реально сработает.

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

Потому что одного усердия почти никогда не хватает.
Можно пахать годами — и топтаться на месте.
А можно попасть в правильное направление — и тот же объём усилий внезапно начинает давать кратный эффект.
Идея здесь работает как усилитель.

Но есть ещё более важный момент.
Чтобы тебе самому было не скучно этим жить.

Не «нравится, потому что платят», а по-настоящему цепляет.
Иначе всё ломается очень быстро:
ты зарабатываешь первые деньги — и вдруг понимаешь, что больше не хочешь этим заниматься.
А без интереса нет ни длинной дистанции, ни роста, ни удовольствия.

Поэтому бизнес (и проекты в целом) — это не про «терпеть ради денег».
Это про возможность делать то, что тебе близко, и зарабатывать достаточно, чтобы продолжать это делать.

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

Не так важно, где ты их ищешь.
Важно, чтобы они у тебя появлялись.

С Новым годом.
С новыми идеями 🥂
6
Pwnagotchi: привет из детства

Перед новым годом наткнулся на видео про pwnagotchi. Штука не новая — знал о ней давно, но руки не доходили. А тут внезапно появилось желание собрать и просто поиграться (воспоминания про aircrack лет 13 назад подогревали интерес).

Начал с поиска железа: Raspberry Pi Zero 2 W, e-ink экран, аккумулятор. И довольно быстро понял — ждать долго, а вкладываться в эксперимент, который может надоесть через пару вечеров, не хочется.

Зато в ящике лежал Raspberry Pi 4 из 2020 года — обязательный артефакт любого неугомонного айтишника. Решил использовать его: без дисплея и просто с power bank.

Образ быстро прожегся через Raspberry Pi Imager, но самое интересное началось потом — настройка сети на маке, доступ по SSH, конфигурация, web UI и Bluetooth-tethering, который неожиданно оказался одной из самых удачных частей всей конструкции: Raspberry цепляется к хотспоту телефона, pwnagotchi сам держит соединение, переживает обрывы и ходит в интернет. А я спокойно захожу в веб-интерфейс с телефона и вижу всё то же самое, что обычно выводится на e-ink дисплей.
Плюс установил плагины, которые добавляют функциональности. На все про все меньше часа.

Дальше началась практика:
• за первый же вечер — хэндшейки, не выходя из квартиры (плагином автоматическая выгрузка в wpa-sec для облачного брута) и несколько сетей действительно поддались;
• поездка к друзьям — ещё улов;
• бизнес-центр — рекорд по количеству точек (около сотни за раз, но только у части собрались полноценные хэндшэйки).

И вот что интересно: вся эта история не только про взлом, но и про любопытство и исследование. Про то же чувство, из-за которого когда-то покупались журналы «Хакер», читались мануалы и хотелось «понять, как оно работает».

Кажется, такие штуки — это еще и отличный способ показать детям, что IT — это не только учебники, фреймворки и митинги, а ещё и живой интерес, эксперименты и удовольствие от процесса.

Старые интересы никуда не делись. Просто теперь они запускаются с power bank’а.

(История нелегальна и является фантазией автора)
3
История про ещё одну железку и LLM’ки

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

А у меня с 2018 года пылится набор Arduino Uno (позже еще брал Arduino Nano, ESP8266, Raspberry PI 4B, Jetson Nano - теперь вы знаете как выглядит шопоголизм айтишника). Тогда все попытки закончились быстро: я так и не понял, как быть инженером-электронщиком и при этом ничего не спалить.

В этот раз подход был другой — через ChatGPT.

Я просто:
• сфоткал все свои запчасти,
• написал, что хочу собрать,
• и отправил это в чат.

В ответ получил:
• какие компоненты подойдут,
• как их соединять,
• код прожигаемый через Arduino IDE,
• с чего начать и в каком порядке идти.

И тут снова словил это чувство: мы реально живём в золотое время.

За час у меня уже получился рабочий прототип. Да, есть что улучшать:
• нужен CO₂-датчик уровня Birdie — Sensirion SCD40 (цена 10$),
• вместо шумной SG90 — нормальная бесшумная серва (до сих пор не понял, что у них используется),
• корпус — хочется напечатать на 3D-принтере (нашёл только один похожий проект, но модельки не зашли и нужно ещё много правок, в чем я не силен).

Параллельно возникла мысль:
а что если такие устройства можно было бы делать и продавать?
Birdie стоит ~200$, что, честно говоря, выглядит странно для девайса с логикой «поднять / опустить индикатор при превышении порога >10 минут».

Полез в Perplexity, начал искать патенты (у них на сайте упоминается patent pending — решил проверить). И да — патент реально есть, и он довольно точно описывает дизайн и функциональность. Так что делать прямого конкурента — идея сомнительная.

Но.

Самое важное открытие здесь даже не в железке и не в бизнесе.
А в том, что вещи, которые 7 лет назад казались для меня недоступными, сегодня решаются за час — через обычный диалог с LLM.

В разработке и быту я это ощущаю уже давно — ускорение заметное и знакомое.

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

Время ими пользоваться.
🔥42
В ютубе всё чаще появляются видео про offline AI на Raspberry Pi — от максимально слабых конфигураций (но не совсем offline) до последнего Raspberry 5 с отдельным акселератором под инференс.

Примеры:
• Raspberry Pi Zero 2W (openai ключ)
https://www.youtube.com/watch?v=Nwu2DruSuyI
• Raspberry Pi 5 + LLM8850 (offline)
https://www.youtube.com/watch?v=IuTD5OMaVVU

И это выглядит как начало очень интересного года для DIY-энтузиастов.

Модели всё меньше, железо доступнее, без облаков и подписок (а если хочется можно и канал к своему компу через tailscale).

Я давно жду момент, когда LLM станут таким же бытовым слоем, как роутер или NAS — тихо работающим в фоне дома.
Массово это ещё не доехало, но направление очевидно.

А пока — смотрим/собираем сами.
🔥2