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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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:
- See my latest posts.
- My Github profile has a lot that I haven’t blogged about yet.
- My sabbatical post has some overlap with this post, and some unique posts, along with several related posts at the bottom.