August 2006 Newsletter
People are lonely because they
build walls instead of bridges. –Joseph
Fort
We shall succeed only so far as we continue that most distasteful of all activity, the intolerable labor of thought. –Learned Hand
Count no day lost in which you waited your turn, took only your share and sought advantage over no one. –Robert Brault
One cool judgment is worth a thousand hasty councils. The thing is to supply light and not heat. –Woodrow Wilson
Things alter for the worse spontaneously, if they be not altered for the better designedly. –Francis Bacon
The compromise will always be more expensive than either of the suggestions it is compromising. –Arthur Bloch
Everything has its wonders, even darkness and silence, and I learn, whatever state I may be in, therein to be content. –Helen Keller
As for the best leaders, the people do not notice their existence. The next best, the people honor and praise. The next the people fear, and the next the people hate. But when the leader's best work is done, the people say, "We did it ourselves." –Lao Tzu
One of the most time-consuming things is to have an enemy. –E.B. White
This blog entry by one of the managers of the
Windows Vista (the upcoming successor to Windows XP) project discusses some of
the problems and the causes of the numerous delays in the release of the
product. It is a good study in the kinds
of problems that can befall a large project and an excellent cautionary tale
thereto.
http://blogs.msdn.com/philipsu/archive/2006/06/14/631438.aspx
This article examines how some companies are working to get IT and
business users to communicate better and to establish better requirements for
systems. From the article: "There was a sense that IT should just
know the business needs and write requirements for the users."
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=111412
As use cases become more important in requirements definition, it is
important to remember that use cases themselves have a life cycle and they must
be cared for properly throughout that life cycle.
http://www.awprofessional.com/articles/article.asp?p=30031
IT often has responsibility to ensure that technology provides a solid
foundation for future development (scalability) and that costs are controlled
and the integrity and security of the organization is maintained. However, many users see these mandates as
limiting their ability to use applications that would make them more
productive, particularly free, web-based systems.
http://ddj.com/dept/architect/189601356
In this commentary, the author suggests that agile development
methodology and concepts are no longer a “different” development approach, but
should be the basis of all development (and business) activities.
http://www.eweek.com/article2/0,1895,1993420,00.asp
One of the keys to project success is knowing and understanding the users requirements.
But this isn’t always the easiest thing to accomplish. This article gives some tips on getting good
and complete requirements from the customer.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=111623
Most software development managers started out as developers
themselves. Sometimes making the switch
to management is difficult. This article
gives some ideas on how to successfully make the transition.
http://www.ddj.com/showArticle.jhtml?articleID=187203587
Agile methodologies are often touted as panaceas for all of the problems
of software development. In reality, any
methodology can be successful and any methodology can also have problems. This article examines some of the problems to
watch out for when going agile.
http://www.informit.com/articles/article.asp?p=411115
One of the great emphases of test automation is for the tools to be based on a solid framework foundation. This author suggests that sometimes throw-away test automation is the most effective tool for the job. Find out what conditions warrant this approach.
http://www.informit.com/articles/article.asp?p=480902
With the number of recent security
breaches in business systems, the OSSTMM site is an excellent resource for
techniques and approaches to security testing, not only for open-source
software (
This conference, in
http://www.effectivesoftwaretesting.com/conference_verify.aspx
This site explains seven so-called "kingdoms" (classifications) of application implementation errors that lead to security vulnerabilities. This information is good food for thought in preparing security tests for your applications.
http://vulncat.fortifysoftware.com/
It is said that the mark of truly knowing and understanding a language is
when you are able to actually think in that language rather than translate
mentally from a known language into the new one. The authors of this book take the same
approach with SQL. This sample chapter
helps you to think about query problems from the SQL perspective to hopefully
design more elegant and efficient queries.
http://www.oreilly.com/catalog/artofsql/chapter/ch04.pdf
This course, by a Sun Microsystems developer, starts on 08/04 and will
provide weekly lessons, including online lectures (typically, 45 – 90 minutes)
and presentations. It covers all of the
basics of
http://www.javapassion.com/ajaxcodecamp/
At one time or another, all Unix/Linux users will need to locate some
misplaced file. In this case, the find command is indispensable. However, find has so many options, it is frequently difficult
to remember just how to use it. This
article sheds some light on find in a way
that makes remembering the options simple.
http://www.linux.com/article.pl?sid=06/06/28/1541237
This site provides a directory to hundreds of free online or downloadable
ebooks on programming, software development, and
related topics. The collections are
well-organized and comprehensive.
http://www.programmingebooks.tk/
If you use Mozilla
Firefox browser (You do, don't you?!), this handy
reference to keyboard shortcuts and who Firefox settings
are stored will prove very useful to you.
http://lesliefranke.com/files/reference/firefoxcheatsheet.html
This site has listings of dozens of "cheat sheets" on a variety
of technology and programming topics. It
provides a nice search utility and tagging to find just the one that you need.
This detailed, easy-to-read article explains just how a bit of data (a
packet) goes from one computer, through switches, routers, etc. to another
computer.
http://www.securityfocus.com/infocus/1870
A recent study shows that loss of US jobs due to offshoring is smaller than generally believed. Furthermore, job growth for those in IT with advanced skills and business knowledge is growing about as fast as in the heady days of the late 1990s.
http://www.informationweek.com/news/showArticle.jhtml?articleID=188701165
One of the most important aspects of technical work is learning and understanding the needs of your customer. However, technical people are often some of the worst listeners. This article gives a brief list of skills and techniques to improve your listening.
http://www.43folders.com/2006/07/10/listening/
Want to try out Linux, but don’t have time to download the ISO file and burn it to CD or DVD? Here’s a great alternative: This site provides of a variety of Linux distributions (including Fedora, Gentoo, Mandriva, Knoppix, and many, many more) completely free (including shipping!). Just choose your distribution and provide your address and the disks are on their way. Of course, donations are joyfully accepted.
Managers often use certain techniques simply because they are popular in the current literature. This article looks at three techniques that are popular, but don't frequently work.
http://hbswk.hbs.edu/item.jhtml?id=5270&t=organizations
One thing to remember of changing jobs is that sometimes (often?) it’s not necessarily a change for the better. Too often, people simply trade one set of problems for another. This article looks at some questions that you can ask in an interview to get a good idea about the work environment at a potential new employer.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=112244
A (only partially!) tongue-in-cheek look at how you can actually use those boring, interminable meetings productively. And don’t forget that meetings cost much more than the duration of the meeting itself.
http://blog.outer-court.com/archive/2006-07-06-n84.html
Authors of a new book discuss some of the problems that the aging workforce and other factors will have for the IT area and what managers can do to prepare.
Interviews with five entrepreneurs, including the founders of del.icio.us and Digg, about how they turned their off-hours work into steady jobs.
http://www.informationweek.com/news/showArticle.jhtml?articleID=189800142
This brief article lists seven common problems in e-mail that prevent it from being an effective and useful communication medium.
http://www.tetsou.co.uk/index.php?option=com_context&task=view&id=18&Itemid=41
This annual report shows that salaries are increasing, but there is still uneasiness over the number of contract positions and outsourcing. Check it out to see where you stand in comparison to others in the industry.
http://www.infoworld.com/reports/24SRcompsurvey2006.html
To maintain good system security, most experts recommend applying the principle of least privilege/authority, which means that you run at the most restrictive security level possible to get the job done. The sudoWn tool provides functionality to Windows users similar to Unix/Linux sudo command which allows you to run certain designated processes or tasks as an administrative user. sudoWn is quite easy and straight-forward to use and is more robust than Windows built-in "Run As…" function.
PuTTYcyg is a customized version of the PuTTY telnet/SSH client that allows you to use PuTTY as a local command prompt. This gives you all of the features of PuTTY, such as capture files (capture your terminal session), window resizing, and scrollback buffer. The PuTTYcyg version includes the standard PuTTY telnet and SSH functionality. PuTTYcyg requires the basic Cygwin tools to be installed and can use any of the included shells (csh, bash, tcsh, pdksh, etc.). [Getting started with PuTTYcyg is a little confusing. The basic approach is to choose Cygwin as the Protocol and specify the name of the shell to run in Host Name or (IP address), such as cmd.exe for standard Windows Command Prompt or bash.exe for Cygwin bash.]
http://gecko.gc.maricopa.edu/~medgar/puttycyg
Microsoft has released a new version of the Virtual PC 2004 application that is completely free for all users. VPC allows you to install and run OSes as virtual machines hosted under your regular OS. This is a great technique for environment refresh for testing and trying out new applications.
As most of you know, I’m sort of a text editor junkie. Nevertheless, for a lightweight replacement to Windows Notepad, I wholeheartedly recommend NotePad SX. Just a few of its great features include tabbed interface for multiple documents, full-screen mode, “stay on top” function, ability to print document in any font style, and most recently used documents on toolbar.
Guido van Robot (GvR) is a graphical, interactive tool for learning programming that focuses on logical constructs (looping, conditionals, branching, etc.) rather than language syntax. (Although, it is based loosely on Python, hence the name.)
This site is a free online free-form drawing tool that allows multiple users to draw on the canvas simultaneously. You can save your creations and even "replay" the drawing session for the context and sequence that the ideas. Just start a session and invite your friends or coworkers via e-mail or IM.
http://www.imaginationcubed.com/LaunchPage
In the standard Windows configuration, all folders are the standard yellow color. iColorFolder adds a context (right mouse click) menu which allows you set the color of a particular folder to any desired color. This is the perfect enhancement to allow visual categorization of your folders.
http://icolorfolder.sourceforge.net/
InstantFeed is an online tool that allows you to receive RSS or Atom feed updates automatically via your instant messaging (IM) client. This prevents you from having to run a separate RSS aggregation tool and provides feed updates with the immediacy of IM.
Gobby is a cross-platform collaborative text editor. It allows multiple users to work on/edit the same text file simultaneously and remotely. Gobby has built-in text chat functions to allow "discussion" during the editing session. (Gobby requires the GTK+ toolkit. Windows version is here.)
http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi
Tiffany Screens is a serverless desktop-sharing application similar to Netmeeting that is Java-based, so it is available on almost any platform. The tools are simple for setting up and hosting or attending a virtual meeting, since no central server is required. (Binary versions for Windows and Mac OS X are also available, in addition to the Java Webstart version.)
http://www.tiffanyscreens.com/
How many times have you sent an e-mail in MS Outlook where you referenced an attachment, but then actually forgot to include the attach the file or message. This handy little macro for Outlook will help you prevent this from happening by looking for the string attach in your text and then prompt you if it doesn't find an attachment.
http://mark.bird.googlepages.com/home
Check out this hilarious online spoof/parody of The Da Vinci Code.
http://www.thenormanrockwellcode.com/
In this online, Flash-based game, you have to "kick" the soccer ball (OK, football for you purists!) into the trash can (bin) in your virtual office. See how many times you can do it before time runs out.
Just how geeky are you? Take the Geek Test to find out. You might even want to apply to be the "Geek of the Week"!
http://www.innergeek.us/geek-test.html
This comedian pokes fun at corporate antics and reserves some of his funniest bits for software development folks.
http://www.tdwi.org/info.aspx?id=27681
This hilarious online tool allows you to record your own message for someone else and have an animated monkey deliver it. It includes different voices and chimps and you can provide your message by text-to-speech, telephone, or from a microphone on your computer.
http://www.careerbuilder.com/monk-e-mail/
Amazing portraits and landscapes drawn on a standard Etch-A-Sketch. Each one takes 60 – 70 hours to complete.
http://www.gvetchedintime.com/