Up to Newsletter Index

August 2011 Newsletter


Quotable Quotes


A little thought and a little kindness are often worth more than a great deal of money.  –John Ruskin


Success is achieved and maintained by those who try and keep trying.  –W. Clement Stone


True leaders don't choose the popular way, they make the right way popular. Leaders create consensus.  –Rick Warren


The more project management you do the less likely your project is to succeed.  Former Google CIO Douglas Merrill


I can't change the direction of the wind, but I can adjust my sails to always reach my destination.  –Jimmy Dean


A perfection of means, and confusion of aims, seems to be our main problem.  –Albert Einstein


Return to top


Software Development Process and Methodology

Article:  Software Calculus - The Missing Abstraction

Like Leibnitz and Newton's mathematical breakthrough with calculus, Uncle Bob Martin speculates that software development is on the verge of a huge leap forward in substance that takes us beyond "sequence, selection, and iteration."



Article:  Estimation is not a Black Art

Of all of the tasks in software development, I believe that accurate estimation of effort and duration of work is the most difficult.  As Jonathan Swift said, people are not rational and so our cognitive biases take over and we often grossly over- or under-estimate.  This article gives some good practical tips that will help you improve your task estimation, including in agile environments.



Article:  Be or Be Not; there is no Do in Agile

In this distinctive twist on Yoda's famous line "Do, or do not.  There is no 'try'", this author emphasizes that agile is not something that you do, but, to be successful, it something that you become.  In other words, until the agile principles are internalized, you can't expect to make much progress.



Article:  Software exoskeletons

While this article specifically deals with the mental models between scientists who develop software and "professional" software development, it likely has similar applicability when considering how business customers approach software development when considering it a black box.  Some good food for thought about how we interact with our customers.



Article:  The Principles of Good Programming

Nothing really new or revolutionary in this article, but it is a good concise reference on some of the practical principles that should be used to write good code.  This might be one to bookmark and refer to periodically.



Article:  Why Scrum will never work

The title of this article is intentionally provocative (got me to read it!).  Nevertheless, the author points out a number of common pitfalls that teams make when trying to implement agile using the Scrum methodology.  The overarching theme of these problems is that strong management commitment to agile principles is critical.



Article:  Beyond the manifesto: The Software Craftsmanship Attitude

Notwithstanding the desire in some quarters to stop the proliferation of manifestos, this article provides a good framework for personal development in the practice (or "craftsmanship", if you prefer) of programming.  It focuses on a three-pronged approach:  reading, practicing, and community participation.



Article:  Oracle Announces Availability of Java SE 7

Nearly 5 years after the last major release of Java (by Sun at the time) and following much weeping and gnashing of teeth, Oracle has officially released Java SE 7.  Some of the most anticipated new features include support for strings in switch statements and multiple exception handling syntax.



Return to top


Software Testing & Quality

Article:  Software Testing Moves Higher up the IT Agenda

As dissatisfaction with quality of applications increases, it seems that organizations are getting the message and increasing investment in quality and testing.  Most money continues to be spent on manual testing, but test automation and cloud-based testing are taking hold, too.



Article:  Automated Testing is Not QA

This author emphasizes the important fact that unit test code is code just like any other and, therefore, is itself subject to having defects.  Furthermore, he notes that QA, distinctly different from testing, is about the development process, rather than some single part of the process.



Article:  Top 10 Reasons for Bugs in Software

When testing (or doing anything!), we all bring cognitive biases that prevent us from seeing the "big picture" fully.  In testing, it's easy to think of problems resulting from a single underlying cause, typically coding errors.  This list is a good reminder that their many origins for problems (and most of us are familiar with the ideas that poor/incomplete requirements are one of the major causes).



Article:  Determining Business Risks for Testing

One of the hardest things for new testers to learn is that not every aspect of even the simplest system can be tested (or tested effectively).  This article gives a great overview of risk-based testing and how to decide what to test based on business impact/value.



Article:  Responsible Bug Reporting and Triage

Defect reports are the stock in trade for software testers.  Accordingly, writing good, repeatable bug reports is extremely important.  This article goes beyond the basics and includes how testers should triage issues to ensure that the most important items are addressed first.



Return to top



