Up to Newsletter Index

October 2006 Newsletter


Quotable Quotes


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


Return to top


Software Development Process

Article:  A Look Back

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.



Book Excerpt:  Practices of an Agile Developer: Working in the Real World

This book excerpt offers some tips on practical approach to agile development focusing on how to apply the Agile Manifesto.



Article:  What Is Software Architecture

“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.



Book Excerpt:  Lean Software Development History, Principles, and Practice

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.



Article:  Getting Started with Iterative Project Management

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.



Article:  Six Rules for Great IT Project Success

Good project delivery and management is the hallmark of a great IT organization.  This article covers some strategies for ensuring project success.



Article:  What Keeps CIOs Awake At Night? Old And New Worries, Says Survey

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.



Article:  Race Is On to Woo Next-Gen Developer

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.



Article:  Sink or swim: 10 steps to rescue a foundering project

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.



Article:  Lessons from Project Management

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.



Article:  Twelve Benefits of Writing Unit Tests First

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.



Article:  Imperfectly Agile: You Too Can Be Agile!

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.



Article:  Avoiding the most common software development goofs

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.



Return to top


Software Testing & Quality

Notes:  Software Testing Techniques

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:  Five Questions With Gerald M. Weinberg

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.



Article:  Software Testing and Industry Needs

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?"



Reference:  ISTQB Standard Glossary of Terms used in Software Testing

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.



Article:  Risk Based Testing, Strategies for Prioritizing Tests against Deadlines

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.



Return to top



Tutorial:  Simplify data extraction using Linux text utilities

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.



Tutorial:  How to write in plain English

This excellent guide helps you write clearly and concisely in types of communication.  It includes a list of words to avoid and suggested alternatives.



Reference:  Essential XML Quick Reference: A Programmer's Reference to XML, XPath, XSLT, XML Schema, SOAP, and More

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.



Tutorial:  Introducing Ajax

This book chapter gives an overview of the history of Ajax and introduction to the technology behind it.  Then it goes to show three detailed examples, with source code, that build on each other of a basic Ajax application and the role of the XmlHttpRequest Javascript object.



Site:  dzone.com

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).



Site:  CodeTeacher.com

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.



Tutorial:  Dimensional Modeling: In a Business Intelligence Environment

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.



Reference:  TCP/IP Tutorial and Technical Overview

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.



Return to top


Career Development/Miscellaneous

Event:  Tulsa Tech Fest

A one-day developer forum scheduled for Sat., 10/14 at OSU Tulsa.  Conference includes over 120 individual sessions on 20 separate tracks.



Essay:  How To Ask Questions The Smart Way

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.



Article:  Why Top Employees Quit

This author reviews some statistics and provides his take on why top (the best 20%) employees typically quit.



Article:  Becoming a Great Leader

Leadership is much different than simply being a manager of things or people.  So how do you go about developing leadership qualities?



Article:  Are you on call 24/7?

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.



Article:  Five Tips to Increase Your Likeability

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.



Article:  Why Good Leaders Do Bad Things

This interesting article explores the "mental gymnastics" that otherwise good leaders use to justify making unethical decisions.



Article:  Hypothetical death match:  E-mail vs. the Web

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.



Interview:  Q&A with Grady Booch

Grady Booch talks about patterns, software development best practices, and social responsibility of software engineers.



Article:  The end of the job interview

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.



Article:  10 Avoidable Interview Flubs

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.



Return to top


Telecommunications/Networking Industry

Article:  Telephony's Next Act

A non-technical look at the overhaul of the world's public switched telephone networks (PSTNs) in favor of voice over IP (VOIP) technology.



Return to top


Useful Utilities

XML Notepad 2006 (Free – Windows 2000/XP/2003/Vista – 3.3MB)

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 (Free – Windows 2000/XP/2003/Vista – 527kB)

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 (Free – Windows 2000/XP/2003/Vista – 8.7MB)

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 (Free – Windows 2000/XP/2003/Vista – 191kB)

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 (Free – Windows 2000/XP/2003/Vista – 32.9MB)

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 (Free – Windows 2000/XP/2003/Vista – 309kB)

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 (Free – Windows 2000/XP/2003 – 23kB)

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.



Return to top


Productivity Tips

Disable Caps Lock key in Windows

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.



Return to top


Just For Fun

Goggles:  A Google Maps Flight Simulator

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.



Road Sign Math

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.



Midway Arcade Treasures

Play some of those retro arcade classics like Joust, Defender (and Defender II), and Robotron for free at this Flash-based site.



Daily Lit

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.



Dihydrogen Monoxide Research Division

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



Return to top