January 2007 Newsletter
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
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
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.
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.
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.
Excellent overview of how Toyota uses IT as a competitive advantage by helping the automaker eliminate waste, limit inventory buildup and continually improve production.
In this article, the author suggests that the primary job of the enterprise architect is to reduce system complexity.
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.
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.
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.
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.
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. :)
FedEx has entered into a partnership
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.
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".
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).
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.
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.
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.
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.)
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.
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.
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.
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.
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.
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.
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.
This article takes a reverse psychology approach at how to set and achieve personal and professional goals.
Industry pundits discuss the top
priorities for IT in the coming year.
Not surprisingly, Windows Vista tops the list. In fact, one report
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.
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.
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".
Job burnout has become an
increasingly significant problem in the
While none of these are particularly novel, this article gives a nice collection of tips that can help with personal development and productivity.
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.
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.
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.
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.
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.
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 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 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 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 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 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 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 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 is a new free VOIP service that allows free
calls to US and
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.
View this amazing text animation of the complete A New Hope episode via Telnet.
I guess there are words to describe just about everything! Here's a list of some rather obscure terms.
Here is a collection of almost too strange to be true (anyone remember Ripley's Believe It or Not?!) coincidences.
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.
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.
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!
The BBC News' annual roundup of interesting news tidbits from the past year. Some amazing and some offbeat and all interesting.