Tutorial:  Barebones Spring MVC

Spring MVC is probably the most popular framework for web development using Java.  But there is a dearth of approachable tutorials for beginners to the platform.  This free online book provides a simple, yet detailed, step-by-step approach to building a Spring MVC application.



Tutorial/Reference:  Nobody Understands REST or HTTP

If you are looking to build a REST API for your web application, make sure you read the ideas and suggestions in this article.  You may not agree with all of them, but they'll definitely help you to think through the best approach.



Tutorial:  Using Git with Subversion: Tips that will make your life easier

If you prefer the Git version control system, but still work on projects that use Subversion, these tips will help you work effectively using the git-svn tool.



Reference:  Netcat cheat sheet

To do almost any kind of network troubleshooting, netcat (available on Windows too) is an invaluable tool.  This cheat sheet gives you a good overview of the basic features as well as some of the more advanced ways you can use it.



Reference:  A rough guide to JVM languages

By now, it's fair to say that the JVM is the real victory for Java.  Over the past couple of years, many folks have predicted the demise of Java itself (unlikely in the foreseeable future, in my opinion), but even if it were to go away, there are plenty of great options that allow you to write code that runs anywhere that Java can.  While certainly not an original idea, my money would be on Scala (which is even being ported to .NET) or Clojure taking the mantle from Java.



Return to top


Career Development/Miscellaneous

Article:  One major promotion killer

Technology workers that are looking to move up the corporate ladder need to be careful about too things:  Not making themselves indispensable in the current role by grooming other experts in their area and adapting their communication styles to suit management instead of other technical workers.



Article:  Why Big Software Companies Fail at Hiring Good Talents

At one time or another, probably most of us have dreamt of working for Microsoft, Sun, Google, or a similar big software company.  This article provides an insightful look at why hiring good candidates and filtering out the bad doesn't work at these companies.  And these same pitfalls probably happen at most companies who hire programmers/developers.



Article:  10 curses of the analytical thinker

Technical workers tend to be "left-brained" (analytical, linear thinkers), which, as this author points out, has both advantages and disadvantages.  Knowing the downsides of the logical thinking style can help you work better with others in all situations or even when looking for a new job.



Article:  Why are web workers happier?

According to some new researcher, employees who work from home more than half of the time are more satisfied with their jobs, because of more flexibility and ability to balance personal and work life, along with enjoying less stress from interruptions and office politics.  Of course, telecommuting is not without its disadvantages, too.



Article:  The future of IT will be reduced to three kinds of jobs

This pundit believes that IT is undergoing massive changes that will result in 3 general classes of IT workers:  consultants, project managers, and developers/programmers.  Nevertheless, technology jobs are still a good option in the new economy.



Article:  5 Reasons Why You Need to Get Better at Saying "No"

Modern life and work is so fast-paced that most of us usually have a hard time catching our breath.  If you want to slow down a bit, one of the best ways is to learn to say "No" to some things.  This article helps you understand the value of saying "No".



Article:  Fragmented sleep 'harms memory'

As I get deeper into middle age, I know that my memory is starting to fade and that frustrates me.  Well, perhaps declining memory is not only a sign of age, but of poor sleep.



Article:  More Education Means More On-the-Job Engagement, But Also More Stress

Weep for the well educated!  According to this new survey of over 5000 workers, those with PhDs and master's degrees are more likely to have high stress at work or struggle with work-life balance.  Likewise, the survey showed that younger workers are less engaged than older workers.



Article:  9.2% Unemployment? Blame Microsoft.

This is an interesting look at how technologically-driven productivity improvements have affected job losses and allowed businesses to continue after the recession without new hiring.  But don't lose hope, because maybe even Steve Jobs couldn't find a new job today.



Article:  Top 25 Companies For Work-Life Balance

Looking to improve your work-life balance in your career?  Check out this list of the best 25 employers based on employee feedback.



Return to top


Telecommunications/Networking Industry

Article:  Netflix Quietly Helps Capped U.S. Broadband Users

With metered/rate-limited Internet service becoming the norm in many places, Netflix has introduced three tiers of video quality for their streaming service to help customers avoid hitting their cap limits.



Article:  New white space standard: up to 22Mbps over 12,000 square miles

