Up to Newsletter Index

September 2008 Newsletter


Quotable Quotes


The whole difference between construction and creation is exactly this: that a thing constructed can only be loved after it is constructed; but a thing created is loved before it exists.  –G.K. Chesterton


We should manage our fortunes as we do our health—enjoy it when good, be patient when it is bad, and never apply violent remedies except in an extreme necessity.  –Francois de La Rochefoucauld


Whoever is happy will make others happy too. He who has courage and faith will never perish in misery.  –Anne Frank


People usually fail when they are on the verge of success. So give as much care to the end as to the beginning.  –Lao-Tzu


There is in the worst of fortune the best of chances for a happy change.  –Euripides


Each new user of a new system uncovers a new class of bugs.  –Brian Kernighan


Three keys to more abundant living: caring about others, daring for others, sharing with others.  –William A. Ward


There is no stigma attached to recognizing a bad decision in time to install a better one.  Laurence J. Peter


Return to top


Software Development Process

Article:  What’s in a (User) Story?

User stories are a very effective tool for gathering requirements.  This article gives a detailed, step-by-step explanation by using an example.  User stories are also a useful element to use as blocks for estimating development effort.



Article:  10+ things you can do to motivate your team

One of the main roles that a project leader or manager plays is that of "cheerleader".  The objective is to provide motivation to the team to reach the goal and objectives.  Here are some tips on using external motivators to light that internal fire that really drives the person.



Article:  No, inheritance is not the way to achieve code reuse!

While certainly a little bit philosophical, this author makes a strong case about inheritance being an enabler of polymorphism via categorization.  He also emphasizes the importance of thinking about development instead of just practicing the mechanics.



Article:  What Is Clean Code?

In this excerpt from his new book, Robert "Uncle Bob" Martin interviews some software development luminaries like Grady Booch, Bjarne Stroustrup, and Ward Cunningham on how they characterize "clean code".



Article:  When Is Agile Development Not So Agile?

Success with agile development methodologies requires a strong organizational commitment  to and tolerance for change, by both IT and business.  Otherwise, organizations will simply default back to waterfall methodology using agile terminology.



Article:  On Our Project, We're Always 90% Done

Jeff Atwood points out that unless a developer (even with agile methodologies) has a relatively complete task list of items to complete, it is impossible to really assess the percent complete.  Furthermore, one of the key jobs of the project manager is ensure the task list exists and that it is updated and assumptions are validated.



Article:  Business Requirements are Bulls#@%

While I don't agree with some of the language and the polemic tone of this article, the author makes some very good points about the requirements gathering and documenting process for development.



Editorial:  The bigger question is, why do women and men want to leave IT?

In response to a discussion about why women leave the IT profession, this author suggests that it's time to challenge the notion that IT is made up of "rugged individualists" and that it needs to come into the fold of a regular profession that includes mentoring, less crazy work schedules, and more.



Return to top


Software Testing & Quality

Article:  12 Unit Testing Tips for Software Engineers

While this article focuses on unit testing, most of the principles are applicable to developing any type of effective testing regimen.  The focus of these concepts is on making the best use of the limited testing time and resources.



Article:  Software Is Deployed, Bugs and All

IT and line-of-business managers approve deployment of applications known to have 1 - 10 "critical" defects at an alarming rate.  This is one of the findings in a new software quality survey of medium - large business.



Article:  The Definition of "Done"

Many testing efforts are hampered by not knowing when you are finished testing.  The key emphasis of this article is that is important to define at the beginning and get consensus from the project team on what "done" means.



Return to top



Tutorial:  SQL Join Resources

The key to successful database queries is understanding the various types of joins.  This article has links to a variety of excellent tutorials on joins.



Reference:  Ten XML Schemas you should know

XML is the lingua franca of data on the Internet.  This article describes 10 canonical XML schemas that all web developers and designers should be familiar with, along with links to additional resources on them.



Tutorial:  Hit the Ground Running with the Spring Framework

Many Java developers are put off by the perceived complexity of the Spring Framework.  However, this article shows how you can use the advantages of Spring, such as it's support for common patterns (MVC, aspect-oriented programming, dependency injection, and more), even on simple projects.



