September 2007 Newsletter
To gain respect, begin by respecting yourself. Live up to your word. Do not, under any circumstances, go against that in which you believe. Do not exploit others. And, most importantly, start to love, wishing good and success to everyone you meet. –Thomas D. Willhite
Anger, if not restrained, is frequently more hurtful to us than the injury that provokes it. –Lucius Annaeus Seneca
The vast majority of human beings dislike and even dread all notions with which they are not familiar. Hence it comes about that at their first appearance innovators have always been derided as fools and madmen. –Aldous Huxley
Power lasts 10 years; influence not more than a hundred. –Korean proverb
Doubt comes in at the window when inquiry is denied at the door. –Benjamin Jowett
To be a leader is to take responsibility for outcomes...good, bad or indifferent. This, more than any other characteristic or trait, is the mark of a leader. –Thomas D. Willhite
To think is easy. To act is difficult. To act as one thinks is the most difficult. –Johann Wolfgang Von Goethe
The way a team plays as a whole determines its success. You may have the greatest bunch of individual stars in the world, but if they don't play together, the club won't be worth a dime. –Babe Ruth
The man who thinks he can do without the world is indeed mistaken; but the man who thinks the world cannot do without him is mistaken even worse. –Francois de la Rochefoucauld
Multi-tasking is often considered to be a desirable skill among workers. However, this author lucidly argues, based on Goldratt's theory of constraints, about how this single factor frequently contributes to late development projects.
Finding good programmers is difficult. Here are some tips about how to identify and recruit the best ones.
This summary of the Agile 2007 shows that agile development techniques are becoming mainstream and businesses are looking to use agile for competitive advantage.
Using pressure to improve quality or productivity on development project is a dicey undertaking. Here are some ideas about how effectively use pressure to achieve appropriate results.
Sun Microsystems CTO proposes an interesting theory that "elite" group of companies have a demand for computing resources that outpaces typical businesses. He explains how this will drive new innovation in technology and computing. But some people wonder if this is just another take on "utility computing".
Software development estimation continues to be more of an art than a science. This two-part series introduces the concepts and some of the common techniques for estimation, as well as suggestions from improving estimation accuracy.
Most people are familiar with the statistics about the high rate of failure on software development projects. So what can you do to avoid becoming one of those statistics? This article emphasizes that having a well-defined process that will be automated is the key to success.
A new study from Forrestor Research shows that use of dynamic languages like Ruby, PHP, and Python may be a boon to more user-centered development, similar to the way that Visual Basic did in the 1990s. However, there will be some distinct differences too.
In comparison to other engineering disciplines, software development seems to be much harder. But what specifically is different? This article takes a great comparative look between traditional engineering and software development. And be sure to check out this other take on this popular topic.
Stories of software development project failure are all too common. This author looks at some common reasons for failure and suggests how agile development principles can mitigate them.
Recently, the WSJ published an article with "tips" on how to bypass IT restrictions placed on employees. Was this a constructive contribution to the relationship between IT and business users or not? This matter goes to the heart of the discussion about how IT contributes to creating "rogues" in the business.
Mark Twain famously said, "The art of prophecy is very difficult–especially with respect to the future." But that doesn't stop industry pundits from making their guesses about what we might see. This report talks about anticipated new technologies across the IT spectrum.
These authors suggest that learning is the main bottleneck in achieving a productive software development team. By learning, they mean the identification and resolution of the "unknowns" in a project, such as how to work together as a team, what the true system requirements are, etc. They suggest that learning should get a higher priority in attention and resources on a project.
Pundits are predicting that over the next decade, IT organizations will move from cost centers to technology strategy groups and that day-to-day operations will be substantially outsourced.
Finding hard failures, such as crashes and locks, is often the focus of software testing efforts. But many times, crashes and the like should be the least of your worries. Testing needs to also focus on the less obvious and more insidious types of failures.
This author suggests that fixing the bugs in an application that have been identified are only part of the developers debugging/bug-fixing task. The developer should ask three questions to dig deeper to further improve quality and reliability.
This site is a portal on software testing and QA topics, focusing on industry news, such as announcements from tool vendors, etc. It also includes sample questions for certification exams, articles, and videos.
Well, this one's a bit hard to describe. You'll just have to check it out yourself. And, yes, it's safe for work! :)
Defect tracking is one of the less glamorous parts of software testing. Nevertheless, defect tracking and management is probably one of the single most important tangible deliverables and metrics provided by the testing team. Here's how to do a better job at this mundane, but critical task.
Danny Faught is one of the "old guys" in the software testing world. This interview gives you some background and he provides some unique insights to the history and direction of software testing.
This is an interesting and thought-provoking presentation of what the author believes are the top 5 issues that prevent a successful testing organization and effort.
This article gives a high-level (perhaps executive level) overview of UML and the various elements that are part of typical UML models. It also discusses some of the best practices that surround the modeling process.
This comprehensive guide, using examples from actual vulnerabilities and exploits, can help you write more secure code and avoid common pitfulls like buffer overflow errors. Even if you don't program in C, this handbook will give you some good ideas about the kinds of problems to watch for.
On this site you can generate a weekly, monthly, or yearly calendar in PDF format. Simply download the calendar and print it. Calendars can include images (either your own or from a selection of provided images) and your own text or text from a bank of quotes, etc.
Want to get started with Java development using Eclipse, but don't know where to begin? This is the place for you! This site provides 16 short (9-14 minutes each) video lessons on Eclipse and Java. It assumes no prior knowledge or experience with either and takes you through the basics configuring Eclipse to create a project to using JUnit to creating a generating a JAR file for the complete application. The video tutorials include a PDF companion guide.
REST is one of the cornerstones of interactive, client-server Web-based applications. But it's not always easy to grasp the concepts at first. This excellent brief overview helps takes some of the mystery out of REST. For some additional context around understanding REST, see this excellent article about how REST fits into SOA "big picture".
This multi-part detailed tutorial gives you all of the basics for using PHP as a web-development language or even as a scripting language.
If you are interested in learning functional programming, there is no better language than Common Lisp. And to learn Lisp, Practical Common Lisp is the best resource. This is a free, online copy of the entire book. For a more advanced treatment of Lisp, be sure to check out the free, online version of Paul Graham's On Lisp.
Java generics are both powerful and confusing. This article gives an overview of generics and attempts to demystify them a bit.
Even casual users of Linux and Unix often have a need to run processes repeatedly or on some type of schedule. The cron and at tools come to the rescue. This excellent tutorial explains how to use and configure them.
New university research shows that of almost 2/3 of survey respondents said that bad bosses either got promoted or nothing was done about their tyrannical ways.
Having an Internet connection at your work can be both a blessing and a curse. It puts immense amounts of data at your fingertips. But it can also be a major distraction. Here are some of the biggest wasters of time and some great tips on getting control of your online habit.
A new survey shows that e-mail use has overtaken use of phones, both landline and wireless, as a business communication tool. The study indicates that 100% of the end-users surveyed use e-mail, followed by fixed-line telephones (80%), mobile telephones (76%) and instant messaging (66%). Interestingly, respondents indicated that e-mail has a greater positive impact on productivity than telephone.
Sometimes, Steve Pavlina is a little too "new age" for me, but he really offers some excellent practical advice for breaking out of the pattern of complaining and negativity. I need to read this more than most folks that I know!
How do you create a professional image for your group? It comes down to the actions of each of the individuals that make up the group. Here are some tips for how portray your team in a positive manner. [Full disclosure: This is an article that I wrote.]
There is a distinct difference between leaders and managers and successful projects need both. This excellent list helps compare and contrast the roles and skills of each.
Do you feel overwhelmed by
e-mail? Well, it might not just be
Being the new kid on the block on a project team can seem overwhelming. Here are some ideas for navigating the technical and political waters of a new team. And it's good advice even for the old timers in helping the new folks feel welcome.
This excellent and comprehensive article brings tips on preparing a great resume from many sources into a single, cogent summary. Learn how to avoid common errors and build a resume that stands out, but doesn't put off a potential employer.
This free, online tool allows you to create customized and personalized notepad paper on standard 8-1/2" x 11" paper. Just enter a few simple bits of information and it will generate your own paper in PDF format. Then just print and go!
Leadership (as compared to management) is an art. Here are some key concepts that new leaders must grasp and internalize for success. This article focuses on "increasing bandwidth" by concentrating on important tasks and delegating.
Here are some signs that you work in a not-so-friendly workplace. (Warning: Contains some "R"-rated language.)
Many of the key skills for project managers turn out to be skills that employers consider to be important for all new employees. Here's a summary of some of these key talents.
Service providers are expressing concerns about capacity to support content providers desires for more streaming video. Furthermore, this issue is likely to lead to lead to a bandwidth crunch for cable providers.
A startup run by one of the founders of Cisco is offering a product to allow customers to take advantage of the abundance of dark fiber by using their own simplified optical gear for network transport.
Shup is a unique screen capture utility that allows you to upload your captures directly to any of the various image hosting sites, such as Flickr, Imageshack, Photobucket, and others. You can capture your entire desktop or a specific window and Shup includes some basic editing tools, as well. After uploading your file to the hosting site, Shup gives you the URL for your image so that you can include it in your HTML files or share it with your friends.
OpenProj is a free, open source alternative to Microsoft Project. It is supported on Windows, Linux, Unix, and Macintosh platforms. OpenProj is amazingly similar to MS Project and includes the standard project plan tools, such as Gantt charts, WBS, EVM, and much more. It can share files with MS Project by using the Project 2003 XML file format. It is the perfect project management complement to the OpenOffice desktop application suite.
PING (Partimage Is Not Ghost) is re-packaged version of the excellent Partimage utility that comes as a bootable CD-ROM image. It allows you to create and restore disk images of most any Linux or Windows file system format, even over the network. In addition, it includes system rescue tools including backup/restore BIOS settings and blanking/resetting the local Windows Administrator password and much more.
RapidEE (short for Rapid Environment Editor) is a single-purpose utility for editing system and user environment variables, such as PATH. It is very intuitive and well implemented. Simply browse through the environment variables and values and change the desired values or add a new variable. It even validates that paths specified are correct/exist.
Edgeless is a simple background utility that removes the edge boundaries from your desktop so the mouse smoothly moves off one side of the screen and appears on the other. It works on both the sides and top and bottom of the screen.
AMP WinOFF is a utility that allows you to shutdown or restart your Windows computer in a variety of ways. It includes options for shutting down at a particular time, after a designated period of time, or when the CPU reaches an idle state. It can shut down, restart, log off, suspend, hibernate, or most any other "restart" option.
OpenBerg Lector is a free Firefox extension that turns Firefox into an e-book reader. Lector supports Open eBook formats, Microsoft Reader format (via convertlit utility) and comic book "cabinets". In addition, it enhances other document types that can be read natively in Firefox, like Adobe Acrobat, by including bookmarks, tab browsing, and other Firefox extensions.
WinSplit Revolution allows you to divide up your large screen area into separate spaces for different application windows. You can think of it as being the opposite of the standard virtual window managers. Each screen area can access via a hot key combination and you can move any window to one of the spaces.
Off-The-Record (OTR) Messaging is a plug-in for the Pidgin (formerly Gaim) instant messaging client which allows you to have secure, encrypted IM conversations with most any IM service supported by Pidgin. Features include authentication that the other party is who they say they are and deniability if a message seems forged.
SSL-Explorer is a free, open source (GPL) simplified VPN solution for small organizations. It is based on SSL and does not require anything to be installed on the client systems inside the firewall. Some of the interesting features are Microsoft Outlook Web Access 2003 support, excellent granularity permissions, and much more.
Running Windows as an administrator is dangerous. All sorts of malware can infect a system this way. But the fact is that most of us do it anyway. DropMyRights makes a little easy to run as an administrator safely. Simply use DropMyRights to launch your application and it will run the application as lower privilege user ("Normal" user by default). This is perfect for running your web browser or e-mail application to protect yourself from these threats.
QuickREx is an Eclipse plug-in for writing and testing regular expressions (regexs). It supports a wide array of regex libraries for Java, including the JDK version. You can even create your own persistent library of regexs for reuse. And a standalone version of QuickREx is also available.
HashTab adds a new tab to the standard Windows Properties window for files that calculates and displays common hashes for files. It allows you to directly compare the calculated hashes to the expected value from the file provider. It supports MD5, SHA1, and CRC-32 hash types.
When you install a new application or patch your Windows system, it often requires a restart (reboot) of the system. You can save 30 seconds or more in the restart process by doing a "warm boot" instead of the full ("cold boot") process. To perform a "warm boot", which bypasses the BIOS initialization, memory check, etc., simply hold down the <Shift> key when you press OK with the Restart option selected in the Shut Down Windows dialog box.
In MS Outlook, you can use these handy keyboard shortcuts to switch between views, such as Inbox and Calendar:
<Ctrl>+1 - Inbox
<Ctrl>+2 - Calendar
<Ctrl>+3 - Contacts
<Ctrl>+4 - Tasks
<Ctrl>+5 - Notes
<Ctrl>+6 - Folder List (in the side bar) synchronized to the last selected view/folder
<Ctrl>+7 - Shortcuts (in the side bar)
<Ctrl>+8 - Journal
This site features a template (in PDF format) for creating a 12-sided (regular dodecahedron) paper calendar. You can generate the calendar for most any year, print it on card-stock paper, and have a fun calendar for your desk. Calendars for many languages are provided and you can start the weeks on Sunday or Monday.
This online gallery of van Gogh's works is comprehensive and fantastic. It includes not only his paintings but his letters and sketches. It is even endorsed by the official van Gogh museum.
Here's a cute little take on the first few chapters of Genesis from the perspective of God being the ultimate programmer of the universe.
A recent effort to digitize the images from the Apollo moon missions has resulted in some absolutely stunning pictures, including many never before seen. The pictures of the moon surface are amazing. I guess that I now really believe that we did land on the moon, but I still like Capricorn One. :)
Although it may seem dry, this is a fascinating academic history of the Colossal Cave Adventure interactive fiction game from the 1980s, including some background on the actual cave that it was based on. You can even play an online, Java-based version of the game or browse the original Fortran source code.
While probably not quite in the "fun" category, this site explores the rich and complex history, science, and social consequences of the development of the atomic bomb.
We're all familiar with the phrase "it begs the question…". But what does it really mean. It turns out that most folks, including me, completely use this in the wrong way. Check this site for a great explanation.
This site offers two tests of brain function: speed of processing and short-term memory. This site has some great resources on keeping your brain in shape and how the brain works, too.