Up to Newsletter Index

March 2012 Newsletter

 

Quotable Quotes                                                                                         1

Software Development Process and Methodology          2

Software Testing & Quality                                                                 3

Tutorials/References                                                                             4

Career Development/Miscellaneous                                            5

Telecommunications/Networking Industry                              6

Useful Utilities                                                                                             7

Productivity Tips                                                                                         8

Just For Fun                                                                                                    8

 

 

Quotable Quotes

 

Motivation is in the mind; follow-through is in the practice. Motivation is conceptual; follow-through is practical.  Peter Bregman, Your Problem Isn't Motivation

 

The message that precedes all others—in art as well as life—is simple:  Pay attention.  –Harlan Ellison

 

Ever tried. Ever failed. No matter. Try again. Fail again. Fail better.  –Samuel Beckett, Worstward Ho

 

Mental pain is less dramatic than physical pain, but it is more common and also more hard to bear. The frequent attempt to conceal mental pain increases the burden: it is easier to say “My tooth is aching” than to say “My heart is broken.”  –C.S. Lewis, The Problem of Pain

 

We are all in the gutter, but some of us are looking at the stars.  –Oscar Wilde

 

Be soft. Do not let the world make you hard. Do not let the pain make you hate. Do not let the bitterness steal your sweetness. Take pride that even though the rest of the world may disagree, you still believe it to be a beautiful place.  –Unknown

 

With good architecture, debugging is a breeze because bugs will be where they should be.  David May

 

Come, my friends,

'Tis not too late to seek a newer world.

Push off, and sitting well in order smite

The sounding furrows; for my purpose holds

To sail beyond the sunset, and the baths

Of all the western stars, until I die.

It may be that the gulfs will wash us down:

It may be we shall touch the Happy Isles,

And see the great Achilles, whom we knew.

Tho' much is taken, much abides; and tho'

We are not now that strength which in old days

Moved earth and heaven; that which we are, we are;

One equal temper of heroic hearts,

Made weak by time and fate, but strong in will

To strive, to seek, to find, and not to yield.

–Alfred, Lord Tennyson in Ulysses

 

Return to top

 

Software Development Process and Methodology

Article:  It's the User

The editor of Dr. Dobbs Journal notes that, even though many people emphasize how little has changed in software development in the last few decades, one of the good changes in the past several years is that users and stakeholders are now an integral part of the development process. 

http://drdobbs.com/architecture-and-design/232300570

 

Article:  TDD Proven Effective! Or is it?

Most professional developers use test-driven development (TDD).  However, this article points out that we need to apply TDD (and any practice!) with intelligence and not blindly follow the "rules" of TDD, nor should we consider TDD to be beyond criticism.  (Should we write tests for existing code?)

http://theruntime.com/blogs/jacob/archive/2008/01/22/tdd-proven-effective-or-is-it.aspx

 

Article:  Technical Debt - How Much Is It Really Costing You?

Technical debt is a fact of any project.  However, this author emphasizes that you need to make a good assessment of the real cost and prioritize that work just like you do anything else on the backlog.

http://swreflections.blogspot.com/2012/02/technical-debt-how-much-is-it-really.html

 

Article: Estimating Effort For Your Agile Stories

Most of us would probably admit that we don't do the best job (or even give it due attention) in estimating user stories.  This article suggests a two-factor estimation matrix that uses story size and complexity to determine relative size.  Even more importantly, the author provides some concrete measures and examples for how to determine size and complexity.

http://michaellant.com/2010/07/05/estimating-effort-for-your-agile-stories-2/

 

Article:  Don't Fall in Love With Your Technology

This brief, but insightful article emphasizes that we need to treat any technology that we use (programming languages, OSes, etc.) as precisely what they are:  tools.  Accordingly, we need to avoid getting too close to them and simply use them to gain an advantage.

http://prog21.dadgum.com/128.html

 

Article:  Agile Reboot: Putting the Man back in Manifesto

As we've discussed in the past, agile methodologies are now mainstream and appear to be undergoing some backlash and transformation.  This author focuses on building great teams to accomplish creation of great applications as one of the core underpinnings of being agile.

http://thinkrelevance.com/blog/2012/02/07/agile-reboot-putting-the-man-back-in-manifesto

 

Article:  The Seven Deadly Sins of Enterprise Agile Adoption

By their very nature, large organizations are more susceptible to watering down agile principles and practices.  In this video (transcript provided too), the principals of agile development consultancy Lithespeed discuss how to avoid some come pitfalls in agile implementation.

http://www.infoq.com/interviews/SevenDeadlySinsOfEnterpriseAgileAdoption

 

Article:  Agile Requirements Definition and Management

