Browsed by
Category: Tools

Would you buy a car with the hood welded shut?

Would you buy a car with the hood welded shut?

This post’s title question is a quote from Red Hat Linux founder Bob Young, emphasizing the benefit of open source software allowing you to inspect and modify your software tools.

This hood was “welded” shut by the clone tool using GIMP.

Let’s take some creative license with the car analogy.

Would you buy a car that has the battery riveted into the chassis? Let’s say doing so frees up the engine bay a little and allows for a larger battery than the standard cubic 24F battery since its custom shaped into a body member cavity. I would wager most folks would balk at this design choice knowing that batteries expire within a few years and would rather be able to replace the battery without also needing to swap out the front quarter body panel.

Would you buy a car whose engine has the water pump, alternator, A/C compressor, and power steering accessories welded into the engine block instead of conventionally bolted on? While we’re at it, turn them all internal facing so they’re driven by a sealed chain. Let’s propose that permanently fusing these accessories into the engine at the factory nets some performance increase and allows the car designers to shave 3 inches from the engine bay and give that space gain into the passenger cabin. I can almost guarantee someone living in Florida, USA during a humid summer season being told their A/C compressor is broken and has to get a whole new engine put in isn’t going to care as much about the few HP or foot-well room bought by the “fully integrated” engine design.

Now, my examples focus more on the hardware serviceability side of things. But it is important nonetheless because such measures preventing you from maintaining your systems within practical reason have encroached gradually over time with little protesting.

Non-user replaceable batteries have proliferated across most contemporary smartphone offerings, thereby placing a hard limit to use life as service life of Li-Ion batteries is just a few years regardless of use duty. Batteries internally glued to the chassis has been a feature on several higher profile laptop models, making repair a potentially dangerous undertaking.

RAM modules soldered onto the motherboard instead of installed into slots isn’t exactly a new invention — I saw it on a couple lower-end Intel-486 based desktop computers back in the mid-1990s. As those models were marketed for institutional use, my guess is it was due to budgetary reasons. Modern laptops that use soldered RAM will claim it helps thin the chassis (whether or not it matters to the target clientele). Granted, for some slim focused ‘s’ notebooks the tradeoff may be warranted, but is odd when an productivity oriented, unashamed thicker ‘T’ notebook uses soldered RAM. Although RAM failures are quite rare these days, a non-replaceable module is yet another unnecessary system failure point.

Back to my fully integrated engine thought from earlier, soldered RAM (and soldered CPU) may be a non-issue for the appropriate target audience who might be more willing to scrap the entire system of either of those parts started acting up. However, bundling the non-volatile data storage within the weld is asking for trouble no matter the end user. Within such a system, if the main board becomes inoperable for whatever reason (bad power rail, water ingress, exposure to leaked battery acid, etc) the user data is not retrievable. Not only that, SSDs themselves are a consumable component with a finite (although usually long) erase/write life and also not immune to controller silicon failures.

Its easy to envision the not so pleasant future where even though you purchase computing hardware, you really only lease them. The ‘just don’t buy it’ doesn’t always cut it because its not just one offending company, nor is it limited to computer hardware.

The debate on right-to-repair may be promising, but it is a complex discussion with many intricacies that can trip up most legislative bodies who are distracted by the lobbying parties of interest while (hopefully) balancing the reach of government.. Impactful and straightforward, yet non-draconian directives may be hard to come by. How do you go about mandating design for serviceability at the legal level with non-ambiguous verbose? Is it “serviceable” if a board or module can be swapped out, or is the requirement satisfied only with schematics, firmware, and access to vendor specific custom chips?

The mitigation options readily available for preventing computing failure fallout includes redundant data backup/recovery measures, and fallback computing systems at the standby.


LPT: If you’re using a computer for work, One is None

LPT: If you’re using a computer for work, One is None

About a year ago I had a conversation with a professional friend about our work arrangements at the time, and what we’d do in terms of bench setup if we each were to do full-time independent consulting and contracting. Almost immediately we unanimously agreed on having two (2) computers.

The rationale is pretty obvious: loss of use of computing tools for design and development is a major risk to revenue when you’re the invoicing party. However, being stuck in the water when your only corporate issued rig gives up isn’t fun either.

I was reminded of that think-storm session earlier this week, right in the middle of a rather intense sprint.

Fortunately, it’s still able to boot after entering Startup Settings and toggling an option. But I have to do it every time now.

