Up to Newsletter Index

December 2013 Newsletter


Quotable Quotes

A peasant and a philosopher may be equally satisfied, but not equally happy. Happiness consists in the multiplicity of agreeable consciousness.  –Samuel Johnson


Experience is the name every one gives to their mistakes.  –Oscar Wilde


An investment in knowledge always pays the best return.  –Benjamin Franklin


To meet the great tasks that are before us, we require all our intelligence, and we must be sound and wholesome in mind. We must proceed in order. The price of anger is failure.  –Elwood Hendricks


If I’d been born in my grandfather’s time, I’d have made my grandfather’s mistakes.  –Frank Herbert


Return to top


Software Development Process and Methodology

Article:  DOD has made it illegal to do waterfall

Interestingly, the US Department of Defense (DOD), which is one of the biggest spenders (assuming that the government isn’t shut down!) on software has come into the fold of agile development.  They have released new procurement guidelines calling for incremental releases of functionality and early prototyping among other things.



Article:  Decisions Taking Techniques for Agile

One factor that can subtly affect the progress of a team is how, once a decision is reached, the team incorporates the outcome and moves on.  Some teams struggle with decision-making itself, especially when a consensus approach is used, but the action (or lack thereof!) after making the decision can be just as critical.



Article:  Effective Technical Leadership

This article gives a great overview of the key skills of a technical lead (as compared to project manager, development manager, scrum master or the like) on development project.  The author emphasizes the necessity of balancing technical ability and “soft skills”.



Article:  Why IT failures at big companies are unlikely to go away

While it’s certainly dismaying that this article essential resigns us to the fact that poor project management and cost overruns are a normal part of IT projects, perhaps more telling is  that this appears in the mainstream press. 



Article:  7 Principles of Agile Enterprises

In many instances the agile principles have moved well beyond IT development projects and into line of business activities.  This presentation discusses how these concepts apply in the more general context and how they relate to IT.



Article:  Is Agile driving your organization to a continual death march?

While I don’t necessarily agree with the premise of this pundit’s claim that 2-week agile sprints result in more “pressure” time for times on an annual basis, it does make sense that we may be unintentionally moving toward “hyper-vigilance” as the norm.  Likewise, the author notes that many teams seem to be missing the agile principle of sustainable pace.  Some interesting commentary and perspective on this view can be found here.



Article:  7 Sins of Doomed Teams

Many (most?) of us have probably had the misfortune of working on a poorly performing team.  But what factors separate good teams from bad?  While this list certainly isn’t the be-all, end-all in this debate, by applying the 7 deadly sins to development teams, it certainly gives some good ideas for things to avoid to make your team the best that it can be.



Article:  If Java Is Dying, It Sure Looks Awfully Healthy

Hardly a year goes by without pundits saying that Java’s demise is imminent (if it hasn’t already been buried).  As we’ve mentioned in this newsletter before, even if the Java language is on the decline the JVM is stronger than ever with languages like Scala, Clojure, and others.  This article references some of the reasons not to count Java out just yet.



Return to top


Software Testing & Quality

Article:  From the Start, Signs of Trouble at Health Portal

By now, most of us have heard about the numerous troubles with the new healthcare.gov web site.  Some pundits have concluded that requiring registration is the main cause of the problems.  As with many such troubled software projects, it’s a story of the confluence of many factors and signs of the problems showed themselves early but were largely ignored.  This project can serve as a cautionary tale about not paying attention to project warning signs and dealing with them up front.



Reference:  The Tao of Testing - A Field Manual for Software Engineers

This guide is still work in progress, but it provides an excellent contextual look at testing as a whole and more specifically about the role of developers in the testing process.  The author includes good definitions of terms and then covers concepts in chapters like “A Case for Testing” and “Do we need QA?”, before jumping into the details about practices.



Article:  Product Quality and Work Culture

While probably not a revolutionary idea to regular readers of this newsletter, this article provides some great points about how important organizational culture is to success and how the quality of output is typically a direct reflection of the culture.



Article:  Glitches vs Bugs vs Defects

