Doing One Thing, Well: The UNIX Philosophy

The Unix operating system has been around for decades, and it and its lookalikes (mainly Linux) are a critical part of the computing world. Apple’s operating system, macOS, is Unix-based, as are Solaris and BSD. Even if you’ve never directly used one of these operating systems, at least two-thirds of all websites are served by Unix or Unix-like software. And, if you’ve ever picked up a smart phone, chances are it was running either a Unix variant or the Linux-driven Android. The core reason that Unix has been so ubiquitous isn’t its accessibility, or cost, or user interface design, although these things helped. The root cause of its success is its design philosophy.

Good design is crucial for success. Whether that’s good design of a piece of software, infrastructure like a railroad or power grid, or even something relatively simple like a flag, without good design your project is essentially doomed. Although you might be able to build a workable one-off electronics project that’s a rat’s nest of wires, or a prototype of something that gets the job done but isn’t user-friendly or scalable, for a large-scale project a set of good design principles from the start is key.

Continue reading “Doing One Thing, Well: The UNIX Philosophy”

Apollo 12 Was The Lucky Number Among Apollo Disasters

I recently saw Apollo 13 again — this time with the score played live by the Houston Symphony. What a crazy coincidence that thirteen has long been considered an unlucky number and that Apollo 13 would be the one we almost lost. However, Apollo 12 almost became a disaster which — after the ordeal with flight 13 — was largely forgotten.

When all was said and done, Apollo 12 would result in a second manned moon landing in November 1969, just four months after Apollo 11. Commanded by Pete Conrad, Alan Bean accompanied Conrad to the surface while Richard Gordon, Jr. kept the getaway vehicle running. But less than a minute after launch something happened that could have been a disaster. Lightning struck the vehicle.

Continue reading “Apollo 12 Was The Lucky Number Among Apollo Disasters”

How To Add UART To Your FPGA Projects

Being able to communicate between a host computer and a project is often a key requirement, and for FPGA projects that is easily done by adding a submodule like a UART. A Universal Asynchronous Receiver-Transmitter is the hardware that facilitates communications with a serial port, so you can send commands from a computer and get messages in return.

Last week I wrote about an example POV project that’s a good example for learn. It was both non-trivial and used the board’s features nicely. But it has the message hard coded into the Verilog which means you need to rebuild the FPGA every time you want to change it. Adding a UART will allow us to update that message.

The good news is the demo is open source, so I forked it on GitHub so you can follow along with my new demo. To illustrate how you can add a UART to this project I made this simple plan:

Continue reading “How To Add UART To Your FPGA Projects”

Ask Hackaday: Managing Inspiration

For most of us, hacking is a hobby, something to pass a few idle hours and satisfy our need to create. Precious few of us get to live the dream of being paid to tinker; most of us need some kind of day job to pay the bills and support our hacking habits. This necessarily creates an essential conflict, rooted in the fact that we all only have 24 hours to spread around every day: I need to spend my time working so I can afford to hack, but the time I spend working to earn money eats away at my hacking time. That’s some catch, that Catch-22.

From that primary conflict emerges another one. Hacking is a hugely creative process, and while the artist or the author might not see it that way, it’s true nonetheless. Unless we’re straight-up copying someone else’s work, either because they’ve already solved the same problem we’re working on and we just need to get it done, or perhaps we’re just learning a new skill and want to stick to the script, chances are pretty good that we’re hitting the creative juices hard when we build something new. And that requires something perhaps even more limiting than time: inspiration. How you manage inspiration in large part dictates how productive you are in your creative pursuits.

Continue reading “Ask Hackaday: Managing Inspiration”

Intro To Docker: Why And How To Use Containers On Any System

If you have your ear even slightly to the ground of the software community, you’ll have heard of Docker. Having recently enjoyed a tremendous rise in popularity, it continues to attract users at a rapid pace, including many global firms whose infrastructure depends on it. Part of Docker’s rise to fame can be attributed to its users becoming instant fans with evangelical tendencies.

But what’s behind the popularity, and how does it work? Let’s go through a conceptual introduction and then explore Docker with a bit of hands-on playing around.

Continue reading “Intro To Docker: Why And How To Use Containers On Any System”

GSM Phone Network At EMF Camp Built On Raspberry Pi And LimeSDR

The Electromagnetic Field 2018 hacker camp in the UK will have its own GSM phone network, and as we have already covered its badge will be a fully-functional GSM phone. This is as far as we are aware a first in the world of badges, and though it may not be a first in hacker camp connectivity it is still no mean achievement at the base station side. To find out more we talked to two of the people behind the network, on the radio side Lime Microsystems‘ [Andrew Back], and on the network side Nexmo‘s developer advocate, [Sam Machin].

There are sixteen base stations spread around the site, of which each one is a Raspberry Pi 3 B+ with a LimeSDR Mini. Development of the system was undertaken prior to the release of the Raspberry Pi Foundation’s PoE board, so they take a separate 24V supply which powers the Pi through a DC-to-DC converter. This arrangement allows for a significant voltage drop should any long cable runs be required.

On the software side the base stations all run the Osmocom (Open Source Mobile Communications) cellular base station infrastructure package. It was a fine decision between the all-in-one Osmocom NITB package and the fully modular Osmocom, going for the former for its reliability. It was commented that this would not necessarily be the case at a future event but that it made sense in the present. It appears on the network as a SIP phone system, meaning that it can easily integrate with the existing DECT network. Let’s take a look at how the network operates from the user side, and the licencing loophole that makes everything possible.

Continue reading “GSM Phone Network At EMF Camp Built On Raspberry Pi And LimeSDR”

The Challenges Of Shipping From China – Life Of A Flailing Tube Man

Last summer was an exercise in developing a completely different kind of product from my normal wheelhouse; a costume. My Halloween costume had been so popular that I decided to have a go at commercializing it, and that took me on a path into manufacturing that I hadn’t yet taken; shipping by boat from China. The short version is it’s a ridiculously difficult mess. Continue reading “The Challenges Of Shipping From China – Life Of A Flailing Tube Man”