Hackaday Hacked!

Well, that was “fun”. Last week, we wrote a newsletter post about the state of Hackaday’s comments. We get good ones and bad ones, and almost all the time, we leave you all up to your own devices. But every once in a while, it’s good to remind people to be nice to our fellow hackers who get featured here, because after all they are the people doing the work that gives us something to read and write about. The whole point of the comment section is for you all to help them, or other Hackaday readers who want to follow in their footsteps.

Someone decided to let loose a comment-reporting attack. It works like this: you hit the “report comment” button on a given comment multiple times from multiple different IP addresses, and our system sends the comments back to moderation until a human editor can re-approve them. Given the context of an article about moderation, most everyone whose comment disappeared thought that we were behind it. When more than 300 comments were suddenly sitting in the moderation queue, our weekend editors figured something was up and started un-flagging comments as fast as they could. Order was eventually restored, but it was ugly for a while.

We’ve had these attacks before, but probably only a handful of times over the last ten years, and there’s basically nothing we can do to prevent them that won’t also prevent you all from flagging honestly abusive or spammy comments. (For which, thanks! It helps keep Hackaday’s comments clean.) Why doesn’t it happen all the time? Most of you all are just good people. Thanks for that, too!

But despite the interruption, we got a good discussion started about how to make a comment section thrive. A valid critique of our current system that was particularly evident during the hack is that the reported comment mechanism is entirely opaque. A “your comment is being moderated” placeholder would be a lot nicer than simply having the comment disappear. We’ll have to look into that.

You were basically divided down the middle about whether an upvote/downvote system like on Reddit or Slashdot would serve us well. Those tend to push more constructive comments up to the top, but they also create a popularity contest that can become its own mini-game, and that’s not necessarily always a good thing. Everyone seemed pretty convinced that our continuing to allow anonymous comments is the right choice, and we think it is simply because it removes a registration burden when someone new wants to write something insightful.

What else? If you could re-design the Hackaday comment section from scratch, what would you do? Or better yet, do you have any examples of similar (tech) communities that are particularly well run? How do they do it?

We spend our time either writing and searching for cool hacks, or moderating, and you can guess which we’d rather. At the end of the day, our comments are made up of Hackaday readers. So thanks to all of you who have, over the last week, thought twice and kept it nice.

If You Can’t Say Anything Nice

[Editor’s Note: After we posted this, we got hit by a comment-report attack, and about 1,000 (!) comments across the whole site got sent back into the moderation queue on Saturday. We’ve since re-instated them all, but that took a lot of work.

About halfway down the comments in this article, the majority of comments are “hey, why did you delete this?”  We didn’t, and they should be all good now. We debated removing the “try deleting this!” comments, but since we didn’t delete them in the first place, we thought we should just leave them. It makes a royal mess of any discussion, and created a lot more heat than light, which is unfortunate.]

You know what your mom would say, right? This week, we got an above average number of useless negative comments. A project was described as looking like a “turd” – for the record I love the hacker’s angular and futuristic designs, but it doesn’t have to be to your taste. Then someone else is like “you don’t even need a computer case.” Another commenter informed us that he doesn’t like to watch videos for the thirtieth time. (Yawn!)

What all of these comments have in common is that they’re negative, low value, non-constructive, and frankly have no place on Hackaday. The vast majority are just kind of Eeyorey complaining about how someone else is enjoying a chocolate ice cream, and the commenter prefers strawberry. But then some of them turn nasty. Why? If someone makes a project that you don’t like, they didn’t do it to offend you. Just move on quietly to one you do like. We publish a hack every three hours like a rubidium clockwork, with a couple of original content pieces scattered in-between on weekdays.

And don’t get us wrong: we love comments that help improve a project. There’s a not-so-fine line between “why didn’t you design it with trusses to better hold the load?” and “why did you paint it black, because blue is the superior color”. You know what we mean. Constructive criticism, good. Pointless criticism, bad.

