TWIL – 2016 Week 20

This Week I Learned, TWIL, is a weekly series of posts where I collect any interesting bits I ran across in the previous week.

Technology

ng-conf Keynote
Great overview of everything the Angular team is working on for version 2 now that it’s officially in RC status. Lots of good stuff coming very soon.

Playing with TensorFlow on Windows
Scott Hanselman uses the new Bash on Windows feature (which is only in the preview Windows 10 builds at the moment) to demo how you can run a *nix only tool like TensorFlow on Windows with no changes. It’s impressive that it works as smoothly as it does.

An Introduction to Microservices, Part 1
Most of the software I’ve worked on throughout my career has been built as a big monolithic blob of bits. I like the idea of “microservices” and thought it’d time to start reading up a bit more on how people actually implement them. This felt like a decent higher level overview. The code bits are in Node.js.

Deploying Microservices Architecture with C#, Part 1
This was a little lower level and specific to microservices with C#. Despite the title, this is more about how to let microservices communicate than it is actual deployment.

Health

2 Keto Dudes – Show 12 – Cancer
An interesting discussion about how a keto eating may help slow cancer progression. Mark Miller is on the show talking about how he thinks keto helped while he was being treated for cancer.

Career

The Software Engineer’s Guide to Ditching Your Resume
I’ve been intrigued by watching some local developer’s job hunt stories unfold happened to run across this article this week. It’s a long article, but it essentially boils down to making a name for youself through speaking, writing (blogging & actual books), speaking, and getting good at networking. All very reasonable suggestions if you want to be more than just another resume. The downside is a lot of this would be really hard to do for someone just starting out.

Life

Treat The Information You Consume Like the Food you Put into Your Body
I was hoping there was as little more substance to this article than there is, but even so, I like the idea that not every tidbit of information we consume is actually good for us. Having a toddler has made me more mindful of my time, but I still spend way too much time reading Facebook/Twitter/Slack.

Fun

YouTube – Insane 360 video of close-range tornado near Wray, CO yesterday!
I watched this in my Oculus Rift (playing the video via Virtual Desktop) and it’s crazy. Even though 360 video isn’t the best resolution, this is definitely amazing to watch. The camera is mounted on top of their vehicle, so it’s like you’re strapped in a chair on top of the car as they chase a tornado. They get really close to the twister a couple of times.

TensorFlow – MNIST For ML Beginners
I got TensorFlow installed and running on my Mac, but quickly realized I had no idea how to actually use it beyond the basic apps they give you to test your install. This was a great overview of one way to do image recognition in TensorFlow explained from a beginner (relative to machine learning) perspective.

Easy Steps To Better Icon Design
I’ve been working on a logo for a new side project on mine and found lots of good points in this article. I’m not a designer and don’t expect to become one, but, I do enjoy trying to level up my skills in that area.

TWIL – 2016 Week 19

This is the first post in a series of posts called “This Week I Learned”. I’ve enjoyed reading the weekly summaries from local East Tennessee developers such as Geoff Mazeroff, Cameron Presley, and Avdi Grimm that I thought I’d start posting my own version. If I run across something I find interesting, I’m going to make a note and post it in this series. The plan is to do these weekly-ish. These are more for my own benefit than anything else, but with any luck, you’ll see something interesting as well.

Technology

Codestock 2016 Sessions
I’m excited to see the lineup for Codestock 2016. Lots of great talks about all kinds of topics. I was one of the conference organizers for the past few years, but this year I’m excited to be a regular attendee so I can actually attend all the great sessions. I’m sure this year’s conference will be the best one yet. If you’re in or around Knoxville, TN, you should definitely check it out.

Getting Ready for ASP.NET Core RC2
I’m trying to follow along with the progress on .NET Core and looking forward to using the new ASP.NET on Linux. Shawn has been staying on the bleeding edge, so it’s a nice preview of what things are changing at the code level before RC2 is officially released.

Create a Desktop App With Angular 2 and Electron
Learning a bit about building an Electron app with Typescript + Angular2. For what it’s worth, this article is pretty out of date and does require changes to get it working with the latest Angular2/Electron. I’m sure there are some better pre-packaged getting started samples, but this one got me what I needed to play around.

Service Fabric Party Clusters
I’ve held off on trying out Service Fabric since I didn’t want to spent too much just to build out a sandbox environemtn. It turns out, Microsoft actually has a sandbox you can use for free. I haven’t actually deployed anything to it just yet, but this is definitely on my todo list.

.NET Rocks! – Show 1293 – The Evolution of Services with Juval Lowy
I can’t say I total grok everything Juval was talking about since it was very fast paced and at a very high level, but it peaked my interest. It’s something I’d like to dive into a bit more. The idea is that quite literally everything should be a service (e.g. he mentions things as low level as an Integer service). Lots to digest.

