From cca27287285546d0a9ea8142fe4a750f6d00d3bd Mon Sep 17 00:00:00 2001
From: Nick Van Doorn
-
- A fast snake where everything is implemented by hand in C to perform a
- fast traversal of all possible game states. The implementation is still
- unfinished but I hope to enter it in the Battlesnake 2020 competition.
-
- A small realtime NoSQL database that can be used locally or over a
- network. The public interface for this database mimic that of the
- Firebase Realtime Database and data is persisted using a static JSON
- file. For that reason, I do not suggest using this in production.
-
My home internet performance is consistently below spec and my ISP never
- believes me. Hopefully they will soon. Designed for maximum plug-ability
+ believes me. Hopefully they will soon. Designed for maximum
+ plug-ability.
The Legato Linux framework offers out of the box support for uploading @@ -86,15 +102,23 @@ export const projects = [ brief: 'Monitor GPS in a separate process to avoid blocking single threaded apps', date: 'April 2018', - imgUrl: gpsMonitor, - desc: ( -
- Instead of managing and synchronizing a thread to monitor GPS location - on embedded devices, this service asynchronously monitors the GPS - position and allows users to retrieve it using an inter process API (see - more about Legato IPC APIs here). -
- ), + projectDetails: [ + { + listItems: [ + 'Allow single threaded apps to read the latest position without blocking', + 'Dynamically poll and cache GPS location based on accuracy', + 'Expose GPS API as synchronous methods reading from cache', + 'Cache is updated in background using event-loop based timer (much like in JavaScript)' + ], + images: [ + { + imgUrl: gpsMonitor, + caption: 'GPS Monitor with BRNKL App', + noShadow: true + } + ] + } + ], inProd: true, url: '//github.com/brnkl/gps-monitor', showOnCv: true @@ -103,35 +127,31 @@ export const projects = [ name: 'CF3 Config App', brief: 'Automatically configure common settings for CF3 based modules', date: 'April 2018', - desc: ( -- Sierra Wireless offers a range of cellular modules based on a common - socket with a common set of inputs and outputs.A range of commonly used - input / output pins and UART connections must be configured by running - an AT command over a serial connection to the CF3 based modem.Run this - app once and the CF3 based module will support the full range of GPIO - pins and UARTs in the Linux userspace. -
- ), + desc:Automatically configure Sierra Wireless CF3 based modules
, inProd: true, - url: '' + url: '//github.com/brnkl/cf3-config' }, { name: 'Legato Camera Driver', brief: 'Support for the VC0706 camera on a Legato based project', date: 'Nov 2017 - Dec 2017', - desc: ( -- The VC0706 camera is one of the only low power remote cameras with an - open protocol (serial port based).The seller, Adafruit, supplies open - source drivers implemented in Python and C++ with the purpose of running - on Arduino based systems. This means a dependency on certain Arduino - libraries for reading and writing to the serial port. We re-implemented - the C++ driver in C without the dependence on anything not included in - Linux (with the exception of a few Legato specific macros). -
- ), - imgUrl: camera, + projectDetails: [ + { + listItems: [ + 'Port of an Arduino style driver to Linux', + 'Integrated with Sierra Wireless Legato Framework', + 'In use at Sierra Wireless and with their customers (see forums)' + ], + images: [ + { + imgUrl: camera, + caption: 'Camera Driver with BRNKL App', + noShadow: true + } + ] + } + ], + inProd: true, url: '//github.com/brnkl/VC0706-cam-lib', showOnCv: true @@ -140,27 +160,30 @@ export const projects = [ name: 'ccss', brief: 'A slightly more polite variant of CSS', date: 'Jul 2017', - links: '', desc: `ccss transforms the correct spelling of colour to color in your CSS. This was intended to be part one of a series of awful CSS transforms.`, - imgUrl: '', url: '//github.com/nvandoorn/ccss' }, { name: 'slask', brief: 'A lightweight log viewer and server all in one', date: 'Mar 2017 - Present', - desc: ( -- slask is designed to make remote systems debugging easy. During my time - at Forest Technology Systems (FTS), we worked on a remote weather - station based on a single board Linux computer. During the early days, I - spent large amounts of time transferring and filtering log files using a - mix of scp, grep, and less. -
- ), - imgUrl: slask, - url: '//github.com/nvandoorn/slask' + url: '//github.com/nvandoorn/slask', + projectDetails: [ + { + listItems: [ + 'Log server implemented run in Node', + 'Log client implemented with React', + 'Support for custom configs and custom log parsing' + ], + images: [ + { + imgUrl: slask, + caption: 'slask Client Screenshot' + } + ] + } + ] }, { name: 'IE Media Queries', @@ -169,8 +192,14 @@ export const projects = [ desc: `IE Media Queries is a Javascript polyfill for Internet Explorer 8's lack of media query support. IE8 is more or less dead and unsupported, but I still enjoyed re-creating unsupported functionality`, - imgUrl: ie, url: '//github.com/nvandoorn/IEMediaQueries' + }, + { + name: 'times-table-tester', + brief: 'Code is easier than mental math', + date: 'March 2007', + url: '//github.com/nvandoorn/times-table-tester', + desc: 'In 6th grade I made command line app to quiz myself on times tables.' } ] diff --git a/src/pages/work.js b/src/pages/work.js index 19cf86c..e33525d 100644 --- a/src/pages/work.js +++ b/src/pages/work.js @@ -8,6 +8,7 @@ import brnklAppMap from '../images/brnkl-app-map-iphone.png' import brnklAppAlerts from '../images/brnkl-app-alerts-iphone.png' import brnklProduct from '../images/brnkl-product.jpg' import wpModule from '../images/wp-module.png' +import raos from '../images/raos.jpg' export const workHistory = [ { @@ -44,9 +45,9 @@ export const workHistory = [ { header: App, listItems: [ - 'Implemented with TypeScript, Angular, and RxJS', + 'Implemented with TypeScript, Angular, RxJS, and Redux', 'Deployed on iOS, Android, and the web', - 'Realtime data using RxJS and Firebase Realtime Database', + 'Live data using RxJS and Firebase Realtime Database', 'Push alerts implemented over Firebase Cloud Messaging' ], images: [ @@ -72,7 +73,7 @@ export const workHistory = [ ] }, { - header: 'Embedded', + header: Embedded, listItems: [ <> Written in C with the{' '} @@ -96,7 +97,7 @@ export const workHistory = [ header: 'Production Automation', listItems: [ 'Test circuit boards against a suite of hardware tests', - 'Automate installtion of latest firmware release for hardware', + 'Automate installation of latest firmware release for hardware', 'Automated delivery of diagnostic messages to factory workers', 'Automation of device inventory (e.g collecting board serial numbers)' ], @@ -112,8 +113,8 @@ export const workHistory = [ desc: (Barnacle Systems is a self bootstrapped company working on boat - monitoring and security. I worked as the sole implementer of the the - BRNKL app, backend, embedded firmware, and production automation + monitoring and security. I worked remotely as the sole implementer of + the the BRNKL app, backend, embedded firmware, and production automation software (with thanks to many open source authors).
), @@ -152,7 +153,8 @@ export const workHistory = [ 'Implement components of embedded camera product aimed at the fire weather market (FTS RAOS)', 'Automate builds and installs', 'Integrate with user facing software as a service product' - ] + ], + images: [{ imgUrl: raos, caption: 'FTS RAOS camera system' }] } ], desc: ( -- cgit v1.2.3