Sometimes with agile development, we end up throwing the baby out with the bath water when it comes to requirements.  Agile doesn't mean "no documentation" and requirements are still a key element of success.  Developing good user stories with measurable acceptance criteria are vital to delivering business value.  Learn about the agile requirements definition and management cycle.

http://www.scrumalliance.org/articles/398-agile-requirements-definition-and-management

 

Article:  Project Management Gets Lean

Our business customers will no longer accept business as usual from IT.  In the realm of project management, lean methods that measure business value and whether or not the project is addressing the intended need or problem.

http://www.informationweek.com/news/software/232600005

 

Article:  Why The Vasa Sank: 10 Lessons Learned

You probably think that 15th-century shipbuilding has very little to do with software development, but this case study shows how many of the problems that befall projects in the physical world easily transfer over to the digital realm.

https://docs.google.com/viewer?url=http://faculty.up.edu/lulay/failure/vasacasestudy.pdf

 

Return to top

 

Software Testing & Quality

Article:  The Silver Bullet - Why Software Is Bad and What We Can Do to Fix It

Part of a project intended to improve software quality and reliability, this article explores the background of development and the reasons for poor software quality.  The author's indication is that complexity is the reason, but not for the same reason that Brooks proposed.  Instead, he says temporal inconsistency and unresolved dependencies are the underlying problem.

http://www.rebelscience.org/Cosas/Reliability.htm

 

Article:  Using the Agile Testing Quadrants

This article presents an interesting concept around the various domains (the author calls them "quadrants") of testing and the various techniques suitable for each, along with how effective automation (or lack thereof) is for those methods.

http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/

 

Reference:  37 Sources for Test Ideas

When doing test planning, it is important to look for a broad variety of relevant tests.  This excellent list gives over 3 dozen places to look for possible tests.

https://docs.google.com/viewer?url=http://thetesteye.com/posters/TheTestEye_SourcesForTestIdeas.pdf

 

Article:  Thoughts on Test Automation in Agile

Just as development and manual testing approaches must change in an agile environment, you need to adjust your thinking with respect to test automation too.  Agile techniques are very applicable to test automation, since it is a type of development itself.

http://www.infoq.com/articles/thoughts-on-test-automation-in-agile

 

Article:  On the Redistribution of Testing

This excellent article discusses the forces that are changing testing, such as agile methods and the increased focus on automated testing.

http://gerrardconsulting.com/index.php?q=node/602

 

Return to top

 

Tutorials/References

Tutorial:  git - the simple guide

This tutorial covers the basics of the using the Git version control tool.  After learning the basics, the most important things to understand are how to use Git in team environment.

http://rogerdudler.github.com/git-guide/

 

Tutorial:  Functional Thinking

In this video, the inimitable Neal Ford explains that the key to success in functional programming is to develop skill in thinking functionally.  He goes on to give some practical suggestions on how to do this along with some examples.  [Slides from the presentation are available here.]

http://www.infoq.com/presentations/Functional-Thinking

 

Tutorial:  Bash Shell Scripting - 10 Seconds Guide

Need to write a shell script, but don't have a lot of time to learn?  While it will certainly take you more than 10 seconds, this comprehensive, yet brief, guide teaches you the basics and includes good examples of each concept.

http://www.aboutlinux.info/2005/10/10-seconds-guide-to-bash-shell.html

 

Tutorial:  HTTP Request/Response Basics

HTTP is the lingua franca of web-based applications and is critical for web services.  This tutorial covers the lifecycle and "anatomy" of an HTTP request and response and best practices for using the HTTP methods.

http://devhub.fm/?p=21

 

Tutorial:  A tcpdump Tutorial and Primer

To go beyond basic web application development, many experts recommend understanding the protocols that underlie the Internet.  This comprehensive, step-by-step tutorial teaches you how to use the ubiquitous tcpdump utility for both application tracing and security troubleshooting.

http://danielmiessler.com/study/tcpdump/

 

Return to top

 

Career Development/Miscellaneous

Article:  How To Be More Interesting (In 10 Simple Steps)

Maybe this belongs in the "Just For Fun" section below…  Anyway, Jessica Hagy of Indexed fame (one of my favorite sites!) gives you some tips for how to improve yourself in her own quirky, inimitable style.

http://www.forbes.com/sites/jessicahagy/2011/11/30/how-to-be-interesting/

 

Article:  Here's to the technology builders: A hat tip

In this article, a technology critic recognizes the important work that people in technology do.  And he issues a very relevant challenge:  To make systems about the users (people!) and not the technology.

http://www.techrepublic.com/blog/hiner/heres-to-the-technology-builders-a-hat-tip/10211

 

Article:  The 10 rules of a Zen programmer

There is no shortage on the Internet of lists of what it takes to be a great programmer.  And, while I don't necessarily subscribe to all of the concepts of Zen, this is an excellent list of both technical and "soft" skills of good programmers from the Zen perspective.

