Up to Newsletter Index

September 2011 Newsletter

 

Quotable Quotes

 

There is a great difference between worry and concern.  A worried person sees a problem, and a concerned person solves a problem.  –Harold Stephens

 

The truth only irritates those it enlightens, but does not convert.  Pasquier Quesnel

 

The most imaginative people are the most credulous, for them everything is possible.  –Alexander Chase

 

I like bats much better than bureaucrats. I live in the Managerial Age, in a world of "Admin." The greatest evil is not now done in those sordid "dens of crime" that Dickens loved to paint. It is not done even in concentration camps and labour camps. In those we see its final result. But it is conceived and ordered (moved, seconded, carried, and minuted) in clean, carpeted, warmed, and well-lighted offices, by quiet men with white collars and cut fingernails and smooth-shaven cheeks who do not need to raise their voice. Hence, naturally enough, my symbol for Hell is something like the bureaucracy of a police state or the offices of a thoroughly nasty business concern.  –C. S. Lewis

 

When words are scarce they are seldom spent in vain.  –Shakespeare

 

Imperfect action is better than no action.  –Giovanna Garcia

 

We say we waste time, but that is impossible. We waste ourselves.  –Alice Bloch

 

Engaged employees understand that they don't just work for a company; they are the company.  –Richard Kern

 

The shortest path to exceeding expectations doesn't generally pass through meeting expectations.  –Ward Cunningham

 

Return to top

 

Software Development Process and Methodology

Article:  Deming’s 14 Points

Everyone who considers themselves a leader in business should read and understand Dr. Deming's work.  This excellent overview of Deming's famous "14 Points for Management" shows how the principles are universal and can be applied to software development.

http://leanandkanban.wordpress.com/2011/07/15/demings-14-points/

 

Article:  Lost programming skills

As with any knowledge domain, over time, some programming skills, such as assembly language programming or programming hardware directly, fall largely by the wayside.  However, even as technology changes at such a quick pace, some skills can't be completely ignored.

http://www.itworld.com/it-managementstrategy/190213/lost-programming-skills

 

Article:  Is REST the future for SOA?

In this comprehensive article, the author states that REST is not really service-oriented in the strict sense, but that it doesn't really matter, because REST has basically won the "war" over web services.

http://www.infoq.com/articles/RESTSOAFuture

 

Article:  Why Software Is Eating The World

This recent essay by Marc Andreessen about how software (and algorithms) have fundamentally changed almost all aspects of life has sparked a good deal of controversy in a variety of circles.  Read the original essay and some of the various responses.

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

http://www.businessweek.com/technology/how-software-is-harming-science-engineering-08252011.html

http://news.ycombinator.com/item?id=2919708

http://tech.slashdot.org/story/11/08/20/1358213/Why-Software-Is-Eating-the-World#comments

 

Article:  Traps & Pitfalls of Agile Software Development - A Non-Contrarian View

This brief list summarizes quite a few of the common problems that you are likely to encounter in an agile implementation.  The interesting aspect of this list is that it is from a proponent of the agile approach rather than a detractor.

http://www.artima.com/weblogs/viewpost.jsp?thread=246513

 

Article:  Ken Schwaber and Jeff Sutherland Release Updated Scrum Guide

The fathers of the Scrum methodology have released an update to their document that provides the basic concepts of the technique.  This document is a great reference for anyone who practices Scrum.  One of the more significant (or, at least, notable) changes is the preference for ordering of the backlog, instead of prioritization.

http://www.infoq.com/news/2011/07/UpdatedScrumGuide

 

Article:  How to Navigate Design by Committee

Like it or not, most organizations work in teams and you will be involved in "design by committee" at some point.  Here are some great tips for how to stay on track in this situation and, especially, how to avoid over-engineering.

http://sixrevisions.com/project-management/how-to-navigate-design-by-committee/

 

Article:  Exploring User Requirements through Mind Mapping

Use of mind mapping as a technique for exploring ideas has really taken off in the past couple of years.  This academic paper discusses using the technique for eliciting and gathering user requirements for applications, including in the context of user stories and use cases.

http://www.scribd.com/vacuum?url=http://www.change-vision.com/en/ExploringUserRequirementsThroughMindMapping_Letter.pdf

 

Article:  10 hard truths IT must learn to accept

