Up to Newsletter Index

November 2008 Newsletter


Quotable Quotes


We should be careful to get out of an experience only the wisdom that is in it—and stop there—lest we be like the cat that sits down on a hot stove-lid. She will never sit down on a hot stove-lid again, and that is well; but also she will never sit down on a cold one any more.  –Mark Twain


Time is the coin of your life. It is the only coin you have, and only you can determine how it will be spent. Be careful lest you let other people spend it for you.  –Carl Sandburg


The function of good software is to make the complex appear to be simple.  –Grady Booch


I have no special talents. I am only passionately curious.  –Albert Einstein


Well done is better than well said.  –Benjamin Franklin


The secret of joy in work is contained in one word—excellence. To know how to do something well is to enjoy it.  –Pearl Buck


If only there were evil people somewhere insidiously committing evil deeds, and it were necessary only to separate them from the rest of us and destroy them. But the line dividing good and evil cuts through the heart of every human being. And who is willing to destroy a piece of his own heart?  –Alexander Solzhenitsyn


You don't stop laughing because you grow old. You grow old because you stop laughing.  –Michael Pritchard


The vitality of thought is in adventure. Ideas won't keep. Something must be done about them.  –Alfred North Whitehead


Return to top


Software Development Process

Article:  Incremental Software Development without Iterations

Incremental development, which generally means delivering value/features a little bit at time, usually involves iterative development.  This article explains how to do it in a more classical development methodology.



Article:  There Is Still No Silver Bullet In Programming

Despite the numerous advances in the past 22 years since Fred Brooks published his seminal article, this author says that there is still not a "one-size-fits-all" approach to software development.  As the agile "revolution" has demonstrated, each organization must find what works for them.



Article:  The Universal Design Pattern

Google developer Steve Yegge discusses some of the practical concerns and pitfalls to watch out for when you use any type of model or pattern in application design.  He says that "properties pattern", which defines the characteristics of an object or application, is universal and should be the starting point for all other modeling.



Article:  Techies Vs. The Business

IT and business alignment and the conflicts between IT and business groups are frequent topics in IT circles.  However, this article is different.  It explores, in an understandable and comprehensive way, the psychological differences that cause the conflicts in the first place and offers suggestions for how to make breakthroughs on this level.



Article:  No Silver Bullet Reloaded Retrospective OOPSLA Panel Summary

This summary of a recent conference panel discussion presents the thinking of some of the industries most respected people, including Fred Brooks himself, about whether or not software development has advanced in the past 20 years in terms of methodology improvement.



Article:  Building a better business case

Defining the business value is certainly a key task in the early stages of a project.  This author also emphasizes that your business cases needs to clearly document what success looks like (metrics) and when the project should be cancelled/abandoned because it is not meeting the objectives.



Article:  Do Not Defer the Difficult in IT Projects

A seasoned development manager makes the case that the difficult aspects of development or infrastructure projects should be tackled first.  His main point is that leaving the difficult aspects to later in a project gives upper management a false sense of really how far a project is along.



Article:  A Good Time for Agility

Tim Bray, the creator of XML, says that the economic turmoil is a great opportunity for developers to adopt agile techniques.  He isn't promoting any specific methodology, but more the basic agile concepts, such as focusing on quick delivery of a small number of features and frequent releases.



Article:  6 Scripting Languages Your Developers Wish You'd Let Them Use

Scripting languages are starting to go mainstream for use in application development.  Here are some lesser-known languages that might be just the thing for your next project.



Article:  The Programming Aphorisms of Strunk and White

Most of you will recognize Strunk and White's Elements of Style as the canonical reference for effective writing.  This author applies some of the precepts to software development, such as sticking with a design that works and sticking with standards where possible.



Article:  Demotivating a (Good) Programmer

There are lots of articles about the "care and feeding of developers".  This one is different.  The author focuses on the fact that the fundamental motivator for programmers is the work itself.  He says that the main things that drive developers away is working on projects that are easy, tangential, and/or that no one will use.



Article:  What Does Economic Uncertainty Mean to Your Company?

With the global economic crisis, IT needs to understand some basic facts to continue to be relevant to the business:  The CFO always gains power in tough economic times and, for IT to be an important factor in sustaining the business, they must know how to measure and communicate their contribution to the business.



Article:  Technical Software Project Management is Dead

This author discusses (and to some degree laments) that many developers are required to take on the role of project manager on their development efforts.  Nevertheless, he doesn't see this as a completely bad thing, but rather as something that developers need to adjust to.



Article:  10 Programming Proverbs Every Developer Should Know

This author takes 10 common general proverbs and gives a unique look at how they apply to the practice of programming.  These are insightful and provide good perspective on how software development and IT fit into the "big picture" of business and life.



Article:  Project Management: The 14 Most Common Mistakes IT Departments Make

This article discusses 14 typical project management mistakes.  The key takeaway from this article is that project management mistakes fall into three main categories:  poor/inadequate planning, poor communication, or ineffective resource allocation.



Article:  Rules of [Developer] Productivity

This is an excellent presentation that explains with great supporting detail many of the well-known matters that increase or decrease productivity among developers.  Two of the key items are that collaborative team "war rooms" work and working more than 40 hours per week doesn't.



Article:  Keys to Rescuing Ailing Projects

Sadly, many organizations are faced with ailing (or failing) software development projects.  Here are some ideas for identifying the characteristics of such projects and for helping to bring them back from the brink.



Article:  The Perfect IT Workplace

Not every organization can be one of the best places to work, but what makes for a great IT workplace?  This article might appropriately be sub-titled "The Care and Feeding of Developers".  It covers the "soft" aspects of creating and sustaining a successful programming culture and environment.



Return to top


Software Testing & Quality

Article:  What are the Qualities of a Good Test?

A number of agile development pundits offer their definitions and criteria of good test cases.  Even if you don't agree with their ideas, it gives some good food for thought for how to build good tests for your applications.



Article:  Test development can be agile, too

Even if your software development process isn't agile, you can still use agile techniques to define tests.  And one pundit says that agile is the natural and best way to do test development.



Article:  Use-Case, Suit Case

This article demonstrates the value that testers can provide to a project in the requirements-gathering and design phase in pointing out how users may do things that the developer never anticipated or expected and the negative consequences that they have.  The example presented is with an aircraft control system that allowed the cargo doors to be opened during flight!



Article:  Snake Oil Sales for the Modern Day

Everyone offers some panacea (or "silver bullet") for the problems of testing.  This article doesn't.  Instead it recommends a simple way to improve efficiency and repeatable of testing by using reusable test data.



Article:  Ten Concepts for Successful Automation Scripts

It is not uncommon for test automation to be undertaken without a plan.  Test developers must not only be good developers, but also good testers.  Here are some great and simple tips for developing good automated tests.



Return to top



Tutorial:  Source Control HOWTO

The original creator of the open-source Abiword word processing package opines that one of the core disciplines of good development, source control (a.k.a., software configuration management) is rarely taught.  He provides a remedy to this problem via a series of excellent, practical articles.



Tutorial:  How to Create Pivot Tables in Excel

Pivot tables are probably one of the most powerful tools in Excel.  However, learning how to create and use them often seems to be a black art.  This simple, step-by-step tutorial with a good example takes some of the mystery out of them.



Tutorial:  How to GET a Cup of Coffee

This extensive tutorial explores the REST-ful way to implement distributed systems using the Web (and web services) as your platform.



Tutorial:  Understanding the Web Services Architecture

Web services and services-oriented architecture are increasing in importance as web-based distributed applications become the norm.  This article gives some good background information on what web services are and the various protocols involved.



Reference:  Font Survey: 32 of the Best Programming Fonts

A good, easy-to-read font is one of the best ways to improve programming productivity.  This excellent article reviews many available fonts and rates them on a variety of criteria.  It also shows examples of each with and without ClearType.  Many of the fonts are free and the others are relatively inexpensive ($8 - $20 each).



Reference:  10 Useful Articles About Database Design

On most projects, most of the development effort is on the front-end (presentation layer) and business logic.  However, the back-end database is probably the single most important aspect for performance, flexibility, extendibility, and maintainability.  Here are some great articles on proper database design.



Reference:  10 Overused Words in Writing

Effective writing can seem daunting, but it doesn't have to be.  This article provides some tips on proving more punch to your writing by reducing some "killer" words.



Return to top


Career Development/Miscellaneous

Article:  8 Essential Skills They Didn't Teach You In School

While there is some current debate about the value of college education and what it actually prepares you to do, most people will take that path to a professional career.  But, most colleges teach skills in a narrow "band" of knowledge.  Here are some things that you need to know to be successful in most any line of work.



Article:  10 ways to survive office politics

Office politics are a fact of life in most workplaces, even though most people claim to dislike it.  Here are some tips for navigating the rapids of office politics.



