Sailfish + Print-O-Matic = Wow

dutchmogul's Keep

dutchmogul’s Keep

Last night and tonight I have been tinkering with Flexo, my Thing-O-Matic, to install Jetty’s Sailfish firmware update.  The setup text is very helpful, but not particularly optimized for a Thing-O-Matic with a MK6 extruder.  I also found that I had to heavily modify the “start.gcode” and “end.gcode” to keep my bot from shaking itself to pieces. 1

However, the results of combining Sailfish with ReplicatorG’s Print-O-Matic are impressive.  Dutchmogul’s Keep, pictured above, was printed with a layer height of 0.15mm, 10% infill, all with a stock 0.5mm nozzle.  That’s the very best resolution I’ve managed with my Thing-O-Matic, ever.  At 0.15mm thick layers, I have a difficult time seeing the layers if the model is more than 6 inches from my face and the ridges on the vertical parts is difficult to discern with a fingertip.

Now that I’ve finished that print I think I can push my ‘bot’s print resolution farther.  I’m willing to bet I can print down to 0.10mm layer height if I re-applied the Kapton tape and did a better job of leveling the print bed.  Also, one of the acknowledged challenges with 3mm filament based extruders is the pressure buildup that can lead to imprecise plastic deposits when dealing with non-contiguous parts. 2  Dialing in the Skeinforge “Retraction” or the Sailfish “Deprime” settings dialed in would really help with complex prints.

  1. The default “start.gcode” tried to home to the XY maximums and Z minimum – where there are no endstops.  The default “end.gcode” did the same thing for some reason.  I also had to modify the “start.gcode” so that the print head was better positioned for starting a print. []
  2. By this, I mean that when you’re printing two or more features that are not connected, say for example a table that is legs-side-up, an extruder will naturally ooze a little bit of plastic as it travels between legs, leaving a thin spider web like strand.  The “retraction” setting in Skeinforge is used to combat this, and does so fairly effectively in the case of a stepper based extruder.  That setting reverses the extruder motor quickly just after the print head leaves a leg and then quickly moves extra fast forward as it gets to the next leg, which prevents the spider web effect. []

Was This Made on a MakerBot?!

Doctor Who Christmas Special 2010: A Christmas Carol

Doctor Who Christmas Special 2010: A Christmas Carol

Netflix has nearly all of the “new series” Doctor Who episodes available for online streaming.  As a guy who grew up watching the show, having it on tap is just plain awesome.  Unfortunately, Netflix does not carry one my favorite episodes ever – the Doctor Who Christmas Special from 2010 entitled, “A Christmas Carol.”  You can’t get the DVD from Netflix and you can’t watch it online.

Thankfully, Empire State Building.  The screenshot appears above.

So, what do you think?  Does that Empires State Building look as if it was printed on a 3D printer?

The worst part about SaaS

And... that's why you don't hack the core

And… that’s why you don’t hack the core

Since I recently gushed on about how wonderful it is to run a SasS business, it’s only fair to share with you a downside.1

This morning I quickly checked my small-side-business SaaS site before heading off to work, only to find the thing that people actually pay to use was not working.  Dropping everything, I quickly started hunting through code.  I haven’t changed a single word of core logic on the site in about six months, so there’s no reason this problem should be occurring.

Except that whenever WordPress asks me if I want to update, I immediately do so.  Sometimes really minor changes to WordPress functionality create huge tangles of CSS and HTML, as it did in this case.  Once I tracked down the problem I quickly hacked together a solution and uploaded it back to the site. 2  Thankfully it’s now working as well as it did before I found this problem.

Because my site has been working so well for so long3 I’ve been loathe to build a better design for the logic.  In the very long run, it will save me time, but in near future/short run of a few months all it will do is suck up time without demonstrating a tangible benefit.  I suppose being less prone to breakage is a tangible benefit, but I spend less than 2 hours a year dealing with minor problems like this.  The prospect of spending two months rewriting and then rechecking code to save 2 hours a year doesn’t seem like a worthwhile investment.

