Up to Newsletter Index

January 2007 Newsletter


Quotable Quotes


Keep my word positive. Words become my behaviors. Keep my behaviors positive. Behaviors become my habits. Keep my habits positive. Habits become my values. Keep my values positive. Values become my destiny.  –Mahatma Gandhi


As long as a man stands in his own way, everything seems to be in his way.  –Ralph Waldo Emerson


Opportunity is rare, and a wise man will never let it go by him.  –Bayard Taylor


A complex system that works is invariably found to have evolved from a simple system that worked…  A complex system designed from scratch never works and cannot be patched up to make it work.  You have to start over, beginning with a working simple system.  –Grady Booch


One kind word can warm three winter months.  –Japanese proverb


He is a man of sense who does not grieve for what he has not, but rejoices in what he has.  –Epictetus


The only people who can change the world are people who want to. And not everybody does.  –Hugh Macleod


Kindness is in our power, even when fondness is not.  –Samuel Johnson


Some of us need to discover that we will not begin to live more fully until we have the courage to do and see and taste and experience much less than usual...  And for a man who has let himself be drawn completely out of himself by his activity, nothing is more difficult than to sit still and rest, doing nothing at all. The very act of resting is the hardest and most courageous act he can perform.  –Thomas Merton


The winds and waves are always on the side of the ablest navigators.  –Edward Gibbon


Return to top


Software Development Process

Article:  Throwing cash at IT problems a 'waste of money'

A survey of IT executives reveals that IT-business alignment is still one of the major concerns.  CIOs also noted that spending more money on technology is a waste until better integration of IT into the business is achieved.



Interviews:  Web 2.0 Special

This article presents interviews with the creators of some of the revolutionary Web 2.0 applications and web sites, who provide their view on the on-going evolution of the web as a platform.



Essays:  Getting Real

Web-based application developer 37 Signals takes the wraps off the processes that they use to develop software.  Their focus is on agility and simplicity and ensuring an excellent overall customer experience.  These are lessons that every software developer and IT manager should learn.



Article:  Business Process Management: What's Driving Toyota?

Excellent overview of how Toyota uses IT as a competitive advantage by helping the automaker eliminate waste, limit inventory buildup and continually improve production.



Article:  Combat Increasing IT Complexity

In this article, the author suggests that the primary job of the enterprise architect is to reduce system complexity.



Article:  It's Never Been Built Before

A good, concise explanation of how planning, organizing, and managing software development projects is different from other engineering disciplines.  It emphasizes that every software project is inherently different and it is difficult, if not impossible, to use historical information.



Article:  Getting to Know You: Acquiring and Understanding the Organization's Goals and Objectives

In order to develop alignment between IT and the business, it is imperative that you understand your business customer.  One key aspect of this understanding is learning about their goals and objectives.  This article provides some nice classification techniques for various organizations.



Article:  Project Management Made Easy

Everyone knows that project management is not easy.  However, this expert offers some good tips.  My favorite is emphasizing honest communication, including the embarrassing and not-so-good news like missed deadlines and planning errors.



Article:  Code Tells You How, Comments Tell You Why

This article makes an interesting suggestion that if source code itself is not self-documenting via the use of meaningful variable names and straightforward coding constructs, it should be rewritten as such.  He suggests that comments should be reserved for explaining the background of why the code exists not what it does.



Return to top


Software Testing & Quality

Articles:  The Problem with Programming

In this two-part interview, Bjarne Stroustrup, the inventor of the C++ programming language, discusses the history of programming and some of its common problems and how they might be addressed.




Article:  Bumper Stickers for Testers

Software testers often have a reputation for being sticks-in-the-mud.  Here are some humorous one-line descriptions for testers that you might want to use for your e-mail signature.  :)



Article:  FedEx seeks improved software testing

FedEx has entered into a partnership with University of Memphis to research techniques for improvements in software testing.  The outcome of the effort could result in the largest testing group in the country.



