↓scroll↓
Bentley Laaksonen Full-Stack Software Development
@ B PLUS PLUS, LLC
linkedin

Engineering


Software Engineering, Firmware

{ Embedded, Desktop, Enterprise} Linux

IT { Infrastructure, Security }

Software


C, C++, C#, gcc, gdb, make

Bash, Perl, Python, SQL

MathNet, Boost, Julia, MATLAB/MEX

css, html, cgi, ajax, javascript, regex

vi, Atom, { Atmel, Visual } Studio

Hardware


at90, AT32UC3C, FTDI, WIZnet

ppc, x86, amd64, mpc603e

IoT, SonicWall, QNAP, Drobo

Linux


Embedded, 2.4, 2.6, 3.x, 4.x, RTAI, RTOS

Device drivers, ext{3,4}

Custom, LFS, CRUX, Gentoo, Ubuntu

Services


bind, dhcp, samba, apache

windows server/DC

Technology


Algorithms, Optimization, Correctness,

Comm/Sockets, Infrastructure, Simulation,

Processes


System architecture, Release management

Agile, Subversion, Git, Markdown

Projects
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
  • 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
Personal