Article:  How to manage brilliant people

All organizations want to hire the best and brightest.  But managing talented people is often a difficult task in and of itself.  Here are some suggestions for how to approach managing these overachievers.  For more on this topic, be sure to check out Philip Greenspun's classic essay.



Article:  Looking for job security? Try Cobol

Even with the economy sinking, salaries for COBOL programmers are on the rise.  This is due to a number of factors including retirement of many experienced COBOL developers, lack of large off-shore/outsourced COBOL resources, and the fact that mainframes are still a part of the back offices of many companies and will be for the foreseeable future.  [I'm kind of glad I took that COBOL class in college, now!]



Article:  The One Thing Every Software Engineer Should Know

The always insightful (and sometimes controversial) Jeff Atwood says that to be a successful developer one needs to develop good marketing skills.  Not marketing the traditional sense, but good ability at getting people to understand what you are doing and then to develop (no pun intended!) interest and excitement about it.



Article:  Incenting Behaviors

Many organizations have bonus structures based on individual performance or meeting overall company goals.  This author suggests that a better scheme is to base bonus on a single level where the individual is in the organization, so that cooperation is encouraged and the person can still have some control and observability of their contribution.



Article:  Get Rid of the Performance Review!

A UCLA business professor and researcher, Samuel Culbert, says that the annual ritual of performance reviews is ineffective at best and downright demotivating in most cases.  He says that boss and employee approach reviews completely differently, pay is usually driven more by market factors than performance, and they are too subjective, among many problems he cites.  His alternative is two-sided (boss and employee) reciprocal accountable where the boss has a real stake in the employee performance.



Article:  Home Sweet Office: Telecommute Good for Business, Employees, and Planet

Even though oil and gas prices have been falling steadily recently, the other aspects of the economic downturn have again put focus on the value of telecommuting.  However, the key for the employee is to show the boss the business value.



Article:  The 50 most significant moments of Internet history

CNet looks back at some of the milestones in the development of the Internet from 10 different categories, ranging from the underlying technology to social media and Web 2.0 and more.



Article:  Who plays, how much, and why? Debunking the stereotypical gamer profile

This research paper shows that online gamers are older (average age of 31) than the stereotypes and that women, while only 20% of the players, actually play longer than men.



Article:  The Culture Chart

Every company has the obligatory organization chart:  Who reports to who, who's closest to the executives, etc.  But there is a less well-known and undocumented, but equality important, element called the "culture chart":  Who defines and controls the culture of the organization.  This article discusses this and how you must be cognizant of it and how it factors into your success in the organization.



Article:  The most common pitfalls that new tech managers face

Most managers of development groups are plucked from the ranks of the programmers themselves and they are often ill prepared for their new role.  Here are some tips about how to make the transition from "worker bee" to manager.



Article:  Famous Programmers From Adleman to Zimmermann

What types of projects are likely to make a programmer famous?  Interestingly, most of the famous programmers are known for one single project and that inventing a programming language, game, or operating system is what is most likely to lead to fame.



Article:  How to make your people accountable

This author starts off by stating the obvious:  You can't make people accountable.  However, he goes on to outline an effective regimen to make people want to be accountable, such as by making them feel that they are important and are doing important work and by having control over their ability to succeed or fail.



Article:  Rebuild Your Resume with Five Simple Fixes

Your resume is often your "first impression" for a potential employer.  This article suggests some tips to "tune up" your resume, including trying to trim it down to one page and removing fluff and focusing on strong language.



Article:  Top 20 Risks U.S. Tech Companies Are Losing Sleep Over

What are technology company executives worried about?  It's not the economy, according to research into the 2007 SEC 10-K filings of the top 100 public technology companies.  The #1 risk is competition and consolidation in the tech sector, cited by over 90% of companies.



Article:  Should we tell the boss?

IT leaders from a variety of industries discuss five things that they always want to hear from subordinates and five things that they hope their employees never say.



Article:  No time to think?

Workers need to have some dedicated time to just think (not do!) and one of the primary suggestions is getting out of the office at lunch to a place of calm.



Article:  The freedom to say 'no'

With all of the discussion about the "old-boys network" and boy-friendly math and science classes, perhaps the overriding reason for the shortage of women in technical fields is the simple fact that American students have free choice in selecting their careers.



Return to top


Telecommunications/Networking Industry

Article:  MEF Peers Consider Ethernet Exchange

The Metro Ethernet Forum members are considering creating a peering exchange for carriers to allow easier traffic hand-offs between networks.  Such an exchange might speed adoption of carrier Ethernet by making it easier for customers to reach locations not otherwise served by their primary carrier and reducing transit costs for services, which will be important with the growth of 10GB and 40GB Ethernet services.



Article:  Debt-Heavy Telecoms Won't Escape the Credit Crunch

Even though most telecoms aren't in as bad a position as financial firms, the economic crisis will have some impact on telecom industry, simply because telecom is highly capital intensive.  Some even expect Sprint to go into default on its debt.  On the upside, higher unemployment may be a boon to wireline carriers due to need to Internet access for job hunting.



Return to top


Useful Utilities

Open Target Folder  (Free – Windows 2000/XP/2003 – 53kb)

Sometimes you have a desktop shortcut that you'd like to look at in Explorer, but there's not an easy way to do that.  The Open Target Folder shell extension makes it a snap.  It simply adds an "Open Target Folder" option to the context (right-click) menu in Windows that will open Explorer in the containing directory.



QNext (Free – Cross-platform Windows/Mac OS X/Linux – 27MB)

QNext initially looks like universal instant messaging client (works with MSN, Yahoo, AIM, GTalk, and more), but it really is complete unified communications client.  It allows you to set up a secure VPN with other QNext users (on any of the supported platforms) and do audio or video conferencing, secure file sharing, group text chat, and even remote desktop sharing.  (It looks like a nice cross-platform alternative to Gbridge.)



Excelixis (Free – N/A – 1500MB)

Excelixis is an excellent remastered version of the XUbuntu Linux distribution.  It runs as a live DVD or you can install it, using the included installation utility.  Excelixis really shines in the development tools department, as it includes many cross-platform tools, such as Netbeans, Eclipse, Anjuta, MonoDevelop and more.  In addition, it has all of the Internet, multimedia, and graphics tools you'd expect on Linux.  All of this is presented with a great GUI.  If you want to try it out under Windows (or your existing Linux distribution), I recommend running the live DVD under VirtualBox.



PuTTY Add-ons  (Free – Windows 2000/XP/2003/Vista – Varies)

If you use the wonderful PuTTY Telnet and SSH client, check out this site for 12 great add-ons to make PuTTY work even better.  These tools will make you a PuTTY power user!  And if none of these tools fit the bill, check out KiTTY, a fork of PuTTY, which integrates many of these features.



MKN TaskExplorer (Free – Windows 2000/XP/2003/Vista – 2.9MB)

In most cases, the built-in Windows Task Manager is good for managing processes.  However, in some cases, you need more details.  MKN TaskExplorer shows performance and memory graphs for each process, which DLLs it is using, and the threads it has launched.  It even allows you to stop and resume execution of individual processes or even individual threads.



MobaXVT (Free – Windows NT/2000/XP/2003/Vista – 8.9MB)

MobaXVT is a free, portable X11 server with some built-in Unix (Cygwin) utilities.  If you need to access X11 services from your Windows machine, MobaXVT might be just what you are looking for.  It includes simply exporting of DISPLAY from remote systems, X11-forwarding via SSH, and a tab-windowed X11 terminal (mrxvt).  And best of all, this is all included in a single portable executable.  The site even includes a customizer tool, so that you can add other Cygwin utilities.



Return to top


Just For Fun

Where on Earth was Middle-Earth?

A geology professor at UCLA has undertaken the effort to associate the locations in Tolkien's Middle-Earth with their real-world counterparts.  Who would have guessed that Mount Doom is really in Transylvania (Romania)?



The Future of Technology…  In 1969

This short video from almost 40 years ago shows what people expected technology to look like.  Some of it is certainly science fiction, but other predictions are amazingly accurate.




On this interactive site, you can explore some of the most famous journeys of all time, including the Lewis and Clark expedition, the voyages of Marco Polo, Livingstone's travels in Africa, and even Tom Wolfe's "Electric Kool-Aid Acid Test" trip.



Maim That Tune

Got an annoying song stuck in your head?  Then bop over to Maim That Tune.  They'll play you another annoying song so that you can forget about the original one!  :)



The Farewell Dossier

This is an intriguing story about how software piracy during the 1980s caused the failure of a Soviet Union natural gas pipeline that had a trojan horse in it.



Morality Quiz

Morals and ethics form the foundation not only of ourselves, but of our society in general.  You can take this morality quiz and help the researchers collect additional data on this topic, which is so relevant in this time of financial turmoil and in choosing new leaders for our country.



Return to top