Scott Hanselman

Software and Saving Babies

June 10, '15 Comments [56] Posted in Musings
Sponsored By

I used to have a saying to put things into perspecive when things were getting really crazy at work and we were freaking out over the Daily Crisis:

Breathe. It's just software, we're not saving babies here.

Now, to be clear, if you ARE saving babies or working on software that does, for crying out loud, don't breathe and make sure you've got unit tests!

Baby Squirrel by Flickr User Audreyjm529 used under CC

But for the majority of us, we're not saving babies. We're not writing Mars Rover code. We're making insurance systems, shopping carts, the next Facebook or Uber, or just doing CRUD. Perspective helps. Sometimes you just need to go for a walk, take a vacation, or well, quit. You've got your health, family, and little else.

His father asked Ethan in a raspy voice, "You spend time with your son?"

"Much as I can," he’d answered, but his father had caught the lie in his eyes.

"It’ll be your loss, Ethan. Day'll come, when he’s grown and it’s too late, that you'd give a kingdom to go back and spend a single hour with your son as a boy. To hold him. Read a book to him. Throw a ball with a person in whose eyes you can do no wrong. He doesn't see your failings yet. He looks at you with pure love and it won't last, so you revel in it while it's here."

Ethan thinks often of that conversation, mostly when he's lying awake in bed at night and everyone else is asleep, and his life screaming past at the speed of light—the weight of bills and the future and his prior failings and all these moments he's missing—all the lost joy—perched like a boulder on his chest.

- Pines (The Wayward Pines Trilogy, Book 1)

It's cliché, sure, but sometimes clichés need to be said more. Wisdom is the comb you get when you hair is gone, right?

There's a post on Hacker News today called "I quit the tech industry" that you should read. The TL;DR is that working in software for money just wasn't working for this person. It wasn't feeding their spirit, so now they're going to try to make something else work. What a challenging decision it must have been, but at the same time, if something isn't working, why keep doing it? Perhaps it's burnout, but perhaps it's something else. More power to this person for taking care of themselves, and I wish them all the best.

How do you avoid burnout? How do you stay passionate? Sound off in the comments.

* Baby Squirrel by Flickr User Audreyjm529 used under CC

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web

Bad UX and User Self-Blame - "I'm sorry, I'm not a computer person."

April 24, '15 Comments [39] Posted in Musings
Sponsored By

You're evil, little man.In my recent podcast with UX expert and psychologist Dr. Danielle Smith the topic of "user self-blame" came up. This is that feeling when a person is interacting with a computer and something goes wrong and they blame themselves. I'd encourage you to listen to the show, she was a great guest and brought up a lot of these points.

Self-blame when using technology has gotten so bad that when ANYTHING goes wrong, regular folks just assume it was their fault.

My dad got some kind of evil "PC Tech Hotline" on his machine today because some web site told him his "Google was out of date and that he should update his Google." So he did. And he feels super bad. Now, in this case, it was a malicious thing so it would be really hard to figure out how to solve this for all users. It's like getting mugged on the way to your car. It happens to the best folks in the best situations, it can't always be controlled. But it shouldn't cause the person to blame themselves! He shouldn't fear his own computer and doubt his skills.

People now publically and happily self-identify as computer people and non-computer people. I'll meet someone at a dinner and we'll be chatting and something technical will come up and they'll happily offer up "Oh, I'm not a computer person." What a sad way to separate themselves from the magic of technology. It's a defeatist statement.

Get a Tablet

Older people and people who are new to technology often blame themselves for mistakes. Often they'll write down directions step by step and won't deviate from them. My wife did that recently with a relatively simple (for a techie) task. She wanted to record a lecture with a portable device, load the WAV onto the PC, even out the speech patterns, save it as a smaller file (MP3), then put it in Dropbox. She ended up writing two pages of notes while we went over it, then gave up after 30+ min, blaming herself. I do this task now.

Advanced users might say, you should get your non-technical friend a tablet or iPad. But this is a band-aid on cancer. That's like saying, better put the training wheels back on. And a helmet!