IT is changing (just like the rest of the business).  Our old ways of thinking about IT (centralized command and control, etc.) just don't work.  Here are some realities that IT must face in order to be successful.

http://www.infoworld.com/t/it-management/10-truths-it-must-learn-accept-934

 

Article:  Writing Software is Like... Writing

Bruce Eckel gives a nice perspective on how programming is like writing (or perhaps simply is writing) and how, just like writing, to improve, we must continually practice and read others' "writing" to learn the art and craft, as well as learning how to write better.  He also notes the importance of clear communication when working with our stakeholders.

http://www.artima.com/weblogs/viewpost.jsp?thread=255898

 

Return to top

 

Software Testing & Quality

Article:  Zero Bug Tolerance Intolerance

This author says that zero defects is a noble, but unrealistic goal in practical software development.  He goes on to explain why you need to be wise about choosing which defects to fix in your applications.

http://swreflections.blogspot.com/2011/02/zero-bug-tolerance-intolerance.html

 

Article:  So you think you can test?

You've probably heard that expertise in any domain takes 10000 hours of practice.  Well, most of us don't have that much time to build our software testing skills.  This article gives some good guidance on how to enhance your testing abilities.

http://www.huibschoots.nl/wordpress/?p=274

 

Article:  10 Common Software Testing Myths

Software testing can seem mysterious for those who don't have any background or experience with it.  This list tries to debunk a few of the typical myths or misconceptions about testing.

http://www.iseb-istqbsoftwaretesting.co.uk/10-common-software-testing-myths/

 

Video:  The Tester Mindset

Good testers have a particular mindset.  Not one of wanting to destroy an application, but an inquisitive nature and one of always asking "What if…?"  This excellent video teaches you how to think about testing to improve your skills.

http://bugfinders.com/en/training/videos/the-tester-mindset

 

Article:  Testers Perfect Storm: "Agile, Cloud, Mobile"

Even with the constant sounding of the imminent death knell for software testing, this article shows some of the unique and new challenges that testing faces with the intersection of agile techniques, cloud computing, and mobile development.

http://www.toolsjournal.com/testingarticles/item/198-testers-perfect-storm-agile-cloud-mobile

 

Return to top

 

Tutorials/References

Tutorial:  Getting Started with RESTful Web Services Using JAX-RS

REST web services are becoming the de facto standard for APIs for web-based applications.  This tutorial shows you how to create a REST web service for your Java application using the popular Jersey toolkit JAX-RS reference implementation.

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

 

Reference:  The Pragmatic Programmer Quick Reference Guide

If I could only recommend a single book that every programmer should read, it would have to be The Pragmatic Programmer.  This nice one-page reference summarizes the tips and checklists from the book.  Print this out and hang it on your wall!

http://www.codinghorror.com/blog/files/Pragmatic%20Quick%20Reference.htm

 

Tutorial:  How Browsers Work: Behind the Scenes of Modern Web Browsers

Certainly, to be a successful web developer, you don't have to know how browsers work to render your pages.  However, to fully take advantage of the many nuances of the various popular browsers, it helps to understand just what they do under the covers.  This excellent, comprehensive tutorial explains how the Gecko (Firefox) and Webkit (Safari and Chrome) rendering engines work, especially with respect to CSS3 and HTML5.

http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/

 

Tutorial:  Introduction to Artificial Intelligence

This fall (09/26/2011 – 12/16/2011) you can take the same Introduction to Artificial Intelligence class that students at Stanford do for free and entirely online.  It is taught by Peter Norvig, research director at Google and robotics expert Sebastian Thrun, named one of Fast Company's most creative people.

http://www.ai-class.com/

 

Tutorial:  Learn Agile Development Through Tetris

This short presentation hammers home some of the key principles of agile development by matching them with some of the concepts for success in everyone's favorite game, Tetris.

http://www.slideshare.net/heavysixer/agile-tetrisdaggett

 

Tutorial:  CouchDB Emulator/Visualizer

This cool Javascript-based emulator demonstrates the basic concepts of NoSQL document-oriented databases using open-source CouchDB.  If you want to learn about CouchDB without installing it yourself, this will give you a pretty good feel for it, especially collation, map-reduce, and incremental reduce.

http://blog.mudynamics.com/wp-content/uploads/2009/04/icouch.html

 

Tutorial:  Lambdas for Junior Developers

