Tin Benjamin Matuka   Home Blog My work About me

My work

nsudoku

nsudoku
Ncurses based sudoku game with a random game generator, written in c during my senior year in highschool. I created this project in order to learn how to use ncurses and ended up spending half the time on the generator. It took me about one day from start to finish. As far as I know, packages exist for 2 Linux distributions: ArchLinux(AUR) and ttylinux.

yoctoserv

YoctoServ
A small live Linux distribution based on SLAX Frodo 5.1.8 intended for ad-hoc servers. It can be very useful on LAN parties or when working on a temporary location where you can't install any software on the computers around you. I made this while we were deploying the computer network at IOI 2007 which consisted of over 300 computers. Because I haven't had the need for it since, I haven't updated the distribution and I'm currently not planing on it doing that.

nanotemp

nanotemp
A template engine written in PHP. As the name suggests it is tiny and cosists of a single function that is 13 lines long. It can work with templates in strings or files, the marker can be easily overriden and it works under both PHP4 and PHP5. I have used this on most of my PHP work since writing it and it's been wonderful for generating HTML, XML and CSS code.

diahmap

diahmap
A relatively small PHP script that parses Dia's files that are made according to diahmap's specification and generates HTML and DokuWiki image maps. The main idea behind it was to have automatically generated image maps for documentation purposes(e.g. network diagrams, flow charts) and it has been useful. I also modified an existing image map plugin for dokuwiki to work more like HTML image maps. The scipt identifies objects on the diagram, so it will create an accurate map no matter what changes you make and spare you the annoying work of modifying image maps after every change.

desk

My work desk
As someone who likes his environment functional, I had trouble finding a desk to buy that satisfies my requirements. It took years of planning and procrastination to finally come pretty close to finishing it(I still need to make a few network cables and mount one of my network switches to the desk). Unfortunately, the CNC machine that we had available couldn't cut a board of the original size(1x2.5m) so it had to be made in 2 pieces. When it is completely done I will take a few photos and create a page for the project that will include photos, 3D renderings, a 3D model, 2D blueprints for both single piece and 2 piece versions and some basic instructions. My father and myself put the desk together and installed it(that was probably the hardest part since it included crewing a bunch of screws into reinforced concrete).

matuka.com

matuka.com
Web site for my family company. It is actually pure HTML generated from a CSV database and a bunch of HTML templates, so that it doesn't require PHP and doesn't waste processing resources since all the pages are static. I wrote the geneartor in PHP and it is 67 lines long including the nanotemp template engine. Bascially it has to put the HTML code together from specific templates, generate relative paths to other files, build the directory hierarchy and put generated code into files. It supports and uses multiple languages and submenus. Once the site is generated it is easy to deploy since it doesn't require anything other than basic HTTP and it is completely independant since all the paths are relative.