July 2008 Newsletter
The true worth of a man is to be measured by the objects he pursues. –Marcus Aurelius
There is no such thing as a failed experiment—only experiments with unexpected outcomes. –R. Buckminster Fuller
The palest ink is better than the best memory. –Chinese proverb
Tears are the rinse water of an unhappy heart. –Raynor Schein
Motivation is everything. You can do the work of two people, but you can't be two people. Instead, you have to inspire the next guy down the line and get him to inspire his people. –Lee Iacocca
The perfection of a clock is not to go fast, but to be accurate. –Luc de Clapiers
All programmers are playwrights and all computers are lousy actors. –Unknown
Ability is what you're capable of doing. Motivation determines what you do. Attitude determines how well you do it. –Lou Holtz
It is easier to be wise for others than for ourselves. –Francois De La Rochefoucauld
A handful of patience is worth more than a bushel of brains. –Dutch Proverb
In order for business process management (BPM) to be effective and flexible/maintainable, organizations need to start looking at BPM with an object "lens": as a collection of tightly coupled data-plus-function/action bundles.
While I don't necessarily agree that agile techniques are without any value, this author makes a strong case for how most companies do not have sufficient organizational maturity to support the foundational techniques of agile development.
Grady Booch is interviewed about the importance of true architecture, planning and design in software development and his crusade to turn development into a true engineering discipline. And be sure to check out this thoughtful and well-reasoned response to Booch.
Project failure occurs far too often in software development. In this article, a manager presents the underlying causes of failure from an report on an actual project.
One of the foundational tenets of agile development is that scope is never static. Agile projects expect and plan for scope changes. This article looks at how project leaders on agile projects manage scope (and user expectations!).
New survey results show that both line-of-business executives and IT professionals believe that the influence of the CIO has been reduced over the past year. The conclusion is that technical chops have been sacrificed on the altar of business "smarts".
Many people associate agile development practices with a free-for-all approach. However, this article demonstrates that good architecture is a cornerstone of agile development, especially as it relates to managing consistency among various applications.
With a flavor for possible alternate history scenarios, this article looks at some of the events that have shaped today's technology environment.
In my experience, one of the most overlooked aspects of project management is determining and proper engagement of a strong sponsor (and/or steering committee) for a project. This article discusses the ins and outs getting good sponsorship for you project.
Agile methodologies often include a role called "coach". But how is this role different from a project manager or technical lead? This article explains the coach function (which may be performed by a member of the existing team). Good advice for any project leader, whether you do "agile" or not.
This excellent essay examines the characteristics of high-quality software, as well as the techniques used to develop such applications. While the essay is oriented toward open-source application development, the tips can be applied to most any development effort.
This is an online version of the appendix from the Kaner, Falk, and Nguyen book that provides an excellent classification and taxonomy for the types of errors/defects that you will encounter (and should be looking for!) in testing.
Unit testing saves time in the long run, not just because it helps you find problems sooner, but mostly because it makes you think more critically and introspectively about the requirements and design of your system.
Do the observable external characteristics of form, fit, and finish of a software application give an indication about its underlying quality and robustness? According to this article, sub-titled "Most Software Stinks!", the answer is yes.
One of the common struggles of software quality and testing organizations is in providing "actionable" information on the testing results. This brief article shares some key success factors for metrics.
This author suggests that the best method to develop software with good quality to use "defensive programming" practices to build quality in from the start and throughout the process. While this should be obvious to most professional developers, it is sadly not the standard.
While dynamic programming may not be a technique you use everyday, it is very effective in solving optimization and search problems. This article gives an understandable introduction, with copious examples in Python.
If you haven't used source code management tools before, setting them up can be a daunting task. This tutorial gives you step-by-step instructions for obtaining and configuring a Subversion repository in Windows. And Subversion is not only for source code, but makes a great tool for versioning documents, as well.
Filesystems are probably one of the most mundane, but most important features of any operating system. This article takes an OS-agnostic look at just how filesystems work.
This site presents links to the biographies, blogs, interviews, and home pages of the creators of many popular (and some rather obscure!) programming languages. Great for doing research on the motivations behind these languages.
Even though this list is really intended to be humorous, it contains some gems that developers and project managers should not forget in order to help them be more effective and efficient.
This simple, step-by-step tutorial explains the database normal forms and shows how to apply these concepts to your own database design.
This is a nice introductory tutorial to the Java String class and the various functions that are available. Very good for developers moving from languages that don't have built-in strings, such as C++. Uses examples like searching for substrings, reversing a string, and more to introduce the capabilities.
This author suggests three steps for allocating your time wisely and strategically: Break your responsibilities in categories, ask yourself what percentage of your time you should be spending in each category, and check for alignment with your superiors and colleagues.
This report covers various topics on Vernor Vinge's predicted "singularity" involving convergence of technology and the human mind. However, author and future pundit Douglas Hofstadter takes a more dim view of this vision of the future.
IT is an attractive career for those with autistm spectrum disorders, such as Asperger's syndrome. Apparently, the ability (real or perceived) to be anonymous, along with focusing on problem solving over social interaction, is the strongest draw.
Even if you don't make a living as a writer, we are all writers and must use the written word to communicate (e-mail, IM, reports, etc.). This article has some simple and excellent tips for putting more power into your writing.
Most people consider Vannevar Bush's essay "As We May Think" as the progenitor of the modern World Wide Web. But this article points to a project called the Mundaneum that preceded Bush's description by over a decade.
Sleep is one of life's greatest mysteries. And lack of sleep should not be treated as a badge of honor. But how much do you really need? According to experts, 6-1/2 to 8 hours per night is optimum. Interestingly, more than 8-1/2 hours of sleep tends to have negative health consequences.
Telecommuters face challenges that folks in the office don't even give a second thought about. Here are some tips to making your presence and importance felt even when you aren't physically there.
Even though it is a relatively new profession, IT demands change quickly. The current needs for IT professionals revolve around "technical instinct" (knowing technologies to apply to solve a problem) and "enthusiasm". Interestingly, certifications are diminishing in value and importance.
Most organizations seem to highly value the ability to work on multiple tasks simultaneously. But this article points out that the supposed productivity gains are really just a fabrication. And multitasking often contributes to distraction and lack of attention.
Experience indicates that more frequent smaller gifts, such as gift cards, are more effective at employee motivation than the traditional annual bonus.
A counterintuitive result from a university study indicates that instant messaging actually reduces disruption compared to telephone, e-mail, or face-to-face conversations. Of course, IM is still a burden for IT.
With the souring economy, IT workers have so far been spared the salary impact, but that seems to be changing. Salaries have barely changed from June 2007 - June 2008 and, therefore, they have actually gone down due to inflation. IT managers are looking more at outsourcing, especially for support roles.
E-mail is a ubiquitous and important tool in today's world. But just because it's there and it's easy, doesn't mean that it should be used without thought. Here are 36 simple tips to use e-mail more professionally and effectively.
Pundits say that Verizon's acquisition of Alltel is not necessarily a harbinger of more M&A activity in the telecom industry.
This author forecasts that telecom providers will move from "carriers of bits" to owners of content of distribution channels.
Among some of the specific details are that revenues will grow at 5.7% annually with 60% of revenue from consumer mobile services. In addition, the number of VoIP subscribers will more than double in the next four years and by 2012 broadband revenue will be getting close to fixed voice service revenue.
The exaflood revisited…
Cisco has released a report that forecasts IP traffic will double every
two years through 2012 mostly due to video traffic, which could push ISPs to
metering. Specifically, Cisco
predicts that by 2012, almost 90% of IP traffic will be video with
With VoIP services already taking away traditional landlines, this author suggests that re-allocating part of the existing spectrum for VoIP may encourage telecom companies to start providing moderate improvements in speeds for rural customers using existing infrastructure.
MySQL Workbench is a free visual database modeling tool. It integrates directly with MySQL (of course!), but can be used with most any DBMS platform. It allows you to graphically model your database using ER diagrams and the diagrams can be directly exported to popular graphic formats or PDF.
Clipcast is a cross-platform clipboard sharing utility. It works in X11 environments (Unix/Linux) and Windows. You simply paste the contents of the clipboard on one system into the Clipcast utility and it is automatically encrypted and shared to all other Clipcast clients.
WiseCalc is a calculator masquerading as a text editor. You can annotate your calculations, save calculation sheets, and much more. It includes hundreds of built-in functions, including over 450 conversions, and you can add your own user-defined functions.
ColorConsole is a handy replacement for the boring Windows Command Prompt shell. Not only does it provide a more colorful shell, but includes some great features like ability to export your console session to a HTML or RTF file, a menu for your command "favorites", more intuitive cut, copy, and paste, and a menu for the CD command.
Evermotion Communicator is a free multi-platform instant messenger client. In addition to support most of the popular services (AOL, MSN, Skype, Yahoo, and more), you can also do serverless chat on your LAN with no additional modules. It even has basic collaborative picture editing capabilities.
Universal Viewer displays almost any type of file that you can throw at it. It has built-in support for text (standard and Unicode) and binary/hex files, RTF, common image formats, anything that can be played in Windows Media Player, and all formats supported by Internet Explorer. In addition, it can use XnView as external viewer for non-supported graphic formats. Probably, it's most powerful feature is support for the dozens Total Commander Lister plugins.
Ulteo Virtual Desktop is the cleanest integration of Linux with Windows yet. Ulteo is a Ubuntu-based version of Linux that uses Colinux to allow Linux to run directly in Windows (not via emulation or virtualization). The basic system includes standard Linux applications, including OpenOffice, Firefox with Java and Flash support, Gimp, and much more. And via the Ubuntu repositories, you can install other applications and customize your configuration.
One of the nice features of PostgreSQL and MySQL are that they have built-in facilities for paging results, such as MySQL's LIMIT query qualifier. Unfortunately, Oracle has no native method for retrieving specific results. So here's how to emulate this. Basically, you take your original query with order by clause and embed it into a structure like this:
select a.*, rownum rnum
from (original_query) a
where rownum <= max_row_num
where rnum > min_row_num
Simply replace min_row_num and max_row_num with the lower and upper bounds, respectively. Sorting your results with the order by clause in the original query is very important, otherwise you will get inconsistent results. Here's a simple example to retrieve rows 1100 - 1150 from a table named NODE, which has been sorted by the name:
select a.*, rownum rnum
from (select n.* from eods.node n
where n.status_code in ('PLANNED', 'COMMISSIONED')
order by n.node_key_name) a
where rownum <= 1150
where rnum > 1100
If you enjoy and appreciate the wonderful SysInternals utilities, but have a machine that you can't download to, such as a web server, you can actually run the utilities from a public shared drive: \\live.sysinternals.com\tools\. Just open this share as you would any local share (e.g., by putting the share name in the Run dialog) and then double-click on the desired utility. On most systems you'll be prompted with a "Security Warning" dialog to confirm that you want to run the utility.
This is a geek take off on Gloria Gaynor's disco anthem "I Will Survive". You've got to watch it just for the dancing!
To counter (or maybe it's to validate!) David Brooks' criticism of geek culture, Infoworld has put together a 20-question quiz on some of the esoterica of the technology elites. How much do you know about the backgrounds of these people?
Having trouble understanding the language that your kids speak? Well, just head on over to this site everyday and learn a new leetspeak word or phrase! Then you'll be on your way to becoming a true h@xOr.
I had completely forgotten that one of Costner's first roles was in one of Apple's ads from the early 1980s!