It was to the point that we were discussing just shutting down the comments entirely. But then we got gems! [Maya Posch]’s fantastic explainer about the Lagrange points had an error: one of the satellites that Wikipedia said was at an earth-moon Lagrange point is actually in normal orbit around the moon. It only used the Lagrange point as a temporary transit orbit. Says who? One of the science instrument leads on the space vehicle in question. Now that is a high-value comment, both because it corrects a mistake and enlightens us all, but also because it shows who is reading Hackaday!

Or take [Al Williams]’s article on mold-making a cement “paper” airplane. It was a cool technique, but the commenters latched onto his assertion that you couldn’t fly a cement plane, and the discussions that ensued are awesome. Part of me wanted to remind folks about the nice mold-making technique on display, but it was such a joy to go down that odd rabbit hole, I forgive you all!

We have an official “be nice” policy about the comments, and that extends fairly broadly. We really don’t want to hear what you don’t like about someone’s project or the way they presented it, because it brings down the people out there who are doing the hard work of posting their hacks. And hackers have the highest priority on Hackaday.

A black and white line drawing of a vehicle interior showing the dashboard and. steering wheel. On the infotainment screen, the words "Selected Ad" are emblazoned in large letters.

Will You Need Ad Block For Your Car?

The modern web has become difficult to navigate without ad blocking software. Ford now has a patent application that would bring the ads we hate to your vehicle’s infotainment system. [via PCMag]

Ford has already replied to criticism with the usual corporate spiel of patents not necessarily being the direction the company will go with future products, but it’s hard to imagine that other automakers aren’t planning similar systems since they’re already charging extra for heated seats, EV range, and performance. Bringing ads to the captive audience of your personal vehicle and targeting them based on listening to the occupants’ conversations would be a new low. Maybe you’ll be able to pay an extra $100/month for the “ad-free experience.”

Instead of taking advantage of the EV transition to make better, simpler cars, automakers are using their highly-computerized nature to extract more from you and provide less when you drive off the lot. Enshittification has come for the automobile. Perhaps auto executives should read A Few Reasonable Rules for the Responsible Use of New Technology?

The first step of blocking these ads will likely be jailbraking the infotainment system. If that wasn’t enough, locking features behind a paywall has come for wheelchairs too.

Against Elitism

A while back we got an anonymous complaint that Hackaday was “elitist”, and that got me thinking. We do write up the hacks that we find the coolest, and that could lead to a preponderance of gonzo projects, or a feeling that something “isn’t good enough for Hackaday”. But I really want to push back against that notion, because I believe it’s just plain wrong.

One of the most important jobs of a Hackaday writer is to find the best parts of a project and bring that to the fore, and I’d like to show you what I mean by example. Take this post from two weeks ago that was nominally about rescuing a broken beloved keyboard by replacing its brain with a modern microcontroller. On its surface, this should be easy – figure out the matrix pinout and wire it up. Flash in a keyboard firmware and you’re done.

Of course we all love a good hardware-rescue story, and other owners of busted Sculpt keyboards will be happy to see it. But there’s something here for the rest of us too! To figure out the keyboard matrix, it would take a lot of probing at a flat-flex cable, so [TechBeret] made a sweet breakout board that pulled all the signals off of the flat-flex and terminated them in nicely labelled wires. Let this be your reminder that making a test rig / jig can make these kind of complicated problems simpler.

Checking the fit with a 3D printed PCB

Once the pinout was figured out, and a working prototype made, it was time to order a neat PCB and box it up. The other great trick was the use of 3D-printed mockups of the PCBs to make sure that they fit inside the case, the holes were all in the right places, and that the flat-flex lay flat. With how easily PCB design software will spit out a 3D model these days, you absolutely should take the ten minutes to verify the physical layout of each revision before sending out your Gerbers.

