Category Archives: Technology

Should I buy a 3D Printer?

Thinking of buying a 3D Printer? Let’s give that thought a quick reality-check… I was ready for a somewhat hobbyist experience but it took way longer than expected to have the printer assembled and printing acceptably.

Mine is a $549 Printrbot Kit. Interestingly perusing forums of the current generation $2,200 MakerBot Replicator 2 showed their owners experience similar issues to what I’ve gone through.

Assembly of the kit took five to six hours. Until it printed reliably using PLA was probably a further forty hours but I did fabricate a new platform and adjustable bed. If time permits I’ll follow this post up with common issues + solutions so maybe you’ll be up and running in under twenty hours. Either way, expect to become a 3D Printer technician and be sure to have an abundance of patience handy.

The image below sums up the experience nicely. See the tools? Notice the spool holder made from DIY parts? Surprised to see DIY screws, power drill etc nearby? Well… forums and blog posts are littered with people who purchased a 3D printer and abandoned it before making good prints. Surf some forums and you’ll notice virtually everyone showing off their prints has their printer in some kind of hobbyist workshop; typically they’ll have loads of tools around and are veterans of past fabrication/ advanced DIY projects.

Complete Printer (1) (Medium)

But apparently a child can build one? Yes, some manufacturers are suggesting you buy one for your eight year old and he’ll have it assembled and printing in no time… Not a chance! I did see one blog post where a young boy had assembled the kit but “so far they were having trouble printing”. Younger than twelve I’d say to totally forget it and buy him/her a Lego Mindstorms or similar. High school age is probably more appropriate; even then a tinkerer Father on hand is almost a necessity.

Should I spend $550 or $2,500?

Now my $549 Printerbot is dialed-in and has had a few modifications its prints are excellent. Given the explosion in 3D Printer popularity, anything built in 2013 is going to look like a Dinosaur in a few years. Unless you need to print very large objects now I recommend buying a lower priced printer today and upgrading in a couple of years when mass production techniques should bring costs way down and take quality/ ease of use way up. I purchased Make: Ultimate Guide to 3D Printing for $6 as they reviewed about fifteen current generation printers.

Should I buy a Kit or Fully Assembled?

Assembly is typically only ~$100 extra, but the experience [frustration!] of building your first printer is invaluable. I was too young to build my first home computer in 1981 so was bought an assembled one. I did not make that mistake this time; the kit came with poor/incorrect instructions, but it was the correct route to take for both experience and bragging rights in twenty years time.

What to expect from a Kit?

Until the last couple of years most 3D Printers were built from open source online designs. Hobbyists sourced components themselves and spent unbelievable amounts of time tweaking. My PrintrBot is a well priced kit building on these many years of open sourced achievements. I doubt there is much profit margin for PrintrBot. Also, you will have noticed a lot of plywood on my printer; that’s laser cut plywood. It has issues but is an inexpensive way of producing the parts – once a laser printer is purchased the cost of chassis etc is next to nothing for the smaller scale manufacturers compared to the materia/hours required to 3D Print parts as was common in the early days.

A kit gets to you to where these serious hobbyists were far quicker for a reasonable price.

Take a look at these pictures for an impression of what to expect:

Printrbot Kit (1) (Medium)

Printrbot Kit (2) (Medium)

Their website says it takes two hours to build. Perhaps once I’d built a few that would be true. In reality it takes about five hours. Documentation is poor and was incorrect in several places as incremental design changes have occurred since the videos/ online help were created.

How long to Print after Assembly?

Do you feel lucky? Well do you? Likely some owners obtain a decent print on their first attempt; most do not – actually possibly most never do before putting it in a closet or on eBay! Expect several hours to several before anything reasonable is printed.

ABS filament emits fumes which made my eyes sting, but is much easier for a beginner to use than PLA filament. Since my workshop is small and unventilated I have moved exclusively to PLA, ensure your printer is in a well ventilated area and start with ABS.

Hopefully time permits me to write a separate post on getting started, but main tips are:

  • Level the bed
  • Ensure z-home is set correctly (distance from extruded nozzle to the bed)
  • Ensure the printer extrudes at the correct rate (pretty easy for ABS)
  • Figure out the slicing and printing software
  • Use calipers to roughly calibrate movement along the x, y and z-axis (fine tune when printing ok)

