Bastian Molkenthin - Sunshine2k

arrow Coding

Welcome to the Programming section - the main element of my little homepage.

Here you can find full-blown applications as well as little demonstrations and code snippets of various algorithms coded in different programming languages. Please keep in mind that every item was developed in my spare time - so I do not gurantee that the implementations are correct and error-free (actually I even doubt it...). My main motivation is solely interest and gain of knowledge - and I hope to help you(!) with the content of this site.
Everything is published with MIT licence, so everybody may use parts of it for anything he or she wants to do - still I would be pleased if you add a link to my site then. Further I would be glad to hear who I could help or in which project/topic an item of my site had helped.

Note: Hover with the mouse over each project link to get further details.

2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006
2005
2004
2003
2002
2001

This site is part of Sunshine's Homepage

Example implementations of the C memory allocation functions malloc(), calloc(), realloc() and free().
Source available: YES
Language: C
Date: October 2019
Example how to access the Serial / Com port in C using Windows API
Source available: YES
Language: C
Date: September 2019
Demo how to multiply two unsigned 32 bit values using only 16bit multiplications, casts and shifts.
Source available: YES
Language: C
Date: November 2017
Demo how to use the TaskbarList3 interface using plain Windows API.
Source available: YES
Language: C/C++
Date: August 2016
A console tool to show the Windows start and shutdown times.
Source available: YES
Language: C/C++
Date: August 2014
A free library providing functions to deal with PE files.
Source available: YES
Language: C/C++
Date: September 2003
Just a little file searcher tool.
Source available: YES
Language: C/C++
Date: June 2004
4 sample code snippets on how to use the Winsock API.
Source available: YES
Language: C/C++
Date: Februray 2005
Solves the logical quest 'Who owns the fish' by bruteforcing all permutations.
Source available: YES
Language: C/C++
Date: June 2005
Converts hexadecimal numbers in decimal & binary and the other ways round.
Source available: YES
Language: C/C++
Date: June 2005
This program allows you to add zeropadded sections to a PE file.
Source available: YES
Language: C/C++
Date: June 2005
This little application scans an image for a chosen transparent color and save this as a Windows region file.
Source available: YES
Language: C/C++
Date: September 2005
This utility change the text color and the text background color of the desktop symbols.
Source available: YES
Language: C/C++
Date: August 2006
This is my own implementation of the huffman compression algorithm.
Source available: YES
Language: C/C++
Date: August 2006
This tool adds a menu item to the context menu when you right-click a folder in windows explorer
to open a commandline window in this directory.
Source available: YES
Language: C/C++
Date: June 2007
My own try of coding an API Hook by patching the Import Table.
Source available: YES
Language: C/C++
Date: October 2007
Converts Avi files to 4:2:0 Yuv files using the Video for Windows API.
Source available: YES
Language: C/C++
Date: September 2008
Tool to change display settings from commandline.
Source available: YES
Language: C/C++
Date: June 2009
A simple example on how to access the bootsector of hard/USB drives and show FAT/FAT32/NTFS infos.
Source available: YES
Language: C/C++
Date: June 2009
Commandline tool to search for strings in files or whole directories.
Source available: YES
Language: C/C++
Date: September 2010
This applet solves the well-known 8 Queens problem.
Source available: YES
Language: Java
Date: October 2005
Applet and Article about 2 dimensional collisions of balls.
Source available: YES
Language: Java
Date: May 2006
This applet calculates your blood alcohol concentration.
Source available: YES
Language: Java
Date: June 2006
Solves sudoku puzzles in two ways:
a)With Algorithm X and Dancing Links.
b)Backtracking Approach.
Source available: YES
Language: Java
Date: November 2006
A card game I played as little child. Now YOU can play it as applet.
Source available: YES
Language: Java
Date: June 2007
My applets and comments about Bezier curves.
Source available: YES
Language: Java
Date: July 2007
Applet and comments about Polygon Convexity Detection.
Source available: YES
Language: Java
Date: September 2007
Applets and comments about Polygon Filling with Scanline Algorithm.
Source available: YES
Language: Java
Date: September 2007
A logic-based number placement puzzle similar to sudoku. Contains
a) an applet to play this game including a 3D-view and a tutorial of course
b) a bruteforcer to solve these puzzles.
Source available: YES
Language: Java
Date: October 2007
Applet and Notes about the Cohen-Sutherland-Algorithm for clipping 2D lines against a rectangle.
Source available: YES
Language: Java
Date: December 2007
Applet and Notes about the Sutherland-Hodgman-Algorithm for clipping a polygon against a rectangle.
Source available: YES
Language: Java
Date: December 2007
Applet and Notes about Welzl's algorithm for calculating a smallest enclosing disk (minimal
enclosing circle) of a set of points in the plane.
Source available: YES
Language: Java
Date: May 2008
Online Calculator for evaluating mathematical expressions in various numerical systems.
Source available: YES
Language: Java
Date: July 2008
Applets and comments about Polygon Triangulation with Kong's Algorithm
Source available: YES
Language: Java
Date: January 2009
Applet for calculating electronic color bands to resistance values and the other way round.
Source available: YES
Language: Java
Date: October 2009
Applet for playing the famous 14-15 puzzle including automatic solver.
Source available: YES
Language: Java
Date: February 2010
Evaluating mathematical expressions using three different algorithms.
Source available: YES
Language: Java
Date: October 2010
Plotting/Rasterising lines, circles and ellipses using various algorithms, including the famous bresenham algorithm.
Source available: YES
/> Language: Java
Date: November 2010
My own breakout clone - play it online!
Source available: YES
Language: Java
Date: June 2011
Leveleditor for the game Stonebreak to create/change levels for offline gaming!
Source available: YES
Language: C/C++
Date: June 2011
Applet demonstrating two algorithms for testing if a point is inside a triangle
Source available: YES
Language: Java
Date: December 2011
Applet and article about three algorithms on how to fill/rasterize a triangle
Source available: YES
Language: Java
Date: May 2012
Applet and article about the hough transform algorithm for detecting lines in images
Source available: YES
Language: Java
Date: December 2012
Applet and article about the different algorithms about the relation of a given point to a given line in the two-dimension case
Source available: YES
Language: Java
Date: December 2013
A Brainfuck Interpreter with IDE.
Source available: YES
Language: C#
Date: April 2007
A Gui-Wrapper for my huffman compression.
Source available: YES
Language: C#
Date: June 2007
Generates *.m3u playlist from directories of music files by sorting them after filedate.
Source available: YES
Language: C#
Date: March 2009
Creates a include dependency tree for C header files
Source available: YES
Language: C#
Date: January 2013
A 32/64Bit PE File Viewer Tool.
Source available: YES
Language: C#
Date: September 2013
C# implementation of different CRC algorithms (command line application).
Source available: YES
Language: C#
Date last update: March 2023
Date initial version: 2015
C# implementation of different Base64 encoding / decoding algorithms (command line application).
Source available: YES
Language: C#
Date: January 2016
C# implementation of eight different permutation generation algorithms (command line application).
Source available: YES
Language: C#
Date: October 2016
C# implementation of fixed point numbers and arithmetic operations(command line application).
Source available: YES
Language: C#
Date: April 2017
C# console application to read the most important information from 32/64 bit ELF files (ELF header, section header table, program header table, symbol tables and note tables).
Source available: YES
Language: C#
Date: October 2018
Simple raycasting demo in C# - beta, released "as it is".
Source available: YES
Language: C#
Date: May 2020
Simple big (unsigned) integer library.
Source available: YES
Language: C#
Date: August 2020
Simple demo about how to project a point from camera to perspective to screen coordinates.
Source available: YES
Language: C#
Date: Octover 2020
Simple implementation of Vector and Matrix (2D / 3D) classes long with sample demo application.
Source available: YES
Language: C#
Date: February 2021
Simple solution how to implement a basic unit test environment in C#
Source available: YES
Language: C#
Date: November 2021
Simple generic tokenizer library that can be used to write custom tokenizer in C#
Source available: YES
Language: C#
Date: Initial January 2022, last update: April 2024
Demonstration of panning (moving a small view port in a larger world) and zooming (scaling the view port window) implementation
Source available: YES
Language: C#
Date: June 2022
Implementation of a JSON parser using my generic tokenizer library
Source available: YES
Language: C#
Date: December 2022
Online calculation of different CRC algortihms for given input data.
Source available: YES
Language: Javascript
Date: May 2015
Typescript implementation of area calculation of a simple polygon.
Source available: YES
Language: Typescript
Date: July 2017
Visualization of the two-dimensional cross and dot product.
Source available: YES
Language: Typescript
Date: August 2017
Visualization of basic operations of my fixed point number implementation.
Source available: YES
Language: Typescript
Date: April 2017
Online ELF viewer to investigate ELF files.
Source available: YES
Language: Typescript
Date: January 2019
Intersection of 2D line (segments).
Source available: YES
Language: Typescript
Date: December 2019
Fireworks graphic effect with 2D particles
Source available: YES
Language: Typescript
Date: January 2020
Moving starfield graphic effect with 3D particles featuring a hyper space jump visualization
Source available: YES
Language: Typescript
Date: November 2020
Scrolling text which has a perspective effect to create the illusion that the text also moves 'into" the screen
Source available: YES
Language: Typescript
Date: May 2021
Reflection of a vector at a surface.
Source available: YES
Language: Typescript
Date: March 2021
Mathematical representations of 2D lines.
Source available: YES
Language: Typescript
Date: April 2022
Graphic effects of falling water drops onto a surface creating water ripples that spread over the surface.
Source available: YES
Language: Typescript
Date: December 2023
Demonstrating different implementations of CRC algorithms
Source available: YES
Language: Silverlight (C#) [Javascript port available]
Date: February 2015
Demonstrating my implementations of various maze generation algorithms
Source available: YES
Language: Silverlight (C#)
Date: September 2014
Demonstrating my implementations of algorithms to calculate the difference of two dates (in days)
Source available: YES
Language: Silverlight (C#)
Date: November 2014
Generates *.m3u playlist from directories of music files by sorting them after filedate. Perl port of the c# variant.
Source available: YES
Language: Perl
Date: May 2014
Shows how to write a dll andhow to load it in two different ways (static and dynamic) in your own programms.
Source available: YES
Language: Delphi
Date: October 2001
Shows how to use the function EnumWindows to manipulate other windows captions.
Source available: YES
Language: Delphi
Date: October 2001
A simple Patch Generator. (Version 1.0)
Source available: YES
Language: Delphi
Date: November 2001
My first program ever in OpenGl. Shows a rotating cube and a simple particle system of beer bottles.
Source available: YES
Language: Delphi
Date: October 2001
How to play flash movies and mp3 files in delphi.
Source available: YES
Language: Delphi
Date: October 2001
Little tool which shows the Import Table of a PE file using Filestreams.
Source available: YES
Language: Delphi
Date: May 2002
A screensaver which shows the dropping letters from the Matrix Movie.
Source available: YES
Language: Delphi
Date: July 2002
Tool that can sizes other windows.
Source available: YES
Language: Delphi
Date: Januray 2003
My Xeyes version with 'Cartman' :-)
Source available: YES
Language: Delphi
Date: Januray 2003
Identifies a valid PE file by checking the DOS header (MZ) and the PE header.
Source available: YES
Language: Delphi
Date: February 2003
Shows the section table of a PE file.
Source available: YES
Language: Delphi
Date: February 2003
Shows the Import Table of a PE file using file-mapping.
Source available: YES
Language: Delphi
Date: February 2003
Shows the Export Table of a PE file using file-mapping.
Source available: YES
Language: Delphi
Date: February 2003
ProcessView enumerates all running processes on your system and shows information about all modules of one process.
Does not work under OS > WinXp and will most probably be declared as dangerous by many malware / anti-virus software.
Source available: YES
Language: Delphi
/> Date: July 2003
A little tool whichs shows your current wallpaper in inverted colors.
Does not work under OS > WinXP.
Source available: YES
Language: Delphi
Date: August 2003
A little tool which performs a logical AND, OR or XOR operation on the both values you enter.
Source available: YES
Language: Assembly
Date: April 2003
Example of a self-deleting executable using the batch-file method.
Source available: YES
Language: Assembly
Date: April 2003
Game where you have to put the appearing people in the three elevators.
Source available: NO (unfortunately lost)
Language: Java Micro Edition
Date: Second half 2004
A Tetris clone for my mobile phone.
Source available: YES
Language: Java Micro Edition
Date: February 2005
A Sokoban clone for my mobile phone.
Source available: NO (unfortunately lost)
/> Language: Java Micro Edition
Date: Spring 2005
Just displays various properties of the mobile phone, like display size, colors, MIDP version etc.
Source available: YES
Language: Java Micro Edition
Date: June 2011