Up to Newsletter Index

July 2008 Newsletter


Quotable Quotes


The true worth of a man is to be measured by the objects he pursues.  –Marcus Aurelius


There is no such thing as a failed experiment—only experiments with unexpected outcomes.  –R. Buckminster Fuller


The palest ink is better than the best memory.  –Chinese proverb


Tears are the rinse water of an unhappy heart.  Raynor Schein


Motivation is everything. You can do the work of two people, but you can't be two people. Instead, you have to inspire the next guy down the line and get him to inspire his people.  –Lee Iacocca


The perfection of a clock is not to go fast, but to be accurate.  –Luc de Clapiers


All programmers are playwrights and all computers are lousy actors.  –Unknown


Ability is what you're capable of doing. Motivation determines what you do. Attitude determines how well you do it.  –Lou Holtz


It is easier to be wise for others than for ourselves.  –Francois De La Rochefoucauld


A handful of patience is worth more than a bushel of brains.  –Dutch Proverb


Return to top


Software Development Process

Article:  Improving BPM with Object Solutions

In order for business process management (BPM) to be effective and flexible/maintainable, organizations need to start looking at BPM with an object "lens":  as a collection of tightly coupled data-plus-function/action bundles.



Article:  Why Agile Doesn't Really Work

While I don't necessarily agree that agile techniques are without any value, this author makes a strong case for how most companies do not have sufficient organizational maturity to support the foundational techniques of agile development.



Article:  Software's Dirty Little Secret

Grady Booch is interviewed about the importance of true architecture, planning and design in software development and his crusade to turn development into a true engineering discipline.  And be sure to check out this thoughtful and well-reasoned response to Booch.



Article:  Anatomy of a runaway IT project

Project failure occurs far too often in software development.  In this article, a manager presents the underlying causes of failure from an report on an actual project.



Article:  The Software Project Manager's Bridge to Agility: Scope Management

One of the foundational tenets of agile development is that scope is never static.  Agile projects expect and plan for scope changes.  This article looks at how project leaders on agile projects manage scope (and user expectations!).



Article:  How Tomorrow's CIO Can Buck The Trend Of Waning Influence

New survey results show that both line-of-business executives and IT professionals believe that the influence of the CIO has been reduced over the past year.  The conclusion is that technical chops have been sacrificed on the altar of business "smarts".



Article:  The role of architecture in agile development

Many people associate agile development practices with a free-for-all approach.  However, this article demonstrates that good architecture is a cornerstone of agile development, especially as it relates to managing consistency among various applications.



Article:  15 turning points in tech history

With a flavor for possible alternate history scenarios, this article looks at some of the events that have shaped today's technology environment.



Article:  Project Management Screw-up #5: We Didn't Have the Right Sponsorship

In my experience, one of the most overlooked aspects of project management is determining and proper engagement of a strong sponsor (and/or steering committee) for a project.  This article discusses the ins and outs getting good sponsorship for you project.



Article:  The Agile Coach, from A to Z

Agile methodologies often include a role called "coach".  But how is this role different from a project manager or technical lead?  This article explains the coach function (which may be performed by a member of the existing team).  Good advice for any project leader, whether you do "agile" or not.



Return to top


Software Testing & Quality

Essay:  What Makes Software High-Quality?

This excellent essay examines the characteristics of high-quality software, as well as the techniques used to develop such applications.  While the essay is oriented toward open-source application development, the tips can be applied to most any development effort.



Reference:  Common Software Errors

This is an online version of the appendix from the Kaner, Falk, and Nguyen book that provides an excellent classification and taxonomy for the types of errors/defects that you will encounter (and should be looking for!) in testing.



Article:  Why Unit Tests Matter and How They Will Save You Time

Unit testing saves time in the long run, not just because it helps you find problems sooner, but mostly because it makes you think more critically and introspectively about the requirements and design of your system.



Article:  The Relationship Between Software Aesthetics and Quality

