Tool Rolls, The Fabric Design Challenge That Can Tidy Up Any Workshop

You’ve designed PCBs. You’ve cut, drilled, Dremeled, and blow-torched various objects into project enclosurehood. You’ve dreamed up some object in three dimensions and marveled as the machine stacked up strings of hot plastic, making that object come to life one line of g-code at a time. But have you ever felt the near-limitless freedom of designing in fabric?

I don’t have to tell you how satisfying it is to make something with your hands, especially something that will get a lot of use. When it comes to that sweet cross between satisfaction and utility, fabric is as rewarding as any other medium. You might think that designing in fabric is difficult, but let’s just say that it is not intuitive. Fabric is just like anything else — mysterious until you start learning about it. The ability to design and implement in fabric won’t solve all your problems, but it sure is a useful tool for the box.

WoF? Fat quarter? How much is a yard of fabric, anyway?

To prove it, I’m going to take you through the process of designing something in fabric. More specifically, a tool roll. These two words may conjure images of worn, oily leather or canvas, rolled out under the open hood of a car. But the tool roll is a broad, useful concept that easily and efficiently bundles up anything from socket wrenches to BBQ utensils and from soldering irons to knitting needles. Tool rolls are the best in flexible, space-saving storage — especially when custom-designed for your need.

In this case, the tools will be pens, notebooks, and index cards. You know, writer stuff. But the same can just as easily organize your oscilloscope probes. It’s usefully and a great first foray into building things with fabric if this is your first time.

Continue reading “Tool Rolls, The Fabric Design Challenge That Can Tidy Up Any Workshop”

Hams In Space: Gearing Up For The Lunar Gateway

Humanity had barely taken its first tentative steps into space with primitive satellites when amateur radio operators began planning their first satellites. Barely four years after Sputnik’s brief but momentous launch and against all odds, OSCAR 1 was launched as a secondary payload from an Air Force missile taking a spy satellite into orbit. Like Sputnik, OSCAR 1 didn’t do much, but it was a beginning.

Since then, amateur radio has maintained a more or less continuous presence in space. That first OSCAR has been followed by 103 more, and hams have flown on dozens of missions from the Space Shuttle to the ISS, where pretty much everyone is a licensed amateur. And now, as humans prepare once again to journey into deep space via the stepping stone of the proposed Lunar Gateway, amateur radio is planning on going along for the ride.

Continue reading “Hams In Space: Gearing Up For The Lunar Gateway”

Watching The Watchers: The State Of Space Surveillance

By now you’ve almost certainly heard about the recent release of a high-resolution satellite image showing the aftermath of Iran’s failed attempt to launch their Safir liquid fuel rocket. The geopolitical ramifications of Iran developing this type of ballistic missile technology is certainly a newsworthy story in its own right, but in this case, there’s been far more interest in how the picture was taken. Given known variables such as the time and date of the incident and the location of the launch pad, analysts have determined it was likely taken by a classified American KH-11 satellite.

The image is certainly striking, showing a level of detail that far exceeds what’s available through any of the space observation services we as civilians have access to. Estimated to have been taken from a distance of approximately 382 km, the image appears to have a resolution of at least ten centimeters per pixel. Given that the orbit of the satellite in question dips as low as 270 km on its closest approach to the Earth’s surface, it’s likely that the maximum resolution is even higher.

Of course, there are many aspects of the KH-11 satellites that remain highly classified, especially in regards to the latest hardware revisions. But their existence and general design has been common knowledge for decades. Images taken from earlier generation KH-11 satellites were leaked or otherwise released in the 1980s and 1990s, and while the Iranian image is certainly of a higher fidelity, this is not wholly surprising given the intervening decades.

What we know far less about are the orbital surveillance assets that supersede the KH-11. The satellite that took this image, known by its designation USA 224, has been in orbit since 2011. The National Reconnaissance Office (NRO) has launched a number of newer spacecraft since then, with several more slated to be lifted into orbit between now and 2021.

So let’s take a closer look at the KH-11 series of reconnaissance satellites, and compare that to what we can piece together about the next generation or orbital espionage technology that’s already circling overhead might be capable of.

Continue reading “Watching The Watchers: The State Of Space Surveillance”

