Sverker Nilsson
R&D, Consultant
change is inevitable
progress is not


My objective is to carry out advanced technical research and development. Specialities include embedded real time systems, signal and image processing, Linux and Open Source. Programming especially in C but also C++, Python and other languages including various kinds of scripting, assembler and domain specific languages as appropriate or necessary.



Linköping University, 2006
Master of Science in Applied Physics and Electrical Engineering
Branch of study: Software Engineering
Thesis: Heapy: A Memory Profiler and Debugger for Python


2010-12 - current
VTI, Swedish National Road and Transport Research Institute. Developing integration of profile measurement data for compatibility with the Proval pavement viewing and analysis application.
2003 - current
Developing Guppy-PE, which is an umbrella project currently comprising Heapy and GSL. Heapy provides profiling, debugging and optimization support regarding memory related issues in Python programs. Heapy is based on extension modules written in C, which can be dynamically loaded from Python. The C code implements special algorithms for efficient address-based object sets, and algorithms for finding and classifying objects in the reachable heap.

GSL (the Guppy Specification Language) is a formal specification language for Python. GSL can be used to generate formal documentation and test routines from common specifications, to ensure that the formal documentation corresponds with the implementation. The test generation uses special algorithms that make use of optimized C data structures.

2009 - current
Member of the board at The Linux Society of Sweden .
Prestudies for two projects within image analysis.
Auditor at The Linux Society of Sweden .
Agama Technologies Used Heapy to analyse memory consumption in the client's Python program, to recommend what objects first to optimize, and how they could use Heapy to continue optimizing their software.
Developed programs for reading 2-dimensional barcodes and for Optical Character Recognition to be used for mobile phone ticketing. The programs were in C and Assembler using embedded Linux (uClinux) and a general purpose image processing library (OpenCV). Development used Python as a frontend. Hardware included an Analog Devices Blackfin signal processor and a Micron CMOS image sensor. This assignment was from the embedded system specialist Lilla Fabriken AB .
Finalized and presented my master's thesis , was opponent to a thesis in the field of bioinformatics and made a final exam. Also had an assignment to support the development of the third generation of PAVUE, a road survey system from OPQ Systems AB .
Developed a native code compiler for Python, with runtime implemented in C.
Developed a virtualization system for Linux in Python and C. Became involved with User Mode Linux and made a safety-critical contribution after examining the C source code.
Studied at Linköping University and also had some assignments from OPQ Systems AB to support the development of the second generation PAVUE system.
Developed a persistent data store for the Haskell programming language. It was implemented in C.
R&D consulting to help develop the road survey system PAVUE, on assignment from OPQ Systems AB . The system performs real time image analysis in extremely demanding conditions. My work involved algorithm research, software development, and hardware design. I programmed mostly in C and Assembler, to interface custom hardware and video equipment, to analyze image data and classify results, and to do graphical presentations.
Also carried out some smaller assignments for other companies.
Developed an accessibility aid (Termilux) for visually impaired people on assignment from PCC AB. The work involved low level C programming close to the graphic accelerating chip and the keyboard controller. I was also involved in some hardware design.
Developed software and algorithms for computer vision at Innovativ Vision AB. The work involved algorithm research, microprogramming for specially developed custom hardware, and C programming for graphical presentation. Was especially involved with an algorithm for WoodEye , a scanner that inspects, grades and optimizes sawn and planed timber.
Isotron Svenska AB. We developed a new computer based on Unix and the Motorola 68000 processor. My work included writing device drivers for the hard disk and the terminal accelerator, in C and assembler. Worked with Unisoft in Berkeley, USA to support the port of their UNIX version to the new computer architecture.
Primaldata AB. Developed software, mostly in assembler, and also designed some hardware. Projects included a battery powered data logger and device drivers for an hard disk, robot, and the GPIB interface.

Generated by GSL-XHTML 0.1.7 on Fri Dec 3 14:38:36 2010
Valid XHTML 1.0 Transitional
Maintained by Sverker Nilsson