Categories
Current Events Hardware

Understanding Apple silicon (lots of videos)

Yesterday, I posted an article positing that WeWork’s CEO might just be indirectly and accidentally responsible for drastically changing the processor industry:

What if WeWork’s jamoke CEO accidentally changed the processor industry?

The article got a record number of pageviews, and I got a number of emails and direct messages asking all sorts of questions about Arm chips, from “What makes Arm processors so different?” to “Has anyone seen an Arm-based Mac in action yet?”

Here are some videos that should provide lots of background material to better help you understand Arm chips and Apple’s move to their own custom silicon.

Let’s start with this CNET supercut of the parts of the WWDC keynote where Tim Cook and company talk about Apple’s transition from Intel chips to their own Arm-based ones:

This is Max Tech’s best guess as to what the Arm-based Mac release timeline will look like:

Many people have a take on what Apple’s move to Arm means. Here are CNET’s top 5 guesses:

Here’s a video from a year ago that asks “Is Intel in trouble? Is ARM the future?”. It’s worth watching for its history lesson about Arm:

Here’s a really quick (under 6 minutes) look at Arm CPUs:

Here’s a more hardcore explanation of how CPUs (in general) work:

CPUs used to be stand-alone things, but we’ve been migrating to SOCs (systems on a chip) for some time. Here’s an explainer:

This Gary Explains video explains the differences between Arm’s and Intel’s architectures:

Here’s a reminder from Computerphile that Arm design chips — they don’t make them. There’s a difference:

Here’s a treat: an unboxing of Apple’s “developer transition kit”, which registered Apple developers can apply to try out to test their apps on Apple silicon. It’s a Mac Mini powered by an Apple A12z chip, which is the same processor that drives the iPad Pro.

Categories
Current Events Hardware

What if WeWork’s jamoke CEO accidentally changed the processor industry?

 

In order to understand this story, you need to be aware of this news item: Softbank is considering the options of selling outright, selling part of, or making a public offering of Arm, the British chip design firm behind the chips that power just about every smartphone, a whole lot of IoT devices (including the Raspberry Pi), a fair share of Chromebooks, and soon, Apple’s computers.

Softbank is considering this move because it needs the money. It has an activist investor that wants to see some changes, because it’s made some embarrassing investments leasing to considerable losses of both money ($16.5 billion for the financial year ending March 2020) and face.

One of those embarrassing losses is the fault of Adam Neumann, cofounder and CEO of WeWork, and the jamoke pictured at the top of this article. You may remember the story from last year, where the company — effectively a Regus pretending to be a Netflix — had to delay its IPO due to concerns about its pretend profitability and flaky, cult-of-personality non-leadership.

These concerns led investors to take a closer look at their numbers and Neumann’s aberrant behavior and business dealings. This in turn led to Neumann stepping down as CEO in September, SoftBank taking control of their investment, and paying Neumann $1.7 billion to leave the board.

Simply put, Neumann’s hijinks cost Softbank a lot of money, and they now have an investor putting serious pressure on them to sell off assets to raise cash. Arm could be one of those assets.

At the same time, there are a number of interesting developments where Arm chips are concerned…

At WWDC 2020, Apple announced that they were moving their computers off Intel x86 chips, whose notoriously bad design is really showing its age these days, and to their own custom Arm-based chips. (Arm has “standard” chips, but if you’re a big player, you can work with them to have them design custom chips for you.) The Arm-based processors in the current line of iPhones run circles around not just the processors in Samsung’s flagship phones, but also most laptops as well.

Any talk about what Arm chips will mean for Apple is all speculation right now, but if you want to hear some really good speculation, as well as a decent Arm vs. Intel discussion, check out episode 777 of This Week in Tech:

In that episode of This Week in Tech, host Leo Laporte and his panel agree that Windows PC OEMs will probably end up switching to Arm processors, and they’re not the only ones saying it.

Arm also had a moment in the sun on the mainframe front: The new holder of the title of “world’s fastest supercomputer”, the Fugaku, is powered by Arm chips.

There’s a pretty good chance that Arm will end up being the de facto chip design to rule them all in the 2020s — and their maker is up for sale. In fact, there’s an unnamed interested buyer. I have a guess, and I’m not the only person to have the same idea:

(In case you’re wondering: Apple had $245 billion in their cash reserves last year, and Softbank bought Arm for $32 billion a few years ago.)

What do you think?

Categories
Hardware Humor

Two printer posts; one printer truth

I saw these two posts about printers this morning — one on Twitter, the other on Facebook, in a neighborhood forum where someone was asking for office equipment and furniture that people were no longer using:

I find that I use our home printer about once a year, typically for printing a letter that I need to enclose with a paper form that I’m sending via snail mail.

How often do you use your printer at home (if you have one) these days?

Categories
Current Events Hardware Players Tampa Bay

Win a System76 Thelio Linux desktop in The Mad Botter’s Fourth of July contest!

Mike Dominick’s Tampa Bay-based consultancy The Mad Botter — which develops automation/integration software — has a Fourth of July contest for high school or university undergrad students where the prize is one of System76’s gorgeous Thelio desktop Linux systems!
Mad Botter Fourth of July content icon (Mad Botter “Bot” dressed as Uncle Sam in front of American flags, fireworks, and balloons)

This is an election year, and The Mad Botter’s contest is an election contest. Contestants are asked to develop an open source project that addresses ballot access or in some other way assists with voting. Perhaps something to help people find the closest polling station? Virtual “I voted” stickers? An aggregator for open information about candidates? A “Yelp” for polling places? (You can find more ideas here.)

Here are the contest details:

  • No purchase is required to enter.
  • Your solution must be posted to a publicly accessible Github repository with the appropriate license included.
  • You must be a US high-school or undergraduate college student.
  • If you are below the age of 18, you must provide written parental consent to have your submission considered; this can be done via email.
  • In the event that you win, The Mad Botter INC is granted the right to post a picture of you in the winning announcement and other applicable venues; if you are below the age of 18 your parent or guardian also provides permission for this by consenting to your entering the contest.
  • The winning entry will be the one that shows the most practical potential and creativity and will be selected by The Mad Botter team.
  • All submissions should be sent to sales@themadbotter.com and include a brief bio, explanation of the solution, and a link to the Github repository.
  • Submissions will be accepted until 9/1/2020.

You can find out more at The Mad Botter’s Fourth of July contest page.

Also worth checking out

Mike has a podcast, The Mike Dominick Show, which covers technology and open source.

I was a recent guest on the show (Episode 25), and we talked about how the Toronto tech scene changed from dismal to dynamic,  how I stumbled into developer evangelism, learning iOS programming via raywenderlich.com and then joining them, SwiftUI, Python and Burning Man, the hidden opportunities that come with having to stay inside during the pandemic, and more!

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: