Redbox Movie Recommendations

Within the last few months I have been making use of the two RedBox “automated retail systems” within the lobby of a nearby Wall-Mart. (And mostly being successful in resisting the urge to venture into Wall-Mart on each visit and get trapped behind a lady talking on her cell phone while trying to write a check to pay for 26 items in the 20 items or less checkout lane…you know the famous Wall-Mart shopping experience, and it’s not fun.)

While the selection at a RedBox DVD vending machine isn’t as good as Netflix, the average cost per DVD is lower, especially if you have intermittent viewing habits. I have taken advantage of my wife’s absence to sample most of the movies she would veto in favor of a better selection if she was with me (you know the ones that you’ve always wanted to see but the wife veto’s in favor of Sisterhood of the Traveling Pants 2…..things like Hellboy II, Get Smart, Journey to the Center of the Earth, Forgetting Sarah Marshal, Speed Racer, Wanted, Zohan, Tropic Thunder, Doomsday, Drillbit Taylor, Harold & Kumar Escape From Guantanamo Bay, Sukiyaki Western Django, etc). I watched the movies in the above list, and take it from me, you don’t want to. Well, actually, the first few on the list aren’t too bad. If you like comic-book or sci-fi movies Hellboy II is reasonably good, and Get Smart was funny. But definitely avoid Sukiyaki Western Django. Trust me on that one.

There are also several less well known movies that are excellent. Having watched a lot of RedBox movies, here is my list of suggestions that you may not have heard of before:

  • Bickford Shmeckler’s Cool Ideas – This movie really surprised me. I rented it after exhausting most of my other (non-horror) options expecting to find a typical frat-party college movie. Instead, it’s a touching look at loss, depression, and re-finding what’s important in life, all in the guise of a frat-party college movie. It was especially well done and enjoyable throughout!
  • Flawless – With Demi Moore an Michael Cane as the leads, this heist movie involves a woman trying to make it in the 1960’s male dominated diamond industry and an elderly vault robber who doesn’t want the money. A smart heist movie that is more about the characters than the diamonds.
  • Charlie Wilson’s War – Based upon a true story; Charlie Wilson is a womanizing career politician who falls almost accidentally into covertly supporting Afghan rebels fight off the Soviet invaders. This is a smart political documentary wrapped up in an entertaining story.
  • War Inc. – A biting and surreal satire of the war and subsequent political rebuilding in Iraq. A mix between Dr. Strangelove and America’s Sweethearts, think Grosse Point Blank in Turaqistan.
  • King of California – What is insanity? What does it mean to be a family? How far would you go to find the American Dream? King of California starts out low key and gradually builds into a magnificent ending.

Of course, you can usually count on the major release motion pictures to be worth renting, and I also approve the following list (ordered by enjoyment):

  • Kung-Fu Panda – Great family fun that everyone will enjoy.
  • Wall-E – Pixar is just amazing, a must watch!
  • Indiana Jones and the Crystal Skull – For sheer entertainment value it’s hard to beat, but don’t expect anything too serious.
  • Iron Man – A fun and light action adventure movie that’s better than The Dark Knight!
  • The Dark Knight – Not quite as good as Batman Begins, but still worth renting.
  • Juno – It’s all about teen pregnancy, but is much funnier than you’d expect based upon the subject.
  • The Bucket List – Need a movie to watch with your parents? This is the touchy-feely movie that everybody will agree was worth watching.
  • The Bank Job – Raw gritty heist movie with great twists and just enough humor.
  • 21 – If you like MIT, or poker, or Keven Spacey you’ll like this movie.

Global search and replace in multiple files

Searching and replacing a bit of text in a lot of files is a very common problem. Lots of tools exist to get it done. On unix systems, awk is one favorite, and I found this webpage with a simple search and replace example.
Unfortunately, I wanted to search for \prob and replace it with %\prob. The difficulty is that the backslash character is “special”, so you have to escape it with other backslashes.

Here is my updated example command to run in each directory:

awk ‘{gsub(/\\prob/,”%\\prob”, $0); print > FILENAME}’ *.tex

