Categories
Hardware Programming What I’m Up To

New life for old computers

The current coronavirus pandemic has given me a chance to do some spring cleaning at home, which in turn led me to revive some old computers that have been sitting idly in a closet. I figure I could put them to work doing interesting things.

Compaq 610 (2009-era 4GB Core 2 Duo)

Installing Peppermint on the Compaq 610.

I’ve given an old Compaq 610 a new lease on life with Peppermint OS, a lightweight Linux distro that runs really well on old machines (the Compaq is a 2009-era machine with a Core 2 Duo processor). I also installed VS Code, Node, Anaconda, and React on it, making it a lean, mean machine for that upcoming Python course I’m teaching.

My very erudite makeshift monitor stand.

In the process, I also gave some old Smalltalk-80 books a new purpose as well: propping up the monitor that goes with the Compaq.

ThinkPad T430 (2012-era 16GB Core i5)

Preparing class notes (using Jupyter notebooks) for my upcoming Python course on the ThinkPad.

I replaced the CMOS battery on my trusty ThinkPad T430 and its older version of Ubuntu with Linux Mint. Its own internal wifi card finally died, and I simply decided to simply replace it with a faster USB wifi adapter that would arrive the next day instead of getting the slower internal card that could take as long as 6 weeks to arrive.

As with the Compaq, I set up the ThinkPad with VS Code, Node, Anaconda, and React. Since it’s got the processor power and 16 GB RAM, I also put Android Studio 4 and Flutter on it. Between some mobile projects in my near future, and the need to have a machine for running servers and other automated tasks, it’s going to prove to be quite useful.

That leaves me with one last machine to update.

Raspberry Pi 3 B (2016-era 1GB ARM A53)

My Raspberry Pi, as it was back in 2016.

I got the Raspberry Pi 3 4 years ago as my one impulse purchase on Amazon Prime Day 2016 (in mid-July of that year), and made regular use of it until around early 2018, when I used it for a Sonic Pi programming demo. It was high time to bring it back to active duty.

The Raspberry Pi’s “hard drive” is actually a microSD card that fits into an easily-accessed slot near one of the edges of the board. The process of updating the Pi’s OS is pretty simple: You use the Raspberry Pi imager on another computer with an SD card slot (and a microSD-to-standard SD card adapter) to rewrite its contents.

The Raspberry Pi is a pretty good Python machine, and I may end up using it while teaching that Python course, if only to show what’s possible on a computer that’s smaller than a deck of cards (when it’s not in a case) that you can get for about $50.

Since it’s powered by an ARM chip, it offers an opportunity for a kind of programming that most other machines don’t offer: ARM assembly programming!

The actual code from the first assembly program I wrote on my newly-reformatted Raspberry Pi: A “Tiger King”-themed version of “Hello World”.

It looks like it’s going to become an ARM-based world:

  • ARM-based chips power IoT devices,
  • Smartphones are generally powered by ARM-based chips, and
  • Apple’s upcoming switch from Intel x86-based chips to their own ARM-based silicon is likely have wide-ranging impact across the PC industry.

With this upcoming sea change, it doesn’t hurt to have some familiarity with ARM assembly language. Even though smartphones have ARM chips, the Raspberry Pi is a much better platform on which to learn ARM assembly, as it allows you to do development and execution in the same place.