Do the observable external characteristics of form, fit, and finish of a software application give an indication about its underlying quality and robustness?  According to this article, sub-titled "Most Software Stinks!", the answer is yes.



Article:  Making Software Quality Metrics Actually Work

One of the common struggles of software quality and testing organizations is in providing "actionable" information on the testing results.  This brief article shares some key success factors for metrics.



Article:  Of Aviation Crashes and Software Bugs

This author suggests that the best method to develop software with good quality to use "defensive programming" practices to build quality in from the start and throughout the process.  While this should be obvious to most professional developers, it is sadly not the standard.



Return to top



Tutorial:  Introduction to Dynamic Programming

While dynamic programming may not be a technique you use everyday, it is very effective in solving optimization and search problems.  This article gives an understandable introduction, with copious examples in Python.



Tutorial:  Source Control with Subversion

If you haven't used source code management tools before, setting them up can be a daunting task.  This tutorial gives you step-by-step instructions for obtaining and configuring a Subversion repository in Windows.  And Subversion is not only for source code, but makes a great tool for versioning documents, as well.



Tutorial:  How It Works: Filesystems

Filesystems are probably one of the most mundane, but most important features of any operating system.  This article takes an OS-agnostic look at just how filesystems work.



Reference:  The Creators of 30 Programming Languages

This site presents links to the biographies, blogs, interviews, and home pages of the creators of many popular (and some rather obscure!) programming languages.  Great for doing research on the motivations behind these languages. 



Reference:  21 Laws of Computer Programming

Even though this list is really intended to be humorous, it contains some gems that developers and project managers should not forget in order to help them be more effective and efficient.



Tutorial:  Database Normalization and Table Structures

This simple, step-by-step tutorial explains the database normal forms and shows how to apply these concepts to your own database design.



Tutorial:  Manipulating Strings in Java

This is a nice introductory tutorial to the Java String class and the various functions that are available.  Very good for developers moving from languages that don't have built-in strings, such as C++.  Uses examples like searching for substrings, reversing a string, and more to introduce the capabilities.



Return to top


Career Development/Miscellaneous

Article:  Are You Spending Your Time the Right Way?

This author suggests three steps for allocating your time wisely and strategically:  Break your responsibilities in categories, ask yourself what percentage of your time you should be spending in each category, and check for alignment with your superiors and colleagues.



Article:  IEEE Spectrum Special Report on The Singularity

This report covers various topics on Vernor Vinge's predicted "singularity" involving convergence of technology and the human mind.  However, author and future pundit Douglas Hofstadter takes a more dim view of this vision of the future.



Article:  Asperger's: the IT industry's dark secret

IT is an attractive career for those with autistm spectrum disorders, such as Asperger's syndrome.  Apparently, the ability (real or perceived) to be anonymous, along with focusing on problem solving over social interaction, is the strongest draw.



Article:  How to Write (in a thousand words or less)

Even if you don't make a living as a writer, we are all writers and must use the written word to communicate (e-mail, IM, reports, etc.).  This article has some simple and excellent tips for putting more power into your writing.



Article:  The Web Time Forgot

Most people consider Vannevar Bush's essay "As We May Think" as the progenitor of the modern World Wide Web.  But this article points to a project called the Mundaneum that preceded Bush's description by over a decade.



Article:  How Much Sleep Do You Really Need?

Sleep is one of life's greatest mysteries.  And lack of sleep should not be treated as a badge of honor.  But how much do you really need?  According to experts, 6-1/2 to 8 hours per night is optimum.  Interestingly, more than 8-1/2 hours of sleep tends to have negative health consequences.



Article:  Remote Workers: How to Be Out of Sight but Not Out of Mind

Telecommuters face challenges that folks in the office don't even give a second thought about.  Here are some tips to making your presence and importance felt even when you aren't physically there.



Article:  The New IT Benchmarks

Even though it is a relatively new profession, IT demands change quickly.  The current needs for IT professionals revolve around "technical instinct" (knowing technologies to apply to solve a problem) and "enthusiasm".  Interestingly, certifications are diminishing in value and importance.



Article:  Does your corporate culture reward adrenaline junkies and template zombies?

A new book by Tom DeMarco and Tim Lister discusses how corporate culture, along with three other "pillars" (proficiency, velocity, and agility) affect project success.



Article:  The Myth of Multitasking

Most organizations seem to highly value the ability to work on multiple tasks simultaneously.  But this article points out that the supposed productivity gains are really just a fabrication.  And multitasking often contributes to distraction and lack of attention.



Article:  Using Baby Carrots To Motivate Staff In Big Ways

Experience indicates that more frequent smaller gifts, such as gift cards, are more effective at employee motivation than the traditional annual bonus.



Article:  Instant Messaging Proves Useful In Reducing Workplace Interruption

A counterintuitive result from a university study indicates that instant messaging actually reduces disruption compared to telephone, e-mail, or face-to-face conversations.  Of course, IM is still a burden for IT.




Article:  IT Salaries Taking a Recessionary Hit

With the souring economy, IT workers have so far been spared the salary impact, but that seems to be changing.  Salaries have barely changed from June 2007 - June 2008 and, therefore, they have actually gone down due to inflation.  IT managers are looking more at outsourcing, especially for support roles.



Article:  Email Checklist

E-mail is a ubiquitous and important tool in today's world.  But just because it's there and it's easy, doesn't mean that it should be used without thought.  Here are 36 simple tips to use e-mail more professionally and effectively.



Return to top


Telecommunications/Networking Industry

Article:  More Telecom Deals Hardly a Sure Thing

Pundits say that Verizon's acquisition of Alltel is not necessarily a harbinger of more M&A activity in the telecom industry.



Article:  The Future of Telecoms

This author forecasts that telecom providers will move from "carriers of bits" to owners of content of distribution channels.



Report:  Global Market for Consumer Telecommunication to Reach US$2 Trillion by 2012

Among some of the specific details are that revenues will grow at 5.7% annually with 60% of revenue from consumer mobile services.  In addition, the number of VoIP subscribers will more than double in the next four years and by 2012 broadband revenue will be getting close to fixed voice service revenue.



Article:  Cisco Says Internet Video Could Swamp The Internet

The exaflood revisited…  Cisco has released a report that forecasts IP traffic will double every two years through 2012 mostly due to video traffic, which could push ISPs to implement bandwidth metering.  Specifically, Cisco predicts that by 2012, almost 90% of IP traffic will be video with Latin America showing the most growth.  (Of course, who knows how much of this is window-dressing to increase sales of IP transport equipment?)



Article:  Can VoIP provide the solution to last-mile broadband?

With VoIP services already taking away traditional landlines, this author suggests that re-allocating part of the existing spectrum for VoIP may encourage telecom companies to start providing moderate improvements in speeds for rural customers using existing infrastructure.



Return to top

Useful Utilities

MySQL Workbench (Free – Cross-platform – Varies depending on platform)

MySQL Workbench is a free visual database modeling tool.  It integrates directly with MySQL (of course!), but can be used with most any DBMS platform.  It allows you to graphically model your database using ER diagrams and the diagrams can be directly exported to popular graphic formats or PDF.



Clipcast (Free – Cross-platform X11/Windows – 768kB)

Clipcast is a cross-platform clipboard sharing utility.  It works in X11 environments (Unix/Linux) and Windows.  You simply paste the contents of the clipboard on one system into the Clipcast utility and it is automatically encrypted and shared to all other Clipcast clients.



WiseCalc (Free – Windows 2000/XP/2003/Vista – 1.88MB)

WiseCalc is a calculator masquerading as a text editor.  You can annotate your calculations, save calculation sheets, and much more.  It includes hundreds of built-in functions, including over 450 conversions, and you can add your own user-defined functions.



