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.
This book excerpt offers some tips on practical approach to agile development focusing on how to apply the Agile Manifesto.
“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.
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.
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.
Good project delivery and management is the hallmark of a great IT organization. This article covers some strategies for ensuring project success.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?"
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.
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.
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.
This excellent guide helps you write clearly and concisely in types of communication. It includes a list of words to avoid and suggested alternatives.
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.
This book chapter gives an overview of the history of
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.
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.
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.
This author reviews some statistics and provides his take on why top (the best 20%) employees typically quit.
Leadership is much different than simply being a manager of things or people. So how do you go about developing leadership qualities?
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.
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.
This interesting article explores the "mental gymnastics" that otherwise good leaders use to justify making unethical decisions.
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.
Grady Booch talks about patterns, software development best practices, and social responsibility of software engineers.
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.
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.
A non-technical look at the overhaul of the world's public switched telephone networks (PSTNs) in favor of voice over IP (VOIP) technology.
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.
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!
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.
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.
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.
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.
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.
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