June 16, 2025
Devlog #12:
I finally wrapped everything up! The documentation is done, the package is published on PyPI, and the next step is setting up a small demo website with links to everything – docs, PyPI, GitHub, etc.
In the end, Requirement Loader turned out to be a really solid project. I think not only I, but a lot of other developers could find it useful – whether for new projects or integrating it into existing ones.
There are actually so many features and config options now that it's hard to list them all. But here’s a quick overview:
- Automatically loads requirements.txt from a local or online source
- Supports things like authentication headers, proxies, and more
Flexible update options:
- Update on startup
- Background auto-updates
- Manual updates
- And more...
Time to take a breather – it was a lot of work, but totally worth it!
GitHub: https://github.com/Ivole32/requirement-loader
PyPi: https://pypi.org/project/requirement-loader/
Demo Website: https://ivole32.github.io/requirement_loader.html
Devlog #11:
I said I wanted to implement proper tests, but it's a bit tricky because of the reload feature. So for now, I'll test everything manually. After that, I'll write the documentation and publish this as a pip package.
Devlog #10:
So, I think everything should be working as intended now. But just to be sure, I'll write a proper test script to check all functionalities.
Devlog #9:
You all know I was freaking out about the logic errors in my code (well, just one really). I've been working on this, especially the part where the manual update function didn’t seem to work correctly. Turns out, I simply forgot to run the function a second time, which made me think it only worked once before being blocked by some mysterious logic... I spen TWO hours to find out that I simply forgot to write i = 0.
Devlog #8:
It’s finally time to ship this project.
In the past 30 minutes, I wrote the documentation and updated the README file.
This final version includes the following features:
-View detailed system specifications including GPU, CPU, RAM, storage, driver version, and OS version
- Monitor running processes with the ability to sort, search, and filter them
- Terminate or kill processes directly from the interface
- Copy complete system information to the clipboard with a single click
- Cross-platform support for both Windows and Linux
- Clean and user-friendly interface designed for support and diagnostics tasks
Devlog #1:
First, I forked the old repository from the organization my friend and I had created. Then I reviewed the codebase to get an overview of its functionality and structure. After that, I updated the project to use customtkinter instead of tkinter. There are still some bugs to fix and features to implement. But more on that in the next devlogs.
Devlog #8:
I added support for dynamically changing the source of the requirements file. But honestly, I'm freaking out a bit over all the logic errors in my project. There are so many arguments influencing each other, it's getting hard to keep track. I think it's time to make a proper flowchart and start debugging from there.
Devlog #7:
I’ve implemented the autoreload feature. Basically, if you enable it, the program packages will be automatically updated and your program will be reloaded. If the update is too complex or you prefer to handle it manually, there’s also a function for manual updating and optional reloading. You can also enable an update when the program is launched.
There’s still some work to do: I need to test different configuration combinations for bugs, write the documentation, replace the hardcoded variables with configurable ones, add support for venvs and clean up the code a bit.
Devlog #6:
I've been working on the autoreload feature for over two hours now. I ran into issues with the update thread and file reading/writing, but I think I’ll be able to implement it soon. I also added an option to set the update thread to silent mode, as well as a value to configure the update interval during class initialization.
Devlog #5:
I started to worke on the thread based update process and I will have to work on it tomorrow again.
Devlog #4:
I’ve made the project importable so anyone can add it to their own setup. Unfortunately, I can’t (and won’t) provide a demo yet, as the project isn’t ready for that. As I mentioned in Devlog #2, I’ll now focus on developing the autoreload feature.
Devlog #3:
Before I start working on the autoreload feature, I’ll make the project importable and take some time to rethink the project structure.
Devlog #2:
As I mentioned, I worked on making the requirements fetching more customizable. It now supports GitHub web interface links in addition to raw GitHub links, and it also supports local files. I'll start to work on the autoreload feature.
Devlog #1:
This is my new project because I believe it can make every sysadmin's life easier. I started by setting up a pip package and implemented basic functionality to fetch a README from GitHub and install the associated package. Now, I'm working on making the requirements fetching more customizable.
When working on production servers, there is a risk that a zero-day vulnerability may be discovered in one of the packages listed in the requirements.txt file. With Requirement Loader, you can update the requirements file hosted online (e.g., on GitHub), and it will automatically download and install the updated dependencies. It can then either restart the application immediately or, if the update is too complex, defer the update until the next scheduled restart.
A PC information tool for Linux and Windows that lets you view complete system details and copy them to the clipboard with a single click. It is ideal for quickly sharing diagnostics with a support team. The tool also features an integrated process monitor where you can sort, search, filter and terminate running processes directly. (I started this project with my friend last year and finsished it now)
Devlog #3:
I started to work on the user management. I started to write a class that handels the database and added a route: /api/user/create.
Devlog #2:
In the last time I made the documentation work. The problem was, that the routing to the files was wrong which was a bit complicated to fix because proxy and api server load different routes so I had to work with the referer header. I also made that the /api/status endpoint works now. I also translated the whole project in english so everybody can understand the text. No now I can focus on the functionallity and the web design.
My project was rejected because I didn’t provide a proper pip/pipx package for users to install. So I spent way too much time creating one.
Here it is on PyPI: https://pypi.org/project/Gambling-Simulator/
Important: Make sure to use pipx instead of pip to install it.
Just run:
pipx install gambling-simulator
Then simply run gambling-simulator in your terminal.
Devlog #1:
In the first few hours, I set up an API server and a web server, connected through a proxy to route traffic to the correct backend.
I also started designing the web server's landing page (with some help from AI).
On the API side, I implemented a test endpoint and a rate limiter.
Currently, I'm facing an issue with the /api/docs route not working due to incorrect routing or URL handling.
Status Monitor is a flexible monitoring tool for services and systems. It features a clear web dashboard and a structured API, making it easy to track the real-time status of servers, applications, or custom services in one central place.
I added an execuatble because for some reason the reviewer wanted me to add one.
I’ve just finished adding the complete documentation and am now ready for the first release!
You can share your feedback by opening an issue at https://github.com/Ivole32/gambling-simulator/issues
or by sending me a direct message on Slack (@ivole32).
In my latest commit, I implemented dynamic window sizing based on screen resolution to ensure consistent appearance across devices. I now have to write the documentation before I can ship this project.
It doesn't work under Ubuntu either. I don't have the strength to fix it now.
spend much time to improve the code structure with multiple files for better understanding etc. I also started to experiment with the system load feature, which is a bit complex because I can only load the average value for 1min, 5min and 15 min so I have to track any other average value by my own.
Since the last devlog, I’ve made significant progress. I added functionality to delete your own account, or other accounts if you're an admin. I also improved the documentation at the /docs endpoint. Here's a quick overview:
- Added a short description explaining the functionality of each endpoint
- Added an overview of all possible return codes and their meanings
So I think I made big progress in user management so I can work on the real functionality of the API soon.
It is getting late so I added a few prebuild workflows and there descriptions to the top. Good night everyone!
Remember the bug when you couldn't open the command line tool on ubuntu? I fixed it for ubuntu but now the bug exists on fedora :-(
While working on another project, I used this program to build it on an external server. However, due to a bug in the program, I accidentally locked myself out of the server and had to reset it to regain access. I believe the bug that caused the program to overwrite other SSH keys is now fixed.
I added the functionallity to use workflows from the build in shell. I also added two example workflows: update and backup to update or backup you server. So now I'll focus on the bad error handeling/logging.
It works! Now I'll start creating prewritten workflows and implement the functionality to run a workflow from the console.
I've added the functionallity to run workflows from the workflow_handler class but I couldn't test it because I'm on my linux laptop...
I fixed the issue were you could't open the copmmand line tool when running the program on ubuntu and with that I could add a new feature. You don't have to hold down c to open the command line tools. One press of c is enough now!
While I was testing the program on ubuntu is discovered that the command line functionality isn't working there. So I'm weorking on a fix now.
I've added a game over screen so you can restart if you have no money left. I think my next tasks are to play the game to find bugs (if there are any) and writing a documentation. Then I think it will be ready to ship!
I think the save system should work now which means the game saves your progress when you close the game.
I improved the SSH setup function in the shell.py file to support standart values and I think I'll stop working for now. See you tomorrow!
I’ve fixed both the uninstallation and installation processes now. At this point, it almost feels like a gamble whether os.system, subprocess.run, or subprocess.Popen will actually work.
Speaking of gambling... Here is my Gambling Simulator project: https://summer.hackclub.com/projects/3543
I not worked on the project for like 3 days but now the uninstallation process is broken (again)
I think I fixed the bug on my copilot and I'm working on the save functionallity now.
I'm trying to implement a game save system, but Copilot keeps crashing whenever it tries to help me with that feature...
I’ve added a fully functional banking system and improved the shop so that buy and sell prices fluctuate over time.
I've added a shop and now I started to add a bank system now. You can view your stats there or take a loan.
What have I just created?! I'm addicted to my own game...
I’ve added a demo now. Unfortunately, you need to sign up to remix the project before you can run it. Also, emojis don’t load properly there, but it’s better than nothing.
I created a new design and implemented both games.
I'm back at my PC and currently working on the UI.
I can't get much work done right now because I'm being attacked by mosquitoes. It's hard to concentrate when you're constantly swatting them away!
I have a big problem. I wanted to create a nice-looking UI, but now customtkinter is getting in the way. Due to a weird bug, everything in the UI appears pixelated on my Linux machine. That means I can’t work on it from my laptop and have to wait until I'm back at my PC tomorrow.
Never mind—I'm back on my laptop, and now it’s working again. It feels like gambling whether the program will work or not. Somehow, it even behaves differently depending on whether I launch it from VS Code or from the command line.
I’ve decided that adding a UI would make the game look much cooler than in the photo, and it would also allow me to include a lot more features. So now I’m going to work on creating a UI and figure out how to make it look great using customtkinter.
Devlog #04.9.2:
Now I started to test how I can make wqorkflows in yaml files possible and it worked!!!
Devlog #04.9.1:
I’ve reconsidered and realized that I don’t actually need a dedicated upgrade function for the configuration. I will manage everything directly in the code without modifying or rewriting the existing config file.
Devlog #04.9.1:
I'll now start to make a function to upgrae the config...
Devlog #04.9:
I’ve implemented the update/upgrade functionality for the program and integrated it into the shell tool.
You can now easily update everything with a single command:
.\python .\shell.py upgrade
Pretty cool, right?
Also, I fixed a bug that was causing the virtual environment not to be properly deleted during the upgrade process.
I added a new game mode: Number guessr. You have to guess a number between 1 and 49 and if you are right you'll have a reward. I also imporved the code.
If somethin in my code or message makes no sence that is because I'm SO tired.
Now I added a game over message but you still have a house in he game why would't you sell that to get new money?
So here we go — a new project: the Gambling Simulator!
I’m really excited to work on this. Hopefully, it will be fun and might even help addicted people switch to games like this one.
For my first commit, I added a Coinflip minigame.
Gambling Simulator is a game all about taking risks. Start with a small fortune and try your luck — just don’t lose it all! Disclaimer: This game does not involve real money and is intended for entertainment purposes only. It is designed to provide a safe alternative to gambling, and is not meant to encourage addictive behavior. If you struggle with gambling addiction, please seek professional help — this game aims to support your journey toward healthier habits.
Devlog #04.8:
I think I cleaned up the code a bit so now I'll work on a functionallity to update the program from the shell.py file.
GitHub: https://github.com/Ivole32/remote-workflow
Track my progress: https://github.com/users/Ivole32/projects/2/views/1
Devlog #04.7:
So, here we go again. Since the last devlog, I spent my time improving the configuration and its handling. Here’s what I accomplished:
- Updated the config class to support multiple sections within the configuration file
- Added a command in shell.py to configure SSH directly from there
Now, I think it’s time to improve the code readability and clean things up a bit. Stay tuned for the next update!
GitHub: https://github.com/Ivole32/remote-workflow
Track my progress: https://github.com/users/Ivole32/projects/2
Devlog #04.6:
I started to experient with the UI and this is one small prototype. I don't like it yet but I'll work on the design later (I hate designing...).
Devlog #04.5:
I thought I would write the documentation but now I'm experimenting with the UI
Devlog #4.4:
I'm on my laptop now but I can't code on the project here because my laptop is linux and the project is for windows (for now). But I think I'll start to write the documentation soon. Or should I make it linux compatible?!
Devlog #06:
Today I wrapped up a major new feature: custom command arguments!
Yep, you heard that right — you can now pass real arguments to your custom commands. This makes the system much more flexible and powerful, whether you're running simple shell commands or complex scripts.
But that's not all. I also:
- Updated the documentation to reflect the latest changes
- Fixed a bunch of bugs and cleaned up various issues
With these improvements, the project is now ready to ship, beacuase I believe it's in a solid state and ready to be submitted for voting.
GitHub: https://github.com/Ivole32/system-monitor
Release: https://github.com/Ivole32/system-monitor/releases/tag/Devlog06
Changelog: https://github.com/Ivole32/system-monitor/compare/Devlog05...Devlog06
Devlog #04.3:
So far, there have been no other bugs, so I was able to spend my time adding file sharing to the SSH_handler class, which worked great. Now there is a working file-sharing system with a mechanism to prevent accidental access to other files. Next, I plan to implement a locking system for the files, clean up the code a bit
and work on the automatically created security issues.
Devlog #05.2:
I had school today, so I didn’t get much done — but I met up with a friend and we did some coding together. I started working on a new feature: arguments for custom commands. You can now add arguments to your custom commands!
This feature is still in development, so there’s no documentation yet and no guarantee that it will work as expected.
Stay tuned!
GitHub: https://github.com/Ivole32/remote-workflow
(You have to remove or update the old config.ini file to use the new version)
Devlog #05.1:
I'm heading to bed now. Today was a great and productive day – I implemented lots of cool features. Tomorrow, I'll finish the project and publish it for voting.
GitHub: https://github.com/Ivole32/system-monitor/tree/Devlog05
Devlog #05:
Here is a brand-new update of the System Monitor!
As mentioned in my last devlog (#04.1), I’ve been working on new features focused on custom command creation.
New Features:
- Create custom commands using the command-line tool
- Delete custom commands via the command-line tool
- Enable/disable custom commands through the command-line tool
Improvements:
- Refactored command_handler.py to improve code readability
GitHub: https://github.com/Ivole32/system-monitor
Release: https://github.com/Ivole32/system-monitor/releases/tag/Devlog05
Changelog: https://github.com/Ivole32/system-monitor/compare/Devlog04...Devlog05
Devlog #04.1:
I've now outsourced the command handling. If you take a closer look at my commit, you'll see that I'm currently working on custom command creation within the built-in command line. So stay tuned.
GitHub: https://github.com/Ivole32/system-monitor
Commit: https://github.com/Ivole32/system-monitor/commit/608f95e5475fcc1b1acac19381cc46d331afa120
Devlog #04:
Release after release, it feels like this project is finally nearing its end. But before that happens, I've just pushed another update – and this one includes several new features and improvements:
New Features:
- Config file support
- Enable or disable the command-line interface
- Allow or block direct execution of system commands
- Define custom commands
Bug Fixes:
- Fixed an error that occurred when launching the program without sudo.
Documentation:
- I’ve started working on the documentation. Drafts are now available in the repository under /Wiki.
GitHub: https://github.com/Ivole32/system-monitor
Release (Devlog 04): https://github.com/Ivole32/system-monitor/releases/tag/Devlog04
Changelog: https://github.com/Ivole32/system-monitor/compare/Devlog03...Devlog04
Devlog #03:
I'm very excited to announce a new update of System Monitor!
This release includes a bunch of new features and improvements:
Comming soon:
- A configuration file to adapt the program to your needs
- Custom commands
- And much more!
GitHub: https://github.com/Ivole32/system-monitor
Release (Devlog03): https://github.com/Ivole32/system-monitor/releases/tag/Devlog03
Changelog: https://github.com/Ivole32/system-monitor/compare/Devlog01...Devlog03
Devlog #04.2:
After some time, I also fixed the bug where the configuration wasn't being created.
Issue: https://github.com/Ivole32/remote-workflow/issues/11
Commit: https://github.com/Ivole32/remote-workflow/commit/8daa7d2b30cf9a2dcb477f24e6d8f47a65c1e009
Devlog #04.1:
So now I found another bug. The configuration file can't be created after or while the installation.
Devlog #04:
I think I’ve fixed the bug that caused issues during the uninstallation process. And I did much more...
So here’s a new release with:
- Improved logging system
- Introduced the first UI window
- Debug mode is now functional
- Added a command-line tool for uninstallation (more features coming soon)
- Fixed bugs in the installation/uninstallation process
-> https://github.com/Ivole32/remote-workflow/issues/9
- Cleaned up codebase (added docstrings, minor refactoring)
Next up: I’ll be working on SSH file sharing and handling.
GitHub: https://github.com/Ivole32/remote-workflow
Release (Devlog04): https://github.com/Ivole32/remote-workflow/releases/tag/Devlog04
Compare/Full Chnagelog: https://github.com/Ivole32/remote-workflow/compare/Devlog03...Devlog04
Track my progress: https://github.com/users/Ivole32/projects/2
Devlog #03.5:
I thought it would be a quick fix... turns out, not quite. I patched it up a bit, but now there's another bug when trying to reinstall the program. Should be an easy fix too — hopefully ;)
Devlog #03.4:
I'm currently encountering an error when trying to delete the virtual environment (venv). So for now, I'm going to focus on fixing that issue.
Devlog #02:
I'm excited to announce a major update for my System Monitor project!
This release brings a range of new features designed to improve the daily experience for both casual users and system administrators.
New Features:
- Command Line Mode (activated by holding c):
- Kill processes by PID
- Ban/Unban SSH users using iptables
Coming Soon:
- IP timeout for SSH users
- Configurable settings via configuration files
- IP ban/timeout for the full system
And much more!
GitHub: https://github.com/ivole32/system-monitor
Full Changelog: https://github.com/Ivole32/system-monitor/commits/Devlog01
Devlog #01:
I’m excited to announce the first version of System Monitor!
In my initial commit, I added the basic functionality, including:
Coming soon:
- Built-in command line to:
- Kill processes
- Ban or timeout SSH users
- Multiple configuration options
System Monitor is a Linux-specific monitoring tool designed to simplify life for casual users, system administrators, and IT security analysts alike. It offers comprehensive features including system utilization display, active process monitoring, and a real-time overview of existing SSH connections. Through its built-in command line interface, users can terminate processes, disconnect or time out SSH sessions, and much more.
I added some functionality to make working with the venv easier and did a few other things too. I'm done for today – good night and see you tomorrow!
Github: https://github.com/Ivole32/remote-workflow
Track my work: https://github.com/users/Ivole32/projects/2
Project Link: https://summer.hackclub.com/projects/1395
Devlog #03:
Hey everyone! I’m excited to share that I’ve created a detailed, easy-to-follow installation wiki for my user scripts. Whether you’re new to user scripts or a pro, this guide helps you set everything up quickly and hassle-free.
🌟 What My Two Scripts Do:
🌀 autoscroll – The Smart Auto Scroller
Say goodbye to manual scrolling! autoscroll automatically scrolls through webpages at your preferred speed. Perfect for reading long articles, browsing feeds, or hands-free browsing while multitasking. You can pause, resume, and adjust the scroll speed anytime.
✍️ betterinputfields – Clear Form Input Indicators
Online forms can be confusing. betterinputfields improves form usability by clearly showing whether inputs are optional or required, displaying important input requirements like password length or input types (e.g., email, number). This script helps you understand exactly what each field expects, so you avoid errors and frustration when filling out forms.
🔥 Why You Should Check Out My Project:
It’s lightweight, practical, and designed to make your browsing smoother.
Saves you time and makes everyday tasks easier.
Open-source and actively maintained based on user feedback.
The new wiki makes installation simple, even for beginners.
💡 If you want smarter browsing and better forms, these scripts are made for you.
🎯 Give them a try today — your web experience will never be the same!
Devlog #02:
Scrolling manually through long articles or pages can get tiring fast. That’s why I built this auto-scroller — it takes care of the scrolling for you, making it way easier to focus on what you’re reading or watching. Whether you’re going through tutorials, news feeds, or just want to keep an eye on live content, this tool smoothly scrolls the page so you don’t have to.
Features:
- Smooth auto-scrolling using requestAnimationFrame for buttery movement
- Speed control slider to adjust how fast it scrolls
- Direction buttons to scroll up or down, whatever you need
- Start/stop toggle to pause or resume scrolling anytime
- Collapsible and draggable UI so you can hide the controls or move them anywhere on your screen
- Adaptive colors that change based on the page background for easy visibility
- This auto-scroller is perfect for hands-free reading and a better browsing experience overall.
Devlog #01:
Filling out online forms can sometimes be confusing, especially when it’s unclear which fields are required and what input rules apply. Many websites don’t clearly indicate if a field is optional or what the minimum and maximum input lengths are. This often leads to frustration when forms are rejected or incomplete.
The userscript I added to the repository solves that problem by automatically displaying important input requirements directly inside the form fields as placeholder text. It detects whether a field is required or optional (including accessibility attributes like aria-required) and shows any minlength or maxlength restrictions. It works with all standard input fields and textareas on any website.
By providing these clear, immediate hints, the script helps users fill out forms faster and more accurately, improving overall usability and reducing errors.
A collection of user scripts that simplify life on the internet. This project was inspired by FIX IT. (https://fixit.hackclub.com)
Devlog #03.2:
I’m done for today.
I improved the installer, added better logging, introduced a config system, and made several other enhancements.
I’ll be back tomorrow to continue working on the project.
Track my progress: https://github.com/users/Ivole32/projects/2
Devlog #03.1:
I just finished the automated installation on the Linux side via SSH. Now I'm starting to think about how the command-line tools should work to make them as user-friendly as possible.
Track my progress: https://github.com/users/Ivole32/projects/2
Devlog #03:
In this update, I focused on improving the overall structure and preparing the project for future development.
Changes:
- Added a configuration file for centralized setting management
- Outsourced SSH handling to a dedicated module for better readability and modularity
- Improved the logger for cleaner and more consistent output
- Added extra loggin messages on some parts of the program
Known Issues:
- Issue #9 is still open
-> https://github.com/Ivole32/remote-workflow/issues/9
- Some parts of the code are still a bit messy and will need further refactoring
GitHub Repo: https://github.com/Ivole32/remote-workflow
What I’m working on: https://github.com/users/Ivole32/projects/2/views/1
Project Release #03: https://github.com/Ivole32/remote-workflow/releases/tag/Devlog03
Full Changelog: https://github.com/Ivole32/remote-workflow/compare/Devlog02...Devlog03
Devlog #02:
As I mentioned in my last devlog, I focused on automating the installation process on the Linux side. I’ve now implemented functionality to create and copy your SSH key on the Linux server, allowing the program to connect without requiring a password in the future. Additionally, I cleaned up the code to make it more readable and easier to understand.
Here’s a brief summary of what I accomplished:
Known Issues:
- Problems when trying to delete venv:
-> https://github.com/Ivole32/remote-workflow/issues/9
- SSHfileshare.p is a bit messy:
-> https://github.com/Ivole32/remote-workflow/blob/Devlog02/SSH_file_share.py
GitHub Repo: https://github.com/Ivole32/remote-workflow
What I’m working on: https://github.com/users/Ivole32/projects/2/views/1
Project Release #02: https://github.com/Ivole32/remote-workflow/releases/tag/Devlog02
Full Changelog: https://github.com/Ivole32/remote-workflow/commits/Devlog02
I'm just getting started! In the first two hours, I focused on building a custom logger, a powerful installation script, and a clean, informative README.
Now, I'm working on automating the Linux-side setup, so the installation requires as few manual steps as possible — making it super easy for users to get started without needing to configure everything themselves.
You can follow my progress and see what I’m currently working on on my project dashboard:
👉 https://github.com/users/Ivole32/projects/2
In my daily development work, I often run into limitations when working solely on Windows, while wanting the speed and flexibility of a lightweight Linux environment. That’s why I created Remote Workflow. Remote Workflow lets you easily connect your Linux machine to your Windows system and build fully customized workflows. Whether you’re compiling code on Linux, automating server updates, or performing maintenance tasks — everything stays in sync thanks to efficient and secure file sharing. No more manual copying of files. The tool features: - A clean and user-friendly graphical interface on Windows - Powerful command-line tools - Excellent documentation to help you get started quickly - High customizability so you can tailor workflows to your exact needs Whether you're a beginner or an experienced developer, Remote Workflow makes cross-platform development smooth, fast, and accessible.
This was widely regarded as a great move by everyone.