Reopen and Modify Ruby Classes (Monkey Patching)
As programmers, we often reuse code other programmers have written. It makes no sense to duplicate code if there are already libraries and/or modules available to us. Most of the time, we don't care...
View ArticleQuick Review: Basic Observer Design Pattern in Ruby
Every so often, it's nice to give yourself a quick review of basic topics in software. Today, I wanted to review the observer design pattern and give a very simple implementation of it in Ruby. The...
View ArticleTo Thine Own Self Be True: A Social Network Experiment
Several months ago, I completely removed myself from all my social media networks. It was sort of a personal experiment. I wanted to remember what it felt like before my "friends" and I were...
View ArticleJava Programming Quickstart in Ubuntu 12.04
I simply love working in Ruby and Python. It's easy to quickly write code in pretty much any dynamically-typed language. Yet, I feel a little nostalgic when I see programs written in C++ or Java. So,...
View ArticleQuick Review: Delegator Pattern in Java
In the object-oriented world, there are times when our classes need to share some or all of their functionality with others. There are many different ways we can achieve this. Depending on the...
View ArticlePersonal Lessons from Jeff Atwood's "Effective Programming"
I recently finished Jeff Atwood's blog-turned-book: Effective Programming: More Than Writing Code. It's a compilation of blog entries about different ways to improve programming ability outside of the...
View ArticleSide Project: QueueDo
http://queuedo.herokuapp.com/ When I work on my own projects, I like to keep track of the tasks involved in getting them done. I started by creating to-do lists in spreadsheets because it was quick,...
View ArticleGetting JavaScript Closures (The Module Pattern)
JavaScript is an essential tool for any web developer. There is no denying the rise in popularity of the language. Since its inception, JavaScript has been used, abused, and misunderstood by many...
View ArticleQuick Review: CSS Positioning
For web designers and developers, it is important to understand how to lay elements out on a page. Anybody can hack together a gorgeous looking webpage, but it's important to write clean code along...
View ArticleMy Interview Questions for Potential Employers
By common definition, the purpose of a job interview is to allow an employer to screen candidates and find someone to fill an open job position. Each and every applicant must prove his or her worth to...
View ArticleKaizen Through Kanban: Simple Principles, Great Benefits
I recently attended a small presentation titled "Personal Kanban" hosted by the Seattle Software Craftsmanship group. The speaker was Jim Benson, who incidentally wrote a book titled Personal Kanban....
View ArticleBeing a Pessimistic Programmer, but a Positive Person
I'll be honest. As a programmer, my mindset is usually more negative than positive. I've accepted that my code, at some point, will fail and the software I write will never be complete. As I'm...
View ArticleNon-Verbal Cues for Programmers to say "Leave me alone!"
Zuckerberg wants to be left alone in The Social Network Interruptions are an ultimate killer of productivity for any software developer. When writing code, everything from algorithms to variable names...
View ArticleQuick Review: Decorator Pattern in Ruby
In the object-oriented world, simple applications usually require small classes with static behaviors. Adding, modifying, and sharing those behaviors can be achieved by mixing in modules or inheriting...
View Article"I Am Thankful For…" from a Web Dev
The Thanksgiving holiday is a time to reflect and appreciate the gifts in our lives. Of course, I'm thankful for friends and family, but I'd like to take some time to share some of the "geeky" stuff I...
View ArticleCleaner Rails JSON API Controller Specs with OpenStruct
As many of us know, Ruby on Rails makes it really easy to write RESTful APIs. Paired with a rich client-side framework, we can create applications with slick user interfaces. A common approach for...
View ArticleDRYer Ruby Class Definitions w/ Struct
Many web developers subscribe to a principle know as the DRY principle. It translates to Don't Repeat Yourself. I try my best to adhere to the DRY principle, but sometimes I repeat snippets of code...
View ArticleA Gift to Myself: My 2015 Gaming PC
Recently, I've been itching to play some of the newer PC games coming out (or recently released), but my laptop was lacking the power to do so. I've always been into PC games, but I drift in and out....
View ArticleSOLID Review: Single Responsibility Principle
Note: This is part of a series of articles reviewing the five SOLID Principles of object-oriented programming. The Single Responsibility Principle was first coined by Robert Martin in an article on the...
View ArticleSOLID Review: Open/Closed Principle
Note: This is part of a series of articles reviewing the five SOLID Principles of object-oriented programming. The Open/Closed Principle was first coined by Bertrand Meyer in his book Object Oriented...
View ArticleReplacing the Screen on the Lenovo Thinkpad X220
Back in 2011, I purchased a Thinkpad X220 to replace my aging Thinkpad T61. It's a great laptop, serving me well for just about four years now! Unfortunately, my screen recently began exhibiting the...
View ArticleShare Your Local Web Server Publicly using ngrok
As a web developer, my workflow often includes writing a little code, firing up a local web server, and doing a quick smoke test to make sure things look alright. Occasionally, I'll encounter a...
View ArticleSOLID Review: Liskov Substitution Principle
Note: This is part of a series of articles reviewing the five SOLID Principles of object-oriented programming. Barbara Liskov introduced her substitution principle back in 1987 during her keynote...
View ArticleSOLID Review: Interface Segregation Principle
Note: This is part of a series of articles reviewing the five SOLID Principles of object-oriented programming. The Interface Segregation Principle is probably the most straight-forward of all the SOLID...
View ArticleSOLID Review: Dependency Inversion Principle
Note: This is part of a series of articles reviewing the five SOLID Principles of object-oriented programming. The final SOLID principle is known as the Dependency Inversion principle. Arguably the...
View Article
More Pages to Explore .....