Chris X Edwards


3D "Printing"

2016-06-08 09:13

I was surprised to see this article declaring the reasons "why home 3D printing never lived up to the hype". I was surprised because this is a very unpopular opinon. I know this because it’s been mine for the last 10 years. About 10 years ago I watched with interest as the RepRap Project filled space in the nerd news. At first glance I knew that this project was doomed. (Your RepRap hasn’t had any offspring, right?) I knew this for several reasons.

A long time ago, in a galaxy far, far away I was the entire manuacturing engineering department for a large (150 people, 150k sqft) machine shop. I did that for seven years. Although I have a relevant university engineering degree, that time in the shop learning from the machinists really opened my mind to how real manufacturing was done. And it’s not with 3d printers. If 3d printers were going to supplant traditional manufacturing it would have happened no later than the mid 1950s when the chemistry of thermoplastic resins (a.k.a. hot glue guns) was well enough understood.

The reason for this is that 3d printing enthusiasts today completely miss the point. There was a revolution in manufacturing. It was very, very important and profound. But it was not making flimsy plastic parts, slowly, using hot glue guns. The technology to focus on if you want to follow the trajectory of real progress in manufacturing is computerized motion control. The avalanche of hype for 3d printing is quite properly deserved by the concept of computerized motion control. What would make sense is if all instances of the words "3d printing" were replaced with "affordable computerized motion control". Then the hype would make perfect sense.

Over twenty years ago, I made quite a hobby of designing and building prototypes for a computer controlled positioning system. What would such a system position? Anything, including hot glue guns if that’s what you wanted. But just as interesting would be a laser or water jet cutter or a high speed spindle (from Dremel to wood router) or a welder. In fact if the focus were properly on computerized motion control you could be "3d printing" epoxy or concrete or chocolate mousse.

The problem seems to be that we’re now in a generation that is rapidly losing its hands-on practical people. Enthusiasts of 3d printing seem more influenced by the replicators on Star Trek than by actually tinkering in a garage their entire lives (and a manufacturing culture and tradition unbroken since the dawn of the industrial revolution). For example, the label "3d printing" to describe additive manufacturing is a glaring misnomer. The word "print" comes from the Latin "premere", to press, and if anything should be called 3d printing it would be sheet metal presswork. Of course there already is a well-established and adequate vocabulary for that art (though it’s being lost, e.g. my spell checker didn’t know that "presswork" was a word).

Another reason I was unmoved by the excitement for 3d printing was that I could easily refute one of its most important claims. The latter day enthusiasts of additive manufacturing like to remind us that with this kind of manufacturing, products are possible that can not be produced any other way. I understand that excitement because I felt it too - in 1992. It was then I first saw a demonstration of SLA. That is a strange acronym, which I’ve never understood, for stereo lithography. What the young people today would call, "3d printing". At the supercomputer center where I work, there are several display cases filled with ancient SLA relics from this time. They "printed" molecules and topo maps and human brain models and mathematical esoterica and it looks like loads of fun. But eventually they ran out of cool fun pet projects and we are left with some shelves of dusty unusual knick-knacks. I personally was absolutely thrilled at the prospect of designing some incredibly cool things that could only be created with an additive process (e.g. a sphere inside a sphere). But decades later I have not thought of a single thing that would be even mildly interesting that I could not also manufacture with an assembly or subtractive techniques. Easier and better.

It’s strange to me that the internet’s hype has turned it’s gaze to these hot glue dispensing machines. Just looking around, if there’s one thing the world didn’t need an improved production technique for it would seem to be cheap Happy Meal plastic trinkets. Why not focus attention on benchtop milling machines? Seriously, these are very cool. With a small desktop milling machine you do actually have a fighting chance of being able to build a copy of the machine itself. You can even clamp a hot glue gun to the spindle if you’re into that sort of thing.

Just remember the important new thing is really affordable computerized motion control. If we start concentrating on that, I’m certain good things will happen.

Loca Printer

2016-06-06 16:42

Printers are bad. Even beyond the surreal yellow dots of the Illuminati, they just waste paper, i.e. trees, and they cause clutter and general confusion and delay. They train people to behave as if computers didn’t really exist or perhaps as if computers weren’t reliable.

