Photo of Davy Landman

Davy Landman

PhD student

SWAT (SEN1), CWI, Netherlands

CWI logoRascal-MPL logo

Welcome to my homepage

I am Davy Landman, a passionate software engineer turned PhD student. I enjoy developing software, but found research about developing software even more interesting! Therefore I left the industry and joined the CWI researching Domain Specific Languages (DSLs). I am part of the SWAT/SEN1 team, supervised by Paul Klint and Jurgen Vinju. Apart from my research, I also like improving our metaprogramming language Rascal-MPL, and if you are interested in metaprogramming, do check it out!

On this site you can find the following information:

"This site is completely written and built using DSLs"

large unreadable domain model

Current research

I'm hired under the NWO TOP-GO Grant `Domain-Specific Languages: A Big Future for Small Programs'. We focus on extracting DSLs out of existing (legacy) software systems. Because we believe DSLs will ease the evolution problems large software systems experience. During my PhD we focus on extracting domain knowledge out of existing software systems.

bookworm image

Publications

2013

2011

Compiling as an excuse, extracted from xkcd #303

Professional activities

As an enthusiastic software engineer, I also develop software as my hobby. Most of my software is available under an Open Source License. See my Github repositories for a list of my more recent projects.

Github

Community involvement

Blog

Before I became a PhD student, I used to maintain a weblog (very creatively called Landman Code) in which I discussed solutions for common implementation issues and various algorithms implementations. Below is a listing of the most recent posts.

Self-Description(xkcd #688)

About

Contact information

Davy Landman
Science Park 125
davy.landman@cwi.nl
+31633754110

Career

Education

For more details see my CV.

Hobbies

This site

Since I like DSLs, I set myself the challenge to write this homepage using only DSLs (HTML and CSS are already DSLs, but that wasn't meta enough...). Moreover, I wanted to break the trend of using the Twitter Bootstrap framework for designing my site, so this site is 100% handcrafted! Check the source at the Homepage repository hosted on Github.

I chose to use DSLs from the Node.js community, since that is the hip thing to do ;-). This page actually gets built using Node.js. But since node is 'plain' JavaScript, I picked CoffeeScript to write all the 'server-side' as well as the client-side JavaScript.

The HTML structure of this page is written in Jade, which uses indenting for hierarchy, and the contents of the subparts are separate .jade files that are included at build time. The css is generated using Stylus, which supports calculation (even on colors), mixins, variables, and nesting of selectors.

The contents is written using a combination of Markdown for the static parts, and Jade for the generation of the dynamic parts.

The bibliography is generated from a BiBTeX file (which is parsed by Javascript). The github projects list is collected using the JSON api and the node-github package. And finally the list of recent blogposts is extracted from the RSS feed using node-feedparser.

The last technically interesting fact is the deployment. After each git push (checkout git hooks!), the site is recompiled and rsynced to the web server.