Hardware Process Programming

Building a lean and mean (and frugal!) Python development machine with Peppermint OS

I always keep an old computer or two around “just in case,” and it often turns out that they’re useful for all sorts of things. In an age when online access is a necessity and in a line of work where being able to put together a quick web page, application, or server is important, a spare computer — even one that’s a little bit backward by today’s standard — can be a handy resource.

Enter “tinymint,” a Compaq 610 laptop that Anitra got from her old workplace a couple of years back for $50. (You should be able to find a used one, or one with similar specs, for about $100.) We originally got it to give to her parents so that they’d have a half-decent machine on which to surf the web, but we’ve since replaced it with a Chromebook, which requires less maintenance. They gave the Compaq back to us, and I’ve since boosted its RAM to the maximum: A whopping 4 GB, which was pretty respectable in the Windows Vista era when it was manufactured.

Diagram showing the parts of the Compaq 610 laptop as viewed from the front and left sides.
An excerpt from the QuickSpecs manual for the Compaq 610.

In case you’re curious, here’s a quick rundown of the specs of my particular Compaq 610. Remember, this laptop is almost old enough to get its own YouTube account or Bat/Bar Mitzvah:

  • Chipset: Mobile Intel GME965 Express chipset with ICH8M, 800 MHz front side bus. This chipset is from around 2007.
  • Processor: Core 2 Duo T5870 (2.0 GHz, 2 MB L2 cache, 800 MHz FSB). This is better than the other options: The dual-core Celeron T1500 and the Celeron 560, both of which had the slower 533 MHz bus.
  • RAM: 4 GB. This is the maximum, which isn’t surprising for a 2009-era computer. 32-bit operating systems were the standard then (64-bit OSs were available, but at a premium), and they’re limited to accessing about 3 GB of memory. The machine originally had 2 GB, and I got replacement RAM from NewEgg for about $20.
  • Hard drive: 250 GB. Not all that different from what you’d get with the lowest-end MacBook Pro today.
  • Wireless networking: Intel PRO/Wireless 3945ABG wifi a/b/g
  • Wired networking: Marvell Yukon 88E8042 PCI-E Fast Ethernet Controller
  • Webcam: 2 megapixels, so it’s 1080p.
  • Other goodies marking it as a 2009-era computer:
    • A 56K modem! I don’t think I’ve had dial-up service since 2000. Even during those rare occasions when I need to send a fax, I do it through online fax services.
    • Separate 1/8″ mic and headphone jacks.
    • VGA output. Good thing I hung onto that Acer VGA monitor.

There were a few variants of this machine, and I’m a little surprised that this turned out to be one of the better ones — normally companies go with the bottom-of-the-line configurations, especially for computers whose primary purpose was probably producing cover sheets for TPS reports.

Desk with a Compaq 610 laptop on a wooden box, Acer VGA monitor on a stack of Smalltalk-80 books, an Apple wired keyboard and a Microsoft mouse.
Installing Peppermint Linux on the Compaq 610.

I like to think of “tinymint” as a Raspberry Pi with a built-in monitor, keyboard, and battery (although I need to pick up a replacement battery; this one no longer holds any charge). This means that it’s still got some years left in it, where it could function as a server, a runner of automated tasks, or as a budget Python programming machine.

I’m scheduled to teach an “Intro to programming with Python” course in July, and I may actually use this as my demo machine, just to show what’s possible even on a limited budget.

In order to get the most out of this machine, I replaced the Windows with something considerably more lightweight: Peppermint.

Peppermint is a Linux distribution based on Ubuntu, and it’s designed to run on systems with limited resources. To this end, it uses a desktop environment that’s a mix of LXDE’s lxsession session manager and Xfce’s panel and applications menu. Simply put, it’s not going to look as slick as commercial OSs or even other Linux distros, but it’ll be reasonably good-looking and run quite well.

