Up to Newsletter Index

September 2009 Newsletter

Quotable Quotes

 

Perseverance is not a long race; it is many races one after another.  –Walter Elliot

 

Optimism is a revolutionary act.  –Cameron Crowe

 

To dare is to lose one's footing momentarily. To not dare is to lose oneself.  –Soren Kierkegaard

 

The greatest way to live with honor in this world is to be what we pretend to be.  –Socrates

 

When ideas fail, words come in very handy.  –Johann Wolfgang von Goethe

 

Plato is my friend—Aristotle is my friend—but my greatest friend is truth.  –Isaac Newton

 

The weakest living creature, by concentrating his powers on a single object, can accomplish something. The strongest, by dispensing his over many, may fail to accomplish anything. The drop, by continually falling, bores its passage through the hardest rock. The hasty torrent rushes over it with hideous uproar, and leaves no trace behind.  –Thomas Carlyle

 

Impatience never commanded success.  –Edwin H. Chapin

 

The successful person makes a habit of doing what the failing person doesn’t like to do.  –Thomas Edison

 

Return to top

 

Software Development Process and Methodology

Article:  Law of Averages Overturned

A Stanford professor says that project managers need to bone up on their statistics and apply principles of probability to estimation and project planning.  He notes that small deviations in actuals from estimates in project schedules are the main reason for development project “failure”.

http://blogs.cioinsight.com/knowitall/content001/software/law_of_averages_overtuned.html

 

Articles:  Low Tech Approaches to Requirements

As technologists and purveyors of technologies, developers often first turn to the computer for requirements-gathering and documenting tools.  In this three-part series, a programmer suggests some decidedly low-tech approaches that are often more efficient and effective.  Sometimes, good old pencil and paper and a sit-down conversation with the users is the best technique.

http://chriswoodill.blogspot.com/2007/08/low-tech-approaches-to-requirements.html

 

Article:  Developer's Kvetch: The Rotting Stink of Corporate IT

This author opines about the sad state of corporate IT shops, such as disregard for standards, apathy, and the frustration with “the process”.  But she also notes that corporate IT can work, especially who small, empowered teams are used.

http://itmanagement.earthweb.com/article.php/3828966/Developers-Kvetch-The-Rotting-Stink-of-Corporate-IT.htm

 

Article:  It's time for a change: Do less with less

Technology workers are often stressed out and worn out.  Borrowing from the slow food movement, this article proposes a set of 10 principles to slow down IT and still deliver value to business customers.  Fundamentally, many of these ideas are the underpinnings of lean production model.

http://www.infoworld.com/slowit

 

Article:  Managing UI complexity

This excellent article explains an iterative approach to reducing complexity in user interfaces and, thereby, improving usability and effectiveness of the application.  Remember that simplicity is your objective.

http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/

 

Article:  In need of a theory for software engineering

Just as it has been since the beginning of the software development and engineering discipline, the greatest challenge is how to develop great software.  In this excellent (and lengthy!) article, Ivar Jacobson, one of the creators of the Unified Process, explores some of the methodology approaches that may yield fruit.  The comments on the article are insightful, as well.

http://ivarblog.com/2009/05/29/in-need-of-a-theory-for-software-engineering/

 

Article:  Agile Adoption: Projects Should Dive-In, Organizations Should Toe-Dip

Development expert Johanna Rothman says that organizations should take a measured approach to implementing agile by using in some projects to understand how it works.  At the same time, on the projects selected to use agile, it should be fully implemented.

http://www.infoq.com/news/2009/08/rothman-managers-adopt-gradually

 

Article:  I’m OK; The Bull Is Dead:  Communication Skills for Developers

As we frequently discuss here, communication is the key to any successful activity.  In this article, the author proposes a simplified communication technique for technical workers, especially on status reports, using the inverted pyramid from journalism:  Begin with the conclusion, then state the most important facts, and finally conclude with the details.

http://www.computerworld.com/s/article/print/93903/I_m_OK_The_Bull_Is_Dead

 

Article:  Stand Back and Deliver: Introduction to Key Principles

In many ways, IT project management is more art than science.  This book excerpt discusses the main ideas behind “good agile” practice both from the IT and business perspectives.

http://www.informit.com/articles/article.aspx?p=1355310

 

Article:  Do Not Use Design Patterns Upfront

This author claims that design patterns should not be used during initial development, because, at that point, they are essentially a solution in search of a problem.  Instead, he suggests that patterns should be part of the refactoring phase and flow from the initial code.

http://blog.jovan-s.com/2009/07/29/do-not-use-design-patterns-upfront/

 

Return to top

 

Software Testing & Quality

Article:  The Surprising Right Fit for Software Testing

