Peeking Inside Executables And Libraries To Make Debugging Easier

At first glance, both the executables that a compiler produces, and the libraries that are used during the building process seem like they’re not very accessible. They are these black boxes that make an application go, or make the linker happy when you hand it the ‘right’ library file. There is also a lot to be said for not digging too deeply into either, as normally things will Just Work™ without having to bother with such additional details.

The thing is that both executables and libraries contain a lot of information that normally is just used by the OS, toolchain, debuggers and similar tools. Whether these files are in Windows PE format, old-school Linux a.out or modern-day .elf, when things go south during development, sometimes one has to break out the right tools to inspect them in order to make sense of what is happening.

This article will focus primarily on the Linux platform, though most of it also applies to BSD and MacOS, and to some extent Windows.

Continue reading “Peeking Inside Executables And Libraries To Make Debugging Easier”

Begin Your Day On An Uplifting Note With A Daily Affirmation Mirror

We’ve seen dozens of “Magic Mirror” builds around here, most of which display all sorts of information — calendar, weather, news. They’re great builds, but they tend to be a bit busy and don’t really inspire a calm start to the day. But if you’re good enough and smart enough, you can build this electronic affirmation mirror, and doggone it, people will like you.

[Becky Stern] stripped the magic mirror concept down to a minimum with this build and uses only an array of 14-segment alphanumeric displays to scroll uplifting messages. The glass she used is partially reflective, and when covered with black tape on the backside, with a small portal for the display, it makes a decent mirror. The displays are driven by a Trinket using static affirmations stored in the sketch; a microcontroller with a WiFi connection could also be used to source affirmations on the fly. Or, you know, stock prices and traffic updates, if you’re not into the whole [Stuart Smalley] thing.

So what about those aforementioned magic mirror builds? We’ve got large ones, small ones, retro ones, and even kid-centric ones. Take your pick!

Continue reading “Begin Your Day On An Uplifting Note With A Daily Affirmation Mirror”

Raspberry Pi 4 Gets Its 8 Gigs

What began as a rumor becomes reality. This morning [Eben Upton] announced that the newest flavor of the Raspberry Pi 4 comes with 8 gigabytes of RAM and a sticker price of $75, roughly twice that of the base model which is now pegged at 2 GB of ram.

Originally released on June 23rd of last year, the Pi 4 came with three different options for 1, 2, or 4 GB of memory. But just a few days later, Hackaday reported on an Easter egg in the user guide that referenced an 8 GB option.

So why didn’t this version get released in 2019? That’s the crazy thing about this story. In the announcement [Eben] mentions that the Pi’s design is capable of addressing up to 16 GB of LPDDR4 SDRAM (we say bring it, but that’s a discussion for a different day). It took a year to get here because there wasn’t a source available for this 8 gig version until Micron began manufacturing the chip earlier this year.

Also addressed in this announcement is a looming changeover that was bound to happen eventually: the move from 32-bit to 64-bit operating systems on the Pi. While a 32-bit image can access all of this larger memory across multiple process, it can’t devote more than 3 GB to a single Linux process because of address space limitations. Simply put, you need more bits to access the higher addresses. Moving to a 64-bit system accomplishes that, something you can do by running unofficial builds on the Pi, but the official build didn’t support it until today’s announcement of a 64-bit beta image.

This is inevitable, not purely because of this memory limitation, but because we’ve seen examples where the juggernaut of Linux development has its own eye on a 64-bit future. Official images for Raspberry Pi have always been 32-bits, and remain so for now, but the wind is beginning to blow for this and future hardware offerings that are bumping up against limitations. Along with the news of this impending architecture switch over, the official operating system has also gotten a name change: Raspbian will henceforth be known as Raspberry Pi OS.

When [Jenny List] first reported on the 8 GB rumors last June, she speculated that today’s announcement would happen on February 29th of this year. Why the leap day? It happened to be the 8th birthday of Raspberry Pi and synced up nicely with an 8 GB surprise. Today’s announcement drops the morsel of trivia that the foundation was indeed planning on that date, but missed it by three months due to supply chain disruption associated with the coronavirus pandemic that prevented them from sourcing all the parts necessary for the new power supply design included in this revision.

We’d love to hear your thoughts on this move. Do you need 8 GB on your Pi, and does the 3 GB limitation of a 32-bit kernel matter to you? Let us know in the comments below.

X-37B Spaceplane To Test Power Beaming Technology

Since 2010, the United States military has been operating a pair of small reusable spaceplanes that conduct secretive long-duration flights in low Earth orbit. Now officially operating under the auspices of the newly formed Space Force, the X-37Bs allow the military to conduct in-house research on new hardware and technology with limited involvement from outside agencies. The spaceplane still needs to hitch a ride to space on a commercial rocket like the Atlas V or the Falcon 9, but once it’s separated from the booster, the remainder of the X-37B’s mission is a military affair.

An X-37B being prepared for launch.

