BJÖRN STENBERG Systemutveckling inbyggda system, C, C++ Unix/Linux Födelseår: 1972 bjorn@haxx.se Haxx AB Telefon: 0703-99 69 86 www.haxx.se SAMMANFATTNING Björn har arbetat professionellt med inbyggd programmering och systemdesign sedan 1991. Han har en mycket gedigen erfarenhet av realtidssystem, hårdvarunära programmering, datakommunikation och objektorientering. Han har en förmåga att snabbt sätta sig in i och förstå komplexa systemsamband och avancerade tekniska lösningar. Björn har även stor kunskap om Internetlösningar och programmering av nätbaserade tjänster. Björn deltar i en mängd olika Open Sourceprojekt. Uppdragsinriktning: Teknisk produktutveckling med fokus på implementation av inbyggda system. PERSONLIGT På sin fritid tycker Björn om att bygga och flyga radiostyrda flygplan, umgås med sin familj och automatisera sitt hem. TEKNIKER OCH MILJÖER Realtidssystem OSE, psos, ecos, OS-9, VxWorks, Xenomai Operativsystem Linux, SunOS, Solaris, OS/2, Windows, MS-DOS, VMS Programspråk C, C++, Assembler, Perl, PHP, awk, bourne shell Processorer Intel x86, ARM, SPARC, Alpha, PowerPC, M68k, 6802, PIC, Infineon C167, Hitachi SH1 Bussar Ethernet, USB, SCSI, IDE, I2C, SPI, CAN, PCI, ISA Verktyg gcc, gdb, emacs, make, subversion, git, ClearCase, CVS, PVCS, Simics, pc-lint, TestTrack, Bugzilla, Flyspray, Rational Rose, MultiICE emulatorer, EST emulatorer, JTAG 1 av 5
BRANSCHER Digital video Mätutrustning Medicinsk utrustning Transport/Fordon Telekommunikation/Nätverk Hemelektronik TIDIGARE UPPDRAG 2014 Spotify Hemligt projekt. 2012-2013 Enea Software Teknisk arkitekt för utvecklingen av Eneas Yocto-baserade Embedded Linux-distribution Enea Linux. Teknisk lead för ett team av mellan 8 och 15 ingenjörer. Eneas tekniske representant i Yocto-projektet.2011 Enea Software Utveckling av hypervisor till OSE för virtualisering av multipla instanser av OSE5 och Linux på Freescale P4080 och LSI ACP3400. 2010-2011 Cavena Image Products Design och implementation av subtitle transcoder Teletext-to-DVB integrerat i en professionell MPEG2-enkodare. Embedded Linux,Xenomai, ARM. 2010 FLIR Systems Expert support and responsible for board-bring-up to embedded linux of board under development, based on Freescale dual-core QorIQ P2020. 2010 ORSoC Debuggning och uppdatering av linux-kärnan för OpenRisc OR1200. 2010 FLIR Systems Expertrådgivning och board-bring-up med embedded linux och u-boot för nyutveckling av ett kort baserat på Freescales QorIQ P2020 och Xilinx Spartan-6. 2010 Stiftelsen för Internetinfrastruktur (.SE) Implementation av EPP-plugin till OpenDNSSEC. OpenDNSSEC är ett verktyg för att säkra DNS-infrastrukturen med hjälp av kryptering och nycklar. EPP är ett protokoll som bl.a. används för att överföra dessa nycklar mellan olika instanser. Björn implementerade en plugin till OpenDNSSEC som ger möjlighet att automatiskt uppdatera zoners nycklar hos deras registratorer. Teknik: C, SSL, XML, Linux 2 av 5
2010 Stiftelsen för Internetinfrastruktur (.SE) Konstruktion av avancerad sorteringsrutin för stora zonfiler. Kunden hade en existerande implementation som gick för långsamt vid stora datamängder. Björn konstruerade en lösning som genom att ta hänsyn till hur moderna CPU:er och deras cachar arbetar nära 10-dubblade prestandan. Teknik: C, Linux, Intel x86 2005-2009 Blocket AB Björns Bostadsbytare (http://www.bjornsbytare.se) är den första och marknadsledande websajten för automatiska bostadsbyten. Man skriver in en detaljerad annons och sedan matchar sajten ihop den med andra annonsörer, i flera led om så behövs. Sajten har uppmärksammats i TV och dagspress för sin avancerade tekniska funktion kombinerat med ett enkelt användargränssnitt.. Björn har utvecklat och drivit sajten sedan 1997. 2005 köptes den av Blocket AB och som del i affären jobbade Björn på Blocket under några år. 2003-2005 Trimble AB Utveckling av ny s.k. totalstation (högprecisions laseravståndsmätare) för bl.a. lantmäteribruk. Multiprocessorsystem med intern och extern kommunikation över USB, Bluetooth och radiolänk. Ansvarig för design och utveckling av programvaran till huvudprocessorn. Teknikområde: Realtid, objektorientering, drivrutiner, feltolerant kommunikation Miljö: OSE, ARM, C++, CVS, TestTrack, MultiICE emulatorer 2001 In-System Design Utveckling av open source Linux-drivrutin för usb/ata-bryggan ISD200. Drivrutinen ingår i officiella Linux sedan version 2.4.8. Jobbet inkluderade också optimering av FAT-filsystemskoden i Linux. Teknikområde: Drivrutiner, filsystem, USB, ATA, SCSI Miljö: Linux, C, gcc, make 1998-2003 Siemens Elema AB Utveckling av nästa generations ventilator (Servoi). Arkitekt för systemplattformen, med ansvar för design och implementation av bl.a kommunikationssystem, operativsystemsanpassning och drivrutiner. Troubleshooting på djupaste nivå. Designade bl.a. CAN-protokoll för optimerad systemkommunikation, grafikdrivrutiner, CANkrets-drivrutiner och pccard-drivrutiner (ata-flash). Teknikområde: Realtid, objektorientering, distribuerade objekt, drivrutiner, bsps, design patterns. Miljö: psos, DIAB, C++, Rational Rose, PVCS, EST-emulatorer, Motorola PowerPC 821/860, Infineon C167CR 1999 Lärare i kurser om Motorolas MPC860-processor 1998 Lärare i kurser om VxWorks realtidsoperativsystem 1998 ECE, Madrid Cordless Telephony Systems (CTS). Teknikområde: Realtid, objektorientering, Distr. Objekt, Protokollhantering, drivrutiner. Miljö: NT, MS-C++ CORBA 3 av 5
1997-1998 ERA, Kista Cordless Telephony Systems (CTS). Arbetet gick ut på att ta fram en prototyp för servicenoden i CTS-tjänsten (a.k.a "korthålls- GSM). Teknikområde: Realtid, objektorientering, Distr. Objekt, Protokollhantering, drivrutiner. Miljö: NT, MS-C++ CORBA. 1996-1997 ERA, Nacka Segmentation and Reassamly Module (SAR). Arbetet var dels att göra ett program för funktionen och dels drivrutin till HW för samma funktion. Teknikområde: Realtid, objektorientering, drivrutiner. Miljö: OSE Delta, C++. 1995-1996 Autotank AB Design, konstruktion, implementation, test och dokumentation av transparent system för dynamisk laddning av drivrutiner för olika säkerhets tangentbord ("PIN pads") I projekt PETROPOINT. Hårdvarunära objektorienterad programmering I C++ under OS/2 m.h.a Borland C++ och Visual Age C++. 1994-1995 Svenska Kraftnät Design, konstruktion och implementation av 2:a generationens system för insamling av kraftproduktionsdata: projekt TRANS. Dessutom design och konstruktion av operatörsgränssnitt för detta. Objektorientering design och programmering i C++ och TeleUSE under DEC Alpha OSF/1 Unix. Design, konstruktion och implementation av användargränssnitt för presentation och manipulation av kraftproduktionsdata i projekt BAS. Programmering i C++ och TeleUSE under DEC VMS. 1991-1994 Frontec Railway Systems AB Design, konstruktion, projektledning, implementation, test, leverans och installation av FR3000, ett distribuerat övervakningssystem för spårtrafik. Spårdel: Hårdvarunära objektorienterad programmering i C under OS9000/i386: multiprocessystem, interprocesskommunikation, hårdvaru abstraktion, tidskritisk kod, datakommunikation, dataanalys, larmbehandling, felsäker kod, runtime test och diagnos. Centraldel: Programmering i C och TeleUSE under Unix SVR4 och X Window System, Datakommunikation, grafiskt användargränssnitt, larmbehandling, oändlig-logg-hantering, fleranvändar-identifikation och säkerhet. OPEN SOURCE-PROJEKT Rockbox Rockbox är en alternativ firmware för bärbara MP3-spelare. Det skrevs först för Archos tidiga modeller men har med tiden expanderat till spelare från Apple, SanDisk, Toshiba, iriver, Cowon, Samsung m fl. Rockbox har idag stöd för över 50 olika modeller baserade på fyra olika cpu-arkitekturer och spelar 25 olika ljudformat. 4 av 5
Björn är grundaren av projektet (2001) och har han varit inblandad i nästan all forskning, utredning, design och utveckling av operativsystem (inkl drivrutiner, filsystem och usb-stack), applikationer, simulator, byggsystem, felrapportering, automatiska byggen etc. http://www.rockbox.org/ Curl Curl är ett kommandoradsverktyg och ett library för nätverksöverföring. Curl stöder bl.a. FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3 och RTSP, SSL-certifikat, HTTP POST, HTTP PUT, FTP upload, HTTP form upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer resume, http proxy tunneling och en massa mer. Curl ingår idag i de flesta operativsystem och används kommersiellt i allt från pdf-läsare till tvapparater. Björn är medlem av curls utvecklingsteam. http://curl.haxx.se Smash Björn är ena halvan av utvecklarlaget bakom Smash, en client/server-lösning för att skicka SMS. Smash stöder idag runt 20 olika operatörer världen över. http://smash.sourceforge.net/ Debian Björn har skrivit det analysverktyg som används för att identifiera flaskhalsar och deadlocks i releaseprocessen för linux-distributionen Debian. http://release.debian.org/migration/ UTBILDNING Gymnasium, treårig Naturvetenskaplig linje. Björn har genom åren gått ett stort antal kurser, bl.a. iom områdena: TCP/IP, VxWorks, Ecos, C++, Java, RUP, UML, Personlig kommunikation, Gruppdynamik och Ledarskap. 5 av 5