It does a global substitution for the regex \\prob with string %\prob in the
whole input file ($0) for every file that ends in .tex

Bracket Assembly & Skate Bearings

Bracket & Bearing Assembly on Pipe

Bracket & Bearing Assembly on Pipe

I manufactured a second copy of my bracket and used my hand drill to put a few holes in them to hold bearings. The idea is to mount 3 inline skate bearings at 120 degree increments around a pipe to limit motion to 1D (two of these on one side, plus two 2D mounts on the other side, make a Z-axis platform). I estimated the space taken up by the washers, and got it wrong, so if I wanted to use this design I will have to tweak my design and make a few “off-size” brackets to pair with the current ones I have. (Making all new brackets does not sound like fun, as each of them take almost 2 hours of routing time). The alignment and motion is a bit rough (I did eye-ball the holes) but I think I could improve upon that enough to make them passable with enough practice. However, due to the two-hour build time, I’m seriously considering using the “standard” angle-iron solution for my Z-axis.
Continue reading

CNC – First 2.5D cutting


I have designed a bracket that I used as my first attempt to manufacture something with my CNC mill. Because I’m still using python code I wrote myself and have not yet calibrated my stepper coordinates into real-world measurements, I had to design the bracket in Inkscape, print it out, and manually move my router bit to each point to determine the stepper coordinates along the path I wanted to cut out. This really sucked, and I plan on switching over to the parallel port controller board and EMC2 very soon so that I do not have to keep writing code. (I had to add code to cut out the bracket that interpolates between two endpoints so that I could route semi-accurate 60 degree lines.)

The piece of wood was secured Continue reading

First performance evaluation

Checking Accuracy

Scan of the circle test

Scan of the circle test

Using my simple router code I had the X/Y table plot a square with a circle inside of it (and then added some extra code to draw a smaller circle inside that). The first time I tried this I found that one side of my X/Y table was significantly (1mm or more) lower than the other. I added a washer between the table and the piece of wood that attached it to the Y-axis drawer pull and that improved things quite a bit ( the washer is on the bottom left corner of the test pattern). Using a felt tip marker gives a good indication of the level of the work platform, as the tip will be pushed up (and spread out, leaving a wider mark) if the table gains height, or get smaller if the table drops. One of my corners (top left in the image) has a distinct dip in it, but because I started the plotter at that corner and adjusted the height as it was moving I need to repeat the test. The giant ink spot in the top middle is because I left the pen sitting on the paper while writing the code to draw the inner circle.
Continue reading

New Serial Controller

I received the new and improved serial stepper controller board (version 4) from Ocean Controls. (Cost: 65 AUD) Although it supports up to a 6kHz stepping rate, I found that my steppers can only be driven at the RATE 12 setting, or approximately 745 steps a second. I’m not sure if this is because I’m not providing enough voltage or power (currently at 6v and 1.66A) or if that’s just the maximum rate of the steppers. When I try to use RATE 11, the steppers make nasty noises and are obviously loosing steps here and there. I don’t think it’s a current issue, as the usable RATE doesn’t change when running one stepper or two steppers at the same time. At some point in the future I’ll find a higher voltage power supply and see if that allows the motors to step faster.

This speed is still a small improvement over the original stepper controller, which worked at 605 steps a second maximum speed (despite the fact that it was supposed to run at 1000 s.p.s. or 1kHz). The documentation for the SSCB says that rate 12 is equivalent to 755.9 steps/second, so my measured 745 is relatively close, and probably is due to the built in acceleration and deceleration at the start and end of motion.

The real benefits of the version 4 board is the ability to start multiple motors at the same time, and get a prompt back over the serial line when the motors stop moving so I don’t have to poll the position (which still results in the controller board dropping steps). The new board also includes two command controlled relays, which will be perfect for turning on a spindle motor via program control, and perhaps enabling the stepper motor power supply.

The new multi-motor start command and feedback when finished greatly simplified the python code to interface with the stepper controller, and the serial control board no longer drops characters (perhaps because I am sending less characters and waiting patiently for motors to finish moving.)