So naturally, there’s a lot we don’t know about the USSF-7 mission that launched from Cape Canaveral Air Force Station on May 17th. The duration of the mission and a complete manifest of the experiments aboard are classified, so nobody outside the Department of Defense truly knows what the robotic spacecraft is up to. But from previous missions we know the craft will likely remain in orbit for a minimum of two years, and there’s enough public information to piece together at least some of the investigations it will be conducting.

Certainly one the most interesting among them is an experiment from the U.S. Naval Research Laboratory (NRL) that will study converting solar power into a narrow microwave beam; a concept that has long been considered the key to unlocking the nearly unlimited energy potential offered by an orbital solar array. Even on a smaller scale, a safe and reliable way to transmit power over the air would have many possible applications. For example it could be used to keep unmanned aerial vehicles airborne indefinitely, or provide additional power for electric aircraft as they take-off.

Performing an orbital test of this technology is a serious commitment, and shows that all involved parties must have a fairly high confidence level in the hardware. Unfortunately, there isn’t much public information available about the power beaming experiment currently aboard the X-37B. There’s not even an indication of when it will be performed, much less when we should expect to see any kind of report on how it went. But we can make some educated guesses based on the work that the Naval Research Laboratory has already done in this field.

Continue reading “X-37B Spaceplane To Test Power Beaming Technology”

Jack Tramiel Got A Good Deal, And Ruined Everything

A sideshow in the playground wars of the early 1980s over who had the best home computer lay in the quality of their onboard BASIC interpreters. Where this is being written the cream of the crop was Acorn’s BBC Basic, while Sinclair owners could hold their own, and the Commodore 64 was regarded as powerful, but not easy to program. It’s a teenage memory brought to mind by [Liam Proven], who argues in a blog post that Commodore’s BASIC left a problematic legacy that can still be felt today.

It’s an interesting proposition, and one with its roots in Commodore founder Jack Tramiel’s 1977 deal with Bill Gates to acquire a version of Microsoft BASIC for his machines, in which he paid a one-off fee for unlimited uses of the language rather than a per-sale levy. The argument in the post is that this led to later Commodore machines being hamstrung by an outdated BASIC interpreter as a cost saving measure. It fits well with those 1980s memories from school computer labs, because by comparison its competitors six years after the deal had the benefit of language extensions missing in Commodore’s 64.

Where [Liam]’s analysis becomes interesting is in how he perceives the effect of this long-in-the-tooth BASIC; he postulates that the sheer number of Commodore 8-bit machines sold ensured it had a dominant position in the market place and thus coloured the perception of BASIC as a programming language in the years that followed. We’re not so sure about his view that this led eventually to some of the shortcomings in computing today, but we agree wholeheartedly with him that Commodore were less than competent in marketing their hardware.

We look forward to hearing your take on the matter in the comments, and meanwhile for some perspectives on the Commodore of the day who better to relate them than somebody who had a ringside seat. Our colleague [Bil Herd] has shared with us some of his Commodore recollections over the years, including the Commodore 128 story, an account of the 1985 CES show, and a two-parter on the TED chip and its speech capabilities.

Header image: Commodore BASIC / Public Domain, and Evan-Amos / Public domain.

Home Assistant Get Fingerprint Scanning

Biometrics — like using your fingerprint as a password — is certainly convenient and are pretty commonplace on phones and laptops these days. While their overall security could be a problem, they certainly fit the bill to keep casual intruders out of your system. [Lewis Barclay] had some sensors gathering dust and decided to interface them to his Home Assistant setup using an ESP chip and MQTT.

You can see the device working in the video below. The code is on GitHub, and the only thing we worried about was the overall security. Of course, the security of fingerprint scanners is debatable since you hear stories about people lifting fingerprints with tape and glue, but even beyond that, if you were on the network, it would seem like you could sniff and fake fingerprint messages via MQTT. Depending on your security goals, that might not be a big deal and, of course, that assumes someone could compromise your network to start with.

Continue reading “Home Assistant Get Fingerprint Scanning”

Dim Hallway Gets Lighting Upgrade

There’s nothing worse than a lightswitch that’s nowhere near where it should be, leaving you fumbling around in the dark. [supersquirrel72] had just this problem, and decided to put an Arduino to work instead.

Rather than using the original mains lighting that was poorly positioned and not enough to light the hall, instead 2 meters of white LED strip was chosen. The form factor is perfect for lighting a long, thin space – far better than running a series of seperate bulbs. The strip was rigged up to an Arduino Uno, that triggers the lights when movement is detected with a simple PIR motion sensor. After some feedback from the other occupants of the house, it was decided to tweak things further. An RTC was implemented to allow the Arduino to keep things dimmer after 9PM, so as to not wake others when making a trip to the kitchen for a midnight snack.

It’s a simple solution which brightens up the hallway nicely. We imagine this could just be the first step to a yet-more-integrated lighting solution in [supersquirrel72]’s house. Whether it’s IOT lights or something more festive, we can’t wait to see what’s next.