Back on the wagon

Back on the wagon
Back on the wagon

FitDay.com is essentially a food diary site that lets you look up or enter the nutritional content for the food you eat, set goals, and track your progress.1 A very long time ago I lost probably about 25 pounds by using the site.  A friend lost about 80 using the same site!

Well, I started using FitDay.com again, at the time I’m writing this post2 it’s been 37 days.  To put this in perspective, in January of 2012 I was able to consistently use the site for three whole days.  Prior to that, I used the site for 35 mostly consecutive days.  In any case, 37 consecutive days is a pretty good record for me.

As before, my diet consists of trying to not eat like a pig and keep my caloric intake to no more than 2000.  While most days I stay below that number, there was a day in there where I just CRUSHED it.  In the past I’ve basically completely abandoned the site after having fallen off the wagon.  This time, I gave myself permission to go ahead and kick the crap out of my daily limit – as long as I still documented what I ate and kept at it the following day.  Several weeks after the fact, even with a mini-vacation in the interim, I’m still logging my diet.

In my experience, a food diary not only helps not only with monitoring caloric intake, but also helps me be more mindful of my choices of food.  Since I’m more aware of what and how much I’m eating, I find I choose things that are better for me.

***

I started writing this post back in February.  At the time I’m hitting publish on 4/18/2013, I’ve logged everything I’ve eaten into my Fitday.com account for 100 days in a row.  In this time I’ve lost 20 pounds – but more on this in a little bit.

Default Series Title
  1. Photo courtesy of Dave Wilson []
  2. You never know how long it takes to actually click Publish []

Your vote could stop the Robopocalypse!

Okay, before you read any further, take a moment to click here and vote for my PlotterBot for the Road to Maker Faire Challenge.

Vote for our future.  Vote PlotterBot!
Vote for our future. Vote PlotterBot!

I’ve been blogging about every little aspect of my own drawing robot – with this post1 it’s more than 80 posts on the topic. ((Photo courtesy of Vox Efx)) Everything from a list of other robots, to where I sourced the parts, to my failed attempts at designing parts, and a lot more posts about what I’ve done that does work.  Using what I’ve learned from my own really colossal failures and the brilliant open source work of others like Sandy Noble and Dan Royer, I’ve designed all of my own printable plastic parts from scratch, explained my thoughts and considerations behind the designs in excruciating detail, and shared all the files and my source code for everyone to use.

The winner of Maker Faire’s contest “The Road to Maker Faire Challenge” gets $2,500.00.  Dear gentle reader, should I be fortunate enough to win – I hereby make you these two promises:

  1. I promise to spend every last dime on building more and better robots.
  2. I promise to continue blogging relentlessly about what I did, how I did it, what worked, what didn’t work, and how you do it all yourself too.

So, please vote for my PlotterBot for the Road to Maker Faire Challenge!

  1. Which really doesn’t count… []

Drawing Robot Penmanship

Not a robotic pen holder
Not a robotic pen holder

Until very recently, I had only considered a drawing robot’s pen holder maintaining the pen at an angle to the drawing surface as an obvious and positive thing.1 I have now been cured of such illusions and understand that when the pen is mounted at something other than perfectly perpendicular to the drawing surface, it is possible for the pen tip skip or stutter across the drawing surface.

I’ve already droned on at length about the various ideal attributes I considered while designing a pen holder.  In light of this new important attribute of pen tilt other than perpendicular causing pen skipping, would I modify my design?

It probably depends.

First let’s consider what causes the skipping itself.  It seems to occur when the pen holder moves faster than the pen tip “wants” to be dragged across the drawing surface.  The result is that the pen tip tilts slightly with an upward movement instead of drawing upward for a short distance, then the pen holder swings a little to compensate for the upward jerk, then the pen tip skips upward – leaving a gap the pen tip skipped over. (I feel like I”m not explaining this well…)

Once I read that post by Dan, I did some half-scientific tests.2 I dragged the pen holder around on the drawing surface.  This is not even close to an operational simulation because I’m sure I didn’t keep the pen steady and the pen holder would almost never move that quickly.  I found that when the pen was moved very quickly upwards, the entire pen holder would indeed skip.  I tried the same “experiment” again after having adjusted the pen so that it was perpendicular to the drawing surface.  This time the pen still skipped – just a little less than when it was at a 15 degree tilt in the pen holder.  However, the pen I was using was a big marker.