Tutorial:  GUI scripting with Zenity [in Linux]

Many folks that work with Linux (or Unix) servers use shell scripting of some sort to automate their work.  If you have some interactive shell scripts, the Zenity toolkit is a useful addition to your scripting arsenal because it allows you to create simple GUIs (based on GTK) for prompts and input.  This article teaches you the basics.


Tutorials:  MIT's Introduction to Algorithms

This blog provides an overview and some excellent notes from the free, online video lectures in algorithms provided by MIT under their "Open Courseware" program.  More commentaries/notes will be posted, so watch the site.



Tutorial:  How to think faster, better on your feet

One of the important aspects of communicating your ideas is to be able to respond quickly and concisely in a discussion.  Learn some ideas about how to train yourself to do this.



Reference:  REST Anti-Patterns

Sometimes when developers first start out using REST, it is easy to get into some dubious practices.  Here are some things to be careful to avoid when using REST.



Return to top


Career Development/Miscellaneous

Article:  Seven Useful Lessons You Can Learn from a Bad Boss

Working for a bad boss is a painful, unfulfilling experience.  However, we should use all of experiences in a positive way to learn something.  Here are some suggestions about lessons to take from a bad boss.



Article:  RTFM: Good advice in troubled times

This pundit waxes (a bit) nostalgic for the times of physical manuals for software products.  Nevertheless, he makes a good point about delving into documentation with the objective gaining knowledge, rather than just a quick answer.  He emphasizes the process of reviewing other details to provide context and maybe even a few surprises.



Article:  Stand Up to Desk Rage—and Rude People at Work

Bullying, verbal abuse, and more are all too common in workplaces today.  Here are some tips on standing up to these bad apples and showing that their behavior won't be tolerated.



Article:  Wozniak: I Wanted to be an Engineer for Life

Steve Wozniak has always been a hero of sorts for me.  In an interview at the Intel Developer Forum, he talks about creating the Apple II and even reveals that he waited in line just like everyone else to buy an iPhone.



Report Summary:  2008 National Study of Employers

In their annual report, the Families and Work Institute finds significant changes over the past decade.  Some of the items on the rise are flexible scheduling, employee assistance programs, and wellness programs.  At the same time, these things are on the wane:  transition from full-time to part-time work, reduced health care premium payments, and pensions and retirement plans.



Article:  Nearly Half of Employers Have Caught a Lie on a Resume, CareerBuilder.com Survey Shows

Resume "embellishment" seems to have reached epidemic proportions.  However, the key takeaway from this report are the key words that hiring managers look for in resumes.



Article:  The Psychology of Happiness: 13 Steps to a Better Life

While I doubt that one article will change your life, this is an excellent resource for improving your outlook on your work.  Interestingly, it quotes research that indicates that 50% of a person's happiness is genetically based, 10% is a result of circumstances (including finances/wealth), and the remaining 40% is a consequence of intentional activity.



Article:  Why programmers should play Go

At it's core, programming is about problem solving and reducing complexity.  Playing the ancient game of Go can teach you how to recognize patterns and to do both strategic and tactical thinking to solve problems.



Article:  When Play Becomes Work

This article gives an overview of an interesting psychological phenomenon called "self-determination theory" discovered by Edward Deci that people lose motivation even when they are doing something that previously loved when there are extrinsic motivators like a paycheck or possibility of being fired.  What do you think?  Give your opinion in this online poll?



Article:  If You're Open to Growth, You Tend to Grow

After 30 years of research, Stanford psychologist Carol Dweck has determined that people with a mind-set that they can expand and grow their abilities over time tend to be more successful in their careers.  She discusses the unique approach that Apple Computer used in putting together the iPhone team.



Article:  The Alternative Productivity Manifesto

This author posits that our old measures of productivity, based on manufacturing, are outdated and irrelevant in technical work.  He recommends a change in our approach by listing 25 new principles.



Return to top


Telecommunications/Networking Industry

Article:  Dial-up users "don't want broadband"