Tablets might get a user email and basic browsing and protect them from basic threats, but most also restrict them to one task at a time. And tablets have hidden UX patterns as well that advanced users use, like four-fingered-swipes and the like. I've seen my great aunt accidentally end up in the iPad task switcher and FREAK OUT. It's her fault, right?


This harkens back to the middle ages when the average person couldn't read. Only the monks cloistered away had this magical ability. What have we done as techies to make regular folks feel so isolated and afraid of all these transformative devices? We MAKE them feel bad.

There used to be a skit on Saturday Night Live called "Nick Burns, Your Company's Computer Guy" that perfectly expresses what we've done to users, and to the culture. Folks ask harmless questions, Nick gives precise and exasperated answers, then finally declares "MOVE." He's like, just let me get this done. Ugh. Stupid Users. Go watch Nick Burns, this is a 19 second snippet.

I basically did this to my own Dad today after 45 min of debugging over the phone, and I'm sorry for it.

I'm not a techie

When users blame themselves they don't feel safe within their own computer. They don't feel they can explore the computer without fear. Going into Settings is a Bad Idea because they might really mess it up. This UX trepidation builds up over the years until the user is at a dinner party and declares publically that they "aren't a computer person." And once that's been said, it's pretty hard to convince them otherwise.

Googling: Why are users so...and google recommends "stupid"

Even Google, the most ubiquitous search engine, with the most basic of user interfaces can cause someone to feel dumb. Google is a huge database and massive intelligence distilled down to a the simplest of UI - textbox and a button. And really, it's just a textbox these days!

But have all had that experience where we google for something for an hour, declare defeat, then ask a friend for help. They always find what we want on the first try. Was it our fault that we didn't use the right keywords? That we didn't know to not be so specific?

I think one of the main issues is that of abstractions. For us, as techies, there's abstractions but they are transparent. For our non-technical friends, the whole technical world is a big black box. While they may have a conceptual model in their mind on how something works, if that doesn't line up with the technical reality, well, they'll be googling for a while and will never find what they need.

Sadly, it seems it's the default behavior  for a user to just assume its their fault. We're the monks up on the hill, right? We must know something they don't. Computers are hard.

How do YOU think we can prevent users from blaming themselves when they fail to complete a task with software

Sponsor: Big thanks to our friends at Raygun for sponsoring the feed this week. I use Raygun myself and I encourage you to explore their stuff, it's really something special. Get full stack error reporting with Raygun! Detect and diagnose problems across your entire application. Raygun supports every major programming language and platform - Try Raygun FREE!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web

Creating exact 3D Models for 3D Printing with JavaScript and OpenJSCAD

February 1, '15 Comments [18] Posted in 3D Printing | Musings
Sponsored By

I have this 3D Printed Spool Holder on the top of my Printrbot Simple Metal 3D Printerl that looks like this:

Printrbot Simple Metal

It works great and fits my RioRand generic PLA Filament spool exactly. However, I went down to Fry's Electronics to get some filament today and all they had was small Makerbot spools. They were cheap, so I got two. When I got home I noticed that the hole in the spool is HUGE. It totally won't fit my spool holder.

This brings us to..

The Three Rules of 3D Printing

  1. All problems in 3D Printing can be solved by 3D Printing something
  2. The only things that 3D Printing people print is stuff to make their 3D printers work better.
  3. See rules 1 and 2.

So, I needed an adapter for my 3D Printer (which I have nearly a week of experience with, so fear me) and opened up to create it. Someone recommended Tinkercad as a great HTML5 website for doing quick designs.


I got lost in this app. I couldn't find a way to make two cylinders and simply center them within each other. You can nudge them around but can't center them against their own centers. I actually found forum posts going back to 2012 with members of the team saying "yes, we need that feature" but couldn't figure it out. It's a lovely app and my kids enjoy it but I feel like if you want absolute precision this may not be the place. Then I realized that perhaps this 3D Model was more of a math problem than a modeling problem.