Lambdas For C — Sort Of

A lot of programming languages these days feature lambda functions, or what I would be just as happy to call anonymous functions. Some people make a big deal out of these but the core idea is very simple. Sometimes you need a little snippet of code that you only need in one place — most commonly, as a callback function to pass another function — so why bother giving it a name? Depending on the language, there can be more to it that, especially if you get into closures and currying.

For example, in Python, the map function takes a function as an argument. Suppose you have a list and you want to capitalize each word in the list. A Python string has a capitalize method and you could write a loop to apply it to each element in the list. However, map and a lambda can do it more concisely:

map(lambda x: x.capitalize(), ['madam','im','adam'])

The anonymous function here takes an argument x and calls the capitalize method on it. The map call ensures that the anonymous function is called once for each item.

Modern C++ has lambda expressions. However, in C you have to define a function by name and pass a pointer — not a huge problem, but it can get messy if you have a lot of callback functions that you use only one time. It’s just hard to think up that many disposable function names. However, if you use gcc, there are some nonstandard C features you can use to get most of what you want out of lambda expressions.

Continue reading “Lambdas For C — Sort Of”

Why Ada Is The Language You Want To Be Programming Your Systems With

The Ada programming language was born in the mid-1970s, when the US Department of Defense (DoD) and the UK’s Ministry Of Defence sought to replace the hundreds of specialized programming languages used for the embedded computer systems that increasingly made up essential parts of military projects.  Instead, Ada was designed to be be a single language, capable of running on all of those embedded systems, that offered the same or better level of performance and reliability.

With the 1995 revision, the language also targeted general purpose systems  and added support for object-oriented programming (OOP) while not losing sight of the core values of reliability, maintainability and efficiency. Today, software written in Ada forms the backbone of not only military hardware, but also commercial projects like avionics and air-traffic control systems. Ada code controls rockets like the Ariane 4 and 5, many satellites, and countless other systems where small glitches can have major consequences.

Ada might also be the right choice for your next embedded project. Continue reading “Why Ada Is The Language You Want To Be Programming Your Systems With”

Norovirus Smartphone: Using Megapixels And Microfluidics To Fight The Other Kind Of Virus Infection

Chances are pretty good that at some time in your life, you’ve crossed paths with a norovirus. And chances are that you remember the encounter vividly, or at least its aftermath. I recall a run-in with the bug one Christmas, when my parents brought over more than just toys for the kids when they visited. Within a day, everyone in the house was sharing the joy. Twas the season; they don’t call it the winter vomiting bug for nothing.

Most of the 685 million norovirus infections each year resolve after a few miserable days, but some require hospitalization and 200,000 of them result in death, mainly from dehydration and mainly children. An easy to use, cheap, and accurate means of detecting the virus in the field would be quite a boon to public health. And soon, smartphones may be able to do just that.

Continue reading “Norovirus Smartphone: Using Megapixels And Microfluidics To Fight The Other Kind Of Virus Infection”

Can You Really Use The Raspberry Pi 4 As A Desktop Machine?

When the Raspberry Pi 4 was released, many looked at the dual micro HDMI ports with disdain. Why would an SBC like the Raspberry Pi need two HDMI ports? The answer was that the Pi 4 is finally fast enough to work as a desktop replacement, and the killer feature (for many of us) for a desktop is multiple monitors.

Now I know what many of you are thinking. There’s no way a $35, or even $55, credit-card-sized computer can replace a $1000+ desktop machine, right? Right? Of course not, but at the same time, yes, yes it can. So I tried to use the Pi as a desktop replacement for a week, and it worked. In fact, this article has been written almost entirely on the Pi 4 with 4 GB of memory, as well as a couple of my recent security columns. I could definitely continue working with the Pi as my daily driver for that purpose.

There are a few points of order to cover first. Initial reviews were based on the June 20th release of Raspbian, which in turn was based on the pre-release Debian Buster. Since then, Buster has released. Fixes that were queued up have landed now that the release freeze has ended. A new Raspbian image was released on July 10, and many of the initial release issues have been fixed.
Continue reading “Can You Really Use The Raspberry Pi 4 As A Desktop Machine?”