Setting aside the pen tilt for a moment, I can’t think of any other benefits besides skip-reduction behind putting the pen perpendicular to the drawing surface.  The next thing to consider is whether all pens skip equally.  Not having actually performed a specific test to determine this, and speaking only from experiences in using different pens, I would suggest that not all pens skip equally.  Specifically, good ball point gel based pens do not appear to skip when operated very quickly.  In fact, running a gel based ball point pen seems to work quite well since it seemed to keep the itty-bitty ball inside the pen tip moving, which keeps the ink flowing.

I would suggest that the desirable pen holder tilt would depend upon (a) pen holder speed and (b) type of pen possibly as follows:

Marker, perpendicular Ball Point Pen, perpendicular Marker, tilted Ball Point Pen, tilted
Fast Pen Holder I would hypothesize a fast moving marker is going to skip whether it is mounted perpendicularly or not.However, from a semi-scientific test, I a tilted marker would skip a little more.  It is important to note that a marker will draw equally well whether it is perpendicular or tilted. First, gel ball point pen will quickly stop being able to draw ink if it is not held at a tilt.  A non-gel ink ball point pen might not have this problem since at least some of the ink comes through via capillary action.Either way, drawing perpendicularly is a problem for ball point pens.  However, since their tip makes a small point of contact with the drawing surface, they don’t seem to suffer from skipping problems, even at high speed. I don’t think a marker held at an angle is going to draw lines any better or worse than one that is held perpendicularly.However, my limited testing suggests that markers drawing at an angle quickly will skip a little more than quick drawing markers held perpendicularly. I suspect a ball point pen of almost any kind would work well if drawing at an angle.  Almost every single drawing made with my first drawing robot was done with ball point pens operating at about a 30-45 degree angle.Admittedly, that robot never drew very quickly, but then again I never seemed to have problems with skipping.
Slow Pen Holder If a pen holder with a marker is moving too slowly, the result will be ink bleeding all over the drawing and through the paper and pens that dry or run out too quickly.  It’s really quite a mess.I suspect that running any marker too fast is going to cause skipping problems – whether it is at an angle or not.  A marker’s tip either starts out much wider than a ball point pen, or it will end up that way after hours of drawing and being dragged across a large sheet of paper.  In my experience, using a marker in this fashion will basically make the marker unsuitable for any other purpose. With the caveat that pretty much any kind of ball point pen is going to have a difficult time drawing perpendicular to a vertical drawing surface, I would posit that moving the pen slow-to-medium would result in gaps in the drawings.  However, I think those gaps in the drawing would likely be more due to the ball point pen not have sufficient friction to keep ink flowing consistently. A slow moving marker makes about as much of a mess as an oil spill.Even assuming a medium-speed marker, I don’t think skipping would be that big a problem as long as the pen was not tilted at too severe an angle. A ball point pen could probably be operated anywhere between slow and fast.As long as the pen is moving relatively continuously, a ball point pen should be able to provide a continuous stream of ink.

Taking into account the potential for skipping, I would suggest based on the analysis above, that skipping is a problem for markers no matter the angle and largely irrelevant for ball point pens.  I would also suggest that a very slight pen holder tilt of 15 degrees is extremely helpful, if not crucial, to ball point pens and mostly irrelevant to markers.

Hey Dan, what do you think?

Last but not least, this is post #80 in this DrawBot Adventure Series!  And there’s still so much to cover!

Default Series Title
  1. Photo courtesy of Creative Tools []
  2. Which, I suppose is not much better than not-scientific… []

Skipping! How could I forget the skipping?!

Hubris, I haz it
Hubris, I haz it

Mr. Noble is not the only one prone to hubris.1 After taking into account every post on ideal drawing robot pen holder criteria, I found one more post that I should have read first.  Dan Royer of MarginallyClever.com suggests2 as good pen holder should:

  1. A single cord convergence point.  “Have the two strings meet at a single point, or as close as possible.  The moment they separate the math gets really ugly.”
  2. Deal with friction.  “Friction causes the pen to drag and lean.  If I tell the robot to draw a square corner and it comes out rounded then I know my pen is dragging because it never reached the corner.  The pen has to stay at a right angle to the drawing surface.  So far I’ve found that having at least three points of contact is enough to eliminate the problem.  That’s why I tape my business card to an eye bolt on the bottom of the ring – the bottom edge of the card forms a large contact area with very little friction.”
  3. Be well balanced.  “If the pen is balanced wrong it may point up or down.  If it points up then it might go dry.  If it points down then it might have extra friction when moving downwards, causing the pen to skip and create a dotted line.”
  4. Have an easy way to switch pens.  “Not only should it be easy to replace a pen but every pen should “lock” into the pen holder at the same distance and angle from the drawing surface.  In order to simplify this problem I only use one kind of pen that comes in many colors.”
  5. Works on a slanted surface.  “Works on both vertical and slanted surfaces up to a maximum of 10 degrees.”

My own prior post on ideal characteristics in a pen holder took into account Dan’s number 1, 3, 4 and considered 5.  What I failed to consider was how friction can cause the pen to skip or stutter when the pen is mounted at an angle and the pen travels upwards.

Although I started diving into this consideration, but I’m putting all that over-pontification into its own post.  This post is really about (a) Dan considered a very important factor in pen holder construction which I neglected and (b) how awesome open source is.  My own pen holder would be a terribly complicated mess doomed to multiple revisions had I not had the benefit of being able to review a veritable legion of pen holders used by many many other people in their many many different kinds of vertical drawing robots.

So – Yay Dan!  Huzzah open source!

The next post will be about whether this consideration would cause me to change my existing pen holder design.

Default Series Title
  1. Photo courtesy of Markus Krispler []
  2. I’m keeping all of Dan’s words, but reformatting them []

To Maker Faire!!!

Road to Maker Faire!
Road to Maker Faire!

Early yesterday morning I got an e-mail from Make saying that my DrawBot project had been accepted to the “Road to Maker Faire Challenge!”  If you check out Make’s latest post inviting applicants for the “Road to Maker Faire Challenge,” you’ll notice the tiny image in the bottom left is from this post.  How cool is that?!

Default Series Title

Perpetuating Password Myths

Brute force cracking
Brute force cracking

Today at work I got an e-mail from the IT department saying everyone needs to set new, stronger, passwords.1 They suggested several things, like:

  • “tomandjerry” is not as strong a password as “$H2mlf”
  • “Fishing123” is not as strong as “Fish123ing”

Assuming a black hat hacker is really determined to crack your password, they’re probably going to attack it like they mean it.  Let’s assume there’s no defect in your system that allows a cracker to get in without actually entering the correct password.  They might try a dictionary attack first, followed by a database of common passwords, but after that they’re left with brute force.

Here’s the most amusing part.  Assuming none of the four “passwords” above are in any dictionary or a database of common passwords.  Let’s rank the passwords, 1 being the strongest and 4 being the weakest.

  1. “tomandjerry” is strongest, with 11 characters
  2. Fishing123″ is tied exactly with “Fish123ing”, with 10 characters each
  3. “$H2mlf” is weakest, with only 6 characters

The only things that really matter in passwords are that you’re not using (a) a dictionary word or a common password and (b) the length of  your password.2

In any case, it’s concerning when information technology professionals don’t understand fundamentals of password security or how a malicious attacker would attempt to compromise a system.

  1. Photo courtesy of akashgoyal []
  2. If you’re using a multi-word password, it is possible an attacker knowing this could use a system that combines words – but this doesn’t really save them a lot of time – we’re talking about numbers with 20-30 zeros in them []

That’s not junk!!!

... it's ART!
… it’s ART!

A few days ago I found a DYMO LabelWriter 400 Turbo had been tossed into a cardboard box with used toner cartridges and broken printer parts.1 After making sure this really was a box of lost things, I swiped the label printer along with its power cord.

Tiny little printers such as this kind of label writer never use inkjet cartridges or require laser cartridges.  They print using heat – like receipt printers.  The catch, since they can’t get you with inkjet/toner cartridges, is that the labels are stickers with specially treated heat sensitive non-sticky sides.

