February 2009 Newsletter
Being rich is having money; being wealthy is having time. –Stephen Swid
There are two educations. One should teach us how to make a living and the other how to live. –John Adams
There are no extraordinary men... just extraordinary circumstances that ordinary men are forced to deal with. –William "Bull" Halsey
It's all knowing what to start with. If you start in the right place and follow all the steps, you will get to the right end. –Elizabeth Moon
Don't be discouraged by a failure. It can be a positive experience. Failure is, in a sense, the highway to success, inasmuch as every discovery of what is false leads us to seek earnestly after what is true, and every fresh experience points out some form of error which we shall afterwards carefully avoid. –John Keats
Creativity is merely a plus name for regular activity. Any activity becomes creative when the doer cares about doing it right, or better. –John Updike
Never confuse a single defeat with a final defeat. –F. Scott Fitzgerald
Words without actions are the assassins of idealism. –Herbert Hoover
While this article is a focused perhaps a little too heavily on
environmental factors, it is still a reasonable list of controllable things
that can be done to improve developer productivity and project success.
http://www.codethinked.com/post/2008/12/07/How-To-Guarantee-That-Your-Software-Will-Suck.aspx
It looks like functional
programming's moment in the sun may have finally arrived after many fits
and starts. In this article, Michael Swaine looks at what functional programming is and how some
new languages, like Scala,
Erlang, and Haskell are giving it a boost.
http://www.ddj.com/development-tools/212201710
Probably one of the great mysteries in software development is estimate
the budget/cost and effort/time for development projects. This article provides some conceptual ideas
about how to create an estimation framework for your organization, emphasizing
that there is no one-size-fits-all solution.
Plus, you might want to check out online estimate tools like this one.
http://www.methodsandtools.com/archive/archive.php?id=79
Co-creator of the C programming
language, Brian Kernighan,
reminisces (opines?) about the old simple tools and offers his thoughts about
how big comprehensive IDEs, like Visual Studio and
Eclipse, often slow developers down. He
uses grep
as an example of a simple, yet powerful tool.
Do you think
he's on target or out of touch with imperatives of modern development?
http://www2.computer.org/portal/web/computingnow/0109/theme/sw-tools
Software development management expert Esther Derby explains that three
techniques offer hope for improving development productivity and quality: evidenced-based management,
lean for software development, and agile software development.
http://www.stsc.hill.af.mil/crosstalk/2009/01/0901Derby.html
Even though IT should never be the owners of business data, everyone in
IT should feel a sense of stewardship and responsibility for having consistent,
non-overlapping data and models, which is what master data
management (MDM)
is all about. In this article, a
Forrester Research analyst gives some tips for how to "sell" MDM to
IT and line-of-business management.
http://www.whatpc.co.uk/computing/features/2233474/case-master-management
User stories are one of the foundational concepts in agile
development. In this interview, an agile
expert explains how to create good user stories.
http://stickyminds.blogspot.com/2008/11/word-with-wise-user-stories-with-ronica.html
Instead of working on "alignment" issues (a.k.a., corporate
politics), IT executives need to start demonstrating the added value that they
provide by listening to customers and delivering systems and processes that
meet business needs.
http://www.informationweek.com/news/management/careers/showArticle.jhtml?articleID=212900465
A proponent of agile development methodologies looks at some of the
problems that are frequently named as reasons that agile doesn't work. He does a good job of providing a balanced
look at these items.
http://www.artima.com/weblogs/viewpost.jsp?thread=246513
Quite a few eyebrows were raised by analyst Anne Thomas Manes pronouncement
that SOA (services-oriented
architecture) is dead (although she says that
people misinterpreted what she said).
In this response, the author says that this statement may be what SOA
needs to find focus and relevance again amid the new darling of cloud computing. And perhaps it is instructive to look at some of the
reasons for the perceived failure of SOA as we know it.
http://weblog.infoworld.com/realworldsoa/archives/2009/01/could_the_adeat.html
A new Cutter survey finds that project leaders are abandoning the old
practices of mandating overtime or adding people to projects to resolve
schedule slips and using more sane and appropriate alternatives like removing
features/functions and extending the schedule.
I guess Fred Brooks' message is starting to get
through.
http://www.cutter.com/research/2009/edge090113.html
The CIO's main role is to define and communicate the vision of the IT
organization. Here is a list of 10
characteristics of a good IT strategy and vision.
http://blogs.zdnet.com/projectfailures/?p=1213
This author has nicely summarized and listed the 38 key points from Bjarne Stroustrup's classic book The
C++ Programming Language. Of course,
these tips apply to most any language that you develop in.
http://paranoid-engineering.blogspot.com/2008/11/software-design-tips-from-creator-of-c.html
Software testing and security expert James Whittaker is interviewed about his ideas on where software testing discipline is going.
http://www.informit.com/podcasts/episode.aspx?e=0bad6f65-fcff-4730-8044-43df7cd421fb
This author says that the SANS Institute's 2009 list of "top 25 most dangerous programming errors" demonstrates that cultural factors and practices, such as poor project management, lack of good requirements, unrealistic schedules, etc. are often more to blame for defects than just mistakes by developers. Even the BBC picked up this story.
http://www.informationweek.com/blog/main/archives/2009/01/more_than_codin.html
This writer takes Jim Balsillie to task for his recent statement that defective software is the "new reality". Good to see that someone is standing up for quality versus time-to-market.
http://www.informationweek.com/blog/main/archives/2009/01/rim_ceos_statem.html
Bug tracking is often treated as an afterthought in development groups. This article doesn't propose a solution to the problem, but rather outlines a path forward to a solution.
http://willcode4beer.com/opinion.jsp?set=state_of_bug_trackers
This article provides a nice review of the classical answers to the age-old question of developer-to-tester ratio. Then, it gives the agile spin on it with the traditional answer that "it depends" on the project, code maturity, etc.
http://www.infoq.com/news/2009/01/tester-to-developer-ratio
This exam preparation tutorial produced by a "white hat"
hacking organization helps you learn how to think like a hacker so that you can
better defend your network and write secure code.
http://www.ethicalhacker.net/content/view/50/2/
This excellent animated video tutorial, using the new Pictorial Communication Language, explains the
origins of the Internet and how it evolved from three primary
predecessors: ARPAnet,
CYCLADES, and NPL network. The tutorial is simple and easy to understand
and it presents some concepts that aren't usually included in introductory
Internet tutorials.
Memory management is one of the key factors to programming success, but
it's not always easy to find good resources on it. This article demonstrates how memory
allocation works and what a program that is loaded into memory actually looks
like.
http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory
Even if you don't use Vim (or vi) on a regular
basis, chances are you will have opportunity where you are on a Unix or Linux
server and it's the only option. In that
case, these tips might come in handy, especially as a relates
to search and replace. And these come in
handy when
http://www.catswhocode.com/blog/100-vim-commands-every-programmer-should-know
In this Bruce Schneier
classic from 1992, he explains the concepts behind public-key
infrastructure (PKI) encryption.
As I discuss frequently (too much?!), good communication, especially in
writing, is one of the most important skills in the technology domain. Here are some great aids to remember which
word or phrase to use.
http://blogs.techrepublic.com.com/10things/?p=476
There is lots of discussion lately
about a shortage of qualified IT workers.
But is this really the case or are bad management practices driving good
workers away from the IT job market?
http://weblog.infoworld.com/headhunter/archives/2007/06/it_talent_short.html
This author laments the loss of the concept of "hard work" due to the multi-stimulus and multi-tasking world that has been brought about by new technology and the rise of the Internet. He says that simply being able to pay attention has become the new work ethic.
Curmudgeon-in-residence John Dvorak looks back the 30 years since Visicalc was released and became the "killer app" of the PC revolution. Interestingly, Visicalc adoption often happened under the radar with PCs being purchased initially for word processing.
http://www.pcmag.com/article2/0,2817,2338796,00.asp
With a sour economy, many people are more concerned about job security than ever. At the same time, we all still need to strike the appropriate balance between home and work. This series of articles addresses the questions: How do I get past a feeling of being stuck in life or work? Can I resist the temptations of success? Am I working too hard? Is there room for spirituality at the office?
http://hbswk.hbs.edu/item/5966.html
This article presents 100 good, general (not programming language specific!) questions that software developers might face in an interview. Even if you are not in the market for a new job, these questions are good food for thought about your approach to development.
http://www.noop.nl/2009/01/100-interview-questions-for-software-developers.html
Micromanagement is about a lack of trust by management of their employees. The worst case scenario is that micromanagement turns workers into zombies that are only capable of doing the tasks that they are specifically instructed to do.
http://www.codinghorror.com/blog/archives/001205.html
As we've discussed many times, your resume is usually your first impression for a potential new employer, so you want it to stand out. This article (part of a series or resume-writing) says to avoid these words and phrases: # Responsible for, Experienced, Excellent written communication skills, Team player, Detail oriented, and Successful. Instead you should emphasize active descriptions of your experience.
http://www.squawkfox.com/2009/01/19/6-words-that-make-your-resume-suck/
Paul Glen says that the reason fear is a terrible motivator for creative knowledge workers, like IT folks, is that their work requires mental and emotional engagement to succeed and introducing fear becomes a distraction that wreaks havoc on this. Instead, managers need to focus on removing fear and panic among staff due to the current economic troubles.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=330083
Even though Google has recently fallen on hard times (like much of the rest of the technology business world!), it's still (perhaps mostly romantically!) seen as a great place to work. One of the perks there is that people get to spend 20% of their time on "unapproved" projects with the idea that this opens creativity. This article points out that it's not really about the time, but more about the openness in the culture and freedom to take risks.
http://almaer.com/blog/the-genius-behind-the-google-20-time-it-isnt-the-time
A 15-year-old California boy, whose parents are the authors of the book Raising a G-Rated Family in an X-rated World, has started the 'No Cussing Club', which boast 30,000 members worldwide. They even released a no cussing rap video on Youtube. This story demonstrates that there is hope for our youth and that one person can make a difference.
http://www.npr.org/templates/story/story.php?storyId=99878812
While IT jobs were toward the top of the list, interestingly, the top 3 spots on list are math-related. What's the worst job? Lumberjack, due to dangerous working conditions, low pay, and poor long-term prospects. And if you're scientifically inclined you might want to steer clear of these jobs, too!
http://www.careercast.com/jobs/content/JobsRated_Top200Jobs
Tim O'Reilly offers some excellent advice on how to provide meaning and context to your work beyond the mundane aspects of earning a living.
http://radar.oreilly.com/2009/01/work-on-stuff-that-matters-fir.html
With technology sector job losses expected to exceed 180,000 in 2008, companies are looking for other alternatives to layoffs. Some include community-service fellowships at a reduced wage and other options.
http://www.itbusinessedge.com/item/?ci=50949
The new media battle between content and distribution (and the money that goes with it!) is heating up as evidenced by the recent showdown between TWC and Viacom. The resolution of this dispute marks the beginning of a shift of power from the distributors (telecom providers, cable companies, etc.) to content creators.
http://www.mediachannel.org/wordpress/2009/01/05/the-next-great-media-war/
According to telecom analyst Jeff Kagan, even in the generally down economy telecom providers can expect some growth due to online video and convergence.
http://www.orlandosentinel.com/business/orl-telecom1209jan12,0,278201.story
New survey challenges the "conventional wisdom" that a down economy will push growth in consumer VOIP service as people abandon traditional landline services to save on monthly bills.
http://voxilla.com/2009/01/19/is-the-2009-voip-surge-theory-correct-1065
Verizon says their statements about doing away with PSTN in 7 years were misconstrued. However, they do recognize that convergence means everything becomes a data transport product and are ramping up VOIP offerings.
http://www.networkworld.com/news/2009/011409-voip-verizon.html
Telecom should expect more activist stance to industry oversight with the new Congress, particularly on the part of Henry Waxman, who is chairman of House Commerce Committee, Jay Rockefeller, over Senate Commerce Committee, and Rick Boucher, who is taking over House Telecom Subcommittee from fellow Democrat Ed Markey.
http://online.wsj.com/article/SB122722880092146357.html?mod=googlenews_wsj
A new analysis by Infonetics shows that SDP growth is expected to continue in 2009 with increase of 28% over 2008 and notes that traditional telecom hardware vendors are getting into the act.
http://www.marketwatch.com/news/story/Infonetics-Research-Oracle-Alcatel-Lucent/story.aspx
There are plenty of free Windows virtual desktop applications out there, so what makes Windows Pager special? Some of the unique things that I like about it are that it is very small/lightweight (including no installation required, so it could be used as a portable application), it integrates cleanly into the Windows task bar, supports a variety of desktop configurations, allows you to move windows between desktops by dragging and dropping on the appropriate desktop icon (or via menu), and allows a "sticky" windows, which are visible on all desktops including "always on top" option.
http://windowspager.sourceforge.net/
TrayProdder is a really useful extension for Windows Explorer that adds checkboxes to the file list so you don’t have to play Twister with you fingers on the keyboard holding down the <Shift> and <Ctrl> keys. In addition, it allows for the full row in the Details view to be highlighted when you select or click on a file.
http://www.everator.com/backpages/index.php/trayprodder
Parted Magic is a small, free, bootable CD (or it can be run from USB drive) that allows you to make changes to the partitions on your hard drive. It is based on the GParted utility and includes a variety of other useful features, including networking support (wired and wireless), file system tools, minimal Linux X desktop based on Xfce, and very small command-line versions of most tools. It supports most modern Linux file systems (ext2, ext3, ext4, reiserfs, etc.) and Windows file systems (FAT16, FAT32, NTFS, etc.).
Capture .NET is a handy multi-function tool for Windows (with .NET framework) that combines a plethora (love that word!) of various functions, including screen capture, basic image editor, desktop and world clocks, privacy cleaner, screen magnifier, and much, much more.
http://fishcodelib.com/Capture.htm
P300 is a free P2P file-sharing application for LANs. Just run the single Java Jar file and it will auto-discover other P300 hosts. It has built-in web server for a web-based interface and supports bandwidth limiting.
While usually the project manager is the only person who needs to create and update a project plan, many project participants need to view the project plan. This free tool allows you to view (and print) Microsoft Project plans. It can view the plan in a number of different formats including Gantt chart, task sheet, WBS, and more.
http://www.rationalplan.com/viewer-project-management-software.php
Perhaps one of your new year's resolutions (Forgotten about them already?!) was to be more organized. Personally, I prefer paper organizers (call me old-fashioned!) to electronic ones. D*I*Y Planner is a great cross-platform utility for creating and printing (via PDF) your own daily, weekly, or monthly planner sheets. It has plenty of ready-made templates or you can create your own.
http://www.diyplanner.com/node/6210
Old books often have some very intricate and interesting graphics, most of them hand-drawn. This site provides over 2000 of these images. And if you enjoy these images, be sure to check out Grandma's Graphics where you'll find all sorts of retro graphics nicely cataloged.
The next time the boss catches you playing Tetris you'll have a good excuse: You are trying to erase the trauma of your work environment! ;)
http://news.cnet.com/8301-17852_3-10133993-71.html
Just like Stuart Smalley, you're good enough, you're smart enough, and doggone it, people like you. So why not give yourself a high five? C'mon! Try it out! Stuart Smalley made it all the way to the U.S. Senate. You might be President some day!
http://theinternetisterrible.com/wp-content/things/high-five.jpg
Very interesting magazine article page scans from October 1967. How things have changed in the past 40 years!
http://blog.modernmechanix.com/2009/01/22/how-the-computer-gets-the-answer/
Just a little bit of geek humor for you… :)
http://codetojoy.blogspot.com/2009/01/seattle-jazz-players-urge-microsoft-to.html
Can you identify these 10 dinosaurs of the computer era? It's a bit harder than you think!
http://news.bbc.co.uk/2/hi/uk_news/magazine/7671677.stm
This hilarious little animation is told by someone who has only seen bits and pieces of the Star Wars trilogy. In fact, this girl's plot might be better than George Lucas' original! Viva la "little brown Muppets"! :)