Limit Switches: Important!

X-axis limit switches

X-axis limit switches


I have added limit switches to my X and Y axis. I always planned on adding them eventually, but after I stripped the nylon threads on one of my flange nuts in a router accident I decided that it was time. I’m using small micro-switches mounted such that they are closed when the X or Y axis nears the maximum extend of it’s motion. The ocean controls serial stepper controller has ports for limit switches on each axis, and when the circuit is closed that axis immediately stops moving and can only be moved one step at a time until the circuit opens again. I mounted the X-axis switches on a piece of wood from my 8 foot board I had to buy for the Y-axis pusher assembly (7.8 feet left!). I can’t decide what makes the router look more ghetto: The Ikea drawer rails, or the 45 degree screws holding the piece of wood down. (Also in the running is the blob of black epoxy-putty that pushes one of the X-axis limit switch.) Continue reading

CNC Mill Electronics

Servo motor with screw drive

Servo motor with screw drive


I purchased the 3 stepper motors from a surplus supply house for $25 each, and have been very happy with them. The fact that they include a screw drive mechanism has really simplified my mechanical construction. They are manufactured by HSI inc, and are Model 43000 external linear actuators.

The electronics that control the stepper motors on my CNC mill were purchased from Ocean Controls (An Australian company) in kit form. Specifically, I purchased Continue reading

X/Y Table Motion, or 2.5 axis CNC router

Y-axis Servo and pusher assembly

Y-axis Servo and pusher assembly

Since my last post I have constructed the Y table servo mount and pusher assembly. The Y-axis servo is mounted using a pair of L-Brackets, M4 machine screws, washers and nuts that were purchased specifically for this project and actually fit the screw holes on my servo! (Unlike the X-axis servo, which is connected with a 3/32 machine screw that doesn’t actually fit the threaded hole in the servo, and relies on friction to keep it from moving.) Since I was at the hardware store, I also bought an 8 foot piece of wood (2 inches of which I used for the pusher assembly with a lot left over for things like the X-axis limit switches.)

The video below shows the router drawing a diamond (twice as difficult as a square, because you have to make two motors move at the same time). I am controlling it using a small bit of python code to issue motor commands over a serial port to the stepper controller board. The diamond is drawn from 0 to 18,000 in stepper coordinates on each axis. (The 5.5 inch range of each axis ranges from 0 to 46,000 in stepper coordinates, so the working area is about 2.5 times larger than the drawn diamond.) As you can see from the (lengthy) video, the screw drive assembly on my (1.8 degree per step) steppers makes the actual motion speed of the X and Y axis quite slow. It is unlikely that I will have to artificially slow down my cutting speed when cutting actual material.

The device holding the sharpie marker is a (cheap, and inexpensive) “Dremel Drill Press” from Harbor Freight Tools that cost me $15. I can no longer find them on the Harbor Freight website, but they do have a “Drill Press Milling Vise” for $60 that is basically an X/Y table with 8 and 7 inch travel and a 5 inch jaw capacity. Adding a few servos to that would effectively replicate my X/Y table made from IKEA parts for only slightly more money and a bit less labor, although you’d still have to figure out a way to anchor the servos and connect them to the screw drives. I plan on raising and lowering my dremel drill press by hand to cut out the parts I need for my next generation CNC mill. So my computer control program will run the X/Y axis automatically, and then give on-screen prompts to the human Z-axis operator.

CNC Router (Milling Machine) from IKEA Surplus parts

X-Table with Servo and linear bearings made from IKEA drawer rails

X-Table with Servo and linear bearings made from IKEA drawer rails

I am building a poor man’s Computer Controlled Router (Milling Machine). My first step will be to bootstrap the ability to mill needed components. Before I can make my own linear bearings, I am using cheap linear rails from the AS-IS (Surplus, Scratch & Dent) room of IKEA. Specifically, drawer rails make relatively good linear bearings. (Well, relatively good compared to what I could make myself without a mill.)
Continue reading