Up to Newsletter Index

December 2007 Newsletter


Quotable Quotes


They deem him their worst enemy who tells them the truth.  –Plato


We don't live in a world of reality, we live in a world of perceptions.  –Gerald J. Simmons


The important work of moving the world forward does not wait to be done by perfect men.  –George Eliot


One way to get the most out of life is to look upon it as an adventure.  –William Feather


Cheerfulness is the best promoter of health and is as friendly to the mind as to the body.  –Joseph Adison


Progress is a nice word, but change is its motivator and change has enemies.  –Robert F. Kennedy


Knowledge and timber shouldn't be much used until they are seasoned.  –Oliver Wendell Holmes


When your work speaks for itself, don't interrupt.  –Henry J. Kaiser


There is no security on this earth, there is only opportunity.  –Douglas MacArthur


Dost thou love life?  Then do not squander time, for that is the stuff life is made of.  –Benjamin Franklin


Knowledge is the only instrument of production that is not subject to diminishing returns.  –John Maurice Clarke


Return to top


Software Development Process

Article:  Six language-independent ways to write better code

Everyone wants to improve the quality and efficiency of their development.  Here are some great tips on how to create code that is more maintainable, reusable, and flexible.



Article:  Advantages of User Stories for Requirements

User stories, which are a kind of higher level use case, are discussed as a good first-level tool for gathering system requirements, especially on agile projects.



Article:  The perils of dirty data

Wondering how important data integrity is?  This article uncovers some of the hidden costs of bad data and some of the more direct implications of data integrity problems.



Article:  XP inventor talks about agile programming

Kent Beck is interviewed about how agile development techniques have evolved and suggests that agile methods are better at identifying project problems earlier in the effort.



Article:  Understanding complexity

Complexity (multiple interfacing systems, complicated requirements, etc.) is a fact of life in modern software development.  But a second look at understanding the concept of complexity is the first step toward managing it.



Article:  10 reasons why use cases are indispensable to your software development project

Use cases, especially the narrative type, are an excellent way to capture requirements and user-to-system interactions.  This article gives some tips about how use cases can help the analysis, development, and testing teams, by providing a standardized communication framework.



Article:  How Do Committees Invent? (a.k.a., "Conway's Law")

This classis (almost 40 years old!) article points out a key factor that analysts and project managers need to pay attention to when designing systems:  Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure.



Article:  The Downside of Best Practices

"Best practices" is often tossed around as a red herring to divert attention to the fact that fixing problems takes hard work.  This author discusses how each organization must adapt good patterns to their specific needs instead of relying on "out of the box" fixes.



Article:  Technical Debt

Technical debt is the cost incurred when designers or developers choose the expedient path for the short term, which ends up costing more in maintenance, rework, etc. in the long run.  This article gives some tips for how to choose the right kind of "technical debt", since all projects involve some trade offs.



Articles:  A Brief History of Programming

These articles discuss the history and evolution of computer programming concepts and philosophy over the past 50+ years. 




Article:  Five Things IT Managers Should Know About Software Requirements

Like it or not, requirements are the cornerstone to a successful development project.  This article looks at requirements from the management perspective:  cost, value, etc.



Article:  Process Is About People

This brief article emphasizes that the purpose of any process or methodology is to enable work to be accomplished.  The author notes that processes need to be developed with people in mind (i.e., how will the process be used).



Article:  Why search is a developer's most powerful tool

This article discusses some helpful uses of web search sites for developers, such as searching for additional API documentation or examples, looking for others who have or have solved the same problem, and more.



Article:  Top Ten Use Case Mistakes

Writing use cases to document requirements is a popular and effective technique.  However, you need to beware of some of the pitfalls and problems that can crop up.



Whitepaper:  Great Expectations:  The Changing Role of IT in the Business

This whitepaper produced by The Economist research arm based on interviews with senior business executives, indicates that the divide between the business and IT is growing.  Business people feel like IT is becoming less effective in meeting their needs.



Return to top


Software Testing & Quality

Articles:  Avoiding the "Test and Test Again" Syndrome

Tester's often get stuck in the "normal" test cycle and are unable to properly plan and prepare for integrated testing.  These articles look at some approaches for preventing this pattern.



Article:  The top 10 IT disasters of all time

Think that testing doesn't really matter that much?  Maybe these examples (in the classic "top 10" list style) will change your mind.



Video:  Becoming a Software Testing Expert

James Bach discusses the process required to develop your testing skills beyond the basics.



Article:  Five Questions With Lyne Brown

The development lead for Microsoft's Macintosh test automation team says that even in the age of test automation, "classical" skills like ad-hoc testing, natural curiosity, and looking beyond the obvious are still the most skills.



Article:  Effective user interface testing

This author says that the key element in testing via a user interface, whether it is a web-based system or typical client application, is not how to test, but what to test.



Article:  Surprising criticism from parting Microsoft development lead

The former Microsoft development lead for the C# editor offers some candid advice about continuous development quality improvement by asking difficult questions.



Return to top



Tutorial:  How difficult is it to write a compiler?

This interesting article discusses the basic principles of writing a programming language compiler.  Even if you don't want to write one yourself, it is still useful to understand the underlying process that your compiler uses with your own programs.



Tutorial:  Debugging Makefiles

GNU make is the ubiquitous method for building applications.  But finding and resolving problems with an errant makefile is tedious.  Here are some great tips on how to debug makefiles.



Tutorial:  Snake Wrangling for Kids

This free, PDF-format book is intended for teaching beginning computer programming principles to young children (even under the age of 10!) using the Python programming language.  Even some of us grown ups might find this to be a worthy tutorial or refresher.



Tutorial:  Ten useful uses of command find

Once you mastered the basics of the find command, here are some examples of how to exploit the full power for efficiency and productivity.



Tutorial:  Learn Touch Typing

Like it or not, using a keyboard efficiently is a necessary skill in almost any line of work.  If you are still hunting and pecking, this excellent online training can teach you essential touch typing skills in a fun, self-paced manner.



Tutorials:  Learn Networking

This site, written by professionals, is dedicated to teaching networking principles without using arcane technical jargon.  They provide a wide variety of tutorials on networking and related security matters for both LAN and WAN technologies.



Reference:  What Beautiful HTML Code Looks Like

Everyone knows a good web site when they see one.  What are some of the key characteristics of good web site craftsmanship?  This article outlines some the important elements and includes a visual guide to the items.



Reference:  Programming Language Popularity

Interesting charts about programming language popularity based on searches at a variety of web sites, including search engines, social networking sites, and online stores.



Tutorial:  Using Eclipse for C/C++ Development

Most the attention Eclipse gets is for using it to do Java development.  But Eclipse is a multipurpose platform that supports a variety of languages.  These articles give a step-by-step approach for getting started with Eclipse for C/C++ development using the gcc compiler suite.




Tutorial:  Anatomy of the Linux file system

For developers moving from other platforms to Linux (or Unix) for the first time, one of the key elements to success is understanding the file system.  But this can be a daunting task.  This excellent tutorial explains the structure and logic behind the Linux file system.



Return to top


Career Development/Miscellaneous

Article:  Five Ways To Make Yourself A Workplace Superstar

The main benefit of being the office superstar is not the accolades, but the additional control over your own future that it gives you.  Here are some tips for improving your work situation.



Articles:  The Pmarca Guide to Career Planning

Marc Andreessen, creator of the original Netscape Navigator web browser, suggests that instead trying to create a detail roadmap of your career, you should focus on developing skills and looking for opportunities to apply them.



Article:  The 2008 IT Salary Guide

Higher demand than has been seen in over 5 years has driven salaries up by an average of 5.3% over 2007 and as much as 7% in some specialized areas.



Article:  Desktop Linux on the rise, Linux Foundation reports

Linux on the desktop in businesses continues to make in roads according to the 2007 Linux Foundation desktop Linux survey.  The survey had more than twice the number respondents over 2006 and indicates that almost 2/3 of respondents have production implementations of desktop Linux with Ubuntu leading the pack at over 50%.