Article:  The Security Development Lifecycle at Microsoft

This article gives a detailed treatment of the process that Microsoft uses to ensure that it applications are secure and that security vulnerabilities are identified and resolved.



Tool:  FindBugs

FindBugs is a free, open-source tool for static analysis of Java programs.  It is sort of modern-day lint-style program specifically for Java.  FindBugs has gotten very good reviews and indications are that it is significantly more effective than the built-in analysis in Eclipse with far fewer "false positives".



Return to top



Reference:  Computer Programming Algorithms Directory

This site provides a nice listing/directory of references which give detailed explanations of programming algorithms.  The references range from the well-known and common (sorting, hashes, and encryption) to the sublime (phonetics, project management, and more).



Tutorial:  Managing the Java classpath

One of the more difficult and frustrating aspects of getting started with Java programming is understanding how to configure the classpath, so that the compiler can find all of the resources.  This tutorial gives an in-depth, step-by-step approach to understanding the classpath and its role.



Reference:  Syntax Across Languages

When learning a new language (human or programming, for that matter!), it is typically quite useful to compare how to do something in the new language with how you do it in the language you already know.  This site provides just that tool for a variety of patterns in many languages, including C, C++, Python, Java, Perl, Haskell, Smalltalk, and many, many more.



Reference:  HTML Playground

HTML Playground is an online AJAX-based HTML and CSS reference site.  Simply select a tag or attribute from a list and the site provides a description and fully-documented, syntax-highlighted example code with rendering.  You can even modify the example code and see an on-the-fly rendering update to understand the impact of your changes.



Reference:  Linux/Unix Command Line Cheat Sheet

This site gives some good examples of how to use Linux/Unix command line utilities for various tasks.  It is brief, but very useful.  (Note:  Many of the examples also work in Cygwin under Windows.)



Tutorial:  Use DBMS_RANDOM to generate text and date values

The DBMS_RANDOM Oracle PL/SQL package can create random number, text, and date values.  This article shows how to use it.  This technique might be useful in creating dummy data sets for unit or functional testing of applications.



Tutorial:  Understanding Service Oriented Architecture

Service oriented architectures (SOAs) are one of the hottest topics in development circles today.  And Java is a primary tool for implementing SOAs.  This article discusses SOA concepts and the overall structure for using Java for them.



Return to top


Career Development/Miscellaneous

Article:  Thirteen Tips to Effective Upward Management

One of the most important keys to career success is working well with the boss.  This article gives some tips on how best to manage the boss.



Article:  The 7 deadly sins of resumé design

A good resume is the key to finding a good job.  This article provides some tips on making your resume the best that it can be.



Article:  Give your resume a face lift

Most people can't afford to get professional resume advice.  But this doesn't mean that you can do a little work to make your resume stand out.  This article gives some practical tips on design that most anyone can apply.



Article:  Know your workplace obligations

Good boss-subordinate interaction and communication is vitally important in any setting.  However, technical managers are often deficient in this area.  Here are some tips for improving communication in this relationship from both the supervisor and worker perspectives.



Article:  Why "Motivation by Pizza" Doesn't Work

This excellent article explains the different types of motivation techniques (positive versus negative and intrinsic versus extrinsic) and discusses why positive-intrinsic motivation is the only long-term, sustainable approach.



Article:  10 Steps You Can Take To Guarantee Failure

This article takes a reverse psychology approach at how to set and achieve personal and professional goals.



Article:  What's on Tap for IT Pros in 2007?

Industry pundits discuss the top priorities for IT in the coming year.  Not surprisingly, Windows Vista tops the list.  In fact, one report indicates that Vista will create 157,000 new jobs.



Article:  Tech Pros Feeling Good About Jobs And Prospects

Outsourcing firm Hudson says that a recent survey shows good news on the employment front for IT and telecommunications professionals.  Compared to a baseline of 100, workers in those industries had a confidence level of 115.8, which is the highest since October 2004.



Site:  Myers-Briggs Personality Type Test for Programmers

This site offers a Myers-Briggs Type Indicator style test for programmers and other technical workers.  While non-scientific, this test can give you some hints about how best to interact with others.



Article:  Teach Yourself Programming in Ten Years

Google director of research Peter Norvig discusses the fallacy behind learning programming in a very short period of time.  He focuses on the "apprenticeship" aspects of learning over a long period of time by working with "craftsmen".



Article:  Where Work Is a Religion, Work Burnout Is Its Crisis of Faith

Job burnout has become an increasingly significant problem in the US.  Research indicates that work load/volume is often not as important in causing burnout as the perceived return on investment of the work being done.  Also listen to an interview with the article author.  And see this related article  and this one on the topic, too.



Article:  The Ten Part Mental Fitness Program

While none of these are particularly novel, this article gives a nice collection of tips that can help with personal development and productivity.



Article:  Smashing The Clock

Best Buy has radically transformed the workplace by doing away with mandatory meetings and fixed schedules.  The most interesting aspect of the change is that it was a grassroots, "guerilla" campaign initiated by front-line workers that ultimately management embraced.  Also, listen to this interview with some of the Best Buy folks involved.



Editorial:  We're all big babies

In this editorial, the author suggests that people are generally too coddled, have too much sense of entitlement, and that we all need to grow up and take more responsibility.



Return to top


Telecommunications/Networking Industry

Article:  Internet Video Revenue Expected To Top $7 Billion In Four Years

Next year, about 85% of revenue will be from ads attached to video. By 2010, services for renting and downloading TV shows and movies are forecast to account for nearly 40% of total revenue.



Article:  IP Telephony Marries The Web: Voice 2.0 - A Manifesto For The Future

An examination of the new economics of voice services now that VOIP is seeing widespread adoption and customers are abandoning traditional landline service at a rate of 10000 cancellations per month.



Return to top

Useful Utilities

Cooliris (Free – Windows, Macintosh, Linux and Firefox Browser – 56kB)

Cooliris is a Firefox browser extension that allows you to preview Google search results, including image results, in context without clicking on the result link.  Simply hover the mouse over the result and Cooliris will display a thumbnail of the link.



Universal Extractor (Free – Windows 2000/XP/2003/Vista – 3MB)

If you download applications frequently, but prefer not to use installers and just copy the necessary files yourself, Universal Extractor is for you.  It will allow you to extract files from almost any Windows installer archive, including Windows Installer MSI files and Inno Setup files.



QuantumDB Eclipse Plugin (Free – Cross-platform Java for Eclipse – )

QuantumDB is a plugin for the Eclipse platform that allows access to a variety of databases from within Eclipse via JDBC.  It allows you to connect to any database for which JDBC drivers exist, including MySQL, Oracle, Sybase, and PostgreSQL, and view the database structures, run ad hoc queries, and edit SQL files.  It even includes some wizards for inserting, deleting, and updating data.



Launchy (Free – Windows 9x/2000/NT/XP – 643kB)

Launchy is a free, open source tool to replace the Start menu, desktop shortcuts, and other ways of launching applications or opening files.  Launchy is similar to the Windows Run dialog, but with just a few keystrokes, Launchy will match the results to various applications or files and you simply press <Enter> to run it or open it.



Acronis True Image 7.0 (Free – Windows 9x/2000/NT/XP – 21MB)

Acronis True Image is an excellent disk imaging product that supports writing image directly to CD-ROM or DVD-ROM.  Even though the application is now up to version 10, you can download this older, but still extremely useful, version.



AgileTrack (Free – Cross-platform/Java-based – 21.6MB)

AgileTrack is an open-source Java based application for tracking software development in agile development or extreme programming (XP) teams. It includes support for managing stories and other issues, sub-tasks, tracking time, managing multiple projects, planning iterations, and providing iteration reports. It provides a unique interface that is simple to use and allows software developers to have task information always at their fingertips.  (Has built-in HSQLDB support for use as standalone application; for team/multi-user support, you must install and configure MySQL.)



