Up to Newsletter Index

January 2011 Newsletter


Quotable Quotes


There are two ways to write error-free programs; only the third one works.  –Alan Perlis


Mastery in life is achieved by developing a process of constant and rapid correction, rather than the illusory goal of freedom from error; accomplished musicians, aviators and athletes know this.  –Alexander Franklin Mayer


You will either step forward into growth or you will step back into safety.  –Abraham Maslow


You can’t have great software without a great team, and most software teams behave like dysfunctional families.  Jim McCarthy


The way to get started is to quit talking and begin doing.  –Walt Disney


Return to top


Software Development Process and Methodology

Article:  Simple IT: SOA Done Right

In this overview of some recent posts by Steve Jones, the author discusses a proposal for what might be called "agile architecture", which values long term evolution over short term expediency, architectural clarity over coding efficiency, and business strategy over IT strategy.  Sound like some good principles to adopt.



Article:  Code is the Culprit! Always?

Interesting overview of various perspectives on the typical causes for project failure.  Do you think that bad code by itself could doom a project?



Article:  Agile Retrospective Example

Retrospectives are a key element of the agile methodology, because it provides real-time, usable information that can help improve team performance.  But learning how to run a retrospective meeting can be a challenge.  Here's an example, including agenda.



Article:  The Unofficial History of Software Engineering

This article contains some very interesting and astute observations about how cloud computing may allow n-tier architectures to collapse to two tiers:  the client and the cloud.



Article:  Explaining Refactoring to Management

Almost inevitably, when you adopt agile development methods, as your team develops more code, the need to refactor the code base for improved performance, consistency, etc. will arise.  But how do you sell refactoring to management?  Here are some great tips.



Article:  Five Reasons Developers Don’t Use UML and Six Reasons to Use It

Most readers of this newsletter probably have at least a passing exposure to UML.  This article gives some simple reasons why it is probably a good resource to have in your toolkit, especially in trying to clearly communicate architecture.



Article:  One CIO’s “lessons learned” in managing others

This author demonstrates that even failure can have a bright side, if you use it learn some lessons.  One of the points that he makes that most stood out to me is:  Most people need regular shots of both thanks and praise. Thanks and praise are not the same.



Article:  Enterprise tech trends we’ll see in 2011

It's the time of year where everyone either looks back and what happened this year or forward to the next.  Pundit Patrick Gray makes some interesting predictions about 2011 including that tablets won't make it big in the enterprise and that the buzz over cloud computing will subside.



Article:  "FEATURES” is a dirty word

This essay (maybe more of a rant) makes a good point that when we as developers focus too much on features and functionality, we often miss the point that our real job is to solve problems for our users.



Article:  Processes and the people factor

When organizations, especially IT, struggle, often the first inclination of management is to change the processes.  This pundit points out that without understanding the culture and people involved in the process, just changing the process is a recipe for disaster.



Article:  Truly Off-The-Shelf Enterprise Applications

It looks like enterprise software vendors are finally catching up with the rest of the world.  Most enterprise applications are difficult to install and maintain and typically come with an army of implementation consultants.  Now, enterprise vendors are looking to take advantage of virtualization to ease implementation.



Article:  On P, NP, and Computational Complexity

Almost as quickly as it arrived, the buzz around the claimed proof that P NP has died down.  However, this article explains why this is not the end of the story and the fundamental importance of the result.



Article:  What does it mean to be Agile - survey results

One of the difficulties with implementing agile development methodologies is that there are still many different ideas about what agile means.  This article discusses some academic research that is trying to help define the meaning of agile, based on the most important concepts.



Return to top


Software Testing & Quality

Article:  Applying lean concepts to software testing

As agile development becomes more mainstream, many organizations are going beyond agile and adopting principles of lean manufacturing in their development methodology.  This article explains how the software testing group can lead the way in using lean techniques to improve efficiency and effectiveness.



Article:  Updated Software Uses Combination Testing to Catch Bugs Fast and Easy

NIST has released a new version of ACTS (Automated Combinatorial Testing System) intended to simplify testing multiple combinations of test inputs.  In addition, they have published a new comprehensive tutorial on combinatorial testing for practitioners of software testing.



Return to top



Reference:  Laughing Computer

This site is a Google custom search engine for programming topics.  It indexes such resources as Stack Overflow, W3 Schools, Hacker News and more.



Reference:  Eclipse Keyboard Shortcut Wallpaper

If you spend any amount of time programming in Eclipse, you certainly know that keyboard shortcuts can save tons of time.  Here's a nice wallpaper with almost all of the Eclipse keyboard shortcuts that you can use for quick reference.



Tutorial:  Learn the basic concepts and significance of functional programming in 10 minutes

Using some simple examples in Java, including refactoring, the author explains the basic functional programming concepts and shows why this paradigm is becoming more important.  For more information about doing purely functional programming in Java, check out this article.



Tutorial:  Map Reduce: A really simple introduction

The map-reduce algorithm is a very popular and good performing method for distributed computing tasks.  It's what makes Google run.  This explanation (almost a parable) gives you a gentle introduction with a very understandable analogy.



Return to top


Career Development/Miscellaneous

Article:  Yes, Everyone Really Does Hate Performance Reviews

In this book excerpt, which grew out of a popular op-ed piece in WSJ, the author gets right to the heart of why the ubiquitous performance review is so maligned by workers at all levels of the organization:  It is typically a bogus, fraudulent evaluation of the employee’s work.  He says it needs to be replaced by good day-to-day management with discussions about problems as they come up.



Article:  IT Salary: National Averages for 45 IT Jobs

Even with the continued economic doldrums, you are still advised to periodically review your salary in comparison with others who do the same kind of work.  This summary from a Salary.com survey shows the national averages, including distribution for almost 4 dozen typical IT titles.



Article:  Application Development: Java, C, C++: Top Programming Languages for 2011

Despite Forrester's declaration that Java is a dead-end platform, this language still tops the list of most popular programming languages for enterprise development, based on multiple surveys.  Likewise, old stalwarts like C and C++ are still very much in demand.



Article:  How to foster teamwork among techies

Technical workers still carry the stereotype of being "lone rangers".  But even on geographically distributed teams, collaboration is still necessary.  Here are some case studies on fostering teamwork.



Article:  Why IT Jobs Are Never Coming Back

A new study from the Hackett Group says that corporate IT will no longer contribute to IT job growth due a combination of factors including increased offshoring, more global IT infrastructure options, and better automation.



Article:  How to Interject in a Meeting

Technology workers are often reticent when it comes to participation in meetings.  This article gives some great ideas on low-risk ways to speak up politely, but firmly when you want to make a comment.



Article:  How to Give Your Boss Feedback

One of the most disconcerting and daunting activities for many employees is to provide feedback to the boss.  Here are some excellent tips for how to effectively provide both positive and negative input to your manager.



Article:  The Secret Origin of Windows

Microsoft Windows is ubiquitous now, but that hasn’t always been the case.  (Even I remember when Windows didn’t exist!)  This is the story of Tandy Trower, who was the product manager who actually delivered Windows 1.0 after many failed attempts.



Article:  Jobs For People Who Don't Like People

You probably won't be surprised to find "computer programmer" on this list.  But I have to take some exception to the URL for the story:  Jobs for Haters!



Return to top


Telecommunications/Networking Industry

Article:  How Ma Bell Shelved the Future for 60 Years

In this excerpt from a new book by Tim Wu, the author discusses how in the 1930s AT&T had technology far ahead of its time, but didn't roll it out due to fear that it would drive customers away from the telephone.



Return to top


Useful Utilities

DropIt (Free – Windows 2000/XP/2003/Vista/7/2008 – 2.1MB)

Keeping files organized on your hard drive can be a monumental task at times.  DropIt provides a desktop "target" which you can drop files on to be sorted.  You can define actions, such as move, copy, compress/archive, etc., based on file name or file type/extension.  Likewise, you can define multiple profiles to handle different actions based on projects or other criteria.  And it's even available in a portable version.



Diff-IE (Free – Windows 2000/XP/2003/Vista/7/2008 and Internet Explorer 7, 8, or 9 – 4.76MB)

Diff-IE is an Internet Explorer add-on from Microsoft Research that highlights changes on web pages between visits.  It can even view and compare different versions of a page from browser cache.  Excellent tool for testing web-based applications.



FlowHeater (Free – Windows 2000/XP/2003/Vista/7/2008 – 6MB)

Got data in a spreadsheet or CSV file that you need to get into your database?  Most popular database platforms support some type of import function, but they aren't always intuitive and can be quite finicky.  FlowHeater helps with this problem by providing a common method for handling these conversions, including some basic drag-and-drop ETL support to allow transforming of data before loading.  It has "adapters" for many databases (MS SQL Server, MySQL, Oracle, and more) and data formats (CSV, Excel, and plain text).



BKO (Free – Web-based/Cross-platform – 622kB)

Using a small PXE loader on either USB flash drive or CD, you can boot your computer remotely using a variety of Linux distributions, including Debian, Ubuntu, and DSL, plus other utilities like hard disk managers.  They aren't always the latest distributions, but really handy option.  And, if you use USB flash drive, you can even save your data from your session.



Return to top


Just For Fun

20 Awesomely Untranslatable Words from Around the World

Even though the English language has so many words that we throw a bunch out all the time (but you can rescue some of these cast-offs!) and invent new ones, here are some words from other languages that don't have single-word equivalents in English.



A Guide to GIT using spatial analogies

If you find the regular Git documentation a little too simple for your liking, then perhaps this one might be more your speed.



5 Mistakes You Couldn’t Have Made In 2005

To bring home the rapid pace of technological change, especially in social media, check out this list of faux pas that didn't exist five years ago.  To me, it's hard to believe that YouTube is only 5 years old!


Google Suggest Venn Diagram Generator

Even though many folks find the new Google Suggest functionality a bit annoying, it is useful for having a little bit of fun. 



Return to top