Since Peppermint is a Linux distro, it has all the command-line goodness that a developer needs. I wanted to make “tinymint” a lean mean Python machine, so immediately after Peppermint finished installing, I installed Anaconda Individual Edition and Visual Studio Code, both of which installed and run without any issues.

I’m going to make regular use of “tinymint” and post the occasional report about my experiences with it. If you’re a developer with an older computer and a limited budget, you should look into Peppermint — you might find that it’s exactly what you need.

The current version is “Peppermint 10 Respin,” which came out in December. It’s based on Ubuntu 18.04 LTS, and if you want to know more about this release, check out their announcement.

Want to know more? Here are a couple of recent video reviews of Peppermint:

Current Events Hardware

I’m a little worried about this episode of “Black Mirror” (or: Boston Dynamics’ robot “dog” is now commercially available)

It’s official — if you’ve got $74,500 burning a hole in your pocket and the possibility of turning the world into one of the bleakest episodes of Black Mirror doesn’t faze you, you can order Boston Dynamics’ the Spot Explorer development kit from

The kit includes the following:

  • 1 “Spot” robo-dog / soulless future ravager of humanity
  • 2 batteries
  • 1 battery charger
  • 1 tablet controller
  • 1 robot case
  • 1 power case
  • Python client packages for Spot APIs.

Wait a minute…it’s programmable in Python? Okay, now I’m very interested…

For more, see this new ad for Spot:

Design Hardware Humor

“Hey, Siri! Show me why Mac users have a reputation for being rich idiots.”

Hardware What I’m Up To

A quick picture guide to upgrading the RAM on a Lenovo ThinkPad T430

The oldest-model computer in my stable is a Lenovo ThinkPad T430 (pictured above). Released in 2012, it’s a business workhorse powered by a dual-core i5-3230M processor running at 2.6 GHz (suitable for writing TPS reports and even playing older 3D games) that’s still issued to worker bees at offices everywhere. I acquired mine in 2013 in lieu of payment owed to me from a deadbeat, and since then, it’s been performing yeoman service in its role as a backup machine for tasks that specially require Windows or Linux.

It came with a stock 4GB RAM, which has caused me to run into some limitations, especially with heavier-weight development tools such as Visual Studio and Android Studio, the video capture and recording tool Camtasia, and to a lesser extent, graphic design and audio tools. It was time for that most effective and universal of computer upgrades: more RAM!

The T430 takes two 1600 MHz PC3-12800 SO-DIMMs and supports up to 16GB memory. I ordered a pair on NewEgg for less than $100, which came with two-day free shipping. The DIMMs arrived via FedEx Friday morning, and like any geek with a new tech toy, I took out my set of teeny computer screwdrivers and got to work on installing them right after they arrived.

The first step was to remove the battery. ThinkPads from that era (I’m not certain about present-era ones) followed the old-school philosophy to batteries and kept them external and easily swapped out:

I remembered seeing a RAM upgrade on one of these computers years ago, so I knew that there was a RAM slot located on the bottom of the machine, just underneath the central panel…

…and only two screws stand between you and a RAM upgrade…

…and until you realize that there’s just one RAM slot there. Upon seeing this, I looked around, confirmed that there was only one RAM slot under that panel, and then checked the online specs for the T430. It says two SO-DIMM slots. Where’s the other one?

Here’s the interesting thing about adding RAM to the T430: its two RAM slots are in quite different places with different levels of difficulty to access.

The second RAM slot — where the factory-installed RAM goes — is under the keyboard, and getting to it takes a little more work. My guess is that Lenovo’s engineers expected most users to buy a single DIMM to expand their machine’s RAM, and that they’d install it into the easier-to-access slot at the bottom of the machine.

Even if you have no plans to add or remove RAM from the more easily accessed underside, you still need to open the central panel at the bottom of the machine to access the RAM under the keyboard. That’s because there are two screws inside the central panel that you have to remove in order to get under the keyboard:

These two screws anchor the keyboard, and if they’re in place, you won’t be able to access the RAM slot underneath it.