Shakespeare said, “What's in a name? That which we call a rose by any other name would smell as sweet.”  Along those lines, this is an interesting discussion about the various terminology that we use to describe problems occurring in software.



Return to top



Tutorial:  GitHub For Beginners

Nowadays, it seems that have an online code repository, on GitHub or BitBucket or similar site, is nearly as important as having a good resume (but doesn’t replace it!), when you are looking for a new position.  This excellent two-part series helps you get started with GitHub, even if you have no experience with Git (or even other version control tools).




Reference:  Evolution of the Web

As we all know, the pace of change on the Web is accelerating.  This interesting interactive visualization shows how server-side technologies and browser and other client-side technologies have changed since Tim Berners-Lee put the first page on the Internet in 1991.



Tutorial:  Learn Haskell Fast and Hard

Most of us probably won’t use Haskell (or any of the other numerous esoteric functional languages) on a regular basis in our careers.  However, Haskell is often touted as (one of) the most “pure” of the functional languages and, therefore, serves as a model for learning functional programming principles.  This guide will serve as a good roadmap for the experienced developer who wants the challenge of learning Haskell.




Tutorial:  The Adventurous Developer’s Guide to JVM Languages

As we often note in this newsletter, the main value of the Java platform is not necessarily the Java language itself (which has been showing some resurgence of late), but the JVM and how a completely different programming paradigm can be implemented to run on it.  This comprehensive tutorial examines some of the popular JVM languages and how they fit into the overall ecosystem.



Return to top


Career Development/Miscellaneous

Article:  To-Do Lists Don't Work

Many of us use “to do” lists to keep track of things that need to get done.  But what if you learned that they don’t work?!  This author says that you should just use your calendar instead and block out time to accomplish tasks.  This approach seems to be supported by the complexity, especially around lack of context, of many of the “to do” list applications.



Article:  IT Salary Study Projects 3% Pay Raise in 2014

This salary survey of 140 organizations for 69 IT job functions from over 400 US metro areas, plus some US BLS statistics, indicates that IT workers can expect a modest salary increase of 3% in 2014, after 5 years of nearly no increase.



Article:  Why Your Brain Needs More Downtime

New research from a variety of quarters shows that more frequent and longer mental breaks have a variety of benefits, including increased productivity, improving attention, solidifying memories and fostering creativity.



Article:  Why We Can't Get Anything Done in an Open-Plan Office

Despite the mounting evidence that productivity goes down in open offices, they continue to grow in use, probably due to cost savings.  In fact, some new research shows that open-plan offices are the least productive.   Here is another article that discusses the problems and gives some suggestions for how best to deal with working in this environment.



Article:  How to Become a More Valuable Software Developer

Whether we like (or even recognize it!) or not, soft skills play a major role in our success as developers (and persons, in general).  While I don’t necessarily agree with all the premises of this article, the author presents an interesting idea for how to think about our value to our organization in the form of an equation:  Value = (Style ^ 2) * Substance – Expectation.  The thing that I liked most about this is that he includes expectation as an important factor, which can even result in negative value!



Article:  What Long Hours Really Mean

While there may not be a lot in this article that you haven’t heard before about the negative results of working excessive hours, it presents many of these ideas a relevant, direct, and cogent manner.  Moreover, the author discusses the points in terms of the costs, economic/financial, personal, and more, of this problem.



Article:  Dr. Dobb’s 2013 Developer Salary Survey

This annual survey of over 3000 developers and development managers shows that after 4+ years, salaries are finally starting to show some improvement across the spectrum of factors.



Article:  The boss, not the workload, causes workplace depression

Work got you down?  It might not be the work itself, but rather your boss, or, more precisely, your interactions with the boss.  A Danish study of over 4500 public employees shows that feeling that you are treated unfairly is more typically the cause of workplace-induced depression than a heavy workload.



Article:  Coding Interview Tips

As we mentioned last month, coding in interviews for programming and development jobs is now the rule more than exception.  If you haven’t been looking for work in while, this is probably new to you.  This article gives some nice, practical tips for keeping your cool and succeeding in the coding exercise.



