@timoil94, включил первое видео, которое позволяет записать его. Хотел с Попкорна, но там запрет на захват экрана. А еще пикабу заставляет обрезать, соотношение сторон ему не нравится, видите ли... И качество пришлось ухудшить, тоже не загружалось.
Моё терпение в «ВК Знакомствах» лопнуло на 50-й анкете со списком требований «от 180 см, не курящая, не меркантильная». Я поняла: жизнь слишком коротка, чтобы листать это вручную.
Поэтому я написала автолайкер на Python. Программа не просто кликает — она анализирует текст через ИИ и распределяет кандидатов по типам. Я прогнала через него 300 анкет.
Результаты теста:
Пустые и Идиотские (24%) — лидеры хит-парада. Описания либо нет, либо там «работаю и отдыхаю».
Креативные (14.3 %) - интересное, оригинальное, нестандартное описание, которое выделяется на фоне остальных, показывает интеллект и творчество.
Банальные и Клише (9.7%) — те, кому «не хватит символов рассказать о себе». Если бот видит фразы «время покажет» или «простой, адекватный», он просто закрывает вкладку. Сорян, ребята, вы — шаблон.
С увлечениями (19.3%) — стандартный набор: рыбалка, спорт, путешествия. Это не плохо, но это как базовая комплектация Лады: едет, но не радует.
Хвалящие себя (8.3%) — «умный, красивый, с чувством юмора». Когда человек сам себе выписывает грамоту за адекватность, мой алгоритм начинает сомневаться.
Псевдофилософы (8.3%) — здесь живут цитаты про «любовь и смерть, которые сами тебя найдут». Скрипт распознает дешевую философию за версту.
Надменные / Список исключений (5.3%) — те, у кого в анкете больше слов «МИМО» и «НЕ», чем смысла. Программа вежливо выполняет их просьбу и проходит мимо.
Неудачная креативность (10.7%) — натужные шутки и метафоры. Тот случай, когда хотел быть «не таким как все», а стал категорией №8.
Итог: Дейтинг в 2026-м — это игра на выбывание. Из 300 анкет программа лайкнула всего 14.3% профилей (категория «Креативные»).
Мораль: Если вы думали, что это вы придирчивая/ый — нет, это просто статистика. Похоже, умение написать о себе три предложения без клише — это новый IQ-тест.
Всем привет! Я работаю техническим директором в небольшой IT-компании, и уже давно сам не писал код.
Но появились нейросети, и я не смог удержаться от запуска pet-проекта. Поставил Cursor и навайбкодил небольшого ИИ-астролога. Да-да, панамка для любителей клеймить лженауки готова, можете набрасывать)
строить общие транзиты ("вайб дня") и персональные транзиты с учетом вашей натальной карты,
проверять людей на совместимость (романтическую, деловую и дружескую).
1/3
Пример работы телеграм-бота
Всю функциональность можно потестить бесплатно, но в пределах лимитов, чтобы не разориться на токенах.
Я специально взял такую небизнесовую тему, в которой мне не придется конкурировать с серьезными компаниями, это всё-таки проект для души.
Стек и детали реализации
Калькулятор астрологических расчетов
Для начала сделал сервер астрологических расчетов на базе швейцарских эфемерид.
Под капотом Python с FastAPI. Хотел было срезать углы и взять что-то готовое, нашел kerykeion и ещё пару похожих проектов, но какое-то оно всё оказалось несерьезное, и я решил делать сам. Результат выложил на github (nocturna-calculations) и даже развернул на отдельном сервере (Nocturna Calculations Swagger). Кому нужен API ключ поиграться, пишите)
Генератор астрологических карт
Фронтенд решил делать на React, и быстро выяснил, что нарисовать пристойную натальную карту - это задача со звёздочкой для нейросетей.
Пришлось пилить отдельную библиотеку для визуализации натальных карт в SVG.
Для меня эталон отображения астрологической карты - это мобильное приложение Astrovizor, и я старался сделать что-то похожее. Хотя получилось и неидеально, но в целом я результатом остался доволен.
Закончив с библиотекой, я продолжил было делать веб-морду на React, но потом решил, что начать нужно с чего-то попроще и сделал телеграм-бота. Понятно, что для этого я тоже выбрал Python.
Тут оказалось, что отобразить натальную карту, нарисованную в React, не так просто. Можно было, конечно, портировать уже написанную библиотеку на Python и поддерживать две кодовые базы, но мне этот вариант не понравился.
Дальше я взялся за самого телеграм-бота. Через openrouter подключил LLM для интерпретации гороскопов, в качестве модели выбрал Claude Haiku 4.5. Добавил базовые команды для генерации натальной карты, транзиты. Потом подумал и перешел на кнопки, так получилось понятнее для пользователя.
Прикрутил оплату ради интереса, ну и чтобы не уйти в минус, если бот вдруг реально "выстрелит". Правда, никто из друзей, кому я показал своего бота, этой функцией не воспользовался, бесплатных 20 кредитов вполне хватает, чтобы потестить весь функционал.
Заморочился даже на рефералки, они начисляют по 10 дополнительных кредитов пригласившему и тому, кто пришел. Было интересно сразу сделать "по-взрослому", хотя на текущем этапе развития это и избыточно.
Развернул я всё это добро на небольшой виртуалке, причем для каждого компонента развернул отдельно staging для тестирования, и отдельно прод с blue-green схемой, чтобы накатывать обновления без даунтайма для пользователей. Это тоже оверхед для пет-проекта, но мне было интересно с этим разобраться, так как в DevOps я не очень-то шарю.
Что получилось, и что дальше
В итоге, несмотря на большое количество усилий, у меня получился довольно минималистичный бот.
Ещё я сделал, чтобы этот же бот каждый день постил текущую интерпретацию транзита в отдельный телеграм-канал nocturna_astroday. Там пока всего 6 подписчиков, и все они боты, кроме меня самого.
В дальнейших планах - сделать полноценный диалог с ИИ-астрологом, но это уже мультиагентная система с вызовом тулзов. Без реальных пользователей делать такое неинтересно, нужно сообщество, которое будет давать фидбэк.
Так что пишите в комменты, буду рад обратной связи. Тестируйте, ломайте, пишите баг-репорты. Можно репортить даже в самом боте (в разделе "Помощь" можно отправить мне ЛС через бота). Кому интересно поконтрибьютить - репы открыты.
Я задалась себе вопросом: а зачем сейчас, в эпоху искусственного интеллекта, изучать языки программирования?
Об этом порассуждаю ниже.
А пока подписывайся на мой канал На связи: SQL Там я публикую посты про особенности и нюансы SQL. Этот канал про то, как не бояться баз данных, понимать, что такое JOIN, GROUP BY и почему NULL ≠ 0. Его я веду с нуля подписчиков. Разбор задач со скользящим окном уже в канале. Присоединяйся!
И так
Сейчас нейросети могут создавать "много чего". Могут в принципе написать план создания отдельного государства. Я почти уверена, что каждый второй точно пользуется нейросетями для облегчения своей жизни. Почти каждая компания говорит о том, что выполнение рутинных задач будут замещены ИИ. Это и хорошо и плохо, как говорится, у любой стороны есть две медали. С одной стороны мы сможем освободившееся время выделить на что-то другое, а с другой стороны - это изменение в штатном расписании.
Так зачем же сейчас изучать SQL, если есть ИИ, который за нас может написать весь код, мы даже можем загрузить сырые данные и попросить проанализировать его, что это за данные, чтобы потом, при постановке задачи, учесть все нюансы в промте.
Рассмотрим следующий кейс:
Ты - аналитик, у тебя есть таблица с данными. Ты понимаешь бизнес: - знаешь, какие показатели нужны - знаешь как они считаются - знаешь, что такое выручка, конверсия, средний чек и т.д.
Ты открываешь ИИ и говоришь:
Вот данные. Напиши SQL-запрос, который посчитает эти метрики. Учти NULL, особенности данных и вот эти условия
Все перечислил, все вроде бы учел.
ИИ пишет запрос. Он выглядит красиво. Он даже выполняется. Цифры выводятся.
И вот здесь возникает главный вопрос: а что именно ты получил?
Ты дал данные, ИИ проанализировал, составил запрос, учел там формат даты, NULL и т.п., выдал результат. А как понять - можно ли верить этим данным? А почему получилось именно это число?
Т.е. появляется вопрос: а почему именно так?
Тут ты также можешь задавать вопросы нейросети и выяснять почему получились именно такие данные. Чтобы задавать такие вопросы знание SQL вообще не нужно. Нужно понимание полученных результатов. И все вопросы, которые ты задаешь - это бизнес-вопросы.
Нейросеть тебе на твои уточняющие вопросы дает комментарии и в этот момент, ты либо веришь полученным ответам, либо идешь проверять.
А чтобы проверить, тебе надо лезть в данные. И вот тут знания SQL тебе явно пригодятся. Ты можешь от ИИ получать на вопрос: "Почему выросла конверсия?", например, такие ответы: "Конверсия выросла из-за изменения структуры пользователей."
И что делать с таким ответом? В твоей голове аналитика сразу возникают следующие вопросы: - каких именно пользователей - с какого дня - по каким условиям - что было исключено из расчета
Ты и эти вопросы можешь задавать нейронке. Но без SQL ты можешь остаться на уровне объяснений, а не на уровне доказательств.
По факту:
SQL нужен не для того, чтобы:
писать сложные запросы
помнить синтаксис
быть «технарём»
SQL нужен, чтобы в любой момент сказать:
«Я могу сам(а) проверить».
Это ключевое.
Не написать с нуля. Не оптимизировать на миллионы строк. А проверить логику расчёта на уровне данных.
И еще одна особенность, если твои данные "большие", то ты не сможешь их все скормить нейронке, чтобы та проанализировала их на предмет выбросов и искажений. Тебе в любом случае придется самому проанализировать какие данные в твоем датасете, чтобы задать корректный промт для вычисления твоих показателей, чтобы твой итоговый запрос, который напишет нейронка, учитывал особенности твоих данных.
И тут ты возвращаешься к началу. Чтобы задать корректный промт для нейросети, ты должен сначала проанализировать данные, чтобы учесть все условия для вычисления показателей.
А чтобы проанализировать нужно самому написать SELECT-ы различного рода.
В моем канале На связи: SQL все простыми словами и с конкретными примерами.
Одна пикабушница (почти глухая) как-то пожаловалась мне, что не может посмотреть многие фильмы и сериалы просто потому, что на них нет субтитров. Вообще нет. И количество такого контента огромное: старые фильмы, любительские записи, авторское кино, документалки. Есть онлайн сервисы или видеоредакторы, но они либо платные, либо нужно совершить много кликов. Загрузить первый попавшийся фильм на ютуб для генерации субтитров особо не получится, прилетит блокировка на ролик.
Меня это сильно зацепило. Да и сам, если честно, страдаю от этой проблемы т.к слабослышащий. Особенно от актёров, которые экономят воздух и бубнят себе под нос.
И я подумал, а почему бы не сделать инструмент, который сам генерирует субтитры для любого видео в один клик?
Что получилось
Я создал Whisper Subtitles это веб-приложение, которое:
Автоматически распознаёт речь на 99 языках с помощью нейронки Whisper
Принимает видео с компьютера, по ссылке, или даже через торрент/магнет
Поддерживает все форматы: MKV, MP4, AVI, MOV итд
Генерирует субтитры в SRT формате
Вшивает субтитры прямо в файл как отдельную дорожку, на выходе mkv файл
Можно смотреть mkv видео прямо в браузере с субтитрами
Демонстрация как это работает с видео из компьютера/телефона. Размер субтитров настраивается в браузере/системе. Можно скачать видео и открыть vlc или в другом плеере.
Торрент если несколько серий, разные дорожки. Здесь показываю что можно выбрать нужные серии, 1ю серию выбрать русскую озвучку, на 2й оригинальную английскую
Остальные фото можно посмотреть на гитхабе, ссылка ниже.
Насколько это просто?
Открываете приложение в браузере
Выбираете файл или вставляете ссылку
Нажимаете кнопку
Ждёте
Скачиваете готовые субтитры или смотрите видео с ними онлайн
Всё. Никаких танцев с бубном, никаких командных строк, "установите Python версии 3.8.12 и библиотеку версии 2.3.1".
Про скорость
У меня приложение крутится на домашнем NAS Truenas Scale с процессором Intel N150 с 16гб ОЗУ. Скорость обработки чуть быстрее реального времени на модели Large V3 INT 8:
11 минутный ролик ~8 минут
1.5 часовой фильм ~65 минут
Да, это не мгновенно, но можно поставить на ночь фильм/сериал и утром получить готовые субтитры. На более мощном железе будет значительно быстрее. Оптимизацию сделал только на процессоры intel.
В настройках можно выбрать тип модели:
Установка
Нужен только Docker. Как это сделать на Windows я не знаю, погуглите как поставить git и докер. Для маков оптимизировать не стал т.к у них уже есть софт для субтитров реальном времени без инета и для arm нужные особые библиотеки.
Автоматизация Excel в Python выглядит просто — пока вы не попробуете использовать её в реальном проекте. Вы успешно генерируете файлы, но затем возникают проблемы:
ширина столбцов не соответствует отображению Excel
формулы ведут себя по-другому
форматирование исчезает после конвертации
производительность падает при увеличении размера файлов
На этом этапе вопрос уже не в том, "Как мне создать файл Excel в Python?" Он становится "Какую библиотеку мне следует использовать?" В этой статье сравниваются OpenPyXL, Pandas и Spire.XLS с практической точки зрения автоматизации Excel, акцентируя внимание на том, каково их использование, какие проблемы они хорошо решают и где каждая из них начинает давать сбой.
Обзор трех библиотек
На высоком уровне эти инструменты нацелены на разные нужды:
Pandas → Обработка данных в первую очередь, Excel как выходной формат
OpenPyXL → Низкоуровневое управление файлами Excel
Этот фрагмент подчеркивает ключевую характеристику Pandas: форматирование Excel возможно, но оно не является родным. Вы по-прежнему думаете в терминах DataFrame, а не документов Excel.
Когда Pandas — правильный выбор:
Excel — это просто формат доставки
Отчеты в основном табличные
Требования к форматированию минимальны
OpenPyXL: Точный контроль, большая сложность
OpenPyXL работает непосредственно с файлами .xlsx и детализирует структуру Excel.
Сильные стороны:
Полный доступ к ячейкам, листам и стилям
Нет внешней зависимости от Excel
Тонкий контроль
Недостатки:
Бурный код для общих задач
Ручное управление макетом
Проблемы с производительностью при больших файлах
Вот типичный пример OpenPyXL, который создает отформатированный файл Excel:
Этот фрагмент иллюстрирует, как Spire.XLS работает с концепциями Excel напрямую — диапазоны, стили и макет обрабатываются на более высоком уровне, что снижает количество ручного кода.
Компромиссы:
Коммерческая лицензия
Больший набор функций, чем у легковесных библиотек
Для производственных систем эти компромиссы часто приемлемы.
Сводка сравнения функций
Выбор правильного инструмента на практике
Используйте Pandas, когда Excel является выходным форматом
Используйте OpenPyXL, когда вам нужен низкоуровневый контроль
Используйте Spire.XLS, когда Excel является конечным продуктом
Во многих реальных проектах наилучший подход — это гибридный подход:
Pandas для подготовки данных
Spire.XLS для форматирования, макета и доставки
Заключительные мысли
Не существует универсальной "лучшей" библиотеки Excel в Python. Существует только правильный инструмент для выполнения задачи. Правильный выбор на раннем этапе может сэкономить значительное время на рефакторинг — особенно когда форматирование, конвертация или масштаб важны.
Имеется в хозяйстве NIIMBOT D11_H. И сейчас мы будем на нем экономить
Скрипт для печати с ПК серии этикеток на принтере NIIMBOT
Отличная машинка, кстати. Компактная, аккуратная, печатает прилично. Неплохой вариант, чтобы что-нибудь внезапно и на достойном уровне стикернуть.
На объекте со смартфона набрал, распечатал приклеил. И на этом как бы всё. Больше принтер в наших электрических делах использовать никак нельзя. Но мы попробуем.
Расширенный, читай, чуть отличный от базового минимума, то есть почти весь, функционал по подписке, еще и печатать с компа нельзя.
Стоит сразу отметить, что существует прекрасный сервис NIIMBLUE делающий доступной такую печать, но он нам тоже не подходит.
А делать мы будем вот что: размещать на одном стикере сразу два.
Увы, для NIIMBOT не существует самой маленькой и самой нужной нам ленты — прямоугольника или квадрата миллиметров на 15.
А есть: подарочная лента из комплекта, она же самая популярная — 40×12 мм. Самая короткая из тех, что предлагают— 30×12 мм
Цену расходников нельзя назвать приятной и использовать их рационально производитель, мягко говоря, не предлагает. Премиум подписку предлагает, а это – нет.
И это еще один аргумент в пользу решения.
Родное приложение Niimbot считает, что одна длинная наклейка = один месседж во вселенную.
Это на Android.
На ПК, повторюсь, оно вообще считает, что ты недостаточно заплатил, чтобы печатать на своём же NIIMBOT D11 со своего же компьютера.
Есть мнение, что это неправильно.
И люди, написавшие библиотеку, на которой всё это работает (и NIIMBLUE в том числе), судя по всему, его полностью разделяют.
И по большому счету благодаря именно этим энтузиастам и появился наш ниимбический скрипт — небольшая утилита для Niimbot D11 / D110, которая печатает два числа валетом на одной этикетке.
Печатаешь, разрезаешь пополам, получаешь две нормальные наклейки. С компа.
NIIMBOT D11 печатает этикетки с компьютера
Полезного функционала принтеру сразу же прибавляется. Так бы он валялся от случая к случаю, а тут и подзарядится, и поработает и пользу принесет.
Для чего?
Чтобы пронумеровать автоматы, наклеив номера прямо на корпуса.
Почему валетом?
Чтобы после отреза край, где ты решительно, но криво чикнул ножницами, всегда оказывался с одной стороны. И внутренний перфекционист был спокоен.
Как это реализуется:
• Берётся стандартная длинная этикетка 40 мм
• Делится пополам, сразу рисуется линия разреза
• На каждой половине печатается свой номер
• Номера идут парами:
1 | 2, 3 | 4, 5 | 6 и так далее
И всё это:
• с компьютера или ноутбука
• серийно
• нажатием буквально пары-тройки клавиш
Было 160 этикеток в рулоне. Стало 320.
Принтер в лёгком недоумении.
Китайский сумрачный гений недополучить миска рис и кошкожена.
Ниимбич умеет:
• выполнять поиск принтера
Не нужно знать, что такое COM-порт и почему их семнадцать.
Скрипт сам найдёт принтер. Иногда даже с первого раза. Главное — USB.
• Уже откалиброванные настройки
Под ленту 40×12 мм. Можно смело править niimbich.py если что-то не так. Тело скрипта заботливо прокомментировано
Как установить всё это благолепие даже если у тебя лапки:
1. Python
Без него никуда.
Быстрый способ: Нажми Win + R, введи в поле cmd, туда вставь:
Данный пост рассказывает о моём первом опыте вайб-кодинга.
Old File Delete (OFD) — это легкая и эффективная утилита, разработанная для тех, кто ценит минимализм и порядок. Приложение помогает мгновенно очистить выбранные папки от накопившегося цифрового мусора.
Написано на Python, библиотека Tkinter.
Само приложение состоит из 1 экрана:
Написано с помощью GPT-5-mini. Использовались всего 5 запросов, моих правок абсолютно нет:
Сделай приложение Old File Delete. Используй следующее описание:
Приложение сканирует папку и удаляет файлы, которые не изменялись более $N$ дней.
• os: Основная библиотека для работы с операционной системой. Используется для листинга файлов в директории (os.listdir) и их удаления (os.remove).
• pathlib: Современный интерфейс для работы с путями. Позволяет легко получить время последнего изменения файла (path.stat().st_mtime) и удобно манипулировать путями независимо от формата Windows.
• tkinter.filedialog: Часть стандартной библиотеки GUI. Нужна для вызова стандартного окна Windows, чтобы пользователь мог выбрать папку для очистки, а не вводить путь вручную.
Работаешь на питоне. Библиотека ткинтер. Вверху главного окна название, справа от него кнопка настроек.
Далее кнопка выбора папки, которую надо проверить. Далее текстовое поле для ввода времени в днях. Далее кнопка очистить. После очистки создаётся маленькое окошко, в котором написано, что все ок. В настройках возможность настройти язык. В самом начале работы читается файд "language.txt". В нём только 1 число. Если 1 то язык английский, если 2 то русский.
Убери из этого приложения настройки. Переделай все в бело-серые тона. Фон белый-очень светлый серый. Текст на фоне средне серый. Кнопка средне серый. Текст на кнопке очень светлый серый. фон окошка для числа дней также как и фон, только чуть светлее. Текст такой же. Название по центру. Снизу убери лишнее пространство
Язык только английский
Сделай текст больше до 24. Ужми побокам
Ширина 350
Можете скачать и протестировать его. Буду благодарен за конструктивную критику и идеи.