BlogAbout MeGalleryLinksContact

Personal Details

NameDavid Landwehr
Address
Bredholtvej 3
DK 2650 Hvidovre
Denmark
Phone Mobile+45 24 27 55 18
E-mail addressdavid@landwehr.dk
Birth date20th January 1977
Marial statusMarried with two child
EducationMaster of Science in Engineering
Profile PhotoA portrait picture

Personal Profile

QualitiesAnalytical and Objective
Innovative and Entrepreneurial
Pragmatic and Diplomatic
Energetic and Productive
Calm and Balanced

Professional Summary

2011 (Jan) -
SolidApp
Freelance
Java, Android, iOS, JavaScript [jQuery, KnockoutJS, Google Closure), CSS, Graphics]
2008 (Oct) - 2011 (Jan)
PicoForms
Chief Product Architect
XForms, Java, Android, .NET, C#, J2ME, C++
2008 (Jan) - 2008 (Oct)
PhaseOne
Software Developer
C++, C#, Objective-C, Cocao, .NET
2006 (Jul) - 2007 (Dec)
PicoForms
Senior Product Architect
XForms, Java, .NET, C#, J2ME, C++
2005 (Sep) - 2006 (Jul)
SolidApp
Independent
XForms, Java, .NET, C#, J#
2003 (Nov) - 2005 (Sep)
Novell Denmark A/S
Principal Software Engineer
XForms, C++, Java and XML
2001 (Mar) - 2003 (Nov)
SilverStream Software
Principal Software Engineer
XForms, Java and XML
2000 (Feb) - 2001 (Mar)
Wapportal
Senior Developer
Java, Device Transcoding

Work Experience

2011 (Jan) -
SolidApp
Freelance Software Developer
As a freelance consultant I have worked at one main client in the area of construction. I also worked on Android projects for another client.
I build a system that handles collecting quality assurance in the construction phase. The system was build as a Software as a Service solution and provides a web interface, an Android client and an iOS client. I participated in the specification of the system, created the software, made graphics and UI for the website and the mobile clients, and build the system on a tomcat platform.
2008 (Oct)-2011 (Jan)
PicoForms
Chief Product Architect
PicoForms is a software provider of mobile solutions based on its standard based widget platform. PicoForms platform is based on a server side and a distributed J2ME client. At PicoForms I was responsible for the development of the platform and the development of widgets.
I renewed the PicoForms rendering capabilities with the following features:
  • Font rendering of anti-aliased fonts generated from OpenType or TrueType
  • Rendering of round anti-aliased transparent corners
  • 3D transition effects using OpenGL and M3G
  • 3D controls