A new study of US dial-up Internet customers indicates that almost 2/3 of them are not interested in switching to high-speed connections.  Among the other findings in the report are that 55% of Internet users now have broadband connections up from 47% in 2007.



Article:  Phones Without Homes:  What's really killing the land-line telephone business.

Interestingly, contrary to the idea that people are abandoning landlines for wireless, this author suggests that the economic downturn is as much to blame.



Article:  U.S. Broadband Speeds Continue To Lag

The U.S. continues to be far behind the rest of the world in broadband speeds with a median download speed of 2.35 Mbps with East Coast states having the fastest speeds, compared to Japan's median speed of 63.60 Mbps.  Some pundits point out that at the rate of speed increase from 2007 to 2008, it will take the U.S. over 100 years to catch up to where Japan is now.  On the other side, it raises the "chicken-and-egg" question about growth of broadband subscribers.



Article:  Google Wants You To Be Your Own ISP

Google VP Vint Cerf argues for net neutrality and against the failure of traditional telecoms and cable operators failures to invest in new infrastructure.



Return to top


Useful Utilities

WebToMail  (Free – Online tool – N/A)

Sometimes having a copy of a web site as an e-mail is very useful for historical purposes or because you are unable to access a site.  Simply send an e-mail to send@webtomail.co.cc with the URL of the page to retrieve as the subject and in a few minutes the rendered page will be delivered as an HTML-format e-mail.



Calgoo (Free – Windows 2000/XP/2003/Vista – 33MB)

Calgoo is an excellent calendar tool.  Among its many features are ability to synchronize online calendars, such as Google Calendar and iCal, with your desktop calendar, and sharing your online calendar with only the people that you want to.



Circle Dock (Free – Windows 2000/XP/2003/Vista – 7.6MB)

Circle Dock is a unique dock/launcher that puts all of the files, folders, and shortcuts in close proximity to your mouse cursor.  It has a customizable hotkey and you can use the mouse scroll wheel to rotate items on the dock.  (Requires .NET framework.)



MaxTo (Free – Windows XP/2003/Vista – 176kB)

MaxTo will help you reduce the clutter of the various windows on your desktop.  Instead of using virtual desktops, MaxTo divides up the desktop into regions.  When you maximize a window in one of the regions, it only maximizes to the size of that region.  This allows you to have various applications tiled with interfering with each other.  (Requires .NET framework.)



jobBuddy (Free – Windows 2000/XP/2003/Vista, Mac OS X, and Linux – 4.3MB)

jobBuddy is a cross-platform (written in Python) graphical tool for searching for jobs on six of the most popular job web sites (Monster.com, Careerbuilder.com, Indeed.com, Dice.com, SimplyHired.com, and Yahoo Hotjobs).  It searches all of the sites simultaneously and displays the results in a simple table.  You can delete any results that you aren't interested in and get additional details for those that you are.  (In addition, since jobBuddy is just a single Python script, it is a good illustration on writing network-enabled GUI applications in Python using wxPython GUI toolkit.)



Return to top


Just For Fun

Save Mister Rogers' Neighborhood

What would childhood have been or be like with Fred Rogers?!  In June 2008, PBS decided to change their schedule and only show Mister Rogers' Neighborhood one day per week on weekends.  This site is a campaign to ask them to resume the daily broadcasts.  Please support this!



NASA Images

In cooperation with the Internet Archive, NASA has made available a huge collection of historic photographs, film, and video from 21 separate sets in one place.  The site is searchable and covers the entire history of the NASA up to the present day.



The InfoWorld Programming IQ Test

Even though they call it an "IQ test", this is really more of a trivia quiz about programming.  Nevertheless, it's sort of fun to see how much you know about the esoterica of the development sub-culture.



Has modern life killed the semicolon?

As many of you know, grammar is a bit of an avocation of mine.  Accordingly, I found this article about the precipitous drop in semicolon use interesting.  Alas, with the birth of the emoticon, the semicolon now has a revived existence!  ;)



Guess the movie from one letter from their posters

Can you guess the dozens of movies represented by just one letter from their posters?  Some are quite easy and others are pretty tough.  These provide a good example of how iconic some fonts have become in our culture.



Return to top