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
Current Events Tampa Bay

What’s happening in the Tampa Bay tech/entrepreneur/nerd scene (Week of Monday, June 29, 2020)

Hello, Tampa Bay techies, entrepreneurs, and nerds! Welcome to the Fourth of July edition of the list! Here’s the list of the week’s online-only events for techies, entrepreneurs, and nerds based in an around the Tampa Bay area.

The Fourth falls on a Saturday this year, and when combined with COVID-19, that means that Friday, Saturday, and Sunday don’t have much going on.

Keep an eye on this post; I update it when I hear about new events, it’s always changing. Stay safe, stay connected, and #MakeItTampaBay — and have a safe and happy Fourth of July!

When will this list include in-person events?

It could be a while. I’ll let this picture and video do all the explaining…

Monday, June 29

Tuesday, June 30

Wednesday, July 1

Thursday, July 2

Friday, July 3 / Saturday, July 4 / Sunday, July 5

At the time of writing there aren’t any online tech, entrepreneur, or nerd events in the Tampa Bay area for Friday, Saturday, and Sunday. Given that it’s the 4th of July weekend, that shouldn’t be too surprising. Enjoy the long weekend, and get your America on!

Do you have an upcoming event that you’d like to see on this list?

If you know of an upcoming event that you think should appear on this list, please let me know!

Join the mailing list!

If you’d like to get this list in your email inbox every week, enter your email address below. You’ll only be emailed once a week, and the email will contain this list, plus links to any interesting news, upcoming events, and tech articles.

Join the Tampa Bay Tech Events list and always be informed of what’s coming up in Tampa Bay!


Categories
Career

That time I did a children’s technology show for Microsoft

I had a lot of fun, surreal moments during my time as a developer evangelist at Microsoft, and among the most surreal and fun was the short-lived time when I had a technology show for kids called Developer Jr.

Hosted on Butterscotch.com, a technology education video site launched by Tucows (a prior employer) in 2008, Developer Jr. was an online video show for children ages 7 through 12. Our goal was to teach kids programming and other creative things they can do with computers and technology (particularly Microsoft technology). It starred me as the host and tutor, and “Junior”, an impish puppet played by Brian Hogg. It was sponsored by Microsoft Canada and produced at Butterscotch.com’s studios in Toronto’s Liberty Village neighborhood in early 2010.

The premiere episode showed how you could use the code-free game development system Kodu (which ran on Windows and the Xbox 360) to make your own videogames:

The follow-up episode covered making your own movies with Windows Live Movie Maker:

There was also this interview with Butterscotch.com’s Matt Harris in which we discussed the making of Developer Jr.:

Unfortunately, Developer Jr. was cancelled after two episodes for financial reasons. There wasn’t a department within Microsoft Canada who had a budget aimed at the 7 – 12 year-old set.

I’m still pretty pleased with the work that we did during that too-short season, and I’d like to thank Brian Hogg, video wizards Sean Carruthers and Matt Harris for making the magic happen, and Andy Walker for getting the whole thing started!

Categories
Programming Reading Material

My Smalltalk-80 literature and monitor stand

A couple of readers noticed my makeshift monitor stand pictured in the article Building a lean and mean (and frugal!) Python development machine with Peppermint OS:

Yup, it’s the holy trinity of books for Smalltalk-80, the definitive release of original recipe Smalltalk. You probably haven’t used Smalltalk, but you probably use a programming language influenced by it: Dart, Go, Java, Kotlin, Objective-C, PHP, Python, Ruby, Swift, and Scala, to name just a few.

They were a lucky find: they were in a banker’s box in a trash pile on the east side of downtown Toronto, sometime in late 1998. It’s probably my best dumpster-dive find, beating out even that still-functional cable modem or e-Machines starter Pentium machine that I would find a few months later. (Boom times make for great dumpster diving.)

The books are historically interesting. They’re written for readers who would spent all their computing time in the command line, and probably had never seen a GUI before, and they most definitely had never used an IDE. That’s why one of the books is devoted to Smalltalk’s interactive environment, and why one of the first illustrations in that book is this one:

A mid-1980s system capable of running the Smalltalk interactive environment, from page 6 of “Smalltalk-80: The Interactive Programming Environment”. Tap the photo to see it at full size.

Here’s a sample from the biggest of the books: Smalltalk-80: The Language and its Implementation. It’s the definition of a class named FinancialHistory:

The “FinancialHistory” class from pages 43 and 44 of “Smalltalk-80: The Language and its Implementation”. Tap the photo to see it at full size.

To a present-day programmer, the syntax may seem a little weird (it’ll be a little less weird to Objective-C and Swift programmers; now you know where that method-calling syntax comes from!), but they’d still find it familiar. To a programmer in 1984, the year the book was published, who probably subsisted on a steady diet of structured programming, this must’ve been positively mindblowing.

