Emil Hernvall

I'm a Swedish guy in my mid twenties. I currently work as architect and CTO for a company called Znaptag. This page is a collection of various experiments I've done throughout the years. Most of what you'll find here is weekend projects, but a few are a bit more extensive.

Although not as much nowadays, I used to be an active member at Stack Overflow. You can check out my profile below.

Projects

This is a rather incomplete list of things I've done throughout the years. It's not really representative of the work I normally do, but I think it does convey a good picture about my interests.

SassyBarista

A java implementation of the SASS language, which is a superset of CSS. Based on a JavaCC grammar.

Candify

A visualizer framework for spotify, using the official libspotify. Includes some simple FFT-based visualizers, that works somewhat well. Should be easily extendable. Uses the windows DirectDraw API.

Cropper

Simple program to crop images quickly. Written using WinApi and GDI+.

Collapsible

Horrendously ugly tetris clone. WinApi and DirectDraw.

FatCat

A java implementation of an irc server. Currently no support for linking other servers, and also no services. Both will hopefully be fixed eventually.

Project Euler Solutions

Solutions for the hundred first Project Euler or so. Some problems have several solutions, and not all of them might work. A few problems (probably less than five) have partial solutions that doesn't give the correct answer.

Mosaic

A small unix program that constructs an image mosaic from a source image and a collection of smaller images (mosaic bricks).

Calculator

A java program that evaluates arbitrary mathematical expressions. Also includes some primitive plotting capabilities.

3D Engine

Experiment with software rasterization. Written mostly as a learning project, and horrendously unoptimized.

Quad Tree

An implementation of a Quad Tree, originally written for use in a Minecraft Server. Optimized for efficiently looking up which of a set of rectangles that a point in 2d space belongs to. Only supports a sub set of operations right now.

Experiments and snippets

This is a few smaller things that I've uploaded as gists.

Sudoku Solver in C
Using the naive substitute-and-permute approach.
Date diff implementation for PHP
Decoder for the EA .big-format
Used it to retrieve the videos for Red Alert 3. A really basic format, that was quite simple to reverse engineer.
Base64 encoder and decoder in Java
Finding the most popular word in a file
Using linked lists and merge sort (C)
Using a hash set (C)
In Java
Some different implementations of a word counter that I wrote as part of an argument with a friend.
Some basic code for parsing and generating wave-files
Parser in C
Tone generator in C
Recursive mkdir in C
Tiny java/swing app for language learning
Indexing spellchecker in PHP
Find a way to reverse a hand of five cards by moving three cards
setuid() to another user and give group members write permission to files with certain extensions.
Prime Sieves
Basic
Smart
Experiment with encoding data as sound
Transforms a data file to a series of beeps of different frequencies, that can be decoded back into the original file.

Contact

You can get in contact with me using my gmail. My username is emil.hernvall.