.NET Rocks! – Show 1294 – Thinking Android with Joshua Vergara
As an iOS user, it was interesting to hear the perspective of someone immersed in Android, but not an Android developer. Nothing too Earth shattering in this one, but entertaining.

Hanselminutes – Practical Containers for Developers with Aja Hammerly
Really interesting hearing more about the benefits of containers and Kubernetes in particular. Kubernetes is definitely on my list of things to research more & maybe spin up in a test environment. I’ve thought about using Docker on some of my hobby projects, but I’ve been looking for a way to manage multiple Docker containers. It sounds like Kubernetes is a good candidate for that task.

Health

2 Keto Dudes – Show 10 – Alcohol
I’ve been on a low carb diet for about a year and a half now. I haven’t been doing keto and I don’t really drink either, but I found the show to be really interesting.

2 Keto Dudes – Show 11 – Newbies
In this show, they talk to Carl’s daughter who recently started on a keto diet. It’s interesting to hear her experience just starting out.

Life

Being a parent sucks (but not the way you think)
As the parent of a toddler, I think this article does a nice job of articulating what it feels like to be a parent. I can totally relate to this even this early on in my parenting experience. I’d say this would be a great read for expectant parents, but I don’t think I would have been able to appreciate this prior to actually becoming a parent.

Fun

Kaggle – State Farm Distracted Driver Detection
I’ve wanted to mess around with machine learning for a while, but couldn’t find a good project that needed it. This past week, I discovered Kaggle which is basically lots of challenges (some for money, some for fun) that all need machine learning. The nice thing about this site is that it gives you training data, test data, and a way to actually rate how well your algorithm worked. This particular challenge is one where State Farm took lots of driver facing dash cam photos and they want you to classify them. The idea is to detect if the driver is distracted and if so, what caused the distraction (e.g. phone, drink, talking to passengers, etc). I don’t know that I’ll actually be able to solve this one, but it’s something that’ll give me a real world problem to try to solve (with the data needed to solve it).

Birth of the almost-fully 3d printed Automatic Cat Feeder
My cat has had an automated feeder for many years, but it’s starting to have enough issues that I’m thinking about a replacement. I’m toying with the idea of building my own 3D printed, cloud connected cat feeder. Lots of the projects use laser cutters and/or PVC to build a cat feeder, but this one is all 3D printed (except the wooden enclosure). It’s giving me some ideas that I could prototype on my Lulzbot TAZ.

Why I’m Excited About VR

Virtual Reality (VR) is something I’ve dreamt about for a very long time. If I had to pinpoint when I started getting interested in it, it was when I first saw the Holodeck1 on Star Trek: The Next Generation. It’s one thing to read about some fantastical world in a book and another to see that world come to life in a movie or even a traditional video game. It’s an entirely different experience to experience that same world yourself in VR.

In VR, there is the notion of “presence” – the sense that you’re actually there existing as part of that virtual world. It’s hard to describe until you experience it yourself, but one tiny, but powerful example is the Oculus Henry trailer.

In this trailer, you meet the star of the movie Henry, a little hedgehog. He comes out of the shadows and stands in front of you and puts our his arms for a hug. This trailer is interesting because of two reasons. First, Henry certainly looks like he’s standing right there in front of you due to the quality of the 3D rendering. Second, and more importantly, Henry knows where you’re looking2 so he actually makes and maintains eye contact with you as you look around. That makes it feel much more “real” than any other 3D I’ve seen.

You’ll see people compare VR to 3D TVs and 3D movies. While VR and older 3D content such as that certainly share a few things in common, most notably, the notion of depth, that’s about the only thing they have in common. With older 3D content, everything you saw was from a fixed viewpoint…you couldn’t move your head to see around an object or look in a direction the director didn’t intend. When you add in the freedom VR hardware gives you, it’s such a different experience.

The first VR experiences will be mostly games and entertainment experiences, which will certainly be great, but I’m most excited to see what other industries adopt VR. In particular, I think there is a ton of potential in the education space. One of the demos I tried put me in a classroom talking about dinosaurs and then it took me back in time so I could see the dinosaurs as I learned about them. Content like that will be amazingly powerful once VR becomes much more accessible & cheap.

I’ve experienced a ton of 3D content in my life and I can honestly say, nothing compares to the experience of VR. The VR that exists today is the first major step into the future. I can’t wait to start experiencing the amazing new content that is now possible and I’m even more excited to see what comes next.


  1. Yes, yes, I realize the Holodeck isn’t VR, nor is it augmented reality (AR). It’s practically a universe simulator in many ways and that’s quite a few steps from where today’s technology stands. 
  2. Technically, the consumer technology out there now doesn’t know exactly where you’re looking, it only knows where your head is pointing. If you keep your head pointing straight ahead, but look all the way to the left or right with your eyes alone, today’s VR hardware doesn’t know you’re not actually looking straight ahead. This will change in future hardware versions, but for all practical purposes, it’s a pretty safe bet that you’re looking straight ahead so the effect works really well even without this detailed eye tracking.