About a year ago I started rock climbing, and before I knew it, my approach to software development had changed. You see, rock climbing is predominantly made up of engineers, which I believe has to do with the problem-solving nature of both activities. But it’s more than just that. As I learned how to rock climb, the way I approached problems quickly changed. Read more on Problem Solving at 200 Feet…
Four years ago, I embarked on an unknown adventure. I invested in and shared ownership of a coffee shop, without having either much business experience or any knowledge of coffee. I dove, head first, into a crazy adventure which changed me in ways I never would have guessed.
The opportunity came up while a friend pitched me on her vision for the next phase of an established coffee shop. Her partner recently pulled out of the business and there was room for an investor/partner. After hearing the pitch, I was in. Read more on What Owning a Coffee Shop Taught Me about Software Development…
The Internet has forever changed the way we learn, share, and gather information. From Wikipedia to Google, our ability to consume a topic of knowledge is easier now than it ever has been. However, some topics have few reliable sources, while others lead you down worm holes of opinion blogs with little to no consensus.
Quora, Reddit’s Ask Me Anything, and Twitter’s Verified Accounts try to address the problem of finding reliable information and answers to difficult questions. By connecting you directly with the content authorities, these new services take the guessing out of credibility. Questions like, “What is it like to work at X?” or “How does this very specific model of physics work?” now have places which house the answers. Read more on Finding Reliable Information with Quora, AMA, & Verified Accounts…
As browsers and HTML have matured, our ability to create wonderful experiences has become easier and better, but our code has become more complex. To aid this complex development, we rely on packages such as JQuery, Bootstrap, etc.
In 2011, Nest Labs released their first product called Nest, a learning thermostat. The reviews were good, and Nest Labs was congratulated as being the first company to innovate on a product were little to no innovation has recently existed. In 2013 they did it again, releasing the Nest Protect, a smart, wireless-connected smoke and carbon dioxide detector.
Upon hearing of the Nest Protect, I ordered for my house immediately. My house, built in 1900, is not wired for inter-connected smoke detectors. Nor did it have working smoke detectors on every floor and in the bedrooms, which is the recommended home configuration. Nest Protects are not cheap, they’ll run you around $130 a piece. However when pricing out the labor costs of wiring my old house for smoke detectors, the $130 price tag started looking better and better.
Once installed, the Protects have a few new features beyond what a normal smoke detector provides.
Bootstrap has become a great tool for quickly bringing a web-based product to reality — even more so with the need for websites to be responsive. I’ve enjoyed using Bootstrap, and I feel version 3.0 has been another big step in the correct direction.
However I still cringe every time I have to add the class col-md-12 col-sm-6 etc etc etc into my dom. If we look at a simple layout and its markup, we can start to see the DOM clutter:
<div class='container'> <header class='col-md-12'>...</header> <nav class='col-md-3 col-sm-12'>...</nav> <main class='col-md-9 col-sm-12'>...</main> <footer class='col-md-12'>...</footer> </div>
This example illustrates a common pain point of Bootstrap. The col-md-X classes mixing into the DOM goes against the teachings of Semantic Markup. Col-md- clutter the DOM and are, overall, an eyesore.
When creating a single-page site using a technology like Ember or AngularJS, debugging code can become an issue. Firebug and the Chrome debugger quickly lose their power as you have to dig through Ember models and other representations of your application.
Thankfully, from the creators of Ember comes a plugin for Chrome debugging — Ember Inspector — which gives you quick access to Ember objects and data.
The tree view visually allows you to walk through the different parts of your Ember application. This is useful for debugging but also helps to gain an understanding of how an Ember application is built up.
There are plenty of articles that talk about how you should name your css, what the files should be called, etc. (Here are some at Snook.ca, Smashing Magazine, and phpied, for example.) The topic has been covered and for the most part is agreed upon.
My rails application has a variety of users, and I want to make the root of my app load something different based on the needs of each user after log in. For example, if a student logs in, I want to load the students/dashboard page. If a Teacher logs in, I want to load the teachers/dashboard etc.
Currently, in Rails 3.1 the
wrap_parameters controller method works great, but is untestable. Controller specs do not run the wrap_parameter initializer packaged with Rails. Adding a wrap_parameters call to the controller also does not work when running controller specs.