A common beginner issue is the clog up the hobbed bolt with filament (tension springs set incorrectly will do this).  I’ve had mine out for cleaning at least twenty times, but it’s been fine for a good while since I figured out the correct spring tension for PLA (springs compressed to ~13.5mm). The following image shows a clogged hobbed bolt being cleaned with a needle (I lost one needle so now store it using a strong magnet to fix it to a drywall screw):

Hobbed bolt cleaning (19) (Medium)

What kind of quality can I expect?

Really great in my opinion. I’ve printed several printer upgrades and the precision is incredible; hex bolts drop right in where they should etc.

It will take a while and likely much frustration to get the printer dialed in. After about sixty hours I seem to have the basics down and when an issue occurs now know what to tweak. Take a look at the next photos to  see my progression with PLA:

Example Printrbot Prints (1) (Medium)

Example Printrbot Prints (2) (Medium)

Example Printrbot Prints (3) (Medium)

The final print shown is a case for a Raspberry Pi. It fits perfectly, and this was printed before I added most printer upgrades!

Tools required?

Hmm… this is a tricky one. As a long time DIY type I have access to a vast array of tools. The Drill Press and cross vice shown below has been particularly useful but these are not beginner tools.

At a minimum you need:

  • Precision Calipers (only about $20 on Amazon)
  • Quality screwdriver set (one with lots of quality bits is fine)
  • Jewelers precision screwdrivers
  • Small wire cutters and pliers
  • Tweezers (to tease strands of stray extruded filament away from the nozzle and lift prints)
  • Very sharp craft knife

These are almost essential:

  • Quality precision pliers, angled pliers and wire cutters (Xuron or similar)
  • Quality oil/ grease
  • Circlip pliers
  • Telescopic Magnetic Tool to hold awkward nuts in place during assembly

Semi essential tools (1) (Medium)

Ensuring bolts thread perpendicularly:

Semi essential tools (2) (Medium)

Final Words

Have a spare fifty+ hours, $550 and buckets of patience? You should buy one now!

Remember this is not Software Engineering; interacting with the real world is a whole different ball game. Fellow classmates and I discovered this during our postgrad Robotics Degree . Software is predictable and repeatable. The real world often not so much. In many ways 3D printing is similar to robotics – some software is involved but there is a lot of trial and error + tinkering.

Compacting Virtual Machines (VirtualBox and VMWare)

Google has never linked me directly to this information, just theories. One day time permitted me to run careful tests so I am sure these techniques are correct/ efficient:

Simple tricks to reduce size VM’s Disk Needs:
These will wipe GBs from your vmdk/ vdi.

  • Disable Windows hibernation (hiberfil.sys is the size of installed memory, you don’t need it)
  • Disable the memory paging file (paging file in a VM makes little sense to me)



Compact a VMDK (VMWare including VMWare Player):

  • Launch the VM
  • Inside the VM defragment its disk (defraggler works great, Windows degfrag is ok)
  • Inside the VM run “sdelete.exe -z” from DOS (as admin). This zeros out the free space and is an essential step
  • Shut down the VM
  • From VMPlayer: Edit Machine Settings -> Hard Disk -> Utilities -> Defragment (optional step, sometimes helps – official documentation is poor)
  • From VMPlayer: Edit Machine Settings -> Hard Disk -> Utilities -> Compact

At the final step you should see a huge reduction VMDK size.

Below is a screenshot showing the features in VMPlayer. Remember this is next to useless unless you run Mark Russinovich’s ”sdelete.exe -z” to mark free space with zeros. Compacting VMs has been this way for years, it’s April 2013 now and surely soon ‘detect and zero free space’ functionality will be built into their compact options.

Compact_VMWAre_Player_VMDK

The image above shows a VM that reached 20Gb once, before being compacted back down to 10.7GB. These are typical results. Once compressed my two work VMs zipped down to ~4GB each; fine for archiving working databases, dev environments etc. One customer’s backup procedures left me concerned so weekly the VMs were AES encrypted and copied to a USB key chain flash drive.

Compact a VDI (VirtualBox):

Until very recently I have used VirtualBox since about 2008. Here are the steps to compact it.

  • Launch the VM; inside the VM defragment its disk (defraggler works great, Windows degfrag is ok)
  • Inside the VM run “sdelete.exe -z“. This zeros out the free space and is an essential step
  • Shut down the VM
  • From DOS (as admin):
    • cd <location of your VDI>
    • “C:\Program Files\Oracle\VirtualBox\VBoxManage” modifyhd –compact <your disk’s name>.vdi

