Software Testing and Development Newsletter - August 2009
Posted by: Tim Jones in Contributing Blogger on Jul 30, 2009
Quotable Quotes
A good listener helps us overhear ourselves. –Yahia Lababidi
He that would have fruit must climb the tree. –Thomas Fuller
If you compare yourself to others, you may become vain and bitter; for always there will be greater and lesser persons than yourself. –Max Ehrmann
Too many people overvalue what they are not and undervalue what they are. –Malcolm Forbes
Follow effective action with quiet reflection. From the quiet reflection will come even more effective action. –Peter Drucker
Try not to become a man of success but rather to become a man of value. –Albert Einstein
You gain strength, courage, and confidence by every experience in which you really stop to look fear in the face. –Eleanor Roosevelt
Man has been endowed with reason, with the power to create, so that he can add to what he's been given. –Anton Chekhov
How soon ‘not now’ becomes ‘never’. –Martin Luther
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. –Martin Fowler
Software Development Process and Methodology
Article: Agile Development: why it rocks, who it helps, and why it's failing
Agile development is all the rage now. This great article explains that one of the key reasons for the early success (and now the frequent failure) of agile is that its originators, like those of most anything new, were using the “startup” mentality (mostly as consultants). Thus, anyone who takes an entrepreneurial approach to process improvement is likely to succeed, regardless of the details.
http://girldeveloper.com/waxing-dev/agile-what-s-great-about-who-it-helps-and-why-it-s-failing/
Article: Why Pair Programming Works
Most developers have at least a passing familiarity with pair programming. But, even if they are convinced about it, it’s usually a tough sell to management. This author points out six specific advantages of pair programming, including continuous code review, less time trying to figure out problems during coding, reduced distractions, and built-in training/backup capability.
http://cafe.elharo.com/programming/why-pair-programming-works/
Article: Object Orientation (and other poorly understood idioms)
While this article is probably more properly labeled a rant, it does bring out some good points about the practice of software development versus the theory of computer science (which was the topic of an article referenced in the July 2009 newsletter).
http://blog.dloh.org/2009/06/object-orientation-and-other-poorly.html
Article: Software Engineering: Dead?
Jeff Atwood discusses the shocking conclusion of long-time (and very respected) pundit Tom DeMarco that software engineering needs to be abandoned and the focus should be on the practice of software craftsmanship.
http://www.codinghorror.com/blog/archives/001288.html
Article: Maker's Schedule, Manager's Schedule
Paul Graham presents a very strong argument about the importance of developers having dedicated time, usually in blocks of 4 hours or more, to do their work and that incessant meetings are a significant and detrimental distraction. This type of uninterrupted time is important in most any creative discipline.
http://paulgraham.com/makersschedule.html
Article: Is Technology Killing The Corporation?
Computers are a ubiquitous tool in all companies now. But some new research shows that technology is failing to deliver on all of its promises, especially for small business, such as ROA decrease of 75% since 1965. Interestingly, while we often hear about how IT fails to support the business (the so-called “IT-business alignment” problem), one of the findings is that many corporate cultures cannot adapt to new, disruptive technologies.
http://www.informationweek.com/blog/main/archives/2009/07/is_technology_k.html
Article: Agile teams: Focus on the people rather than the process
The specifics in this article shouldn’t come as a surprise to anyone: people over process (one of the core tenets of the Agile Manifesto, by the way!). But it doesn’t hurt to be reminded once in a while. And remember that agile adoption, especially in larger organizations, is not always easy.
http://blogs.techrepublic.com.com/tech-manager/?p=1596
Article: Forgotten Refactorings
This author points out that without a good process for refactoring and understanding your specific purpose for refactoring all you end up doing is rearranging the deck chairs on the Titanic (although his language is a little stronger!).
http://hamletdarcy.blogspot.com/2009/06/forgotten-refactorings.html
Article: Agile In a Flash
To the uninitiated, agile development methodologies often seem like magic (or bunk!). A couple of agile experts want to change that with some virtual flashcards (flashcards are one of the hallmarks of many agile methodologies) that teach agile principles.
http://www.infoq.com/news/2009/07/agile-in-a-flash
Article: Project Metrics for Software Development
Management loves metrics! Everyone knows that; in fact, it might even be their mantra. Nevertheless, the article presents some useful and simple metrics to measure the progress and outcomes of development projects, with a decidedly agile focus.
http://www.infoq.com/articles/project-metrics
Article: No to SQL? Anti-database movement gains steam
The push to move away from enterprise RDMBS (called noSQL) is picking up momentum including backing from industry giants like Amazon and Google. This is happening for a variety of reasons, especially scalability problems with RDBMS and they are applied in situations where they shouldn’t be. They suggest so-called “key-value stores” like Hadoop and Voldemort as alternatives and some hybrids like Cassandra and BigTable and one company has shared their experience with making the switch. I’m not sure how this will work out (of course, there are those that dismiss the idea and here), but it’s probably a trend to watch and something that developers need to start getting familiar with (like parallel and concurrent computing).
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9135086
Software Testing & Quality
Article: Top Five Causes of Poor Software Quality
What’s your guess about this commentator’s #1 reason for low quality software? Bad process/methodology? Insufficient requirements? Wrong! He says that the major cause is lack of understanding of the business domain.
Article: Software Testing Paradoxes
“In God we trust; all others must bring data,” (famous quote from quality pioneer W. Edwards Deming) might be the mantra of software testers. However, as this article aptly shows, sometimes the data itself isn’t the whole story when it comes to assessing software quality.
http://msdn.microsoft.com/en-us/magazine/cc163693.aspx
Article: Visa card surprise: $23,148,855,308,184,500
By now, you’ve probably heard about this glitch (or ‘programming error’), but it’s a good example of the importance and value of testing and of how domain knowledge by testers is so important. Slashdot reports that the problem was due to how the amounts were stored. And, by the way, to put $23 quadrillion in perspective, the combined annual GDP of all of the countries in the world is around $60 trillion (here’s $1 trillion in perspective) or about 0.25% of $23 quadrillion.
http://www.msnbc.msn.com/id/31920273/
Article: Sacrificing Quality Costs More Than You Think
This is an interesting perspective on the question: Should quality be compromised? When? The author emphasizes that letting quality slip on one release often results in a psychological effect that quality can be further sacrificed later.
http://chrismelinn.wordpress.com/2009/07/21/sacrificing-quality-costs-more-than-you-think/
Article: The Psychology of Software Testing
Successful testing requires the proper mindset and attitude. This comprehensive article discusses the mental preparation for testing and how to avoid “test anxiety”.
http://www.viarob.com/my/page/The_Psychology_of_Software_Testing
Article: Six Tools For Testing Designs On Mobile Devices
For better or worse, more and more web browsing is moving to mobile devices like phones and netbooks. If you are doing any sort of web design, you owe it to yourself to check how your design looks on these mobile platforms. Here are some tools to help you with that.
http://www.sitepoint.com/blogs/2009/07/09/six-tools-for-testing-designs-on-mobile-devices/
Tutorials/References
Reference: Hidden Features of Various Programming Languages
StackOverflow.com is a great developer discussion site and, recently, there have been a number of “hidden feature” topics discussed. This post is a directory of those discussions for many, many programming languages.
Tutorial: A Beginners’ Guide to Big O Notation
Reading any technical computer science papers (such as you might find on Lambda the Ultimate blog!) require a good grounding in the “Big O” notation. This excellent tutorial explains this concept in a very understandable way and uses some great examples in Java. But, with all things, think critically about how real-world implementations work compared to theory. And don’t forget to check out this follow-on discussion of the topic.
http://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/
Tutorial: The Java serialization algorithm revealed
Most Java programmers are familiar with the Java serialization API. But it’s also instructive to understand how the API works under the covers as this helps you structure your objects effectively to ensure good serialization/deserialization performance.
http://www.javaworld.com/community/node/2915
Tutorial: MVC anatomy for PHP developers
When first starting out with the model-view-controller (MVC) architecture, understanding the paradigm can often be daunting. This excellent tutorial explains the concepts in plain language and further solidifies your understanding by using straightforward code examples in PHP. And, even if PHP isn’t your language of choice, the explanations are still relevant and helpful.
http://reinholdweber.com/php/mvc-anatomy-for-php-developers/
Tutorial/Reference: Pro Git: Professional Version Control
If you use (or are thinking about using) the Git version control/software configuration management tool, you owe it to yourself to check out this free online book. It is a comprehensive, yet engaging and well-organized, treatment of all topics Git, from installing it to using it for distributed development.
Tutorial: Get Started with DNS
Domain Name System (DNS) is one of the linchpins of the modern Internet. But even to those who know a lot about TCP/IP and other Internet technologies, DNS is often a mystery. This comprehensive, detailed tutorial lifts the veil on many of these things.
http://carsonified.com/blog/web-apps/get-started-with-dns/
Career Development/Miscellaneous
Article: Staying up in a down economy
If you’ve been laid off or even if you are fortunate enough to still have a job, the current economic mess is probably taking its toll on you mentally. Here are six tips to maintain a positive attitude and perspective during this difficult period.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=338982
Article: Best advice I ever got
Everyone needs a little advice now and then. In this article, top leaders from various industries and professions share the best advice they’ve received.
http://money.cnn.com/galleries/2009/fortune/0906/gallery.best_advice_i_ever_got2.fortune/
Article: Six performance tips for stressed IT pros
The current economic woes have increased stress for many, even those who aren't in fear of imminent layoffs. This nice list gives you some suggestions for how to help deal with these stressful times. From my personal experience, you can't overestimate the importance of getting enough sleep.
http://blogs.techrepublic.com.com/tech-manager/?p=999
Article: 10 Ways to Learn Stuff While Procrastinating Online
Face it; almost all of us have a guilty pleasure of dawdling online when we should be working. Well, here are some ways to turn this time into productive procrastination.
http://www.mentalfloss.com/blogs/archives/27415
Article: Programmer Competency Matrix
If you’re looking for a new development/programming job, how do you know who well your skills stack up against the next person? While this list is certainly not canonical (and tends to lean a little too much on the technical aspects, for me), it should give you a good idea about some of the areas that you should consider and the level of skills necessary.
http://www.starling-software.com/employment/programmer-competency-matrix.html
Article: How to Kill Creativity
This article presents the pattern that afflicts most organizations that prevents workers from developing and applying creativity in their work. The main cause, not surprisingly in my estimation, is the pressure of urgent, but not necessarily important tasks.
http://www.slowleadership.org/2006/04/how-to-kill-creativity.html
Article: Unix turns 40: The past, present and future of a revolutionary OS
Unix enters it’s 5th decade this month (and Linux is now legally an adult!). This article looks back on the history of Unix and what is in store for it.
http://www.computerworld.com/s/article/340205/Unix_Turns_40
Article: Job Interview Questions You Need to Know
Preparation is the key to a successful interview. Here are some new questions that candidates are likely to face in technical interviews in the 21st century.
http://blogs.eweek.com/careers/content001/job_hunting/jon_interview_questions_you_need_to_know.html
Article: The surprising benefits of time pressure at work
We frequently feature articles about how multitasking doesn’t work (at least not for sentient humans). Now, a researcher has shown the counterintuitive result that completing a predecessor task only prevents interference with subsequent tasks if the first task was completed under time pressure. The result is apparently due to the subtle confidence-building effect of completing the first task under pressure.
http://bps-research-digest.blogspot.com/2009/07/surprising-benefits-of-time-pressure-at.html
Article: 5 top non-technical mistakes made by programmers
Most programmers and other IT professionals do a good job keeping their technical skills sharp. But what about your “soft” skills? Here are some non-technical pitfalls to avoid with some tips to bolster these areas. The top tip is to build self-discipline.
http://www.makinggoodsoftware.com/2009/07/07/5-top-non-technical-mistakes-made-by-programmers/
Article: Just Enough MBA to Be a Programmer
Many programmers probably aren’t interested in going over to “the dark side” of business functions within their organization. However, some will likely want to start their own companies or, at least, better understand how their organization works. This excellent article provides a comprehensive treatment of the topics in The Ten-Day MBA, especially those that are most relevant to IT professionals.
http://www.moserware.com/2009/07/just-enough-mba-to-be-programmer.html
Article: Schmoozing 101: Tips for shy techies
Most people know that networking (the social kind, not the technical kind!) is important for career development and often for finding your next position. But if you’re introverted or just plain shy, schmoozing (for some reason that word sounds “dirty”!) might feel like getting a tooth pulled. Here are some tips for a low-key approach to networking.
http://www.computerworld.com/s/article/340250/Schmoozing_101_Tips_for_shy_techies
Article: The Words You Wear
Here we get an education about some of the new, “fashionable” buzzwords making the rounds in IT and business circles. But the author’s main points are that we need to look past the words and grasp the concepts and ideas that others are presenting before we make a judgment and that each group has “rules” that regulate it.
http://www.randsinrepose.com/archives/2009/07/13/the_words_you_wear.html
Resource: CIO.com's IT Job Search Bible
This collection of articles, links, and resources is sure to help anyone who is searching for a job in IT, whether the market is good or bad.
http://www.cio.com/article/496886/CIO.com_s_IT_Job_Search_Bible
Article: Bad Manners Cost Business
I’m sure most people had intuition about the fact that uncivil behavior has a financial cost to organizations, but it’s nice to see it backed up by research. And some of the forms of bad behavior are interesting, such as simply not listening or check e-mail during meeting or conversation.
http://blogs.baselinemag.com/bottom_line/content/culture/good_manners_make_money.html
Article: Memristor minds: The future of artificial intelligence
The discovery of the memristor, which had been predicted almost 40 years ago, has opened the technology world to a new class of applications. This article discusses some of the early applications.
Article: For Best Results, Forget the Bonus
This classic essay, based on research from social psychology, says that offering bonuses and other reward incentives, instead of just regular pay, actually have the counter-intuitive effect of reducing productivity. Some of the reasons are that it doesn’t address causes, only effects, and that it undermines the personal motivators that workers have which are inherently more powerful than financial or other external rewards. Perhaps this is a strong argument for abolishing work.
http://www.alfiekohn.org/managing/fbrftb.htm
Telecommunications/Networking Industry
Article: Antitrust: Apple and AT&T in DOJ’s sights
According to a report in the Wall Street Journal, the Department of Justice is looking into whether AT&T and Verizon, which together control 90% of the U.S.’s landlines and 60% of its 270 million wireless subscribers, have becoming monopolies with their recent acquisitions. The probe is likely to look into the exclusive iPhone distribution rights of AT&T.
http://apple20.blogs.fortune.cnn.com/2009/07/06/antitrust-apple-and-att-in-dojs-sights/
http://www.pcworld.com/article/167905/report_doj_reviewing_us_telecom_deals_with_handset_makers.html
Article: A Radical New Router
Internet pioneer Larry Roberts has introduced a new “router” that operates on flow of data instead of individual packets with the goals of improving performance, reducing cost, and reducing power consumption.
http://www.spectrum.ieee.org/computing/networks/a-radical-new-router/0
Article: 5.4 Million Added Broadband from Top Cable and Telephone Companies in 2008
US broadband Internet access growth has slowed from 8.5 million new subscribers in 2007. Broadband accounts for a total of 67.7 million subscribers with cable companies slightly outpacing telecoms (36.9 million to 30.7 million).
http://www.leichtmanresearch.com/press/030609release.html
Article: Analyst warns of multiple-technology substitution
A telecom analyst says that technology is reaching the point where the “landline-or-VOIP” question is transitioning to where multiple technologies can be considered, which lowers the barriers to entry for consumers. This goes along with the predictions that the number of residential landlines by 2011 will be less than half the count in 2005.
http://telephonyonline.com/service_delivery/news/multiple-tech-substitution-0710/
Useful Utilities
PDF-Xchange Viewer (Free – Windows 2000/XP/2003/Vista/7 – 15.4)
With all of the recent news about zero-day attacks on Adobe’s PDF Reader, you might be looking for an alternative. Not only is PDF-Xchange Viewer more secure, it is also smaller and faster. It takes the simple approach of just displaying PDF files instead of trying to be a Swiss Army knife.
http://www.docu-track.com/home/prod_user/pdfx_viewer/
MDB Viewer Plus (Free – Windows 2000/XP/2003/Vista – 949kB)
Microsoft Access databases (MDBs) are ubiquitous in most organizations. But not everyone can afford a license for Microsoft Access itself. If you just need to do some simple browsing or editing of an Access database MDB Viewer Plus is a great option. It uses a tabbed interface with a tab for each table in the database. You can specify sorting and filtering criteria and it has very good export and import capabilities. (Requires free MDAC runtimes.)
http://www.alexnolan.net/software/mdb_viewer_plus.htm
Wallpaper (Free – Online tool – N/A)
This cool little online tool lets you upload a picture (or pick one from Flickr or Photobucket or specify the URL to an online image) and then superimpose a monthly calendar on it. Then just download the image and make it your wallpaper.
http://bighugelabs.com/wallpaper.php
Google Map Buddy (Free – Windows 2000/XP/2003/Vista/7 – 43kB)
Ever want to save a static image of a Googe Map that you’ve generated? Google Map Buddy is just the ticket. You can even save multiple map images and easily stitch them together to make a large map at just the zoom/resolution you want.
http://www.augmentedrealitysoftware.co.uk/gmb.html
consoleFISH (Free – Online tool – N/A)
Ever been in the situation where you need to SSH to a system, but were on a computer without an SSH client? Well, no more with consoleFISH. It is a free, hosted version of AjaxTerm, which allows you to connect via SSH (or Telnet) to most any system right from your browser.
http://www.serfish.com/console/
Shareflow (Free – Online tool – N/A)
Shareflow is a free online (hosted) collaboration system that is intended to develop a threaded, conversational view of communications instead of the disjointed, context-free structure that often results from e-mail, IM, phone calls, etc. In general, it appears to be conceptually similar to Google Wave platform.
http://www.zenbe.com/shareflow
HTTP4E (Free – Cross-platform – 1.3MB)
HTTP4E is a cross-platform Eclipse plug-in for sending HTTP headers and REST and SOAP API calls and viewing responses. It is an excellent tool for testing and debugging web services development and for examining the details sent by web hosts.
http://www.roussev.org/eclipse-rest-http-client-plugin-http4e/
Productivity Tips
View online PDF files without downloading
If you run across a PDF file, but don’t want to download it or don’t have a PDF viewer on the machine that you are using, here’s how you can view it completely online. Copy the link (URI) to the PDF onto the clipboard and then append it to this URL in your web browsers address bar: http://www.scribd.com/vacuum?url=. (For example, http://www.scribd.com/vacuum?url=http://www.msri.org/publications/books/Book29/files/conway.pdf.) Press <Enter> and the PDF file will be displayed in the Scribd viewer in your browser. (Note that Scribd will “translate” the URL into its own format, which you can bookmark or send to others.)
Just For Fun
Things Marketing People Love
If you work in technical discipline, chances are that you’ve run across marketing folks that really annoy you. Well, check out this site for some humorous revenge.
http://thingsmarketingpeoplelove.blogspot.com/
There, I Fixed It
This site features pictures of some unique feats of engineering for fixing things. Many of them use the all-purpose fix-it tool: duct tape.
Two Centuries On, a Cryptologist Cracks a Presidential Code
A mathematician has finally broken a cipher that was proposed by a friend of Thomas Jefferson over 200 years ago. And the approach itself to solving the mystery is quite intriguing in that it uses techniques from computational biology.
http://online.wsj.com/article/SB124648494429082661.html
Whitespace Programming Language
Most programming languages ignore white space characters (spaces, tabs, CR/LF, etc.). But we need to bring balance to the programming world: Enter Whitespace. All non-white space characters are ignored. Only spaces, tabs, CR/LF are considered as valid syntax!
http://compsoc.dur.ac.uk/whitespace/
IE6ify!
Tired of all of those nice, standards-compliant web browsers? Well, IE6ify comes to your rescue. Just save this bookmarklet and run it anytime you need to render a web site incorrectly, the IE6 way! ;)
Giving up my iPod for a Walkman
A 13-year-old gives a hilarious view of using a Sony Walkman cassette player (circa 1979) for a week instead of his beloved iPod. This story shows you just how fast technology has changed and yet how much farther we have to go. Nevertheless, the Walkman is a worthy competitor having been named the top music invention of the past 50 years by UK gadget magazine T3.
http://news.bbc.co.uk/2/hi/uk_news/magazine/8117619.stm
Atlas Obscura
This site bills itself as “a compendium of the world’s wonders, curiosities and esoterica”. And indeed it is that. It’s a directory of strange and interesting sites and museums from around the globe. Looking for something weird? You’ll find it here!
Who is Neil Armstrong?
Well, the answer is obvious, right: the first man (and one of only 12!) to set foot on the moon 40 years ago during the Apollo 11 mission. But the whole answer is more complicated. This excellent BBC documentary explores why he consistently shunned fame and riches in favor of the quiet life.
http://news.bbc.co.uk/2/hi/uk_news/magazine/8133835.stm
