Day at the Office: Burndown on Ever Increasing Scope

When given a client who has a lot of work that needs to be done.. and as the work progresses, other ideas form, older ideas lose priority, etc – how does one show progress?  

The specific statement that spurred this was “You guys were supposed to be done N time ago”.  True, for the scope from N-1, the date agreed to was N.  How can I show you how things have changed since then?  How can we agree on when things will actually get done?

A Solution:  Add Months to the Burndown

image

What I started to do is keep track of work by when it was introduced into the queue.  Each month got its own mini-burndown.  In the picture above, pay attention to the spaces between the lines, not the lines themselves.  

I like that this graph shows:

  • That work is being done!     You can see work getting nibbled away from the top,  showing up at the bottom.
  • That I can calculate a velocity (slope of the green line)  — in fact, i can calculate a “slowest” and a “fastest” velocity.   Reality was somewhere in the middle.

An additional thing was to somehow show time taken by production issues – unplanned, un-estimated things.   Overall, quite slight – less than 10% of the project? 

Improvements

  • I tried to show work in progress on this graph; it was not useful.   I would not do that again; it would be better to have a mini graph showing ins and outs of things entering and leaving development.  If that was even needed.
  • I would probably put unplanned stuff not-stacked, so that changes in it could be seen easier.
  • If there was some way i could have the month retain its color on the “done” side, that would be awesome.  Then we would also be able to see “estimate vs actual” (the bottom part is all based on time reported, whereas the top stuff was based on estimates).

Before I let this post, I need to show it to the client to ensure that I’m not divulging too much information.

Kosair Charities “Bears On Patrol” Sighting

image

As I come in to work now, what did I see
Laid out on the side of the road
A mound full of Teddy Bears winking up at me
Laid out on the side of the road

image

It turns out this is the work of Korsair Bears on Patrol.  It’s a stuffed animal drive; collected by, in this case, United Health Care and Optium.  (see their names in the first picture on the sign). They started out at 700, then 4000, and this year it snowballed to 13000+.   Today was media day, media was arriving at 11:30, so they were trying to set the bears out to make for a better shot.  

image

imageBut it was really windy.   The plastic kept getting blown about.   They tried water bottles.  I raided my parking lot for larger stones of gravel.   Turns out, the solution was to dump more bears down on the plastic, like this boss is doing.   They said by the time all the bears get out there, they should have all the plastic filled up.  I might swing back out around lunch time to see that.

image

The lady said that they used to be in the first floor over in our building, but now they’re on the third floor, and its much harder than they first thought to move that many bears.  Never fear, the call has gone out to the rest of their company, and they’re getting the manpower together to get the job done.   She showed me a picture oh her phone of a fishbowl conference room – the kind with one wall being all glass – stuffed floor to ceiling with bears.  

image

The purpose of the bears:   The police officers and firemen keep them in their vehicles.  If they encounter a family in a distressing situation, with a child who needs comforting, out comes the bear to provide some luvvin’ in ways only a teddy bear can.

I love people, and I love people doing good things.

UnClogged 3D Printer: Part 5: Back in Business

We’re back in business!

The last time I had tried to print something, I noticed a bunch of smoke coming out of “C” in the diagram below.  And things were dripping too freely.  I had the thermister at position “A” below, just how its supposed to be.

image

Thanks to acquiring a digital thermometer capable of measuring temperatures up to 200C, I was able to read my own temperatures – and sure enough – Fred in this chart.  The real temperature in the barrel was much higher than was being read.  Why?  This makes no sense!