Ideally, I would love to feed this little printer some cheap receipt paper and run it as a small, cheap, USB tethered printer.  I already have an Adafruit IoT printer, which I love dearly – but it would be awesome to have one that my daughter could use.  Apparently this has already been done more than once.

After loading up the newest drivers for the printer and trying out the newest software for it, I couldn’t get my laptop running Win 7 to recognize the printer.  I’m looking forward to tinkering with this.  :)

  1. Photo courtesy of Tinkerbots []

DrawBot Pen Holder Post Mortem

Yoda, standing tall
Yoda, standing tall

Two days ago I designed a new type of pen holder for my drawing robot based upon what I had learned from examining the pen holders other people have designed and used.

Here’s what worked and what didn’t:

  1. WORKED:  The fit.  I’m really happy with how the pen holder went together.  It’s always very satisfying to print a part you just designed and have it “just fit.”  With the zip tie holding the micro servo in place, neither the micro servo tab nor the zip tie protrude beyond the flat surface of the pen holder.  The groves for the rubber band to hold the pen in place work very well.  The pen doesn’t move side-to-side, get pushed back into the holder, and it is very easy to reposition the pen or change pens entirely.  While it’s not as elegant as, say, a metal spring, it works very well and doesn’t require a bunch of moving parts.
  2. WORKED:  The amount and placement weight.  I hot glued a AA battery to either side of the pen holder, as close to the center as I could manage around the hole for the pen.  This weight seemed to work perfectly.  There was enough weight that the cords hung in straight lines, but not so much that it seemed to cause a strain on the motors.  The placement of the weights seemed to work well as there was no noticeable pendulum swinging of the pen holder, despite me running the robot at about three times it’s usual top motor speed and about twice it’s normal acceleration.1
  3. WORKED:  The multiple points of cord attachment.  Having a row of holes for connecting the cords at different points along the top central edge of the pen holder worked out great.  To test the balance all I did was stick a small paperclip through a hole.  If the holder balanced with the flat edge upright and vertical, that’s the point I needed.  It was easy to find the balance point and easy to connect the cords.
  4. WORKED:  The single point of cord attachment.  When I was using a crappy cardboard pen holder with cord attachment points very far apart, the entire pen holder would tip to one side or another when it got close to that side.  This caused a bubble-like distortion effect towards the edges of the drawing.  While this could be a cool effect to intentionally inflict on a drawing, it’s not what I was going for with that crappy cardboard design.  Having the two cords meet at exactly the same point worked out incredibly well.  Even when the robot was drawing the top left corner of Yoda’s lightsaber, the pen holder was always perfectly vertical.
  5. WORKED:  Shape of pen holder flat side.  The pen holder I’ve designed is roughly teardrop shaped, with a flat top.  My thought with giving it a “flat top” was that it wouldn’t potentially develop a central raised point (between the circular top edge of the pen holder and the device I was using for the pen lift) when I was doing a pen lift.  I figured that if I was using a “flat top” it was possible for the pen holder to be balanced on the edge of the flat top and the point of the servo arm – essentially turning my full contact pen holder into a three point contact pen holder with the servo arm as one of the points.
  6. DIDN’T WORK:  Motor skipping?  There is a large section in the middle of the drawing of Yoda, pictured above, that looks like it was shifted downwards slightly.  This could have been because I was fussing a little with the robot while it was working.  It could also have been because I was running the robot pretty fast (motor speed of 1600 when the normal is 600), because I had increased the acceleration (400 instead of the default 800), because I had the pots turned down too low (maybe, but the current settings have worked reasonably well for other drawings), because the pen holder was too heavy and causing too much strain on the motor (very unlikely since this holder is lighter than the cardboard abomination I was using) or some combination thereof.  My guess is that I probably need to increase the pots when I increase the speed.  It’s really unlikely that the pen holder itself was to blame for these missteps.2
  7. DIDN’T WORK:  The pen lift.  I haven’t drawn anything with a pen lift yet – but I did test the pen lift last night after Yoda was done.  I noticed a few minor problems with the pen lift – but nothing to indicate I was on a completely wrong track.
    1. The first problem is that I glued the two batteries slightly too close to the clearance area for the micro servo arm.  This is why the next version will include a holder for the AA batteries – to ensure they don’t get in the way.
    2. Second, even when fully extended the servo arm didn’t push out far enough to cause the pen tip to lift off the surface of the paper.  This could be solved by either making sure the pen tip is positioned slightly farther back, extending the servo arm, or creating a servo arm powered cam, similar to Dan Royer’s Makeangelo (check out the video at about 4:35 for a view of the cam in action).
    3. Third, my concern is that since the micro servo is mounted in such a way that the servo arm sweeps from right to left, it could cause a similar sweeping motion to be applied to the pen tip – assuming I work out the pen tip depth issues.  It’s possible that sweeping the arm upwards or downwards might minimize this effect.  I just have no idea whether this is a valid concern or not – the servo arm might move so quickly that it’s not a real concern.
    4. Also, while not an actual issue, the servo motor cable applies a bit of weight to the pen holder.  This will require me to reposition the cord attachment points – and may require me to add extra weights to the pen holder itself.