Frankly, what I need to do is come up with some other tangible benefits that when added with the existing fixes I need to perform will have a more tangible4 benefit, and then jump into building them all.
Default Series Title

  1. I don’t know where the original picture comes from, but I got it from this website. []
  2. And, really, it’s a nearly unforgivable hack.  Rather than figuring out how to fix the problem in the plugin, I commented out the newly-bad code and hacked that same code directly into the website’s theme.  I know, I know…  nearly unforgivable.  At least I didn’t try to hack the core.  []
  3. The core logic of the site has been essentially unchanged since about 2008. []
  4. Read: immediate monetary []

Pantsless

Is it just me or it a bit breezy here?

Is it just me or it a bit breezy here?

Ever have one of those days when nothing goes right and you can’t find your pants? 1 Yeah.  Me too.

On the plus side, I’m working to make a cool new printable model.  :)

Also, word of advice.  Never search Flickr for the word “Pantsless.”  Ever.

  1. Photo courtesy of Klara []

Swing States and Farming

Swing State: The state of being on or near a swing

Swing State: The state of being on or near a swing

This election has been an interesting one to watch – especially since following the analysis on Nate Silver’s 538 blog at the New York Times.  It seems like there are really two different kinds of campaigns going on right now.  (Actually, I’m pretty sure this has been happening every four years – I’ve just been too oblivious to notice).  Living in California, I only see one kind of campaign – a half-hearted attempt from the GOP and Democratic parties to vie for votes, but a lot of political fundraising.  I’m sure that those living in a swing state like Ohio or Nevada see an entirely different election – because this is where the money raised in other states gets spent. 1  All of this makes me think of a national campaign in terms of a RTS video game2 – you farm and defend in one area so that you can fight in another.

Which makes me think, why should I be the plankton?  Why shouldn’t I be the one whose vote is being courted?  And, really, shouldn’t one vote count as much as another vote?  Of these three the less petulant question is about the worth of a vote.  If a presidential election comes down to the opinions of 11.5 million people in Ohio, this means that a single vote cast in Ohio has more of an impact on an election than 300 million other possible votes. 3  So, it seems that although Ohio only 3.69% of the population, their votes mean more than the 96.31% of us.  Fully admitting I have no idea what I’m doing with these numbers, and someone else please correct me, it would seem an Ohio vote is worth 26.10 more than the vote of a non-Ohio voter.

This makes the very cynical part of me want to move to Ohio for six months every four years.  What responsibility and what power!  Imagine being able to cast a super-vote for the presidential election.

  1. Photo courtesy of Bernat Casero []
  2. WarCraft II and StarCraft I being prime examples []
  3. Admittedly, I’m leaning heavily on Google here.  Google tells me that Ohio has a population of 11,544,951 and the U.S has a population of 311,591,917 circa 2011.  Clearly, these are not all people who are eligible to vote.  But, making the totally unfounded and unresearched assumption that Ohio has a roughly similar proportion of voters to general population, we can estimate with wild inaccuracy, or at least flagrant disregard for a scientific method, a rough proportional impact of an Ohio vote versus a non-Ohio vote. []

So THAT’S why I’ve been a bastard each morning

I AM smiling

I AM smiling

I made a large pot of coffee on Saturday, more than I would drink in a single morning, specifically because I’m lazy and thought I would just drink the second half of the pot the following morning. 1  Saturday morning I didn’t see any of the white mugs we’ve been using lately, so I switched to one of the Impressionist-artist themed mugs in the back of the cabinet.  I drank my coffee, had a good day, and all was right and well with the world.  The following morning I poured another mug of coffee, drank that and went back for a second – to discover there was barely any coffee left.  I had just made enough for four cups, so what gives?

It turns out that the white mugs are smaller than the Impressionist mugs by about 1/3.  After making more coffee it slowly dawned on me…  very slowly…  I had been under-consuming coffee2 for almost the last year by about two-thirds of a cup.

Totally unrelated story of this morning.  The coffee shop near my work is apparently undergoing a remodel.  Which explains why no one was there to serve me coffee.  Back across the street to a restaurant that I generally don’t frequent to get coffee. 34  I go in, ask for coffee, and the woman behind the counter5 asked me if I had been there before.  “Yes, a while ago, but I usually get my coffee from Pete’s.”  She went on to explain they have all fair-trade organic coffee, it doesn’t have an aftertaste, and it’s very good.  I said something polite and non-committal – but, really, I would have still bought it and drank it if she had told me their coffee was made from baby seals and brewed with orphan tears.