Even if you don't need full-blown functional programming, this excellent tutorial shows you how the use of lambdas (a.k.a., closures or anonymous functions) in C# can help you with your regular development.  The author builds an entire generic Tree class using TDD principles to demonstrate the concept.

http://www.kodefuguru.com/post/2011/08/11/Lambdas-for-Junior-Developers.aspx

http://www.kodefuguru.com/post/2011/08/12/Building-a-Tree-Class.aspx

 

Return to top

 

Career Development/Miscellaneous

Article:  Preparation Pays Off in Avoiding Unproductive Meetings

Meetings seem to be a two-edged sword:  both the necessary lifeblood of business and a drain on time and productivity.  This article provides links to some great resources to make meetings shorter and more productive.  One of the key takeaways from this article is that the meeting planner needs to clearly indicate the type of meeting:  information exchange, design-making, etc.

http://www.itbusinessedge.com/cm/blogs/itdownloads/preparation-pays-off-in-avoiding-unproductive-meetings/?cs=47763

 

Article:  Open Office Layout is Bad for Brain

"Open concept" office spaces are standard for agile teams.  However, according to some new research, lack of private (or at least semi-private) work space results in up to 15% loss of productivity due to distraction and context switching.

http://www.infoq.com/news/2011/08/open-office-layout

 

Article:  A Letter from General George S. Patton to His Son

On D-Day, General Patton sent this letter to his son, who was a cadet at West Point at the time.  He gives some excellent advice for everyone, whether your battles are in a real war or just with your own procrastination.

http://artofmanliness.com/2011/08/21/manvotional-a-letter-from-general-george-s-patton-to-his-son/

 

Article:  12 Steps Toward Confident Excellence

What to sports teams and IT organizations have in common?  This pundit says that IT can learn a lot from consistently high-performing sports coaches and teams about how to deliver excellence in an on-going manner to their business customers.

http://blog.cutter.com/2011/07/12/12-steps-toward-confident-excellence/

 

Article:  The 10 Best Questions to Ask at a Job Interview

When interviewing for a new position, one of the most awkward parts of the discussion is when the interviewer asks if you have any questions.  Here are some questions that both help you demonstrate your interest in the position and get some insight into what the job is all about.

http://money.usnews.com/money/blogs/outside-voices-careers/2010/08/25/the-10-best-questions-to-ask-at-a-job-interview

 

Article:  Keep Wasting Time Online at Work: It's Better for Productivity

Everyone knows that the Internet is the ultimate time sink at work, right?  Well, according to some behavioral research, so-called cyberloafing actually has a more refreshing effect on workers than even such things as making personal phone calls or simply taking a rest break.

http://www.theatlanticwire.com/technology/2011/08/keep-wasting-time-online-work-its-better-productivity/41547/

 

Article:  Why Amazon Can't Make A Kindle In the USA (Even If It Wanted To)

This series of articles (make sure you read them all!) presents some interesting insights into why "focus on your core competencies" has stratified the production and manufacturing of products in the global economy.

http://www.forbes.com/sites/stevedenning/2011/08/17/why-amazon-cant-make-a-kindle-in-the-usa/

 

Article:  Is Your Brain Asleep on the Job?