Luckily, this halting-on-boot laptop wasn’t the only computer I have for development, because otherwise it would have been very inconvenient in the project support, and a potentially major hassle should major servicing be required during COVID-19 shelter-in-place.

I experienced no loss to productivity because I perform most development with another computer that is my daily driver. On the table next to it is my secondary computer, which while not identically configured, can stand in with the same tool chains should need arise.

Of course, a sound data backup and recovery plan is always necessary and most people (hopefully) have that in mind, especially as some computer models tightly integrate storage modules rendering recovery difficult when the system fails to operate. Redundancy in workstations and other important tools may not often be in the forefront of thought, but is an important consideration. Even if you’re able to pick-up a new computer from the store within the hour, it may take a day or so to load up your software tools to get back to being productive.

It took me a few months to determine the most appropriate redundant systems strategy. At first, I had thought of keeping two mostly identical computers but realized quickly that one of them would most likely collect dust. Two exact setups are also potentially vulnerable to same-time failure if for example, the OS vendor pushes out a faulty automatic update.

I presently settled upon maintaining complementary platforms that are able to either host cross-platform tools natively and/or virtualize operating environments that can be replicated. This way, the computer resources all get utilized on a regular basis and have enough overlap should one fail at an inopportune time.

Is your shop’s email address promoting your brand, or someone else’s?

Is your shop’s email address promoting your brand, or someone else’s?

Online web presence is a requiem for practically every business big and small. Dutifully, that includes establishing a proper web site and appropriate domain name to represent the business.

Oftentimes however, I observe small businesses such as favorite mom & pop dining establishments, or real estate agents, go through the effort of setting up [business_name].com for a web site address, only then to use an email address such as [business_name]@[POPULAR_FREE_EMAIL].com

It certainly works, but definitely could be better. –Potentially worse for professional image if the email goes to an uhm “legacy” internet service provider host. It would be great to setup contact email addresses to use the same domain name. Fortunately, it’s not too hard to accomplish, without having to run your own email server or migrate your existing email accounts.

What you’re going to look for is “Email Forwarding” or “Email Alias.” Once setup, what this will do is the domain will receive any emails addressed to “name@example.com” and forward it to whichever email address destination you’ve set. So even if you use Gmail, Yahoo, Hotmail, or AOL email, you can print your business cards and other promotional materials with an @your_business_name.com email address.

Where to find this setting will depend on your current configuration.

a) If you contracted with a consultant to manage your online presence and have a turnkey service agreement with them, by all means contact and let them know you want an email address at your domain to forward to your usual email address. You can still continue reading below as reference to what your consultant might do.

If you’re managing things partially or fully on your own, then either of these will likely apply:

b) Your domain is setup with a registrar and it points an IP address to a server hosted with another provider – chances are you’re using your registrar’s default DNS server. Somewhere within your host-records configuration there should be an option for Email Forwarding or Alias. If you’re unsure, look through the registrar’s support knowledge base or contact the support team

c) If you go into your registrar’s domain setup and you don’t see these DNS options, your domain might be setup to use a non-default nameserver. This may be the case if you’re using the same company for domain and hosting where they have you setup with their “web hosting nameserver”. If the web hosting side presented you a cPanel control panel, you might find the email configuration there.

So far, you can receive emails addressed at your forwarding alias.

No matter what, if you’re writing emails from your Gmail/Yahoo/et.al account, the email headers will show that it is originating from Gmail/Yahoo/et. al.

However, you can set your email account’s “Reply-To” address to your domain forwarding email address. This way, when someone replies to an email, your ‘name@your_business_name.com address will be in the “To:” field. In Gmail, its under Settings->Accounts and Import.

Now, when you go to draft emails, you should get a drop-down option in the “From:” field.


Send some test emails between yourself, maybe get a friend to test it out for you as well to make sure all works as expected. Now you can have consistency with your web address and email address.

Introducing Computer Science with micro:bIt

Introducing Computer Science with micro:bIt

Disclaimer: As an Amazon Associate I earn from qualifying purchases

Throughout the school year we introduce computer science concepts as appropriate for age and skill level.  Towards the end of last school year we started using the micro:bit platform as a fun learning tool with much success and plan to continue in the following weeks.

The micro:bit is a plug-and-go easy to use introductory electronics and programming platform with a 5×5 LED “display” matrix, a couple buttons, and a 3-axis accelerometer.

The kit comes with a battery pack and a short micro-USB cable for power/programming.  The longer hi-visibility red cable that I used is this one: https://amzn.to/2KQv6Wm

