After 40 Years, Adobe Releases PostScript Source V0.10 For Posterity

Celebrating their 40th anniversary, Adobe released the source code of PostScript v0.10 to the Computer History Museum. But before you ask, we tried and it won’t compile with GCC out of the box – it’s missing at least except.h, but we’d bet you can hack around it with a little dedication.

PostScript is the precursor to PDF, and at the time it was revolutionary. Coming out of Xerox’s PARC, the idea was to create device- and resolution-independent documents where all the characters, symbols, and graphics are described by their shapes instead of bitmaps. PostScript’s secret sauce was in how it went back to a pixel-based representation for end use on monitors or printers. It’s no exaggeration to say that this ended up revolutionizing the print industry, and it makes sense in the CHM’s collection.

Still, on the trade-secret front, you shouldn’t get too excited. Apparently the code released here only includes a first-draft version of Adobe’s font hinting algos, as evidenced by the early version number. Nonetheless, you’re free to dig into pretty readable C. For instance, vm.c contains the virtual machine that implements PostScript’s almost Forth-like language.

Of course, if you’d just like to mess around with PostScript, downloading a modern open-source interpreter like GhostScript probably makes a lot more sense. Even so, it’s fun to see the original codebase where it all started.

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.

A Hacker Walks Into A Trade Show: Electronica 2022

Last week, the world’s largest electronics trade fair took place in Munich, so I had to attend. Electronica is so big that it happens only once every two years and fills up 14 airplane hangars. As the fairly generic name suggests, it covers anything and everything having to do with electronics. From the producers of your favorite MLCC capacitors to the firms that deliver them to your doorstep, from suppliers of ASIC test equipment to the little shop that’ll custom wind toroids for you, that’s a pretty wide scope. Walking around, I saw tomorrow’s technology today from the big players, but I also picked up some ideas that would be useful for the home gamer.

When I first walked in, for instance, I ran into the Elantas booth. They’re a company that makes flexible insulation and specialty industrial coatings. But what caught my eye was a thermoformed plastic sheet with circuit traces on it. To manufacture them, they cut out copper foil, glue it to a flat plastic sheet with a glue that has a little give, and then put it all together into a vacuum former. The result is a 3D circuit and organically formed substrate in one shot. Very cool, and none of the tech for doing that is outside of the reach of the determined hacker.

The Cool Stuff

All of the stands, big or small, try to lure you in with some gimmick. The big fish, firms with deep pockets, put up huge signs and open bars, and are staffed by no shortage of salespeople in suits. The little fish, on the other hand, have to resort to showing you the cool stuff that they do, and it’s more often the application engineers sitting there, ready to talk tech. You can guess which I found more interesting.

For instance when I walked up to an obviously DIY popcorn popper that was also showing 5000 FPS footage of kernels in mid-pop, I had to ask. The company in question was a small UK outfit that made custom programmable power supplies and digital acquisition gear that interfaced with it. You could plug in their box to some temperature probes, fire off the high-speed video camera, and control the heating and cooling profile without writing any code. Very sweet. Continue reading “A Hacker Walks Into A Trade Show: Electronica 2022”

Start Your Engines: The FPV Contest Begins Now!

There are places that you can go in person, but for everything else, there’s FPV. Whether you’re flying race quads, diving the depths in a yellow submarine, or simply roving the surface of the land, we want to see your builds. If it’s remote controlled, and you feel like you’re in the pilot’s seat, it’s FPV.

That’s you in the car.

When you say “first person view” many of you will instinctively follow up with “flight” or “drone”. But given the ease of adding a camera and remote control to almost any vehicle, there’s no reason to only fly the FPV skies. (Of course, we want to see your crazy quadcopter builds too.)

We went looking for a few less-traditional examples to whet your appetite, and we found a lot. There are super-cute FPV bots for indoors and more robust tanks for cruising around the neighborhood. In the summer, you’ll probably need an FPV lawnmower, and for the winter, naturally, an FPV snowblower or a budget-friendly FPV snow-boat. Or skip the outdoors entirely and terrorize the pool with an FPV sub.

This contest isn’t exclusively about the vehicles either. If you’re working on the tech that makes FPV possible, we want you to enter. For instance, this simple quad/drone tracker will help keep your video feed running and your mind on flying. This cockpit will make the immersion more complete. And nobody likes the jello-cam effect that excess vibration can cause, so we’d like to see camera hacks as well.

And of course, your quads. Is your FPV quad too fast, too light, or does it fly too far? Show us. The contest starts now and runs until Jan 3, 2023, and there are three $150 shopping sprees courtesy of Digi-Key on the line. Get hacking!

See The Forbidden Cigarette Machine In Action

[Fraens] has been designing a number of fantastic 3D printed machines and making great videos that demonstrate how they work. The last installment was an automatic cigarette stuffing machine, and it’s got a number of pretty complex motions, and somehow manages to get the job done.

While [Fraens] usually uploads STL files for all of his machines, this one is forbidden! Selling automatic cigarette loaders is illegal in Europe, and it’s not clear how close to the legal edge posting them up on Thingiverse is. So until the legal dust settles, you’re going to have to be content with the fantastic video, also embedded below.

But honestly, the devil’s sticks aren’t good for your health anyway, and you’re probably just in it for the mechanicals. Think for a moment about the problem – you’ve got a hopper of tobacco fibers that all like to stick together, and you need to pack them into an easily squished lightweight paper tube. These tubes aren’t easy to handle either. The solution to both of these calls for solenoid-powered tappers that agitate both into place.

There’s also a 3D printed rack and pinion to do the pushing, and a cool stepper-driven revolver mechanism to put the empty papers into just the right place. The machine leans heavily on 3D printing, but also on simple hardware-store parts like aluminum and brass tubes. [Fraens]’s builds are always simple but simultaneously very slick, and you’ll learn a lot from watching it all go together.

And when you’re done, check out some others from [Fraens]. We’ve been impressed by his sewing machine, braiding machine, and even a power loom.

Continue reading “See The Forbidden Cigarette Machine In Action”