Up to Newsletter Index

February 2013 Newsletter

 

Quotable Quotes

You think this is just another day in your life. It’s not just another day. It’s the one day that is given to you today. It’s the only gift that you have right now. And the only appropriate response is gratefulness.  David Steindl-Rast

 

The only difference between those who have failed and those who have succeeded lies in the difference of their habits.  Og Mandino

 

Fame is a vapor, popularity an accident, and riches take wings. Only one thing endures and that is character.  –Horace Greeley

 

Your time is a zero sum game. When you say yes to one thing, you are simultaneously saying no to something else.  –Michael Hyatt, Leadership, Success, and Accessibility

 

There are only two kinds of programming languages: those people always bitch about and those nobody uses.  Bjarne Stroustrup

 

The thing that makes computers so hard to deal with is not their complexity, but their utter simplicity. … The real mystique behind computers is how anybody can manage to get such elaborate behavior out of such a limited set of basic capabilities. The art of computer programming is somewhat like the art of getting an imbecile to play bridge or to fill out his tax return by himself. It can be done, provided you know how to exploit the imbecile’s limited talents, and are willing to have enormous patience with his inability to make the the most trivial common sense deductions on his own.  –William Kent, Data and Reality

 

No one ever won a chess game by betting on each move. Sometimes you have to move backward to get a step forward.  –Amar Bose

 

Return to top

 

Software Development Process and Methodology

Article:  How we do sprint retrospectives

One of the key principles of successful agile development is the concept that teams are learning organizations.  Iteration retrospectives are one of the best ways to help the team learn, but often they are done in a perfunctory fashion (or not at all!).  This article gives some great tips on retrospectives, including a list of 10 great questions to use to assess the sprint.

http://insightfullogic.com/blog/2013/jan/3/how-we-do-sprint-retrospectives/

 

Article:  Marc Andreessen On The Future Of Enterprise

In this interview, venture capitalist Marc Andreessen talks about how the enterprise and traditional IT roles are changing with the advent of smartphones and BYOD.  He emphasizes that successful organizations will take both top-down and bottom-up approaches to accommodating their business customers’ technology needs.

http://techcrunch.com/2013/01/27/marc-andreessen-on-the-future-of-the-enterprise/

 

Article:  Avoiding Agile Disaster

This article warns about one of the potential downsides to agile development:  the tendency for the development team to lose sight of the big picture (the “product”) while focusing on the individual stories or features.  The author suggests that having and maintaining a strong product vision and ensuring that each feature and story map to that vision is the best way to avoid this problem.

http://www.montparnas.com/articles/avoiding-agile-disaster/

 

Article:  The rise of fimperative programming

The use of functional programming continues to increase, which platforms like Clojure and Scala.  This author provides an interesting perspective on how more traditional (typically OOP) languages often now have support for functional features.  He calls them fimperative (functional-imperative).

http://blog.vivekhaldar.com/post/39938502197/the-rise-of-fimperative-programming

 

Article:  An Agile PM Isn't What You Think

When adopting agile methodologies, such as Scrum, it is often confusing about what the role differences are between the Scrum master and the PM.  This article clearly explains the differences and the delineation between the complementary roles.

http://www.agilejournal.com/articles/columns/column-articles/2507-an-agile-pm-isnt-what-you-think-sub-head-where-does-traditional-project-management-fit-in-an-agile-project-using-scrum

 

Article:  Rule of 30 – When is a method, class or subsystem too big?

A common conundrum in software development is defining a rule of thumb for the maximum size of a method or class.  This survey article presents the concept called the “rule of 30”, which basically size that each entity (method, class, etc.) should have no more than 30 sub-elements.

http://swreflections.blogspot.com/2012/12/rule-of-30-when-is-method-class-or.html

 

Article:  Static Typing: Give me a break!

This developer says that, while he prefers strong static typing, the decision should be up to each programmer.  His underlying argument is that typing, among a variety of implementation details, should be part of the design and architecture of each system.

