Up to Newsletter Index

December 2008 Newsletter


Quotable Quotes


It is far more impressive when others discover your good qualities without your help.  –Judith Martin


Each problem that I solved became a rule which served afterwards to solve other problems.  –Rene Descartes


To change and to change for the better are two different things.  –German proverb


How comes it to pass, then, that we appear such cowards in reasoning, and are so afraid to stand the test of ridicule?  –Sir Anthony Ashley Cooper, 7th Earl of Shaftesbury


To acquire knowledge, one must study; but to acquire wisdom, one must observe.  –Marilyn vos Savant


Stock prices are not the omniscient wisdom of the universe expressed in numeric form. They are the result of the machinations of millions of global gamblers.  –Paul Glen, in Computerworld, 11/03/2008


Return to top


Software Development Process

Article:  Lost in translation

Converting business requirements into working software that does what the user wants is the key "transformation" process of software development.  But business users and IT often speak different "languages".  Here are some ideas about how to use agile practices to bridge this gap.



Article:  Beware of future creep

Most projects or applications have some longer-term objectives.  This author warns against doing too much modification during current development cycles in anticipation of future enhancements.



Article:  Data Model != Database

This article makes a good case for why the database should not be used as the de facto API for integration of various applications.



Article:  10 Ways to Save a Slipping Project

An unfortunate reality of much of software development is that project schedules slip, usually for multiple reasons.  Here are some tips for getting back on track from an agile perspective, but most of them apply to traditional methodologies like waterfall.



Article:  Our IT Re-Vision in Times of Business Challenge (1994 and Now)

An article from almost 15 years ago is still relevant today in helping the IT organization determine its vision and role within the organization.  The author's point out that a bad economy might seem like an odd time to reassess the vision, but they say that it's relevant, because the business is increasingly looking to IT for innovation and differentiation.



Article:  Senate introduces IT failures bill: No wiggle room

While I'm inherently skeptical about government intervention, I guess this action at least demonstrates recognition on the part of government about IT projects and accountability for results.  Perhaps industry can follow their lead in this area.



Article:  Frequently Forgotten Fundamental Facts about Software Engineering

Robert Glass reminds us about some of those axioms of development that are usually overlooked (or ignored).



Article:  Abandoning vs. Killing Projects

Industry pundit Johanna Rothman says that IT managers need to definitively kill failing projects instead of "shelving" them with hopes of returning to them later.  She says that setting them aside causes people to continue to spend energy (perhaps emotional energy) on the project instead of addressing closure and moving on.



Article:  The Creativity Conundrum

One of the author's of a new article on creativity in business discusses how creativity itself can't be managed, but organizations can promote an environment that encourages creativity by such things as giving slack time, promoting risk-taking, and fostering optimism that people can make things better.



Article:  IT Needs to Run Like a Business

With the economic turmoil and corporate belt-tightening, now is a good time for corporate IT groups to start acting like "a business within the business".  This author suggests that IT shops look at how 3rd party outsourcers work and try to adopt similar models.



Article:  The Decline and Fall of Agile

The author of one of the "classical" texts on agile development suggests that agile methods have been in decline for some time.  And he points to a common malady of most any methodology:  The tendency to only adopt bits and pieces or to give up on full implementations when it gets "hard".  And read this counterpoint to Shore's position.



Article:  The politics of IT project estimations

IT management has a habit of pushing developers to reduce estimates.  This author suggests using estimate ranges with different confidence levels associated with the points in the range.



Article:  Organizational Capital: Making the Relationships Work

There has been a lot of discussion about so-called "business-IT alignment" over the past dozen years or so.  However, this author suggests that the key to obtaining value from IT investments starts with proper management of "organizational capital"—which at their core are the relationships between individuals in the organization including between IT and business.



Article:  Expectation setting is key to improving the perception of IT

Bridging the divide (which sometimes seems to be widening) between IT and the business is a top priority for most IT executives and senior managers.  One of the key roles for the CIO is to communicate with business counterparts and manage the business expectations of IT.



Return to top


Software Testing & Quality

Article:  Sleep Tight, Don't Let the Test Bugs Bite

As software testing moves from a substantially manual discipline to more automated and data-driven, testers need to be aware that their tests themselves are also code.  And they have to consider the question of:  Who tests the tests?