Report:  Computerworld's 2007 Jobs Report: Back From the Brink

Computerworld's annual salary survey shows that IT salaries are continuing to increase after the market downturn in 2002, but they are frequently not keeping pace with inflation.



Article:  The Death of E-Mail

Some pundits are claiming that e-mail is dying because younger generations are turning to more immediate forms of electronic communication.  However, others aren't so sure.



Article:  Whither the Resume?

We often feature articles about resume preparation advice in this newsletter.  But here's an article that turns that on its head.  It seems that the advent of social media sites like Linked In, Facebook, etc. are making the traditional resume passé.



Article:  How to Shave Ten Hours Off Your Work Week

Many people are working more hours than they would like.  Here are seven practical tips to be more efficient about your work, including spending less time online (yeah, I didn't much like that one either!) and planning your day (and sticking to the plan!).



Article:  The 30 Top Paying Jobs in IT

While probably no one will be amazed that CIOs are the top-paid jobs in IT, it may surprise you to know that estimates show that 29 other IT job titles are projected to pay $100,000 per year or more in 2008.



Article:  Dealing With Professional Burnout Without Quitting Your Job

Most workers encounter burnout in their jobs at some time or another.  But quitting and finding a new job is not always a luxury that everyone can afford.  This article has some great tips on restoring your passion for your current job with burnout hits.



Article:  10 career-killers to avoid

Everyone is vulnerable to make career-effecting mistakes.  Here are some tips on key mistakes that IT workers should try to prevent.



Resource:  The Interviewing Cheat Sheet: 100 Resources for Interviewers and Candidates

This site provides a list of links to 100 other sites for specific information about job interviews from both the candidate and interviewer perspectives.  The list is well organized and the links are excellent.



Article:  Does E-Mail Distract? Not if You Take Charge

Some new research shows that e-mail actually stimulates the creative portion of our brains, but there are limits to it's effectiveness.  Working through e-mail can be an effective way to get some work done when your brain is tired, but trick is to not let it take over your day and distract you from the important things (i.e., important versus urgent).



Article:  Best Places to Work in IT 2007

Computerworld's annual roundup of the top IT employers based on workplace diversity, training opportunities, career development, retention/turnover, and benefits.



Article:  How to Construct a Killer Resume, From Start to Finish

I know that we often feature a lot of articles about resume-writing tips, but this one was too good to pass up.  This article gives specific examples and the dos and don'ts of good resume design, even for those like me that don't have a lot of design skills!



Article:  AT&T calls teleworkers back to cubicle life

One of the largest and most visible (and possibly most emulated) experiments in telecommuting is coming to an end.  AT&T has notified 10,000 - 12,000 telecommuters that they will need to start working in the office again.  This is likely to re-open the debate about the pros and cons of telecommuting.



Return to top


Telecommunications/Networking Industry

Article:  Aussie maths whiz supercharges net

An Australian researcher has discovered a technique that reduces crosstalk on twisted pair copper cabling which may result in transmission speeds 100 times greater than currently possible.



Article:  The Future of Online Video will be Dictated by the Carriers

Video content is the Holy Grail of new media.  But incumbent telecom and cable carriers still have a major role to play in the future of online video.



Article:  Study: Internet could run out of capacity in two years

Increased demand for streaming media is one of the factors that may cause a "bandwidth crunch" on the Internet by 2010.  However, one of the more interesting reasons is increase in portable gadgets that will have Internet connections, increasing the demand for bandwidth.



Return to top


Useful Utilities

Vista Drive Icon  (Free – Windows 9x/NT/2000/XP – 131kB)

Vista Drive Icon adds the functionality of displaying in drive icon in My Computer display which shows the drives free space in colored bar.  It simply provides this nice little tweak to older versions of Windows.



Executor (Free – Windows 2000/XP/2003/Vista – 763kB)

Executor is an incredible Windows Run dialog replacement.  It does the basic Run dialog functions and much, much more.  It supports user-definable keywords so that you can define your own actions (e.g., "edit test.txt" will open test.txt in your favorite editor), auto-completion of entries based on history, display of command history, and it can be launched via hotkey or docked to your desktop, so it always available.



DesktopCoral (Free – Windows 2000/XP/2003/Vista – 912kB)

If you have applications on your desktop that you absolutely do not want to be obscured by other windows, especially when other windows are maximized, then DesktopCoral is for you.  It basically creates an invisible, resizable docking bar on one edge of your screen, so that the windows that reside there will never be covered.



Multi-Monitor Task Bar (Free – Windows 2000/XP/2003/Vista – 500kB)

Typically, when you use a multi-monitor configuration in Windows, the task bar is limited to the primary display.  Multi-Monitor Task Bar allows you to extend the task bar across all displays and has the added benefit of only showing the applications that are in a particular display show up on the task bar for that display.



ThumbWin (Free – Windows 2000/XP/2003/Vista – 841kB)

ThumbWin is a handy desktop utility that allows you to minimize your windows to thumbnail windows at the bottom of the screen (instead of icons on the task bar).  You can specify the size of the thumbnails and their transparency.  In addition, it has hotkeys to bring the entire collection of thumbnails to the foreground or to send them to the background, to align them, or even to restore all of the minimized windows.



SnagIt (Free – Windows 2000/XP/2003/Vista – 11.6MB)

This is a completely free (and legal) version of the excellent SnagIt screen capture utility.  Simply download it (from the link below) and install it.  Then go to the SnagIt web site to request a free registration key.  The giveaway is for the previous version (7.2.5) of the utility, but you can upgrade to the latest version for half price.



Windows Vista Evaluation Virtual Hard Drive (Free – Windows XP/2003/Vista – Varies)

Want to try out Windows Vista, but aren't sure you want to completely take the plunge.  Microsoft is providing a 30-day trial version as a Virtual PC/Virtual Server hard drive image.  It requires about 1GB of free RAM on the host system and about 10GB of hard drive space.



Power*Architect (Free – Cross-platform/Java – 14.5MB)

Power*Architect is a free, open-source, Java-based data modeling tool with emphasis on data warehouse and data mart design, but works fine for standard logical database design, as well.  It features drag-and-drop design functionality and can connect to multiple databases via JDBC simultaneously.



Return to top


Just For Fun

11 Phenomenal Photos of Earth

These are 11 absolutely amazing and beautiful images of the earth from space.  They give a fascinating glimpse into the incredible beauty and complexity our planet.



Geek stars: The secret (nerdy) life of celebrities

Not all celebrities are as ditzy as Britney or Paris!  Here are famous folks with serious technical chops.  Undoubtedly you'll know about some of their backgrounds, but some may surprise you.



Five Fantastic Flickr Photographers

Who would have expected a the photo-sharing site Flickr to be the home of some fantastic photographic art?  Check out these artists.



How To Measure Any Distance With The Pythagorean Theorem

Remember in high school math class how you used to always ask the teacher why you needed to learn that stuff?  Well, this is a very intriguing example of how a simple math principle can be applied to a wide variety of situations.  Very cool!



The World's 10 Most Famous Uncracked Codes

Got a little time on your hands?  If so, then maybe you should take a shot at some of these unsolved cryptography gems.




This online game is best described as the unholy union of two 1980s classics:  Pac-Man and Zork.  Basically, it is an interactive fiction version of the Pac-Man game.



Samurai Sudoku

Conquered regular sudoku and looking for a new challenge?  Enter Samurai Sudoku!  It's like standard sudoku, but it features 5 puzzles which overlap.  A new puzzle is posted daily and you can browse previous puzzles by difficulty.



How to build your own Sputnik

With the 50th anniversary of the launch of Sputnik just past, an electronics hobbyist shows how to build your own Sputnik with spare parts from around your house.  Gives you a good flavor for the resourcefulness of the engineers from those days.



MIT Entrance Exam, 1869-70

Think you are cut out for MIT?  How about 150 years ago?  Here's the first entrance exam for MIT.  It's a bit more difficult than you might expect.



Return to top