http://scientopia.org/blogs/goodmath/2013/01/20/static-typing-give-me-a-break/

 

Article:  Test Driven Development Traps

Test-driven development (TDD) is a philosophically sound practice.  However, sometimes its implementation causes problems.  This programmer explains some of the common problems and how to avoid/prevent them.  The basic premise that he makes is that we must have a good understanding of what we mean by the “unit” in unit testing.

http://blog.solidcraft.eu/2012/09/test-driven-traps-part-1.html

http://blog.solidcraft.eu/2012/09/test-driven-traps-part-2.html

 

Article:  What will programming look like in 2020?

Functional programming hangout Lambda the Ultimate asked users to give their input on what programming will look like 8 years from now.  While certainly a bit on the esoteric and academic side, the responses are quite enlightening about what to expect.

http://lambda-the-ultimate.org/node/4655

 

Return to top

 

Software Testing & Quality

Article:  Manual testing is Obsolete, Let the Machines Take Over

This article, from a vendor of test automation tools (!), discusses some community response to the suggestion that manual testing is no longer relevant.  Over 80% of the respondents, most of whom were test automation specialists, emphasized that both manual and automated testing are necessary and that each is effective depending on the circumstances.

http://blog.smartbear.com/software-quality/bid/259947/Manual-testing-is-Obsolete-Let-the-Machines-Take-Over

 

Article:  The day a software bug almost killed the Spirit rover

While this isn’t necessarily a new story, it’s a good reminder of how schedule pressure can cause defects to slip in.  And, in the case of the Mars rovers, it’s not something where you can easily deploy a patch.

http://www.itworld.com/it-management/338132/day-software-bug-almost-killed-spirit-rover

 

Video:  The Mind Set Change for an Agile Tester

In my experience, the mind-set change in adopting agile is the key factor for success.  This excellent video by Janet Gregory focuses on developing the mind-set of helping deliver the application successfully by incremental testing starting early.

http://www.tvagile.com/2013/01/21/the-mind-set-change-for-an-agile-tester/

 

Video: “Psychology of Testing” by Miško Hevery

Google test architect Miško Hevery presents some of the philosophical and psychological underpinnings of good testers.

http://tech.blog.box.com/2013/01/video-psychology-of-testing-misko-hevery/

 

Return to top

 

Tutorials/References

Reference:  Curated List of The Best and Worst Practices of APIs

We frequently emphasize the importance of APIs in this newsletter.  This list of best and worst practices for APIs is a helpful directory of resources for making sure your API is the best that it can be, whether it’s for internal or external use.

http://java.dzone.com/articles/curated-list-best-and-worst

 

Tutorial/Reference:  SCRUM: The Story of an Agile Team

This is one of the most thorough, comprehensive explanations of the principles and concepts of Scrum that I’ve read.  It is explained from the perspective of how one team went about adopting agile and some of the struggles that they overcame.

http://net.tutsplus.com/articles/editorials/scrum-the-story-of-an-agile-team/

 

Tutorial/Reference:  Understanding SOAP and REST Basics

This article does a good job of comparing and contrasting SOAP and REST web services without taking sides.  It includes a simple example (address geocoding) using both SOAP and REST.

http://blog.smartbear.com/software-quality/bid/254971/understanding-soap-and-rest-basics

 

Tutorial/Reference:  The RESTful Cookbook

This online book provides some recipes for building both beginning and advanced REST web services.  It includes some excellent resources that explain how REST works on top of (and along with) HTTP.

http://restcookbook.com/

 

Tutorial:  How to encrypt user passwords

This tutorial gives a good heuristic for password encryption and password validation regime in your applications.  While the tutorial is essentially language-neutral, the author does provide some specific advance for Java.

http://www.jasypt.org/howtoencryptuserpasswords.html

 

Tutorial:  Hack Design

Most programmers have less than stellar skills in design.  Hack Design provides weekly lessons by e-mail from design professionals to teach you design.  The tutorials are interactive and many of them teach by puzzles and games.

http://hackdesign.org/

 

Return to top

 

Career Development/Miscellaneous

Article:  Manic Nation: Dr. Peter Whybrow Says We’re Addicted to Stress

Psychiatrist and author of the books such as American Mania Peter Whybrow says that all of electronic gadgets are like “electronic cocaine for many people”.  He goes on to suggest that all of the stress and distraction from these devices is part of the reason for the epidemics of obesity, anxiety, and depression, as well.

http://www.psmag.com/health/manic-nation-dr-peter-whybrow-says-were-addicted-stress-42695/

 

Article:  What Do Technical Managers Do, Anyway?

Are you a technologist who thinks you might want to move into management?  This is an excellent article about the skills and responsibilities of good managers of technical workers.

http://dandreamsofcoding.com/2013/01/22/what-do-technical-managers-do-anyway/

 

Article:  Making a Business Case for Bedtime

Harvard Medical School researchers have found that 30% of US workers don’t get enough sleep and this translates into over $60 billion per year in lost productivity and poor memory, in addition to other problems.  Some businesses are starting to address the emphasis on good sleep through things like melatonin-regulating lights and nap pods.

http://online.wsj.com/article/SB10001424127887323301104578257894191502654.html?mod=e2fb

 

Article:  Why extroverts fail, introverts flounder and you probably succeed

Most people probably imagine that in business extroverts usually come out ahead.  But some fascinating new research says that so-called “ambi-verts”, who are neither too boisterous or too passive (what we called “steady Eddies” in my day!), do better than either, often by a great deal.

http://www.washingtonpost.com/national/on-leadership/why-extroverts-fail-introverts-flounder-and-you-probably-succeed/2013/01/28/bc4949b0-695d-11e2-95b3-272d604a10a3_story.html?hpid=z2

 

Article:  The Ideal Minimalist

This article is little more on the philosophical side of things, but still something that I believe we can all benefit from.  Jesus said, “…Life does not consist in an abundance of possessions.” (Luke 12:15)  This author makes the simple, yet important conclusion that the best minimalist is anyone who just reduces their accumulation of things in any part of their lifestyle.

http://www.lifebeginner.com/2013/01/the-ideal-minimalist.html

 

Article:  How to be a star

This article emphasizes that usually what separates great developers from the good boils down to good old hard work.  The author then explains some skills and traits that are consistent with programmer productivity.

http://dandreamsofcoding.com/2012/12/01/how-to-be-a-star/

 

Infographic:  50 Things We Don’t Do Anymore Because of Technological Advancements

Technology changes us in both obvious and subtle ways.  Here are some things that technology has dispensed with over the past 20 years or so.  But I still don’t know quite why we don’t (and I don’t!) hang our laundry out to dry anymore; my mom rarely used the dryer, except in winter or when it was rainy.

http://mashable.com/2013/01/22/50-things-replaced-technology/

 

Article:  Programmer Interrupted

This well-researched and thoroughly documented article examines the incremental and aggregate costs of interruptions to technical workers.  The author gives detailed explanations of the actual “failure modes” of various types and durations of interruptions.

http://blog.ninlabs.com/2013/01/programmer-interrupted/

 

Article:  Work/Life Balance is Overrated

This developer says that the concept of work-life balance no longer applies, mostly because of the ubiquitous connectivity that we all have.  He says that instead we need to consider work-life integration and how we harmonize the need for work with the need to spend time with family and friends into a single whole.

http://codyburleson.com/2013/01/13/worklife-balance-is-overrated/

 

Article:  Why Didn't The Romans Invent The Internet?

This article provides an interesting perspective on how the social context often plays as much of a role as technological capability in determining uptake of new technologies.  These are some lessons that each of us would be enjoined to pay attention to in the creation of our systems and applications.

http://shkspr.mobi/blog/2013/01/why-didnt-the-romans-invent-the-internet/

 

Article:  Web 're-defining' human identity says chief scientist