Hope this helps folks. Any issues/errors please post in the comments and I’ll update the post.

Reduce back and/or neck pain with a 50 cent cardboard box

Virtually all software developers eventually experience neck and/or back pain. Mine gradually increased from light neck pains in 1995/6 to being unable to work one day in 2001. Doctor’s advice: “stop doing what makes it hurt”. Useful…  Earlier today Martin Fowler posted “Back pain is a common issue, but everyone’s pain (and treatment) is different”. Indeed it is, but he also posted a photo that invoked a “Fingernails dragged down a blackboard” response from me. It’s a photo of programmers at work; many IMO asking for neck/back problems in later life.

Let me share the research that has kept me pain free for ten years. I am not qualified in this area, these are just the findings of a long term computer programmer (done little but code from 1981 to 2010, and hope to keep it up until The Singularity makes us obsolete) :

  • Move your screen(s) up to eye level
  • Every time you exercise do neck stretches
  • Read a book on back pain and/ or neck pain.These cover common issues that work for many people; Read the many glowing reviews on Amazon

Screen at Eye Level:

This should be common sense. I work looking forward not down. Peering down compresses neck vertebrae – probably not good for extended periods of time. Commons sense says “mix-it-up if you can”, don’t sit in the same position all day. Personally I alternate between a regular sitting workstation, standing workstation, laptop on a box (or whatever’s handy at the time) and casual surfing using an iPad like a book (not looking down at a laptop). Combined with regular exercise and stretching I still spend almost all waking hours in front of a computer. Of course from time to time I become lazy, and stop stretching after running/cycling; the pain starts creeping back. Returning to regular stretching always cured it (so far, touch wood!)

Sitting workstation:

I use an ergonomic Zody Chair using vesa arm mounts. Yes, I have hauled these to client sites. We just moved house and I don’t have a photo handy

Standing Workstation:

These can be cobbled together very cheaply. Skip those expensive stand/sit combo workstations and build another work area in your home office. The following photo shows a $100 Ikea kit. Notice the two mice? I used to have pain in my mouse button fingers. Learning to use a mouse left handed and swapping between them cured that too. Props to Paul Swan for the mouse tip – he’s a total Genius from my undergrad CompSci degree, now working on the Windows Server team.

 

Laptop on a box:

The title of this post.  Being in my late thirties peers are starting get aches and pains. Many on Facebook complain of sore necks from laptops. If you listen to only one piece of my advice, Put Your Laptop on a Raised Surface when using it. Oh, and and wear sunscreen :) Notice I use a real keyboard and wireless mouse than can be used in either hand – these cost peanuts compared to a Doctor’s visit. This is a great setup for short term client engagements – they always have something to stand a laptop on.

Can a $10 Book from Amazon really help?

The books I purchased in 2001 were an incredible help. I am not suggesting these as an alternative to a Doctor’s advice, just worth considering if your Doctor has been of no help.


Hopefully this posts allows some to extend their coding careers. Please take this advice as just that, general common sense advice.

Bye-bye Mac OS X, hello Win7

Using DOS and Windows since the mid 80′s it was time for a change. Vista was never reliable on any of the three machines I tried, Microsoft fanboys were killing creditability in the user group scene – heck it got to the point where saying ‘Google’ was not permitted. It would immediately be corrected to ‘Bing’,  sometimes by a chorus of fanboys! This anti-Google sentiment has to stop. Fanboys may go “Rah-Rah, Bing-Bing-Bing”, but how many of them command respect from peers? Many competent people stopped attending Microsoft events.

So how did OS X work out? Well it’s certainly a good operating system, does most things I need but obviously is not going to run Visual Studio anytime soon. Lack of open source software was a major gripe; 7Zip, KDiif3 and many other great open source projects just don’t exist  for the Mac.

Snow Leopard was a total flop, costing me hours in lost time as it broke our HTPC which was running Hulu and XBMC. Initially Mac fanboys jumped all over  me for criticizing it the day after it was released, but over time the general consensus is that Apple needs public beta testing before releasing an OS upgrade. A few service releases later Snow Leopord works fine but lacks the snappiness of Win7.