When it comes to unreliable, nothing beats a printer. Today I had someone ask me about a paper jam error. We cleanly removed the paper jam and it kept complaining about it, never to work again. Toner levels are notorious reliability buzz kills too.

The most reliably insane part of printing in my experience is configuring printers to work with Windows. Perhaps I’m spoiled by configuring printers for Linux (I support a dozen Linux workstations that can all print just fine). Linux uses the Common Unix Printing System. Sounds very Unixy, right? Well, Apple created it so setting up Macs to print is also quite easy and reasonable. This is double mind-blowing to me because Windows is the OS. If the printer vendors aren’t actually taking care to make their hardware work with Windows, what exactly are they doing? Today I was also asked to help a simple normal Windows computer print to a simple laser printer on the ethernet. Simple right? Not with Windows! This task is like a grand spectacle of WTF.

Here are the more memorable surreal issues I encountered while trying to do this ridiculously simple thing.

  • "Devices and Printers" is the Windows control panel category. Not "Devices" with a subcategory of "Printers". No. That would make sense. This way, it’s more fun to find when you’re looking for "Printers" in an alphabetical list.

  • Need a remote network printer? The options are "Add a local printer" and "Add a network, wireless, or Bluetooth printer". Well, duh, obviously you’d choose the second one. But in bizarro Windows land that would be wrong! Don’t believe me? See step 3 of this Microsoft guide to installing a remote printer. To add a normal TCP/IP printer that’s available and waiting to print from an ordinary IP address, you choose "Add a local printer". Then when you choose "Create a new port" you select the TCP/IP option. Oh ya, very local. When I learned this trick I immediately had to take deep breaths and think of puppies.

  • Speaking of ports, the concept of a "port" to Windows might as well be referring to beverages because it is not at all obvious what it has to do with TCP/IP networking ports, if anything. From Microsoft themselves: "In the Port Name box, type a port name, which can be any character string, or use the default name that the wizard supplies." The default is actually the value of the "Hostname or IP address" field. That would be like saying the port of this web site is "" (and not 80). How weird. Yet Microsoft does kind of understand that a port should be a number. I could learn more about this I suppose but I could also learn more about the merits of Scientology too.

  • Printer sharing. Why would I ever want people to connect to my computer to use a printer that is sitting on the open network ready for anyone to use? Windows knows this is true because I just told it.

  • "Install the printer driver" has an option for "Windows Update"; why not a "list of available printers update"? I don’t necessarily want to spend the next 6 hours (don’t laugh) updating the entire wretched OS. Just tell me if there is a printer driver.

  • Normally I prefer a succinct explicit and repeatable command line technique. And while researching this topic, I found Windows actually sort of supports this. I’m not usually timorous about command line syntax, but wow…

    rundll32 printui.dll,PrintUIEntry /if /b "printer" ^
    /f %windir%\inf\prnhp002.inf /r "IP_10.0.0.100" ^
    /m "HP LaserJet 4200/4300 PCL6" /Z

And what is that inf file? Where can I find the correct one for my printer?

  • One way to find it, apparently, is by clicking "Have disk". Like it’s 1999. And even if you had the disk that came with the printer, would it have the magic inf file? Most likely not in an obvious way. Most likely it would be packed with the printer vendor’s abusive bloatware executable. The one from HP I looked at today had a EULA that, for example, mentioned some affiliation and sell-out to as well as no less than eight HP "utilities" that did god-knows-what.

  • Although it’s probably quite a bad idea, these printers are their own web servers. Why not simply host their own drivers? That’s the one file that would make sense for the printer to serve in this way!

  • Well, HP is not 100% brain dead in this respect because I found something today on the printer’s web server that was basically a link to HP Smart Install which is a generic installer thing, not even supported any more. Trying to use that, unfortunately, ended in frustration after it asked for the IP of the printer and then said that it couldn’t find the printer. Remember this is the exact same IP address I used to connect to that very printer’s web server to download this exact program which is telling me it can’t connect to that printer. Actually, yes, 100% brain dead. My guess is the problem was that it asked for an IP address but assumed the printer would be on the same subnet. It’s not. This sounds like an exotic set up, but it’s just that the printer is on a sensible local only address in our system and, on the same switch, the printer’s client computer is on a real IP address, both perfectly accessible to each other but unforeseen enough by HP to fatally confuse the driver installer.

  • Often in these cases, I just give up and start choosing available drivers that I hope are similar to the one I really need based on name similarity. Is "HP Color LaserJet 4000" similar to "HP Color LaserJet CP451dn"? Who knows. Keep guessing until one works. Fun!

  • Now "Print a test page". Cross your fingers! OMG! It prints! Great! Wait, the bottom of the page is cut off halfway through a line of text. Is that a success or a failure? I give printing with Windows an F.

