Linux/Unix, network, hardware, real-time and embedded related programming. C or C++. Focus on implementation.
Made sure that the Linux 2.6.31 kernel with the RT patched applied worked flawlessly and that latency was kept to minimum. On Freescale's P4080-platform.
July: started project with unrevealed details (so far)
Worked on u-boot and Linux device drivers for a Collibri PXA270 based system with touchscreen, running Qt and more.
Extended SSL certificate support for libcurl
Debugged, developed and designed software for video subtitling on a target running a Nios2 CPU completely bare without operating system. TCP/IP provided by an external Epson S1S60000 chip and graphics by in-house FPGA.
January - March, parental leave.
April, started for real working with the "System Platform Team" on Polystar to do a 10 gigabit ethernet platform for monitoring and load generating.
January, qt3/embedded on Linux frame buffer on a sh4-linux for Tilgin.
February, AT91RM9200-linux in two projects. Writing software design for Fiberson and adjusting frame buffer driver for Bitsim.
March, MicroBlaze uclinux
April, uclinux on Nios II
May - September, Linux drivers and applications writing at TagMaster
October - end of year. Parental leave, taking care of my son.
... continued my Tagmaster assignment until June 30th.
August: Doing curl work funded by IIS and Hillcrest Inc.
Some Linux hacking on a board equipped with NEC's MIPS-based EMMA2SW microcontroller.
Wrote a framebuffer device driver for Bitsim's Badge display controller, running on Linux 2.6.11 PowerPC 402.
Wrote device drivers, linux apps, protocols, u-boot adjustments and more for Tagmaster and their AT91RM9200-equipped board.
Spent December working on libcurl hiper project, funded by IIS.
Spring: Assignment on Trimble continues...
Autumn: paternity leave. Taking care of my daughter full time.
Spring: wrote a web based application for Stockholms Läns Landsting, to help them organize a huge move and reorganization.
Produced a web based planner-tool to help Kulturhuset handle and book rooms and events.
September: doing embedded programming for Trimble. Working with OSE on an ARM7 CPU. 24MHz 2MB ram. C++. Development on Windows. Armcc, AXD debugger. Hush hush product.
At Net Insight still. Design and development of the low-level DTM protocols. Multiple platforms, speed efficiency, robustness. Lots of debugging.
In April, a separate project, still at Net Insight. Ported the embedded web server to Linux, did some general cleanups and code improvements in the web server code.
In August, started porting the SNMP server to Linux to make a similar test and development environment for that server as I already did for the web server before the summer.
September: (after 2.5 years at Net Insight I'm out).
October: Project with embedded Linux on ARM (Intel Xscale PXA250). 10" touch-screen, ethernet, running mainly a browser. Qt/E + konq/E.
Continuing on Net Insight. Doing more digging around in the NetBSD kernel.
For almost the whole year, I've been working on debugging. I sort out other people's hard-to-solve problems, system level errors, sever memory leaks, compiler bugs, OS bugs and more. I use probe (pSOS' built-in very raw and basic system "debugger"), assembler level digging and common sense.
January: Linux kernel hacking, PPP extensions, modifying samba, modem and ISDN drivers and more for Direct2Internet's Access Switch based on a Linux 2.2 platform.
March: Writing switch layer protocols and software for Net Insight, on a platform (a DTM switch) based on a StrongARM running pSOS and NetBSD.
January: Back to network job with Frontec's LAN and WAN for a short while.
February: Autodiagnos, Fittja. Writing software for a car testing tool. More specifically, the little device tested a car's ignition system. Target CPU: Siemens 8051.
September: Writing drivers at Ericsson, ERA, Kista. It is a GSM switch based on a PPC 403 running OSE.
November/December: I helped two different projects at Ericsson Telecom and Siemens Elema to debug and bugtrack errors with their native IP-stacks and IP related problems.
Quit Frontec. Started working for Contactor.
Spring: a second project at ERA, Nacka. Working within the same application with hardware initialization and port-selecting(!)
March: helped Frontec consultants in need, in Nice, France. ARM assembler, C debugging and general unix admining.
April: work for Ericsson Telecom (ETX) in Nacka. Building, designing and structuring a "system test lab" (unix setup, routing, network design). Test-tool developing. Lots of CGI / web based trouble report and logging system.
August: Ericsson Radio Systems (ERA). Back with the SSCOP (protocol stack) work. Extending, and changing the interface.
Started: at Ericsson from the previous year's project.
Summer: worked as unix/network admin with the Frontec Tekniksystem's unix network. The previous admin quit during the spring and I spent the summer getting the network up again to a satisfyable level.
Autumn: work for Ericsson Radio Systems (ERA) in Nacka, implementing a "secure transmission" protocol layer (SSCOP - ITU-T recommendation Q.2110) in a Wideband CDMA telephone base station, an ATM switch. The platform is a PPC603 running OSE.
August 1996: Started working as a consultant at Frontec Konsulter Stockholm (which later became Frontec Tekniksystem).
September to May 1997: Bugfixed and extended a PPP-driver under pSOS (68360) at Ericsson Business Networks (EBC) in Nacka. I also wrote a memory handler that replaced pSOS' internal one.
Started working for Frontec in August 1993
Worked a few years for Frontec Railway Systems with real-time (lots of OS-9/386 stuff and some Hitachi 703X assembler), Unix (DELL UNIX, TeleUSE, X11) and datacomm. Hardware intense and uptime critical programming.
Worked for IBM with their RS/6000 systems. Installation, programming and more. Learned unix and C for the first time.
Did my military service. 10 months in Strängnäs. Learned MC68000 assembler on my Amiga.
Finished school. 3 years of 'Naturvetenskaplig linje' ("science"). Learned pascal.
Bought my first computer, the C64, learned to program. Wrote games and demos using 6510-assembler.