Ask Hackaday: Are 80 Characters Per Line Still Reasonable In 2020?

Software developers won’t ever run out of subjects to argue and fight about. Some of them can be fundamental to a project — like choice of language or the programming paradigm to begin with. Others seem more of a personal preference at first, but can end up equally fundamental on a bigger scale — like which character to choose for indentation, where to place the curly braces, or how to handle line breaks. Latest when there’s more than one developer collaborating, it’s time to find a common agreement in form of a coding style guide, which might of course require a bit of compromise.

Regardless of taste, the worst decision is having no decision, and even if you don’t agree with a specific detail, it’s usually best to make peace with it for the benefit of uniformly formatted code. In a professional environment, a style guide was ideally worked out collaboratively inside or between teams, and input and opinions of everyone involved were taken into consideration — and if your company doesn’t have one to begin with, the best step to take is probably one towards the exit.

The situation can get a bit more complex in open source projects though, depending on the structure and size of a project. If no official style guide exists, the graceful thing to do is to simply adopt the code base’s current style when contributing to it. But larger projects that are accustomed to a multitude of random contributors will typically have one defined, which was either worked out by the core developers, or declared by its benevolent dictator for life.

In case of the Linux kernel, that’s of course [Linus Torvalds], who has recently shaken up the community with a mailing list response declaring an overly common, often even unwritten rule of code formatting as essentially obsolete: the 80-character line limitation. Considering the notoriety of his rants and crudeness, his response, which was initiated by a line break change in the submitted patch, seems downright diplomatic this time.

[Linus]’ reasoning against a continuing enforcement of 80-char line limits is primarly the fact that screens are simply big enough today to comfortably fit longer lines, even with multiple terminals (or windows) next to each other. As he puts it, the only reason to stick to the limitation is using an actual VT100, which won’t serve much use in kernel development anyway.

Allowing longer lines on the other hand would encourage the use of more verbose variable names and whitespace, which in turn would actually increase readability. Of course, all to a certain extent, and [Linus] obviously doesn’t call for abolishing line breaks altogether. But he has a point; does it really make sense to stick to a decades old, nowadays rather arbitrary-seeming limitation in 2020?

Continue reading “Ask Hackaday: Are 80 Characters Per Line Still Reasonable In 2020?”

Lonnie Johnson, Prolific Engineer And Hero To Millions Of Kids (Even If They Don’t Know It)

The current generation Super Soaker XP30. (Hasbro)
The current generation Super Soaker XP30. (Hasbro)

To be a child in the 1970s and 1980s was to be of the first generations to benefit from electronic technologies in your toys. As those lucky kids battled blocky 8-bit digital foes, the adults used to fret that it would rot their brains. Kids didn’t play outside nearly as much as generations past, because modern toys were seducing them to the small screen. Truth be told, when you could battle aliens with a virtual weapon that was in your imagination HUGE, how do you compete with that.

How those ’80s kids must have envied their younger siblings then when in 1990 one of the best toys ever was launched, a stored-pressure water gun which we know as the Super Soaker. Made of plastic, and not requiring batteries, it far outperformed all squirt guns that had come before it, rapidly becoming the hit toy of every sweltering summer day. The Super Soaker line of water pistols and guns redefined how much fun kids could have while getting each other drenched. No longer were the best water pistols the electric models which cost a fortune in batteries that your parents would surely refuse to replace — these did it better.

You likely know all about the Super Soaker, but you might not know it was invented by an aerospace engineer named Lonnie Johnson whose career included working on stealth technology and numerous projects with NASA.

Continue reading “Lonnie Johnson, Prolific Engineer And Hero To Millions Of Kids (Even If They Don’t Know It)”

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”

Bertha Benz Pushed The Automobile Toward Production

Who invented the automobile? The answer depends a little bit on your definition of the word. The first practical gas-powered carriage was built by Karl Benz, who later merged his company with Daimler Motor Group to form Mercedez-Benz.

Karl Benz was a design visionary whose first fascinations were with locomotives and bicycles. His 1886 Benz Patent Motorwagen was the first automobile to generate its own power, which was made with a two-stroke engine and transmitted to the rear axle by a pair of chains. He didn’t think it was ready for the road, and he was mostly right.

Bertha Benz, Karl’s wife and business partner, believed in her husband’s invention. She had been there since the beginning, and provided much of the funding for it along the way. If she hadn’t taken it out for a secret, illegal joyride, the Motorwagen may have never left the garage.

Continue reading “Bertha Benz Pushed The Automobile Toward Production”

3D Printing Nuclear Reactors For Fun And Profit

Over the past decades, additive manufacturing (AM, also known as 3D printing) has become increasingly common in manufacturing processes. While immensely helpful in the prototyping of new products by allowing for rapid turn-around times between design and testing, these days additive manufacturing is used more and more often in the production of everything from small production runs of custom enclosures to hard to machine components for rocket engines.

The obvious advantage of additive manufacturing is that they use generic equipment and common materials as input, without requiring expensive molds as in the case of injection molding, or extensive, wasteful machining of raw materials on a lathe, mill, and similar equipment. All of the manufacturing gets reduced to a 3D model as input, one or more input materials, and the actual device that converts the 3D model into a physical component with very limited waste.

In the nuclear power industry, these benefits haven’t gone unnoticed, which has led to 3D printed parts being developed for everything from keeping existing plants running to streamlining spent fuel reprocessing and even the printing of entire nuclear reactors.

Continue reading “3D Printing Nuclear Reactors For Fun And Profit”

Ancient History Of The Phone Jack

While watching a video about old radios from the 1920s, a phone jack popped up. The host mentioned that phone jacks are super old and he wondered what was their origin. I always assumed they had something to do with the telephone system, and that’s right, but I had no idea how old they really are and how they’ve evolved. Turns out the venerable plug goes back to at least 1878.

Keep in mind, I’m talking about the good old fashioned 1/4″ phone jack with two wires. Over time, the jack and plug have spawned different versions with more wires and — particularly — smaller dimensions. The headphone jack that many smartphone makers are dropping is a direct descendant of that old phone jack. But a mono cable like you would see connecting an electric guitar or another mono source would be right at home connected to a 1900s switchboard. Let’s take a look at the origins of a design that’s almost 150 years old and still in use.

Continue reading “Ancient History Of The Phone Jack”