When you’ve removed those two screws, you can remove the keyboard. Pry it up gently, starting with the edge closest to the trackpad. I used a metal ruler to help me with the process, taking care not to scratch the casing:

Lift the keyboard. You’ll see that it’s connected to the motherboard by a short strip of ribbon cable. There’s a thin piece of dark, slightly translucent plastic to the left of where the ribbon cable meets the motherboard; the RAM slot is underneath it:

To make it easier to pop in the RAM, I disconnected the keyboard. You might not have to do it in order to insert the RAM, but it was pretty easy:

I flipped back the panel, where the factory-installed 4GB DIMM lived…

…and replaced it with the new 8GB DIMM.

With the RAM installed, I reversed my steps, fired up the ThinkPad, and checked my RAM the fun way: by asking Cortana using my voice. Here was her response:

Success! The ThinkPad is back in action, and ready for development work. In the short time with maxed-out RAM, I’ve found that Visual Studio, Android Studio, and Camtasia work wonderfully, and video performance is improved as well (my model has integrated graphics, which relies on system RAM).

If you prefer a video walk-through of the ThinkPad T430 RAM upgrade procedure, try this one:

Hardware What I’m Up To

Unboxing the CanaKit Raspberry Pi 3 Complete Starter Kit

raspberry pi 12
Click the photo to see it at full size.

On the most recent Amazon Prime Day — an annual trick that Amazon pulls in order to boost sales in the same vein as Cyber Monday, but in the summer — I managed to limit myself to buying just one sale-priced thing that I didn’t really need: the CanaKit Raspberry Pi 3 Complete Starter Kit. It normally sells on Amazon for US$75, but it was on sale that day for US$60.

The Raspberry Pi 3 is the current version of a series of single-board computers about the size of a deck of playing cards, and are:

I plan to use the Raspberry Pi to make some initial delving into IoT (Internet of Things) development, and as part of my journey into developing for that category of computer that I call “tiny and shiny” — smartphones, tablets, and now Raspberry Pi / Arduino-type boards.

Here’s the CanaKit Raspberry Pi 3 Complete Start Kit box:

raspberry pi 01

When I opened it, I saw this:

raspberry pi 02

The first thing you should see is a greeting card that also provides an email address for assistance, should you need it. The other side of the card has a diagram explain what each of the GPIO interface pins on the Raspberry Pi 3 board is for.

Below the card was an HDMI cable:

raspberry pi 03

And below that were three boxes:

raspberry pi 04

From largest to smallest, the three boxes contained the Raspberry Pi 3 board and SD card (which functions as its “hard drive”)…

raspberry pi 05

…a case for the board…

raspberry pi 06

…and a power supply for the board:

raspberry pi 07

Below the boxes were these items:

raspberry pi 08

One bag contained a USB microSD card reader. It allows you to use your regular computer to download updated or different versions of the Raspberry Pi OS or software and transfer them onto the microSD card:

raspberry pi 09

The other bag contained two heatsinks for its chips. They already have heatsink adhesive attacked to them; you just have to peel off the backing and stick them onto their respective chips:

raspberry pi 10

At the bottom of the box was the “quick start” guide:

raspberry pi 11

Here’s the board mounted in the lower tray portion of the case:

raspberry pi 13

And here’s the board with the middle section of the case attached:

raspberry pi 14

And here’s what the Pi looks like once the case is assembled:

raspberry pi 15

Assembling the case is pretty easy, as no tools are required. It simply snaps together.

Here’s the case on my desk, placed beside a $20 bill for size comparison:

raspberry pi 16

The Pi case is smaller than the hard drive that I connected to it (you can see it below the Pi):

raspberry pi 18

I decided to take the beginner route and start up the system using NOOBS, short for “New out of the box software”. It came pre-loaded onto the SD card that came with the board, and it installed Raspbian, the official supportedRaspberry Pi OS, and based on Debian. Once the OS is installed, here’s what you see when you boot up the Pi:

raspberry pi 19

