Up to Newsletter Index

April 2007 Newsletter


Quotable Quotes


Knowledge signifies things known. Where there are no things known, there is no knowledge. Where there are no things to be known, there can be no knowledge.  –Frances Wright


Think not those faithful who praise all thy words and actions; but those who kindly reprove thy faults.  –Socrates


A person is not old until regrets take the place of dreams.  – John Barrymore


Whenever you're in conflict with someone, there is one factor that can make the difference between damaging your relationship and deepening it. That factor is attitude.  –Timothy Bentley


If you don't like something, change it.  If you can't change it, change your attitude.  Don't complain!  –Maya Angelou


Outstanding people have one thing in common: an absolute sense of mission.  Zig Ziglar


We don't see things as they are, we see them as we are.  Anais Nin


The grass is not always greener on the other side of the fence. Fences have nothing to do with it. The grass is greenest where it is watered. When crossing over fences, carry water with you and tend the grass wherever you may be.  –Robert Fulghum


One of the indictments of civilizations is that happiness and intelligence are so rarely found in the same person.  –William Feather


Return to top


Software Development Process

Article:  12 quick IT productivity wins

Not every IT project that provides real benefits to business customers has to take millions of dollars and months or years to complete.  Here's a list of ideas from across the IT spectrum that can be done on a shoestring budget and a short duration.



Article:  Poor Communications, Unrealistic Scheduling Lead To IT Project Failure

More than 1/4 of respondents to a recent survey indicated that poor communication is the primary cause of project failure.  The next most significant causes were insufficient resource planning and unrealistic schedules.



Article:  Rockets, Cars, and Gardens:  Visualizing waterfall, agile and stage gate

Most organizations already have an established development process and methodology.  But if you are in a position to choose or adapt your methodology, this article gives some good metaphors for some of the popular methodologies.



Article:  How IT Makes Johnny More Productive

This interview with one of the authors of some papers (here and here) from a groundbreaking study on how (or even if) IT actually increases worker productivity focuses on some interesting conclusions:  IT didn't necessarily improve the speed of projects, but it improved productivity from multitasking and IT-supported social networks predicted productivity better than experience.



Article:  How to Stop the Dilbertization of IT

Many IT workers are concluding that their work is no longer the job that they thought it would be.  So what can companies and managers do about it?  This article suggests these steps:  computer science and MIS programs at colleges and universities need to return to generalist programs, face the reality that IT is a commodity, and get IT workers doing more than reactive work.



Article:  Study Says Computers Give Big Boosts to Productivity

A new study says that information and communications technologies are responsible for a significant portion of recent economic growth.  The report examines the impact of IT in five key areas: 1) productivity; 2) employment; 3) more efficient markets; 4) higher quality goods and services; and 5) innovation and new products and services.  See the original, 69-page report here.



Site:  Software Engineering Radio

This excellent site provides periodic (typically, once every 1 - 2 weeks) podcasts (in MP3 format) on topics of interest to developers and others in IT community.  Recent interviews have included Grady Booch and Guy Steele and they frequently have topical "roundtable" discussions as well.



Article:  Ten Common Database Design Mistakes

Proper database design is key to a good application, particularly as it relates to performance and maintainability.  This article discusses common errors and how to avoid them.  Many of the principles apply not only to design of databases, but application development in general.



Article:  The Real Reason Why Building Software is not like Building Bridges

This post presents a good explanation of complexity of software engineering compared to other types of engineering in the physical realm.  For a related article on the commonalities between software development and manufacturing, see Alistair Cockburn's good article.



Return to top


Software Testing & Quality

Article:  Five Questions With James Bach

DDJ's testing editor continues his "five questions" series with James Bach, often considered to be the father of the risk-based testing movement.



Site:  KabInfo.net

This site has a wide variety of free introductory tutorials on software testing and software QA topics.  It even includes some podcast (MP3) FAQs on Mercury WinRunner and Quick Test Pro.  While the tutorials are not in-depth, they are useful for getting an overview of the various areas.



Blog Post and Discussion:  Is Software Quality Getting Worse?

This post contains some good observations and feedback about the current of software quality (or lack thereof).



Article:  The virtualization myth

Interesting commentary that promotes the idea that as virtualization becomes more commonplace, testing environments, and ultimately actual production implementations, should be packaged as composite images to make dependency and environment conflicts a thing of the past.



Article:  The Power of Unit Tests

A developer talks about how test-driven development (TDD) has improved his efficiency and works through an extensive example of using TDD in developing a Ruby application.



Return to top



Reference:  UML Quick Reference

If you are just getting started with UML (or even if you have some experience with it!), you'll find this quick reference to the UML syntax and language constructions extremely helpful.  Print it out and post on your wall next to you computer!



Tutorial:  Practical UML:  A Hands-On Introduction for Developers

UML can be daunting to learn, even to those with a strong development background.  This simple introductory tutorial teaches the basics of the important UML diagrams, including use cases, class diagrams, sequence diagrams, and more, using a very understandable example and following it through the various steps.