The IEEE wireless standards committee has approved the new 802.22 standard which allows use of spectrum "white space" for wireless communication with range up to 100km, which would cover an area 1-1/2 times the size of Wales.  This development is likely to ease broadband access in rural areas (even though only 16% of US population is rural!).



Article:  State of the Internet report

Akamai's quarterly "state of the Internet" report shows that the worldwide average connection speed is up almost 1/4 over last year with South Korea having the fastest average and the U.S. coming in 14th at an average of 5.3 Mbps.  They also observed that Myanmar jumped to the top of the list of sources of malicious code with 13% of it coming from there.



Article:  Ethernet bandwidth is outpacing legacy service bandwidth

This year is the first time that access orders for Ethernet services are above orders for traditional access lines.  Traditional services orders are increasing at an annual rate of 1%, while Ethernet is growing at a rate of 22% per year.



Return to top


Useful Utilities

Text Sharp (Free – Windows XP/2003/Vista/2008/7 and Visual Studio 2010 [any version] – 25kB)

Text Sharp is an add-on for Visual Studio 2010 that allows you to adjust the text rendering mode in the VS editors.  If you find the anti-aliased fonts annoying, you can turn this off or even choose grayscale or ClearType.



BPMN 2.0 Modeler for Visio (Free - Windows XP/2003/Vista/2008/7 and Visio 2003, 2007 or 2010 – 17.2MB)

There are plenty of free standalone BPM tools and Visio has some basic support, but this tool goes way beyond those.  It supports Process diagrams, Collaboration diagrams, Choreography diagrams and Conversation diagrams described in the BPMN standard. 



Bespin Bookmarklet (Free – Cross-platform browser-based tool – N/A)

If you frequently use edit boxes in browser-based applications and wished there were better editing features, this bookmarklet comes to the rescue.  Just add the bookmarklet to any modern browser (Firefox, Safari, IE 8+, or Chrome).  Then, when you are on a page with an edit box, click on the bookmarklet and hover over the edit box to display the icon to enable editing using the Bespin rich editor.



jQueryPad (Free – Windows XP/2003/Vista/2008/7 and .NET – 306kB)

If you are new to jQuery or just want to try out a simple change to some of your jQuery code, jQueryPad is an invaluable tool.  It allows you to edit your HTML and jQuery code in two separate editing boxes and then automatically merges them and displays the results in an embedded web browser (Internet Explorer).  You can save your changes and even run them in external browser (Internet Explorer, Google Chrome, or Mozilla Firefox).  Think of jQueryPad as a desktop scratch pad for front-end web development.



PasteBin (Free – Windows XP/2003/Vista/2008/7 – 375kB)

PasteBin is a cool desktop front-end for the great PasteBin.com code snippet sharing/hosting site.  One of its greatest strengths is the ability to keep track of your pastes even if you only use the site as a guest.  If you have a user account on PasteBin.com, you can upload your pastes and specify the lifetime of the snippet and accessibility (public/private).



WebPutty (Free [for now] – Cross-platform/Web-based – N/A)

WebPutty is an online, interactive CSS editing tool.  It allows you to see a preview of a site (even if it's not your own!) and the associated CSS side by side and then edit the CSS and see the changes immediately.  Currently, the tool is free and requires a Google account.



Return to top


Just For Fun

Street View New York 1982

What if Google Street View had existed 30 years ago?  This artist has stitched together some images from 1982 to imagine what it might have been like.  Very cool!



Study Says Technology Could Transform Society (1982)

Many of the positive and negative aspects of the Internet as we know it in 2011 were predicted with amazing clarity over 30 years ago.  Not to mention that many of the things that we think of as Internet revolutions existed quite some time before.



The Vash - The Visual Hash

Perhaps this item should go in the Useful Utilities section above, but…  Anyway, this cool cross-platform tool generates abstract art from input data, known as a perceptual hash.  With the tool, you can create your own from source code, random data, famous texts, or anything.



The Magic Button

Ever wish that there was an "Easy" button for life?  Well, now there is!  Sort of…



Swiss party makes dislike of PowerPoint a political issue

While most of us probably have a distaste for Powerpoint and similar presentation software, I'm not sure that I'd quite go to this length to banish it.



Return to top