ColorConsole (Free – Windows 2000/XP/2003/Vista – 74kB)

ColorConsole is a handy replacement for the boring Windows Command Prompt shell.  Not only does it provide a more colorful shell, but includes some great features like ability to export your console session to a HTML or RTF file, a menu for your command "favorites", more intuitive cut, copy, and paste, and a menu for the CD command.



Evermotion Communicator (Free – Windows 2000/XP/2003/Vista – 4.0MB)

Evermotion Communicator is a free multi-platform instant messenger client.  In addition to support most of the popular services (AOL, MSN, Skype, Yahoo, and more), you can also do serverless chat on your LAN with no additional modules.  It even has basic collaborative picture editing capabilities.



Universal Viewer (Free – Windows 2000/XP/2003/Vista – 1.8MB)

Universal Viewer displays almost any type of file that you can throw at it.  It has built-in support for text (standard and Unicode) and binary/hex files, RTF, common image formats, anything that can be played in Windows Media Player, and all formats supported by Internet Explorer.  In addition, it can use XnView as external viewer for non-supported graphic formats.  Probably, it's most powerful feature is support for the dozens Total Commander Lister plugins.



Ulteo Virtual Desktop (Free – Windows 2000/XP/2003/Vista – 515MB)

Ulteo Virtual Desktop is the cleanest integration of Linux with Windows yet.  Ulteo is a Ubuntu-based version of Linux that uses Colinux to allow Linux to run directly in Windows (not via emulation or virtualization).  The basic system includes standard Linux applications, including OpenOffice, Firefox with Java and Flash support, Gimp, and much more.  And via the Ubuntu repositories, you can install other applications and customize your configuration.



Return to top


Productivity Tips

Paging query results in Oracle

One of the nice features of PostgreSQL and MySQL are that they have built-in facilities for paging results, such as MySQL's LIMIT query qualifier.  Unfortunately, Oracle has no native method for retrieving specific results.  So here's how to emulate this.  Basically, you take your original query with order by clause and embed it into a structure like this:

select *
from (
        select a.*, rownum rnum
        from (
original_query) a
        where rownum <=
where rnum >

Simply replace min_row_num and max_row_num with the lower and upper bounds, respectively.  Sorting your results with the order by clause in the original query is very important, otherwise you will get inconsistent results.  Here's a simple example to retrieve rows 1100 - 1150 from a table named NODE, which has been sorted by the name:

select *
from (
        select a.*, rownum rnum
        from (select n.* from eods.node n
              where n.status_code in (
              order by n.node_key_name) a
        where rownum <=
where rnum >


Use SysInternal utilities directly from an online share

If you enjoy and appreciate the wonderful SysInternals utilities, but have a machine that you can't download to, such as a web server, you can actually run the utilities from a public shared drive:  \\live.sysinternals.com\tools\.  Just open this share as you would any local share (e.g., by putting the share name in the Run dialog) and then double-click on the desired utility.  On most systems you'll be prompted with a "Security Warning" dialog to confirm that you want to run the utility.


Return to top


Just For Fun

I Will Derive

This is a geek take off on Gloria Gaynor's disco anthem "I Will Survive".  You've got to watch it just for the dancing!



The InfoWorld Tech Celebrity Quiz

To counter (or maybe it's to validate!) David Brooks' criticism of geek culture, Infoworld has put together a 20-question quiz on some of the esoterica of the technology elites.  How much do you know about the backgrounds of these people?



Leetspeak Word of the Day

Having trouble understanding the language that your kids speak?  Well, just head on over to this site everyday and learn a new leetspeak word or phrase!  Then you'll be on your way to becoming a true h@xOr.



Kevin Costner…  Apple Computer Pitch Man?

I had completely forgotten that one of Costner's first roles was in one of Apple's ads from the early 1980s!



Return to top