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.
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.
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.
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?
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.
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.
User stories are one of the foundational concepts in agile development. In this interview, an agile expert explains how to create good user stories.
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.
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.
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.
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.
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.
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.
Software testing and security expert James Whittaker is interviewed about his ideas on where software testing discipline is going.
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.
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.
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.
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.
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.
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.
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
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.
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?
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.
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?
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.
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.
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.
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.
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.
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.
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!
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.
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.
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.
According to telecom analyst Jeff Kagan, even in the generally down economy telecom providers can expect some growth due to online video and convergence.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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! ;)
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!
Very interesting magazine article page scans from October 1967. How things have changed in the past 40 years!
Just a little bit of geek humor for you… :)
Can you identify these 10 dinosaurs of the computer era? It's a bit harder than you think!
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"! :)