A report from the UK government’s chief scientific adviser, based on review of over 20 peer-reviewed papers, says that the Internet is fundamentally changing how people view themselves and their place in the world.  The report says that ‘hyper-connectivity’ is the trend which has the most influence in this regard.

http://www.bbc.co.uk/news/technology-21084945

 

Return to top

 

Useful Utilities

Reasy (Free – Plugin for Firefox and Google Chrome – N/A)

Reasy is a free plugin for both Firefox and Google Chrome web browsers that helps you improve your reading speed by using the RSVP (Rapid Serial/Sequential Visual Presentation) concept.  Just select 25 or more words on a page and it will display them in small chunks quickly.  You can adjust the chunk size and display speed in the plugin settings.

https://sites.google.com/site/reasyreader/

 

Courier Prime (Free – Cross-platform – 189kB)

While the site says that this new True Type font (available under liberal OFL) is intended for screenwriting, it’s also a worthy option as a programming font.  It provides smoother, more elegant take on traditional Courier font and, best of all, includes a true italic glyph.  Read more about the background here.  (If this one doesn’t strike your fancy, you might want to check out the free Source Code Pro font.)

http://quoteunquoteapps.com/courierprime/

 

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

The cool online tool allows you to create simple, yet awesome, animated banners in HTML5 and Javascript.  Choose from dozens of available fonts, plenty of colors, and define the timings and out comes your banner.  No registration is required, but if you do register, you can save/share your creations.

http://tweenui.com/animator/

 

Android Java IDE (Free – Android phone or tablet – ???)

While it seems unlikely that this tool will completely replace developing Android applications with Eclipse and ADK, Android Java IDE (AIDE) is a pretty awesome little development tool for working directly on your Android device.  It supports the full development lifecycle and is compatible with Eclipse projects so you can simply import any existing project and start working on it.  And if AIDE is a little more than you need, check out DroidEdit, which is a source code editor with syntax highlighting for many languages, including C, C++, C#, Java, HTML, CSS, Javascript, Python, Ruby, Lua, LaTeX, SQL, and more.

https://market.android.com/details?id=com.aide.ui

 

Prototyper Free Edition (Free – Windows XP/2003/Vista/2008/7 and Mac OS X – 66MB)

The free edition of the Prototyper tool is an excellent web and mobile application wireframing tool.  It includes a full complement of widgets for Android and iPhone/iPad, plus basic web application widgets.  You can even include live links within your prototype.

http://www.justinmind.com/prototyper/free-edition

 

Return to top

 

Just For Fun

So Good, it works on Barbed Wire

You may have heard of Ethernet over power lines, but (as far as I know) there isn’t any standard for Ethernet over barbed wire.  Nevertheless, this researcher demonstrated that twisted barbed wire is a viable transmission medium for Ethernet.

http://www.sigcon.com/Pubs/edn/SoGoodBarbedWire.htm

 

Phreaking Out Ma Bell

The interesting story of the little-known kid who created the “blue box”, which would become the inspiration for Steve Jobs’ entre into the technology world.

http://spectrum.ieee.org/telecom/standards/phreaking-out-ma-bell

 

Books for Hubble and Webb

Got an iPad?  If so, check out these excellent ebooks that present the discoveries of the Hubble and Webb space telescopes.  It explains the technologies behind each and previews the work of the Webb telescope, which is scheduled for deployment in 2018.  And don’t worry if you don’t have an iPad; they have PDF versions of the books too!

http://hubblesite.org/ibooks/

 

The Fascinating Business Cards of 20 Famous People

Business cards were the Facebook pages of the pre-Internet era.  Here are some real business cards of that time of (very) well-known people.

http://www.flavorwire.com/364847/the-fascinating-business-cards-of-20-famous-people/view-all

 

How Angry are your Developers?

Warning:  Adult language!  This programmer says that you may be able determine the mood of your development team by looking for four-letter-words in Git commit messages.  He provides a simple Git command to do this.

http://engineerwithoutacause.com/how-angry-are-your-developers.html

 

Return to top