Лучший гаджет для домаКогда-то коллега притащил в офис CO2 датчик. Он быстро его убрал – видимо испугался значений, которые были в опенспейсе. Но с тех пор у меня дома он стоит всегда.Зачем нужен? CO2 датчик – небольшая коробочка, которая в режиме реального времени показывает количество углекислого газа в помещении.А зачем мне его замерять?Углекислый газ это то, что мы с вами постоянно выдыхаем. В какой-то момент его становится больше нормы (если не проветривать комнату) и отсюда получаются боли в голове, ощущение духоты, сонливость, снижение внимания и прочие штуки.И самое хитрое в нем – мы не видим его визуально. Только начинаем ощущать последствия от переизбытка. Именно поэтому нужен датчик. Как только вижу, что значения пошли вверх – открываю окно. Да, летом это не особо актуально, ибо окно открыто всегда (по крайней мере у меня). Но вот зимой это прям мастхев. Ну или в офисе поставить, где всегда куча народу в комнате.C момента как у меня появился датчик, я даже, как будто, обрел способность ощущать повышенный CO2 где-то вне дома (ибо привык к свежему воздуху).Короче, штука полезная и недорогая. Можно на любом маркетплейсе заказать. А еще это клевая идея для подарка где-то на корпоратах вместо очередного повербанка.@dlents
Даниэль Ленц - блог
@dlents · 4.0K подписчиков
Посты канала Даниэль Ленц - блог в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.
С 18 лет работаю фронтенд разработчиком. Тут про веб, мою жизнь и рабочие приколы.Сейчас в Яндексе.По рекламе и другим предложениям:@lentsd
Посты канала
Ускоряем телеграм без впн Пользоваться полноценно телеграмм напрямую стало сложно, а держать включенным впн постоянно не удобно – половина внутренних сервисов или плохо работает с ними или вообще не работает. Но благо телега, «успешно» заблокированная в 2018 году, встроила возможность проксирования трафика внутри вашего клиента. Сразу скажу – пользоваться публичными прокси, которые будут распространяться через ботов и подборки вариант не очень. Они часто отваливаются и просят подписки на каналы. Проверено в 18 году на личном опыте. Но благо все тут умные программисты и опытные пользователи нейронок, так что лучшее, что вы можете сделать на выходных для себя и близких, это поднять личный прокси на своем сервере.Сервер покупаете с российским IP на любом хостинге, где будет дешевле. Я шел по этому гайду https://habr.com/ru/articles/994934Поднял за 15 минут, работает неплохо. Возможно, уже есть что-то более актуальное, но суть вы поняли. @dlents
CSS костыль, про который вы не знали Знакома ли вам такая конструкция? .some_selector[class]Что делает [class]? Ну давайте по порядку. У нас есть атрибутные селекторы в CSS, которые пишутся в скобках. Например .selector[type=“text”]. И в качестве атрибута элемента можно взять class:.selector[class~="another_class"] что значит «собери все элементы с классом selector и с атрибутом класс со значением another_class».А теперь внимание за руками. Мы просто оставляем пустой атрибутный селектор class и получаем .selector[class], что значит «выбери все элементы с классом selector и с атрибутом class». Вы спросите, а что это дает? В чем разница? А разница в специфичности селекторов. .some_selector → 0,1,0[class] → тоже 0,1,0.some_selector[class] → 0,2,0Вот вам и грязный хак, как без important поднять вес селектора. Но конечно это ужасный костыль и лучше прибегнуть к другим способам поднятия веса селектора, иначе потом в какой-то день вы найдете в коде [class][class][class][class] как на фото в посте. Ну и да, запись через точку .selector это просто сахар для [class~="selector"]. Знали про грязный хак? 🔥 - не знал 👀 - знал@dlents
Ещё по теме «Технологии»
ТехнологииГоспода эксперты. Если сотрудникам компании похер на сообщения через LinkedIn. HR специалист компании вообще не заинтересован в том что у компании есть утечка кастомеров с именами, email и телефонами. Региональный CERT не смог так же уведомить их и принудить к исправлению системы. Что дальше? Gdpr репорт в региональное управления?
⌚️Seiko UC-2000, умные часы из 1984 года.• Представьте себе умные часы, но из 1984 года. Звучит как что-то прямо из научно-фантастического фильма, ведь 80-е годы прошлого века не славятся большими достижениями в области персональных компьютеров. Но это реальность, и это именно то, что было создано компанией Seiko в те времена и было известно как UC-2000 — «персональный информационный процессор», который можно носить на запястье (на фото). Как и следовало ожидать, это было новое устройство, которое было выпущено по цене 300 долларов (это что-то около 900 долларов сегодня с учётом инфляции).• Часы выглядят как компьютер и работают почти как компьютер, хотя технически их нельзя назвать компьютером, пока вы не подключите к ним внешнюю клавиатуру, которая добавит им соответствующую функциональность.• Устройство состояло из двух частей: часов и клавиатурной док-станции. Циферблат Seiko UC-2000 представляет собой жидкокристаллический матричный дисплей с чёрным ободком, а корпус — серый металлик, сочетающийся с браслетом из нержавеющей стали. В нижней части расположены четыре кнопки, окрашенные в оранжевый цвет на внешних концах и серый в середине, которые заменяют заводную головку в качестве механизма настройки. Внешне он невероятно похож на современные смарт-часы.• Когда часы устанавливаются на док-станцию, они превращаются в совершенно гиковскую машину, которая стала бы настоящим украшением витрины коллекционера техники. Это QWERTY-клавиатура с дополнительными кнопками для переключения языка и доступа к различным функциям. С левой стороны находится квадратный вырез, в котором располагаются часы, взаимодействующие с клавиатурой посредством электромагнитов.• Клавиатура достаточно большая, чтобы поместиться в кармане, но не настолько, чтобы носить её на запястье вместе с часами. На самом деле она выглядит комично большой, если носить её в таком виде, но если бы клавиатура была меньше, на ней было бы очень трудно печатать.• Часы показывают время и дату, могут работать как секундомер, а также как будильник, как и большинство других цифровых часов того времени. Но в сочетании с клавиатурой UC-2100 они превращаются в «Информационную систему на запястье», которая может хранить заметки, вести расписание встреч и работать как калькулятор. Вы можете сохранить до 2 заметок по 1000 символов каждая, отсюда и название модели UC-2000. Представляете, какие ограничения были в то время? Целых 2 заметки!!!• А еще была док-станция UC-2200, которая поставляется с принтером (на фото) с катушечной подачей, на случай, если вам понадобится что-то напечатать в дороге. Как вам такие высокие технологии? Так то...➡️ https://www.namokimods.com/smartwatch-from-1984#Разное
Pinterest для AI-картинок. С готовыми промптами. БесплатноНашел meigen.ai.Листаешь как Pinterest. Под каждой картинкой – промпт и название модели. Хочешь такую же себе? Копируешь промпт, вставляешь в свою нейронку, получаешь похожую.Для каруселей, постов, мудбордов – норм находка!https://www.meigen.ai/max tors | контент-движок 🤖
И вот что получилось с гардеробом Эмилии - закинула в чат вещи, которые есть и которые нравятся, попросила составить 20 образов и потом отдельно сделать коллаж и список вещей. Закидывала скрины с ценами, поэтому в конце еще попросила посчитать бюджет.На данный момент это самый быстрый и удобный способ планирования детского гардероба, который я попробовала. Раньше я все это делала руками в презентации, считала сама, планировала образы на разную погоду. Теперь это сделал чат, убрал лишнее, просчитал образы и еще нарисовал это все.До чего техника дошла!
Готовые AI-решения для трейдинга и инвестирования🧑💻 1. Бесплатный nansen - OpenBB2. Замена bloomberg - TradingAgents3. Финансовый аналитик от Майкрософт - QLIBВ топ10 по звездам на гитхаб (кстати, их накручивают) в финансовой тематике также попали агенты ресерчеры, поисковики, агент по тех.анализу и тд.Чтобы поставить себе такого - отправляете ссылку на гитхаб репо своему codex/claudecode и просите запустить локально/на сервере.
Нашла тут забавный промт для создания символической заставки на телефон в стиле карт таро. Вот что мне выдал GPT. Промт ⤵️Создай несуществующую карту таро на основе того, что ты знаешь обо мне, я х по гороскопу, мне х лет, в классическом стиле Райдера-Уэйта. Изобрази меня как нарисованную от руки фигуру смелыми, но несовершенными черными чернильными линиями с легкой дрожью и вариативностью, в плоских цветах без теней. Добавь вокруг фигуры тонкие визуальные элементы таро.Добавь текстуру бумаги и эффект печати.Внизу трактовка картыЧто означаетФормат 9:16Если у вас есть собаки или кошки - можно их включить в описание + добавить свое фото и фото животных 🐾Если вы с gpt плотно не общаетесь, то может написать кем работаете, хобби и интересы.Делитесь в комментах вашими картинками 😜
👩💻 Spring совет: таймауты RestTemplate лучше настраивать централизованноЕсли в проекте много REST-запросов через RestTemplate, не разбрасывай таймауты по коду.✅ Правильнее сделать конфигурацию через RestTemplateBuilder:- один общий RestTemplate с дефолтными timeout- плюс отдельные клиенты под “медленные” сервисы (через @Qualifier)Так у тебя:- единая точка настройки- меньше багов в проде из-за “вечных” запросов- проще дебажить и менять параметры💡 Особенно полезно в микросервисах, где внешние сервисы могут подвисать.Подписывайся на наш канал в Mакс 🟪
[1/3] System Design. Подготовка к сложному интервью по GenAI (Рубрика #SystemDesign)Изучил интересную книгу для подготовки к интервью по System Design, но уже в новой реальности, когда проектировать надо не только базы, очереди, кэши и микросервисы, но и системы вокруг LLM, diffusion models, RAG, мультимодальных моделей и AI-powered продуктов. Это русское издание книги "Generative AI System Design Interview" из экосистемы ByteByteGo. Авторы - Али Аминиан и Хао Шенг. Али Аминиан уже известен по книге про ML System Design Interview, а здесь фокус смещается с классических ML-систем вроде поиска и рекомендаций на генеративный AI: чатботы, генерацию текста, изображений, видео, RAG и персонализированные AI-сценарии.В обычном System Design Interview кандидат часто рисует распределенную систему: API, балансировщики, базы данных, очереди, кэши, фоновые джобы, мониторинг. В GenAI-интервью все это остается, но появляется еще один слой сложности:- Какие данные нужны;- Какую модель выбрать;- Нужен ли RAG или fine-tuning;- Как измерять качество генерации;- Как бороться с hallucinations;- Как учитывать latency и стоимость инференса;- Как встроить safety-фильтры;- Как собирать feedback loop;- Как мониторить деградацию системы после запуска.Именно поэтому книга полезна не только ML-инженерам. Она хорошо ложится и на backend engineers, и на архитекторов, и на технических руководителей, которым сейчас приходится проектировать AI-фичи не как демо на API, а как часть production-системы.Внутри книги заявлены три главные вещи:1️⃣ Фреймворк из 7 шагов для GenAI System DesignАвторы предлагают не начинать сразу с "берем LLM и векторную базу данных", а последовательно пройти путь от требований до деплоя и мониторинга в проде. Это сильно дисциплинирует мышление, потому что в GenAI-задачах легко перепрыгнуть к модной технологии и забыть про реальные ограничения продукта.2️⃣ 10 практических задач с подробными решениямиСреди кейсов есть следующие: Gmail Smart Compose, Google Translate, ChatGPT-like personal assistant, Image Captioning, Retrieval-Augmented Generation, Realistic Face Generation, High-Resolution Image Synthesis, Text-to-Image Generation, Personalized Headshot Generation и Text-to-Video Generation. Этот набор покрывает разные сценарии и сильно шире, чем просто прикрутить трансформер к чат-боту:)3️⃣ Много диаграмм и end-to-end разборовДля System Design это особенно важно. Хороший ответ на интервью - это не только "какую модель выбрать", но и то, как выглядит система вокруг модели: preprocessing, retrieval, prompt builder, inference service, post-processing, safety layer, logging, monitoring, feedback loop. Мне кажется, главная ценность книги в том, что она показывает: "GenAI-система - это не модель в вакууме".В общем, модель - это конечно ядро, но вокруг него есть данные, права доступа, индексы, промпты, ранжирование, guardrails, UX, стоимость, GPU-инфраструктура, A/B-тесты, метрики качества и эксплуатационные ограничения. И если все это не проектировать осознанно, то на выходе получается не production-система, а красивый прототип с непредсказуемым поведением.Книга полезна как способ обновить представление о System Design в эпоху AI, ведь раньше мы проектировали в основном детерминированный софт: запрос пришел, сервис обработал, база ответила, результат вернулся. Теперь все чаще приходится проектировать системы с вероятностным поведением: модель может ответить хорошо, средне, неверно, опасно, дорого или слишком медленно. Поэтому архитектура должна включать не только масштабирование и отказоустойчивость, но и evaluation, safety, feedback и постоянный контур улучшения.В продолжении более подробный разбор фреймворка в 7 шагов от авторов книги.#SystemDesign #AI #GenAI #Architecture #Engineering #ML #Interview #Software
Все говорят про ИИ-агентов, но мало кто объясняет, что это значит для бизнеса конкретно. Попробую без терминов. А в конце еще расскажу про своих.ИИ-инструмент это когда вы пишете запрос, получаете ответ. Спросили, ответил, разошлись. ChatGPT прошлой версии, Алиса, Gemini когда вы заходите в чат и просите.ИИ-агент это когда вы ставите задачу, а он сам придумывает шаги, сам их делает и приносит вам готовый результат. Не отвечает, а выполняет. Сравните с разницей между "человек, у которого вы консультируетесь" и "сотрудник, которому вы поручаете".Чтобы было понятнее, на пальцах. Вот три задачи, которые агент делает без вас:1️⃣ - Поиск + анализ + документ. Я говорю: "найди три российских компании, которые внедрили ИИ-ассистента в продажах за последние полгода, выпиши их кейсы, оформи в одностраничник для моей команды". Через 10 минут у меня этот одностраничник в почте. 2️⃣ - Мониторинг + уведомление. Один раз настраиваю: следи за упоминаниями нашей компании в российских телеграм-каналах больше тысячи подписчиков, пиши мне в чат краткую сводку каждое утро. Дальше работает само.3️⃣ - Встреча + резюме + рассылка. Агент подключается к Zoom, слушает, делает протокол, отправляет всем участникам. Ничего не нажимаю, ничего не загружаю. Просто пришло письмо.И в этом, кажется, и есть та неуловимая разница, которую сложно объяснить, пока сам не попробовал. Когда часть задач уходит в фон и возвращается готовой, у вас высвобождается не "час в день", а другое мышление. Освобождается слой, на котором вы раньше тратили внимание на координацию, передачу, проверку.Что бы я предложила сделать с понедельника: возьмите свой типичный рабочий день и подсветите три задачи, которые ну точно не требуют вашего ума. Это и есть ваши кандидаты на агента.Из моих:1. синхрон с календарем и задачами (просто могу написать, что через месяц мне нужно на маникюр и он предложит свободный слот по моим правилам, сам поставит и напомнит)2. генерация контента (нет, ИИ за меня не пишет, НО - он шерстит топ 15 каналов в теме, новостные сводки и официальные соцсети инструментов, генерит мне 10-20 тем, из которых я уже выбираю о чем писать, готовит черновики, которые я дожимаю уже со своими идеями, кейсами) - также и по Youtube уже. 3. лиды для продаж (поиск контактов, формирование индвидуальных писем на стыке нас, человека и компании) - тут целый процесс, как нибудь поделюсь прям кейсом настройки. ... дальше можно приводить еще примеры, но даже это уже существенные задачи.А вы про ИИ-агентов уже думаете в практической плоскости или это пока ощущается как "слово из новостей"?
⚙️ Одна функция вместо десяти команд✔️Каждый раз, когда нужно распаковать архив, начинается одно и то же. Это tar.gz или tar.bz2? Какие там флаги у unrar? А 7z вообще как запускается? Приходится лезть в документацию или историю команд. Самописная функция extract() решает именно эту проблему.▶️Скопируйте функцию в ~/.bashrc или ~/.zshrc:extract() { if [ -f "$1" ]; then case "$1" in *.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;; *.tbz2) tar xjf "$1" ;; *.tgz) tar xzf "$1" ;; *.zip) unzip "$1" ;; *.7z) 7z x "$1" ;; *) echo "unknown archive" ;; esac fi}▶️Потом применяете изменения:source ~/.bashrc▶️Функция определяет тип архива по расширению файла и сама выбирает нужную команду. Вы просто пишете extract имя_файла и получаете распакованное содержимое. Без флагов, без гугления, без ошибок из-за опечатки в параметрах.▶️Поддерживаемые форматы: tar.gz, tar.bz2, bz2, rar, gz, tar, tbz2, tgz, zip, 7z.▶️Один синтаксис для любого формата. Если файл не распознан, функция скажет unknown archive вместо того, чтобы молча упасть.➡️ Что можно добавить:▶️Базовая версия уже полезна, но её можно немного доработать. Например, добавить проверку, что нужная утилита вообще установлена, или выводить имя команды перед запуском. Вот расширенный вариант:extract() { if [ ! -f "$1" ]; then echo "'$1' не найден" return 1 fi case "$1" in *.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;; *.tbz2) tar xjf "$1" ;; *.tgz) tar xzf "$1" ;; *.zip) unzip "$1" ;; *.7z) 7z x "$1" ;; *) echo "Формат не поддерживается: '$1'" ; return 1 ;; esac}🖼️ Ссылка на источник🔨 bash_help