Shapeways: Color Sandstone Dan

Its here!

image image
 

[youtube=http://www.youtube.com/watch?v=BwftC16fRmc&w=448&h=252&hd=1]

I was impressed at how well it was packed:

image

That’s some kid of primo bubble wrap where the air pocket extends across multiple cells; so any one cell receiving a blow.. it does NOT pop. 

It cost me $8.50 + $6.50 Shipping and handling.

The process to put this together, roughly:

  • Create a Hi-res and a low-res model (500 faces or so) from AgiSoft
  • Fix any glaring problems with the low res model
  • Add a Subdivision Surface modifier to the low-res model in Blender to give it back some curves, while retaining a simple geometry that you can edit by hand.
  • Toggling back and forth between high and low, add cuts and edge creases to get the shape correct.  (Usually: Ears, Nose, and Mouth; perhaps Eyes)
  • Export the subsurfed model back to Agisoft for texturing; then back to blender for sizing, and sending to Shapeways.

There’s an additional step around making holes to remove material; I will explain that more on the Lamont model next week.

Seiki 39” 4k TV as a Monitor

Those are 22" monitors on either side Keep in mind that this is 2014; this is the first generation of this monitor; that being said:   I would not recommend using this as an all-day development monitor.

The exact item:  Seiki Digital SE39UY04 39-inch 4K Ultra HD 120Hz LED TV.   When it dropped to $405 on Amazon, I jumped at the possibility of using it instead of a portrait 1080p as my main coding window.   (Side note: I used CamelCamelCamel to track the price)

It arrived, and it turned out I didn’t have anything that could drive it.  I went out and purchased an NVidia 700-level card which had HDMI 1.4 outputs on it.. hooked it all up.. and..

It is HUGE.

Panoramic View And it is Painful. 

Problem #1: Refresh Rate

I could not tell at first what was “not right” about it.   Eventually, i figured it out – as can be seen from this video:

[youtube=http://www.youtube.com/watch?v=yf4Op9UspbE]
Low Refresh Rate

As I move a window around on a different monitor, the motion on this monitor lags behind.  It might be due to the refresh rate – or it might be due to some kind of latency – but the effect is about the same as using a PC over a somewhat laggy (100ms?) remote desktop connection.   [Edit – actually, its more like remote desktoping into a machine, and then running a VM which does not have client tools, and then trying to use that VM.  The annoying bit is that I try to move the mouse to a certain spot, but I keep over/undershooting]

The problem is due to HDMI 1.4 only being able to handle a 30hz refresh rate at 4K resolution.   HDMI 2.0 would fix this – but this TV does not support it. (yet?) It looks like DisplayPort would handle it, but the TV did not have a DisplayPort input either.

Problem #2: Sheer Size

I am used to snapping a window to full screen, left, or right.

With the right software (Winsplit Revolution), I can snap a window to various parts of a 6×2 quadrant as well.

Either way, snapping windows on this monitor did not work for me.  The only place which felt “right” was snapped to the middle column in the monitor – everything else was too far away, too high, or too big.  I would have to physically move my keyboard to once side of the monitor or the other, to focus on a window that was snapped there.   (Given, I have progressive lenses, and pretty bad astigmatism; perhaps younger eyes would not be troubled as much)  

Floating Windows in a Desktop SeaInstead, the solution was to revert to non-maximized, non-snapped windows – keep each window as small as you can get away with, and they all just “float” in monitor space.  The monitor truly is big enough for it. 

Problem #3: Bifocal Nightmare

I have bifocals.  Actually, no, I have progressive lenses .. the limit as number of focals approaches infinity.    With my bifocals on, I could NOT crane my neck up high enough to actually focus on the top of the monitor, from a 3 foot distance or so. 

So, I switched to my computer glasses.   Single focal length across the entire frame.   It mostly worked, except.. the left and right sides of the monitor – were far enough away – that if the center was in focus, then they were not.  The monitor really is that big.

Watching 4k Video on YouTube

Wildlife in Ultra 4k – The picture was amazing.

Elysium Trailer – Fail (for me)

Once again, the 30hz made it pretty unbearable.  However, I have this same problem at most movie theaters as well – whenever a camera pans, I can see individual frames, it is not “smooth motion” for me.   I might just be defective.

Conclusion

Don’t buy one … yet.  Not till there’s a way to do 4K at 60Hz into it.  Or if you are going to, first spend a day as follows:

  • Bring your refresh rate on your 1080p monitor down to 30hz, and leave it there for the day.
  • Move your monitor away from your normal line of sight – to about 45 degrees away from where your keyboard and mouse “face”.   [Edit: don’t point it at yourself!   Leave it angled away from your line of sight.]
  • Change all your fonts to be really small.  Really really small. 

If you can live with these things.. or if you have a need to work with really large excel spreadsheets, which this was a BOSS at), then go ahead and buy one.  For $400, its pretty awesome.  

I’ll be shipping it back on Wednesday (after the snow storm).  Back to just 3 monitors for now.. with the middle one in portrait mode.   I’ll live.

Projects, Learning, Left Behind

I spent the evening scraping wallpaper off a wall and listening to Hanselminutes Podcast: What do Web Developers Need to Know in 2014.   It got me to thinking of my life, my life balance, and what I could do to improve.

Which Project?

My ideal situation would be to spend time building a meaningful project in a technology that I want to learn.  Unfortunately, a “meaningful” project = a “useful” one, and it would take far too long to write something useful.   (And by long, I mean more than the 3-4 hours I have available in a week).  The projects, in case anybody wants to tackle them, are:

  • A “Burndown” tracker:  Tasks break into smaller tasks, assign cost/weight/left at the leaf levels, keeps track of growth and shrinkage as requirements change, and can track current completeness level.    For use in larger corporations where the estimate is “locked”, the ability to lock something down so it always is in the same units, but the % changes, even if the underlying components grow and shrink.
  • A “Choreban” board:   Like a Kanban board, but tasks have the ability to rewind/repeat, and you can control their buoyancy – how quickly they float up to the top of the priority list.    3 days past due on Cat Litter is way worse than 3 days past due on Grass Mowing, if you know what I mean.

Which Technologies?

There’s also the list of technologies to play with.   Thanks to my wonderful workplace, my wish to work with WPF has been fulfilled; I can cross that off my list; however, I find myself lacking in / desire to get experience in:

  • Using a Grid system for a web site / styling (Bootstrap3)
  • Using some of the JS frameworks out there to write a single page app (Angular, Knockout)
  • NoSQL
  • Some kind of Cloud deployment – Azure or otherwise
  • Some kind of system with scale – OpenID to log in, lots of users, lots of data.

I crossed out NoSQL, because after listening to Martin Fowler’s talk on it, I realize, it would take a very special problem area for me to find use for one.   Neither of my two projects listed above make for good candidates, other than perhaps, “everything this user uses in the system.”     Which would be trivial. 

When?

Ah, herein lies the rub.  Here’s my life, in a nutshell:

  Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Morning paycheck paycheck paycheck paycheck paycheck Friends Wife
Afternoon paycheck paycheck paycheck paycheck paycheck House Wife
Night   Mentoring++ Wife Gym Recovery play Recovery

Note what is not in my life:

  • I don’t watch TV
  • I don’t play computer games (at the moment)

The table above is not high enough resolution to show that on most nights, my “productive” night finishes at 9pm, and I consider 9pm-midnight to be my “play” time.  Tonight, I’m using my play time to write this post. 

I could push myself extra hard, and … no.  Not going there.   I am currently working at about capacity – pushing myself harder is not doable in the long run.   I love that I get to spend time with my own beautiful Wifeling.  I love my Recovery meetings.  I’ve actually scaled back running a lot, to basically once a week, for the rest of winter.   I need space to rest, recharge, play, etc.

I should state that my workplace allows for 4 hours of “self directed project” time.  Yet, I find myself unable to use it reliably –  My “best” output in a day is about 6.5 hours of coding, so I end up working all 5 days of the work week, and not being able to fit in the self directed project.  I’ve tried like heck to raise that number – actually, at my previous job, my best days were about 5 hours of code (and probably 4 hours of meetings) so I’ve definitely made improvements – but no cigar.  My brain can only do code for about 6.5 hours in a day.   If its a really juicy problem, i can get to 7.5, but then i become less useful the next day.  When I hit my limit, I stop billing

(I am slightly jealous of some of my co-workers.   They have this, “sustained focus” – they can work on the same thing for many hours.  I, on the other hand, have this frippin “squirrel brain”.  I wish it were not that way, but this is what I have.)

I highlighted the Mentoring thing above, because what I could do is go downtown, do the mentoring thing from 6 to 8, and then hang out at the hacker space and use that as “project” time – to work on some of these projects.  As long as I get the garbage taken care of on Monday night (Tuesday night is normally garbage night), that should work.   I might try that.

Priority

Ah, but if I have a cool little project to work on .. my wife just came up with an idea .. that is where my creativity goes.  Not programming, unless the programming is directly related to the project (it would involve some coding on OpenScad, and maybe some work reading in a picture and getting to the pixels)

The Reality

Its not going to happen.  (It being, working on using these new technologies in a side project).    There’s not enough time to make a project useful, and there’s far too much good stuff going on in my life, that I’m not willing to set aside to spend the time on this.  

Instead, what I will do is, continue to learn by watching – being aware of what is out there (queue: we do something at work called “BrainNom” where we gather with lunch and watch instructional screen casts on a variety of topics.  This next Monday is Bootstrap 3, and Angular should be coming up soon), and rely on a work project coming up which needs those skills – at which time I’ll develop exactly those skills that are needed.

My True Skills

#1: My ability to pick up on patterns and knowledge very quickly. 

#2: Deciphering what people need, and being able to convert those into plans for what the software should do.

#3: A good eye for overall simple system architecture, component reuse, data-flow, and effective UI.   (Note I said effective, not pretty.  My UI is not pretty).

These, and not my technical-prowness-of-the-week, are what make me valuable. 

Samsung 700T Windows 8 Tablet Review

image A few weeks ago I purchased this device from a coworker, used.  He probably paid around $1400 for it, I got it at around 50% off; he was upgrading to something that was more “artist-techy”. 

I love it.

It does have its problems.  I’ll get to those in a bit.  However, here’s how it does work for me:

  • It is a full laptop.  Doing class work for TeamTreeHouse.com?  Not a problem.   My version: 
    • i5 processor
    • 120G SSD (fast!)
    • 4G of Ram
  • The display is a wide-screen format, so when watching movies on Netflix, they appear larger than on the iPad (which is a 4:3 form factor, thus the movie must be shrunk more)
  • When using the supplied pen, thanks to near field technology, I can actually hover separately from a click, which is a distinction I do need to make in a lot of my work.
  • The Keyboard that it attaches to, I like the feel of.  There’s a nice click resistance to the keys, and they are spaced nicely; the buttons make sense.
  • When using the keyboard, the keyboard works as a stand for the tablet; I do not need to prop the tablet up separately.
  • A full 1080 display for All the Pixels.  
  • Fully works as a RDP Terminal into work.  
  • I am loving the touch.  There are many things which I used to use mouse or keyboard for, that I now find myself doing with touch – such as, scrolling, clicking into text fields, zooming in to get a good look at something.  
    • There is a built in stylus that becomes pretty handy when I need to get hi-res with the touch.
  • Decent battery life.  Well, for me, that means >= 2 hours.  For others, that would be a joke.  Right now its saying 5 hours left, but I wouldn’t trust that.
  • I did not have much trouble undertanding the gestures.  They do make more sense with touch than with a mouse.   However, I had also played with windows 8 back in the RTM timeframe, so I had a head start. 

Comparing it to my iPad:

  • I am not afraid to create.  Like, for example, writing this blog post.   I would not try to do it on the iPad.  It might be possible.. but little things like, how do I get a picture of my cat into the blog post, would be vexing.
  • I already mentioned the superior screen for watching movies.
  • The iPad can kinda-sorta multitask.. but lets face it, when its trying to load a web page, you do not jump away to a different program.  This one – not a problem.  Something taking too long, run a different app, no big deal.
  • The iPad does have (much) better battery life.   I don’t even think about charging it except maybe once a week.  This one, I charge daily.

Caveats:

  • Something is broken in Chrome.  I cannot use touch to do most things, in chrome, on this laptop.  I can use hover-and-click via a near-field pen.   I do not have the same problems with FireFox or IE, amazingly.   Several other folks have reported this problem.  I find this annoying, as my “default” setup is to use Chrome for personal stuff, Firefox for work stuff, and IE as the “test” browser for whatever website I’m working on.  I’ll probably start using IE as the personal browser on this tablet.
  • I do use it more as a laptop and less as a tablet.  When I enter tablet-world, I find that most of the apps are less-than.  For example: What, no official YouTube app?  I had to download MegaTube instead.   Browsing for interesting apps in the Windows Store is a joke.
  • The high-resolution screen combined with a small screen = very small and hard to read stuff, sometimes.  I’ve had to increase font sizes.  Then again, I am also getting older. 🙂

If things go as planned, I should start doing some python or Ruby coding on this device; might even install the Visual Studio Express stuff.   That will be another report.

I have also not yet used the USB ports, or the Micro-SD card reader, or the Mini-HDMI port.  I assume they will work correctly when I get around to using them.

I will leave you with some artwork I created using FreshPaint:

image

Code Louisville 2.0, Shelving Various Things, New Tech

Tonight was my first night of mentoring at Code Louisville 2.0.  I don’t know if I’d mentioned it before; I volunteered to be a mentor in a program that the city is putting together.  The City’s viewpoint is, we need more skilled IT people (there’s a shortage).  My viewpoint is, I get to help somebody who wants to learn, to learn something, is good with me.

It went pretty well.  The program is using Treehouse for the source of instruction; the Louisville Free Public Library made a deal with Treehouse to make it available to all library patrons.    The quality of the instruction is pretty decent, and it takes the stress off me for being a source of instruction.  Instead, i just need to share my experience with folks.  Some of them are right at the level of the instruction, some are much more advanced.  It keeps it interesting.

To keep the mentoring / labs interesting, I’m trying to do a mini version of a standup at the start, and then circulate amongst everybody to keep things personal.   I’m trying to keep a live document editable by all going as class notes / links / what did we decide.  I hope its a good example for them, of how to use technology to collaborate.

As a result, though, I’ve had to shelve my architecture build.  I simply don’t have the 4-6 hours it would take for me to go to LVL1 and print out the 3D parts of my house model.  Each part.   Times 8 parts.   Times 4 levels.  Without being a hog.  

My current geeky project inventory:

  • A family project: old 35mm slides converted into slideshow project for delivery at Thanksgiving (where I’ll record everybody’s commentary about what the slides were about)
    • I need to find decent screencast recording software that will let me create a DVD later.  I think I’ll be trying SnagIt.
    • Planning on using Picasa as the presentation vehicle.  My wife has already scanned in all the slides from the negatives.
  • One more birthday song, for my stepson, coming up in December
  • One last soccer banquet slideshow, as requested by one of the kids I know.  He’s a good kid, and yes, I’d be honored. To be delivered probably late November or early December, i don’t know yet.

I’ve also had an infusion of new tech into my life:

  • Samsung_ATIV_Smart_PC_Pro_700T_35511640_06_610x436[1]A Samsung 700T that I got off a co-worker at about 50% of the list price.  This is a Windows 8.1 (thanks Anthony!) tablet device with a keyboard that makes it pass off as a laptop pretty well.  I’m writing this blog post on it.   However, while in tablet mode, the near field pen thingy works perfectly.  It even does the “hover” thing that mice do, that I really miss on the Apple.    And I’m getting used to the flexibility of reaching up and touching instead of trying to force the mouse to get to a certain spot on the screen.
  • A whole house water pressure regulator to cap water pressure at 75 psi.   What was happening was spikes up to the 150’s, which caused the pressure relief valve on the tankless water heater to dump scalding hot water onto the concrete basement floor.

Running wise, I (barely) ran my last half marathon of 2013 (time: 2h48m).  Due to a calf injury, i could not train much – my longest run the month prior was 5.5 miles – but thanks to Mr. Calvin Spears of Occupational Kinetics, I got put back together.  They also used a cool app – it seemed to be called SparkLines, but i can’t find it anywhere – to measure me while I was running, and detect that my form is lop sided when I’m in my right foot.   Good stuff to know.   They also say they can make me faster. 

My running schedule is currently clear of all races.  I intend to sign up for the Polar Express series (3k, 4k, 4mi) which runs Dec-Jan-Feb, as a way to have a goal to stay in shape over winter. 

Torn

Last Tuesday I went to http://openhack.github.io/louisville/.

I might have been the only guy who would profess to knowing .Net there.  I felt out of place.

A guy from the other group, http://www.meetup.com/Lean-Startup-Circle-Louisville/ came over and asked if anybody knew C#.  I raised my hand.  I’m glad I helped him.  But it also felt like I revealed myself.. a .Net developer amongst a community of Ruby, Rails, Java, etc..

Its probably all in my head, but it felt like nobody would give eye contact when I came back from helping Joe.  (Btw, He has a nice business model.  But that’s his, not mine to talk about).

What was my intention anyway?   To be famous?  That’s a bad intention.  I went there, that night, to find time to work on a problem that I had, about getting time-per-task out of Harvest when the task was encoded in the comments for each time entry (each task is a user story, effectively).  To compare story points vs actuals.  That’s another topic.

Anyway, its got me thinking.  Here’s this resource of not-.Net people.  A world I know little about. Maybe my next little project, just to shake up my .Net mold a bit, should be in.. something else.

What else? Where the fudge do I start?   Gah!  Ubuntu is probably a good spot.  I have that on a laptop.    Java? Ruby? Python?  Node.js?   What am I trying to solve?

But why?  I already don’t have very much time available.  Do I want to solve a problem, or do I want to “investigate cool new stuff and build new skills”?

Is it even a problem?  Really, keeping track of car metrics is a VERY 1st world problem.  And I have enough other (boring) projects that I have (externally) committed myself to doing, that I really need to finish, that have nothing to do with Coding.

I want to be the kind of guy who can easily grab another language and go do something else.  I know I used to be that guy.  Am I still?  Its been 13, 14 years since I’ve stepped out of the ecosystem that I work in (C#/.Net).  Why should I ? Is it worth it?  To whom?

Possible Answers

The answer is to table it all, for now.  First, I need to finish the last two running video’s, so I can cancel my subscription to Adobe ($30/mo), and I have another household project in the works that is going to take some time and energy.    Let it sit, till next month first Tuesday.

Define my goal.   I want to compare my different routes to work:

  • by Time taken
  • by Fuel consumed

I could get to my end goal in about 3 hours using Powershell and Processing, slightly modifying stuff I’ve already written and hand-editing a few files.    What I guess I’m choosing here is to investigate a different world.. and see what tools there are.

Possible:  I could learn Java & Eclipse the next time I go to @OpenHackLVL.   Java has what I need –  libraries for reading CSV, a local database, and 3D support.   My goal could be made incremental like this:

  • Read in a single file, draw a simple chart (lat+long)
  • Read in multiple files, draw a simple chart (lat+long)
  • Draw a 3D chart.  (lat + long + fuel consumption)
  • Read multiple files into a database (the local kind, that could be embedded within the app)
    • Must be able to grow to the concept of a trip with start/end locations
    • Must be able to grow to the concept of a meta trip which is several shorter trips back to back. (to cover turning engine off at stoplights)
    • Must be able to trim off idle time (engine running, not moving) at the start and end of a trip.
  • Draw the chart from the database.
  • Draw a chart from the database of only those trips which start/end at certain locations
    • Compare different routes from Home to Work.  
  • Up till now, everything has been a console app (I think).   Investigate a Gui App with:
    • import trip(s) that have not yet been imported
    • filter by start/end
    • rendering different types of charts.
    • This would be a “product” that I would consider “releasable”.

I don’t think I’ll get all the way to the end, but this could be a roadmap of something to play with.  

Are there other ecosystems I should consider instead?   I need the ability to process text files, write/read from a (local) database, and render charts.    What could I do?

Staying Focused..

I had a horrible day for focus yesterday.   So horrible, in fact, that I ran out of newsblur things to read, and I found myself browsing reddit.  And that, now that I’m better rested, is not okay

So I’m trying out @StayFocusd.  It only works in chrome, however, chrome is what I do my personal browsing in; Not as much a “I’m going to limit myself by force” but a “remember, I made an agreement with myself”. 

image

My main distraction points are:  facebook, newsblur, and reddit. 

On the other side of the coin, I will sometimes use the Pomodoro Technique to try to stay focused.  When I do, I use this website as my timer:

image

Here’s to a focused, productive day!

I should probably stop writing blog articles for today.

Nostalgia: Thank you Computerphile

There’s a channel that I enjoy watching called “Computerphile“.   Its a guy, Brady, interviewing all these computer-science related people at the University of Nottingham.  For the most part, its all stuff that I know, but I enjoy listening to it explained carefully.  If I ever have the need to explain something to a lay person, I would certainly send them to this channel.  Occasionally I learn something new, for example, Pick’N’Place machines.

I saw this video last night: 

[youtube=http://www.youtube.com/watch?v=-rPPqm44xLs&w=448&h=252&hd=1]
Nostalgia Caption!

I remember learning Unix on the Iowa State University graduate student unix box.. my older brother was a grad student in 1983 .. and it *was* running on a PDP-1175 or something like that. (I think).   I have direct experience with what this dude is talking about.  And he has no hair.  (Give me 10 and I’ll catch him)

Took a while for the emotion to work its way through my system.   Then I remembered:  I was borrowing access.  I wasn’t actually a grad student.  So, perhaps I was 5-10 years ahead.  Comparatively, “my” generation (if i had become a grad student) would have been Windows 3.1 heading on to Windows NT 3.5.1, and the birth of Linux and perhaps Java.

Still old.  damn.

Compare/contrast with http://openhack.github.io/louisville/

They are probably feeling:

  • the excitement that I used to feel when I was learning Turbo Pascal and figuring out the math to do 3D rendering of a spaceship.  
  • Or the fun that I had writing in an autopilot into a lunar lander game which landed the ship safely every time, with obstacle avoidance.
  • Or the macros I wrote into my TTY program to keep regenerating a character till I got one with at least 3 18’s .. for the game that was like NetHack but was on the VAX/VMS cluster.

I think, if i can get my courage up, I might go to that open hack thing.  It would be an opportunity to work on my car logging scripts and visualizations. 

Also, come to think of it, my memory of the CS program at Iowa State University is stale.   I wonder what they do now?   (Goes off to find somebody to ask)

Crazy Backup Plan using Crashplan

-Original 7/25/2013- 

I don’t have the time left tonight to write this post proper.. so here it is really fast:

  • Hanselman rule of 3
  • 1TB to cloud from WHS Home Server v1 = expensive, no thanks.
  • BuddyBackup hit some problems with scale (possibly) (I tried them first)
  • Crashplan (free) saving the day.

image

Quirks / Details:

  • A Crashplan backup to a USB device, when taken over by sneakernet, can be “Imported” to seed a cross-internet backup.    The caveat is, its not so much an import, as it is a “start using this new location as the place to dump stuff and forget everything you knew before” – which is perfect.
  • Crashplan will not directly back up a network share, but if:
    • You run the Crashplan service as a user who has access to those shares
    • You create a symlink (MKLINK /D) from the hard drive to that share
    • Then CrashPlan can back it up.
    • image
    • image
    • image
  • Crashplan Network bandwidth bottleneck + Schedule to keep relationship with work on a good side.  (And asked for permission first)
  • imageimage
  • Same 3TB Ext HD used for both a WHSv1 Shares backup and a Crashplan Backup.
    • image
  • I had to block WHS from backing up the 3TB Ext HD to prevent needless usage of space
    • imageimage

Its been a fun ride.   Its not 100% synced yet .. but its more than half way there and hasn’t died yet.   Thumbs up

-Update 7/30/2013-

I can confirm that if:

  • you do a backup to a local folder on an external USB hard drive HD1 at \CrashPlan
  • you do an over-the-internet backup to a remote computer that is also saving to a USB hard drive HD2 at \CrashPlan
  • You can then sneakernet HD1 to the remote location, disconnect HD2, attach HD1 as the same drive letter
  • and Crashplan resumes just fine.  Ie, local storage and over the internet remote storage are compatible with each other.
  • Good job on the design, CrashPlan!

However, I did run into a problem at about the 900G mark: