Up to Newsletter Index

March 2010 Newsletter


Quotable Quotes


The chief lesson I have learned in a long life is that the only way to make a man trustworthy is to trust him; and the surest way to make him untrustworthy is to distrust him and show your distrust.  –Henry L. Stimson


If you want to go quickly, go alone. If you want to go far, go together.  –African Proverb


The world is wide, and I will not waste my life in friction when it could be turned into momentum.  –Frances Willard


Every now and then go away—for when you come back to your work your judgment will be surer.  –Leonardo DaVinci


I'm not a genius. I'm just a tremendous bundle of experience.  –R. Buckminster Fuller


Coming together is a beginning, staying together is progress, and working together is success.  –Henry Ford


There is a wisdom of the head, and a wisdom of the heart.  –Charles Dickens


People do not decide to become extraordinary. They decide to accomplish extraordinary things.  –Edmund Hillary


On two occasions I have been asked [by members of British Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.  Charles Babbage


Return to top


Software Development Process and Methodology

Article:  5 Points To Make When Your CEO Cries Cloud

Undoubtedly, cloud computing is one of the disruptive technologies reshaping IT, so it’s just a matter of time before business folks start asking how their IT is going to use it.  Here are some suggestions about explaining a taking-it-slow approach.



Article:  How Agile Changes Traditional Project Roles

One of the most important aspects of agile development adoption and success is in getting all of the project team members to understand and embrace their new roles.  This book excerpt explains the differences in roles when Scrum methodology is used.



Article:  How do we kick our synchronous addiction?

While the whole imperative versus functional programming debate gets a lot of attention, this author brings up a very key point:  the greatest opportunity for improving memory usage and overall throughput would be to use asynchronous programming concepts.  He emphasizes that while many languages don’t make this easy, programmers need to start thinking about co-routines and what he calls “lightweight processes” in all of their work.  Python has a proposed enhancement for asynchronous execution.



Article:  Agile Requirements Breakdown Structure

This article presents a nice way to stratify the various levels of requirement detail for any sort of development project, whether you are using agile techniques or not.  It defines the top-down structure of vision à goals/outcome à features (“cohesive chunks of business value”) à stories.



Article:  Understanding nonfunctional requirements

Non-functional requirements, which are sometimes called the “ities”, are often just as important to the users of a system as the functional requirements.  However, developers and analysts often give non-functional requirements little attention, many times because they are difficult to nail down.  This article gives you some good ideas about how to quantify these requirements effectively.



Article:  Are You a Software Architect?

There are probably as many definitions of “software architect” as the number of people that you ask.  However, this author takes a very pragmatic approach to differentiating the skills and responsibilities between architects and developers.



Article:  Problems with TDD

In this response to an empirical study about test-driven design (TDD) effectiveness, this author provides some specific personal examples using common programming tasks to demonstrate the value and pitfalls of TDD.  Hopefully, his comments will help you avoid some of the tragic mistakes of TDD.



Article:  Value-Creation, Experiments, And Why IT Does Matter

In this article, from an MIT special report on IT-driven innovation, the author says that the reason IT has lost respect from the business is because they don’t innovate and don’t work at creating business value.



Return to top


Software Testing & Quality

Article:  Bug Opportunity Levels

One of the key principles of Six Sigma programs in manufacturing is the concept of “area of opportunity” for a defect (e.g., entire circuit board versus a single solder joint).  This author applies a similar principle to software by defining a taxonomy with 5 levels of opportunities for mistakes to occur causing introduction of bugs.



Article:  Why testers?

Joel Spolsky says that one of the greatest services that testers can provide is to giving developers immediate feedback on their work that otherwise they might have to wait months (or longer) to get from customers.  This allows the development process to be corrected and tuned before significant problems occur.



Article:  The best bug tracking system. Don’t raise bugs, write an automated test!

I certainly don’t want to put any software testers out of a job, but this brief article raises a good point about streamlining the development process by using TDD to prevent unnecessary back-and-forth between development and test.



Article:  Toyota's unhappy introduction to the software business

Unless you are hermit, by now you’ve heard all that you probably want to about Toyota’s recent quality problems.  This article explores the software quality angle of this situation and how they mismanaged it, because it wasn’t a hardware problem that they usually handle well.



Return to top



Tutorial:  Modelling object-oriented software – an introduction

Most software development professionals acknowledge the value of modeling an application before fully implementing it.  However, modeling is not often done, not usually because it takes too long or costs too much, but because developers don’t understand how to do it.  This free online course is a comprehensive OOP modeling tutorial that includes explanations and self-tests to confirm understanding.



Tutorial:  What Does Monad Mean?

The term “monad” is tossed around loosely (and frequently) in functional programming circles (and elsewhere!), but many developers don’t understand what it means or how monads are really used.  This excellent, comprehensive tutorial explains them using examples from Scala and C#.



Tutorial:  Design 0.101 for Programmers

You might call this article “the absolute minimum that any web programmer should know about design”.  Basically, the author lays out, with a good example, how to apply some simple and minimal CSS to provide nice, clean lines to your web application.



Tutorial:  What really happens when you navigate to a URL

So most of us probably don’t write applications that communicate directly via HTTP, but it’s still useful to understand what goes on behind the scenes when you click on that URL link.



Quiz/Tutorial:  JavaScript quiz

Think you’re pretty good with JavaScript?  Take this 16-question quiz and find out just how much you know or don’t know.  Then explore the author’s site for lots of great tips about JavaScript.



Tutorial:  Python basics for PHP developers

Are you a PHP developer who has heard about Python, but don’t know what all of the interest (or hype!) is about?  This article explains, with copious examples, some of the key advantages of Python by using some common PHP metaphors.



Return to top


Career Development/Miscellaneous

Resource:  The Geography of a Recession

This interactive map from the NY Times shows the unemployment rate across the US by county.  Click on a county for additional details.  The most interesting aspects of this tool to me were that the recession (so far!) is mostly an east and west coast phenomenon, but creeping toward the middle (does this mean middle will the last to recovery?!), and the unemployment intervals on the map seem to portend higher rates.



Article:  Why Groups Fail to Share Information Effectively

Hardly anyone would deny that poor communication in organizations is one of the leading causes of problems and frustration.  This is an excellent literature review that explains the psychosocial mechanisms behind this phenomenon and offers some tips on what to do about it.



Article:  Midday Nap Markedly Boosts the Brain's Learning Capacity

Here’s some information that you can give your boss the next time you get caught staring at the insides of your eyelids.  UC Berkeley researchers have found that a 90-minute daily nap can help improve learning later in the day.



Article:  What Really Motivates Workers

Most managers use the conventional wisdom that workers are motivated most by recognition.  However, new research “shows that making progress in one’s work—even incremental progress—is more frequently associated with positive emotions and high motivation than any other workday event.”



Article:  10 Principles for Successful Work-Life Balance

When it comes to having a purpose in your work, one of the greatest demotivators is having poor balance between work and life.  Technical professionals often have some of the greatest challenges in this area.  This article offers 10 ideas for getting back into equilibrium.



Article:  The painful truth about age discrimination in tech

Any type of job discrimination is unacceptable, but IT has a long reputation for surreptitious discrimination against older workers.  This article points out that the whole dynamics around this topic are very hard to completely understand.



Article:  Why we procrastinate and how to stop

Some new psychological research indicates that people who approach a task in specific concrete terms are less likely to procrastinate than those who view it in a more abstract sense.  At the same time, sometimes procrastination reaps benefits.



Article:  The Way I Work: Paul English of Kayak

In this first-person account, Paul English, founder of online travel site Kayak.com, explains his daily routine.  One notable practice is that he requires the Kayak developers and programmers to routinely take customer support calls to help them understand the consequences of design and implementation decisions.



Article:  How to Write Great Cover Letters for Your Resume

Next to a good resume (which we talk about quite a lot here!), having an impactful cover letter is one of your best tools in "cold call" job hunting.  This article offers some great, but simple tips.  My favorite is the concept of having multiple cover letter "templates" for various situations and then using the best parts of all of them to refactor into the best base template.



Article:  The A to Z of Programmer Predilections

This item might have been better suited for the Just For Fun section, but I think it belongs here.  This author lists over two dozen of the “flavors” of developer personalities.  You’ll probably recognize some of your coworkers—and yourself—on this list.



Return to top


Telecommunications/Networking Industry

Article:  2009 U.S. Business Ethernet LEADERBOARD

Level 3 shows up on this survey of top Ethernet providers to business, which is led by AT&T.  Companies on the list have at least 4% market share for Ethernet services.



Article:  In-Stat: VoIP Gaining Ground in Business

Analyst company In-Stat reports that nearly 80% of U.S. businesses will be using VOIP by 2013, almost double the rate in 2009.  Likewise, hosted IP Centrex has now surpassed Broadband IP Telephony as the leading carrier-based VOIP platform.



Article:  The Power of 'Random'

A technique called network coding, which involves network routers to mathematically combine multiple packets using randomization into a hybrid “superpacket”, can make network transmission more efficient.



Article:  Cost, Crotchetiness Keep Broadband Out of 1/3 of U.S. Homes

In advance of the FCC’s national broadband proposal, they have released their latest report on broadband use.  While cost is still a significant factor in preventing broadband adoption for over 90 million people, a significant number of people apparent don’t want to get on the Internet.



Article:  The lost souls of telecommunications history

Most people think that modern telecommunications began with Alexander Graham Bell.  However, this article shows that Bell was the recipient of many advances from less well-know, but equally important, people that led to the telephone.



Article:  The State of the Internet

At the beginning of the decade, here’s a nice visual of the statistics of the global Internet.  Although, it doesn’t really address Internet addiction.



Article:  Obama Reiterates Support for Network Neutrality

Given all of the other issues recently (economy, health care, earthquakes, and more), perhaps you thought network neutrality had fallen off the plate.  In a YouTube video, President Obama states that he still supports it.



Return to top


Useful Utilities

CopyPasteCharacter.com (Free – Online Tool – N/A)

Every once in while (or maybe even more often!) you need a “special character” for a document you are writing.  On Windows, you can fire up the Character Map application or you can try to remember the keyboard “shortcuts”.  Or you can just go to CopyPasteCharacter.com and click on the character you need and just paste it right in.  It supports copying multiple characters at once and you can even choose to copy the associated HTML entity tag instead.



InfoDesk (Free – Windows 2000/XP/2003/Vista/7 – 1.23MB)

InfoDesk is a fantastic multi-function (and it really has many functions!) utility.  The main window features CPU and memory utilization and basic date and time displays.  Inside the application, it has built-in scientific calculator, notepad, console (command prompt), calendar with astronomical data, window explorer (shows properties of “target” window), clipboard history, and much more.



StExBar (Free – Windows XP/2003/Vista/7 – 335kB)

StExBar adds a simple toolbar to Windows Explorer with lots of functions that Microsoft forget, including copy the file name or path to the clipboard, regex-based renaming of multiple files, opening a Command Prompt in current folder, and searching the folder.  You can even add hotkeys for each utility and add your own custom buttons to launch your favorite application or utility.



CinemaDrape (Free – Windows XP/2003/Vista/7 – 100kB)

If you sometimes get distracted from what you are working on due to many open windows or clutter in the window you are using, CinemaDrape is for you.  It blanks out everything on the screen except for the area that you are using, such as a video or editing area.



Listary (Free – Windows XP/2003/Vista/7 – 827kB)

Listary is a cool little add-on for Windows that turns any list control (listbox, drop-down list, etc.), including in Windows Explorer, Registry Editor, and more, into customizable power tool.  You can select items in the list by name, including wildcards, and it supports tab completion.  Likewise, it has configurable hot key support.



tinySpell (Free – Windows 2000/XP/2003/Vista/7 – 592kB)

Automatic spell checking in word processors has spoiled us.  Don’t you wish that you could have spell checking in every application?  With tinySpell you can!  Some of the great features include visual and audio alerts to mis-spelled words, display of dropdown list of recommended replacement words, spell checking in the clipboard, quick access to online reference tools (thesaurus, search, and encyclopedia), and much more.



WebSequenceDiagrams.com (Free – Online tool – N/A)

While most of the various UML diagrams are useful in various situations, sequence diagrams are frequently the most valuable in sorting out inter- and intra-system interactions.  This free online tool lets you create sequence diagrams using simple text syntax.  It then draws your diagram using one of many styles and you can even export the diagram as a PDF file.



Return to top


Productivity Tips

Paste only the values in MS Excel 2007 with using Paste Special

The normal way to replace calculated values from formulas with their values in MS Excel 2007 is to select the range, copy them (<Ctrl>+C), and then choose Paste Special and specify Values in the Paste Special dialog box.  But there’s an easier that avoids the Paste Special dialog altogether:  Select the desired region as usual, right-click and drag on one of the borders of the selected area and then drag back to the original selection area.  Excel will display a context menu.  Choose the Copy Here as Values Only option.  And check out the other options, such as Copy Here as Formats Only.


Return to top


Just For Fun

15 Things You Never Noticed on a Dollar

We use currency (paper money—actually it’s made of cotton and linen fiber!) everyday, but have you ever looked at a bill careful to see what all is on it.  Quite a few interesting things to discover!



Atlas Obscura

This site bills itself as “wondrous, curious, and bizarre locations around the world” and that is a fitting description.  Take virtual tours of some the strangest places on the planet from the comfort of your computer.



64 Things Every Geek Should Know

Do you consider yourself a geek?  Not sure?  Then check out this list of 27 things that all true geeks must know.



The Oscar Shorts

Watch each of the live-action and animated short films nominated for 2010 Academy Awards.  Which one do you think will win? 



Unobtrusive CSS Framework

Have you been searching high and low for a good CSS framework that doesn’t cramp your style (pun intended!)?  This might be just the framework that you need.  It even includes styles for tables and forms.  ;)



World Loanword Database (WOLD)

Very few languages still exist that don’t “borrow” words from other languages.  This project catalogs these so-called “loanwords” in 41 languages based on a 1 - 5 scale of the likelihood that the word originated in a different language.  For example, check out “plastic”.



Return to top