For the curious, here’s how you’d create an instance of FinancialHistory named HouseholdFinances with an initial balance of $350:

Once created, we’d record household spending like so:

(I just felt a disturbance in the Force, as if millions of Objective-C and Swift programmers cried out, saying “So it’s Smalltalk’s fault!”)

The smallest of the books, Smalltalk-80: Bits of History, Words of Advice, gets deep into the implementation details of Smalltalk-80. And I do mean deep: there’s a whole chapter devoted to an implementation of a Smalltalk garbage collector.

I’ll eventually return these books to their proper place on the bookshelf and replace them with a proper monitor stand, but in the meantime, they’re doing a pretty good job as the basis for my monitor, just as their content did a pretty good job as the basis for the programming languages I use.

do try to take care of these books, as their scarcity has made them a little more expensive than your standard textbook:

The current Amazon prices for the two hardcover Smalltalk-80 books.
Categories
Current Events Players

Robert Blacklidge and the Feeding the Future hackathon: This weekend, online

Robert Blacklidge

Robert Blacklidge on a bus full of Startup Bus hackers
Robert Blacklidge at Startup Bus 2017.

You can’t talk about the Tampa Bay startup scene for long before the name “Robert Blacklidge” comes up. You’ll often see him at Tampa Bay tech and entrepreneur events, and when he’s not organizing or facilitating hackathons, he’s winning at them. One of his creations, Course Align, made it all the way to finals at Startup Bus 2017 (be sure to check out Gimlet Media’s Startup podcast episodes where they follow the Bus, including the creation of Course Align).

He’s also been bringing tech events and amenities to his home, Lakeland (about 35 miles east of Tampa). Thanks to his work, Lakeland has its editions of 1 Million Cups, Startup Grind, and Techstars Startup Weekend. He also co-founded CO.STARTERS, a 9-week program that teaches entrepreneurs to achieve their long-term goals.

This weekend, he’ll be a mentor at the Feeding the Future online hackathon.

Feeding the Future: A FoodTech hackathon

The world’s food chain supply chains have been greatly disrupted by COVID-19 and its cascading effects. Most of these disruptions will have unpredictable long-term lasting effects on our food systems. The Feeding the Future hackathon’s challenges are all centered around solutions to address and counter these disruptions.

The challenges are:

  1. Sustainable farm-to-fork solutions. How can we use digital technologies to build a more resilient and agile food supply chain for local producers and farmers after CoVid-19 using sustainable farm2fork solutions and further increase e-commerce and home delivery services? How can we apply dynamic models to support seasonal trade and preparation tools for all parts in the food chain?
  2. Reducing carbon “food”prints. The importance of food within cities and urban design is central from several angles. There is a need to transform our urban food systems with a focus on sustainability and resilience.
  3. Make a new and tasty fish product. Baltic Herring is a tasty, small fish found in abundance in the Baltic Sea. Increasing it’s consumption can help lower our carbon footprint. What kind of food product(s) can we create using the Baltic Herring to increase consumption?
  4. Increase Finnish/African food trade. (The hackathon is being organized from Finland.) Africa is an untapped potential market. Finland is known for its world class research in food engineering. What kind of product or services can be utilized to help increase the quality and quantity of food export between Finland and Africa?

Feeding the Future’s kickoff/orientation session happens tomorrow (Thursday, June 25th) at 9:00 a.m. Eastern.

Here’s how you can join in:

NOTE: You can only compete in the Hackathon as a TEAM of two or more members. If you don’t have yet a team, join the hackathon’s Discord community to find one.

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 Tampa Bay

What’s happening in the Tampa Bay tech/entrepreneur/nerd scene (Week of Monday, June 22, 2020)

Greetings, Tampa Bay techies, entrepreneurs, and nerds! Welcome to the June 22, 2020 edition of the list! Here’s this week’s list of online-only events for techies, entrepreneurs, and nerds based in an around the Tampa Bay area. Keep an eye on this post; I update it when I hear about new events, it’s always changing. Stay safe, stay connected, and #MakeItTampaBay!

When will this list include in-person events?

The answer remains, quite emphatically: NOT JUST YET.

Consider the recent spike in cases, as reported in the news:

With this spike in mind, I’m opting to list only those events that I know are online only for the time being.

Monday, June 22

Tuesday, June 23

Wednesday, June 24

Thursday, June 25

Friday, June 26

Saturday, June 27

Sunday, June 28

Do you have an upcoming event that you’d like to see on this list?

If you know of an upcoming event that you think should appear on this list, please let me know!

Join the mailing list!

If you’d like to get this list in your email inbox every week, enter your email address below. You’ll only be emailed once a week, and the email will contain this list, plus links to any interesting news, upcoming events, and tech articles.

Join the Tampa Bay Tech Events list and always be informed of what’s coming up in Tampa Bay!