It occurs to me that I could have done a “This is not normal.  But on meth it is.”-meme style joke. 6

  1. Photo courtesy of patries71 []
  2. That’s a thing, right? []
  3. I’m a simple man and this is an unreasonably complex cafe.  You walk up to the counter, order your meal, then sit down, if you want water you go get it yourself, someone brings your meal to you, and then you go back to the counter to pay.  It’s this weird hybrid between self-service and service that I’m just not comfortable with. []
  4. Plus, they were kinda rude to a friend of mine. []
  5. She had the air of an owner about her []
  6. If you’re not familiar with the meme, you could click through – but some of it is NSFW []

Mailing lists that eventually become spam

SpamBot 3000 is ready to... serve

SpamBot 3000 is ready to… serve

Occasionally I will opt into a mailing list – but very very rarely will I do so with a real e-mail address. 1  One of the domains I own allows me to specify a “catch all” e-mail address where mis-addressed e-mails will be sent.  The most useful part of this is that I can give out an e-mail address of any sort I want @mydomain.com and the e-mail will be redirected to the account I actually check.  Later if I discover that it wasn’t such a good idea to have given out an e-mail address like that, then I can always forward all e-mail to that address to trash.

For the most part as long as you’re not giving your e-mail address to really sketchy websites or posting them in plaintext somewhere, I’ve found many newsletters/e-mail marketers are pretty ethical.  What’s interesting are those companies that have passed on my (fake) e-mail addresses.  What I’ve found is that they tried to market to me at that address for a few years – and then apparently gave up – at about the same time that I began receiving spam to that address.

Which brings me to a minor rant.  The company I work for2 posted all of the employees’ e-mail addresses online in plaintext.  What a colossally bad idea.  Although I’ve asked the IT guys to at some level of obfuscation3 to our addresses, the requests have gone unheard.  My work e-mail, which is managed by Gmail, does a pretty good job at catching spam – but this seems an unnecessary step.  Even with these protections, I’m still getting phishing e-mails, Nigerian scams, “medications” over the internet, offers to purchase plaques commemorating awards, and all kinds of nonsense.

Uh, yeah, I don’t know where I was going with this one.  :)

  1. Photo courtesy of Tinkerbots []
  2. During my day job for a company you’ve never heard of doing something far less interesting than making awesome robots that make awesome things []
  3. Which would be easy since the company website is on WordPress and there must be a dozen plugins that do exactly this []

Making may have just jumped the shark…

WHAT ARE YOU LAUGHING AT?!

WHAT ARE YOU LAUGHING AT?!

I just saw a commercial for canned biscuits with the tagline of “Let the Making Begin.” 1 More amusing – the bottom of the screen has “#makernation.”

I suppose it’s inevitable that popular trends get co-opted by marketers.  Given that the maker-trend is about actually diving in and making things for oneself, generally from scratch, it seems at odds with “making” by just opening a can and putting the contents in an oven.2

  1. Photo courtesy of Theron LaBounty []
  2. This reminds me of when Wal-Mart began carrying “grunge” clothing. []

The best part about SaaS

Do NOT search for "sass" on Flickr

Do NOT search for “sass” on Flickr

I’ve mentioned that I’ve got this software-as-service website. 1 2  Today, while dealing with a tech support problem, I realized what I love most about this type of business.

But, first, the tech problem.  A user e-mails me saying that he can’t log into the site from his iPhone (running iOS6) any more.  First, I try his login/password to confirm they work.  They do.  I have him try refreshing the page – I’ve heard the new iOS sometimes causes weird caching problems.  He still can’t log in.  I try logging in from an iPhone 4 running iOS6 and an iPhone 4S running iOS6.  No good.  I get him to confirm he’s clicking “remember me” when he logs in.  Yes, he is.  I finally tell him I can’t explain what’s going on – I’ve tried to replicate his problem on another iPhone 4 running iOS6, just like his, and I can’t figure out what happened.

He e-mails me a little later to say that he figured out that his iPhone had been set to reject cookies, and thus, he was not able to log in.

Which brings me to the thing I love about my SaaS business.  When someone says the site doesn’t work, all I have to do is confirm that it works in some browser somewhere on the internet – and then I’m basically 99% sure the problem is on their end.  Now, I can help them troubleshoot a problem to a certain extent, but for the most part if my site works in any one browser, it should work anywhere.  I don’t have to worry about their operating system, software conflicts, and other nonsense like that.  Just get to the internet and the site should work.
Default Series Title

  1. Photo courtesy of Sebastián Dario []
  2. Why a photo of a puppy?  Well, I tried searching for a photo that included the word “sass” on Flickr… and I now wish I had not done so. []

