Areas of Interest
Computer networks, encryption and computer security,
mathematics, free and open source software, algorithms,
programming languages and compilers, and Unix system
programming.
Previous experience
Automatic control, signal processing, time synchronization,
algorithm design and implementation, TCP/IP, Secure Shell, TLS,
Posix, Unix, Open Source, programming language design and
implementation, object oriented programming, embedded software,
client/server programming, XML & XSLT, encryption, finite
state machines, SMTP, IMAP, HTTP, HTTPS, RSA, IEEE 1588,
Solaris, Linux.
Over the years, I've used a bunch of different programming
languages. In roughly chronological order: Basic, 6502
assembler, Pascal, C, Common LISP, 68k assembler, Objective C,
Python, Pike, Scheme, elisp, C++, tcl, awk, x86 and x86_64
assembler, CPU microcode. Languages of choice are C, Scheme, and
Pike. Long experience with development tools such as make,
emacs, cvs, mercurial, and automated testsuites.
As for human languages, my mother tongue is Swedish. Good
knowledge of written and spoken English. Beyond English, basic
knowledge of Danish, German, Spanish, and Russian, and some
knowledge of French and Japanese.
Degrees
- 2008
-
PhD degree in Telecommunications, at KTH. Thesis title: Window-based
congestion control - Modeling, analysis and design.
- 2005
-
Licentiate degree in Telecommunications, at KTH. Thesis title:
Automatic control in TCP over wireless.
- 1998
-
Master of science in Applied Physics and Electrical
Engineering, at Linköping university. Thesis title: NCash - an
experimental digital cash system.
Curriculum Vitae
- 2008 --
-
Working at Conemtech AB (when I started, part of Imsys
Technologies AB, Conemtech was spun off as an independent
company in 2009). Works mainly with development of control and
signal processing algorithms for IEEE 1588 time and frequency
synchronization, occasionally involved in other development,
e.g., writing CPU microcode for signal processing.
- 2008
-
A two month contract at the KTH School of Computer Science. First
month spent mainly on integration and optimization of the new
code for computing the greatest common divisor. Second month
spent mainly on new multiplication code based on small-prime
FFT, including some highly optimized x86_64 assembler for the
most importantant transform routines.
- 2005 --
-
Involved in the development of GMP, the GNU library for
arbitrary precision arithmetic. Main author of the greatest
common divisor routines, using state-of-the-art subquadratic
divide-and-conquer algorithm for large sizes. I have also
contributed to multiplication and division.
- 2002 -- 2008
-
Graduate studies at the Automatic Control group at the KTH
School of Electrical Engineering (previously, the Department
of Signals, Sensors and Systems), Stockholm. Research into
applications of control theory to computer networking.
- 2000 -- 2001
-
Worked full time at E-hand, as security officer and developer.
Hacking was mainly for the Palm Pilot. I also spent a few
hours a week hacking free software.
- 1999 -- 2000
-
Worked full time at StreamServe AB. Hacking included systems
programming on Unix and NT, security, XML, and unicode
support.
- 1998 --
-
In my spare time, I'm hacking on LSH, a free software
implementation of the Secure Shell protocols, and the Nettle
low-level cryptographic library.
- 1996 -- 1999
-
Worked part time at Idonex AB (now Roxen Internet Software).
Worked on the Roxen web-server. Among other things, wrote its
SSL (Secure Socket Layer) implementation.
- 1993 -- 1996
-
Worked part time at the Mathematics department at LiTH
(Linköping Institute of Technology). Taught several math
courses for the engineering students.
- 1991 -- 1992
-
Civil service, which included training as nurse and ambulance
assistant, and a few months of practice at nursing home,
hospitals and the ambulance service in Stockholm.
- 1990 -- 1998
-
Studied Applied Physics and Electrical Engineering at LiTH.
Branch of studies: Applied Mathematics.
- 1987 -- 1990
-
Studied at Brännkyrka gymnasium, the science program.
Niels Möller