December 2008 Newsletter
It is far more impressive when others discover your good qualities without your help. –Judith Martin
Each problem that I solved became a rule which served afterwards to solve other problems. –Rene Descartes
To change and to change for the better are two different things. –German proverb
How comes it to pass, then, that we appear such cowards in reasoning, and are so afraid to stand the test of ridicule? –Sir Anthony Ashley Cooper, 7th Earl of Shaftesbury
To acquire knowledge, one must study; but to acquire wisdom, one must observe. –Marilyn vos Savant
Stock prices are not the omniscient wisdom of the universe expressed in numeric form. They are the result of the machinations of millions of global gamblers. –Paul Glen, in Computerworld, 11/03/2008
Converting business requirements into working software that does what the user wants is the key "transformation" process of software development. But business users and IT often speak different "languages". Here are some ideas about how to use agile practices to bridge this gap.
Most projects or applications have some longer-term objectives. This author warns against doing too much modification during current development cycles in anticipation of future enhancements.
This article makes a good case for why the database should not be used as the de facto API for integration of various applications.
An unfortunate reality of much of software development is that project schedules slip, usually for multiple reasons. Here are some tips for getting back on track from an agile perspective, but most of them apply to traditional methodologies like waterfall.
An article from almost 15 years ago is still relevant today in helping the IT organization determine its vision and role within the organization. The author's point out that a bad economy might seem like an odd time to reassess the vision, but they say that it's relevant, because the business is increasingly looking to IT for innovation and differentiation.
While I'm inherently skeptical about government intervention, I guess this action at least demonstrates recognition on the part of government about IT projects and accountability for results. Perhaps industry can follow their lead in this area.
Robert Glass reminds us about some of those axioms of development that are usually overlooked (or ignored).
Industry pundit Johanna Rothman says that IT managers need to definitively kill failing projects instead of "shelving" them with hopes of returning to them later. She says that setting them aside causes people to continue to spend energy (perhaps emotional energy) on the project instead of addressing closure and moving on.
One of the author's of a new article on creativity in business discusses how creativity itself can't be managed, but organizations can promote an environment that encourages creativity by such things as giving slack time, promoting risk-taking, and fostering optimism that people can make things better.
With the economic turmoil and corporate belt-tightening, now is a good time for corporate IT groups to start acting like "a business within the business". This author suggests that IT shops look at how 3rd party outsourcers work and try to adopt similar models.
The author of one of the "classical" texts on agile development suggests that agile methods have been in decline for some time. And he points to a common malady of most any methodology: The tendency to only adopt bits and pieces or to give up on full implementations when it gets "hard". And read this counterpoint to Shore's position.
IT management has a habit of pushing developers to reduce estimates. This author suggests using estimate ranges with different confidence levels associated with the points in the range.
There has been a lot of discussion about so-called "business-IT alignment" over the past dozen years or so. However, this author suggests that the key to obtaining value from IT investments starts with proper management of "organizational capital"—which at their core are the relationships between individuals in the organization including between IT and business.
Bridging the divide (which sometimes seems to be widening) between IT and the business is a top priority for most IT executives and senior managers. One of the key roles for the CIO is to communicate with business counterparts and manage the business expectations of IT.
As software testing moves from a substantially manual discipline to more automated and data-driven, testers need to be aware that their tests themselves are also code. And they have to consider the question of: Who tests the tests?
This programmer suggests that even with all of the well-known problems with C (think buffer overflow, stack smashing, etc.), programming C actually results in more reliable code, because it steers developers away from sloppy techniques and makes them really consider the consequences of their implementation approach. And, I think that he has a point considering how many robust open source programs (such as Linux) are fundamentally written in C.
This author suggests three basic categories for bugs: logical (the "classical" error where the code implementation is incorrect), wiring (data type mismatches, incorrect field references [last name and first name switched, etc.]), and rendering (the output displayed is incorrect; must be assessed by person).
Testing SOA applications presents some unique challenges due to the distributed nature of the systems and the fact that many components are often "black boxes". This article discusses some of the principles and presents a Ruby-based test harness that can be used.
This author uses the example of the care and craftsmanship used by model builders as a paradigm for developing high-quality software. The underlying idea is that attention to detail on the parts of an application not seen by users is a good indication of the overall quality of the application.
Effective writing can seem daunting, but it doesn't have to be. This article provides some tips on proving more punch to your writing by reducing some "killer" words.
This book, now available for free download in PDF, is a comprehensive exploration and visualization of the Internet and the underlying infrastructure. It includes over 300 full-color images and "maps" of cyberspace spanning 30 years.
No, not computer languages, but real human languages! (Remember those?) This site provides a series of ten 1 - 2 minute language lessons in a variety of languages, including Spanish, French, Mandarin Chinese, and more. These tutorials are not intended to make you a fluent speaker, but simply to help you with a few phrases that will help you when traveling or interacting with other native speakers.
Even with all of the new communications tools, such as instant messaging, Twitter, text messaging, etc., e-mail is still the primary tool for modern communication. And most people are inundated with e-mail. So you need to have a plan and some tactics for using e-mail effectively. These are some great tips for doing that.
This article presents a list of 15 simple tasks to do or programs to write when you are learning a new programming language that will help you get a broad understanding of the intricacies of the language.
I'm not sure if these tips will make you the "coolest" programming or not, but this article definitely has some great points and links to other resources on developing your technical and personal skills as a developer.
Everyone wants to get along with the folks they work with. But sometimes we do things that annoy others without even realizing it. Here are some tips for good manners in the workplace.
This industry pundit suggests that if Microsoft is serious about competing with Google in the advertising realm that they should give Windows 7, the successor to Windows Vista, away for free as an ad-supported platform.
Computerworld's annual salary survey shows IT compensation increases were flat compared to 2007 with average increases of 3.5%. Nevertheless, in light of the tough economy, 60% of survey respondents said that they are very satisfied (17%) or satisfied (43%) with their compensation packages.
Many people (and organizations!) confuse management and leadership. There are key differences between the two. This article explores some of the characteristics of leadership.
What do you consider the most significant events in the history of computers? Check out this article to see what the London Daily Times technology writers picked.
This excerpt from Malcolm Gladwell's new book, Outliers: The Story of Success, indicates that hard work, especially early in life, is what sets those who excel apart from others. Also, he makes the interesting observation that these people also have to be around when the important tools of their trade are being developed.
The founder of startup incubator Y Combinator, who has been called one of "The 25 Most Influential People on the Web", discusses the difference between "wisdom" and "intelligence". One of his excellent insights is ' that "wise" means one has a high average outcome across all situations, and "smart" means one does spectacularly well in a few.'
This article touches on some updates on a topic that was presented very well by Philip Greenspun a couple of years ago. The basic concept is that women (and men for that matter) don't go into technology or other sciences because they simply don't think the field holds promise.
Everyone is aware that the economy is bad everywhere. Now, more than ever, it is up to the individual IT worker to manage their own careers. This report gives some tips on how to survive–and even thrive–in the downturn.
Read this list of common characteristics of messed up workplaces and decide if you've got it good or bad. But remember, you don't have to just be resigned to a bad work environment; you can do something about it.
Hourly wages for IT workers are down 6.2% and are at their lowest level since 2006.
A common paradigm in most companies is that the best developers tend to not stay very long. This article discusses how the programming career is changing and is sub-titled "Employment 2.0".
Many people have the idea that experts in any field are born, rather than made. This article from Harvard Business Review refutes that thesis and says that expertise in most domains have some common characteristics, mostly around deliberate practice and coaching.
An L.A. Times business writer speculates with recent price cuts by Verizon for bundled services and the economic slowdown, a telecom price war is likely. He also notes that cable companies have been more successful at offering phone service than phone companies have at selling pay TV.
IBM has entered a deal with International Broadband Electric Communications to bring broadband to rural customers via power lines. With a big name like IBM, this might mean that BPL will really take off this time.
These vendors plus Level 3 have announced the first non-laboratory test platform for 100-GigE services. While a number of vendors have demonstrated 100Gbps waves, this is the first test system with Ethernet interfaces.
Tom Evslin, who
founded IXTC, one of the first VoIP providers, predicts boldly that by the end
of Obama's first term, there will be no copper landlines in the
This article is a good demonstration of how voice services are becoming (maybe "have become") just another data service on top of the IP platform. This seems to be the concept that BT had in mind earlier in the year, when they acquired Ribbit.
A new report from Arbor Networks says that denial of service attacks have increased bandwidth consumption from megabits in 2000 to in excess of 40Gb today and that service level attacks such as on VoIP are increasing. Also, they indicate that DNS cache poisoning is the largest unaddressed threat.
The most significant reason for failure of VoIP and unified communications implementations by businesses is that the existing network infrastructure is not prepared to handle it, especially the QoS requirements for voice.
Annoyed by printouts of web pages that leave extra white space or that cut off part of the text on the edge? Well, PrintWhatYouLike.com comes to your rescue. This free, online service allows you to select only the portion of a particular web page for printing and apply special formatting (text size, removing background images, etc.) to it. Just enter the URL of the page at the PrintWhatYouLike.com site to get started.
FragExt is a free defragmenting tool with some unique features. Specifically, it's implemented as a shell extension and it allows you to defragment individual files (or a few files at a time), instead of trying to defragment an entire drive. In addition, Windows Explorer will display file fragmentation details, as well as other relevant information like alternate data streams. Versions for both 32-bit and 64-bit Windows are provided, as well as source code.
Code Browser is a unique cross-platform free text editor that supports code folding to make navigation easier. In addition to code folding, it offers natural links between files and folders, a tree view of the folded section hierarchy, syntax highlighting for many languages, as well as user-defined syntax highlighting, and powerful search-and-replace functions.
EtherPad is a free online collaborative text editor. It allows multiple users to simultaneously edit a shared document. It is sort of a cross between Gobby and Google Docs. EtherPad even lets you save multiple versions/revisions, so that you can always go back.
Even if you've made the switch to Linux (XUbuntu is my preferred distribution; go here for a pre-configured VirtualBox image if you can't completely switch!) for your desktop or laptop platform, there are still going to be times where you need (or want) to run Windows applications. In this case, Wine is the tool of choice. However, Wine is notoriously difficult to configure. Enter Wine-Doors which is a Wine add-on that simplifies installation and configuration of Windows applications running on Wine. Wine-Doors will assist you with installing the application in a wizard-like manner and even create desktop menu items.
We have featured TOra (Toolkit for Oracle) before, but it has recently undergone some major updates in new version 2.0. Not only does it have support for native SQL*Net connections to Oracle 8.x, 9.x, 10.x, and 11.x databases (10.x and 11.x are new), but it also provides native connectivity to MySQL (now owned by Oracle) and PostgreSQL databases, as well as any database that has ODBC support. It provides syntax coloring for PL/SQL and standard SQL constructs and has many other excellent features. Native binary packages are available for Windows, Debian Linux (and other DEB-based distributions), Ubuntu Linux, and Red Hat Linux (and other RPM-based distributions).
MS Word comes with many built-in Table AutoFormat styles (Table | Table AutoFormat…), but sometimes you need a little more customization or flexibility. Here's how to define your own style. Open the Table AutoFormat window and press New… In the New Style window, give an appropriate name for your new style and choose the style that you want to start with in the Style based on list. Then use the various choices in the Apply formatting to list and make the desired customizations. One of the best features is the ability to apply "stripes" (different colors or formats) to odd and even rows and columns and even to have multiple row or column "groups" with the same pattern/background. When you are done, press OK and Close. Now you can select that style the next time you create a new table. To limit the list to only your custom styles, in the Table AutoFormat window, choose User-defined table styles in the Category list. And, if you want to change your style later, just click on Modify…
Most people use caffeine of one sort or another: soda (or pop), coffee, or tea. This neat little essay explains why the effect of caffeine on alertness is not all that it's cracked up to be.
Here's what happens if you aren't careful about your "out of office" automated reply! :)
View and search from the extensive LIFE magazine photo archive. So far, 20% of LIFE's photographs have been archived, but Google plans to eventually host the entire archive.
This "good news" spoof of the NY Times was actually pulled off by three Times employees. They even handed out thousands of print copies!
Own a cat? You better check out this page, because he or she might be involved in a murder conspiracy!
Do you ever have people ask you a question that could easily be answered by a simple web search? It gets quite annoying after a while. As a tongue-in-cheek response to their request, give them a link to the search at this site. It displays an animated demonstration of how to do the search and then displays actual results from Google! :)
How well do you remember your high school geometry? And how good is your hand-eye coordination? Play this nifty little online Flash game to find out.
All those things that you never knew had a name or didn't know what the name was? Well, this article tells you what some of them are. The list is heavy with anatomical names, but it didn't include one of my favorite words: that doohickey that hangs down in the back of your mouth.