galtran
Программа для учёта коммунальных платежей
Решил поделиться программой, которую сделал для себя, чтобы упорядочить учёт коммуналки. Показания счётчиков, тарифы, расчёты — написал небольшую программу на Python (собрал в exe). Ну как написал, сделал полностью с помощью нейросети. Заняло 5 дней запросов и корректировок, вышло около 6000 строк кода. Полный вайб-кодинг, первый опыт в этом направлении, делал больше ради интереса и нового опыта :-)
Что умеет программа
Несколько объектов недвижимости. Можно добавить квартиру, дачу, гараж — переключаться между ними в один клик.
Учёт по годам и месяцам. Для каждого объекта свои вкладки с годами, внутри таблица на 12 месяцев. Есть контекстное меню для быстрых операций.
Гибкий расчёт электроэнергии. Поддерживает два режима: единый тариф (TOTAL) и двухтарифный (T1/T2). Можно задать порог потребления (по умолчанию 150 кВт·ч) и тарифы «до» и «свыше».
Водоснабжение (ХВС и ГВС), газ, водоотведение — всё считается автоматически на основе разницы показаний.
Фиксированные платежи — квартплата, капремонт, вывоз мусора, интернет. Достаточно задать сумму, и она будет подставляться каждый месяц.
Пользовательские услуги. Можно добавить любые дополнительные платежи (например, охрана, домофон) и указать, в какие месяцы они действуют.
Фиксация месяцев. Когда данные за месяц введены и проверены, можно «зафиксировать» месяц. Тогда все суммы и тарифы на этот момент сохраняются, и даже если позже поменять тарифы, расчёт за этот месяц останется прежним. В таблице такие месяцы выделяются зелёным и помечаются замочком.
Графики. Встроен простой просмотр графиков: потребление ресурсов по месяцам, динамика итоговой суммы, структура платежей за год.
Экспорт в Excel. Можно выгрузить данные по одному или нескольким объектам. Каждый год выносится на отдельный лист, форматирование автоматическое, подписи понятные.
Заметки. Под таблицей есть поле для текстовых заметок (например, «поверка счётчика в марте»). Заметки привязаны к году и сохраняются автоматически.
Резервное копирование. Программа сама создаёт бэкапы данных (можно настроить интервал), перед критическими операциями тоже делает копию. Есть окно управления резервными копиями — можно посмотреть список, восстановиться, удалить старые.
Логирование. В папке программы хранятся логи — на случай, если что-то пойдёт не так, можно посмотреть ошибки.
Окно ввода показаний. Открывается при двойном клике на месяц. Показывает предыдущие показания, контролирует, чтобы новые не были меньше старых.
Редактор тарифов. Вкладки для электроэнергии, воды, газа, стандартных и пользовательских платежей. Если есть зафиксированные месяцы с электроэнергией или ГВС, соответствующие настройки блокируются.
Графики. Пример графика потребления электроэнергии по месяцам или круговой диаграммы структуры расходов за год.
Диалог экспорта в Excel. Выбор объектов для выгрузки, кнопка открыть папку с экспортированными файлами.
Управление резервными копиями. Список бэкапов с датами и размерами, кнопки создания, восстановления, удаления.
Программа написана на Python с использованием PyQt5 для интерфейса, openpyxl для экспорта в Excel, matplotlib для графиков. Для удобства я скомпилировал её в единый exe-файл (с помощью PyInstaller). Ничего дополнительно устанавливать не нужно — работает на Windows 7/10/11.
Данные хранятся в папке data рядом с программой (в подпапках объектов). Все файлы — в формате JSON, так что при желании можно посмотреть или отредактировать вручную.
Надеюсь, кому-то пригодится так же, как мне.
Ссылка на скачивание с DropBox
В архиве UtilityBilling.exe - сама программа, запускается без установки.
main. py - код на Python, кому интересно.
Папка _internal - библиотеки для работы программы.
Комбо на автомобильном кольце
Да сколько можно то уже? Столько раз уже было разобрано как правильно с кольца съезжать - и вот опять. Ещё и комбо :) Место действия - Ялтинское кольцо на въезде в Севастополь. Прошу прощения за грубости.
Чихнул и порвал гортань - а что, так можно было?
Я бы никогда не подумал, что такой естественный процесс, как обычный чих, может быть опасен. В воскресеье чихнул "в себя", сдержавшись, ощутил явный хруст в гортани, появилась боль в горле и захрипел голос. Вроде терпимо было, к врачу не обратился сразу. А в среду ночью проснулся от дикой боли в горле со всех сторон, глотать даже воду было нереально. Гортань отекла, дышать стало труднее и говорить я уже не мог, только шепотом. Итогом дня стал поход к терапевту в поликлинику, оттуда к ЛОРУ в больницу, оттуда направление в приёмник на обследования и госпитализация. Рентген, УЗИ, КТ - подтвердили травму гортани, хотя по первой врачи скептически отнеслись к моей предыстории и предполагали также аллергию и рыбьи кости, что вероятно случается чаще. Но все исследования подтвердили диагноз, мне сразу же сделали дренаж (разрезали и воткнули трубки) для вывода воздуха оттуда, куда он мог попасть из дырявой глотки и определили в палату. В общем и целом это заняло с 8 утра до 22 вечера. Сейчас вот 4-й наслаждаюсь свалившимся "отпуском".
Это я к чему - чихайте как следует, ребят, только прикрывайте рот, не надо сдерживаться :-)
CellSweeper - RPG-roguelike в Excel
Сегодня наткнулся на отличную игру - смесь RPG-roguelike и Сапера, сделанную в Excel.
В игре есть 6 классов героев со своими особенностями, а игровой процесс взят из Сапера. По ходу игры нам нужно открыть игровое поле, найти и наказать злого Некромансера, попутно натыкаясь на его приспешников.
Клетка с цифрой в игре означает суммарный уровень монстров в соседних с ней клетках, таким образом нужно открывать поле, избегая фатальной потери здоровья. Безнаказанно убить можно только монстров ниже уровнем, чем ваш. За нападение на монстра с таким же уровнем как у вас или выше - минус здоровье. Левел героя поднимается по ходу открытия игрового поля и проведения удачных боев.
В игре нельзя отметить клетку с потенциальным монстром, что лично для меня усложняет ориентацию, но похоже что так и должно быть (по крайней мере такой возможности я не нашел).
Как итог - отличная убивалка времени :-) Вся суть полностью описана в разделе "How to play".
Ссылка для загрузки: http://www.mediafire.com/download/j4jj2c366zx0kjs/Cellsweepe...
"Готовы" к первому снегу на дорогах, Севастополь
На очередном подъеме встали некоторые автобусы и троллейбусы, люди пошли на работу пешком:
Разве так это должно работать?! Позже на городском сайте прочитал, что по заявлениям департамента транспорта с 6:30 работало 14 единиц техники и высыпано 300-500 тонн веществ на дорогу. Если уж не на основном маршруте, то где же сыпать в первую очередь? Почему ДПС голыми руками сыплет землю под колеса? И почему нет куч песка на обочине для такой ситуации? Водители сами бы раскидали. Это называется у нас "готовность на 100%" от департамента транспорта и так из года в год. Кое-кто из моих сотрудников оставил машину на пол пути и пошел пешком. А кто-то добирался общественным транспортом около 3 часов (лентяи, пешком было бы быстрее :-). В общем каждый год бардак. Хотя не бардак - пиздец.













