Up to Newsletter Index

January 2010 Newsletter


Quotable Quotes


How little a thing can make us happy when we feel that we have earned it.  –Mark Twain


Time moves in one direction, memory in another.  –William Gibson


Life does not ask what we want. It presents us with options.  – Thomas Sowell


Things done well and with a care exempt themselves from fear.  –William Shakespeare


It’s not what you look at that matters, it’s what you see.  –Henry David Thoreau


If we perceive our role [programmers] aright, we then see more clearly the proper criterion for success: a toolmaker succeeds as, and only as, the users of his tool succeed with his aid.  …We tend to forget our users and their real problems, climbing into our ivory towers to dissect tractable abstractions of these problems, abstractions that may have left behind the essence of the real problem.  –Fred Brooks in The Computer Scientist As Toolsmith


People think focus means saying yes to the thing you've got to focus on. But that's not what it means at all. It means saying no to the 100 other good ideas that there are. You have to pick carefully. I'm actually as proud of the many things we haven't done as the things we have done.  Steve Jobs


Be always at war with your vices, at peace with your neighbors, and let each new year find you a better man.  –Benjamin Franklin


Return to top


Software Development Process and Methodology

Article:  Is Now the Right Time to Shake Up IT Practices? Yes, Says Gartner

Gartner Research claims that the period in 2010 where a company comes out of the economic doldrums is a good time for IT to examine its role in the large organization and to determine if process and practice changes are appropriate.



Article:  Why projects fail: Obstacles and solutions

Everyone knows that project failure (even if it’s just not meeting the goals of a project) is one of the banes of working in IT.  In this presentation, the author discusses some case studies and distills down some of the causes and preventative actions.



Article:  NoSQL Required Reading

One of the surprises (and most talked about) developments of 2009 was the advent of the “NoSQL” concept (which has since been softened to mean “No(t only) SQL”) and centers mostly around (often schemaless) key-value stores.  This topic come on fast and furious and it was easy to get lost in all of the hype.  Here is a reasonably balanced list of articles that will help get you started on sorting the whole thing out.



Article: The top underreported tech stories of 2009

It seems like just about every news outlet is doing end-of-year and end-of-decade (although there still might be one more year!) retrospectives, so who are we to differ?!  :)  Anyway, this list is quite interesting, as well, since you may have missed these, too.



Article:  CIO: Stop being a snake oil salesman

This pundit says that just like vendors who tout their packaged “solutions”, IT management can fall into the same trap when it comes to viewing technology as the answer to every business problem.  He says that instead IT needs to first understand their business customers’ needs and then find the right mix of process and organization change and technology to address them.



Article:  18 truths: The long fail of complexity

One of the leading causes of IT project failure is too much complexity (and/or proper handling of that complexity).  This article lists 18 facts about (overly) complex systems.



Article:  Don’t Be A Project Manager (Be A Project Leader)

This author eloquently explains what I’ve believed for a long time:  Project management in software development is less about technical skills (i.e., the PMBOK stuff) and more about leadership and working with people.



Article:  How to Deal with Feature Creep

One of the inevitabilities of most software or web development projects is requests that trickle in throughout the effort.  This article gives some good suggestions for how to politely, but firmly deal with your business customers and manage feature creep.



Article:  Survey Links IT Investment to Corporate Success

A new survey of IT and business leaders from a dozen countries shows that increased investment in and support of IT results in improved business outcomes.



Article:  The unspoken truth about why your IT sucks

In this opinion piece, the author suggests that the difference between successful IT organizations and the failures is that successful groups narrowly define the IT mission around the idea that IT is “the art of managing an organization's processes by establishing and maintaining computing frameworks.”  Read the article to understand what he means by this.



Article:  Frequently Forgotten Fundamental Facts about Software Engineering

Eminent computer scientist Robert Glass lists some succinct maxims about various aspects of the development process, including people, quality, maintenance, and more, that we should all remember when working on any project.



Return to top


Software Testing & Quality

Article:  The importance of unit testing and functional testing

Recently, there has been an Internet debate about whether both unit testing and functional testing are necessary.  This excellent post makes a great observation about the value of each:  Unit tests measure the quality of material used to build the application.  Functional tests measure the strength of the application structure.  The overall quality of the application is dependent on both.



Article:  Layered Architecture for Test Automation

Test automation is usually a difficult task, especially on applications that lack maturity.  In this article, the author suggests a domain-based approach to layering the test automation architecture to isolate and minimize impacts to testing of application changes.



Article:  UI Test Automation Tools are Snake Oil

