This action requires saving a cookie to remember the page's state. You can read more about that on the cookies page.

 

Portfolio

Released on: 2024-01-29

Here are some highlights of some publicly visible projects that I have worked on.

Table of contents

Projects

handWavey - controlling a computer without touching it

Key Value
What HCI (Human-Computer Interface)
Name handWavey
Description Dissatisfied with existing solutions, I wrote a program to control keyboard and mouse input via a LeapMotion controller. While it’s quick and easy for anyone to make a proof of concept; the time investment here has been making it work well enough to be fun, and not frustrating, for daily use. This is my flagship project for my sabbatical.
Github https://github.com/ksandom/handWavey
Blog post https://www.randomksandom.com/handWavey

Me scrolling the page using handWavey by closing my hand and moving it up.
Above: Me scrolling the page using handWavey by closing my hand and moving it up.

mlsc - Machine Learning

Key Value
What Machine Learning
Name mlsc
Description This was me jumping back in to machine learning after far too long away from it. Specifically I trained a couple of models to detect, and correct bad location data.
Github https://github.com/ksandom/mlSteamCleaner
Blog post https://www.randomksandom.com/mlsc

mlsc predicting the correct value.
Above: mlsc predicting the correct value.

  • Orange is the raw data that came from the flight simulator.
  • Blue is the prediction of what the value should be.

Cubetrix - A 3D game for Android

Key Value
What A 3D game for Android
Name Cubetrix
Description A 3D game a lot like 2048 where you combine matching values, but in 3 dimensions, changing the game-play in interesting ways.
Blog post https://www.randomksandom.com/cubetrix

An active Cubetrix game.
Above: An active Cubetrix game.

achel

Key Value
What A language for robotics.
Name achel
Description Achel includes some of the concepts that I have been working on for over 20 years. I’ve been working on the current version since 2012, and am currently planning what the next steps are (ie replace, or refactor & extend).
Github https://github.com/ksandom/achel
Blog post https://www.randomksandom.com/achel

The achel code for commanding an all-anchors-out stop of the plane using my auto-pilot project.
Above: The achel code for commanding an all-anchors-out stop of the plane using my auto-pilot project.

auto-pilot

Key Value
What Auto-pilot for flying a plane.
Name ap
Description Written in my language, achel, this auto-pilot has been a long term project. Initially to show off the capabilities of achel, but has brought many interesting challenges along the way.
Github https://github.com/ksandom/ap
Blog post https://www.randomksandom.com/ap

The auto pilot in action.
Above: The auto pilot in action.

mass/devOpsDream

Key Value
What Aggregate source of knowledge about multiple infrastructures across multiple cloud providers.
Name devOpsDream (F.K.A. mass)
Description A fast way of getting answers about your infrastructure that scales across a huge number of hosts. Data is cached locally, so it’s wicked fast, and copes with rapidly evolving curiosity. Intended to make on-call easier by getting you the right information, quickly. And making debugging tasks, like sshing and copying files to/from several machines concurrently, easy. This has been heavily used by some of my previous employers.
Github https://github.com/ksandom/devOpsDream, https://github.com/ksandom/mass
Blog post https://www.randomksandom.com/dod

devOpsDream showing off some search techniques on a couple of demo hosts.
Above: devOpsDream showing off some search techniques on a couple of demo hosts.

doneIt

Key Value
What A command line time tracker.
Name doneIt
Description A minimally-invasive tool for tracking interruptions and where time is going. It’s fast, and easy to search and report the data in different ways.
Github https://github.com/ksandom/doneIt
Blog post https://www.randomksandom.com/doneIt

A basic time tracking example in doneIt.
Above: A basic time tracking example in doneIt.

niceTouch

Key Value
What Automates calibrating multiples touch screens on a single machine.
Name niceTouch
Description On X, touch screens a bit of a mess, because there is no definitive way to calibrate a touch screens when there is more than one monitor on a single system. This is because the touch panel and the monitor are two independent devices, and each touch panel could be associated with any of the available monitors. niceTouch keeps track of when each device was added, and assumes which matches with which.
Github https://github.com/ksandom/niceTouch
Blog post https://www.randomksandom.com/niceTouch

A screenshot of my video on the niceTouch blog post, showing a correctly calibrated touch panel on a second display.
Above: A screenshot of my video on the niceTouch blog post, showing a correctly calibrated touch panel on a second display.

Much more

The above are just a few highlights. But I’ve done so much more than this.

If you want to see more, here are a few possible next steps:

More...

Home | About | Contact | Cookies