Programming is hard. Since programmable computers went mainstream in the ’70s, software development has required highly skilled professionals with years of education and experience. The problem with creating a complex computer program that solves real-world business problems is that computers and humans speak fundamentally different languages. Computers deal in concrete terms while humans communicate in abstractions. To a computer, the meaning of a sentence never changes, but to a person, a single sentence and even single words may have different meanings in different situations. Over the years, providing a computer language that matches human intentions with the correct computer behavior…

Code Tips


Originally published on medium.com I don’t think there is a faster way to build a web app than firebase and ember. The awesomeness of Firebase’s real-time database, no server, no backend, instant deployment, hosting and user authentication makes it an incredibly productive choice. Ember’s conventions and best practices and incredibly productive CLI makes it an excellent choice for your front-end. Let’s see how fast we can get a working app together. Create a Firebase App Go to your firebase console and create a new app [caption id="" align="aligncenter" width="1600"] Firebase Console[/caption] Create a Firebase Database [caption id="" align="aligncenter" width="1680"] Create…

What follows is an edited down version of a chat conversation in the Operation Code slack. The context is that of someone studying up on .Net but, patterns being what they are, this applies elsewhere as well. The question was over explaining the repository pattern. I have strong opinions here and differentiate between how repository is defined, how it might be implemented in a manner true to it’s intent, and how it is often (mis)implemented with unfortunate consequences. The best opinions are changed opinions and this is one that I admit to having been wrong about. I used to be…

Every programmer has a language they prefer to work in. Whether it’s because it’s the one they’re most used to or the one that best meets their coding needs, they’re not shy about telling you which is their favorite and why. But man cannot live on Perl alone. No matter how versatile or easy to use your favorite programming language, it’s important to be able to use others just as fluently. Here are a few reasons why. Job Opportunities Google programming is done using Python. Say your dream job is to work for Google, and you learned Python for that…

Programming languages come and go over time, and it always seems there is some new, "hot" language that is all the rage. With things changing all of the time, if you were to start a new project, how would you decide what language your software should be written in? What's Popular First, how do we even know what is popular at the moment? There are a few different methods one can use to determine what is being used in the real world; you can search job boards and see what companies are hiring for; you can follow news sources and get…