So was this a 1337 hack? Maybe not. But was it worth reading for these two sweet tidbits, regardless of whether you’re doing a keyboard hack? Absolutely! And that’s exactly the kind of opportunity that elitists shut themselves off from, and it’s the negative aspect of elitism what we try to fight against here at Hackaday.

Design And The Golden Rule

You often learn the golden rule or some variation of it as early as kindergarten. There are several ways to phrase it, but you most often hear: “Do unto others as you would have them do unto you.” While that’s catchy, it is really an aphorism that encourages us to consider the viewpoints of others. As people who design things, this can be tricky. Sometimes, what you want isn’t necessarily what most people want, and — conversely — you might not appreciate what most people want or need.

EDIT/1000

HP/1000 CC-BY-SA-3.0 by [Autopilot]
I learned this lesson many years ago when I used to babysit a few HP/1000 minicomputers. Minicomputer sounds grand, but, honestly, a Raspberry Pi of any sort would put the old HP to shame. Like a lot of computers in those days, it had a text editor that was arcane even by the standards of vi or emacs. EDIT/1000 couldn’t be sure you weren’t using a printing terminal, and the commands reflect that.

For example, printing a few lines around the current line requires the command: “/-2,L,5” which isn’t that hard, I suppose. To delete all lines that contain a percent sign, “1$ D/%/A/” assuming you don’t want to be asked about each deletion.

Sure, sure. As a Hackaday reader, you don’t find this hard to puzzle out or remember. But back in the 1980s, a bunch of physicists and chemical engineers had little patience for stuff like that. However, the editor had a trick up its sleeve.

Continue reading “Design And The Golden Rule”

Always Something New Under The Sun

Some of the entries we got into the Tiny Games Contest have been really mind-blowing. Just as you think you’ve seen it all, for instance, alnwlsn comes along and mills the DIP-package ATtiny84 and embeds a complete Simon game in the space normally wasted by all that plastic overmolding. It’s the tiniest, and most gonzo, circuit-sculpture Simon we’ve ever seen.

Soldering fine wires to the leadframe of an ATtiny84 in a DIP-14 package.Now, our judges are hard at work ranking all 80 of the entries, and we have a fantastic range of entries all around, so I’m not calling any winners yet. But have you ever seen a project milled into a chip before? Nope, me neither.

What’s amazing is that this happens every time we run a contest. The second you put limitations on a project, there’s always someone out there who says “Hold my beer” and blows the limits out of the water. Indeed, the frequency with which we see someone pull off the impossible on Hackaday makes me wish I were buying more lottery tickets. You all really are stupendous.

We hope that feats like this are as inspirational to you as they are to us. No idea is too bonkers to not at least give it a try. Who knows, it might work! And when it does, please write it up and let us know. Keep the cycle of inspiration going!

Assessing The Energy Efficiency Of Programming Languages

Programming languages are generally defined as a more human-friendly way to program computers than using raw machine code. Within the realm of these languages there is a wide range of how close the programmer is allowed to get to the bare metal, which ultimately can affect the performance and efficiency of the application. One metric that has become more important over the years is that of energy efficiency, as datacenters keep growing along with their power demand. If picking one programming language over another saves even 1% of a datacenter’s electricity consumption, this could prove to be highly beneficial, assuming it weighs up against all other factors one would consider.

There have been some attempts over the years to put a number on the energy efficiency of specific programming languages, with a paper by Rui Pereira et al. from 2021 (preprint PDF) as published in Science of Computer Programming covering the running a couple of small benchmarks, measuring system power consumption and drawing conclusions based on this. When Hackaday covered the 2017 paper at the time, it was with the expected claim that C is the most efficient programming language, while of course scripting languages like JavaScript, Python and Lua trailed far behind.

With C being effectively high-level assembly code this is probably no surprise, but languages such as C++ and Ada should see no severe performance penalty over C due to their design, which is the part where this particular study begins to fall apart. So what is the truth and can we even capture ‘efficiency’ in a simple ranking?

Continue reading “Assessing The Energy Efficiency Of Programming Languages”