Bentley Laaksonen Custom Linux & Full-Stack Software Dev


Software, Firmware

{ Embedded, Desktop, Enterprise} Linux

IT { Infrastructure, Security }


C, C++, C#, Bash, MATLAB

css, html, Perl


Embedded, {2.4, 2.6-5.x} Kernels

RTAI, RTOS, Device drivers, ext{3,4}/encfs

Custom/LFS, Yocto, Gentoo, CRUX


TCP/IP, USART/RS-232, CAN, I2C, I2S, raw sockets

dns/bind/tls, dhcp, samba/cifs, apache

Windows DCs, iptables/firewalls, DFS, LDAP


Arm/i.MX7, AT32UC3C/at90, FTDI, WIZnet

x86/amd64, ppc/mpc603e


Algorithms, Optimization, Correctness,

Comm/Sockets, Infrastructure, Simulation,


System architecture, Release management

Agile, Subversion, Git, Markdown


Visual Studio, Atmel Studio



Python, Julia, Haskell, javascript

Android Studio

Custom Yocto Linux OS Design & Dev
  • implement NXP high assurance boot
  • custom bootloader, dtb, kernel, eFUSES
  • security via HAB/OPTEE/TA
  • extended to all boot elements
  • extended to rootfs via dm-verity
  • dual boot fault-tolerant upgrade
  • custom V4L2 camera driver
  • revision and release control
  • support eMMC/mii phy, JX-F22 camera
  • debug POR, stability, watchdog, tamper, USB
  • debug DVFS, NXP SNVS
Custom Embedded Linux OS Design & Dev
  • custom 1MB+5MB footprint
  • custom bootloader
  • strict RO FS for stability/correctness
  • limited RW config partition
  • extended RW data-only partition
  • dual boot fault-tolerant upgrade
  • real-time device driver(s)
  • flex upgrade via bootloader, USB, network
  • live, in-place, upgrade option
  • watchdog, printer support, etc.
  • revision and release control
  • live documentation
  • concurrent support for N hw platforms
  • concurrent support for M personas
  • concurrent support for P configurations
  • bootloader selectable inittabs
  • interprocess communication(s)
  • serial communication(s)
  • network communication(s)
Custom Zeroconf Full System Build Design & Dev
  • end-to-end automated build from naive host
  • fully automated via top-level bash
  • downloads, patches, opensource tarballs
  • builds host-independent build environment
  • builds host libraries
  • builds cross-compiled target libraries+apps
  • builds cross-compiled target kernel
  • builds custom target rootfs
  • builds automated OSS compliance iso image
  • builds target binary images
  • builds target USB upgrade key images
  • builds run-once special USB keys
  • build logging
  • web interface with revision and release control
  • web interface with automated documentation
Product Embedded Development
  • gen1 FTIR EtOH Monitor, embedded Linux
  • gen2 FTIR EtOH Monitor, embedded Linux
  • gen3 FTIR EtOH Monitor, embedded Linux
  • gen4 Solid-State EtOH Monitor, bare metal
  • gen5 Solid-State EtOH Monitor, bare metal
  • gen1-3 supported by single build, single source
  • gen4-5 supported by N builds, single source
  • end-to-end automated builds
Win10 Dev/App for Hardware Command & Control
  • single PC application supporting ALL devices
  • N operating modes pending use scenarios
  • option to commandeer slave target instrument
  • clinical data collection modes
  • demonstration and sales modes
  • real-time instrument monitoring
  • real-time instrument display mirroring
  • various levels of direct control
Custom Intranet Design & Dev
  • automated markdown documentation
  • software repository interface
  • bug/task interface
  • device configuration interface
  • dynamic recoverable admin code interface
  • time-limited admin recovery codes
  • custom live dev commit interface
Linux Computing Cluster Design & Dev
  • 400+ computing nodes
  • build engine
  • management and control scripts
  • visual web based interface
  • network architecture
  • load design
  • sql database
  • MATLAB interface
Algorithm Optimization
  • MATLAB to C
  • C, C++, C# duplicity
  • time-domain optimization
  • space-domain optimization
Airborne Laser (ABL) Simulation Design & Dev
  • simulation architecture
  • custom MATLAB libraries
  • monty carlo run options
  • fully isolated parameter db
  • automated code V&V
  • automated live analysis scripts
  • develop and test algorithms
Personal Dev Style
  • develop generic, reusable, independent libs
  • constrain product-aware code to high-levels
  • code should look clean, visually decipherable
  • code should be fully alive, or dead
  • develop and follow processes and solutions
  • convert short-term hacks to solutions
  • consistency, cleanliness, and correctness
  • fully automated reproducibility
  • documentation should be fully alive/live
  • maintain a single authoritative source for all
  • strict reproducibility everywhere