While autism-spectrum disorders like Asperger’s syndrome are often seen as a handicap to IT professionals, this article indicates that such behavioral differences may be the factor that sets successful testers apart from developers.  And here’s a personal story about Asperger’s syndrome from a career tester.

http://hbswk.hbs.edu/item/5869.html

 

Article:  Coding and Testing: Testers and Programmers Working Together

Agile testing expert Lisa Crispin suggests that developers and testers work together throughout the development lifecycle a la pair programming to help the developer consider the appropriate tests to write and for the tester to better understand the application.

http://www.methodsandtools.com/archive/archive.php?id=88

 

Article:  Automated Software Testing Distilled – Standards and other Considerations as Prerequisites to Success

Many people (frequently those without test backgrounds) see automated software testing (AST) as the panacea for testing faster and with fewer people.  However, AST itself requires careful analysis for suitability and organizations need to remember to AST involves a development lifecycle itself.

https://www.softwaretechnews.com/stn_view.php?stn_id=50&article_id=134

 

Article:  SQLite: A Lesson In Low-Defect Software

This article provides an in-depth analysis of how SQLite went from “quick hack” project to a high-quality ubiquitous application.  (You know that it’s the database engine behind the history, bookmarking, and other data management functions in Firefox web browser, right?)  The key aspects are liberal use of comments in code, extensive code coverage for unit tests, and process improvement, all of which are techniques that any developer or project can adopt.  One of the points that most stuck out to me is:  Safety != Reliability. Safety: no harm; reliability: no failures.

http://aleccolocco.blogspot.com/2009/08/sqlite-lesson-in-low-defect-software.html

 

Article:  Golden rules for software testing

No matter what development methodology your organization uses, there are some software testing principles that always apply.  This author gives a brief, succinct list of these “golden rules” from his experience.

http://www.testertroubles.com/2009/05/golden-rules-for-software-testing.html

 

Return to top

 

Tutorials/References

Reference:  langref.org

Patterns are a great tool to use to learn a new programming language.  This site uses the pattern concept to show how to solve common programming programs in a variety of languages, including Java, PHP, Perl, C++, Python, Ruby, and more.  One of the best features of the site is that it gives you the ability to compare an implementation in a language that you already know to one that you are learning, so you can see the differences and subtleties.

http://langref.org/

 

Tutorial:  Guidelines for Writing Use Cases

Use cases are one of the most effective ways of capturing business requirements.  Here are some simple, straightforward tips for doing this effectively.

http://www.johnmichaelbattista.me/software-engineering/use-cases

 

Tutorial:  SQL pie chart

This cool little tutorial shows you how to create an “ASCII art” pie chart using database data entirely in standard SQL.  While you might never have need for this, it does show you some handy techniques for your queries.

http://code.openark.org/blog/mysql/sql-pie-chart

 

Tutorial:  Hashing. The whats, hows, and whys.

Using hash keys is one of the most effective ways to improve application performance when a large number of records must be searched.  This detailed tutorial explains how to do hashing and details some of the various approaches and algorithms.

http://neverfear.org/blog/view/73/Hashing_The_whats_hows_and_whys

 

Tutorial:  RESTful HTTP in Practice

REST has become a popular method for developing web services.  But the REST architecture is often confusing.  This tutorial explains how to implement REST web services over HTTP.  While somewhat of mid-level tutorial it is useful in understanding the core principles.

http://www.infoq.com/articles/designing-restful-http-apps-roth

 

Return to top

 

Career Development/Miscellaneous

Article:  Why goofing off boosts productivity

While this one is certain to be controversial, some new research indicates that those who take breaks that most would consider "slacking" actually are more productive.  In  particular, those that spend time on non-work-related web surfing are 9% more productive.

http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9131066

 

Article:  Want to get ahead? Sleep in

In bad news for me, new research via brain imaging shows that later risers have more mental stamina and can outperform early birds.  After 10 hours of being awake, the early birds showed reduced activity in brain areas linked to attention span, compared with the night owls.  And night owls tend to be wealthier, as well.  So much for Ben Franklin’s maxim:  Early to bed, early to rise makes a man healthy, wealthy, and wise.

http://www.theglobeandmail.com/news/technology/science/want-to-get-ahead-sleep-in/article1065333/

 

Video:  A kinder, gentler philosophy of success

Many people get caught up in trying to achieve success that is defined by others, which leads to disappointment (so-called “status anxiety”).  In this excellent presentation, Alain de Botton explains that each individual should define success for him or herself and then develop goals around that definition.

http://www.ted.com/talks/lang/eng/alain_de_botton_a_kinder_gentler_philosophy_of_success.html

 

Article:  The scientific method