http://www.grobmeier.de/the-10-rules-of-a-zen-programmer-03022012.html

 

Article:  Gartner on the changing nature of work

Gartner fellow Tom Austin discusses some of the changes that they foresee how we work.  A couple of the most interesting ideas are that work will be more ad hoc (less centralized) and that people will be more involved in the creative, non-process aspects.

http://www.bbc.co.uk/news/business-16968125

 

Article:  10 skills for developers to focus on in 2012

There are plenty of lists out there about what you as a developer should do to improve in the upcoming year, but this list seems to be quite balanced and emphasizes skills that will pay off this year as well as prepare you for the next 3-5 years.

http://www.techrepublic.com/blog/10things/10-skills-for-developers-to-focus-on-in-2012/3009

 

Article:  My Algorithm for Beating Procrastination

As technology folks, we like to have a heuristic or pattern to follow to accomplish things.  This excellent article shows a concrete framework for getting out of the procrastination rut by analyzing the situation and finding the specific reason for putting things off.

http://lesswrong.com/lw/9wr/my_algorithm_for_beating_procrastination/

 

Article:  Meetings: Where Work Goes to Die

In most organizations, meetings are notorious wastes of time and resources, for many reasons, including wrong participants, lack of structure/purpose, and many more.  This article makes a few tangible suggestions for only holding meetings when necessary.  My favorite is to make everyone an optional participant so that only those who really want to be involved in resolving the issue attend.

http://www.codinghorror.com/blog/2012/02/meetings-where-work-goes-to-die.html

 

Article:  The 7 habits of highly effective developers

Borrowing from Steven Covey's 7 habits, this author gives some excellent ideas for how to apply each of these principles to programming.  My favorite tip is around putting first things first and appropriately balancing firefighting with productive work.

http://css.dzone.com/articles/7-habits-highly-effective

 

Article:  Zap your brain into the zone: Fast track to pure focus

A technique called transcranial direct current stimulation (tDCS), which historically has been used for treating depression, shows promise for dampening activity in the prefrontal cortex of the brain, which may help you get into "flow".  While I doubt it, perhaps this provides some explanation for how your brain works when using Scrum.

http://www.newscientist.com/article/mg21328501.600-zap-your-brain-into-the-zone-fast-track-to-pure-focus.html?full=true

 

Article:  The Coming Tech-led Boom

Mark Mills and Julio Ottini suggest that similar to how electrification and telephony spurred economic growth in the 20th century, we are poised for another boom in the 21st century based on big data, smart manufacturing and the wireless revolution, all of which find their roots in the U.S.

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

 

Video:  The 5 Whys

In a short 3 minutes, entrepreneur Eric Ries shows how to do the "5 whys" introduced in the Toyota Production System and why this exercise his valuable.  A couple of key points that he makes are that "technical problems" usually mask an underlying human problem or error and that you should only address problems with process when necessary.

http://blogs.hbr.org/video/2012/02/the-5-whys.html

 

Article:  8 Things Your Employees Need Most

When it comes to managing or supervising others, soft skills are what matters most.  Here are some tips for how to effectively motivate employees.

http://www.inc.com/jeff-haden/the-8-things-your-employees-need-most.html

 

Return to top

 

Telecommunications/Networking Industry

Article:  Start-Up Nicira Plans to Disrupt Networking Giants

A new company called Nicira wants to change the entire telecom/WAN world with a network virtualization technology called software-defined networking.

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

 

Article:  The Carriers Are Stuck In The Innovator’s Dilemma. Just Don’t Tell Them That.

With a hat tip to Clayton Christensen's classic about disruptive innovation, The Innovator's Dilemma, this article explains the history behind the large telecom carriers and shows how that history makes it difficult from them to innovate.  It goes on to demonstrate that there is still plenty of room for innovation in telecom, but that most of it is happening at the small start-ups (cf. Nicira above).

http://pandodaily.com/2012/02/20/the-carriers-are-stuck-in-the-innovators-dilemma-just-dont-tell-them-that/

 

Article:  Phoning it in: the dirty secret of IP calling, and how it will change the phone industry

Voice over IP (VOIP) is now ubiquitous and the norm for most "landline" voice service.  This article looks at how wireless VOIP is set to revolutionize telecom.

http://www.theverge.com/2012/2/9/2782401/phoning-it-in-dirty-secret-ip-calling-phone-industry

 

Return to top

 

Useful Utilities

Terminator (Free – Cross-platform/Java [plus Cygwin on Windows] – 2.4MB)

Terminator is a cross-platform terminal application intended to replace applications such as xterm, rxvt, Gnome Terminal, and PuTTY.  Some of the features include automatic logging, drag-and-drop support for text and URLs, text searching with highlighting, multiple tabs, intelligent scrolling, UTF-8 character support, and more. 

