Sevengoslings.net

Hello, my name is Morten Fangel

To offer a quick explanation I am all of the following:

Computer Scientist AND Software Engineer?

Yes. I have a BSc in Computer Science, a MSc in Software Engineering with my thesis written in Theoretical Computer Science. My thesis: Formal Verification of Distributed Programs using Session Types and Coq is available for download for those interested in reading it.
I enjoy learning about type-systems, writing type-checkers and working with dependently-typed programming languages and theorem-provers. But I also pride myself in writing elegant programs to solve more real-world problems. So I would like to think that I can be both a Computer Scientist and a Software Engineer and that the combination of those two makes for a great result.

Knowing the theory behind programming languages and having solved many problems with different languages have exposed me to many languages. Amongst the languages I have used to solve some kind of problems with are:

Although the languages I am most familiar with are PHP, Javascript and Galina / Coq.

Open Source Software contributions

I have benefitted greatly from the wealths of Open Source Software that exists, so it is only fair I try and contribute something back.
I have contributed to the following projects:

Drupal
I have contributed to both Drupal Core, Views, Search API and other smaller contrib modules. I have also created a module myself, although it is still in sandbox-mode.
OAuth.net
I have contributed greatly to the OAuth.net PHP library, mostly in the form of Unit-tests and ensuring that the specification was followed.
Ace-editor
I have contributed a patch to the Ace-editor so that webworker threads have improved loading-capabilities.

I have also created a few projects myself what have been released as Open Source Software. The most significant of these are RelAlg.js which is a web- and CLI-application for evaluating Relational Algebra expressions. To my knowledge it is the only such tool that contains a static type-checker and interactive error-highlighting.
A list of all my projects can be found at github.com/fangel.

Professional Work

I have worked full-time for IDG Denmark A/S where I helped launch their Xoops/PHP-based platform in 2006.
More recently I worked as the lead-developer for Mediehuset Ingeniøren A/S where I helped design, build and launch their new Drupal/PHP based platform in 2012.

While studying for both my BSc and MSc I worked part-time for Mediehuset Ingeniøren A/S for a combined 5 years. I have also TA'ed two classes, one on introduction to databases at University of Copenhagen and one on database tuning for the IT University of Copenhagen

I am currently working as a System Architect in the CMS team for TV 2 DANMARK A/S. My responsibilities include designing and building the services that lies around our CMS: Drupal. Most of these services are light-weight services built in Node.js.

Problem Solving

I enjoy solving a hard and interesting problem by thinking, fiddling and implementing proof-of-concept solutions. If I solve a interesting problem, I sometimes write an article explaining the problem and the solution. These write-ups can be found at fangel.github.io.

What I enjoy most in a job is being given free range to come up with a proof-of-concept solution to a certain problem such that it can be assessed if more resources should be spent implementing a real solution.
Spending a day or two to rapidly build a prototype can sometimes help the understanding and discussion of a proposal or problem. I would like to think that this is where I shine.

Living in Copenhagen, eh?

Yes, I am currently living in Copenhagen, Denmark with my lovely wife Kaitlin.
I have been living in Copenhagen ever since starting my BSc at the University of Copenhagen in 2007. For those interested, I live in the neighborhood of Nørrebro.