Programming projects


change to phone theme reverse order back
Navagation Menu:

Introduction:

Here you can download some of the "programs" that I have made and are allowed to share.

Please note that these are not necessarily indicative of my current skill level as a lot of these where originally made as my first practice projects. I created them to experiment and teach myself some basic skills in that specific language and / or programming in general. Therefore these early programs will mostly be pretty badly written & structured. Sadly the bulk of my professional work was created for my (at the time) employer(s) and can therefore not be shared.

BASIC:
Snake (Basic V2 C64):

C64 snake screenshot
After finding my C64 and playing around with the instructions for programming in Basic a bit, I decided that it would be fun to challenge myself to see if I could make a simple game.

I ended up trying to make a version of Snake. After I got the basics to work I thought it would be nice to add an increasing difficulty. The idea was to shrink the playing field after every level. I did not have any means to save anything on the C64 yet so it was at this point that I switched to using an emulator. But sadly a little while later my C64 died and with it my motivation in finishing the game.

This version still has some issues like crashing at the start of level 3 due to an "OUT OF MEMORY ERROR"Printscreen of ErrorOUT OF MEMORY ERROR IN 60. I might try to fix it someday now that I have a working C64 again.

You can play the game by typing it over on an actual C64 or copy pasting the text into a C64 emulator.
The controls are: Up = W / Left = D / Down = S / Right = A.



Snake_in_ basic_C64_v0.2.docx
 Snake

JavaScript:
Dice roller (JavaScript)

While working on this site I decided to make a simple D&D style dice roller, you can try it out and / or download the source code below.

Roll the dice:




Roll with (dis)advantage

Roll a massive crit for a special price.



dice_roller_html_js.docx
 Dice Roller

more...


F(ix) YT Shorts (Chrome Extension / JavaScript)

F(ix) YT Shorts v1.0.1 screenshot
I made this one because I really dislike the Youtube Shorts player on desktop and also wanted to learn how to make a Chrome Extension. The extension checks if you are on a "https://www.youtube.com/Shorts/..." page and then takes the Video ID and redirects you to the normal "https://www.youtube.com/watch?v=..." player page.

F_YT_Shorts.zip
 Download the Source Code


link to chrome web store page
 Get the Extension on the chrome web store page


Initiative Order (JavaScript)

Initiative order v1.0.0 screenshot
Created an initiative order tool for Dungeons & Dragons.
This one is actively being used by our D&D group.

initiative_order_html_js_css.docx
 Initiative Order

more...


Practice Japanese: Hiragana & Katakana (JavaScript)

Practice Japanese: Hiragana Converter v0.1.0 (BETA) screenshot
The one thing a (basic) practice Japanese site should have is a hiragana and katakana practicing tool. That is why I created this one for my www.practicejapanese.nl site.

At the moment this tool is still in BETA.

more on a external site
 Latest version on www.practicejapanese.nl


Practice Japanese: Calendar "Dates & Times etc." (JavaScript) (Alpha)

Practice Japanese: Calendar (Dates & Times etc.) v0.0.4 (ALPHA) screenshot
With this tool you can Practice Japanese related to "Calendar" things (like Date and Time measurement related).
This one is still in early development, but the basics are build upon my other Practice Japanese tools.
It is (very slowly) in the works for my www.practicejapanese.nl site.

At the moment this tool is still in ALPHA.

more on a external site
 Latest version on www.practicejapanese.nl


Practice Japanese: Hiragana Converter (JavaScript)

Practice Japanese: Hiragana Converter v1.0.0 screenshot
For the "Practice Japanese: Numbers" program below I already created an all most fully functional Romaji to Hiragana converter function.
So I thougt might as well create a full tool utilizing its functionality.

With this tool you can convert any Rōmaji to Hiragana.
At the moment it can not yet convert the other way around (Hiragana to Rōmaji), but I have plans to add this in the future.