Apple hardware is fantastic. Developing on a MacMini is heaven thanks to virtual silence. The tiny form factor helps reconfigure workstations, keep a clearer desk etc. Using a MacMini as a HTPC is a little expensive but totally worth it, low power means low heat and they’ll happily live in a cupboard. New Minis also support two digital monitors, IR remote, bluetooth, latest WiFi, GigaBit internet and have a stack of USB ports. The 13″ MacBook Pro cost $1200, plus the cost of after market 4GB RAM and an Intel SSD. With the SSD and Win7 it’s plenty fast even for a demanding developer. The quality keyboard and touches like back-lit keys, multi-touch trackpad etc make it easily worth the extra cash. Oh and using OS X battery life is nine hours for the latest model – I see over five hours with WiFi and Bluetooth on a 2009 model.

So why the move to Win7? “It just works” scream most Mac users when you ask them “Why a Mac”. True for basic users, but not people like us. Hours can be wasted with simple tasks like trying to format a non Apple external hard-disk. This where the experience breaks down. Problem with Windows are generally solved with a quick Google search. Certainly not the case for OS X, with the hard disk users were berated online for not buying a Apple branded hard disk. I have Bluetooth problems with a Microsoft mouse and have never been able to resolve it other than rebooting. Do you use two monitors? Fine, that works… oh you have one in portrait mode (like I do)? Ain’t gunna happen in OS X yet sorry. HTPC? What you did not buy an Apple TV unit? The Mac Mini work well as a HTPC but does not support font scaling like Win7. I found a hack which works in some cases not other. Of course almost those cool HTPC open source tools don’t exist for the Mac, ironically XBMC is one that does and it’s almost as stable as for Windows.

Conclusion:
Hopefully this posts helps you consider if  OS X is for you. It’s a good OS, but Win7 is so much better in so many ways. If you want something that “just works” for simple tasks I highly recommend an iPad. That device is so simple I bought another for my Parents. They grasped it quickly and are having few problems. Also the design of the iPad apps means it’ll be very hard for bad guys to devise a virus for them. Macs don’t get PC viruses they get Mac viruses, I would wager the iPad will be virtually virus free.

Atlanta User Groups I recommend

A friend just asked me what .Net groups are good these days. Atlanta is the Software Capital of the South which means we have many great groups in town and I watch them all for interesting topics, but these are the three I personally attend most often:

http://www.meetup.com/AtlAltDotNet/  this is great for new ideas and decent technical depth. It is a fairly new group still finding its feet

http://www.iasahome.org/web/atlanta  Atlanta’s IASA chapter – always has super-smart people in attendance. Most meetings end up being a discussion (or argument!) with few punches pulled. The best part? BS artists are shot down very quickly and most never come back :)

http://www.atldotnet.org this is the ‘main’ .Net User Group in town and excellent at delivering high level introductions to topics. Networking is very good here too as local MVPs etc are at most meetings

Other .Net focused groups are www.atlantamspros.com (now defunct) and  http://ggmug.com.

Hopefully that helps a few people looking to learn more and network :)

Deleting data before donating

This was so easy I felt obliged to blog it. Under our house rule ‘not used it in a year, so it has to go’, our old P4 laptop is being donated. It held old tax records, Microsoft Money files etc which had to be deleted first.

One free and simple technique is Boot and Nuke. I download the small ISO and used this free ISO burning tool to burn a CD.

The laptop then booted from the CD into a Linux program which looks similar to below once running. I choose the default and it took about two hours to delete a 70GB 7400 rpm hard disk with a DOD Short (three pass) technique:

nukeandboot

Finally another 30 minutes using Averatec’s media recovery discs and it is now ready for someone else to enjoy.

Google's shiney new Browser

Chrome is out, download it here: http://www.google.com/chrome. I know the title post was a little obvious, a quick web-search shows a stack of hits for it already :(

Chrome is built on webkit and has worked fine for me on all my favorite sites so far, interesting tid-bits:

  • Task Manger shows each tab is a separate process – for better stability one assumes
  • Love my new desktop shortcuts to gmail, hotmail etc :)
  • The new tab option shows screenshots of favorite pages – cool
  • Starts-up fast, renders fast :)
  • Username/ passwords were sucked out of Firefix – creepy
  • It evilly dropped a shortcut into my quick launch bar, grrr

So it looks like us web-devs will soon have three mainstream browsers to test for :) All the more reason for everyone to start using JQuery etc.

DD-WRT on Linksys WRT54G v8

Update: Since writing this post in 2008 Linksys have produced v8.1 and v8.2 routers which may not be compatible with the instructions here. Luckily there are now ‘official’ guides for the dd-wrt site for v8 routers:

http://www.dd-wrt.com/wiki/index.php/How_To_Flash_the_WRT54Gv8

http://www.dd-wrt.com/wiki/index.php/Linksys_WRT54G_v8.0_%26_v8.2


Many sites say v8 of the WRT-54G routers cannot be flashed with DD-WRT. I have now done this twice and here are simple instructions – these are re-worked from bauer-power who’s post I came across when fearing my first attempt bricked the router. First try on a v8 took me over two hours mostly in Google/ Forums, second time about ten minutes with these steps:

  1. Go to http://192.168.1.1 (default user/pass is admin/admin)
  2. Click on Administration tab, then click on Firmware Upgrade. Upload vxworkskillerGv8-v3.bin
  3. When you see ‘Update is successful, Rebooting….’ unplug the router for 120 seconds (some say to wait 120 secs BEFORE unplugging – do both to be safe)
  4. Plug in router, ping 192.168.1.1 to verify it is still alive (you may have to hardcode static IP settings on your PC to have a gateway of 192.168.1.1, subnet 255.255.255.0 and IP 192.168.1.100 )
  5. Run the Linksys Tftp Utility, uploading dd-wrt.v24_micro_wrt54gv8.bin with these settings:
  6. Press Ugrade. When the upgrade GUI’s green dot appears press the router reset button
  7. Browse to 192.168.1.1 and see the new firmware (default user/pass is root/admin)

If you are looking to flash another a non v8 router with DD-WRT I found these links to be the most helpful:
DD-WRT Installation wiki
Client Bridge Example (this is almost 100% correct for V24 firmware – you should have no problems following it)

Also be aware there are version specific firmwares on the dd-wrt website, but it may take you while to find them: Linksys is under the Broadcom (chipset) folder. More than likely a newer builder than I linked to will work with the v8, but I simply wanted another client bridge and have had one running with v24 for two months now.

Afraid to do this ‘hack’? Of the three Linksys routers I’ve flashed none became bricks. Heck they are only $40 now anyway, but if you do brick one it looks they are not too impossible to recover:
Recover from a bad-flash (unbrick a dead router) wiki

So Why did I do this?

This was left to last as the news that we can flash Linksys routers is years old. Still even me -a tech blog addict- was still not 100% sure what a wireless bridge is, and how to link to wireless networks into one seamless network. We need access points in many locations, but are renting so cannot run cat5 everywhere. Yes I could buy custom wireless adapters for the xbox (xbmc), HTPC, NAS drives, PCs and printers but they normally cost $80 or more each and are no where nearly as flexible as a DD-WRT flashed router which has 5 ports. Also the new V8 WRT54G router I bought for my theater room was losing the plot when the PS3 was turned on – I have no idea why but the voip phone etc would all lose their connection. Since being flashed it has been 100% stable.

This is a sample wireless bridge, to the machines it looks like one seamless network:

We now have three WRT54 routers with DD-WRT. One is a primary and two more are client bridges.. one for the xbmc and for my main PC in an office room. They seem to play fine together. The two client bridges have five Ethernet sockets as the wan port was reconfigured by DD-WRT. This is fantastic for many reasons, e.g. when moving large files I can plug a laptop or NAS drives into the same wired network. WiFi is fine for streaming media, but you trying moving a 10GB VirtualPC image or 4GB TV recording over WiFi and you’ll see how much faster/ reliable wired networks are.

Google Reader – Gears and List View

Shawn (the ADO Guy) pointed me to Google Reader last Summer and that spelled the end of my Blog Lines use. Both are web based readers, and ideal for reading RSS feeds at various computers. It remembers all feeds, and even what has been read from machine to machine, I used to waste time manually catching up in RSS Bandit when moving between my main PC, the Living Room laptop and work.

Be sure to read in List View, this way you can quickly home in on posts that interest you. I have over 100 feeds and Mr. Index Finger was getting pretty tired with the next button, I expected a whopping blister with the video game like rapid fire of next, next, next!

An irksome issue with online based services is they do not work on most planes, trains or automobiles as just like me they lose the plot when an Internet connection is taken away. If you have not heard, Google Gears is a new Google API that hopes to address this. So far Google Reader is the only application I know of to use Google Gears, and it does not support images yet. Interestingly Google Gears was a project conceived in an employees ’20% work on what you like time’. Please, please let someone else’s 20% now be looking at hooking up Gmail and Google Docs and Spreadsheets – these simplified my life albeit with another increased dependence on the Internet.