I did performance tuning of the platform to being able to run smoothly on JVMs with special JIT requirements.
I also ported the client platform to Android.
Below is a video demonstrating the UI running on a Nokia N78:
2008 (Jan) - 2008 (Oct)
PhaseOne
Software Developer
PhaseOne is a manufacture of a digital camera that is used by professionals. PhaseOne has a RAW processing software package called Capture One which processes RAW images from PhaseOne's camera but also from cameras produced by Nikon, Canon and others. I worked in the Capture One core algorithm group as a software developer with the responsibility of the overall processing architecture and communication to two UI groups (Windows and Mac OS X).
Capture One had three groups working on the software. One group made the Mac OS X version which was written in Objective-C and used Cocoa. The second group made the Windows version which was written in C# and was running on the .NET platform. The last group, the group I worked in, implemented a C++ cross platform library which did all the image processing. In that group I worked as liaison between the two UI groups and defined the API between the core library and the UIs. This meant I wrote code in C#, Objective-C and C++. I also performance tuned the C++ library and debugged everything from the UI to the processing algorithms. I also worked on memory allocation algorithms since the core processing required huge amount of memory and the build-in allocator/deallocator created fragmentation.
2006 (Jul) - 2007 (Dec)
PicoForms
Senior Product Architect
I started in PicoForms which develops Java browsers for J2ME targeted for mobile phones and for Java Personal Basic Profile targeted for embedded systems.
I developed a browser for J2ME which supported DOM, CSS, XPath, XML Schema datatypes and XForms. The browser was targeted for devices supporting CLDC 1.0 and MIDP 2.0. I also developed a XForms C++ implementation for Internet Explorer using COM and Binary Behaviors. Additionally I was out for a 3 months period where I worked as a consultant for a danish pension company on there internal administration system. The technologies used here was Java with Websphere as J2EE container using Batis and Spring.
2005 (Sep) - 2006 (Jul)
SolidApp
Independant
I started my own company, SolidApp with the mission to build and service software that creates, deploys and runs standard-base declarative applications for Java and .NET
I wrote an XForms processor in Java targeted for small devices. The emphasis was to create an XForms based runtime as a building block for creating declarative applications. A layer above this creates the foundation for a declarative application platform where the user interface/application is created based upon the incoming data and the user interaction. This layer consisted of an XSLT processor which will incrementally evaluate the stylesheet rules and update the host document, e.g. the document which is displayed to the user. The actual rendering of the host document is left as a building block outside of the platform, e.g. I have a rendering for J2ME MIDP devices which is created as an example rendering. Also I am in the process of creating a .NET rendering which utilizes the Internet Explorer Web Browser Control. The processor is open sourced at sourceforge (http://solidforms.sf.net).
2003(Nov) - 2005 (Sep)
Novell Denmark A/S
Principal Software Engineer
Novell acquired SilverStream Software where I was working until 2003(Nov).
I worked as Novell's representative in the W3C XForms working group during the entire period of my employment. I participated both as an editor and as a regular member in the working group.
I developed two JavaTM XForms processors and one C++ implementation for Internet Explorer. Both JavaTM processor were made as a foundation for other rendering capabilities, mainly a server-side J2EETM XForms processor for HTML browsers. I wrote an XPath implementation for the first JavaTM processor. The second JavaTM included a partial but substantial CSS implementation.
The C++ implementation for Internet Explorer was written as a COM/ActiveX component based on Binary Element Behaviors. The implementation was created as an attributed ATL component and was written using C++ templates. A part of this component was ported and donated to mozilla.org for the XForms extension for Firefox.
The C++ implementation for Internet Explorer also has a toolbar.
2001 (Mar) - 2003 (Nov)
SilverStream Software
Principal Software Engineer
SilverStream Software acquired Wapportal where I was working until 2001 (Mar).
I developed software for the transcoding of content to small devices using a "slice and dice" approach. The software was written in JavaTM for the SilverStream Application Server (a J2EETM application server) and the transcoder was integrated into SilverStream's portal solution. I also commenced work with XForms in this period.
2000 (Feb) -2001 (Mar)
Wapportal
Senior Developer
I created a WAP-page system much like the JSP architecture. The system was used to present information to mobile devices capable of WAP. The software was written in Java and specific for the SilverStream application server. I also started work on transcoding of content to small devices.
Prior
Corebit
United Consultants
Ericsson
Student Jobs
I worked as a supporter for the SilverStream application server at Corebit and United Consultants. I also developed a customer relations system for that particular application server.
I developed two Microsoft Access databases (one collecting quality measures and representing them as graphs and one for tracking where people where located in the building) for Ericsson. I also created several internal web applications for them.

Hobby development

iPhone
Chess Game
I made a small chess game for iPhone based on GNU Chess. I ported GNU chess to run on iPhone and I implemented a UI in Objective-C. I tried to enhance the playing experience by bubbling up the board and pices when the user was doing a move. It required a lot of low pixel calculations and it gave a fun feeling to the game however I surely wasn't the right solution. I also drew the chess board. I didn't try to get the game on Apple's AppStore as it contained GPL code. Below is a video showing the game in the latest development version:

Education

1995-2001
Danish Technical University
Master of Science in Engineering
General engineering field: Electrical Engineer
Specific engineering field: Computer Systems.

Master thesis

Fuzzy Data Analysis (Pap Smear Analysis) Graded 11 (magna com laude) for independent and excellent performance.
The thesis was about analysing images of pap smears which is samples taken from the uterus. The thesis analyzed different digital image processing techniques for extracting feature-sets. It then analyzed the featuresets for classification to reduce false-positives.
1997 (Sep) - 1998 (Jan)
Military Service Beredskabskorpset Hillerød
Military Service
Fireman with Smoke Diver certificate
Office Clerk
1992-1995
Vestre Borgerdyd Gymnasium
Upper Secondary Examination (Mathematics)

Professional Interests

I have a strong interest in declarative approaches and markups for developing applications. XForms is just such an approach and therefore I am interested in continuing my work in this area. XForms in particular is interesting since it is a standardized markup language from W3C and is widely accepted by companies like IBM. I am interested in projects which develops XForms processors and in applications which utilizes XForms.
I also have an interest in embedded devices and developing application for those. My interest is based on the challenge of developing usable applications which can only use a limited amount of features. I am interested in compiler technology and generation optimizations which can be used to deploy declarative application to small devices.
I am interested in working in teams and in leading the technical development in projects.

Personal Interests

Computer graphics, animations, creating small games, making websites, taking photos are all things that I find amusing and would like to spend all my time doing. Most of these things are done behind the computer so occationally I like to go for a run, a walk or just travel the world.

Skills

LanguageDanish spoken and written
English spoken and written
Computer Languages
(in order of experience)
JavaTM
JavaScript
C++ and C
J#
Obj-C
C#
Python
PHP
Visual Basic
Delphi (and Pascal)
FrameworksStripes
jQuery
KnockoutJS
Google Closure
Computer ArchitecturesJ2EETM
Eclipse
Netbeans
Microsoft Foundation Classes (MFC)
Cocoa
Blender (3D Graphics)
Incskape (2D SVG Graphics)
Gimp (Bitmap)
Flash (2D Animation)
Microsoft ActiveX (COM)
.NET Framework
Microsoft Windows
Linux
Computer SpecificationsCo-editor W3C XForms (http://www.w3.org/tr/xforms)
Editor on exforms.org for extending XForms (http://exforms.org)
CertificationsSun Certified Programmer for Java2 Platform