I ended up creating a separate site (www.practicejapanese.nl) for my "Practice Japanese Series" of tools. The local versions found here are therefore deprecated (not up to date / maintained).

more on a external site
 Latest version on www.practicejapanese.nl

more...
 WARNING deprecated local version!!!


Practice Japanese: Katakana Converter (Beta) (JavaScript)

Practice Japanese: Katakana Converter v0.1.0 (Beta) screenshot
A Katakana version of the "Romaji to Hiragana converter".
For now it only does a straight rōmaji conversion, but I have plans to add interpretation / translation functionality in the future.

I ended up creating a separate site (www.practicejapanese.nl) for my "Practice Japanese Series" of tools.

more on a external site
 Latest version on www.practicejapanese.nl


Practice Japanese: Numbers (JavaScript)

Practice Japanese numbers v1.1.0 screenshot
I wanted to learn myself some of the basics of the Japanese language. To help with this I created this tool.
This tool can help you practice the number system.

The tool is now out of BETA and has reached it's full release state, but I still do have some improvements and additions planned.

I ended up creating a separate site (www.practicejapanese.nl) for my "Practice Japanese Series" of tools. The local versions found here are therefore deprecated (not up to date / maintained).

more on a external site
 Latest version on www.practicejapanese.nl

more...
 WARNING deprecated local version!!!


Route regarding Banishment (JavaScript)

Alpha Placeholder
BETA (v0.1.0)
A short Roguelike linear Visual Novel RPG¿?¿?

Wanted to play around with some JavaScript and decided to see if I can create a (deliberately) scuffed little game.
The game is now in it final state, at least for now (except for maybe some bug fixing). The original plan was always to only create a small Prototype / Proof of concept.
more...


Python (Python 3):
BTA's Image Size Padder V0.1.0 (Python 3.7.9):

BTA's Image Size Padder V0.0.1 screenshot
Intro:
The main reason for building this particular program was because 16:9 photos from my phone are 1920x1080 while 16:9 photos from my camera are 1920x1077 and I needed a quick and easy way to make all of them uniformly sized (1920x1080).
Program is currently in a "proof of concept" / "BETA" state.

Description:
Program adds a black background of a specified size to image files from a selected folder.
If the given size is smaller then original size the original size is used.
On start-up the standard 1920x1080 16:9 background size for the given folder is given.
An adviced size to create uniformly sized 16:9 images can be calulated with the "P" option.
To make all images 16/9 but based on their own original size instead of them all being uniformly sized the "D" option can be used.
The "A" option can be used to get a list of how many files in the folder have a 16/9 ratio and how many don't.

Use Case Example(s):
1.
I need to have a set of photos that are all the same size without deforming the photos.
However 16:9 photos from my phone are 1920x1080 while 16:9 photos from my camera are 1920x1077.
Using this tool I can select a mix of these photos in a folder and add a black 1920x1080 background to all of them.
This will result in the photos 1920x1077 to have 3 pixel black padding making them 1920x1080 as well.

2.
I have a folder full of differently sized images that I want to use as wallpapers for an 16/9 screen.
I can use the "D - Determine 16/9 pad sizes per individual image" option to create 16/9 versions of all the images based on the closest 16/9 sizes calculated per individual image.