Tutorials:  Microsoft Beginner Developer Learning Center

While most readers of this newsletter would not be considered beginners, you may know someone who is.  This site provides a set of tiered tutorials on programming and web development, based on the participant's skills.  The lessons revolve around Microsoft's Visual Studio Express free development tools.  (Note:  I'm not trying to endorse Microsoft's tools or methodology, but just providing this as an option.)



Reference:  BASH Frequently Asked Questions

When you are just starting out with Linux or Unix, learning the command shell can be daunting.  This friendly FAQ on the bash shell is helpful to those new to the environment and even old timers.



Tutorial:   (Almost) Everything you need to know about IPv6

What happens when the world runs out of IP addresses?  This may not be the question at the top of your list of concerns, but at the current rate of depletion all of the current IPv4 addresses will be allocated by 2014.  But, fear not!  IPv6, with an address space of over 340 x 1036 available addresses!  Here's how it works.



Reference:  Classic Papers in Computer Science

This reading list from a computer science course presents some of the seminal works in the development of computer science.  These should be required reading for anyone who wants to understand the history of programming.



Tutorial:  A Gentle Introduction to Object-Oriented Software Principles

This overview tutorial introduces the concepts behind object-oriented in a relatively non-technical and language-agnostic way.  It clearly explains the basic topics of abstraction, encapsulation, inheritance, polymorphism and more.



Return to top


Career Development/Miscellaneous

Article:  Study:  Group Thinking Clouds Decisions

New research shows that people have more difficulty coming up with alternatives when working in groups, such as meetings.  The indications are that "group think" tends to suppress creativity.



Article:  How to start meetings on time (the honest version)

Even if we reduce the number of meetings that are part of the everyday business world, one of the remaining annoyances is that they frequently start late.  This article gives some guidance for things that project managers can do to make sure that the meeting starts on time.



Article:  Talent Shortage? Employers Must Take Some Of The Rap

This editorial recommends that business executives take responsibility for improving morale of current staff and ensuring that more people enter the technology workforce in the future.



Article:  Nine Steps to Acing a Job Interview

This nice list provides excellent tips on preparing for and doing well in your next job interview.  It provides excellent links to more resources for each of the tips.



Article:  Team Leaders Behaving Badly

This article discusses the differences between how leaders motivate and how managers don't.  It focuses on the fact that leaders are engaged and demonstrate they care and value employees.  For more information, see the original article.



Articles:  Why a career in computer programming sucks (or doesn’t)

Two programmers offer a point-counterpoint style review of whether or not software development is still a viable career.  Both of the articles are thoughtful and well constructed and should give you some fodder for your own consideration.




Article:  Seven Bright New Careers for '07 and Beyond

Technology jobs captured two of the positions in this list.  One of the key factors for the technology positions, network systems analyst and data analyst, is the importance of business knowledge in addition to technical skills.



Article:  Software developer growth slows in North America

By 2010, more software development jobs will be created in Asia than in North America.  Worldwide, developer jobs are expected to grow from 14.5 million in 2007 to almost 20 million in 2010.  Nevertheless, the United States will continue to have a lead in development of new applications.



Article:  Scheduling Algorithms for Procrastinators

A technical look at scheduling in view of the situation that job effort and productivity increases as the deadline for a project approaches.



Article:  The Top 10 Attributes of a Great Programmer

This developer gives his list of attributes that he thinks separate great programmers from the rest of the pack.  You may not agree, but it gives you some good food for thought about the skills that you think are important.



Article:  Emotional Intelligence and Emotional Competency

In technology work, technical skills are frequently valued over most any other traits.  However, in most jobs, interaction and working in teams is paramount to success.  This article looks at emotional intelligence and competence and how to hone your skills in these areas for success at work and other aspects of life.



Article:  A Note to Employers:  8 Things Intelligent People, Geeks and Nerds Need To Work Happily

Technology workers are a different breed.  And sometimes organizations need to adapt to those needs to get the most productivity.  This article discusses the authors suggestions in this realm.



Return to top


Telecommunications/Networking Industry

Article:  Videos have Net bursting at the seams

Telecom providers are concerned that increase in video and other multimedia content are starting to overwhelm the capacity of the Internet.  However, skeptics are concerned that this is simply posturing around the "net neutrality" debate.  Either way, it is interesting that the mainstream media is picking up on this story.



Article:  Verizon Business Launches Nationwide Ethernet Virtual Private LAN Service

The new service is intended to allow businesses to interconnect LANs that are dispersed across multiple locations without additional hardware infrastructure costs.



Article:  Tech Firms Push to Use TV Airwaves for Internet

Microsoft, Google, Dell, H-P, Intel, and Philips have asked the FCC for permission to allow idle TV broadcast spectrum to be used to transmit Internet data.  The FCC is considering the proposal, but has concerns about interference with standard TV broadcasts.



Article:  Wholesale in the telecom business:  Ready for some peace and quiet

