Fossil Files: My .Emacs

Last week, I wrote about cargo culting in a much more general context, so this week I’m going to come clean. The file that had me thinking about the topic was the worst case you’ve probably ever seen: I have a .emacs file kicking around that I haven’t really understood since I copied it from someone else – probably Ben Scarlet whose name is enshrined therein – in the computer lab in 1994! Yes, my .emacs file is nearly 30, and I still don’t really understand it, not exactly.

Now in my defence, I switched up to vim as my main editor a few years ago, but this one file has seen duty on Pentiums running pre-1.0 versions of Linux, on IBM RS/6000 machines in the aforementioned computer lab, and on a series of laptops and desktops that I’ve owned over the years. It got me through undergrad, grad school, and a decade of work. It has served me well. And if I fired up emacs right now, it would still be here.

For those of you out there who don’t use emacs, the .emacs file is a configuration file. It says how to interpret different files based on their extensions, defines some special key combos, and perhaps most importantly, defines how code syntax highlighting works. It’s basically all of the idiosyncratic look-and-feel stuff in emacs, and it’s what makes my emacs mine. But I don’t understand it.

Why? Because it’s written in LISP, for GNU’s sake, and because it references all manner of cryptic internal variables that emacs uses under the hood. I’m absolutely not saying that I haven’t tweaked some of the colors around, or monkey-patched something in here or there, but the extent is always limited to whatever I can get away with, without having to really learn LISP.

This ancient fossil of a file is testament to two things. The emacs codebase has been stable enough that it still works after all this time, but also that emacs is so damn complicated and written in an obscure enough language that I have never put the time in to really grok it – the barriers are too high and the payoff for the effort too low. I have no doubt that I could figure it out for real, but I just haven’t.

So I just schlep this file around, from computer to computer, without understanding it and without particularly wanting to. Except now that I write this. Damnit.

Featured image: “A Dusty Old Book” by Marco Verch Professional.

Cargo Culting And Buried Treasure

I have no idea how true the stories are, but legend has it that when supplies were dropped on some Melanesian islands during WWII, some locals took to replicating runway signs in order to further please the “gods” that were dropping them. They reportedly thought that making landing strips caused laden airplanes to visit. Richard Feynman later turned this into a metaphor about scientific theory – that if you don’t understand what you’re doing deeply, you may be fooling yourself.

I’d like to be a little bit more forgiving of adherents of technological cargo cults. Because the world around us is very complicated, we often just take things as they are rather than understanding them deeply, because there’s simply only so deep you can go into so many fields.

Is someone who doesn’t know the i386 machine language cargo-culting their way through a job as a web backend developer? Probably not. But from the perspective of an assembly-language programmer, any of us who write in compiled or interpreted programming languages are cargo-culting coding. You don’t need to understand a cell phone to dial home, but can you really say that you understand everything about how one works?  Or are you just going through the motions?

So while some reliance on metaphor and “well, it worked last time” is perfectly normal, I think noticing when you cargo-cult is also healthy. It should also be a warning sign, or at least a flag to remind yourself that there may be dragons here. Or maybe just a buried learning opportunity, the X that marks the spot where digging deeper might be productive.

I Need A Hackation

In recent times, the “staycation” became a popular alternative to forays far afield: you could take time off and enjoy your local surroundings without having to get stamps in your passport. But I don’t need to go to a museum or visit an amusement park, much less catch up on Stranger Things. I’ve got a project burning in my brain, and what I need is a few days of good solid time in the basement workshop to make some headway. What I need is a Hackation.

Some projects make great after-work distractions, but this one is hard and requires my full brainpower. It’s just not a beer-and-a-project project. So during the week is out. That leaves weekends, but that’s prime time for hanging out with the family. Sure, I can get work in a few hours of good mid-day think/work time in on a Saturday or Sunday when my son is out playing with friends, but there’s something about devoting a whole day or more to cracking a tough nut.

Of course, I’m fully aware that I’ll probably not get it finished in just a day, and that I’ll want another day, or yet another. So be it. Isn’t that the way it is when you’re at the beach in the summer as well? Shouldn’t hacking be at least as high on the priority list as a trip to Disneyland?

Have you ever taken a Hackation? Because that’s what I need. And please tell me there’s a better name for it.

Art of 3D printer in the middle of printing a Hackaday Jolly Wrencher logo

Brainstorming

One of the best things about hanging out with other hackers is the freewheeling brainstorming sessions that tend to occur. Case in point: I was at the Electronica trade fair and ended up hanging out with [Stephen Hawes] and [Lucian Chapar], two of the folks behind the LumenPnP open-source pick and place machine that we’ve covered a fair number of times in the past.

Among many cool features, it has a camera mounted on the parts-moving head to find the fiducial markings on the PCB. But of course, this mean a camera mounted to an almost general purpose two-axis gantry, and that sent the geeks’ minds spinning. [Stephen] was talking about how easy it would be to turn into a photo-stitching macrophotography rig, which could yield amazingly high resolution photos.