Article:  25 Highest Paying Companies For Software Engineers (2013)

Of course, money isn’t everything when it comes to a job, but it certainly is a major factor.  Glassdoor has released their annual report of top-paying companies for developers/programmers.  Topping the list is Juniper Networks.  A couple of interesting items to note are that Yahoo pays better than Google and Wal-mart bests Facebook!



Return to top


Telecommunications/Networking Industry

Article:  Bigger than Google Fiber: LA plans citywide gigabit for homes and businesses

Despite the frequent failure of municipal broadband efforts, Los Angeles will soon requests bids to build fiber to all homes, businesses, and government entities within the city limits. They expect the cost to be $3 - $5 billion and be borne by the selected francisee.



Return to top


Useful Utilities

Visual Studio Tools for Git (Free – Windows XP/2003/Vista/2008/7/8 and Visual Studio 2012 – 2.0MB)

It has been interesting to watch Microsoft embrace open-source technologies, especially with its development tools platforms.  This tool brings full integration in Visual Studio 2012 (it’s already bundled in 2013 version!) with Git version control.  The integration is clean and very simple to use.



Ferro (Free – Cross-platform/Google Chrome extension – 770kB)

Most people know that keeping your hands on the keyboard makes you more productive.  Strangely, the one place that this is most difficult to do is in the web browser.  Ferro is a Google Chrome extension that allows you to easily interact with Chrome itself using the keyboard.  Supported actions include opening history or bookmarks, displaying installed add-ons, and more.



Wiretap HTTP Debugger Proxy (Free – Cross-platform library – N/A)

Wiretap is a free, open-source JavaScript library which acts as a proxy for all HTTP requests in your application to any external web service, so that you can debug problems interacting with that API.  It color-codes responses, so that you can quickly identify whether the problem is on your side on not.  Likewise, it supports tunneling so you can debug via localhost.



scoop.sh (Free – Windows 2008/7/8/2012 and PowerShell 3.0  – N/A)

One of the best features of modern Linux distributions is their package management utilities, such as apt-get, yum, yast, etc.  Even after almost 20 years of “modern” Windows, it still doesn’t have a similar mechanism to install common applications.  Scoop.sh is one attempt to remedy that.  Just install the utility and you can install a wide variety of applications from the command prompt very simply.



q (Free – Cross-platform/Python and SQLite – 15kB)

q is a simply Python script that allows you to query tabular text data, such as CSV files, using SQL.  If you’ve ever gotten a data extract in plain text format and had to jump through a bunch of hoops to get the data so that you could query it, q comes to the rescue.



Return to top


Just For Fun

The Pixar Theory

I’m sure it sounds strange, but I’m a bit of a conspiracy theorist at heart.  Here’s a POSITIVE conspiracy theory for your consideration!  This guy examines the premise that all of the Pixar feature films are part of a single universe with an overarching metanarrative that ties them together.  Not sure if it’s true, but very interesting nevertheless.



Real meaning of English poetry’s first line discovered

Perhaps you read Beowulf in high school or college literature and, if so, you probably had to memorize the first line.  Well, according to a British researcher, the initial interjection (usually translated as “Listen!”) is wrong and it changes the meaning of the entire line.  Who would have thought?!



Play Castle Wolfenstein in Your Browser

I freely admit that I’m a sucker for these retro games.  To me, Castle Wolfenstein is one of the greatest games of all time.  To show you how far technology has come in the past 35 years, now you can play it in your browser in a JavaScript emulator!



This Is Why You Shouldn't Interrupt a Programmer

I’m sure that most readers of this newsletter can appreciate this comic.  Even more than the obvious, this really shows how programming is still very much a human endeavor and, therefore, subject to all of the foibles (and flashes of brilliance!) of us people.



Google's Easter Eggs: best hidden jokes planted by software developers

Even though Thanksgiving is the next holiday, who doesn’t enjoy Easter eggs an applications or web sites?  Here’s an overview of some of the gems hiding inside of Google.  Funny that they don’t include my favorite:  Tilt.



Return to top