Once I change the pen position and maybe use a larger servo arm, I’ll try a vector drawing which requires pen lifts and re-evaluate this design.  Overall, this design has basically worked beautifully.  I’m looking forward to experimenting with some new variations on the design to see if I can eliminate the few remaining issues.

Default Series Title
  1. I’ll pretend I was doing this for a system stress-test, but really I was impatient to get a big giant Yoda drawing []
  2. Does that count as a pun? []

Fire the DrawBot!

Last night I connected my newly designed pen holder to my finished drawing robot and attempted a relatively “quick” drawing of Yoda.  I say “quick,” because it only took about two hours.  The one lone trade-off for having an cheap and easy to build robot capable of essentially unlimited drawing sizes is that it can take a long time.  I took several photographs of my robot while it was drawing and turned them into an animated GIF, featured at the end.

Finished and mounted robot, with old pen holder
Finished and mounted robot, with old pen holder

Above is the robot itself, mounted to the wall.  I’ve made two minor changes to this setup since that photo, detailed just below.  First, I’ve placed a large sheet of sacrificial cardboard under the paper so that any pen leaks will not mar the wall.  Second, since the “home point” (exactly 130mm down from the exact midpoint between the two spots where the cord leaves the project box) is hidden by the paper when I pull it down, I needed a way to be able to center the robot without having to re-measure the home point each time.  My solution was to take a small piece of leftover plastic about the size of a pinhead and tape it to the home point on the cardboard.  Now, I can feel the home point through the sheet of paper and center the pen holder accordingly.

Home point for centering the pen holder
Home point for centering the pen holder

It’s a little difficult to make out in the photo above, but you can see the two big arrows pointing to the home point and a slight bulge in the tape caused by the small plastic speck.

Brand new pen holder, assembled
Brand new pen holder, assembled

This picture shows the pen holder fully assembled.  I operated it the first time without the benefit of a servo motor cable.  I wanted to see if the pen holder would work well.  Once the drawing was about 2/3 done and I was pretty happy with the pen holder’s operation, I soldered up a cable to connect the servo lift port to the servo motor.

Drawing robot in action
Drawing robot in action

The above animated GIF is comprised of eight separate photos from my digital camera on a tripod, combined in GIMP.  I’ve never to make an animated GIF from a series of photos, but it very quick and painless.  Since video takes up a lot of space and battery power, I figured a series of photos would be the easiest way to create a “time lapse” of the robot’s operation.  You don’t get the low drone and hum of the motors, but you can see how it operates.  Now that I’ve done one, I’m looking forward to making more of these.

Yoda, standing tall
Yoda, standing tall

And here is Yoda!  As you can see from the ruler next to him, he’s about 35 inches tall from the tip of the lightsaber to his feet.  There’s a “band” of the drawing that appears to be shifted downwards slightly, causing a little overlap at the bottom of that region and a slight gap above.  This is probably due to me fiddling with the robot, but it could also be due to the motors slipping or skipping slightly during operation.  If it was due to me fiddling with the robot, then the fix is simple – I just need to be more patient.  If it was due to the motors skipping steps, then turning up the pots just a little would probably fix that.  Given that this is the very first drawing from my very first draft of a new pen holder, I’m really happy with the result.