
Web Architect at Datakortet a.s
Finnmark, Norway

Web Architect at Datakortet a.s
Finnmark, Norway
I am a pretty average guy, but I’ve worked on some pretty interesting projects, known some quite interesting people, and had a more disparate set of life experiences from most people I know of. Occasionally I’ve been known to have some insight into what I’m talking about.
I’m a Taurus born in the year of the Dog. I’ve lived about half my life in Europe (where I’m currently living) and half in the U.S. I’ve got a M.S. in Computer Science, I’m also well-”read” in psychology and neuro-pharmachology.
I hold a black-belt in Ju Jitsu, and I’ve on-sighted 5.11c, although both are historic events.
Python, JavaScript, jQuery, HTML, CSS, Django, Apache, Linux, Windows, SQLServer (incl. stored procs), MySQL, SOAP, OOA, OOD, client/server architectures, Emacs.
I also know PHP, C++ although I never use them for new projects anymore.
(E-Learning industry)
July 2005 — Present (4 years 1 month)
I've been acting DBA for our SQLServer 2000/2005, and MySQL 4.1/5.0 instances.
I've programmed numerous internal and external projects, including the Norwegian boating registry (Båtførerregisteret), and the administrative parts of Jegerprøven (the Norwegian hunter's exam).
(Public Company; 1001-5000 employees; FIC; Computer Software industry)
August 2003 — November 2004 (1 year 4 months)
I worked on reporting issues using C#, .NET, and OLAP through WebForms.
(Public Company; 51-200 employees; Financial Services industry)
January 2001 — August 2003 (2 years 8 months)
I implemented a C++ database access library. First on top of ADO, then later on top of ODBC (without any interface changes, of course).
I developed the Object-Relational mapping between C++ and Narex’ new accounts database capable of storing 4700+ pieces of data about a person in ~40 tables. The data was time series data containing both relationally and hierarchically linked information (i.e. requiring self-joins on the database). I implemented two optimizations that reduced the number of reads significantly: futures (wait to read a record until it is used instead of when it is requested), meta-contents-table (keep a table with information about which tables contained records for a specific account instead of testing each of the 40+ tables sequentially).
Since the schema was in flux for quite a while and maintenance became a headache, I automated the O-R mapping by writing a code generator in Python. The code generator generated close to 300,000 lines of C++.
(Public Company; 201-500 employees; RWAV; Computer Software industry)
June 1999 — December 2000 (1 year 7 months)
As the tech lead for Tools.h++ I represented Rogue Wave at the ISO C++ Standards Committee meeting in Dublin in April 1999.
I was responsible for setting the technical direction for Tools.h++ versions 7.5 and 8.0, including development and incorporation of new features, bug prioritization, bug fixing, and porting as well as transitioning to a new configure and build architecture
I interacted with a couple of major Unix platform vendors who includes Tools.h++ with their compiler suites, as well as Tech Support, and Sales internally.
I was responsible for porting to all major flavors of Unix (including AIX, Solaris, HP-UX, Irix, Linux) and Windows (98, NT). I managed the technical aspects of a port to Siemens mainframes and pre-release versions of AIX, Linux, and Windows64 on a similarly pre-released version of the Intel Itanium processor.
(Public Company; 201-500 employees; RWAV; Computer Software industry)
July 1998 — August 1999 (1 year 2 months)
I was involved in defining the team lead position for tech support. My general duties included regular support, support escalations, interacting with and motivating my team of eleven engineers in Oregon and Colorado, and interacting with sales, marketing and development.
I was also involved in several programming projects to simplify the tasks performed in tech support. In particular I developed (with David Noor) the SqlSend middle tier server to provide persistent/cached database connections to various utilities, scripts, and web-pages written in a myriad of languages with (at least at the time) very varying database support. SqlSend was implemented entirely in C++ using Rogue Wave’s series of high quality, cross platform C++ libraries, including Tools.h++ (datastructures and persistence), DBTools.h++ (unified C++ interface to all major databases), Threads.h++ (multiplatform C++ threading and thread algorithm library), Net.h++ (network protocol library).
(Public Company; 201-500 employees; RWAV; Computer Software industry)
June 1997 — July 1998 (1 year 2 months)
I did technical support for both their C++ and Java line of database products, including DBTools.h++ (C++ universal database access), JDBTools (Java version), DBTools XA (DBTools extended with distributed transactions), and RWMetro (Rogue Wave’s automatic Object-Relational mapping tool).
I was involved in several special projects including Patcher, a web based automatic patch creation and documentation system, and TestWorld, a web based regression test result collector and viewer. Both projects were programmed in C++ as well as Python.
Master of Science , Computer Science , 1994 — 1997
Bachelor of Science , Computer Science , 1990 — 1994