Why do DrawBots draw on walls?

A wall crawler - on the floor

A wall crawler – on the floor

A commenter named Ellison left a deceptively simple question on my first post in this DrawBot series.1

Ellison:  Why do it on a wall? Why not a drawing robot that draws on a large piece of paper on the ground? I think you’ll get better results from that.

I think there are a lot of good reasons reasons – some aesthetic, some technical, some practical – for having a DrawBot that draws on walls (or other vertical surfaces).

Aesthetically, I really like having a DrawBot that draws on vertical surfaces.  When placed in the room or an adjoining room, I can watch it scritch-scratching away at an enormous drawing.  In much the same way a snail’s meandering trail can be captivating, a DrawBot working out a TSP single-line-art drawing turns an apparently meaningless series of turns into a mass of scrawls that resolve into a work of art as soon as you take a step back. 2

Technically, the DrawBot is an exceedingly simple device.  You could build it out of little more than Arduino, a motorshield, two motors, string, a pen, and whatever you might have lying around.  Much of these pieces you could probably even scavenge for or salvage from other things.  In fact, only the Arduino and motorshield are things you wouldn’t be able to dumpster dive for.  The device works by moving the two motors in concert, such that by varying the length of string reeled in or out by a given motor is used to move the pen in an XY plane.  The one “ingredient” not listed in the preceding sentences is, of course, gravity.  If the point where the two strings meet at the pen did not hang essentially straight down, pulled constantly by gravity, the pen could go just about anywhere.  If you were to place a normally vertical standing DrawBot flat on the ground, the pen would no longer be pulled away from the two motors – and would just flop onto the drawing surface.  Now, you could add two more motors and more string and build a gondola that holds the pen vertically on a flat DrawBot surface while writing a lot more code…  However, I am doubtful you would get any more precision out of such a setup.  And, if you really require precision – an XY plotter might be more to your liking.  An XY plotter build would require lots of hardware (belts and metal rods or metal extrusions), more tools, and be big and heavy, and limited in the size of its drawing capabilities.  It would also be capable of really amazing speeds.  That’s a lot of extra materials, work, custom coding, and loss of drawing capacity for a dubious trade off in

As a matter of practicality, the simplicity of design and materials means this is an extremely cheap project.  An Arduino is only going to set you back about $30 and clones are as cheap as $15.  I picked up two of Adafruit’s motor shields on sale for $12 each, but they’re normally $20.  Screws and/or bolts, beaded cord or wire or fishing line, a big piece of wood or mounting things directly to a wall, 3D printed spools or just leftover spools from thread, a 3D printed gondola or a lasercut gondola or even a big red binder clip.3  Seriously, if you’ve got about $35 and some free time, you’re basically half way to building an awesome fun robot that can make arbitrarily large drawings.  If you’re willing to buy all the materials, it probably won’t cost you more than $150.

I’ll say it again – a Polargraph DrawBot is a quick, cheap, easy, entertaining, and useful robotics project – especially for beginners.  Outside of my 3D printers, this was easily the most rewarding DIY project I’ve ever attempted.  The results are astoundingly disproportionately awesome to the amount of time, energy, skill, and money used to achieve them.

Seriously, what are you waiting for?!  Go order a Polargraph kit from Sandy Noble45 or source the parts from Adafruit6 .7  Or, if you’re going to scavenge and/or source some parts, check out my Polargraph DrawBot parts/shopping lists.

Default Series Title
  1. Photo courtesy of The Kozy Shack []
  2. And, I wonder – if you could map all snails in the world at the same time, could they be working in concert on an enormous message?  Perhaps something along the lines of “So long, and thanks for all the fish”? []
  3. I just love that Polargraph video by Sandy Noble.  To see binder clip in action, skip ahead to 0:27. []
  4. Whose open source work I use for my own DrawBot []
  5. The next time he’s in stock, you better pull the trigger – he runs out of stock SUPER fast []
  6. Where I bought most of my parts! []
  7. And, why not tell them I sent you too? []