Hands On With A Batteryless E-Paper Display

E-paper displays are unusual in that power is only needed during a screen update. Once the display’s contents have been set, no power whatsoever is required to maintain the image. That’s pretty nifty. By making the display driver board communicate wirelessly over near-field communication (NFC) — which also provides a small amount of power — it is possible for this device to be both wireless and without any power source of its own. In a way, the technology required to do this has existed for some time, but the company Waveshare Electronics has recently made easy to use options available for sale. I ordered one of their 2.9 inch battery-less NFC displays to see how it acts.

Continue reading “Hands On With A Batteryless E-Paper Display”

Why You (Probably) Won’t Be Building A Replica Amiga Anytime Soon

Early in 2019, it  became apparent that the retro-industrial complex had reached new highs of innovation and productivity. It was now possible to create entirely new Commdore 64s from scratch, thanks to the combined efforts of a series of disparate projects. It seems as if the best selling computer of all time may indeed live forever.

Naturally, this raises questions as to the C64’s proud successor, the Amiga. Due to a variety of reasons, it’s less likely we’ll see scratch-build Amiga 500s popping out of the woodwork anytime soon. Let’s look at what it would take, and maybe, just maybe, in a few years you’ll be firing up Lotus II (or, ideally, Jaguar XJ220: The Game) on your brand new rig running Workbench 1.3. Continue reading “Why You (Probably) Won’t Be Building A Replica Amiga Anytime Soon”

Linux-Fu: Automation For Chrome And The Desktop By Matching Screenshots

I will be the first to admit it. This is almost not — at least not specifically — a Linux article. The subject? An automation tool for Chrome or Firefox. But before you hit the back button, hear me out. Sure, this Chrome plugin started out as a tool to automatically test web pages and automate repetitive tasks in the browser. However, it can extend that power to all programs on your computer. So, in theory, you can use it to graphically build macros that can interact with desktop applications in surprisingly sophisticated ways. In theory, anyway; there are a few problems.

The program has a few different names. Most documentation says UI Vision RPA, although there are some references to Kantu, which appears to be an older name. RPA is an acronym for Robotic Process Automation, which is an industry buzz word.

Let’s take it for a spin and see what it’s all about.

Continue reading “Linux-Fu: Automation For Chrome And The Desktop By Matching Screenshots”

Binary Math Tricks: Shifting To Divide By Ten Ain’t Easy

On small CPUs, you often don’t have a multiply or divide instruction. Of course, good programmers know that shifting right and left will multiply or divide by a power of two. But there are always cases where you need to use something that isn’t a power of two. Sometimes you can work it out for multiplication.

For example, multiplying by 10 is common when dealing with conversion between binary and decimal. But since 10n is equal to 8n+2n, you can express that as a bunch of left shift three times to multiply by eight, adding that value to your original value shifted left once to multiply by two.

But division is a different problem. n/10 does not equal n/8-n/2 or anything else simple like that. The other day a friend showed me a very convoluted snippet of code on Stack Overflow by user [realtime] that divides a number by 10 and wanted to know how it worked. It is pretty straightforward if you just stick with the math and I’ll show you what I mean in this post. Turns out the post referenced the venerable Hacker’s Delight book, which has a wealth of little tricks like this.

Continue reading “Binary Math Tricks: Shifting To Divide By Ten Ain’t Easy”

A Beginner’s Guide To Lithium Rechargeable Batteries

Batteries were once heavy, awkward things, delivering only a limp amount of current for their size and weight. Thankfully, over time, technology has improved, and in 2020, we’re blessed with capable, high-power lithium polymer batteries that can provide all the power your mobile project could possibly need. There are some considerations one must make in their use however, so read on for a primer on how to properly use LiPos in your project!

So Many Types!

With the first commercial lithium-ion battery entering the market in 1991, the (nearly) 30 years since have seen rapid development. This has led to a proliferation of different technologies and types of battery, depending on construction and materials used. In order to treat your batteries properly, it’s important to know what you’ve got, so paying attention to this is critical. Continue reading “A Beginner’s Guide To Lithium Rechargeable Batteries”

Quantum Computing And The End Of Encryption

Quantum computers stand a good chance of changing the face computing, and that goes double for encryption. For encryption methods that rely on the fact that brute-forcing the key takes too long with classical computers, quantum computing seems like its logical nemesis.

For instance, the mathematical problem that lies at the heart of RSA and other public-key encryption schemes is factoring a product of two prime numbers. Searching for the right pair using classical methods takes approximately forever, but Shor’s algorithm can be used on a suitable quantum computer to do the required factorization of integers in almost no time.

When quantum computers become capable enough, the threat to a lot of our encrypted communication is a real one. If one can no longer rely on simply making the brute-forcing of a decryption computationally heavy, all of today’s public-key encryption algorithms are essentially useless. This is the doomsday scenario, but how close are we to this actually happening, and what can be done?

Continue reading “Quantum Computing And The End Of Encryption”

The Seedy World Of Message Serialization

Look, I’ve been there too. First the project just prints debug information for a human in nice descriptive strings that are easy to understand. Then some tool needs to log a sensor value so the simple debug messages gain structure. Now your debug messages {{look like : this}}. This is great until a second sensor is added that uses floats instead of ints. Now there are sprinklings of even more magic characters between the curly braces. A couple days later and things are starting to look Turing complete. At some point you look up and realize, “I need a messaging serialization strategy”. Well you’ve come to the right place! Continue reading “The Seedy World Of Message Serialization”