http://software.jessies.org/terminator/

 

Sudo for Windows (Free – Windows XP/2003/Vista/2008/7 – 511kB)

Sudo for Windows (sudowin) is a free utility that allows you to run applications with elevated privileges as a standard (non-administrator) user in Windows.  It is based on the concepts of the venerable Unix/Linux sudo application.  Some of the nice features include shell integration that adds Sudo… to context (right-click menu) and that objects created by the application retain ownership by the standard user.  Note:  If this application doesn't meet your needs, check out this comprehensive list of alternative tools.

http://sourceforge.net/projects/sudowin/

 

SQL Fiddle (Free – Online tool – N/A)

There are online REPLs for almost any programming language that you can think of.  SQL Fiddle is a free, online tool that allows editing and live evaluation of SQL.  It supports MS SQL Server, MySQL, PostgreSQL, and Oracle variations of the SQL language.  You can even import tables and data from DDL files.

http://sqlfiddle.com/

 

REST Client Tool (Free – Cross-platform/Java – 4.0MB)

REST Client Tool can be used as a standalone tool or as an Eclipse plug-in for direct interaction with REST services.  It supports all HTTP methods (PUT, POST, GET, etc.) and results are displayed as formatted XML and/or JSON.  Some features include ability to send POST data in body or URL/URI, sending input data directly or data loaded from a file, and simultaneous display of request, response, and web browser views.

http://code.google.com/a/eclipselabs.org/p/restclient-tool/

 

vifm (Free – Windows XP/2003/Vista/2008/7 and Linux – 390kB)

Do you love the Vim text editor and pine for a file manager with the vi key bindings?  If so, then vifm is just what you need.  Available on both Windows (native binary—does not require Cygwin) and Linux, it is a simple, text-based file manager that you can use entirely via the keyboard.  It includes interactive command line, also similar to the Vim/vi normal mode.

http://vifm.sourceforge.net/

 

QuiteSleep (Free – Android – 1.1MB)

Don't like being interrupted by low-priority calls during the night?  If you have an Android phone, QuiteSleep can help.  Just enter the list of callers who are allowed to interrupt and the start and end times and QuiteSleep will disable ringing for any other calls.  You can even set it to reply to calls with a text message, if you like.

http://code.google.com/p/quitesleep/

 

Return to top

 

Productivity Tips

Create a shortcut to last used MS Word document

If you frequently re-open the last document you were working on when launching MS Word, why not let Word itself do that for you.  Just right click on the desktop and choose New | Shortcut from the context menu.  Browse for the location of the MS Word executable (such as, C:\Program Files (x86)\Microsoft Office\Office12\WINWORD.EXE for Office 2007).  Before clicking Next, on the shortcut command line (outside the double quotes) enter /mFile1.  This tells Word to run the macro named File1, which opens latest file in the Recent Documents list, at start up.  Click Next and enter a name for your shortcut, such as Open Last Document in Word.  Then click Finish button.  To make it even more useful, right click on the new shortcut and choose Properties.  In the Shortcut tab, choose a Shortcut key, so you can launch it right from the keyboard.

 

Return to top

 

Just For Fun

The top 20 HTML5 games

One of the places where HTML5 has made a big splash is with browser-based games.  Here's a list of 20 games that really show off HTML5.  No matter what kind of games you like, you're sure to find at least a couple to tickle your fancy (or whatever the expression is today).

http://www.netmagazine.com/features/top-20-html5-games

 

Are you scientifically literate? Take our quiz

How much do you really know about science?  This quiz is not short (50 questions!), nor is it simple.  It covers are broad swath of the science landscape.

http://www.csmonitor.com/Science/2011/1209/Are-you-scientifically-literate-Take-our-quiz/

 

Man Walks All Day to Create Spectacular Snow Patterns

While Eastern Europe has had the coldest winter in decades, we haven't had much winter at all in my neck of the woods, so maybe that's why I found these images so fantastic.  This artist's canvas is a snow-covered field and his brushes are his boots.  What he creates is amazing.

http://www.mymodernmet.com/profiles/blogs/simon-beck-snow-art

 

Write in C

This humorous, yet moving, tribute to Dennis Ritchie is a must-watch.  Even though Steve Jobs death was the most publicized in the technology circles in 2011, arguably, Ritchie had the greatest impact of those who died last year.

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

 

The fake chemical compound Isaac Asimov invented to punk science writers

This just goes to show that having a little bit of fun with your work isn't such a bad thing.

http://io9.com/5887014/the-fake-chemical-compound-isaac-asimov-invented-to-punk-science-writers

 

The /bin/true Command and Copyright

With all of the copyright controversy swirling around the Internet, maybe this isn't really all that funny.  Apparently, AT&T has copyrighted an empty shell script (i.e., a script that does nothing).  Check it out!

http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html

 

Return to top