Up to Newsletter Index

December 2011 Newsletter


Quotable Quotes


Practice is everything. This is often misquoted as 'Practice makes perfect.'  –Periander


There are surely worse things than being wrong, and being dull and pedantic are surely among them.  –Mark Kac


There is something even more valuable to civilization than wisdom, and that is character.  –H.L. Mencken


All theory is against freedom of the will; all experience for it.  –Samuel Johnson


Discipline is the bridge between goals and accomplishment.  –Jim Rohn


Seems to me that much of testing relies on noticing when one is confused rather than accepting it as "Something Computer Programs Do."  –Sylvia Killinen


Return to top


Software Development Process and Methodology

Article:  7 Agile Sins

While not quite bad as the real 7 deadly sins, these traps and pitfalls can really derail your agile practices.  One of the points from this list that I really liked is the idea that your daily scrum meeting/stand-up should be a mini sprint planning session.



Article:  IT Projects: 400% Over-Budget and only 25% of Benefits Realized

According to research recently published in Harvard Business Review, IT projects continue to be very risky investments.  In particular, the authors note that a significant IT project that fails can put the entire organization at substantial financial risk.



Video: Secrets of World Class Software Organizations

Software development expert Steve McConnell (his book Code Complete is a must read!) gives an excellent presentation based on his broad research about what sets world class development groups apart.  While he doesn't cover a lot new for those familiar with his work, the talk is a good refresher on those ideas.



Article:  Top 10 reasons why Darth Vader was an amazing project manager

While he's probably not the kind of boss that anyone wants to have, Darth Vader did have many skills that would make him a good project manager.  If nothing else, you can't say that he didn't get things done.



Article: Peck, peck, peck

Esther Derby, in her inimitable direct but gentle way, explains why "stack ranking" of workers on agile teams doesn't make sense.  She emphasizes that in software development everyone needs to be more than one dimensional (i.e., do more than simply write code) and that this makes simplistic measures of performance impossible.



Article: Helping the Customer Stick to the Purpose of a User Story

One of the cornerstones of agile development is developing a good user story to explain clearly the needs and intents of the customer.  Certainly, writing good user stories is difficult and this author emphasizes the need to focus on the "why" and not the "how" in the user story.



Video:  Systems thinking in IT

At this year's Ψredev conference, systems thinking expert John Sneddon explains that the problems with software development (late delivery, over budget, etc.) are not due to methodology (waterfall, agile, scrum, lean, etc.) and tools, which is what IT organizations tend to focus on, but instead are caused by our management processes and lack of systems thinking in the conceptualization of the applications.  Fundamentally, he emphasizes that the underlying system (business process) must be optimized before doing anything with the IT aspects.



Article:  Why Software Projects are Terrible and How Not To Fix Them

In this well-reasoned article, the author gives some good reasons from the developer perspective about the reasons for project failure.  He also goes on to help developers look at some of the constraints from a management perspective.  While he doesn't really offer a lot of solutions, he does point out some "fixes" that don't work.



Article:  Software Craftsmanship: What it's all about.

Robert Martin talks about the principles behind the software craftsmanship movement, which is garnering more attention (some good and some bad) recently.  He says that its foundational idea is:  We are tired of writing crap.  He emphasizes that it's not about philosophy, but focused on personal accountability and responsibility for writing good code.



Article:  Coding Guidelines: Finding the Art in the Science

This excellent article emphasizes the fact that programming is both art and science.  The authors suggest that the factors that separate good code from great code have more to do with subjective measures like style and aesthetic factors than hard facts.



Article:  The Balanced Developer

Cicero said, "Never go to excess, but let moderation be your guide.”  In this same vein, this author discusses the idea that balance is a key characteristic of successful developers.



Return to top


Software Testing & Quality

Article:  Harmony is beauty

In this article, the author talks about how she developed (and maintains!) a passion for testing and how that helps her work collaboratively with developers and other team members.  It's a great story about how to love your job.



Article:  The 10 Minute Test Plan

Most testers know that you can't put together a (good) test plan in 10 minutes.  However, in this article, James Whittaker discusses the key elements of a test plan and gives some tips for how to develop most of you test plan in 30 minutes or less.



Article:  Essential mind mapping: Rapid test design.

This excellent, comprehensive article gives great guidance on how to use the powerful tool of mind mapping for test design.  The author really emphasizes the creative aspects of test design and how mind mapping can help you organize your thoughts.



Article:  The Future Of Software Testing – Testing In Production

The concept promoted and explained in this article would have been "blasphemy" just a few years ago.  However, the author makes the case that for SaaS applications the only really viable option is testing in production.  He explains the process of rolling out little bits of functionality for testing by "power users" and then releasing them generally as the functionality matures.  Seems pretty agile to me and that it would be something that applies not just to SaaS.