With the exuberant pace of mergers and acquisitions in the wholesale carrier market in 2006, providers are looking for some stability in 2007.



Return to top


Useful Utilities

gSyncit (Free – MS Outlook 2003/2007 and Gmail – 434kB)

gSyncit is an MS Outlook utility that allows you to synchronize (both directions) between your Gmail (Google Mail) calendar and Outlook.  This is extremely helpful when working with people outside your organization, who do not have access to your Outlook calendar.  It supports manual or automatic updates of your calendar, so you can simply set it and forget it.



TinyUML (Free – Cross-platform Java – 647kB)

TinyUML is a lightweight Java-based tool for creating UML diagrams.   TinyUML supports most of the basic elements of the UML 2.0 standard.  Diagrams can be exported to either PNG or SVG graphic formats.



Corel WordPerfect Lightning (Free – Windows XP/2003/Vista – 929kB)

Lightning is a very effective and easy to use document management tool.  It includes multiple modules:  Navigator, a notebook-style document organizer, Viewer, which supports display of MS Word, WordPerfect, and PDF documents, Notes, a simple word processor, and Connector, which allows you to access free online storage, calendars, and e-mail.



Explorer Breadcrumbs (Free –Windows 2000/XP/2003/Vista – 330kB)

Explorer Breadcrumbs adds a tool bar to Windows Explorer that allows you to quickly navigate through the folder/directory structure without clicking through each folder. 



Window Clippings (Free – Windows XP/2003/Vista – 160kB)

Window Clippings is a new screen capture utility with some special features, including ability to capture not only the foreground window, but also that window's parent window (without capturing other windows), and showing transparency features for layered windows.



Performance Monitor (Free – Windows 2000/XP – 1.3MB)

This is a nice system performance monitor that allows you to display the monitors as small floating, transparent, dockable windows or as separate icons in the system tray for each monitor.  The monitors included are for CPU usages, disk usage, network traffic, and memory load.



FreeMind (Free – Cross-platform Java – 8MB)

FreeMind is a free, cross-platform mind mapping utility.  It allows you to create diagrams around your central theme.  It allows refactoring and easy adjustment and reorganization of your diagrams.  Diagrams can be exported to SVG image format and other formats, including source code.



HexIt (Free – DOS and Windows 9x/NT/2000/XP/Vista – 134kB)

HexIt is a DOS and Windows hex editor with some nice features, including text view mode (display file as it would appear in text editor), a realtime disassembler, calculator, split screen display, and recording and playback of macros.


Sun ODF Plug-in for Microsoft Word (Free – Microsoft Word 2003 – 28.07MB)

This free plug-in for Microsoft Word 2003 allows Word users to read, edit, and save documents in OpenDocument Format (.odt).  Likewise, users can convert Word documents (.doc) to ODF.  A later release will add support for spreadsheets, as well. 



Return to top


Productivity Tips

Quickly get a report of Windows system configuration

Windows has a little-known command line utility called systeminfo for reporting on the system configuration.  To use it, simply open a command prompt (Start | Run à cmd) and enter systeminfo.  To send the output to a file enter systeminfo > sysinfo.txt.  It gives a report of basic system configuration information, including system uptime, total and available physical and virtual memory, product ID (license key), and more.


More MS Excel keyboard shortcuts

When working in most any application, keyboard shortcuts can be real timesavers.  Here are a few esoteric gems from the Excel black belt users.

·         <Ctrl>+<Space> – Select current column

·         <Shift>+<Space> – Select current row

·         <Ctrl>+<Page Up> or <Ctrl>+<Page Down> – Cycle up or down through the worksheets (tabs) in the workbook

·         <Ctrl>+<Home> – Move cursor to A1 cell of worksheet

·         <Ctrl>+<Arrow Key> – Move to the corresponding "edge" of the populated region of the worksheet.  If you also hold down <Shift> it will select the specified cells in the region.


Return to top


Just For Fun

If Operating Systems Ran the Airlines

Here's a humorous look at how air travel would look based on the paradigms of various operating systems. 



Numbers in Over 5000 Languages

Want to know how to count from 1 to 10 in Swahili?  Or maybe in Tagalog?  This site will show you for these and over 5000 other languages.



Great Pockets

Having trouble finding a place to carry your cell phone, PDA, and all of the other gadgets in modern life?  Well, here's your solution:  Great Pockets.  These are trousers with oversize pockets for all of your gizmos!



Test Your Geography

The latest craze on the Internet are these Web 2.0 real-time quizzes about geography where you have to name all of the states or countries.  This site has links to many of these quizzes.  How much do you know about geography?



Bar Code Clock

This cute online clock uses the standard UPC bar code style to show the time.  It updates automatically and changes the bar code representation to match the time digits.




This site calls itself "the museum of mid-century illustration".  That's the middle of the 20th century, mind you!  It features unique industrial and commercial artwork from the 1950s and 1960s, providing a unique history of that era.



Return to top