Unexpected college challenge

My son’s headed to college in about a month, and I’m realizing just how much I’m going to miss being able to discuss purely geeky things with him. My wife’s eyes will glaze over instantly when I tell her about the cool process I got working on AWS with Vagrant, Ansible, and…whatever, she stopped listening at “process” anyhow.

Darien didn’t necessarily get it, but he listened, sometimes just politely, but generally with interest, and he asks questions. And he poked around with enough things out there that he has been finding new and interesting topics too. He also asked enough questions to drive new approaches and ideas into the topic. He’s always been my geek buddy, but it’s only been the past couple of years where he’s been at a high enough level of knowledge that any topic was fair game, and spending so much time at home this past year, I expect to be able to talk with him almost any time.

My daughter doesn’t realize what she’s in for as I seek out a new outlet. I presume that I’ll be spending more time in the robotics team’s “chatter” channel on Slack too.

Steep learning curve

Switching gears from managing teams and doing fairly high level business and technology system design form many years, I’m finding myself having to get deep into many different technologies that I knew about, but didn’t actually know. This isn’t bad, per se, but it is daunting. The technology landscape for building a complex data driven system, with multi device front ends, analytics, security, and a supportable, distributable (i.e. cloud based) environment from scratch narrows my technology search down to a few million items. Different languages don’t really scare me (despite not really being up on any of them), but every language comes with a plethora of frameworks and development tools that also need to be learned. Development patterns change with each selection and the ability to make an informed decision (without a well versed team around who can call BS when appropriate) is a major challenge. Hello World! applications aren’t going to tell me whether the application will be able to distribute amongst multiple back end providers and maintain an acceptable database throughput and remain stable.

So I’m in the midst of not so much evaluating technology based on their actual capabilities, but based on the risk level each brings, assessed by the capabilities I can infer from very limited use. Some decisions are pretty easy, despite minimal experience with them. We’ll be using node.js for many of our back end elements. Why? It meets the design needs, has a reasonably comprehensive ecosystem, and I’m convinced it’s moving forward, not stagnating. I’m a believer in lightweight frameworks and that tends to be the mindset of the developer base.

What about Ruby/Rails? Not out of the question, and will probably be part of the mix, but it’s not going to be primary unless somebody shows up on the team and can knock some things out of the park quickly with it, and we can develop appropriate strategies for scaling.

Yes, there are a ton of options, but so far, it’s just little old me making these decisions, so aside from calling friends and asking them dumb questions about the tools, I’m going on gut feeling of what can produce a viable product without a short street with a dead-end.

3d Printer

Despite our desire to build one, I finally accepted the fact that Darien and I were never going to find the time, so I took a chance on the Monoprice Maker Select i3 (which is actually a Wanhao Duplicator i3 printer). It’s my first real hands-on experience with a 3d printer, so I can’t compare to other models, but it seems to work reliably and I’m learning about the printing process, which was the primary goal anyhow.

This is an entry level printer. Period. I’m not sure where the real limitations will occur, but I’m confident that they’ll be there once I know what I’m doing. It’ll probably be accuracy of higher resolution prints. So far, printing high resolution hasn’t resulted in significantly better prints, just slower ones, and in some cases much worse quality. I’ve found 3dPrinterBrain to be an invaluable source of information.

What am I going to do with a 3d printer? Robotics is one area where I’ve already started to make use of it. I’m now coaching FIRST Robotics Competition (FRC) Team 4026 and we’ve had a number of problems that were fairly easily solved with a quick design and print (OK, prints are never quick).

Some of my more interesting and useful prints so far.

The killer in this bunch as been the marking guides for the aluminum tubing. They’ve been a godsend. Saves a ton of time when trying to make accurate holes (need 4 1/4″ holes, spaced 1″ apart, set 1/2″ from the edge of the tube, starting at 1/2″ from the end). Previously doing that with clumsy tools, tape measures, calipers, a compass, and lots of cursing could take an hour for a single part. Then, any inaccuracies were multiplied by drill press sloppiness.

With these guides, you drop it on the edge, flush to the end, mark the long axis and the 1/2″ starting point, slide the guide up to that mark, continue the long axis and mark every 1″ tic mark, punch the tic marks and go drill. The whole thing can be accurately marked in 2 minutes.

So far, well worth the $350 for the printer, plus about $30/kg of material (ABS and PLA so far, PETG next). Lots of fun. Amazing to watch. And unbeatable to solve an odd problem here or there.