Jopsen.dk - A Personal website
Warning: Invalid argument supplied for foreach() in /home/jopjopsen/jopsen.dk/blog/wp-content/themes/jopsen.dk/header.php on line 48


August 24, 2010
Turning OpenOffice Math into a visual formula editor
Filed under: English,Linux,OpenOffice by Jonas Finnemann Jensen at 02:40

I’ve spend most my summer working on my GSoC project, which was to create a visual formula editor for OpenOffice Math. Currently, formulas are entered in OpenOffice Math using a plaintext command language, this can be efficent and easy for power users, however, it’s an absolute show stopper for most casual users. So I’ve spend my summer writing a visual formula editor for OpenOffice Math, you can see demonstration here:

I participated in GSoC for Go OpenOffice, which is a project that maintains a set of patches on top of OpenOffice. Go OpenOffice is the OpenOffice version distributed with OpenSuSE, Ubuntu and other distros, it is allegedly a lot better than the official OpenOffice release. And also available for Windows.

Hacking OpenOffice have been a very exciting experience. I haven’t worked on a project so large and complex before. It easily takes 2 hours to build OpenOffice and the sources and binaries fills about 13 GiB. Luckily I didn’t have to rebuild everytime I had to test something.

The visual formula editor, see video above, is not production ready yet. That is it needs extensive testing and a few extra features… However, I plan to keep working on it. You can read more about it’s features and current status here.

I don’t think I’ll keep updating that wiki page, but rather post some updates here once in a while. If you are eager to help test this feature when it comes that far, feel free to leave a comment with your email…



July 3, 2010
Hjemme fra børnesommerlejr 2010
Filed under: Dansk,Personal by Jonas Finnemann Jensen at 08:46

Så har jeg endeligt fået sovet ud efter endnu en hård og fantastisk børnesommerlejr… Den sidste uge har jeg været leder for nogle 5-6 klasses piger på Kfum-Kfuk distrikt Midtjyllands børnesommerlejr 2010. Og igen var der tale om en fed lejr masser af sjov, vand og sol (måske i virkeligheden for meget for en nørd som mig). I år måtte jeg så også se børn der var mine unger for 3 år siden komme med som ungledere, den slags er faktisk lidt foruroligende. Men efter grundig opgørelse, for ja jeg kunne faktisk ikke huske det, så har jeg været med på børnesommerlejr som leder 5 (+1 en gang som ungleder). Når, men jeg har ikke tid til at reflektere over at blive gammel, det kan jeg gøre når jeg bliver pensioneret :) .

Temaet for årets børnesommerlejr var cirkus. Dette skulle selvfølgelige reflekteres i hiken, hvor vi bl.a. havde kapløb i klovne sko, flødeskums kast (på leder) og tiger tæmning som poster. Anders og jeg var posteret ved tiger tæmnings posten, her skiftedes vi til at kravle rundt, skærer tænder og skrige os hæse, mens ungerne skulle pacificeres os med pakketape. Nedenunder ses, en farlig tiger (mig), indfanget af 8 friske tiger tæmnings aspiranter :) .

Til trods for et par dråber regn forløb hiken helt godt… Vi overlevede alle sammen, selvom vi savnede vores har-alt-mulig-i-traileren-mand Jens Christian, det forlyder dog at han kommer igen næste år :) . Udover et par dråber på hiken fik vi ikke noget regn på børnesommerlejr. Men det betyder jo ikke at man kan forblive tør, når ungerne får lov at give en leder vand til lejrbål hvis de har det pæneste telt. Således gik det altså til at jeg ikke kunne komme til lejrbål uden at blive våd…



June 25, 2010
groo, a GRim Object Oriented programming language
Filed under: Computer,English,School by Jonas Finnemann Jensen at 01:46

Hmm… Not the official title of my fourth semester project at Aalborg University. For which I just got an A… and have been thinking about publishing since I handed it in.

This semester my group have designed and implemented a small statically typed object oriented language slightly inspired by Python. We wrote our own lexer and parser generator in Python, and implemented the compiler in C++. And just for the record we implemented the DFA of the lexer and PDA of the parser using goto’s, inspired by re2c, this was quite fun and the result very fast.

The language is called groo (that was the best name we could come up with), it compiles into gril (groo intermediate language) which in turn run on VROOM (groo virtual machine) where memory is managed by MOM (Mark-sweep Object Manager). Whilst this isn’t the best project yet, and all the acronyms doesn’t make much sens, I really like to say that when we need to release memory we call MOM to clean up :)
(I appoligies for my crazy sens of humor).

I don’t think the project is of much use to anybody else… But if you want to play with simple, well documented compiler in C++, this might be it… Also the parser generator is AFAIK pretty unique, haven’t see anybody else implement a parser using goto’s… Anyway the project report and groo compiler source code is all in English and available here:



January 31, 2010
zbar-sharp, now bugfixed and pushed to github
Filed under: Computer,English,zbar-sharp by Jonas Finnemann Jensen at 08:02

I’ve long been wanting to play with Git, but have either missed the time or the reason… Anyway, as I discovered a minor bug in the zbar-sharp bindings I recently released… I figured this might just be the kind of project I could push to github, and either forget or bugfix depending on what mood I’m in when a bug is discovered… :)
So I’ve created a github repository for zbar-sharp, to which I’ve published a minor bugfix… I’ve also managed to publish the documentation there… it was a bit tricky, because GitHub only wants to serve HTML files if they’re in a special branch… Nevertheless I succeeded… And zbar-sharp can now be found here:

By the way did I mention, git is really nice… I just had a little fun making a bugfix branch and merging it…



January 17, 2010
Design patterns
Filed under: Computer,English by Jonas Finnemann Jensen at 03:01

I recently finished reading “Design Patterns: Elements of Reusable Object-Oriented Software” and thought I’d share a word about this book. Not that there’s much to say, it’s absolutely a classic, and definitely worth a read…

I’ve found the patterns applicable many places, and recently had the privilege of using one in my C# programming exam. I previous mentioned this book when I discussed “Framework Design Guidelines“, which I wasn’t too happy about at the time… However, “Design Patterns” is definitely the book for writing reusable code, whereas “Framework Design Guidelines” is more concerned with the usability of the APIs.

Anyway, that was a word on “Design Patterns”, definitely worth a read…



Older Posts »