Article:  How can C Programs be so Reliable?

This programmer suggests that even with all of the well-known problems with C (think buffer overflow, stack smashing, etc.), programming C actually results in more reliable code, because it steers developers away from sloppy techniques and makes them really consider the consequences of their implementation approach.  And, I think that he has a point considering how many robust open source programs (such as Linux) are fundamentally written in C.



Article:  My Unified Theory of Bugs

This author suggests three basic categories for bugs:  logical (the "classical" error where the code implementation is incorrect), wiring (data type mismatches, incorrect field references [last name and first name switched, etc.]), and rendering (the output displayed is incorrect; must be assessed by person).



Article:  Testing Service Oriented Architectures

Testing SOA applications presents some unique challenges due to the distributed nature of the systems and the fact that many components are often "black boxes".  This article discusses some of the principles and presents a Ruby-based test harness that can be used.



Article:  Painted on the Inside

This author uses the example of the care and craftsmanship used by model builders as a paradigm for developing high-quality software.  The underlying idea is that attention to detail on the parts of an application not seen by users is a good indication of the overall quality of the application.



Return to top



Reference:  10 Overused Words in Writing

Effective writing can seem daunting, but it doesn't have to be.  This article provides some tips on proving more punch to your writing by reducing some "killer" words.



Reference:  Atlas of Cyberspace

This book, now available for free download in PDF, is a comprehensive exploration and visualization of the Internet and the underlying infrastructure.  It includes over 300 full-color images and "maps" of cyberspace spanning 30 years.



Tutorial:  One Minute Languages

No, not computer languages, but real human languages!  (Remember those?)  This site provides a series of ten 1 - 2 minute language lessons in a variety of languages, including Spanish, French, Mandarin Chinese, and more.  These tutorials are not intended to make you a fluent speaker, but simply to help you with a few phrases that will help you when traveling or interacting with other native speakers.



Reference:  15 Tips for Writing Effective Email

Even with all of the new communications tools, such as instant messaging, Twitter, text messaging, etc., e-mail is still the primary tool for modern communication.  And most people are inundated with e-mail.  So you need to have a plan and some tactics for using e-mail effectively.  These are some great tips for doing that.



Tutorial:  15 Exercises for Learning a New Programming Language

This article presents a list of 15 simple tasks to do or programs to write when you are learning a new programming language that will help you get a broad understanding of the intricacies of the language.



Return to top


Career Development/Miscellaneous

Article:  89 Ways for You to Become the Coolest Programmer in the World

I'm not sure if these tips will make you the "coolest" programming or not, but this article definitely has some great points and links to other resources on developing your technical and personal skills as a developer.



Article:  10 ways to improve your office etiquette (and avoid being the annoying co-worker)

Everyone wants to get along with the folks they work with.  But sometimes we do things that annoy others without even realizing it.  Here are some tips for good manners in the workplace.



Article:  Give Windows 7 Away for Free

This industry pundit suggests that if Microsoft is serious about competing with Google in the advertising realm that they should give Windows 7, the successor to Windows Vista, away for free as an ad-supported platform.



Article:  2008 Computerworld Salary Survey

Computerworld's annual salary survey shows IT compensation increases were flat compared to 2007 with average increases of 3.5%.  Nevertheless, in light of the tough economy, 60% of survey respondents said that they are very satisfied (17%) or satisfied (43%) with their compensation packages.



Article:  Six Attributes of Leadership

Many people (and organizations!) confuse management and leadership.  There are key differences between the two.  This article explores some of the characteristics of leadership.



Article:  Top 25 days in computing history

What do you consider the most significant events in the history of computers?  Check out this article to see what the London Daily Times technology writers picked.



Article:  A gift or hard graft?

This excerpt from Malcolm Gladwell's new book, Outliers: The Story of Success, indicates that hard work, especially early in life, is what sets those who excel apart from others.  Also, he makes the interesting observation that these people also have to be around when the important tools of their trade are being developed.



Article:  Is It Worth Being Wise?

The founder of startup incubator Y Combinator, who has been called one of "The 25 Most Influential People on the Web", discusses the difference between "wisdom" and "intelligence".  One of his excellent insights is ' that "wise" means one has a high average outcome across all situations, and "smart" means one does spectacularly well in a few.'



Article:  What Has Driven Women Out of Computer Science?

This article touches on some updates on a topic that was presented very well by Philip Greenspun a couple of years ago.  The basic concept is that women (and men for that matter) don't go into technology or other sciences because they simply don't think the field holds promise.



Report:  The 2009 IT career survival guide

Everyone is aware that the economy is bad everywhere.  Now, more than ever, it is up to the individual IT worker to manage their own careers.  This report gives some tips on how to survive–and even thrive–in the downturn.



Article:  Do You Have a Dysfunctional Workplace?

Read this list of common characteristics of messed up workplaces and decide if you've got it good or bad.  But remember, you don't have to just be resigned to a bad work environment; you can do something about it.



Article:  Your Incredibly Shrinking Paycheck

Hourly wages for IT workers are down 6.2% and are at their lowest level since 2006.



Article:  Up or Out: Solving the IT Turnover Crisis

A common paradigm in most companies is that the best developers tend to not stay very long.  This article discusses how the programming career is changing and is sub-titled "Employment 2.0".



Article:  The Making of an Expert

Many people have the idea that experts in any field are born, rather than made.  This article from Harvard Business Review refutes that thesis and says that expertise in most domains have some common characteristics, mostly around deliberate practice and coaching.



Return to top


Telecommunications/Networking Industry

Article:  Is a telecom price war in the offing?

An L.A. Times business writer speculates with recent price cuts by Verizon for bundled services and the economic slowdown, a telecom price war is likely.  He also notes that cable companies have been more successful at offering phone service than phone companies have at selling pay TV.



Article:  IBM Plans Broadband Over Power Lines For Rural America

IBM has entered a deal with International Broadband Electric Communications to bring broadband to rural customers via power lines.  With a big name like IBM, this might mean that BPL will really take off this time.



Article:  Infinera, Juniper, Internet2 team on 100-GigE test bed

These vendors plus Level 3 have announced the first non-laboratory test platform for 100-GigE services.  While a number of vendors have demonstrated 100Gbps waves, this is the first test system with Ethernet interfaces.



Article:  Comm Forecast No. 1: No More Landlines

Tom Evslin, who founded IXTC, one of the first VoIP providers, predicts boldly that by the end of Obama's first term, there will be no copper landlines in the US, with them having been supplanted by VoIP.



Article:  Google, Microsoft take voice, social networking shots at one another

This article is a good demonstration of how voice services are becoming (maybe "have become") just another data service on top of the IP platform.  This seems to be the concept that BT had in mind earlier in the year, when they acquired Ribbit.



Article:  Arbor Networks: VoIP, IPv6 emerging security threats

A new report from Arbor Networks says that denial of service attacks have increased bandwidth consumption from megabits in 2000 to in excess of 40Gb today and that service level attacks such as on VoIP are increasing.  Also, they indicate that DNS cache poisoning is the largest unaddressed threat.



Article:  Tackling VoIP & UC Trouble

The most significant reason for failure of VoIP and unified communications implementations by businesses is that the existing network infrastructure is not prepared to handle it, especially the QoS requirements for voice.



Return to top


Useful Utilities

PrintWhatYouLike.com (Free – Cross-platform/online tool – N/A)

Annoyed by printouts of web pages that leave extra white space or that cut off part of the text on the edge?  Well, PrintWhatYouLike.com comes to your rescue.  This free, online service allows you to select only the portion of a particular web page for printing and apply special formatting (text size, removing background images, etc.) to it.  Just enter the URL of the page at the PrintWhatYouLike.com site to get started.



FragExt (Free – Windows 2000/XP/2003/Vista – 395kB)

FragExt is a free defragmenting tool with some unique features.  Specifically, it's implemented as a shell extension and it allows you to defragment individual files (or a few files at a time), instead of trying to defragment an entire drive.  In addition, Windows Explorer will display file fragmentation details, as well as other relevant information like alternate data streams.  Versions for both 32-bit and 64-bit Windows are provided, as well as source code.



Code Browser (Free – Windows 2000/XP/2003/Vista and Linux – 229kB)

Code Browser is a unique cross-platform free text editor that supports code folding to make navigation easier.  In addition to code folding, it offers natural links between files and folders, a tree view of the folded section hierarchy, syntax highlighting for many languages, as well as user-defined syntax highlighting, and powerful search-and-replace functions.



