October 2006 Newsletter
If people never did silly things, nothing intelligent would ever get done. –Ludwig Wittgenstein
It's never too late to become what you might have been. –George Eliot
To use power wisely is the final test of leadership. Thus, the first rule in the game of power (or life) and, in fact, the only hard and fast rule in the entire game is: POWER MUST BE THE SERVANT; IT MUST NOT BE THE MASTER! –Thomas D. Willhite
Relationships of trust depend on our willingness to look not only to our own interests, but also the interests of others. –Peter Farquharson
Try and fail, but don't fail to try. –Stephen Kaggwa
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man. –Elbert Hubbard
All change is not growth, as all movement is not forward. –Ellen Glasgow
Leadership is not so much about technique and methods as it is about opening the heart. Leadership is about inspiration—of oneself and of others. Great leadership is about human experiences, not processes. Leadership is not a formula or a program, it is a human activity that comes from the heart and considers the hearts of others. It is an attitude, not a routine. –Lance Secretan
I never came upon any of my discoveries through the process of rational thinking. –Albert Einstein
When we were young, we were told that "Everybody else is doing it" was a particularly stupid reason to do something. Now it's the standard reason for picking a particular software package. –Barry Gehm
Everyone gets the "big" things right. The only way to be better than the masses is to get the little things right too. –Craig Fitzpatrick
Truth does not change according to our ability to stomach it. –Flannery O'Connor
The smallest good deed is better than the grandest good intention. –Duguet
In honor of their 2000th issue, the editors of Computerworld look back at
some of the big changes in IT in the past 20 years. Interestingly, the elusive nature of software
quality made their list.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=111366
This book excerpt offers some tips on practical approach to agile
development focusing on how to apply the Agile
Manifesto.
http://i.i.com.com/cnwk.1d/i/tr/downloads/home/097451408X_chapter_1.pdf
“Architecture” is a popular concept in recent software development
literature. But just what does it
mean? This author looks at some common
characteristics that define architecture and then provides a summary
definition.
http://www.ddj.com/blog/architectblog/archives/2006/04/looking_the_sof.html
This introductory chapter to the new book Implementing
Lean Software Development: From Concept to Cash discusses the history,
including the genesis in the lean manufacturing
movement and Toyota
Production System, of lean software development (LSD) and introduces the
principles LSD and some of the practices.
http://i.i.com.com/cnwk.1d/i/tr/downloads/home/0321437381_chapter_1.pdf
Iteration and its emphasis on doing small amounts of work completely is a
hallmark of modern development practice and agile methods. This article examines some of the special
factors that have to be accounted for in project management of iterative
development.
http://www.informit.com/articles/article.asp?p=600621&rl=1
Good project delivery and management is the hallmark of a great IT
organization. This article covers some
strategies for ensuring project success.
http://www.expertclick.com/NewsReleaseWire/default.cfm?Action=ReleaseDetail&ID=13759
A new survey shows some old matters, such as business-IT alignment and
security, as well as a new one ("speed and agility") as the major
concerns of CIOs.
It would seem that speed and agility is closely related to business-IT
alignment.
http://www.informationweek.com/news/showArticle.jhtml?articleID=193000377
As technical complexity increases, developers are looking for simpler
ways to get their work done. Dynamic
languages, such as Ruby, PHP, Javascript, and Python,
are leading the charge in making applications development easier.
http://www.eweek.com/article2/0,1759,2008702,00.asp
How do you decide when to try to rescue a project that has gone awry and
when to try to rescue it. This article gives a 10-step plan to triaging
and determining the long-term approach for kinds of projects.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9002910
This excellent list includes 101 tips on how to manage projects and
people. The focus of this article is not
only on work, but also on how to apply the techniques to your daily life.
http://www.projectmanagementsource.com/2006/08/lessons_from_pr.html
A strong emphasis on using unit tests is one of the disciplines of good
quality development. This author
presents 12 advantages that come from creating your unit tests before coding.
http://www.jtse.com/blog/2006/07/11/twelve-benefits-of-writing-unit-tests-first
Many people think that using agile development techniques only applies in
very specialized environments or situations.
Scott Ambler discusses how to apply agile principles in a variety of
situations and how to assess when to use them.
http://www.ddj.com/dept/architect/192700252
Determining the root causes of common programming errors is a good tactic
toward preventing future errors. This
article uses some specific examples in C and C++ to show typical errors and
their usual causes.
http://www.embedded.com/showArticle.jhtml?articleID=192800005
This concise set of college course notes on software testing is an excellent reference for anyone involved in testing, regardless of experience. It covers both white box and black box testing techniques.
http://hebb.cis.uoguelph.ca/~dave/343/Lectures/testing.html
WATSUP, short for Windows Application Test System Using Python, is a free Python framework for test automation. It supports functional testing, performance testing, and regression testing. The toolkit is simple and very easy to adapt to any particular application.
http://www.tizmoi.net/watsup/intro.html
Interview with Jerry Weinberg about his background in testing and his perspectives on where the discipline is headed. This is the first of a series of interviews with well-known people in software testing.
http://www.ddj.com/blog/debugblog/archives/2006/09/five_questions_1.html
Five luminaries in the software testing realm, including Bob Glass, Cem Kaner, and James Bach, provide their perspectives on the question "Does the practice of software testing effectively meet industry needs?"
http://www.computer.org/portal/cms_docs_software/software/homepage/2006/s4055.pdf
This extensive glossary of software testing related terms is designed to help standardize terminology used across disciplines. It compiles terms from a variety of sources, including IEEE 610 and ISO 9126.
http://www.istqb.org/fileadmin/media/glossary-current.pdf
This article gives some excellent criteria to use in prioritizing which tests to focus on in the (typically inevitable!) situation that you cannot complete all testing on an application.
http://www.methodsandtools.com/archive/archive.php?id=31
This article gives a good overview, with salient examples, of how to use
the built-in Linux/Unix text-processing utilities, such as grep,
egrep, fgrep, cut, paste,
join, and awk.
http://www-128.ibm.com/developerworks/linux/l-textutils.html
This excellent guide helps you write clearly and concisely in types of
communication. It includes a list of
words to avoid and suggested alternatives.
http://www.plainenglish.co.uk/plainenglishguide.html
This entire comprehensive reference on XML and related technologies,
including SOAP, is available for download in PDF format. Provides complete coverage
of each topic, including meaningful examples, and a full index for quick
reference.
http://www.theserverside.net/tt/books/addisonwesley/EssentialXML/index.tss
This book chapter gives an overview of the history of
http://www.phptr.com/content/images/0132272679/samplechapter/0132272679_ch02.pdf
DZone is a collaboration and social-networking site for developers. It allows social bookmarking
(similar to del.icio.us) and rating/ranking of
submitted topics (similar to Digg).
This site has (literally!) thousands of free online tutorials on a
variety of programming languages, including the common ones (Java, C/C++, C#,
and VB) and some more esoteric ones (Python, VBScript, and Assembly). Tutorials are organized both by language and
topically.
In the data warehouse worlds, there are generally two approaches: denormalized
relational model (so-called Inmon model) and the
dimensional model (often called the Kimball model). This online book (part of the IBM "Redbook" series)
examines how to do dimensional modeling for data warehouses and business
intelligence reporting.
http://www.redbooks.ibm.com/abstracts/sg247138.html
While I think "overview" may be a misnomer for a tome of almost
1000 pages, this document does provide a thorough and comprehensive explanation
of TCP/IP, including a lot of technical details. Nevertheless, the document is readable and
enjoyable on this esoteric topic.
http://publib-b.boulder.ibm.com/abstracts/gg243376.html
A one-day developer forum scheduled for Sat., 10/14 at OSU Tulsa. Conference includes over 120 individual sessions on 20 separate tracks.
This essay from industry pundit Eric S. Raymond helps you ask questions in online forums, including Usenet, in a way that is likely to elicit a prompt and appropriate response. While focused on Internet forums, it provides good structure for asking questions in almost any setting, including the office.
http://www.catb.org/~esr/faqs/smart-questions.html
This author reviews some statistics and provides his take on why top (the best 20%) employees typically quit.
http://dumblittleman.blogspot.com/2006/09/why-top-employees-quit.html
Leadership is much different than simply being a manager of things or people. So how do you go about developing leadership qualities?
http://www.lifehack.org/articles/lifehack/becoming-a-great-leader.html
A recent study of IT workers indicates that 81% of them believe that they have some obligation to be available to their employer at all hours of the day and night.
http://networks.silicon.com/mobile/0,39024665,39161145,00.htm
One of the most basic of human needs is to be liked by others. But some of us have habits that simply drive others away. This article suggests five ways to help make others like you: be positive, control your insecurities, provide value, eliminate all judgments, and become a person of conviction.
http://www.prometheusinstitute.net/opinion/jh92006.htm
This interesting article explores the "mental gymnastics" that otherwise good leaders use to justify making unethical decisions.
http://gbr.pepperdine.edu/034/leaders.html
What if you had to give up either e-mail or Web? Which would you choose and why? Read this interesting thread to see how others justify their decisions.
http://www.networkworld.com/community/?q=node/8452
Grady Booch talks about patterns, software development best practices, and social responsibility of software engineers.
http://spectrum.ieee.org/aug06/4274
In this essay, the author suggests that, especially for creative endeavors like software development, a job interview is not a good technique for screening candidates.
http://sethgodin.typepad.com/seths_blog/2006/09/the_end_of_the_.html
A recent survey showed that almost half of respondents said that lack of knowledge about their company was the most common mistake made by candidates in interviews. This article addresses 9 other common gaffes to avoid in interviewing for that new job.
http://www.eweek.com/article2/0%2C1895%2C2011140%2C00.asp
A non-technical look at the overhaul of the world's public switched telephone networks (PSTNs) in favor of voice over IP (VOIP) technology.
http://spectrum.ieee.org/apr06/3204
XML Notepad is a handy XML file browser and editor. It supports editing XML files in an intuitive tree view structure and includes some cool features such as Intellisense, find and replace with regex support, and drag-and-drop support within the tree structure.
tinySpell is a free spell-checker for Windows that works in most any application. Thus, it provides you with spell checking in applications that don't have built-in spell checking. It works automatically in the background and will beep when it detects a misspelled word. Simply hit a hot-key for suggested replacements. Includes a 110,000-word American English dictionary.
Toad Data Modeler (TDM) is a full-featured database modeling utility that includes visual design of entity-relationship (ER) diagrams, SQL code generation, and HTML and RTF diagram output. Code generation is supported for dozens of database engines and versions, including Oracle, MySQL, PostgreSQL, and MS SQL Server.
http://www.casestudio.com/enu/database_design_freeware.aspx
XSearch is an advanced replacement for the built-in Windows file search tool. It allows you to search for words (even hexadecimal strings!) in files using criteria like any or all of the specified words, an exact phrase, or which don't include the specified words. It includes many more search criteria refinement capabilities. Think of it as Google for files!
http://www.easexp.com/xsearch/
Dimdim is a free, open source web conferencing application. It provides support to display presentations, applications, or entire desktop and to do chat and voice communication in real time. Currently, the application is client-based, but a hosted version is coming soon.
slimKEYS is a universal hotkey manager that allows you to extend hotkey (accelerator) function in Windows. It includes an extensible plug-in architecture and plug-ins for changing window size/position, launching applications with just a few keystrokes, and changing the volume or muting audio on your system.
http://www.slimcode.com/slimKEYS/
lsrunas is a replacement for the standard Windows runas command that adds the ability pass the password for the specified account as a parameter. This is handy for running a process as a different user, such as the workstation Administrator account, in a script.
http://www.moernaut.com/default.aspx?item=lsrunas
In many cases, the Caps Lock key on a computer keyboard is a useless relic from days of the typewriter. With a simple registry change, you can disable the Caps Lock and actually re-map it to act as another Ctrl key. To do so, run the Registry Editor (Start | Run | regedit). Navigate to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout (without "s" on the end) registry key. Add a new Binary Value item named Scancode Map. Edit the Scancode Map value to be (hexadecimal): 00 00 00 00 00 00 00 00 02 00 00 00 1D 00 3A 00 00 00 00 00. Then, optionally, add a new String Value item named Scancode Comment and set its value (sans quotes) to "Caps Lock disabled. Caps Lock serves as Ctrl key." Close the Registry Editor and restart your system for the change to take effect. To undo this change, simply delete the Scancode Map and Scancode Comment registry values.
This online, Flash-based game uses Google Maps to provide an interesting flight simulator environment. Choose from various major airports or even the Moon or Mars for your landing.
http://www.isoma.net/games/goggles.html
OK. So I'm going to look like a real geek with this one. Anyway, I found it quite interesting and amusing. Basically, people take pictures of road signs and then use math operations to relate the various numbers on the signs. They compete for high scores on the site related to complexity and obscurity.
Play some of those retro arcade classics like Joust, Defender (and Defender II), and Robotron for free at this Flash-based site.
http://www.midwayarcade.com/classic.php
If you don't have time to sit down and read a book, Daily Lit comes to the rescue. Just search for a book (there are dozens of classics to choose from) and specify a reading plan (weekdays, everyday, or MWF) and the web site will send a small part via e-mail on each of the specified days.
This online tool allows you to upload a picture and it will generate an ASCII art rending of the picture. It can even output the HTML output for the ASCII rendering for posting to your web site. The drawing options include black/white or color and use of letters or squares.
http://www.typorganism.com/asciiomatic/
Without comment. J [Just take a look and you'll get a chuckle.]
As the 2006 major league baseball season winds down, this fun site offers a unique way to look back at this season or any season since 1901! It shows you the pennant races for each day throughout the season by league or division. Watch the Cubs fall to the back of the pack! J