It may have been a while since I’ve done assembly language programming — first on the 6502 in high school on Apple ][s and Commodore PETs, and later in university on NS32000 boards connected to Digital Unix machines — but I found my return pretty simple. It didn’t take long for me to cobble together a “Hello World!”-style app on the Pi.

Watch this blog for ARM assembly tutorials!

Categories
Hardware What I’m Up To

The dirty little secret about the ThinkPad T430’s CMOS battery

I’ve hung onto an old Lenovo ThinkPad T430 that’s been performing yeoman’s service over the past few years as a trusty Linux development machine and server. Its CMOS battery finally ran out, which meant that it no longer kept proper time when removed from power, which meant that I always got this message on startup:

I’m going to be teaching a Python course in the evenings in a matter of days, and wanted to be have the ThinkPad loaded up with Linux Mint 19.3 and Anaconda Individual Edition for that purpose. Without much thought and some very quick Googling, I found that Amazon could get a replacement battery to me the next day for less than ten bucks. Sold!

As promised, it arrived the next day. Here’s the box it came in:

I’m not complaining. There are all sorts of economics-based reasons for shipping something so tiny in that size box, and I’m grateful for the huge “crumple zone” provided by that box.

I knew where the battery went, thanks to an earlier adventure in which I upgraded the T430’s RAM (which requires you to do so in two separate locations on the machine). It’s under the central panel on the underside of the machine:

Replacing the battery was a snap: Disconnect the old battery’s connector, and then attach the the new battery in the same way.

I got curious. What was under the yellow protective plastic cover?

I peeled it off the old battery and found this:

The yellow protector concealed a run-of-the-mill CR2032 3-volt “coin”-type battery, and nothing more. The remote for my BOSE speakers uses one, as does my hand-held luggage scale. They also power the light on proctoscopes, in case you were wondering what kind of batteries yours took:

You can buy them in 5-packs at your local drug store, and their unit price comes to about 50 cents each.

I have a bunch of them in my drawer, and could’ve simply taken the connector from my dead battery and taped it to a fresh one. The red lead goes to the battery’s + side, while the black lead goes to its – side:

The money doesn’t bug me as much as the missed DIY opportunity, even if it was an incredibly minor one. I’m posting this for the benefit of anyone who has to replace a CMOS battery soon: You can do it without shelling out for an “official” battery!

 

Categories
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:

Categories
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 shop.bostondynamics.com.

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:

Categories
Design Hardware Humor

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

Categories
Business Hardware Mobile

Samsung ups the version-number and number-of-cameras-on-a-phone ante, reminds me of Macromedia and Gillette

Leaked Samsung Galaxy S20 photo showing the back of the new phone

XDA Developers has released what is purportedly a leaked photo of one of the next Samsung Galaxy phones, shown above. The series is expected to go under the name “S20”, with the phone above being the Galaxy S20+.

The version number of the Galaxy phones have generally followed the iPhone’s, which is probably why they’re leaping from 10 to 20 (in case you’d forgotten, the current flagship iPhone is the 11).

While Samsung’s leap in version numbers is a big one, the concept of a version number leap is nothing new. Those of us who were working in the industry in the ’90s may remember Macromedia Freehand’s leap from version 5 to 7, completely bypassing 6, back in 1996. This was a response to Adobe Illustrator 6:

Jumping version numbers is easy compared to actual hardware changes, but Samsung are doing it anyway, with a fourth camera to counter the iPhone 11’s three. It reminds me of this Onion article which became real:

I’ll close this article with the early contender for the title of “Sticker of the Year”:

Categories
Hardware Mobile

When my Android phone (and its FM radio) proved clearly more useful than my iPhone

Moto G4 Android phone displaying its FM Radio app. The screen shows that the radio is tuned to 107.3, and the readout below the frequency reads 'CANE - Hurricane Irma coverage.
A photo I took during Hurricane Irma, which shows my Motorola Android phone
running the FM radio app.

When Hurricane Irma closed in on the Tampa Bay area Sunday evening, the power went out at around 7:30, and soon afterward, cellular service became spotty and then disappeared entirely. However, we weren’t cut off from information about Irma because we fell back on a 1930s technology, FM radio, which is built into every smartphone, and accessible on many Android phones (including mine).

In the age of the smartphone, you might think your Android or iPhone can replace a radio receiver as a lifeline during a disaster. After all, while a radio receiver is audio-only and one-way, your smartphone can both send and receive text, audio, picture, video, and location information — but only if the cellular towers nearby are up and running. If the nearby tower is damaged, loses power, or gets overloaded, you’ll be cut off and left with the dreaded “No Service” indicator on your phone.

Consult just about any disaster preparation guide for a checklist of “must-haves”, and one of the items on that checklist will be a battery-powered radio. When phone and internet service fails, you can fall back on radio as long as you have batteries. (Better still, if you have a radio with a hand-crank generator, you don’t even need batteries.)

We have a nearly century-long tradition of radio stations providing vital information during disasters of all kinds. In the case of Irma, they did one better and teamed up with TV newsrooms. During the storm, many radio stations in the Tampa area teamed up with TV stations to provide continuous coverage of and information about the storm, such as where it was, how quickly and in which direction it was moving, and what to do. It was a valuable resource for many people, and it may have even saved a few lives.

You may think that you don’t own a portable FM radio, but chances are that you do. It’s just hidden away in your smartphone.

Just about every mobile phone maker — even the big ones who manufacture their own processor and graphics chips, such as Apple and Samsung — gets their cellular modem chipsets from a single manufacturer: Qualcomm. In fact, Qualcomm pretty much has a monopoly on these chipsets, which in addition to sending and receiving cellular signals, have an FM receiver baked in. You wouldn’t know it in the U.S., as fewer than half the smartphones have the FM receiver enabled, and they’re all Androids.

My Android phone is a Moto G4, and in addition to having an enabled FM receiver, it also comes “out of the box” with the FM Radio app, which simply provides a user interface for the FM radio capability. When the power went out in our part of Tampa on Sunday at around 7:30 p.m. and the cell service disappeared shortly after, I fired up the FM Radio app and we had updates on the storm’s progress all night long. In fact, I also used the phone’s FM radio and all day the next day — and there was still battery power to spare and the end. That’s because FM radio uses considerably less power than just about any smartphone function (and it uses no data at all!).

My iPhone doesn’t expose its FM radio capability, and it was useless as a source of updates until the cellular connectivity improved the next day, well after the storm had passed. I can’t say for certain, but I’ll just blame Apple designer Jony Ive, who’s never met a much-loved traditional feature that he didn’t like to remove. I get the feeling that FM radio is too distastefully old school to include as an iPhone capability, even though it’s already there.

While I experienced the usefulness of FM radio in smartphones during an emergency firsthand for the first time during Irma, it’s been clear to broadcasters and public safety officials — FEMA (the Federal Emergency Management Agency) included (see the video above) — that there are great benefits to unleashing this capability. The National Association of Broadcasters (NAB) has been lobbying to require the FM radio capability to be enabled in smartphones, and even Ajit Pai, chairman of the Federal Communications Commission (FCC) has been advocating for this (but he won’t go beyond advocacy). At an NAB event in February, he said:

“It seems odd that every day we hear about a new smartphone app that lets you do something innovative, yet these modern-day mobile miracles don’t enable a key function offered by a 1982 Sony Walkman.”

In Mexico, where there’s a strong radio culture (and a rise in non-commercial and community radio over the past decade), the Federal Telecommunications Institute (CIRT) approved a new rule in April requiring all smartphone manufacturers to enable the FM receiver. CIRT’s rationale was that in emergencies and disasters, having the FM capability would make it possible for people to get alerts and vital information when cellular networks failed. Mexico is the first country to pass such a law, and it’s hoped that other countries will follow suit.

Find out more

The go-to place for the movement to make the FM radio capability that’s already in our phones, waiting to be unleashed, is FreeRadioOnMyPhone.org. It has the latest info on the movement to enable FM radio on smartphones, including:

  • How to get FM radio working on your Android phone
  • How to contact Apple to ask them to enable FM radio listening on their phones
  • How to contact the FCC and ask them to require FM radio be made available on phones
  • The latest new about the movement

You may also find these articles of interest:

And finally, an article that needs to be pointed out because it’s dead wrong (and unsurprisingly, published by 2010-era Business Insider, from the time they were almost stealing content): Mandatory FM Radio: A Dumb Idea For Smart Phones, in which its clueless author says that it’s just a move to prop up the dying terrestrial radio industry.

This article also appears in The Adventures of Accordion Guy in the 21st Century.