Well, luckily I had watched a video on how to put a print head back together, and it turns out that I had not looped some Kapton tape around the nozzle first, I had put the thermister directly on there, and then covered it up with tape.      I tried it the other way:  One loop around with tape, then the thermister, and then another layer of tape, yielding sample Barney.   (I also put the fiberglass insulation (tattered, but still in one piece) on it like they suggested.

Sample Thermister Location Temp (C) Reference Thermometer location Temp (C)
Fred A / Direct 130 C 170
Barney A / Kapton 130 C 125
Scooby B 130 C 125

Much better!   We’re in business.. almost.   While printing, the tape gave way and the thermister fell off. 

Why, I wonder?   My guess is that by having one loop of kapton tape, and kapton tape is a good heat transfer agent, it gets to sample the average heat from all around the nozzle, all around the thermister, rather than just one side of the thermister.  Or something like that.   Or maybe there’s just a bad spot on nozzle and I was unlucky.

I tried taping it back on 2 more times.  No luck.  I seem to have done something to the print head, the wires are shorter now, and after much cursing and screaming, I gave up.

Instead, I put the thermister in at location “B” – inside the fiberglass insulation, which held it snugly in place – and yielded sample Scooby.   We still seemed to be in business.   And here it is, printing:

image

The URL to the above camera is https://www.dropcam.com/p/sunnywiz, although there is no guarantee that it will be pointed at a geeky subject at the time this post posts.

(Those things in the picture, btw, are thingamabobs (technical term) that Jason needs in his Arcade machine build)

Yay! so now that its back to working again, what now?  Hmmm..

For future time historians, the list of all posts on the clog:   http://geekygulati.com/tag/3d-printing+clog/

Clogged 3D Printer: Part 4

Jason did a great job on the nozzle, but after I had it up and printing (nicely), i noticed a trail of smoke coming from the PEEK barrel.  (Why the heck is it named that?)

image

I think I have the barrel too far up into the PEEK thingy, and the heat is heading up there and melting things.

Also, with the thermister dialed in for 140, the plastic was dripping freely … i suspect that things are MUCH hotter than they are registering at the moment.

I might need a secondary source to determine real temperature.  I wonder if my IR gun can get close enough for an accurate reading.

Clogged 3D Printer: part 3

@jstill is the Man.

image

Here’s what he did to unclog the nozzle.

  1. Put it on the Grill, for a while, at 700 degrees or more.     At the end of this, it still had black stuff all over it.  (Much better than my idea of the oven.. no wife being annoyed at me for stinking up the house)
  2. Tried to remove the black stuff with ____ (I didn’t quite catch it) and Mineral Spirits.. didn’t work.
  3. Had a Eureka moment, realized it was all carbon, so he used Hoppe’s No. 9. Gun Bore Cleaning Solvent. A single wipe, and it all came off.
  4. ‘Tis beautiful.

I think for good measure, I’m going to pick up some guitar strings and run floss it as well.   Then put it on and test.    This time, definitely tighter on the barrel .. I think it was loose, when I removed it, there was filament where filament ought not be.

Excited. 

Dan!

Here be a picture of Dan with his head in his hand.

2014-04-25 16.53.50

This was done using a video of his head, broken out to frames.. etc etc .. and then an exacto-knife, and glue.  The head was rendered with 200 faces, and then further simplified (delete a bunch of complicated faces, fill holes).

Closeup:

image

I wish there was a way I could print this on plastic that would shrink about 5%, so that I could put a texture around a 3D print of the same thing.

Day at the Office: I’m Optimizing UX with SPEECH

Note: Say the title of this post in the same way as you would  “She Blinded Me With Science”

image

The Problem

The customer has a screen, which is used for data entry.  The source of the entry is various pieces of papers with scribbles on them.  On observing the person doing the data entry, what I saw was:

  • Look at paper to see WHO it was for
  • Look at screen to find the same.  Usually its the next one in order
  • Switch to Mouse
  • Click once to select the who
  • Click to select the thingies inside the who
  • Click the button to start the data entry for the who
  • Look at paper
  • Find the number
  • Switch to keyboard
  • Type in the number
  • Look at screen
  • Verify number
  • Press Enter to save
  • Look at paper
  • Move Hands to Paper
  • Mark Paper as done.
  • Move Paper Aside
  • Look at next paper.

Ouch.  We could do better.

Our (Final) Proposed Solution

I think its pretty cool, I don’t know yet if the user(s) will adopt it, but this is what we came up with.

  • User can keep right hand on numeric keypad, and arrow up to the first entry.  (they sort paper and computer entries to match beforehand)
  • Numeric / (on the keypad) starts entering for the currently highlighted row (even if it not yet selected)
  • As the data entry screen opens, the computer “speaks” the relevant info about what is being entered.  This is so the user can keep eyes on paper, while listening to verify that the right row was selected
  • Still keeping eyes on paper, user can type in the numbers on the keypad, and then press numeric + (on the keypad) to “speak” the numbers that were entered, for verification, if they want.
  • In case the user wants to look at the computer screen, we also made the window bigger, text larger, and used color to highlight the various corroborating pieces of information.
  • If all is good, user hits enter on the numeric keypad to save, and now the next row is highlighted.

Blocked

This is well and good, except, this is what happened in testing:

  • /  34.5 +  <enter> / 45 <enter>
  • When the user got to the second /, the hotkey did not fire.

I spent many hours trying to figure this one out.  Its complicated, I still don’t know the full answer, but it has to do with a DockedWindow, a control suite, a Busy indicator,  a Ribbon suite, sub-ribbons, and document panels, and when the modal popup went away, focus did not return to the correct window. 

Bottom Line: all my attempts to set focus were ignored.  Seriously.  I even bound a hotkey at the Shell level (the whole application) “F10” to fire code that should set the focus back to the correct window.. and.. nothing.

This problem also extended to any window.   Any window, when it first came up, did not have focus, so any hotkeys bound inside that window, would not fire.   Till it was clicked in.  Then it was okay. 

Hacked Solution

I could still capture hotkeys via the Shell, so this is what I did:

  • Shell catches PreviewKeyDown
  • Shell looks at current active docked window (since it hosts the dock control, this is easy)
  • If current active window implements IReallyWantKeyDownStuff, then call the YoHeresAKeyForYou(). (Names changed because i don’t have intellisense writing at home, but you get the idea).
  • My window receives this, and if it was Numeric/, then it fires the button that starts the data entry process

I used the same code to also wire some other hotkeys for some other screens.

Office Visit Still Needed

I hope to (soon) visit my client’s office in person, and sit down with the folks who would use this “enhancement”, and show them what I had thought.   As someone once told me, I have to be careful how many strings I have attached to this:  I have to be okay with them taking my awesome idea and putting it in the trash.  No strings attached.  So I’m blogging about its coolness now, in case its a flop, because right now, I think its pretty cool.

Time to focus on Weight again

I’ve been putting this off for a bit.

image

image

Numbers courtesy of www.fatsecret.com, using their app “Calorie Counter” in the app store, as viewed on their desktop web site.

It looks like I gain weight at a pretty set rate if I don’t watch my eating habits. 

Good news: It looks like I can loose it pretty fast, too.   Lets see if that’s still real.

Clogged 3D Printer Part 2

Well, we tried.  And its better.  But it ain’t fixed.

Here’s the first bits of print that came out of it.  You can see the dark stuff that was either the old filament or burnt:

image

However, the stream of filament coming out the end keeps varying.  Sometimes its good, and then other times it fizzles out:

2014-04-24 05.12.00

Conclusion: There’s something still clogging the bottom thing.    More work needs to be done.

3D Models.. from Camera to Paper

I’ve been playing with “structure from motion” / “photogrammetry” apps for a bit.  Lots of stuff still to figure out, but here’s a possible interesting path.   Note that none of this is optimal – wrong camera, wrong print medium, etc – but its fun.

1.  Start with a Video of walking around The Dude Abiding.

[youtube=http://www.youtube.com/watch?v=XkrIkdK0kjI&w=448&h=252&hd=1]
He owned the copy of Lebowski that I watched, so I associate him with the Dude

(His name is Joel, he’s one of my coworkers, he also teaches kids how to code)

2.  Using VLC, play then Shift-S to snap, then plan, then Shift-S to snap, to extract a bunch of frames.

2014-04-18 14_32_47-F__2014_3dmodels_joel

3. Load them into Agisoft PhotoScan ($179, or you could go 123D Catch from Autodesk, that one is free, but possibly less accurate?).   Run “Align Cameras”, get point cloud.

2014-04-23 16_27_44-joel.psz — Agisoft PhotoScan

4. Crop in the model box, hit Build Dense Cloud.  This is where it starts to look really interesting.

2014-04-23 16_28_03-joel.psz — Agisoft PhotoScan

5.  Build a Model .. Build Texture.  This is what the result looks like at “medium” resolution:

2014-04-18 14_32_30-Untitled_ — Agisoft PhotoScan (demo)

Not the greatest, but that’s because of the camera I used (video compression = artifacting = bumps) plus camera lens distortion etc.

6. However, that doesn’t work for what we’re doing next.  I don’t own a $10k color 3d printer.  So instead.. paper!

Build a model at lower resolutions:

2014-04-23 16_28_23-Build Mesh2014-04-23 16_28_49-joel.psz — Agisoft PhotoScan

Don’t forget to close holes! (tools menu) …  build texture…

2014-04-23 16_29_00-Build Texture2014-04-23 16_29_51-joel.psz_ — Agisoft PhotoScan

7. Export the model.  This is the $179 pay for step in Agisoft PhotoScan.

2014-04-23 16_30_16-Export Model - Wavefront OBJ

Note that this saves both a .JPG and a .PNG texture.  JPG on the Left.    I might be mistaken, but I think they were saved at the same time.   Actually, the .JPG might be the overall “build me a texture”, and the .PNG is the “export my model to wavefront”.   It’s a little freaky.

joeljoel

8.  Load the .OBJ into Pepakura.  $39, I totally plan to buy it.

2014-04-23 16_31_47-joel - Pepakura Designer 3

9. Unfold, and Print:

2014-04-23 16_31_55-joel - Pepakura Designer 3

10.  Print it out on cardstock, cut, and fold ..

I haven’t done this part yet.

These screenshots were from my second attempt.  Here is Joel holding my first attempt, which was 500 faces, a bit too complex:

2014-04-23 14.25.40