Now I realize I'm biased, and I am a programmer, but with a small set of digital calipers and the excellent OpenJSCAD documentation I was able to create my adapter in just 10 minutes of hacking and just 7 to 12 lines of JavaScript (depending on how you count).

function main() {
return union(
cylinder({h: 40, r:26, center:true}),
cylinder({h: 40, r:15.5, center:true})
cylinder({start: [0,0,0], end: [0,0,24], r1: 52.5, r2: 26, fn: 50}).translate([0,0,-44]),
cylinder({start: [0,0,0], end: [0,0,24], r1: 32.5, r2: 15.5, fn: 50}).translate([0,0,-44])

From here I downloaded my STL (the 3D description of the object)...


I then ran it through the Microsoft 3D Model Repair Service (a good idea to make sure all your designs are manifold and watertight).


Then into Repetier and sliced into G-Code (instructions to the printer on how to move) and printed it with OctoPrint on my OctoPi.


I'm clearly not a 3D designer or modeler and I apparently don't have the patience for CAD tools that won't let me type in a direct number. I KNOW this should be 31mm in diameter, don't force me to use a mouse to "eyeball it." I was thoroughly impressed with the concept and execution of OpenJSCAD. Of course, OpenJSCAD is a JavaScript implementation of OpenSCAD, the "Programmers Solid 3D CAD Modeler" so I'll be exploring their software and amazing gallery as well! If you're creating anything with regularity that's more mechanical and less organic, OpenJSCAD or OpenSCAD is the way to go, clearly.

Sponsor: Big thanks to Amyuni for sponsoring the feed this week! Amyuni PDF Converter and Creator for .NET enables you to integrate powerful PDF functionality with just a few lines of code. Generate and process optimized PDFs with industry proven technology. Switch Now!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web

Changing perspectives on your job - Will you renew your boss for another season?

January 30, '15 Comments [33] Posted in Musings
Sponsored By
LEGO Stormtroopers on a Wire

Within a single week two different friends of mine called me to talk about their job satisfaction. One didn't like the project they were working on and felt that when they were pitched the job they were sold one job but ended up doing another. The other friend felt like review time each year was a Musical Chairs-type parade of employees and they were left wondering "Will I be picked again this year? Will I still have a job next year?"

This is such a challenge to talk about as some of you may be out of a job and looking right now, but some of you may be in a job and thinking some of the same things as my two friends.

I'm pretty happy with my job. I like my boss and my team. Remote work is a challenge sometimes, but we are doing some great work. However, I never assume my job is granted. I never assume "Hey, I'm Scott Hanselman, I refer to myself in the third person and have Google Juice, I can't be replaced or canned."

At the same time, however, I DO feel good about my work and I think I DO provide value to my company. Therefore, I've changed my attitude about Annual Reviews. This isn't just the company's chance to review me, it's also my chance to review them.

Do I still want to work there?

My wife and I have been married 15 years. The joke is "She's decided to renew me for another season," just like TV ratings. Well, the Annual Review is my time to decide if *I* want to renew *my Employer* for another season. This is a small brain trick, or trivial change in thinking, but changes in thinking are the first step in changing your world view.

It also reinforces the impermanence of employment (and tech, and life, etc.) and makes it OK to broach the question. Do I still want to work here? And if you DO decide to "renew your boss for another season," remember you don't have to stay there forever.  One season at a time, while it feeds your spirit. When it stops, you should stop too.

This helped my two friends, and I wonder if it helps you, too.

* LEGO Stormtroopers on a Wire by Pedro Vezini, used under Creative Commons.

Sponsor: Big thanks to Amyuni for sponsoring the feed this week! Amyuni PDF Converter and Creator for .NET enables you to integrate powerful PDF functionality with just a few lines of code. Generate and process optimized PDFs with industry proven technology. Switch Now!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web

The Basics of 3D Printing in 2015 - from someone with 16 WHOLE HOURS' experience

January 27, '15 Comments [44] Posted in 3D Printing | Musings | Reviews
Sponsored By

Printrbot Simple MetalI bought a 3D printer on Friday, specifically a Printrbot Simple Metal from Amazon for US$599. I did a few days of research, looking at all the consumer models under $1000. Some were enclosed, others not. Some made of wood, some of plastic.

I selected the Printrbot Simple Metal because the reviews consistently said it was physically well made, rock solid, didn't require me to buy filament from the printer manufacturer, and Printrbot offers a number of updates like a heated bed and other attachments. I have the sense that this printer is basic, but flexible and expandable.

I've been using this printer now for basically 16 total hours over a few days, so we'll call it two days. I went through a number of emotions over this last two days an learned a TON, some about the Printrbot Simple Metal specifically, but also about 3D Printing in general.

Here's my 16 hours laid out for you, Dear Reader, so that you might save this time that was stolen from me. ;)

Disclaimer: I know jack squat about 3D Printing. If you're reading this, it's more likely than not that you know little as well. Any mistakes here are my own, but I hope my learning process helps you in your 3D printing journey.

Each hours includes an emotion and a lesson.

Hour 1 - Anticipation

Lesson 1: 3D Printers do not just work out of the box.

It's a hobby, not an appliance. Yet. There's a LOT of art to it, in addition to all this science. There's a million acronyms to remember. Here's the ones I've found useful.

  • PLA Filament - "Polylactic acid (PLA) is a bio-degradable polymer that can be produced from lactic acid, which can be fermented from crops such as maize." It's the basic starter plastic you'll use. It's harder than ABS and melts above 180C.
  • ABS - "Acrylonitrile Butadiene Styrene (ABS) is a commonly used thermoplastic as it is lightweight and can both be injection molded and extruded." It melts over 200C and should be used in a ventilated area.
  • JsCad and OpenJSCAD - It's JavaScript for CAD! Lets you design stuff procedurally like a programmer.
  • STL - Standard Tessellation Language. It's the most common format you'll find as you look around for models of things to print.
  • G-Code - RS-274, a numerical control (NC) programming language. It's the "Assembly Code" for your printer. It is ASCII and uses control codes to tell your printer what to do. You'll take STL which is generic 3D and combine it with your specific settings and preferences to create G-Code that is the instructions that will be sent to your 3D printer.

3D Printers are like those cake decorator pipings. The 3D Printer pushes hot, molten plastic through a tiny tube in layers to make a real object just like a cake decorator pushes hot sugar through a piping tube to write Happy Birthday.

3D Printing is like Cake PipingCake Piping is like 3D Printing

Hour 2 - Annoyance

Lesson 2: 3D Printers really need to be calibrated.

The most important thing I've found is the "Z-Stop." Basically, you need to make sure that when your Printer's Head is at X0 Y0 Z0 that you can just barely fit a piece of paper between your extruder nozzle and bed.

The most important part of any print is the first few layers. If you build a good solid base for your 3D print then it will at least have a chance. If something goes wrong in the first few minutes it's not going to get better. Cancel the print before you waste more time.

I also found this list of tips useful: 10 Rules for top notch prints with your Printrbot Simple.

3D Printing Animated Gif

Hour 3 - Frustration

Lesson 3: 3D Printers are persnickety.

They are easily affected by the environment/temperature/your mood/Mercury in Retrograde. Cold garages aren't a great place for 3D printing as cold plastic is hard plastic and that breaks easily.

Temperature control : each filament has an optimum temperature for its extrusion. If you do not know, a value between 190 and 210° Celsius (374°-410° Fahrenheit). Start at 190° C and adjust the temperature according to the behavior of the filament: Shiny, too hot, Dull, not hot enough. Find balance.

Early on, expect only 1 in 4 or 1 in 5 prints to be useful. Fail fast, fail often. When you do have a failed 3D Print, write down your settings and compare it to previous prints.

Have a clear, solid table, find your place to print, and get organized.

Where I 3D print.

Hour 4 - Resentment

Lesson 4: This freaking piece of crap is incapable of producing anything other than a molten pile of crap.

Learn about how there's different kinds of support mechanisms to sit under and support your model. There's Rafts, Skirts, and Brims and they all have different uses.

3D Printing often requires a base

When in doubt, check your 3D Printer's Skirt.

Hour 5 - Disgruntlement

Lesson 5: Documentation for 3D printers is spotty because the tech changes every few months.

Collect links and compare notes. Start small. Don't print something massive (as I tried to, which made me more angry), print something tiny. 10 minutes max, then try again, change a setting. See what happens. There's a "calibration cube" file you can use.

The docs for your printer are useful, but you'll find even better information on Reddit but most of all on YouTube. There's a million great videos showing different techniques. Start by subscribing to Tom's YouTube Channel and go from there.

Hour 6 - Unfulfillment

Lesson 6: The first half-dozen things you print will be parts and improvements to the printer.

You'll wonder why it didn't come with all these things. There's no filament spool, no feet for the printer, no where to mount extra stuff. Fortunately for every problem I've had, there's someone on the Thingiverse 3D website that has had the SAME problem AND designed a part for me to print out.

My first "fix" was to print this small filament guide. A tiny victory, but still unfulfilling.


Hour 7 - Vexed

Lesson 7: Getting the filament to stick to the base will be your primary challenge without a heated bed. Ideas 'solutions' abound.

Whenever you have a problem with your 3D printer you will go and Google with Bing and find others with your problem. The 3D Printing community (in my 16 whole hours in it) is super nice. Everyone wants to help and share.

ASIDE: I LOVE ThingiVerse, it's like Wikipedia for stuff, and it's all Creative Commons. Share and Share Alike. I'm here.

However, when you search for your problem there are one of two things that will happen.

  • You find someone just like you with the same software and same printer and they SOLVED IT AND THEY HAVE THE SOLUTION THERE FOR YOU TO USE.


  • You find someone just like you with the same software and same printer and they NEVER FOUND THE ANSWER AND THIS QUESTON WAS ASKED IN 2009AND YOU WILL ALWAYS BE ALONE.

So. Ya. Be ready.

Hour 8 - Chagrin

Lesson 8: 3D Printing can take HOURS. Like, hours. Many hours. And then halfway through you'll bump it and start over.

But, while you're waiting for things to print, there are some amazing websites to explore, like You can write JavaScript (you know JavaScript!) to describe the things you want to build.

Here's a cool example. Sometimes you'll find JsCad files and you'll want to turn them into STL files, then eventually GCode files to be sent to your printer.

function main() {
return union(
cube({size: 3, center: true}),
sphere({r:2, center: true})
sphere({r: 1.3, center: true}),
cube({size: 2.1, center: true})

Go and explore the relationship between STL and G-Code. Get the basics of G-Code in your brain. Remember typing "ATA" to answer your modem manually? No? Well, you had to do this back in the day, young lady, and it was magic. G-Code is just like typing ATA or ATDT to your modem, except it's instructions for your 3D Printer.

For example, my Printrbot was locking up at the same place during a print. I had no idea why. Rather than accepting the system is a "load a file, print, and pray," I looked at the G-Code and saw it was turning on a Heated Bed. I don't have a Heated Bed. I commented that part out and my print finished. Stuff like that will save you hours.

Hour 9 - Triumph

Lesson 9: Think about your printing area. Consider how your filament will feed into your printer and make a filament holder.

The Printrbot SImple Metal doesn't come with any formal way to feed the filament spool into the printer. I ended up having to move it every few minutes. After a while I used a broomstick and put the spool on it horizontally. Then I got sick of it and printed a Filament Spooler from Thingiverse to put on top of the printer. This was EPIC. This was my "I can do it" moment.

It was rough, and it broke off with just a few layers left, but it WORKED. It fixed a problem I had. Boom. I think this is going to be OK.


Hour 10 - Bitterness

Lesson 10: I didn't notice that all the printing and shaking was literally causing the printer to shake slowly off the desk.

In my last print the piece shook itself off the print bed. 4 hours almost wasted. I was able to use some sandpaper and fix it, but for a few minutes there I was pretty upset. Watch for things like shaking and look for solutions. I printed a set of feet and put rubber bases on them.

Hour 11 - Rage

Lesson 11: Remember what I said about heated beds and stuff sticking to the base?

It hurts even worse when it breaks off and is thrown across the room and you're left with a pile of hot plastic spaghetti. I've decided I want to upgrade to a Heated Bed at this point. This $99 attachment will keep the bottom of the model warmish and pliable so it doesn't warp as it cools. It also helps keep it stuck to the base.

Before this Heated Bed shows up, here's some things you can try to help prevent peeling of your 3D print:

  • Glue Sticks - Get the Purples ones that dry clear. 99 cents.
  • Blue Painters Tape - Required. Don't print directly on the bed. I put my tape lengthwise and I'm sure NOT to over lay them. Make it FLAT.
  • Nail Polish Remover - Smear this over the tape with a cloth. I dunno if it works, and it stinks, but folks swear by it. I'm still testing it myself. Seems to do SOMETHING.

Also consider how thin/thick you're printing. I found that 0.2mm was my default, but for my current setup was hard to keep flat on the non-heated bed. I am having more success with 0.4mm, although the quality is less. There IS a setting that will work for your setup.

Avoid being near a vent or the AC. Cool air being blown inconsistently in a room can affect a print. I like to keep it toasty. Gotta get that Heated Bed soon. Damn these expensive hobbies that make you buy stuff after you just bought stuff.

Hour 12 - Heartened

Lesson 12: Use OctoPrint. It's amazing, it's brilliant, it's everything.

I started using the Repetier software that Printrbot recommends to load up STL files. These 3D models are then "sliced" with your choice of slicer software. The slicer is the thing that takes the 3D concept and makes it a series of G-Code instructions that will be fed to your printer. However my Printrbot would freeze up and I'd have to manually press OK in the Repetier software. I found lots of people with this problem, some fixed it with new USB cables, some never did. For me it came down to deciding NOT to use my Laptop as a print serve for 3 hour prints. If my 3D printer isn't wireless, well, darnit, I'm gonna make it wireless. So...

Hour 13 - Satisfaction

Lesson 13: Hook up a camera to OctoPrint so you can safely leave a print going while you go about your business.

As I read and absorbed, I found lots of references to OctoPrint as something I should explore. However, my Printrbot recommended software called Repetier and I didn't feel like setting up more software to get this thing to print, so I wasted a few hours NOT installing OctoPrint. This was foolish of me. Let me save you some time now. If you're not using OctoPrint you're in for a treat. Take the time.

Turns out since I had a Raspberry Pi and a spare Webcam lying around, this setup only took me 30 minutes. The basic idea is that rather than using your computer as a Print Server, you use a small embedded system. This can make your 3D Printer wireless!

What you do is this:

  • Get a Raspberry Pi B+ or newer and a fast Class 10 SD Card.
  • Optional: A cheap wireless USB dongle. I got this Edimax and it works great. Got two actually just in case.
  • A 1A or greater micro USB power supply. I used a Samsung phone power supply.
  • A USB keyboard (not wireless) temporarily.
  • A Logitech or Microsoft USB Camera.
  • Use Win32DiskImager and install OctoPi to the SD Card. Boot off the Pi, expand the partition to fill, optionally setup the WiFi on the PI, and you're set.

This little Raspberry Pi is now running my 3D Printer. Watch this wonderful YouTube by Tom who explains setting up OctoPrint on a Raspberry Pi better than I.


I hit http://octoprint.local and BEHOLD. I've got a nice bootstrapped website where I can see and control all aspects of my 3D Printer AND see the print via either my USB Webcam or a Raspberry Pi Camera.

OctoPrint is glorious

Now I can use my iPhone or Tablet to watch my print and shut it down if something goes around. No more babysitting!

Even better, you can setup OctoPrint to create cool Time-lapse videos of your 3D prints.

Hour 14 - Reassurance

Lesson 14: Maybe it will be OK. Why was I so angry early on?

I need to chill and 3D print some stuff. After a while things are starting to make sense. I'm still an unranked amateur but I'm one who can write this giant blog post, so I musta learned something.

I also learned that Ii t turns out that Windows 8.1 has support for 3D Printers built in. I didn't have to install any drivers, one was already on my machine. There's also a 3D Builder app in the Windows Store.

Here's the apps I've been trying and using:

  • 3D Builder - Can model, slice, and print.
  • Autodesk 123D Design - Free and for Windows, Mac, and iPad. Stores your designs in their cloud.
  • Repetier - Loads STL files and can launch a Slicer to make G-Code, then send the instructions to your printer.
  • Cura - A very well-thought-of slicer. You should explorer different slicers as you gain experience. These slicers have different algorithms, and some are smarter with different kinds of shapes. Some are focused on reducing "travel" (how far the print head moves) or minimizing your use of filament. Others are great at setting up "supports" for when you have a piece floating in mid-air, as I do in the pic below. That side bit will need a small temporary support to hold it up. I'll remove it later.
  • OctoPrint - YES. DO IT. It's the best app to manage your G-Code and your printer. Model with whatever you want, but print with OctoPrint.
  • Tinkercad - Do your 3D modeling all in the browser. Great for kids.

Also check out Jon Gallant's blog as he's on a quest for the perfect 3D Model Software. Here's his list so far:

Here I'm working on a holster for my Dyson Handheld Vacuum. I have a DC56 though, and this is a DC34. It's close...but, not quite.

3D Builder

Hour 15 - Encouragement

Lesson 15: In which I take a JsCad into a STL then into G-Code and successfully 3D print.

I made a Dyson Holster. I AM POWER.I want a holster for my Dyson Vacuum so I found this DC34 Wall Charger holster/holder. In this comments of this other model on Thingiverse, I saw someone modify the JsCad for the design to add a little room for the DC56 over the DC34. However, it was in this JsCad format.

  1. It took me a second but I realized I just needed to take the original JsCad file (remember this is JavaScript that expresses a 3D design), open it in Notepad, and change the parameters with the new measurements.
  2. Then I ran my new file through the OpenJsCad parser online.
  3. I took the resulting STL file and loaded it into Repetier and sliced it with Cura. This made a G-Code file that's MY custom instructions with my preferences.
  4. I then loaded the G-Code into OctoPrint and printed.

Here it is. Now I'll mount it to the wall and check that off my Bucket List. What should I print next?

Hour 16 - Power

Lesson 16: You can do this. I can do this.

It will take days, perhaps weeks, but you'll have a satisfying new hobby that will make you more powerful than before.

OK, so I can't just print all the free LEGO I want whenever I want. (I would never do that, I respect the LEGO Group too much.) I mean, I can't just make stuff on-demand. Yet. But I can solve some small problems and I am learning. I'm getting better. Each print teaches me something. I'm MAKING physical stuff with Software. This must be what Woodworkers and proper Handypeople feel like.


  • Is 3D Printing ready like Inkjet and Laser Printers are ready? Nope.
  • Is 3D Printing ready like Microwaves are ready? Nope.
  • Is this Plug and Print? You'll need a few hours, days, weeks. Hopefully I've saved you some time or at least helped you decide if you want in.

But I bet in 3 to 5 years I'll be able to buy a solid enclosed reliable prosumer 3D printer for $599 from Office Depot, bring it home and have it just work. I'm stoked and I am happy with my Printrbot Simple Metal even if I don't get any further than I have after these last 16 hours.

What do YOU think?

* These are Amazon referral links. I use the few bucks I get if you buy stuff from Amazon to buy 3D Printer Filament! ;) Click click!

Sponsor: Big thanks to Amyuni for sponsoring the feed this week! Amyuni PDF Converter and Creator for .NET enables you to integrate powerful PDF functionality with just a few lines of code. Generate and process optimized PDFs with industry proven technology. Switch Now!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web
Page 1 of 132 in the Musings category Next Page

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.