Tag: opinion

Hackaday OC: What’s in a Tool and Adventures in Resin Casting.

I’ve written two new articles for Hackaday. The first is “What’s in a Tool: A Case for Made in USA”. This article made front page of slashdot, has over 50,000 views, and nearly 500 combined comments. I’m very excited about the good reception. Read it on Hackaday.

The second is an article about my adventures in resin casting. Unfortunately it’s a bout a learning experience I had with different sorts of mold release for silicone molds. Also on Hackaday.

Bad Design Thought: The Gas Pump Fallacy

2015-07-05 20.40.47

It goes like this: You walk up to the gas pump, swipe your card, push the regular button, put the fill nozzle into your car, pull the lever, and nothing. Why? You look at the screen, and there scrolling on the screen is a message, “Remove Nozzle Then Select Grade”. You selected grade, then removed nozzle. How could you? You uncultured brute. Which brings me to the bad design trope:

The Gas Pump Fallacy: “Enforcing order to an input when the order needed is arbitrary, or blocking one input for an equivalent input when both are acceptable”

The pump could just as easily have asked you to select grade then remove the nozzle. As far as the software and valves are considered it’s meaningless. The pump needs two pieces of information, “the nozzle is out,” and “the grade is selected”. Since these are binary conditions that have to be met to begin, the order is arbitrary.

“Alright”, you say, “but I have to ask the user to give me the input, shouldn’t the order match the request?”

Well, no. Ask the user to input the information in whatever order you want, but accept it in whatever order it’s given. Another example of this design done right is the automatic registers at, specifically, Walmart. The register needs to know when to start scanning items. It figures this out by waiting for an interaction. The Walmart register lets you scan an item to begin the process, or it lets you push the start button. It offers you both, but accepts and needs one. The Kroger terminals, however, will not start scanning till you push the start button.

Finally, a third example of this being applied in software is the iPhone lock screen. If your fingerprint isn’t recognized the iPhone happily swipes the screen for you to the PIN input. However, even though the touch-id is no longer prompted for, the iPhone will still accept and is looking for a proper fingerprint input. The coder could have easily justified accepting only the pin at that point for security or code reasons, but it would not have improved the interaction.

The gas pump is the best example I could think of. This is because the user will develop a pattern based on the pump they are most used to. It is a common object and the designer has no control over the patterns they learn. A good designer will recognize when the pattern is meaningless and design a pattern agnostic system. Forcing a user’s hand is meaningless, the best interaction is one where the object being interacted with vanishes into the background, and only it’s function is left visible. A good toaster toasts bread. It has a lever and a knob. It does not force you to attach it to your WiFi before beginning the toast cycle.


Why is Elon Musk Successful – A personal theory.

I approach all my problems the same way. Define a problem, Research, Act, Record, Repeat. My problem: I would really like to be someone like Elon Musk, Bill Gates, Nikola Tesla, and the continuing list of tech heroes. I am consistently not someone like that. Though I would like to believe that I am consistently more. I am on my millionth repeat by now. I have lost count of the experiments. I’ve read biographies. I’ve imitated sleep schedules (damn you Buckminster Fuller). I’ve changed diets.  I’ve thrown myself in and out of an assortment of physical ailments through these experiments. I’ve done all manner of things to unlock the secrets of these people. I truly think I’ve got all the pieces and parts in me to be someone like that. I, like everyone else, just was not fortunate enough to be born with the assembly guide.

I think I’ve got it. I have the secret to their success. It’s simple. It’s dumb.

It’s the ability to do chores. Or by my definition. Something you do every day, that has to be done, has a cumulative positive effect if done, and a cumulative negative effect if not done. Studying, dishes, exercise, emails, budgeting, etc.

Hard work is easy. I have worked on a fun, but extremely difficult engineering problem for days. I have been unable to sleep because I just have so much dang fun doing it. My head will ache, my eyes will have not blinked in hours; leaving them itchy for days. Hard work is easy.

Chores are extremely hard. Not in the actual doing. They’re usually easy. It’s in the mental strain of putting aside what you’d rather do. I have to send that email, even though it’s not really pushing the company forward as much as this one innovation might. I have to document this change, but it’s slow and I really want to test.  However, my experience in industry has told me that the email you didn’t send was a contact you lost and that documentation you didn’t write is four hours of lost time down the road.

Elon has come out and said as much, “You are in constant danger of the company dying and if you are the co-founder or CEO, you’ve got to do all sorts of jobs and tasks that you might not wish to do, that are not intrinsically interesting to you.  … And if you don’t do your chores, essentially, then the company won’t succeed. You’ve got to be prepared to do whatever it takes, work whatever hours. No task is too menial. I think, that’s the right attitude for CEO of a start-up.”

Alright fine, but you listed some other names up these. What about Tesla? Well, for one, Tesla was quoted as saying “By an irony of fate, my first employment was as a draughtsman. I hated drawing; it was for me the very worst of annoyances.”. Yet if you take a look at his Colorado Springs Notebook, it’s not only orderly, but beautifully drawn. Plus, if you’ve ever once tried to wind a copper coil. You’ve had  the meaning of tedious burned into your fingertips.

Fine, what about Bill Gates? Well, remember the email example I had earlier. Here’s an excerpt from an interview with the man“We’re at the point now where the challenge isn’t how to communicate effectively with e-mail, it’s ensuring that you spend your time on the e-mail that matters most. I use tools like “in-box rules” and search folders to mark and group messages based on their content and importance.” He’s often mentioned that he’d much rather being doing pure software design, but his days and his company needed him to correspond with people.

Brilliance has little to do with success. Being able to produce occasional bouts of it and wow your friends is common as dirt in tech crowds. I have sketches from High School where I was trying to figure out how to build an electric car charger and power station. I figured the person who controlled the standard for delivering the fuel controlled the money. I had it all figured out. I was going to start with golf carts and selling power at campgrounds. Then the world. By the standard of brilliant innovative ideas foisted by the media, I should be a bajillionare just for thinking thoughts like that. So where’s my car company? Well. Studying against the vertical incline that was needed to solve such a problem was hard. More interesting problems showed up. I didn’t stick with it because it became a chore.

People are smart, brilliance is common like diamonds, but the difference between a drawing of a brick building and a brick building is that someone actually placed those bricks one by one.

Anyway, that’s the latest from my research and personal development.  Comments and thoughts are very welcome.

“What program did you use?” an essentially useless question.

The question, “What program did you use to make this?” is inevitably asked a hundred times in the comment section of every cool video and project on the internet. It seems innocent, but at its core it speaks of a great misconception in those looking to produce something similar. The misconception being that the software has anything at all to do with the result. That somehow the software is the object responsible for the great work.
Now, don’t get me wrong, good software helps. Good tools help. The distinction to make is that good tools help those who have the skills to use them.

Acquiring skills is a long and painful process. There’s been many times when I’ve seen a master at something produce work a thousand times better than I have using tools I considered inferior and beneath me. I always try keep in my mind that we flew to the moon using nothing more than slide rules, drafting tools, and paper. That’s it. The lunar rover was some crappy aluminum tubing welded together in an “H”. Now we would use our rapid prototyping facilities to do the same thing, but I doubt we’d have a much better product.

Tools are there simply to express your skill. If you don’t have skill, no amount of fancy tools will help you. The only way to acquire skill is through countless hours of daily work.

Whether you’re coding or playing sports this stays constant.

Don’t ask what tool was used. If you have to ask you’re already doing it wrong. Research, practice, learn, and suffer.