JDictionary (Free – Cross-platform/Java-based – 497kB)

JDictionary is a pure-Java Swing GUI application that provides interface to various web-based and local dictionaries via the DICT protocol.  This is a very convenient way to look up definitions from a variety of sources, as well as finding synonyms.  Furthermore, it has a plug-in architecture that allows you to add more dictionary sources and use only the ones that you want or need.



CleverKeys (Free – Windows 9x/2000/XP – 671kB)

CleverKeys adds instant context-based search or lookup functionality to any application in Windows, including word processing, e-mail, and web browsers.  Not only can you choose from lookups on a variety of reference sites, including dictionaries, encyclopedias, and more, but you can also add your own reference sites.



SmartClose (Free – Windows 9x/2000/XP – 629kB)

SmartClose will close all running applications (except background applications and those in the system tray) with a single click.  It's nicest feature is that it can create a list of all of the running applications before closing them, so that you can quickly restart them later.  Very nice for the situation where you must reboot your system.



iCall (Free – Windows 2000/XP – 2.9MB)

iCall is a new free VOIP service that allows free calls to US and Canada from your PC to any PSTN (traditional) phone.  Likewise, you can receive calls (on your PC) for free from any phone in the world.  It also provides very reasonable international rates.



Return to top


Productivity Tips

Add a PDF-to-HTML conversion bookmarklet to your browser

Viewing PDF files in your browser window can be frustrating and difficult.  In many cases, it would be easier to have the PDF file converted to an HTML file.  You can add a bookmarklet (Javascript-based bookmark) to your browser that can automatically convert a PDF file to HTML on the fly.  To do so, simply drag this PDF-to-HTML Conversion link to your browser's Links toolbar.  (This should work in Firefox, Internet Explorer, Opera, and any browser that supports Javascript.)  Then, in the future, when you have an embedded PDF file displayed in your browser window, just click on the link to convert it to HTML and have it displayed in your browser.  (Firefox users may be interested in the PDF Download extension that gives you a variety of options for how to handle PDF files, including downloading, opening in external viewer, or viewing embedded in the browser window.)


Return to top

Just For Fun

Interactive Relighting of the Antikythera Mechanism

Who would have guessed that computer science was born decades before Christ?  This site explores the decoding of the Antikythera Mechanism, which was re-discovered over 100 years ago.



Star Wars Episode 4 ASCII-mation via Telnet

View this amazing text animation of the complete A New Hope episode via Telnet.



33 Names of Things You Never Knew had Names

I guess there are words to describe just about everything!  Here's a list of some rather obscure terms.



Top 15 Strangest Coincidences

Here is a collection of almost too strange to be true (anyone remember Ripley's Believe It or Not?!) coincidences.



Historic Tale Construction Kit

Create your own comic book-style story in the fashion of the Tapestry of Bayeux using this Flash-based site.  Create as many panels/frames as you like and add your text and pictures.  Save the finished product to the gallery or send as an e-card to your friends.



Apostrophe Protection Society

Dedicated to "preserving the correct use of this currently much abused punctuation mark".  Be careful or you might actually learn a little grammar here.




I love books.  The ability to hold a book and thumb through it is one of my true joys.  LibraryThing is an online catalog for your books and much more.  It allows you to categorize your library and includes a social dimension to connect you with people who share your interests.



Mike the Headless Chicken

A chicken lived for 18 months after having its head chopped off and actually grew from 2-1/2 pounds to over 8 pounds during the time.  Now, the chicken's hometown has an annual festival celebrating Mike, including the obligatory "Run Like A Headless Chicken" 5k run.  You can't make this stuff up!



100 things we didn't know this time last year

The BBC News' annual roundup of interesting news tidbits from the past year.  Some amazing and some offbeat and all interesting.



Return to top