In this succinct article Seth Godin suggests the best way to improve and “get smarter” is to use the scientific method.  He says that rather than being defensive, we should enter conversations looking for something to test, measure, and then change.  The concept is very similar to Deming’s Plan-Do-Check-Act cycle for improvement.

http://sethgodin.typepad.com/seths_blog/2009/08/the-scientific-method.html

 

Article:  Why Smart People Do Stupid Things

New studies have found that intelligence does not imply the ability to think rationally.  This article discusses dysrationalia (my new favorite word!) and how you can improve your rational thinking.  One researcher even suggests development of tests to measure RQ (“rationality quotient”) similar to IQ.  As well, self-discipline is a greater predictor of performance than IQ.

http://www.magazine.utoronto.ca/feature/why-people-are-irrational-kurt-kleiner/

 

Article:  The problem with PowerPoint

On the occasion of the 25th anniversary of PowerPoint (can you believe it?!), the BBC reports on how these types of presentations are not effective.  For example, PowerPoint makes us “dumb” by hiding relevant facts and often the presentations are just too boring (“PowerPoint poisioning” or “death by Powerpoint”) and the audience overlooks relevant information.

http://news.bbc.co.uk/2/hi/uk_news/magazine/8207849.stm

 

Article:  How to improve your email etiquette

Like it or not, e-mail is the de facto communication medium of the 21st century (so far!).  To use e-mail successfully, you need to follow some simple rules of protocol.  A couple of my favorites from this list:  Change the subject line every time you start a new conversation and don’t get the last word in.

http://shine.yahoo.com/channel/life/how-to-improve-your-email-etiquette-481584

 

Article:  10 signs that it's time to look for a new job

Whether times are good or bad, it’s often difficult to know whether you should leave one job (“the devil you know”) for another (“the one you don’t”).  Here are some good questions to ask yourself to determine if it’s time to move on.

http://blogs.techrepublic.com.com/10things/?p=940

 

Article:  The Truth About Grit

Most of the time the history of great developments or happenings gives us the idea that these things were instantaneous flashes of insight or brilliance.  But usually these things are the result of diligence and a long-term dedication, says a researcher.

http://www.boston.com/bostonglobe/ideas/articles/2009/08/02/the_truth_about_grit/?page=full

 

Article:  What do CEOs do? A CEO Job Description

Have your sights set on running a company?  Well, it’s probably useful to understand the various roles that the CEO plays.  And make sure that you develop the skills to be an effective CEO, especially if you are moving from startup to on-going business.  And it doesn’t hurt to be tall.  ;)

http://www.steverrobbins.com/articles/ceojob.htm

 

Article:  Reversing Your Email Composition

How many times have you sent an e-mail and forgotten the attachment?  Or accidentally sent it before you were finished?  This simple, but effective tip suggests that you reverse the normal flow of actions for writing an e-mail to help avoid those mistakes:  attach files, write the body of the message, write the subject (very important!), and finally enter recipients.

http://www.everyjoe.com/articles/reversing-your-email-composition/

 

Return to top

 

Telecommunications/Networking Industry

Article:  VoIP thrives amid telco indifference

Even though most providers don’t seem very interested in VOIP service, it continues to gain traction among consumers.  Likewise, even though carriers could stop VOIP, they aren’t doing that either.  This observer thinks that carriers should put more effort into VOIP to take advantage of the demand.

http://www.fiercetelecom.com/story/voip-thrives-amid-telco-indifference/2009-08-05

 

Article:  New Study, Same Results: U.S. Broadband Speeds Lagging

CWA’s annual Internet speed test shows U.S. far behind other developed countries.  At the present rate of annual speed increases, which was just 1.6Mbps last year, it will take U.S. over 15 years to catch up to leader South Korea’s current speed!

http://www.eweek.com/c/a/Government-IT/New-Study-Same-Results-US-Broadband-Speeds-Lagging-532438/

 

Article:  Broadband Stimulus Plan Has No Map for Success

GigaOM questions the government’s approach for increasing broadband access to rural areas by enlisting carriers to map out locations with limited access.

http://gigaom.com/2009/08/10/broadband-stimulus-plan-has-no-map-for-success/

 

Article:  Why AT&T Killed Google Voice

In this editorial, Andy Kessler says that AT&T was behind Apple’s rejection of Google Voice app for IPhone.  He proposes that in the 21st century all communications is data, including voice services, and he proposes an overhaul of current communication policy around that principle. 

http://online.wsj.com/article/SB20001424052970204683204574358552882901262.html

 

Return to top

 

Useful Utilities

BrowserTraySwitch (Free – Windows 2000/XP/2003/Vista/7 – 351kB)