Planned additions future update(s):
  • Add option for single file.
  • Add options for different padding colours.
  • Add options for different ratios.
  • Integrate program further into Resize-O-Nator 3000 program.

  • Changelog:
    V0.1.0 (2023-10-15):
    1. Added a system to make all images 16/9 but based on their own original size.
    2. Added an folder analysis option.

    Expand

     Expand to show older updates...


    V0.0.2 (2023-10-10):
    1. Added a system that automatically calculates the values for uniformed 16:9 padding for the given folder.
    2. Added a session log and error reporting.

    V0.0.1 (2023-10-09):
    1. First ready for testing Prototype release.

    Collapse  Collapse older updates...

    The downloadable rar file contains:
    Standalone (from having Python installed) .exe file (Run this one to start the program)
    Python file with the source code.
    read me .txt file
    .ico icon file (made with icoconvert.com)

    Disclaimer: Please be carefull when downloading and running anything you find on the web. While I guarantee I uploaded (for as far as I am aware) a virus free file, this is still just my word you are bassicly have to take for it (or not). BTA_Image_Size_Padder.rar
     BTA's Image Size Padder V0.1.0

    Pauze Timer V0.4.3 (Python 3.5.2):

    Pauze timer v0.4.1 screenshot
    Intro:
    The main reason for building this particular program was because I have had a hard time giving myself regular breaks when I am absorbed in something.

    This version is still pretty rough and the code needs a lot of cleaning as well.

    Description:
    This program can be used to alarm yourself that it is time for a regular break.
    It does this by counting down a timer and (if enabled) sounds an alarm to start a count down for the duration of your break. These timings are set before you start the timer, but can also be freely altered during its run.

    Planned additions future update(s):
  • General cleaning of the code.
  • Fix remaining printing out of order menu bugs.
  • Fix bug causing sytem wide input delay when accessing the things to do list when pauze timer is running.
  • Add an alarm that can be set at a specific time.

  • Changelog:
    V0.4.3 (2020-06-01):
    1. Added option to stop the alarm sound on the Trigger screen without stopping / starting the pauze.
    2. Changed how "things to do list" works during the run to limited input delay (placeholder "fix").

    Expand

     Expand to show older updates...


    V0.4.2 (2020-05-28):
    1. Some small bug and formating fixes.

    V0.4.1 (2020-05-28):
    1. Hopefully fixed the bug where on rare occasions stuff got printed to the screen out of order when pressing a menu option.

    V0.4.0 (2020-05-27):
    1. Added an option to disable update check on startup.
    2. Added an option to take minutes off the timer as well.
    3. Added a stystem for showing a list of things to do while pauzing.
    4. Fixed a bug where program could crash if it could not connect to the internet during the update check.

    V0.3.0 (2020-05-26):
    1. Added a system to automatically check if an updated version is available.

    V0.2.2 (2020-05-20):
    1. Fixed a bug where delaying would apply to the wrong timer.

    V0.2.1 (2020-05-19):
    1. Fixed a bug that sometimes caused a crash when the program tried to process a minus value where minus values should not have been allowed.

    V0.2.0 (2020-05-18):
    1. First ready for testing version release.

    Collapse  Collapse older updates...

    The downloadable rar file contains:
    Standalone (from having Python installed) .exe file (Run this one to start the program)
    Python file with the source code.
    Five .txt files (read me, ascii_dic, things_list, 2x settings)
    Sound folder with three (Creative Commons / royalty free) sound files:

    Sound file artist(s):
    Rolemusic
    Scott Holmes

    Disclaimer: Please be carefull when downloading and running anything you find on the web. While I guarantee I uploaded (for as far as I am aware) a virus free file, this is still just my word you are bassicly have to take for it (or not). Pauze_Timer.rar
     Pauze Timer V0.4.3

    Resize-O-Nator 3000 V1.1.0 (Python 3.7.9):

    Resize-O-Nator 3000 V1.0.0 screenshot
    Intro:
    I know there are a million of these kind of programs out there, but this one is mine.

    My first Python project after finishing the Python training, I wanted to create something with an actual UI and not only console based as my previous projects.

    For this site a lot of times I had multiple pictures that needed the same alterations (changed size and uniformed naming) that is why I started creating this program catered to my own needs and specifications.

    Description:
    This program can be used to change the size and name of one image file or of all files in a folder at once.

    Planned additions future update(s):
  • Add functionality for cropping images for background use (16:9 / 21:9).
  • Add functionality for save location / overriding original files.
  • Add functionality for changing file numbering format when saving with a new name.
  • Add functionality for changing theme colours.
  • Fix any after release bugs.

  • Changelog:
    V1.1.0 (2023-10-11):
    1. Added some fuctionality from the Image Size Padder into this program
    2. You can now auto pad the files to a 16:9 ratio.

    Expand

     Expand to show older updates...


    V1.0.0 (2020-11-05):
    1. Released first full release version (program should be fully functional now)
    2. Fixed bug causing the "entire folder" function to not work past the first image.
    3. Cleaned code and added new functions to replace repeated code etc..

    V0.3.0 (2020-11-04):
    1. Changed name from Picture Bulk Changer to Resize-O-Nator 3000
    2. Fixed bug where one of the ratio values could be zero after they where calculated.
    3. Added error catching for: entering a non integer value for the height or width.
    4. Added error catching for: checking change name box but leaving name box empty.
    5. Added error catching for: selecting a file that can not be processed (non img files).
    6. Added an "error" pop-up for these errors.

    V0.2.0 (2020-11-02):
    1. Fixed some major bugs causing some files to be unable to be opened.
    2. Improved basic functionality.
    3. Added pop-up when the program has finished processing the images.
    4. Created stand alone .exe version.

    V0.1.0 (2020-10-27):
    1. First beta release version

    V0.0.6 Alpha (xxxx-xx-xx):
    1. Pre upload.

    Collapse  Collapse older updates...

    The downloadable rar file contains:
    Standalone (from having Python installed) .exe file (Run this one to start the program)
    Python file with the source code.
    One .png file (logo used as base preview img).
    One .ico icon file (made with icoconvert.com)
    read_me.txt file.

    Disclaimer: Please be carefull when downloading and running anything you find on the web. While I guarantee I uploaded (for as far as I am aware) a virus free file, this is still just my word you are bassicly have to take for it (or not). Resize-O-Nator_3000.rar
     Resize-O-Nator 3000 V1.1.0

    Site Change Tracker V0.5.1 (Python 3.7.9):

    Site change tracker v0.3.3 screenshot
    Intro:
    I build this program to learn and improve my Python programming skills.
    The main original reason for building this particular program was so that I could monitor if a certain item was avaible in the square enix store.
    And it totally worked for this goal :DScreenprint of successSuccess WooT
    And after the changes allowing searching into classes it also worked for me to score the Halo Infinite soundtrack.

    Description:
    The program works by comparing a snapshot of the HTML code of a website with another snapshap taken later at a random interval.
    This means the scope of this program is therefore limited to only detecting changes in the actual HTML code of the page and any background reference changes will not be detected.
    You can specify an url and additionally if wanted an id and or class on that site as well as a search term within that id / class.
    As an alarm the progam will show a message and if wanted additionally play a sound and/or send a mail (using the local Outlook client).

    Planned additions future update(s):
  • Create better keyboard interrupt system.
  • Allow reset during run.
  • Add Turbo mode.

  • Known issues:
  • -

  • Changelog:
    V0.5.1 (2021-12-21):
    1. Added option to only send out a mail on big (specific ID / Class) changes.
    2. Changed slightly how small changes are handled, now showing how many times a change is found.

    Expand

     Expand to show older updates...


    V0.5.0 (2021-12-16):
    1. Added option to search within a "class" as well (instead of only in an "id").
    2. Fixed bug that caused crash when multiple changes where found within a small window.
    3. Fixed bug that caused crash when specific change was found.

    V0.4.1 (2021-08-26):
    1. Updated from Python version 3.5 to 3.7.
    2. Added option to check multiple different URL at once.

    V0.3.5 (2020-06-01):
    1. Improved handling for when the progam can not connect to the internet.

    V0.3.4 (2020-05-27):
    1. Fixed a bug where the program would crash if it could not connect to the internet.

    V0.3.3 (2020-05-14):
    1. Fixed bug with new sound set-up.

    V0.3.2 (2020-05-13):
    1. Sound (pygame.mixer.init()) now only initialized when needed to eliminate 'buzzing'.
    2. Added an extra message when 'other' change is found and a list of changes is being generated.

    V0.3.1 (2020-05-08):
    1. The UnicodeEncodeError hopefully now actually fixed.
    2. Added ticking down timer till next check.

    V0.3.0 (2020-05-07):
    1. The search term can now be switched between needing to be inluded or excluded in the id.

    Collapse  Collapse older updates...

    The downloadable rar file contains:
    Standalone (from having Python installed) .exe file (Run this one to start the program)
    Python file with the source code.
    Four .txt files (read me, log, 2x settings)
    Sound folder with three (Creative Commons / royalty free) sound files:

    Sound file artist(s):
    Rolemusic
    Scott Holmes

    Disclaimer: Please be carefull when downloading and running anything you find on the web. While I guarantee I uploaded (for as far as I am aware) a virus free file, this is still just my word you are bassicly have to take for it (or not). Site_Change_Tracker.rar
     Site Change Tracker V0.5.1

    Visual Basic for Applications (VBA):
    Book List (VBA):

    Book list v1.0.0 screenshot
    My mother asked me if I could build an Excel sheet for her books. As a good practice project (to make sure my Excel skills do not get too rusty) I decided to create a somewhat more elaborate program than just a nice looking sheet.

    I had to do some stuff via Excel formulas instead of VBA to allow it to also be available on the phone version of Excel. This can cause it to be somewhat slower. The program can switch between two languages (Dutch & English) and is meant to be controlled primarily with the three buttons (+ Add, - Remove, <-> Update) above the list.

    Disclaimer: Please be carefull when downloading and running anything you find on the web. While I guarantee I uploaded (for as far as I am aware) a virus free file, this is still just my word you are bassicly have to take for it (or not). Boekenlijst_v1.0.0.xlsm
     Book List

    Exercise Schedule (VBA):

    Exercise Schedule v0.0.1 screenshot
    This one is pretty spesific to my personal situation but it might be usefull and / or adaptable for someone else out there.
    The exercises in my exercise routine are based on my energy level at the time of beginning the training, I created this tool to get an overview of my progress (as well as keeping my VBA skills sharp).

    Changelog:
    V0.0.2 (2022-01-04):
    1. Fixed conditional formating bug.

    Expand

     Expand to show older updates...


    V0.0.1 (2021-12-30):
    1. Uploaded V0.0.1.

    Collapse  Collapse older updates...

    Disclaimer: Please be carefull when downloading and running anything you find on the web. While I guarantee I uploaded (for as far as I am aware) a virus free file, this is still just my word you are bassicly have to take for it (or not). Exercise_Schedule_v0.0.2.xlsm
     Exercise Schedule

    Tic Tac Toe (VBA):

    Tic Tac Toe screenshot
    A pretty long time ago I first learned about VBA in Excel and started to use it to automate some simple things at work. Seeing the potential of this tool for making big improvements in regards to a.o. automatisation of the work I was doing at the time I decided I should make myself more proficient in it.

    I therefore started to learn by doing and started to automate as much as possible and also make this Boter Kaas en Eieren (Butter Cheese and Eggs aka the name for Tic Tac Toe in Dutch) game in VBA.

    Being some of my first code ever written and without having any formal education or guidance in the subject means its pretty rough, it does however work and even has a computer player as your opponent.
    The only changes made to the original file is that I had to remove any references to my at the time employer.

    (The buttons on the right are: Makkelijk = Easy, Middel = Middle, Moeilijk = Hard, Onverslaanbaar = Unbeatable)

    Disclaimer: Please be carefull when downloading and running anything you find on the web. While I guarantee I uploaded (for as far as I am aware) a virus free file, this is still just my word you are bassicly have to take for it (or not). Boter_Kaas_en_Eieren.xlsm
     Tic Tac Toe