Meanwhile [Lucian] and I were thinking about how similar this gantry was to a 3D printer, and [Lucian] asked why 3D printers don’t come with cameras mounted on the hot ends. He’d even shopped this idea around at the East Coast Reprap Festival and gotten some people excited about it.

So here’s the idea: computer vision near extruder gives you real-time process control. You could use it to home the nozzle in Z. You could use it to tell when the filament has run out, or the steppers have skipped steps. If you had it really refined, you could use it to compensate other printing defects. In short, it would be a simple hardware addition that would open up a universe of computer-vision software improvements, and best of all, it’s easy enough for the home gamer to do – you’d probably only need a 3D printer.

Now I’ve shared the brainstorm with you. Hope it inspires some DIY 3DP innovation, or at least encourages you to brainstorm along below.

Welcome Back, Supercon!

The last two Novembers, Hackaday’s annual gathering was held in remote mode: Remoticon instead of Supercon. While still recovering from jetlag, I’m reflecting on the pros and cons of live versus virtual events. And wondering how we can combine the virtues of both for next year. Come brainstorm with me!

The blatantly obvious pros of having a live Supercon is the ease of talking to everyone who is there, trading code tips, life experience, and must-see projects. In person, you can physically trade badge add-ons in real time, without waiting for customs to clear the packages. Simply hanging out has a real charm to it, and doing so over shared tacos is even better. Spontaneous collaborations were easy and natural. And finally, while you can watch someone electrocute a twinkie with a neon sign transformer on YouTube, you can’t smell the ozone.

Against this, all of the expensive travel, the aforementioned jetlag for some, and the real-world limitations that only so many people can fit in a given physical space at once.

The best part of Remoticon was hearing from people who wouldn’t have been able to make it to an in-person con, whether it’s because it’s of geography or money. Since everything is online, there’s no missing out, and anyone can freely dip in to one talk or another. The online chat channels were better attended during Remoticon as well – perhaps because they were the only game in town – but that was a more global community.

There’s probably nothing that can be done about the tacos, but what could we do about incorporating the benefits of Remoticon? We did stream one stage live, and we had two chat channels open for commentary the whole time. If you took part remotely in Supercon, let us know how it went, and if you have any suggestions to improve our remote experience for next time. Because in the end, we want Hackaday to be as inclusive and as global as the hacker community itself.

Banner Photo by Poyu Chen.

Hackaday Supercon: Back At Last!

I’m unashamed to admit that I’ve really missed in-person hacker conferences over the last two and a half years. And while we’re not out of the water yet, COVID-wise, things are controlled and controllable enough that we felt we could safely hold our smallish, halfway out in the back-alley conference safely. It’s going to be so nice to see all the familiar faces, and meet the first-time Superconnisti as well. Welcome! You’re going to have fun.

For health, money, or other reasons, a lot of people who would like to go still can’t, and that bums me out. Of course there’s no substitute for being there live, but we’re trying our best to spread the Supercon love to everyone out there. If the two years of Remoticon were different, I’m not willing to say they were worse. It was awesome to be able to share live talks on some fantastic hacky topics, typing amongst ourselves instead of chatting in person, and it spanned the globe. There were no borders.

We’re still working on our remote plans – yes, a week before the con – because I don’t think things can ever fully go back to the before-times. That said, we will be streaming the main stage live as always, and you can pretend it’s Remoticon all over again by hanging out in our Discord, or over at the Supercon Hack Chat.

So to those of you attending, it’ll be great to see you in person. The rest of you out there – join us virtually. We’ve been working on this for the last five months now, and next week, it’s go time!

Retrofitting Robots

Al Williams wrote up a neat thought piece on why we are so fascinated with robots that come in the shape of people, rather than robots that come in the shape of whatever it is that they’re supposed to be doing. Al is partly convinced that sci-fi is partly responsible, and that it shapes people’s expectations of what robots look like.

What sparked the whole thought train was the ROAR (robot-on-a-rail) style robot arms that have been popping up, at least in the press, as robot fry cooks. As the name suggests, it’s a robot arm on a rail that moves back and forth across a frying surface and uses CV algorithms to sense and flip burgers. Yes, a burger-flipping robot arm. Al asks why they didn’t just design the flipper into the stovetop, like you would expect with any other assembly line.

In this particular case, I think it’s a matter of economics. The burger chains already have an environment that’s designed around human operators flipping the burgers. A robot arm on a rail is simply the cheapest way of automating the task that fits in with the current ergonomics. The robot arm works like a human arm because it has to work in an environment designed for the human arm.

Could you redesign a new automatic burger-flipping system to be more space efficient or more reliable? Probably. If you did, would you end up with a humanoid arm? Not necessarily. But this is about patching robotics into a non-robotic flow, and that means they’re going to have to play by our rules. I’m not going to deny the cool factor of having a robot arm flip burgers, but my guess is that it’s actually the path of least resistance.

It feels kind of strange to think of a sci-fi timeline where the human-looking robots come first, and eventually get replaced by purpose-built intelligent machines that look nothing like us as the environments get entire overhauls, but that may be the way it’s going to play out. Life doesn’t always imitate art.