Personal details

Forest B. - Remote full-stack developer

Forest B.

Based in: 🇺🇸 United States
Timezone: Pacific Time (US & Canada) (UTC-7)

Summary

Hello! I've been working with open-source mainstays like Linux, C, Python, Qt & JavaScript for more than 20 years now, starting as a teenager using Linux on my home PC, then professionally in both large corporate & small business environments, and eventually as an independent consultant & contract software developer. I have worked on everything from the tiniest embedded systems & the most powerful server platforms, from backend infrastructure to graphical touch screen applications. I have also spent time studying user interfaces & value a user-focused approach to design.

I come from a family of teachers & have raised a son that I'm very proud of. I love teaching & sharing knowledge too. I am happy to work with folks of any skill level.

Please reach out if you have any questions for me!

Work Experience

Owner
Outpost Embedded, LLC | May 2009 - Present
Python
Android
Java
C++
C
Django
Linux
Qt
QML
JavaScript
Over more than a decade running a contract software development & consulting business, I successfully completed a wide range of touch screen kiosk & integrated user interface projects, and helped clients build products on the Ubuntu Linux platform. ▪ Created web-based Ubuntu Linux platform image build system to support client image development with simple online configuration, enabling generation of complete operating system images within minutes at the touch of a button. ▪ Provided custom Ubuntu Linux platforms for numerous client products including: digital signage for automative repair shops, laboratory control systems, & medical specimen collection kiosks. ▪ Designed & implemented employee incentive kiosk used in meat processing & packaging facility, including web-based management interface for use by administrative staff. ▪ Designed & implemented ticketing kiosk with payment processing for use in large museum setting. ▪ Provided complete custom Linux platform for all of client’s US taxi fleets, enabling rich multimedia touch screen user interfaces, secure push software updates, remote access, & connectivity with dozens of distinct peripheral devices used for mobile broadband connectivity, payment card processing, biometric authentication, & many other functions. ▪ Implemented touch screen user interface for taxicab client’s flagship rear seat “PIM” (Passenger Information Monitor) application, currently deployed on thousands of cabs in most major US cities, offering customer-facing payment processing functions and HD video content/ad scheduling & display. ▪ Developed new touch screen “MDT” (Mobile Driver Terminal) currently deployed on thousands of cabs in London. ▪ Created Android “PIM” (Passenger Information Monitor), targeted for future deployment on tablet configurations in select markets. ▪ Worked with a team to design & implement pilot cockpit display interfaces for electric aircraft on STM32 & i.MX platforms.
Lead Engineer
Logic Supply, Inc. | Apr 2005 - May 2009
PHP
Python
MySQL
Linux
Circuit Design
After joining with fewer than 10 employees, my role grew rapidly with the company, & within a few years I was leading a small team of developers working on a diverse set of projects. ▪ Maintained company-wide open-source IT infrastructure, including MySQL, Apache, Python, PHP, & Samba running on Debian, Ubuntu, and Red Hat Enterprise Linux systems. ▪ Managed personnel & projects, conducted employee training, & played a key role in business decision making at the highest level. ▪ Provided top-tier technical support & consulting services to enterprise customers, primarily focused on Linux integration & hardware support. ▪ Chiefly responsible for maintaining & developing company website, which included e-commerce & substantial administrative functions. Completed several significant projects, including: custom ordering system, procurement system, & total front-end rewrite with focus on modern, standards-compliant design. ▪ Solely developed Linux-based burn-in/test & data collection software used to perform QA verification of all custom-built computer systems prior to shipment, bootable via network or live USB media. ▪ Implemented various internal web applications to provide access to critical business data, from hard- ware testing results to phone system usage analysis. ▪ Completed design of watchdog timer add-on module for use with standard PC hardware (circuit design, PCB layout, manufacturing process management).

Personal Projects

Qt Taxicab Passenger Touch Screen GUIIconOpenNewWindows
2016
C++
Qt
QML
JavaScript
I single-handedly implemented a Qt Quick-based touch screen “PIM” (Passenger Information Monitor) application to replace the legacy Flash-based application previously developed by my client. This application is currently in use in thousands of taxicabs in NYC & many other major cities across the United States to process payments and display HD video content & advertisements to passengers. In addition to replacing the existing technology stack, I worked with a staff designer to overhaul the user interface & create a new "media center" style interface, allowing passengers to select video channels according to their preferences. This application was implemented using Qt 5. The user interface is entirely created in QML & the majority of application logic is written in JavaScript. C++ is used to provide integration layers where necessary, enabling access to underlying operating system functions & integration with other system components. Features & technologies: * Multi-language support (internationalization & localization) * Plain socket & STOMP-based messaging * XML & JSON message encoding * Qt Multimedia & Qt WebEngine based media display
Python Kiosk Application Services Framework
2015
Python
Linux
Systems Programming
Socket programming
I developed an extensible kiosk application services framework that exposes kiosk functions to local applications such as a touch screen GUI or web-based management interface. This allowed me to quickly implement a variety of touch screen kiosk applications while maximizing code re-use between client projects. This framework is written in Python & runs as a background service. As an extensible framework, new functions can be easily added. Typical kiosk functions include peripheral devices exposed via a variety of communication interfaces (e.g. serial ports & other communication busses), as well as network services such as payment processing. Applications access these services via the DBus system message bus, generally running on Linux. Features: * HCR331 card reader * VKP80 kiosk printer * F50 bill dispenser * Authorize.Net & Paymentech payment gateway support