This blogger takes a very candid (harsh?) view of how tool vendors position and market GUI test automation tools as the panacea for all of your testing problems.



Article:  The story of IBM's Black Team

Here is an interesting story about how building of team of good software testers who enjoyed their work and developed good camaraderie resulted in a successful team that was multiple times more productive than their peers.



Article:  What do you do: Testing or Checking?

This is an interesting discussion about the difference in checking (“confirming existing beliefs”) and testing (“finding new information”).



Return to top



Tutorial:  Summary of all the MIT Introduction to Algorithms lectures

This developer listened to and made detailed study notes all of the MIT Introduction to Algorithms online video classes.  In this article he summarizes the main points from each of the lectures.



Tutorial:  Kanban 101

Kanban is a well-known principle in lean production systems (it is one of the cornerstones of the Toyota Production System) and many agile development practitioners are adopting it for software projects, as well.  This beginner’s tutorial helps you understand the kanban concepts and gives some excellent tips for how to use kanban in your process.



Tutorial:  HTTP Headers for Dummies

If you do any sort of web design/development, sooner or later you will run into a problem related to the underlying HTTP protocol.  This excellent, comprehensive tutorial should give you the basic knowledge to troubleshoot these kinds of issues.



Reference:  Semantic Versioning

Almost every development organization struggles with how to properly version their applications.  This succinct site offers some good approaches to versioning and practical tips on actually doing it.



Return to top


Career Development/Miscellaneous

Article:  Intel Claims Memory Research Milestone

Intel’s joint venture Numonyx reports success building NAND-style flash memory with a 5-nm process, which is much denser than the current 20-nm process.  They expect this to result in higher performance and lower power consumption.



Article:  Employee Retention Is a Priority of IT Management

While IT management’s top priority for 2010 is cost control, almost half of CIOs surveyed say that employee retention is a priority, too, especially if the economy picks up and workers start jumping to new jobs, which is likely since IT hiring is expected to increase in early 2010.



Article:  On the Value of Hard Focus

Whether you realize it or not, programming is a creative endeavor (think of it as the art of applying technology).  And creative work requires times of dedicated focus on the task at hand.  Here is a great treatise on the importance of deep concentration and some tips on how to gain or improve this skill.



Article:  What Should We Teach New Software Developers? Why?

The father of C++, Bjarne Stroustrup, presents his suggestions for how to bridge the gap between computer science education and real-world industrial programming needs.  He emphasizes that sound computer science must not be given short shrift.  Others even recommend that all students be required to learn some programming skills.



Article:  Mind Matters: In Defense of Downtime

This is probably more of an article for me than anyone else, but anyway…  After you’ve spent some time really focusing on your work (see above), you certainly need some “decompression” time.  This article reviews recent research showing that employees who take time off are more productive than those who burn the midnight oil a lot.



Article:  Management’s Dirty Little Secret

In a recent survey by HR consultants Towers Perrin, they found that only 21% of employees are “truly engaged” and almost 40% are “mostly or entirely disengaged”.  This author suggests that high levels of employee engagement are key success factor in today’s global economy and points to Apple’s success as evidence.



Article:  You Should Waste 50% of Your Time

In this insightful overview of Richard Hamming’s talk You and Your Research, the author emphasizes that the time that we spend on “non-productive” tasks, especially communication, is not really wasted effort, but key tasks to make the “real work” successful.



Article:  Donald Knuth: Geek of the Week

Many people consider Don Knuth to be the eminent living computer scientist.  In this interview, he discusses a wide variety of topics in his charming, down-to-earth way.



Article:  How to Run a Meeting Like Google

Google actually credits meetings as being a springboard to innovation.  I doubt that most people feel that way about meetings in their organizations.  My favorite tip from this article is holding “office hours” which allow “structured unstructured” time.



Article:  Do You Know Your Type?

Knowing your personality type/temperament can be useful in determining which types of jobs/roles in the IT realm you are best suited for and what styles of communication you prefer.



Article:  Want a Job? Analytics is the Thing, Says IBM

Business analytics and intelligence (making sense of mountains of data) is the growth area for jobs in the next few years according to IBM.



Article:  Bing, Google, Yahoo Searches Sought Michael Jackson

Deceased (or not?!) pop start Michael Jackson topped the list of most popular search terms on all three of these search engines.  The most surprising thing to me was that “swine flu” only showed up in the top 10 on Microsoft’s Bing and I haven’t even heard of half of the top 10 from Google.



Article:  The Greatest Internet Pioneers You Never Heard Of: The Story of Erwise and Four Finns Who Showed the Way to the Web Browser