Once it finishes booting up, you’re taken to a GNOME desktop:

raspberry pi 20

I used to have a stack of USB keyboards, but I’d given most of them away to friends and family, and my last couple are still back in Toronto. Figuring that I’d end up taking the Pi to meetups, BarCamps, and other demo sessions, or perhaps use it as a living room media center / internet device, I went with the Logitech K400 all-in-one keyboard, shown below. It’s currently on sale at Walmart for US$20:

raspberry pi 21

And thanks to Anastasia Sistevaris, an intern at Wiley, I got hooked up with a set of Raspberry Pi books, the first of which arrived recently: Exploring Raspberry Pi by Derek Molloy. I’ll do a writeup of this book in a later article:

raspberry pi 22

Watch this space for more Raspberry Pi articles as I start noodling with my new toy!


The 3rd-generation Moto G: The best bang for the Android developer’s buck

moto g 3rd gen 1

Inside this terribly unsexy box is the best Android bang for the buck. Whether you’re dipping your toe into the wild and wooly world of Android development like I am, or just need a decent smartphone for under $200, you should consider the 3rd-generation Moto G.

The 3rd-generation Moto G, which was released in July 2015, comes in two different models:

If you don’t mind refurbished electronics, you can get one at a really low price online. I got the 2GB RAM/16GB flash storage model listed on Best Buy’s site at US$120; with free shipping and taxes, the total came to US$130. It arrived yesterday in a plain white box along with the kind of USB charger whose cable doesn’t detach, and nothing else…

moto g 3rd gen 2

…but at this low price, and since I already have a stash of USB A-to-USB micro cables, I’m not going to complain.

moto g 3rd gen front back side

The 3rd-generation Moto G, viewed from the front, back, and side.
Click the photo to see it at full size.

Engadget summed up the 3rd-gen Moto G very nicely in their August 2015 review, titled Motorola wins the ‘best cheap phone’ crown, again. Although it’s priced like a starter phone, its Snapdragon 410 chipset help it to perform like a mid-range phone, and its display is surprisingly bright for a phone at this price point. The camera uses the same 13 megapixel sensor as the Nexus 6, which means nice photos in good light, grainy photos in low light, but a clear improvement over the previous year’s version. Battery life is very good; it played continuously looping video with the screen at 50% brightness for 10 hours and 40 minutes in Engadget’s test. It’s also waterproof for up to 30 minutes in depths of a meter (39 inches) or less:

moto g in glass of water

As for software, my 3rd-generation Moto G came with Android 5.1.1 (Lollipop) installed, but a short over-the-air update later, it was running 6.0 (Marshmallow). Motorola have always been quite quick with the OS updates, unlike many other more popular, pricier vendors.

Motorola do a very good job of not covering up Android with crapware — it’s as close to plain old Android as I’ve seen on any phone. The very few software add-ons that Moto added were subtle and nice; my favorite’s the hand-gesture detection, which switches on the camera app if you twist the phone twice, and turns on the flashlight if you make a “karate chop” gesture while holding the phone.

If you’re a reader of this blog, there’s a good chance that you’re a developer with an interest in mobile platforms. If you’re looking for an Android device for development and testing, and especially if you’re looking to target middle-of-the-road devices (which are high-end devices in emerging markets), the 3rd-gen Moto G offers the biggest bang for the buck, especially if you opt for a deal on a refurbished model.

I’m going to be doing a lot of development on my Moto G in the upcoming months; watch this space for some of the results!

Hardware Humor

Kirk and Spock travel to 2014; get laughed at for their pitiful mobile devices

kirk and spock in 2014

Click the image to see the full comic on its original page.

Dan Piraro, on his comic strip Bizarro, shows exactly what would happen if the crew of the U.S.S. Enterprise time-traveled to 2014 and people saw their communicators.

Oddly enough, it was Star Trek that inspired Motorola’s Martin Cooper in his work on the first truly mobile phones:

this article also appears in the GSG blog