The programming environment is web based, so any computer with a modern browser and an available USB port should work.  Our kids were able to do the labs with our relatively low-power, long battery life Chromebook

Time-Lapse capture with webcam and Linux scripting.

Time-Lapse capture with webcam and Linux scripting.

Disclaimer: As an Amazon Associate I earn from qualifying purchases.

Time-lapse photography is a concept of taking snapshots at a particular interval over time to record events in a low resource manner, compared to capturing a video stream.  Here, we discuss how to use a relatively inexpensive web camera and a computer to build a low-budget time-lapse platform.

Action Summary

Video capture of a video capture

Pretty much any relatively modern PC with decent storage and functional USB 2.0 ports should suffice.  I had an old big-box special on hand.

Logitech webcams tend to plug-and-play easily with Linux distros:

The Logitech C615 is the model featured.  It does 1080p capture, with some nudging.

*Even though I held up an external HDD in the footage, I didn’t get to show setting that up yet and instead relying on internal storage for now.

The “cheese” program is a quick way to test a webcam. (https://help.gnome.org/users/cheese/stable/introduction.html.en).  To install on a Ubuntu/Mint system, use apt-get in a terminal window:

sudo apt-get install cheese

A Compact Flexible Tripod makes for camera positioning in tight corners.

We looked at how to use the fswebcam Command Line utility to capture images via the terminal.  You may either git clone from the project page, or on an Ubuntu/Mint system, enter in a terminal window:

sudo apt-get install fswebcam

It is a bit of trial-and-error figuring the optimal parameters for the fswebcam utility with a camera.

Then we watched how bad I am at live shell scripting, though I freely admit its not my everyday gig and that I make liberal use of internet search the few times I write shell scripts.  Can’t go wrong with an O’Reilly book on Shell Scripting if you want an at arms reach reference to thumb through

Hope you found this useful and informative.  Having a setup like this opens up a lot of other potential applications to build upon.

Disclaimer: from a technical and functional perspective, this post is about using extending usage of commodity hardware using computer scripting.  There are some potential premise security applications for such a setup.  While anyone is welcome to use the information herein, the reader is responsible for determine appropriate for use, deployment, and maintenance of such applications for their security needs.  I/We do not explicitly endorse this type of setup as a part of a security protocol.

Finding a low-cost electronics kit

Finding a low-cost electronics kit

Disclaimer: As an Amazon Associate I earn from qualifying purchases

Learning about electronics with just paper and pencil only goes so far.  Eventually it’s really nice to get your hands on actual electronic parts.

It used to be that if you were near a mall, you could walk into a Radio-Shack and come out with electronic components.  If you’re more fortunate, you can also get a good selection from a Fry’s Electronics.

I got an electronics kit, aptly named “Electronics Fun Kit”, as well as a few extra breadboards.  I’ll use this to stage workshops and other posts on this site.  As well as introducing electronics to our kids as part of Science.

kit00

Amazon is an almost-universally accessible online retailer, hence the vendor of choice today.  Other sites like DigiKey are quite good, but are also easy to get lost for a novice.

The 3-pk of Elegoo MB-102 Breadboard is as expected for a breadboard.  A breadboard is an easy electronics prototyping platform for through-hole components and solder-less wires.

kit01

The Elegoo EL-CK-002 Electronic Fun Kit Bundle comes with a sample of LEDs, caps, resistors, diodes, buttons, jump wires, header pins, pretty much anything you’d need to get started:

kit03

When I ordered it, I wasn’t sure of the included power board and thought it’d be rubbish.  But in checking it out, it looks to be a convenient USB-to-Power supply with an ON/OFF switch to boot!

kit04

Here the board is taking in +5 VDC from a USB port, and outputting ~3.3v.  The board also accepts input power from a DC barrel.

Having this board available makes it easier to power a circuit without calling out a separate regulator circuit.  I’ll have to check the specs on the on-board regulators (there’s no documentation) but conceivably 4 AA batteries(6V) could be rigged thru a DC barrel or USB plug for untethered operation.

All in all, this looks to be a promising startup kit/

Getting Started: A Hi-Value, Low-Budget Laptop Option

Getting Started: A Hi-Value, Low-Budget Laptop Option

Forward: For anything that ever gets posted on this site as a tutorial or project series that calls out materials and/or tools that are not free to follow along on your own, please assess your continued personal interest in the subject matter before committing to a purchase, especially if the considered item is more specialized than general purpose.  Feel free to continue reading the posted materials to gauge interest.

That being said, a computer has many uses by many people.  If you were to buy a computer to check out programming tutorials online, it could just as well be used for many other non-programming tasks.

Now, if you already have a capable computer that you have full ownership or authorization for use/configuration, just use that.  The best things are those that you already have.

So, doesn’t that include everyone?  This is 2016, not 1996.  Well, not quite: Even though affordability has improved vastly over the years, it can still be a stretch to obtain a computer.  But even for those who are more than able to afford a computer, with many personal computing needs being met with smartphones and tablets, a lot of folks can forgo a computer in the home.

That is, until you want do things outside of email, “liking” your friends, and taking selfies with food.

Computers of the desktop and laptop variants are on the market at many price points and feature-sets, and I am to believe folks are more than capable of finding one that best fits their needs.  Any attempt of writing out a buying-guide would be wasted efforts on my part, as many review sites already fill that role.

But I’ll focus on “hi-value, low-cost” for a moment.  If someone who didn’t already own a computer (and access to a work provided machine doesn’t count…), I would suggest spending the least possible if their only driving interest in owning a computer is to follow along posted examples on my site.  But I’d still want to propose a system that’s decently built with reasonable specifications.

Enter: The Chromebook.

Screenshot - 07182016 - 10:14:56 PM

A category of low-cost (except for the Chromebook Pixel) hardware running Google’s Chrome OS, plenty for most casual computer users, many models with battery specs that rival that of big-box door-buster traditional laptop models.  Base system storage is eMMC, and while typically relatively small (16, sometimes 32GB), is usually augmented by an available SD/microSD card slot, thereby presenting a fully solid-state system.  Most Chromebooks are equipped with 2 USB slots, and some form of video output (e.g. HDMI).

Browsing available models, thin and light is a common theme, making them pack and go anywhere.

Chromebook (and ChromeOS) is commonly positioned as an internet-reliant thin-client of sorts: It’s easy to summarize the intent of a Chromebook as a Chrome Browser as a computer system, with “applications” in the form of Chrome Apps and Extensions.  –and for email, general browsing, office productivity (via Google Docs), VOIP (Hangouts), and light photo editing, its quite a sufficient setup.

However, by following some well documented steps, a Chromebook can be easily enabled as a stealth economy Ultrabook alternative:

Screenshot 2016-07-18 at 8.17.56 AM

Yes, I am a recently new owner of a Chromebook that runs an Ubuntu Linux system within a window.  Running Linux opens access to all software (within CPU and storage reasons) on the Linux platform to my $200 econo-laptop that seems to have no problem returning 11 hours unplugged life under more pedestrian uses.

I further detail what I did to get the screen capture above in this HowTo, but in summary it was:

  1. Unbox and verify machine works out of the box.  Allow system to update.
  2. Backup The System, just in case…
  3. Enable Developer Mode
  4. Use Crouton to automagically download and install Linux in a chroot.

Tip: Using a large SD card split between “local storage” and “Linux” helps keep the limited eMMC block dedicated for ChromeOS.

New-purchase prices for Chromebooks tend to range between just below $100 to maybe $400 on the higher end, with the Pixel on the other side of $1k.  In the 2-3 US Benjamins section, distinguishing specs are screen size, CPU type, and RAM.  Look for:

  • Screen size: 11.6″ is great for ultra portability, 14″ or 15″ can be had with 1080p resolution.
  • Small convertible models are nice if you want to stay on from gate to gate while flying domestically in the US.
  • I’d strongly recommend an Intel based CPU (e.g. Celeron).  ARM is fine for ChromeOS, but may present some hurdles with Linux applications since most are written for x86.
  • Strong preference for fanless design.  One less thing to fail or draw milliwatts from the battery, and less concern for internal dust accumulation.
  • More RAM is better if available.  For most models, its not user up-gradable so you’ll have to choose when you buy.
  • Larger eMMC is nice-to-have, but ChromeOS itself keeps a small footprint on its own.  Make sure your model is equipped with a SD or microSD card slot.

The system I’m staging as a sample software development platform (and using to update this page…) was obtained for $200.  It comes with a matte, anti-glare 11.6″ screen, 4GB RAM, 11hrs quoted battery life and has a $40 128GB microSD card loaded.

A value that’s pretty hard to beat for a tad under $250.

Happy Computing!

Further Reading: