Bio

Servus, I'm Hannes Leonhartsberger. I am currently attending the media technology branch at the IT-HTL in Ybbs. I enjoy exploring interesting algorithms through code and making games.

Stats

4
Projects
15
Devlogs
40
Votes
2
Ships

Coding Time

All Time: 60h 37m
Today: 0h 0m

Member Since

June 17, 2025

Badges

1
🚢
Maiden Voyage
you shipped your first project! the journey begins...

Projects

4
Photoshop Wakatime Plugin
1 devlog 13 days ago
Psychisches Kriegsgerät
1 devlog about 1 month ago
Vexillum

Vexillum

Shipped
11 devlogs about 1 month ago
Google Ai Eradicator
2 devlogs about 2 months ago

Activity

I figured out how to make a plugin for Photoshop (and technically all of the other Adobe products, depending on if it is implemented in the same way there). Had a lot of problems when figuring out which permissions you need as the documentation is in my opinion not really clear on this. Another problem was styling images based on the theme. In the end I used an SVG which uses the automatically set variables for the color.

Update attachment
Hannes Leonhartsberger
Hannes Leonhartsberger created a project
13d ago

Photoshop Wakatime Plugin

The plugin will integrate Wakatime Time tracking into Photoshop and possibly other Adobe products.

Photoshop Wakatime Plugin
1 devlog 0 followers

THE FINAL DEVLOG IS HERE! I have finally completed this library after all this time. I can't wait to start the next project. I fixed a lot of bugs, made the errors from parsing stack so usage isn't spammed and finally finished the flag parsing (turned out to not be that hard in the end). But my brain is getting fried from switching languages so much. I actually typed 'let' into a c file to create a variable XD.

Update attachment

Finally finished the demo. I added some much needed pizzazz in the form of the purple blue pipes and I made a decently working recreation of the argument and flag parsing. Now I only need to actually finish the project. ♪(´▽`)

Update attachment

This is the demo website so far. I used skeleton (if you are interested: http://getskeleton.com/) as a framework and got in the basic elements in place. Next I'll add the functionality and I need to somehow add some flair to the site as it is currently monochrome.

Update attachment

The flag handler is almost ready to go, but in the meanwhile I got distracted with making the demo and designing a banner for the project. The website still needs a lot of work but I am pretty happy with the banner.

Update attachment

I have finished up all other bits of the library (including restructuring the files, adding a usage hint, removing function name overlapping through prefixes, ...) so only the main source file and the flag handler need working on.
When I'm finished with those I get to move onto my favorite part of projects... the testing. Yay o(TヘTo)

Update attachment

I did a big coding session this time.
I reworked the entire error system. I moved the system to its own file and made it accessible in the main header. I still don't know what to do when function names overlap so I had to get creative with the names so it still doesn't feel great. The error system will now also in the future print out a helpful usage message for the user with the most important information.
I also finished up the argument system which was smaller than expected.
Anyways, I'm excited to get started on the most important bit, the flag system. <(^-^)>

Update attachment

Added a small error handler which gives you back the name of the error in form of a string. I also implemented a singly linked string list to store the arguments and flag identifiers. It was really fun to rediscover how to make a linked list! (but also painful as pointers are hard (/▽\) )

Update attachment

Defined the public interface of the library. The functions as seen in the attached image should be quite self explanatory.
Now onto implementation! o(°▽°)o

Update attachment

I updated the test system so it now supports multiple tests. I also realized that if I switched to a static library for testing I don't need to tell windows how to find the shared library.
That should hopefully finish up the CMake portion of this project. ( ̄︶ ̄*))

Update attachment

Finally figured out how libraries work. I correctly linked the library and the header file to the test executable but I didn't tell windows where to look for the dll.
The fix was to simply put the executable of the tester into the same directory as the built library.

Update attachment

I used the Seeed Studio XIAO ESP32C3 to power this remote controlled tone player.

I spent the time setting up the board with a passive buzzer with a button to start the music and a volume knob. On the code side I figured out how to connect to WiFi, how to send requests and how to play notes on the buzzer.

In the end I wrote a small demo program to play a tune when the button is pressed. You already know I had to get 'Never gonna give you up' to play on there.

Update attachment
Hannes Leonhartsberger
Hannes Leonhartsberger created a project
42d ago

Psychisches Kriegsgerät

The name is german and it translates to psychological warfare machine. The project, when finished, will be small IOT-Device which plays a tune or an annoying sound when you send a request to it. Of course it will be used to torture my friends.

Psychisches Kriegsgerät
1 devlog 0 followers

I implemented the basic scaffolding on which I will build the library using CMake.

I still have problems with linking the library to the tests as I am very new to CMake but I'm going to work on that.

Update attachment
Hannes Leonhartsberger
Hannes Leonhartsberger created a project
44d ago

Vexillum

A c library for handling flags passed to a program

Vexillum
11 devlogs 0 followers Shipped

Using the MutationObserver I was able to remove the button in gmail.

Since I have not found any other ai buttons on google I'm calling this an absolute success!

Update attachment

Finally I can search to my hearts content in peace.

But how does it work?
The script iterates through all of the children of the container that holds all of the results and recursively looks for the star shaped path.

The next goal is going to be to remove the Try gemini button in gmail.

Update attachment
Hannes Leonhartsberger
Hannes Leonhartsberger created a project
52d ago

Google Ai Eradicator

Removes the ai overview when searching in google and the "Try gemini" button from gmail.

Google Ai Eradicator
2 devlogs 0 followers Shipped
Hannes Leonhartsberger
Hannes Leonhartsberger joined Summer of Making
55d ago

This was widely regarded as a great move by everyone.