Recently, we featured an article called "Bored People Quit".  So what can you do to recharge your mental batteries and get your brain back in shape?  This article gives you some ideas for how to jumpstart your brain, including things like setting short-term goals (so maybe that daily scrum meeting isn't worthless after all?!).

http://www.psychologytoday.com/blog/prime-your-gray-cells/201107/is-your-brain-asleep-the-job

 

Article:  71% of Employers Say They Value Emotional Intelligence Over IQ

A new survey of hiring managers by CareerBuilder indicates that about 1/3 are placing more emphasis on emotional intelligence (EI; think "soft skills") when considering candidates.  Interestingly, for IT, just over 1/2 considered EI more important than IQ, compared to over 2/3 overall.

http://www.worldatwork.org/waw/adimComment?id=55178

 

Article:  Tech survivors: Geek technologies that still thrive 25 to 50 years later

You probably don't think there are very many technologies from a quarter- or even a half-century ago that are still commonly used.  So this list of 18 such technologies might surprise you.  You'll probably especially be taken aback by how old some of the things that you think of as "new" are.

http://www.infoworld.com/t/computer-hardware/tech-survivors-geek-technologies-still-thrive-25-and-beyond-168779

 

Article:  Engineer of original IBM PC declares end of PC era

Just as we celebrate the 30th anniversary of the original IBM PC (and the 20th anniversary of Linux, and the 10th anniversary of Windows XP—how time flies!), IBM's CTO, Mark Dean, who was one of the 12 engineers who designed the original IBM PC, has declared that PC era is over due to the cloud.

http://www.techrepublic.com/blog/hiner/engineer-of-original-ibm-pc-declares-end-of-pc-era/8924

 

Return to top

 

Useful Utilities

j-Algo (Free – Cross-platform/Java – 11.5MB)

If you are interested in learning (or getting a refresher on) common computer science algorithms, j-Algo is just the ticket.  It displays step-by-step demonstrations of over a dozen algorithms, including Dijkstra's algorithm, heapsort, Knuth-Morris-Pratt algorithm, and others.  It includes demonstrations in three modes:  graphical (animated), formal, and descriptive.

http://j-algo.binaervarianz.de/

 

CodeMatch (Free – Cross-platform/Eclipse – 471kB)

CodeMatch calls itself a "search-based code repository".  Basically, it's an online code repository (free registration required) that integrates with the context-sensitive coding functionality in Eclipse.  You can save local (private) snippets and insert them into your code just as you would your own classes or references to JDK classes.

http://languageinterfaces.com/download

 

Office Timeline (Free – MS Powerpoint 2007/2010 – 5.6MB)

Timelines are an excellent visualization tool for presentations, but they aren't very easy to create.  Office Timeline greatly simplifies the process of creating timelines in Powerpoint by providing step-by-step guidance.  Created timelines even automatically "adapt" to your presentation layout and template.

http://www.officetimeline.com/

 

MTPuTTY (Free – Windows NT/2000/XP/2003/Vista/2008/7 and PuTTY – 721kB)

PuTTY is the de facto standard for SSH on Windows, but one of its significant shortcomings is having multiple windows, one for each session.  MTPuTTY puts multi-tabbed wrapper around PuTTY supporting all of the standard PuTTY functionality, plus some basic scripting support for automating session log on.

http://www.ttyplus.com/multi-tabbed-putty/

 

Unicodinator (Free – Online tool – N/A)

The world is shrinking, whether we think so or not.  If you do any sort of web design or programming, sooner or later you'll need to work with Unicode.  This well-designed site lists all of the Unicode character set.  Just click on a character to get more information, including the HTML entity code.

http://unicodinator.com/

 

RegEx Find/Replace for MS Excel (Free – MS Excel 2003/2007/2010 – 1.6MB)

You can use regular expressions to do find and replace in most of your development tools, so what not apply the same principle in Excel.  This excellent add-on for Excel works just like the regular Find and Replace dialog, except that you use

http://www.codedawn.com/excel-add-ins.php

 

Return to top

 

Just For Fun

Google…  What?

Just click on the link and check out the first few results.  Don't worry; it won't install a virus or destroy your machine.

http://www.google.com/search?q=search

 

HTML5 Tron Game

HTML5 canvas-based games are really gaining popularity, but HTML5 still has a ways to go.  Here's a fun retro example of what you can do with very little code.

http://a1k0n.net/code/tron.html

 

Bach, Like You've Never Heard (or Seen!) It Before

Although this is actually an advertisement, it's a really incredible rendition of Bach's Jesu, Joy of Man's Desiring.  Although the Toccata and Fugue in D minor is still my favorite work by Bach.

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

 

Intellisult

Somebody at your office getting on your nerves, but you can't find a pithy put down?  Let Intellisult help.  Just put in your nemesis' name and get an intelligent insult.  (Remember, that's it's really just for fun!)

http://intellisult.com/

 

Graphwar

This game is total geek fun.  In this artillery game, you must create a mathematical function to knock out your opponents.  But the trick is that you also must specify a function that avoids obstacles and your teammates.

http://www.graphwar.com/

 

Where in the World? A Google Earth Puzzle

Technology is an amazing thing.  Fifty years ago (or maybe even less), something like this would have hardly been imaginable.  Now, check out these 25 amazing pictures from around the globe from Google Earth and see if you can figure out where they are.

http://www.theatlantic.com/infocus/2011/08/where-in-the-world-a-google-earth-puzzle/100120/

 

Return to top