EtherPad (Free – Cross-platform online tool – N/A)

EtherPad is a free online collaborative text editor.  It allows multiple users to simultaneously edit a shared document.  It is sort of a cross between Gobby and Google Docs.  EtherPad even lets you save multiple versions/revisions, so that you can always go back.



Simple Port Forwarding (Free – Windows 9x/NT/2000/XP/2003/Vista – 4.52MB)

Simple Port Forwarding's name tells you exactly what it does:  makes it easy to configure your home/small office router to forward TCP and UDP ports.  Port forwarding is needed by many online games and is also useful for setting up remote access to your home PC.  Over 100 routers are supported by the application.



Wine-Doors (Free – Linux – 318kB)

Even if you've made the switch to Linux (XUbuntu is my preferred distribution; go here for a pre-configured VirtualBox image if you can't completely switch!) for your desktop or laptop platform, there are still going to be times where you need (or want) to run Windows applications.  In this case, Wine is the tool of choice.  However, Wine is notoriously difficult to configure.  Enter Wine-Doors which is a Wine add-on that simplifies installation and configuration of Windows applications running on Wine.  Wine-Doors will assist you with installing the application in a wizard-like manner and even create desktop menu items.



TOra (Free – Cross-platform Windows 2000/XP/2003/Vista and Linux – 13.7MB)

We have featured TOra (Toolkit for Oracle) before, but it has recently undergone some major updates in new version 2.0.  Not only does it have support for native SQL*Net connections to Oracle 8.x, 9.x, 10.x, and 11.x databases (10.x and 11.x are new), but it also provides native connectivity to MySQL (now owned by Oracle) and PostgreSQL databases, as well as any database that has ODBC support.  It provides syntax coloring for PL/SQL and standard SQL constructs and has many other excellent features.  Native binary packages are available for Windows, Debian Linux (and other DEB-based distributions), Ubuntu Linux, and Red Hat Linux (and other RPM-based distributions).



Return to top


Productivity Tips

Define your own table style in MS Word

MS Word comes with many built-in Table AutoFormat styles (Table | Table AutoFormat…), but sometimes you need a little more customization or flexibility.  Here's how to define your own style.  Open the Table AutoFormat window and press New…  In the New Style window, give an appropriate name for your new style and choose the style that you want to start with in the Style based on list.  Then use the various choices in the Apply formatting to list and make the desired customizations.  One of the best features is the ability to apply "stripes" (different colors or formats) to odd and even rows and columns and even to have multiple row or column "groups" with the same pattern/background.  When you are done, press OK and Close.  Now you can select that style the next time you create a new table.  To limit the list to only your custom styles, in the Table AutoFormat window, choose User-defined table styles in the Category list.  And, if you want to change your style later, just click on Modify…


Return to top


Just For Fun

The calculus of caffeine consumption

Most people use caffeine of one sort or another:  soda (or pop), coffee, or tea.  This neat little essay explains why the effect of caffeine on alertness is not all that it's cracked up to be.



E-mail error ends up on road sign

Here's what happens if you aren't careful about your "out of office" automated reply!  :)



LIFE photo archive hosted by Google

View and search from the extensive LIFE magazine photo archive.  So far, 20% of LIFE's photographs have been archived, but Google plans to eventually host the entire archive.



New York Times Special Edition

This "good news" spoof of the NY Times was actually pulled off by three Times employees.  They even handed out thousands of print copies!



How to Tell if Your Cat is Plotting to Kill You

Own a cat?  You better check out this page, because he or she might be involved in a murder conspiracy!



Let Me Google That For You

Do you ever have people ask you a question that could easily be answered by a simple web search?  It gets quite annoying after a while.  As a tongue-in-cheek response to their request, give them a link to the search at this site.  It displays an animated demonstration of how to do the search and then displays actual results from Google!  :)



The Eyeballing Game

How well do you remember your high school geometry?  And how good is your hand-eye coordination?  Play this nifty little online Flash game to find out.



You know! It's a thingummy... Whatjermercallit... The everyday items with the forgotten names

All those things that you never knew had a name or didn't know what the name was?  Well, this article tells you what some of them are.  The list is heavy with anatomical names, but it didn't include one of my favorite words:  that doohickey that hangs down in the back of your mouth.



Return to top