Commentary

My Github Streak

After a few weeks of working on my Adaptive Web Design Using Device Detection project, I got tired of seeing my current github streak get reset every weekend.

So I decided that instead of just working every day and calling myself a “lifelong learner” — and letting people think what they want to think — I would make a point of committing something to github everyday, so I can prove my dedication and desire to develop.

Now that I am getting close to the 300 day mark, keeping the streak going has only increased in importance best way to lose weight quickly. Given that the green graph only shows a year’s worth of changes, will it get “stuck” at 365, or increase to infinity?

At this point the only thing I can think of that could possibly keep me from answering this question would be an extremely challenging full-time job, one that requires every ounce of my energy. And actually, finding something like that would not be a bad thing.

Well played, github.com, well played!

“Words to Avoid”

Recently I was looking at articles about the various Open Source Software Licenses on Gnu.Org, and I stumbled upon this list of words to avoid. It’s an interesting list and I encourage you to look through it, especially if you think everything on the internet should be free.

LAMP or GLAMP?

The case for avoiding LAMP in favor of GLAMP (GNU/Linux Apache MySql PHP) is one interesting entry; I would expect that LAMP makes the list is because the “P” is ambiguous (possibly standing for Perl or Python rather than PHP). Instead, it is the Linux part of the acronym that the author, Richard M. Stallman (“RMS”), finds inaccurate.

Many if not most of the entries are mostly if not totally pedantic. And I admit that is something I find myself being guilty of from time to time, so it would be hypocritical for me to complain about that.

PC or WC?

But I found some humor in the entry for “PC.” RMS takes issue with the term because he asserts that some people assume all PCs run Windows.

Even if the computer is running something other than Windows, it is still a “PC.” So to prevent confusion, the list suggests using “WC” for computers running Windows.

I found this to be quite funny, because I always thought that “WC” stood for “Water Closet.”

The C Programming Language

The Assembler, Fortran, Snobol, Cobol, PL/1, and Pascal books are all gone, but I still have this one, “The C Programming Language,”   by Kernigan and Ritchie, affectionately known as “K & R.”

And I just want to say one thing about it, and that is, there are a lot of different indentation styles, but when it comes to server-side programming languages, I for one do not care for the “K&R braces” style.  It’s not consistent!

Servers and Browsers

When it comes to server-side languages like C, PHP, and Java, I prefer the Allman Style, and it’s nice to know I am not the only one.  White space and consistency are important!

However, when it comes to browser-side code — and CSS: I am looking at you — I find myself using the K & R style. This is, of course, because there is very little need to nest CSS, and hence no need for the ambiguity (and I admit it is very slight) we see in their book.

Java and JavaScript

At first this left me in a bit of a quandary when it comes to everyone’s new darling, JavaScript. Because JS works hand-in-hand with CSS, it’s only natural to follow the same policy.

So for S&G I started using the K&R-style braces on some JS. I hereby admit that it is working well!

For one thing, I am learning it does indeed have some appeal when working on large projects. This is because we typically have many windows open so real estate is at a premium.

And for another, most, if not all, text editors and IDEs these days make it easy to find pairs of matching parentheses. So wake up to find out that consistent vertical alignment of braces is no longer of high importance.

Mixing Styles

Moreover, using both styles this way actually has a bit of an advantage, because it is immediately and glaringly obvious whether I am working on server or client code. My plan is to continue using this hybrid policy, at least until I start using Node.js, anyway….