Although my lack of Windows printing expertise is no doubt obvious to some, my expert advice, which serves me well, is still the best cure to the problem: Don’t print and don’t use Windows!

Shifting Gears

2016-05-19 05:51

Sunday I got an extremely rare treat as the first stage of the Amgen Tour Of California brought the world’s top professional cyclists right to my exact neighborhood. I biked down to the bay to watch the depart and I also rode the final finishing kms which I know quite well having ridden it hundreds of times. There was some kind of vendor/sponsor fair at the finish area and I noticed this company that seems to make car racks that attach to the vechicle with suction cups.

Batman can design bat-themed gadgets, Spiderman can make strings shoot out of his wrist, the Incredible Hulk can turn green and double in size faster than typical steroid users, etc. My two main super powers are as follows. First, if you give me a pen and I start to write with it, the ink will stop flowing. It is a gift I can’t explain. Second, and almost back on topic, my mighty superpowers release all suction cups anywhere near me.

I have lived long enough that even with this superpower I have attempted to use products that incorporate suction cups dozens of times. My success rate is 0%. Maybe it’s my ability to withstand a combination of extreme temperature and weather fluctuations, harsh impacts and vibrations, extreme duty cycles, and almost obnoxious parsimony, but suction cups do not work for me. Imagine my terror at discovering people who believe that suction cups are a good way to hold a bicycle (or a kayak!) to a car. (Digressing again… funny story… two days ago I got passed on the freeway by someone who had an Amazon Fresh delivery bag "strapped" to the top of his car with a surfboard strap. Less than a minute later I saw the bag sitting on the pavement. People are idiots.) It’s not really a superpower but my engineering background helps me choose which vehicles to avoid following and if I ever see one of these suction cup racks, you can bet that I will not be behind it.

Let me now shift topics to shifting gears, bicycle sprockets actually. I just came across this pretty good article describing the history and current state of bicycle shifting technology (though they fail to mention my preferred systems, aero bar mounted shifters and Gripshift, and my least favorite system, Shimano "Rapidfire").

My first comment on this topic is to editorialize about STI. I have no conceptual problem with integrated shifting from the brake levers on road bikes. It seems like a good idea. But I have never used it personally. I simply am too poor. The cost of a set of integrated shift/brake levers is comparable to the price in my head that an entire bike should be. I’m not sure that a technology that doubled the cost of bicycles was really great for cycling. Well, certainly not so great for bicycles with gears. I would love to see an overlaid plot of STI and fixie adoption over time.

Now that I’ve gotten my miscellaneous bike rambling out of the way it’s time for the real topic - electric shifting systems. This actually relates to the suction cup thing because, just like suction cups, another technology I will not bet my life on (harsh conditions play a role here too) is batteries. My policy is simple - use whatever you want, but these systems should be banned by the UCI as they currently exist. I’m not against the electric actuation per se. What I believe is wrong to bring to the sport of bicycle racing is carrying around batteries. To me that’s starting down the road of an ebike (which I’m a big fan of outside of racing). And, yes, I am consistent. I don’t think bike computers or race radio units should be allowed if they involve energy that is not from the rider produced during the race. Half of the rationale for this is conceptual - it’s a human-powered race. The other half is practical - I really hate the idea of so much attention and development going into products that will be extremely annoying and expensive to people who ride a lot (but who are not on sponsored racing teams). What do I mean by "a lot"? Let’s just say that I stopped using bike computers because changing the batteries became too much of a hassle (and I gave up on the wireless one I once bought after about two weeks). I also know this from trying to manage battery powered lighting in a freezing climate (obviously a different climate than the Tour of California started in). After using my Schmidt Hub Dynamo for a while it became clear that, all things considered, batteries are nowhere near ready to compete with my legs at generating power.