Quick!  What was the first graphical web browser?  If you said NCSA Mosaic, you're not alone…  But you're also wrong!  Learn about the first graphical browser, Erwise, and the four guys that created it a year before Mosaic.



Return to top


Telecommunications/Networking Industry

Article:  FCC requests input on PSTN switch to IP

While I don’t think anyone expects the legacy telecom infrastructure to go away anytime soon, the FCC’s request for providers to explain how they are transitioning their network cores to all-IP is a milestone.  I expect that this is a move toward possible regulation of VOIP as a standard voice service.



Article:  Ethernet Services Surge In Verticals

A new report from Heavy Reading based on survey of 20 telecom providers shows that carrier Ethernet services have really taken off in vertical markets, such as finance, healthcare, and government.  But concerns around peering and NNI-style interconnects for off-net access are still big rocks to crack.



Article:  2010 Prediction: Wholesale wireless backhaul demand will rise

The increase in focus on wireless offerings is expected to be a boon to traditional carriers who can provide high-speed backhaul to the wireless providers.



Article:  A decade's worth of IPv4 addresses

Speaking of retrospectives, this article looks at IPv4 address consumption over the last decade.  At the current rate of consumption and with approximately 722 million IANA-assignable addresses available, we will run out around the end of 2012 (perhaps this is what the Mayans predicted?!).  However, there is little reason for concern by most with the (mostly behind-the-scenes) introduction of IPv6.



Article:  The American Diet: 34 Gigabytes a Day

On average, US residents use 34 GB of data a day from various sources, such as television, radio, Internet and other media.  This accounts for 3.6 zettabytes (about 1/20 of the estimated information content of all human knowledge!) per year collectively.



Return to top


Useful Utilities

Terminals (Free – Windows XP/2003/Vista/7 – 2.4MB)

If you do any sort of remote connections (VNC, MS Terminal Services, Citrix, RDP, Telnet, SSH, and more) from your Windows system, Terminals is just the tool that you need.  It combines all of your remote connections into a simple and intuitive interface that supports “favorites” and recent connections and puts all of your open/current remote connections into a single tabbed interface to avoid cluttering your task bar.



CryptoTE (Free – Windows 9x/NT/2000/XP/2003/Vista/7 and Linux – 2.1MB)

CryptoTE is handy text editor with built-in 256-bit encryption functions.  It is based on the Scintilla text editor library and includes great features like unlimited number of files (text or binary) in “container” file, automatic backup of “container” files, built-in compression for files, and ability to use it via console (including SSH) in Unix/Linux.  Portable/standalone versions are available for both Windows and Linux.



Software Ideas Modeler (Free – Windows 2000/XP/2003/Vista/7 – 843kB)

Software Ideas Modeler is a free tool for creating a wide variety of UML diagrams, including class diagram, use case diagram, and sequence diagram.  It supports customization of styles for the diagrams, inline editing of element properties, and shows a consolidated model overview.



iPlotz (Free – Cross-platform online tool – N/A)

iPlotz is a free online tool for creating wireframe, mockups, or other prototypes of web site designs or desktop client applications.  The free plan lets you create one project with up to 20 pages/GUIs.  You can share your designs online with others for collaborative reviews and editing.



Invisicalc (Free – Windows 2000/XP/2003/Vista/7 – 17kB)

Invisicalc is a background application (shows icon in the system tray) that immediately calculates the numerical result of any mathematical expression that you copy to the clipboard.  If you’ve got an equation in word document that you want the answer to, just copy it to the clipboard, and then press <Ctrl>+C to paste the result into your document.



Return to top


Just For Fun

Gallery: The Year's Most Amazing Scientific Images

Check out over 60 incredible pictures from a variety of areas of the scientific world from 2009.



Mathematically Correct Breakfast:  How to Slice a Bagel into Two Linked Halves

For those math geeks out there (yes, I’m one of them!), here are detailed instructions with pictures for how to make a Moebius strip out of a bagel!



The C Programming Language by Brian W Kernighan & Dennis M Ritchie & HP Lovecraft

Oh, well.  It defies explanation.  Just go read it.  J



A 19th-Century Mathematician Finally Proves Himself

Charles Babbage is often considered the “father” of computer science.  However, he never lived to see his design of the “difference engine” built.  Well, some enterprising 21st century folks have built two working models.



The perfect way to slice a pizza

Following this month’s apparent mathematical theme, here’s an interesting evaluation of how to most fairly slice a pizza.



Return to top