site logo

Digital craftsmanship with a personal touch.

Behavior driven testing is a bit of an oddity in software development. Ask any developer about the tests they write on a daily basis and you'll commonly hear about unit and integration tests. Bring up behavior testing however and you'll likely be met with a bemused stare followed by them walking away while muttering a soliloquy about how they're just integration tests or that it's someone else's job. "But we use integration testing to verify our behavior." is a common… »

The platform that this blog utilizes is ghost , a really simple an bare-bones blog. The main reason for this publishing engine over the pletera of choices out there... Markdown. I get to write everything in markdown, and ghost will go about making it pretty. Especially if you throw some prismjs in for code highlighting. But is pretty code enough??? Rhetorically answering this with a resounding NO... the code also needs to be correct. And how do we as software engineers… »

Geeks like to tinker. And we really like our new toys. So when my girlfriend asked me to put together simple tool for her grandfathers business, I thought this was a great opportunity to learn something new: Polymer . The internet seemed full of glee for it; what could go wrong. {<1>} Well... Since my last post was well over three month six months ago, it is clear that this strategy went over about as well as a two front war for Germany. Quoting the project at about 8… »

I have heard it said that learning a second language is pretty hard, but learning subsequent languages gets progressively easier. Already an ESL (English as a Second Language) student in high school, I was forced to attempt a 3rd language, Spanish courses that were mandated for graduation. I merely muddled through it. "That galaxy is signaling in binary. I should signal back, but I only know enough binary to ask where the bathroom is." Bender ( Futurama - S4E8 - Godfellas… »

Every now and again you hear developers at some programming event talking about this fabled myth of a function, the understanding of which will transcend you to a new plane of programming. Well, challenge accepted. Spoiler, I am still among us mortals. Thinking About the Problem The first place you go: wiki . If you are anything like me, lambda calculus hurts your head and only paints a fuzzy picture. Heavy math aside, what problem does it solve? It lets us have… »

We all know the secret to responsive ng-view s, right? Well, it isn't really a secret. I am talking about routeProvder.when resolvers for pre-loading asynchronous server data. You really don't want your view sitting empty. resolve - {Object.< string, function >=} - An optional map of dependencies which should be injected into the controller. If any of these dependencies are promises, the router will wait for them all to be resolved or one to be rejected before the… »

Every now and again, my boss asks my team and me to sharpen our minds by writing fiction. These brainstorming assignments are designed for team building and to unleash creative thought. The topic of this daydream is: What do you think is going to be the role of medical technology in 2030? It started as "Folding At Home," a crowd-sourced project to map protein folding. For just a few watt hours a month, a home computer would think about the problem of protein folding while… »

If you have never watched/read anything by/about Richard Feynman you need to stop reading this post right now! There is a marathon to be done. He was a brilliant man with an amazing ability to de-construct complicated concepts into laymen-friendly terms. In this video , he talks about the difference between knowing something and knowing the name of something. But he also points out the importance of having a common language. 5:14 - what he forgot to tell me was that the… »

Note, this post has been edited on 12/11/2014 and 01/12/2015. These changes were made to keep the code base changes to handle routing and directives. A previous post talked about a general idea behind data annotation and the ability to mark up classes. But the example was far from being real world or useful. Today we are going to explore the way that data annotation can be used to decouple business logic with angular bindings. We are in search of a simpler solution to ES… »

While everyone is fawning over Angular 2.0, it isn't something we can really use for a while. But Tracuer and @script are here, and--as long as you support IE9 and up--they are here for you today. The Angular team published a playground for @script: https://github.com/angular/atscript-playground So why is annotation-oriented programing so much win? The quick answer is meta programing. Buzz word alert : The basic idea is that you can mark up some object in your code with… »

Why do I code? I get paid for it. I like the creativity it unleashes. I seek to communicate (with computers). I played with legos as a kid, and programing is damn close. Originally I started coding because I wanted to be like my dad. This is shortly after I wanted to be a fireman and cosmonaut. One day, Dad showed up with a computer from work, and that night we "pair programmed" a times table program. A life long love was born. My hope is that, as a reader, you are here… »