Hey there! Thanks for visiting my website. I just wanted to inform you that your browser might warn you about possibly malicious content if you try to download my software. This is just because you're downloading executable files. I promise there is no harmful code in any of the published applications. Also, this site does use cookies. If you continue to use this site, you accept the use of them.


Since it's understandable that you might not want to run any executable without knowing what it does, I developed TESM.TESM stands for ThrownException's Security Manager. Using a Security Manager is an already known mechanic in Java, but there is only one default one and it's static. TESM is a dynamic Security manager, with a whitelist, a blacklist, a default option and user interaction. Any code ever written eventually uses certain core methods that come with the installation of Java. These methods all consult the set Security Manager to get permission for doing certain things. Web applications won't get permission from the default Security Manager to access files for example. TESM will grant or deny permission based on a configuration file that can be found in the same folder as the executed .jar file. To set TESM as your security manager, drop the two files provided below in any .jar and run the .jar using a command line interface with:"java -Djava.security.manager=TESM -jar [name of file].jar"You can find the necessary files here.

All my code is licensed under the Creative Commons BY-NC-ND license.

For more information, click the icon at the bottom of the page.

  • ThrownException


This application is a maze creator, generator and solver. The white squares are corridors and the gray/black squares are walls. Click or drag to toggle walls on (gray) or off (white). Black walls can't be removed. There is a grid of black dots across the entire board to prevent the maze from becoming offset. If you right-click the maze, you can move the start and end point. However, these points must always be in an "open" row and column (the ones not containing black dots). The slider is the zoom level, the number boxes are the width and height and the export button allows you to save the maze for printing purposes. The width and height indicate the number of "open" rows and columns and are at most 250 by 250.

There are 3 generation methods:

Fill - Fills the editable area with walls. You dig your paths into it.

Clear - Clears the editable area (grid of black points won't be removed). You build your walls to form a path.

Random - Uses a randomized version of the depth-first search algorithm. It randomly digs a path, without breaking a wall to a pathway behind it. When it gets stuck, it will backtrack until it finds a spot where it can continue again by branching off into a different direction.

The solve method uses the dead-end filling algorithm. It scans the area for dead-ends and fills them up until the next junction.

Both algorithms are animated (extremely fun to watch for large mazes). Download here!

9 views0 comments

Recent Posts

See All


This application will make your entire screen go black. Simply start dragging on a black area to start scratching away the black overlay. The more you scratch away, the bigger the scratch area is goin