Update I just noticed this insane report in the NYT about real reports of motorized bikes in real velosport events. Motors should be allowed, of course, but we need to ban the batteries (and fuel?) in any form.

Anti-Anti-Virus Is Not Pro-Virus

2016-05-17 14:14

One of the reasons I’m such an untouchable leper in the world of computer professionals is that I believe that "anti-virus" may possibly be hokum. Or worse. Though it is an extreme heresy (similar to saying that vaccines may not always promote optimal health) I have always believed in the possibility of anti-virus programs being a worse problem than viruses for certain classes of users.

First of all they are lulling you into a sense of security which may be false. Once you feel that the problem is handled, you may be less likely to address spontaneous security issues that would be apparent to an engaged defender. There’s even a bit of the old infinite regress in committing to scrupulously attend to the software (updates and licensing and so on) which attends your actual security. Second, the typical form of malware scanning software really only picks the low hanging fruit of well-known unobfuscated common malware. Third, the harder a malware scanner tries to catch bad things, the more hassle it causes the rest of the system the rest of the time; think of airport "security". Fourth, a very large portion of successful exploits target sketchy browsing and use phishing. In other words, no malware, per se, is really needed these days.

These problems still don’t actually imply that a proactive computer operator should avoid anti-virus software and perhaps one should use these things.

My apostasy is more profane than that of course. You should do what you think you should do and you should not listen to advice from me, but I will avoid these "anti-virus" products. To begin with, they smell a little too much like extortion, quite literally a protection racket. And who are these good Samaritans? They are huge companies that stand to profit more as the problem worsens. That kind of conflict of interest never seemed right to me. Most of these products, and indeed any that will be taken seriously (regardless of their actual merits), are proprietary and shrouded in secrecy. How they are controlling things at the very core of your computer’s operation is, by design, a complete mystery. Are they protecting you or abusing you? You’ll never know.

I believe that doing your best to not understand what is going on with your computer is not the best way to protect it.

Usually, by popular consensus, I am wrong and that’s just something I have to live with. But today I am heartened to find this incredible account of some light being shone onto the crawling things which hide deep within these systems.

Do check out CVE-2016-2208.

Here is a highlight.

This is a remote code execution vulnerability. Because Symantec use a filter driver to intercept all system I/O, just emailing a file to a victim or sending them a link is enough to exploit it.

On Linux, Mac and other UNIX platforms, this results in a remote heap overflow as root in the Symantec or Norton process. On Windows, this results in kernel memory corruption, as the scan engine is loaded into the kernel (wtf!!!), making this a remote ring0 memory corruption vulnerability - this is about as bad as it can possibly get.

(Note that the "wtf!!!" was not even added by me but it’s completely appropriate.)

If you’re a normal person, apply patches, etc., and carry on with your "anti-virus" agenda. Have a nice day. But if you fancy yourself a computer security sophisticate, you must at least grant me that such things as described in this report are theoretically possible. And maybe more.

Robot News

2016-05-05 10:32

Quite a lot of robot news today. You’d think that robots were finally happening. I based my whole life on that premise decades ago soon after seeing the Heathkit Educational RObot. Computers had suddenly arrived. Surely having them interact with the real world would be next. And yet in 2016 I still clean my toilet with a brush whose design is unchanged since Roman times.

What’s stranger is even with gobs of relevant experience in computers and mechanics, an actual appropriate engineering degree, and more enthusiasm than anyone I’ve ever met (my odds of avoiding a violent premature death improve directly with improvements in autonomous vehicles), I feel like the chances of me being able to get a job working on non-military robots is extremely low. In the city where I live (8th populous in the USA) the odds are nil.

All of which reminds me, I need to clean the toilet.


For older posts and RSS feed see the blog archives.
Chris X Edwards © 1999-2016