Article:  The Importance of Database Testing

One area of testing that frequently gets overlooked is database testing.  Almost all applications today have a database of some sort and that makes the database one of the key elements to be tested.  This article discusses some of the important aspects of your database that should be tested.



Presentation:  Test Is Dead

In this talk from GTAC, Alberto Savoia suggests what is sure to be a controversial that test (at least as we know it) is dead.  The entire talk is both entertaining and inspirational for those who want to see changes in how testing is practiced.



Return to top



Tutorial:  OpenVim

If you've ever wanted to learn the Vim editor (Can you believe Vim has been around for 20 years?!), but got stuck after just a short time, OpenVim is an excellent resource.  It provides online tutorials along with an online "sandbox" for trying out what you learn that includes context-sensitive help.



Tutorial:  10 Tips for Proper Application Logging

This comprehensive article, with good examples, gives some excellent guidance for new (and even old!) Java programmers about how to effectively use logging in your development. 



Tutorial: Up and Down the Ladder of Abstraction

Everything that programmers create are abstractions of one sort or another, so it's important to consider the implications of the design decisions. While specifically intended for graphic design, this amazing article has broad applicability, especially as it pertains to application design and algorithms. 



Tutorial:  Crockford on JavaScript:  Programming Style & Your Brain

Javascript maven Douglas Crockford discusses some of the psychology behind writing code (he references Daniel Gardner's book The Science of Fear) and why consistency and coding standards are so important.  The first part of the talk (about first 20 minutes) are general and the remainder focuses on Javascript particularly.



Tutorials:  Free online classes for Spring 2012 from Stanford

With the success of their Machine Learning class, Stanford has announced a whole plethora of additional free online classes for Spring 2012.  The classes start 01/12/12, so don't wait too long to enroll.

Computer Science 101

Software Engineering for Software as a Service

Human-Computer Interaction

Natural Language Processing

Game Theory

Probabilistic Graphical Models

The Lean Launchpad (Steve Blank)


Reference:  InstaCSS

Especially since the introduction of CSS3, it's exceedingly difficult to remember all of the attributes, classes, selectors, etc. in the standards.  InstaCSS allows you to just enter what you can remember and it will provide comprehensive documentation from the standards, as well as browser-specific extensions.



Tutorial:  How to Write More Clearly, Think More Clearly, and Learn Complex Material More Easily

Despite the title that's a mouthful, this is a brief, but excellent presentation that shows you what the author calls "amplifying your intelligence" by using writing to help you think more clearly, so that you can express your ideas in a cogent, powerful way.



Return to top


Career Development/Miscellaneous

Article:  How To Lead Clever People

In this interview, leadership expert Rob Goffee talks about some of the special skills and tactics that need to be used in managing and leading what he calls clever people.  He defines clever people as those who are extremely smart and highly creative/innovative.



Article: Challenge Your Creativity: 77 Problem Solving Exercises

Everyone wants to improve their creativity and brain power.  This site provides a plethora (love that word!) of problem-solving exercises of varying difficulty in categories like math/probability, logic, verbal skills, visual/spatial, and lateral thinking.



Article:  Want to be more productive? Don’t file your email

I admit that I probably save too much of my e-mail, but having an old message has saved me (and others!) a time or two.  According to a new study by IBM, using your e-mail system's search functionality works as well or better than having a topical filing system for old messages.  It's nice that this validates my method of archiving e-mails by simply saving them in folders for each month.



Article:  10 inventors of Internet technologies you may not have heard of

We all use the Internet every day.  In fact, most of us probably depend on the Internet for the existence of our jobs!  But how much do you know about the technologies and the people who created them that underpin it?  Check out this list of 10 lesser-known creators, including the team that created the Intel 4004 microprocessor that turns 40 years old this month!



Article:  Peggy Noonan On Steve Jobs And Why Big Companies Die

In a similar vein to former GM (pre-government take-over) CEO Bob Lutz's essay Driven off the Road by M.B.A.s, this article based on Walter Isaacson's recent biography of Steve Jobs says that technology businesses often decline when they shift from being led by technical people to sales, finance, and accounting types.



Article:  There's No Such Thing as Constructive Criticism

Probably the most difficult conversation to have at work is when a supervisor has to give you negative feedback on your performance.  This article looks at the three common mistakes that managers make and tips for avoiding them.



Article:  Smartphones making us tired work slaves

A new survey indicates that workers with smartphones tend to put in, on average, an extra hour of work each day and that this time is coming out of their time for sleep and exercise.  In addition, nearly 1 in 3 smartphone users have an emotional attachment to their phones.



Article:  Four Destructive Myths Most Companies Still Live By

Everyone wants to get more done (or at least probably work fewer hours each week), but sometimes our organizational culture is part of the problem.  This author talks about some of these problems, such as multitasking (or trying to do more than one thing at a time!) and working longer hours, and offers some good ideas about how to bust these myths.



Article:  Solitude and Leadership

This author says that the most profound skill necessary to build leadership is solitude, which he defines as time alone with your thoughts.  Using Conrad's novella Heart of Darkness as a backdrop, he says that the crisis in leadership in America today is because we don't have people who are thinkers.  He goes on to explain how to develop skills in leadership.



Article:  Three Types of People to Fire Immediately

Most people know that it's difficult to be productive around difficult or negative people.  These authors say that three toxic personalities (victims, nonbelievers, and know-it-alls) also hurt innovation.



Return to top


Telecommunications/Networking Industry

Article:  When will broadband finally kill local storage?

Om Malik ponders how long before ubiquitous high-speed connectivity will make local storage unnecessary.  Personally, I think this is still a long way off (10+ years), but who knows.



Article:  FCC vote a big win for chairman Julius Genachowski

Last month, we reported about Genachowski's proposal to remake the Universal Service Fund.  And he was able to accomplish this change, which will help bring broadband Internet services to almost 20 million people in rural or otherwise underserved areas.



Return to top


Useful Utilities

Sh'elf (Free – Windows 2000/XP/2003/Vista/2008/7 – 143kB)

Sh'elf is a great multi-function tool disguised as a desktop icon viewer.  In its small, unobtrusive package, it includes file manager, archive manager, command shell, text viewer, image viewer, and much more.  In addition, it allows you to pin icons to the task bar or make them stay on top.



IdleX (Free – Cross-platform/Python 2.6+ or 3.x – 78kB)

IDLE is the built-in interactive Python IDE, but it is missing some key functions.  IdleX tries to fill in some of these gaps such as clearing the window, displaying line numbers with "Goto Line" function, tabbed editing support, exporting output from editor to syntax-highlighted HTML, and many more.



XLS2CSV Converter (Free – Windows XP/2003/Vista/2008/7 and .NET 4.0 Framework – 3.2MB)

Have an Excel spreadsheet, but no version of Excel?  XLS2CSV has got you covered.  It will batch convert any modern Excel (Excel 97, 2003, 2007, and 2010) spreadsheet into a CSV file.  Has dozens of customizable options, including the CSV delimiter and escape characters, copying the output to mirrored directory, filtering rules, and more.  And best of all Microsoft Office is not required.



Spread2Web (Free – Cross-platform/Versions for Windows, Linux, and Mac OSX – Varies)

Comma-separated value (CSV) files are ubiquitous for cross-platform spreadsheets.  There are many tools available for editing and viewing CSV files, but sometimes you just want a simple way to open them and take a peek.  Spread2Web is a simple standalone (portable) tool that allows you to convert a

CSV file into a basic HTML table so that you can view it any web browser.



MarkdownPad (Free – Windows XP/2003/Vista/2008/7 and .NET 4.0 Framework – 420kB)

If you do any work with Markdown (which is actually a very handy mark-up language), MarkdownPad makes all of those tasks easier.  It has built-in side-by-side preview of the output and you can even specify your own style sheets.  And it allows you to copy your mark-up directly to valid HTML to paste into your web design tool.



Storywall (Free – Cross-platform/online tool – Freemium)

Storywall is like the traditional agile approach of kanban by posting sticky notes on a wall to sequence and prioritize user stories and tasks.  Except it all happens in your browser.  The free version supports a single user (no sign-up required) and you can collaborate with others via paid account.



Return to top


Just For Fun

The Stallman Dialogues

Richard Stallman is well-known for his quirky (to say the least!) statements about a wide range of topics.  This hilarious site imagines some conversations with RMS and unwitting foils.



Six-year project to tweet the Second World War

A history graduate of Oxford has begun a project to tweet daily events from WW2.  He intends to post up to 40 tweets per day chronicling the important events from all fronts for that day.  Sounds like a pretty cool way to learn a little history!  And maybe the American Revolution would have looked different with Twitter, too!



Enterprisify your Java Class Names

Can't think of names for your Java classes that seem "enterprise-y" enough?  This tool can help.  And if the first result isn't good enough, just hit 'Enterprisify!' again to add more.



Duck Hunt JS

Here's a simple, but delightfully addictive, little Duck Hunt remake created entirely in HTML5 and Javascript.  It even features your own level creator/editor.



Code Hard! (with Java)

Check out this cool (???) hip-hop (or is it rap?) music video about writing code.  Not exactly Code Monkey, but still pretty funny.



The Evolution of the Geek

This humorous infographic traces the history of geekdom from the 18th century sideshow freak to the modern geek chic (notwithstanding the suggestion of the looming demise of geek culture).  Nevertheless, I'm still confused about the difference between geeks and nerds.



Return to top