June 2008 Newsletter
The three great essentials to achieve anything worthwhile are, first, hard work; second, stick-to-itiveness; third, common sense. –Thomas Edison
Do something every day that you don't want to do; this is the golden rule for acquiring the habit of doing your duty without pain. –Mark Twain
Truth does not consist in minute accuracy of detail, but in conveying a right impression –Henry Alford
You can't do anything about the length of your life, but you can do something about its width and depth –H.L. Mencken
The most important human endeavor is the striving for morality in our actions. Our inner balance, and even our very existence depends on it. Only morality in our actions can give beauty and dignity to our lives. –Albert Einstein
A part of kindness consists in loving people more than they deserve. –Joseph Joubert
We improve ourselves by victories over ourselves. There must be contest, and we must win. –Edward Gibbon
Most IT organizations have a lot of data, but very few are good at turning it into information that can be analyzed and used for improvement. (In reality, this is true of most organizations, in general.) This article lays out a path for building a useful metrics program within IT.
This author makes the case that applying the standard engineering approach of "design then build" does not apply to software development, because the principle of "once and done" does not generally apply to software.
Like many tools before it, UML has never really realized it's potential for standardizing requirements and development communication. This author incisively and succinctly explains why.
Instead of focusing on IT-business alignment, in this interview, pundit Ade McCormack recommends that the business and IT work toward partnership that he calls "entwinement".
This article discusses the interactive web application architecture roadmap toward so-called "web-oriented architecture" (WOA). Interestingly, this author sees REST as the foundation of WOA, instead of SOAP which is common with services-oriented architecture (SOA) today.
IT people that get stars in their eyes over some new technology can contribute significantly to project failure. Here are some tips on balancing IT's need for new technology with the business need.
Programmer extraordinaire Donald Knuth is interviewed by Andrew Binstock on a wide array of topics. Knuth offers some incredible insights into the future of computing.
Actually, the secret is not so esoteric: Build systems that people can understand in a reasonable amount of time. This article details seven specific areas to pay attention to so that your system is understandable.
Especially in the era of web-based applications, non-functional requirements are often just as important as the traditional requirements that define the applications behavior. This series explores, in excellent detail, some of the common, but often overlooked, non-functional requirements.
Most people (and probably technology workers especially!) are notoriously bad at estimating how long a task or project will take. This article offers some suggestions for improving estimation, not just on development projects, but in life in general. The key tip is to use historical information to define your own person "fudge factor" to apply to off-the-cuff estimates.
Some new research indicates that career advancement factors often result in developers creating applications that are more complex than necessary.
Steve McConnell provides survey results from over 500 respondents about the "classic mistakes" that he defined in Rapid Development. None of the top items were particularly surprising to me, but it is disheartening that IT continues to make the same mistakes.
This article is an interesting look how both people and process affect project outcomes. The key takeaway is that it is people's implementation of the process that really matters.
Bits of programming wisdom and philosophy served after the fashion of the Lao-Tzu. Many of the entries are quite humorous, but the humor is quite esoteric.
This author suggests that one of the significant problems with software development is lack of standard processes. By "process", he means the actual techniques for writing the software, similar to the approaches that we apply elsewhere in our lives.
Most people believe that building a data warehouse (DW) is multi-million dollar enterprise. But it doesn't have to be. This 3-part series focuses on using your existing resources to roll out a DW.
User requirements are often the linchpin of project success. In this article, requirements expert Ellen Gottesdiener gives some good advice on techniques for documenting and maintaining user requirements.
The impacts of optimization in one portion of the development process often have unintended consequences elsewhere, such as in test. Optimization plans need to focus on the overall improvement of efficiency instead of focusing on certain segments/portions.
Johanna Rothman has long been one of my favorite pundits and writers in the software testing and technology management domain. She's very practical and forthright. Read this interview about her history and experience with testing.
Here's a good example of the direct financial costs of poor quality software. This might make a good "business case" to management for improved testing.
Early involvement of testing group on agile development projects is a cornerstone of the methodology, but not many sources explain how to do this. This article collects some tips from a number of agile and testing experts.
On most software development projects, it's a given that all problems/defects are not going to get fixed. This author describes a standardized system for prioritizing which bugs should be fixed.
This article suggests that all organizations adopt the open-source development practice of allowing as many people as possible be involved in hunting for defects. IT needs to develop a relationship with users that allows them to participate in improvement throughout the development process.
Most people perceive quality to be an intrinsic attribute of the product or service. But is the level of quality in an application something that can be variable, based on the customer's needs?
Many people are intrigued by the entire Open Source Software (OSS)
paradigm. Why would people simply give
away their intellectual property? This
online (print version available too) book gives an inside look to the human
While I doubt that anyone thinks that parallel programming is "simple", this article provides some good instruction on some guiding principles to use when transitioning from standard procedural application development to threaded applications.
XML is a powerful tool for managing data in web-based applications (and elsewhere!). Here are some tips for using XML effectively and efficiently.
The model-view-controller (MVC) paradigm is one of the standard design patterns in use today, particularly for web-based and other interactive applications. This article clearly and in detail explains this pattern and provides some tips for how to separate your application into these domains in the design stage.
If you are looking for some specific type of paper, this is the first place to go. They have printable (in PDF format) versions of a variety of paper types, such as graph paper, standard lined paper, score sheets, even penmanship paper, and MUCH more.
Sometimes, we try to make things too complicated. XML is often criticized for being too complex. Here are 10 simple points that help you understand XML and put it into the proper context.
If you are just getting started (or even if you have a little bit of experience) in transitioning from Windows to Linux, particularly for programming, this site provides a 9-step introduction to various Linux concepts from a Windows comparison perspective.
While this tutorial is probably a little simplistic for most readers of this newsletter, it does provide a good, broad introduction to principles behind databases and the concepts of database design. The tutorial is oriented toward MS SQL Server, but is general enough to apply to most any DMBS environment.
Certainly, some questions are better not asked. However, this article indicates that not asking some questions can actually hinder your career. Find out which questions you should be asking the boss.
Middle-aged, but still want to be a tech entrepreneur? Don't let age deter you! A new study from the Kauffman Foundation shows that contrary to popular myths, the median age for those starting technology companies is 38 and more than 40% had advanced degrees.
Paul Graham provides an enlightening look at how dangerous Internet connectivity is in enabling procrastination and how it has overtaken TV as the major time-sink for people.
A survey from Careerbuilder.com shows that more than half of IT workers have gained weight in their current jobs. And the article discusses some creative ideas for improving consumption habits.
One of the important considerations in looking for a new job is to understand the expectations and role you will have in the new organization. This article includes some important questions to ask during the interviewing/"courting" process.
Workers in the technology profession often bemoan the conditions (outsourcing, management that doesn't understand what we do, etc.). This author takes a look at the positive things that programmers and developers have to be thankful for in their profession.
Good listening skills are probably one of the single most important traits for success in life. Here are some tips on how to actually do "active listening".
Comedian Don McMillan gives some funny, but actually practical, advice about how to use presentation slides effectively.
Everyone needs to pay attention to updating your skills over time, but you need to be sure that you learning something that is valuable. Here are 5 skills that have diminished in importance and demand, along with alternative recommendations.
HP scientists have demonstrated a fourth basic circuit element type (in addition to resistor, capacitor, and inductor) called the 'memristor'. This element was theorized 37 years ago. And it may make instant-on computers and lower-power electronics possible. Listen here for more information.
Developing leaders within any organization is key factor for success. Here are some traits that managers should look for in identifying future leaders.
What sets successful people apart from the rest? Read this list of habits and traits the show some (well, a lot!) of them.
Although this report is more than
a year old, everyone would be well advised to consider these factors that are
influencing global markets, from the man who predicted the collapse of the
Even if you aren't a graphic designer, this history of the color wheel will interest and amaze you. It's fascinating how something that seems so mundane can have such a colorful (pun intended!) background.
Researchers have uncovered startling evidence that modern technology, both gadgets and pharmaceuticals, is having a direct effect on the function of the brain.
The efficiency of small groups (typically 5 - 15 people) has been shown over hundreds of generations to be more effective, because it limits bureaucracy and too much formalized process. And, apparently, this even holds true for governments.
Researchers have found that without specific training (perhaps such as this), most people are only capable of holding 3 - 4 things at a time in their working memory. This is probably the reason that people remember phone numbers as groups of 3 or 4 digits.
As a technology professional, you are often faced with the prospect of explaining technical matters to less tech-savvy people. Here are some practical tips for how to make your explanations understandable and useful.
You probably learned a lot of important things in school (both high school and college). But they don’t often teach you some of the soft skills or more esoteric things that you need to succeed in the "real world". This is a great list of tips for being productive and happy in your work.
New services from Comcast and Verizon which promise download speeds of 50Mbps - 60Mbps (with 100Mbps soon) are set to change the Web and video landscape.
So far, telecom companies seem to
have been immune from the declining
A new report indicates that the
PanelHider is a handy application that allows you to dock an application to the edge (top, bottom, left, or right) of your screen and have it auto-hide, similar to the Taskbar. You can even use a hotkey combination to add the currently active window to the list of windows to hide.
Suspicious that the file you just downloaded might be infected? Head over to VirusTotal, upload the file, and it will scan it using over 30 different virus engines, including popular commercial and open-source ones. You can even submit a file for scanning via e-mail and it will reply with the results.
Sure Windows comes with its own built-in Scheduler application, but it doesn't have many configuration options. If you are looking for the power and flexibility of Unix cron, Z-Cron has it. It includes the standard scheduling functions, plus advanced support for running backups, putting your system in "Hibernate" mode at a certain time and waking up a specified time, and more. It even includes a quite robust built-in scripting language.
TeamViewer is a simple remote control utility that allows you to view and control another PC over the Internet. The portable version does not require any installation and leaves no trace on your machine. Just run it, set up the password, and connect from any other machine. It even includes file transfer and in-session chat.
Lost your cell phone in the house? Or need to excuse yourself from a meeting? Or want to get a wake-up call while you're on the road? PhoneMyPhone to the rescue! Just go to the site and enter your cell phone number and specify whether you want to me called immediately or schedule it for some in the future. You can even indicate the number of times to call. (Note: Don't use this for prank calls, because there is a reverse lookup feature!)
DExpose2 is an excellent Windows "clone" of the fabulous Macintosh Expose task switching utility. DExpose2 has (configurable) hotkey options to display all windows by tiling them, display all applications, and to show the desktop. Likewise, it has a dockbar with "fisheye" window preview function. Many other options are also available.
In this online, role-playing game, you play your Congressman from the US House of Representatives (or any member of the House). The scenarios and results are based on that member's actual voting record. You try to build popularity, interact with characters, and much more. Very engaging and intriguing. And if things don't work out for you in Congress, you can always try your hand at balancing the federal budget!
This fascinating site is one man's work of researching and gleaning the back-story about George Lucas' epic universe.
If you like science fiction, check out this list of the 2008 Hugo Award nominees. Most of the short fiction stories have links to free, online versions.
This is just amazing… And wrong! Some guy used just the standard sound files from Windows to "cover" The Who's "Baba O'Riley".
GWAP stands for "Games With A Purpose". These are some free online games created by Carnegie-Mellon computer scientists to help solve problems that humans are better at than computers. So you get to have fun and make a contribution at the same time.
Remember having to memorize the first 30 or so elements in the periodic table in high school chemistry? How much do you still remember? Take this fun, interactive quiz and see how many elements you can name in 15 minutes.
Interesting site of a guy who takes a newspaper page, typically a single article, and creates a poem by blacking out all except the words or letters he needs (in order) to build the poem. The results are interesting and beautiful. Usually, a new poem is posted each day.