Most power users have more than one web browser installed on their system.  However, some web-based applications “misbehave” in the preferred browser.  BrowserTraySwitch allows you to quickly switch the “default” browser before you click on a link or open an HTML file using the default association.  Likewise, you can use it quickly launch one of the alternate browsers or a particular configuration (e.g., with or without proxy) of your browser.

http://www.donationcoder.com/Software/Mouser/browsertray/index.html

 

addressbook.xml (Free – Cross-platform – 40kB)

This cool little web application (runs entirely in your browser whether you are online or not!) is a simple address book that has lots of useful features, including ability to open a map on Google Maps by clicking on an address, send IM via click on IM ID, create an e-mail, etc.  And it’s also a great application to learn about Javascript programming and XML and XSLT.

http://adx.elektronengehirn.net/

 

Saros (Free – Cross-platform Java/Eclipse – Varies)

Saros is a collaborative editing plugin for Eclipse that is suitable for distributed pair programming scenarios.  It uses XMPP/Jabber for communication (the author’s recommend hosting your XMPP server with Openfire, but public XMPP servers can be used, as well) and can even support some integrated voice communication services, like Mumble/Murmur.  And, of course, it can be used as a simple instant messenger client within Eclipse.

https://www.inf.fu-berlin.de/w/SE/DPP

 

SQL Developer Data Modeler (Free – Cross-platform Java – 24MB)

This is an Oracle graphical tool for data modeling, including ERD creation and relational, data type, and multi-dimensional modeling.  It will generate DDL (physical model) for Oracle, MS SQL Server, and IBM DB/2 databases.

http://www.oracle.com/technology/products/database/datamodeler/index.html

 

P2PVPN (Free – Cross-platform Java – 2.1MB)

P2PVPN is full-featured VPN client for any platform that written in Java, including Linux, Mac OS X, and Windows that does not require a central server.  Just set up your own network, with or without a “tracker”, and send that to others that you want to connect with.  Currently, the application is a little rough around the edges with respect to ease of use, but the core functionality is good.  (Note:  Using P2PVPN on Windows requires the TAP-Win32 network adapter driver from the OpenVPN application.)

http://p2pvpn.org/

 

Project Lombok (Free – Cross-platform Java/Eclipse – 330kB)

Project Lombok is a code-generation plug-in for the Eclipse development environment.  Unlike many of the code generators with delusions of grandeur, Lombok just does a few things well:  it writes the getter/setter methods for your classes, automatically generates equals and hashCode methods for classes, allows you to call close() method without worries of memory leaks, and much more.

http://projectlombok.org/

 

Return to top

 

Productivity Tips

Quickly toggle text case in MS Word

Most people are familiar with the Format | Change Case feature in MS Word.  But here are a couple of keyboard shortcuts that will save you time and the trouble of switching to the mouse:  To toggle the case, in sequence (Sentence case à lowercase à UPPERCASE à Title Case), just select the text to be changed and press <Shift>+<F3>.  If you simply want to make all of the text uppercase, press <Ctrl>+<Shift>+A.

 

Return to top

 

Just For Fun

Escher in Legos

If you’re a fan of Escher’s fantastic optical illusions, you’ll love this site.  This guy has authentically re-created some of Escher’s most famous drawings with Legos.  No mean feat by any stretch of the imagination!

http://www.andrewlipson.com/escher

 

100 Things Your Kids May Never Know About

Here are a hundred pop culture icons of the past half-century that have almost all but disappeared, such as, Han shot first, DOS, Archie and Gopher searches, and much more.  How many of these do you remember?  And what would you have added to the list?  (View-Master is something that my kids still love!)

http://www.wired.com/geekdad/2009/07/100-things-your-kids-may-never-know-about/

 

Never Gonna Give Your Teen Spirit Up

This video mashup takes Rick Rolling to an incredible new level.  Very creative!

http://www.youtube.com/watch?v=NN75im_us4k

 

Give your boss the illusion of managing you… with pidgin and dbus

This creative programmer took this Dilbert cartoon seriously and actually implemented an IM bot to send his boss silly questions.  Now you let your inner Wally really shine through!

http://sudharsh.wordpress.com/2009/06/30/give-your-boss-the-illusion-of-managing-you-with-pidgin-and-dbus/

 

Today's Front Pages Map (suggested by Nazneen Shaik)

With this cool interactive web site, just hover your mouse over the any city from around the world (72 countries!) to see the front page from that city’s newspaper.  Click on the city “pin” to display that front page.

http://www.newseum.org/todaysfrontpages/flash/default.asp

 

When Zombies Attack!

This paper, which provides a mathematical model for zombie apocalypse, was actually published in peer-reviewed textbook on infectious disease transmission.  Listen to this interview with the professor who oversaw the “research”.

http://www.mathstat.uottawa.ca/~rsmith/zombies.htm

 

Return to top