I found it hard to believe, that it’s been 4 years now since I finished the previous installment of “language of the month” column, in which I pick a programming language and dive in for a month to see something new. In that 4 years I have learned a lot of programming for sure – though probably very little computer science, and barely any new languages. It’s time to chance, and for the revival of this I’m checking out Rust.
Taiwan WWII Map Overlays
A while ago I came across the Formosa (Taiwan) City Plans, U.S. Army Map Service, 1944-1945 collection, in the Perry-Castañeda Library Map Collection of the University of Texas in Austin. I’m a sucker for maps, enjoy learning about history a lot, and I have a lot of interest in my current home, Taiwan – so you can call this a magic mix of cool stuff.
There are 26 maps in the collection, made by the US Army by flying over different parts of the island, and mostly I guess stitching together aerial photographs. The maps themselves were not that easy check in an image viewer, since there’s no context, zoom is clumsy, and have no idea where about half the places should be located. Instead, I thought it would be great to have them as an overlay on top of current maps and satellite imagery on Google Maps.
The result is Taiwan City Maps overlays, which does exactly that. Feel free to click the link and explore right now! In the rest of this post, I try to first show how that page was made, and also some history lessons I gained by making it.
I while back I’ve exchanged some of my points earned from posting projects to a MediaTek LinkIt One on the Hackster.io Store. This is my first project with that, trying to do something different than what I can do with the hardware I (literally) amassed so far. Being an expat and traveller, GPS / location sensing is always a timely topic, so set out to build something around that.
It was a long typhoon day when I started experimenting with the LinkIt one, and and as rainy days go – I’ve felt it would be great to know how far am I from home? Of course there’s a GPS in every single smartphone these days, but a dedicated device can still evoke a different feeling. So the idea for Dorothy came about.
Basic version: where are are you?
The basic idea is connect the GPS module and a Grove LCD RGB Backlight screen, and colour-code the distance from home. The LCD speaks I2C, so can directly connect it up to the I2C socket on the LinkIt One.
Just a bit more than a year ago I’ve started to work on a hardware idea as a challenge – a mini-PCIe form factor Arduino clone, the PCIeDuino. The inspiration was working with a bunch of embedded boards, especially the VIA VAB-600 Springboard, that had a mini-PCIe connector, but not that many accessories that can go in there. (Disclaimer, I work at VIA at the moment, though this wasn’t a work project). I thought it would be cool to put an embedded-grade microcontroller on these boards, mostly to expand the I/O capabilities.
Idea
Looking at the mini-PCIe specs, the connector has mandatory USB 2.0 lines so communication was solved. The area available, roughly 5.1 x 3.0 cm, is not too bad -more than how big the Arduino Nano is in comparison. The biggest challenge probably was that there are only 3.3V power lines available, and most example designs use 5V power supply.
The concept of the Uncanny Valley comes from robotics, its hypothesis says that when humanoid robots move and feel almost, but not completely like the real thing, they can be more off-putting than the robots that have less human likeness.
Working on quite a few hardware projects these days, I started to wonder (okay, say it out loud: worry), that there’s an uncanny valley for hardware projects as well. My theory goes such that hardware projects that are almost, but not completely professional can be more off-putting (or underwhelming) than less advanced, clearly maker projects and prototypes.