May 2009 Newsletter
Most of us can read the writing on the wall; we just assume it's addressed to someone else. –Ivern Ball
Pick battles big enough to matter, small enough to win. –Jonathan Kozol
The person who removes a mountain begins by carrying away small stones. –Chinese proverb
The scientists of today think deeply instead of clearly. One must be sane to think clearly, but one can think deeply and be quite insane. –Nikola Tesla
Our actions are the results of our
intentions and our intelligence. –E.
Never neglect details. When everyone's mind is dulled or distracted, the leader must be doubly vigilant. –Colin Powell
There is only one you... Don't you dare change just because you're outnumbered! –Charles Swindoll
Gratitude is the sign of noble souls. –Aesop
The common argument against agile development
methodologies are that they are too "loosey-goosey". Well, maybe not that exact term, but you get
the idea! In this editorial, the author
argues that, in view of the patent failures of the traditional techniques of
the last 50 years, maybe it's time to give agile a try.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=317249
When IT thinks about "modernization" they usually mean updating
hardware or platforms. This author says
that modernization should start with repairing the broken relationship between
IT and the business.
http://www.infoworld.com/d/architecture/what-modernizing-it-really-means-197
Most programmers are not the greatest when it comes to user interface
design. But this article suggests one
simple principle that developers can use to benefit their users immensely: Make
the right thing easy to do and the wrong thing awkward to do. The application itself needs to train
the user.
http://www.codinghorror.com/blog/archives/001237.html
Programmers often have debates (or friendly discussions) about the
appropriate analogue of software development at physical activities. Many of these center
around engineering (building a bridge, etc.) or science. Bruce Eckel says
that the correct analogy is to writing, because programming is a creative
endeavor.
http://www.artima.com/weblogs/viewpost.jsp?thread=255898
Software development pundit Gary
Pollice explains ten characteristics of
successful leaders in agile
development. Clearly, his list shows
that traditional management techniques must be adapted to succeed with agile.
http://www.ibm.com/developerworks/rational/library/edge/09/mar09/pollice/index.html
With the economic slowdown, there seems to have been a dearth of
discussion about so-called IT-business alignment. In this interview, the author of the new book
The Business Value of
IT discusses the six key elements for IT to support their business
customers.
Most people, even agile practioners, that
requirements are the linchpin of any successful development effort. Scott Berkun says
that most sets of requirements are bad because of too factors: Too much design work happens during the
requirements gathering and too many people are involved in the requirements
process without anyone having final authority or accountability.
http://www.scottberkun.com/blog/2009/why-requirements-stink/
At one time or another, your application is likely to get some cruft and duplicate code, but you don't want to do a
complete overhaul (rewrite). This
article discusses the refactoring process and why you might want to do it. In addition, it includes some good but
understand examples using OOP principles in PHP.
http://techportal.ibuildings.com/2009/04/28/refactoring-your-application/
This is insightful commentary about the breakdown of association between
real-world objects and their counterparts used in object-oriented
programming (OOP).
http://lambda-the-ultimate.org/node/3265
Does your organization use agile techniques? Which ones?
Is it a "full" agile process or do you use bits and
pieces? Take this anonymous online
survey to see how you compare with other organizations and give a broader
picture of the adoption of agile.
http://www.noop.nl/2009/04/the-big-agile-practices-survey.html
Agile development teams only function well when the team has a high
amount of team cohesion and this mostly comes from developing trust. Esther Derby has five concrete suggestions
for building trust: address issues
directly, share relevant information, follow through on commitments or give
early notice when you can't, say no when you mean no, and show what you know
and what you don't know.
http://www.infoq.com/news/2009/04/derby-building-trust
Schedule
estimation is one of the most difficult tasks in project planning. This author looks at some of the common
pitfalls in estimating the effort/duration of development tasks.
http://codeofdoom.com/wordpress/2009/04/19/why-do-our-time-estimates-suck/
In today's economy, most every business (and every worker!) is in "survival" mode. What should software testers do to weather the storm? This author says to adopt agile techniques, especially around bringing innovative ideas to the team.
Regardless of the amount of automation and the number of tools that you use in development, underneath it all programming is a human endeavor and, thus, is susceptible to human error. This author looks at four types of failure types (mechanical, mental, social and environmental), including their causes and methods of prevention.
http://techportal.ibuildings.com/2009/03/16/debugging-development/
This article makes the salient point that software development is far behind the manufacturing world in defining quality as fitness for use and providing function/value to the customer. The author emphasizes that development needs to move away from simply finding and fixing bugs, to focusing on quality from the start.
http://www.infoq.com/news/2009/04/agile_quality
Much of the focus of software testing is on verification that the application functions correctly. This author says that the more valuable contribution of testing is in discovering what we do not know and documenting it to reduce risk.
http://www.corvusintl.com/CACM2005-01.htm
This author says that attitude, intellectual and technical capacity, flexibility, communication skills, and business sense are the building blocks of a good tester. What other skills would you include?
http://softwareqatestings.com/5-habits-to-become-a-good-software-tester.html
This document is a comprehensive and up-to-date list of software testing and QA terminology.
http://www.istqb.org/downloads/glossary-current.pdf
Even though e-mail is far less formal than other types of writing, it is still important to use appropriate grammar to maintain credibility. This article presents 10 common grammatical errors with appropriate usage.
http://techrepublic.com.com/5100-10881_11-6075621.html
One of the most trusty tools for monitoring
resource usage is the venerable top utility.
This tutorial gives you help in understanding top and using it for a
variety of tasks such as locating system bottlenecks, system optimization, and
finding applications with memory leaks.
http://www.linuxforums.org/misc/using_top_more_efficiently.html
Are you learning or using JavaScript?
If so, take this 12-question quiz to see how much you know. Some of the answers may surprise you!
http://asserttrue.blogspot.com/2009/04/can-you-pass-this-javascript-test.html
Have you read about functional
programming, but aren't sure how to get started? This online book teaches you the excellent
functional language Haskell in a gentle,
intuitive way.
The difference between leadership and management is one of the core concepts of business that interest me. This excellent article provides a good side-by-side comparison of some of the key differences between them. And it points out the tight symbiotic relationship between the two.
http://articles.techrepublic.com.com/5100-10878_11-6072884.html
You probably don't need to be told that it's a tough job market right now. So what are the skills that are most in demand? Check out this list from freelancer site Elance.
http://www.channelinsider.com/c/a/Careers/Top-Professional-Tech-Skill-Sets-793502/
I've probably harped on it enough in recent months in this newsletter, but the fact is the IT job market (like all job markets, I suppose!) is tough. Information Week's annual salary survey of over 12,000 IT professional confirms this.
http://www.informationweek.com/news/global-cio/compensation/showArticle.jhtml?articleID=217100176
Most of the productivity methods and tools focus on efficiency. However, efficiency is not very valuable if it doesn't lead you to be more effective. This article explains how to make that happen.
http://www.dumblittleman.com/2009/04/are-you-effective-or-just-efficient.html
A recent survey by Hewitt shows that, while more than half of companies believe a recovery will start by the end of 2009, almost a quarter of them plan layoffs and other cost-cutting. Some worry that these cuts may make it difficult for these organizations to bounce back if the cuts go too deep.
http://online.wsj.com/article/SB124044674394145857.html
While I certainly hate to admit it, I'm no longer a spring chicken. This article gives some great tips, especially for your resume, about how to emphasize your skills and experience without looking like a dinosaur.
http://blogs.techrepublic.com.com/career/?p=630
This author indicates that, as an organization matures, the importance of "hard" technical skills starts to wane and the ability to communicate well, especially in writing, quickly becomes key.
http://particletree.com/notebook/writing-resources/
Unnecessary stress is the cause of programming errors, according to one researcher. So what can individuals and organizations do to reduce and mitigate stress?
http://messel.typepad.com/my_weblog/2009/04/stress-makes-programmers-dumber.html
Very interesting idea. This author says that every e-mail you write should go through a revision process to make sure that recipients actually read it. He suggests the number of recipients should drive the number of revisions. It's very rare that I revise an e-mail before sending; in fact, it's also rare that I even proofread before sending! And maybe that's the point: If we took time to revise, perhaps we wouldn't send so many worthless e-mails!
http://blogs.harvardbusiness.org/silverman/2009/04/how-to-revise-an-email-so-that.html
Normally, you'd probably expect to see an article like this in the Just For Fun section, but it actually has some real implications. Most people probably don't see the connection between philosophy and development, but code often reflects the perception of the programmer to solving the particular problem. And, who knew that Descartes would have been a Java guy?
http://developeronline.blogspot.com/2009/04/if-philosophers-were-programmers.html
Your resume is usually the first impression you make on a hiring manager. Here are some suggestions for how to avoid making a bad first impression.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=336469
Whether you call it telecommuting or working remotely, at some point in your career you will work in a distributed organization. In this article, the important skills for a successful remote worker are explored. He emphasizes that remote communication is very difficult because of the fact that non-verbal is a significant part of communication.
http://www.randsinrepose.com/archives/2009/04/15/the_pond.html
Sometimes a lot of emphasis is on bad management practices. A more relevant topic, however, is to look at what makes a great manager. That's what this article is about. I think the main thing that came through to me from this list is that great managers are transparent and humane.
http://www.scottberkun.com/blog/2009/top-ten-reasons-managers-become-great/
http://online.wsj.com/article/SB123897361669991013.html
Akamai
has released their latest quarterly
report on the state of the Internet.
Some of the interesting results are:
http://www.infoq.com/news/2009/04/State-of-the-Internet
Even before gigabit Ethernet (GbE) has become mainstream, researchers have announced technology to support all-optical terabit Ethernet (TbE). The transceiver chip uses chalcogenide.
http://www.networkworld.com/newsletters/lans/2009/041309lan1.html
There are dozens of commonly used (and many more not-so-common) archive formats out there. Frequently, it is useful to move one of the more esoteric formats into a more common one so that other folks can access it. This handy tool converts from over 3 dozen types to a variety of other types, notably including ZIP, 7-Zip, CAB, and RAR formats. And if you need to do batch conversions, they also have a command-line version, as well.
http://archivconvert.sourceforge.net/
Have you upgraded to Microsoft Office 2007 and the new "ribbon" interface is confusing to you? UBitMenu allows you to retain the familiar menus from previous versions of Office without completely doing away with the "ribbon" bar.
http://www.ubit.ch/software/ubitmenu-languages/
TreeSheets is a new free-form personal information manager (PIM) application. It combines lots of great features into one simple interface, including text editor/word processor, spreadsheets, mind mapper, outliner, and small database. It's strongest suit is the great integration between spreadsheet and word processing functionality. Make sure you go through the excellent tutorial on first launch to understand the power it provides. (Note: See here for information about downloading the Linux beta version.)
Safe Calculator is a portable (no install required) password/PIN keeper cleverly disguised as a fully-functional calculator. Just enter a PIN and then browse for the file to be hidden and it gets "swallowed" into the calculator file itself. Re-enter the PIN (up to 32 digits!) and retrieve your file.
http://krilome.com/aprod/index-cse.html
PowerResizer is a utility to easily resize desktop windows, but much more. It's greatest feature is built-in window docking capability. You can dock windows to any of the screen borders or other windows and then resize them using the undocked edges, which makes organizing your windows more efficient.
http://sourceforge.net/projects/powerresizer/
Amy Editor is a free, online, collaborative text editor based on the fantastic TextEdit tool from Mac OS X. It includes support for TextEdit bundles, as well as allowing your to edit text collaboratively with others. Source code is available, so you can host it on your own site, if you like.
mRemote puts all of your various and disparate remote
connections into a single tabbed-interface application. It supports many different remote access
methods, including Windows Remote Desktop (RDP), VNC, Citrix
Xenocode is an interesting new online virtualization platform. Each of the applications runs completely within your web browser via small plugin. The initial release is focused on allowing you to run various different web browsers, including Google Chrome, Internet Explorer 6, 7, and 8, Mozilla Firefox, and Apple Safari. In addition, they have online versions of Adobe Acrobat Reader, GIMP, and even a Breakout game.
Most folks are familiar with the URL-shortening services, like TinyURL and NotLong. But what if you want an absurdly long, but still valid URL? :) Then this is the place to go! Or maybe you'd rather convert your URL into 19th century English literature (on this the 150th anniversary of Dickens' A Tale of Two Cities). (However, seriously, if you need a service to provide descriptive, however longer, URL, such as for Flickr, check out Long "R" Us.)
The UNESCO-sponsored World Digital Library features high-quality, high-resolution scans of rare and important documents from around the world. Some of the included documents are a 1491 Arabic manuscript entitled "Guide to Operations on Irrational Radicals for Neophytes" and an 18th century journal of Captain Cook's last voyage.
Telephone numbers with 555 prefix (NXX) are frequently used as fictional telephone numbers. This site lists thousands (!) of these numbers and their references from TV and movies.
http://home.earthlink.net/~mthyen/555frame.html
Wow! Just wow! This video is Queen's "Bohemian Rhapsody" played by the sounds made by old computer and electric equipment, like flatbed scanners and such. Now that's what I call real electronica!
http://www.youtube.com/watch?v=Ht96HJ01SE4
Not to be outdone by the advocates of the annual Talk Like A Pirate Day, now the Bard's fans have created a holiday for those who want to speak in sonnets! Alas, ye hath missed it this year, but now you've got almost 365 days to prepare for next year!
http://www.cnn.com/2009/US/04/21/talk.like.shakespeare/index.html
With the Large Hadron Collider (LHC) out of service for a while, you might be interested in finding the mysterious Higgs Boson yourself. Just be careful not to ingest it! :)
A little bit of geek humor for you. If the article is confusing to you, check out some articles on the Internet about SQL injection attacks.
https://www.sysedata.no/nyheter/edvin-tables#english