June 2006 Newsletter
When you're through changing, you're through. –Bruce Barton
Many people think that if they were only in some other place, or had some other job, they would be happy. Well, that is doubtful. So get as much happiness out of what you are doing as you can and don't put off being happy until some future date. –Dale Carnegie
We either make ourselves happy or miserable. The amount of work is the same. –Carlos Castenada
Excellent firms don't believe in excellence—only in constant improvement and constant change. –Tom Peters, Thriving on Chaos
Nothing doth more hurt in a state than that cunning men pass for wise. –Francis Bacon
Wherever you see a successful business, someone once made a courageous decision. –Peter Drucker
There are two kinds of people in the world: those who make excuses and those who get results. An excuse person will find any excuse for why a job was not done, and a results person will find any reason why it can be done. Be a creator, not a reactor. –Alan Cohen
There are people who think that everything one does with a serious face is sensible. –Georg Christoph Lichtenberg
I am always doing that which I can not do, in order that I may learn how to do it. –Pablo Picasso
To reach a port we must sail, sometimes with the wind and sometimes against it. But we must not drift or lie at anchor. –Oliver Wendell Holmes
This series of articles looks at web services technology from the business management perspective. It gives some good insight into how business managers and executives perceive SaaS, SOA, and web services.
While services-oriented architecture (SOA) is a good structure to build new applications on, this author warns that implementing SOA requires some good planning especially around managing the library and interfaces and debugging and deploying.
One of the principles of agile methodologies are simplicity and breaking things down into their appropriate components. This article talks about how to do project management with a minimum of overhead. Many of the principles are good even with standard methodologies.
While many years of experience and analysis show that the "make versus buy" decision favors buy in cases where the system does not provide a significant competitive advantage, the decision is now complicated by factors such as open source software (OSS) and how much customization to do to off-the-shelf systems. This report includes a good checklist for deciding to build or purchase.
Open source software (
This list provides the project manager with some sound advice on how to (and not to) communicate with stakeholders and users on IT projects and support.
Earned Value Management (EVM) is a new project management technique, developed by US Department of Defense, that aims to measure progress based on value earned (i.e., work completed) rather than money or time spent. Users of EVM say that at about the 20% earned value mark, you can predict with +/-10% accuracy the final cost of the project. The article includes a sidebar with the various calculations and an example.
What's a game doing in the serious section of the newsletter, you ask? This Flash-based game helps you learn about the Scrum agile approach by emphasizing the "win-win-win" concepts emphasized.
In this piece, the author suggests that agile methodologies are the way of the future not just for software development, but for other successful business activities. He emphasizes the importance of 80/20 rule in agility by focusing efforts on the 80% of functionality that is most used.
This article gives a comprehensive, systematic approach to debugging that emphasizes skills over tools. While oriented toward open-source development, the approach is applicable to most any development project.
While there is much emphasis on software testing and quality of IT-managed application, this article looks at the poor quality of user-developed and maintained spreadsheets that are often the foundation of most of a businesses financial operations.
This presentation from a Microsoft lead software tester gives an overview of the characteristics of people who are excellent testers. His list of characteristics is fantastic.
This article examines the shift of software development from hurrying through development toward "test first" and test-driven development where focus is put on removing defects, particularly security vulnerabilities.
Projects frequently seemed to get bogged down in the testing phase, where everyone perceives that the project is "almost done", but it never seems quite ready to release. This article looks at 5 questions that development managers can ask to assess the root cause of the lack of testing progress, which usually isn't the fault of the testing team, but rather with the project or process itself.
This detailed, step-by-step tutorial shows you how to use the open-source
(MIT license) Prototype
toolkit/framework to develop an
Regular expressions are a powerful tool in software development and testing. This nice introduction provides a detailed, step-by-step treatment with easy-to-understand examples.
This excellent AJAX-enabled search tool provides information about know IP (UDP and TCP) network ports and services. Coverage is comprehensive and the tool is easy to use. You simply specify a port number or service name.
While most Oracle tools, like PL/SQL Developer and SQL Navigator, have facilities for beautifying the results of EXPLAIN PLAN, sometimes you need to simply look at the PLAN_TABLE output directly. The DBMS_XPLAN procedure can help with this task.
This paper, from recognized security expert Bruce Schneier, gives a good introduction to the theory and application of cryptanalysis.
Bug Bash is a site by Microsoft employee who posts a new comic each week about software development, software testing, and project management.
To be successful at something, you must get some enjoyment or satisfaction from the task. In this essay, the author gives some useful advice on how enjoy your job, regardless of your particular situation.
This author suggests to counteract the problems of business, such as the constant pressure for quarterly profits, business needs to have more technologists in executive positions. His points are: Geeks seek knowledge for it's own sake; geeks like to experiment; geeks openly debate the merits of technical ideas; geeks are concerned with doing good work just because; and geeks are about results, not politics. These are interesting ideas and probably explain some of the difficulties that technical people have in fitting into companies.
A lot has been written about the difference between leadership and management, but this list gives a nice presentation of the importance of both in accomplishing business goals. It emphasizes that often these are different roles rather than being different individuals.
This blog post includes some principles that the author thinks indicate a narrow-minded view of the programming profession. While I don't necessarily agree with all of them, they are certainly thought-provoking.
This article provides some sound, practical advice on how to make the most of the various meetings that we have to participate in. He takes the approach of how prepare for, participate in, and wind down from each meeting. (For information on successful meeting planning, see this article.)
When it comes to managing work/life balance not all jobs are created equal. This article discusses the each job type requires different approaches to balancing the job demands and home life.
Since e-mail lacks the emotional context of any discussion, it is frequently the source of miscommunication and misunderstanding. This article examines some of the factors to pay close attention to when using e-mail.
Many people, especially in management positions, avoid collaboration with their peers, because they consider peers to be competitors. This author shows that peer-level interaction is one of the most important methods for innovation and how to build an environment that encourages this type of cooperation. He discusses the important role that cognitive "flow" has in this, as well.
FTPDrive is a small utility that allows you to "map" an FTP server as a drive or folder and reference the files just like you would on any local or network drive. You can even "intercept" ftp:// links by pressing <Ctrl> while clicking the link to open in FTPDrive instead. [Note: Saving files with changes is not supported.]
If you are looking to get started with Eclipse for Java development, but have struggled to figure out how to install and configure it, EasyEclipse is the answer. EasyEclipse re-packages the core Eclipse application and adds in other free, open source plug-ins to help with specific development, such as GUI, server (J2EE/EJB) and Internet develop (based on LAMP). In addition, they provide separate installers for other plug-ins to help "upgrade" your platform.
ToRead is a neat "utility" that allows you to click on web browser bookmarklet to flag a web page to read later. However, ToRead provides a twist in that e-mails you copy of the page and the URL so that you can look at it conveniently in your e-mail inbox.
Central Desktop is a fully browser based (nothing to download or install) online collaboration site. It allows you to host documents, calendars, tasks lists, calendars, and much more for your company or group. Great tool for clubs and small organizations.
IELanguage is a small add on for Internet Explorer which allows you to select a word in current browser and right-click to get dictionary definition, encyclopedia information, or synonyms via thesaurus. The results open in a new browser window, so the current session is uninterrupted.
9cays is a free online tool for group e-mail and discussions. It allows you to have a multi-person e-mail discussion that is centralized and keeps a history of the thread. Users can opt out of the discussion at anytime. This is a great tool for small, dispersed team collaboration.
Virtualization seems to be all the rage in IT circles today. Software Virtualization Service (SVS) takes a slightly different approach in that it doesn't provide a completely separate emulated environment like VMware Player or QEMU do, but instead creates a virtual operating "sandbox" in your existing Windows environment. Essentially, it abstracts the applications installation files and registry settings to isolate it from the other applications. This makes SVS a good alternative for software testing, especially for installations, and for trying out an application before you decide if you want to keep it.
NetRexx is interesting implementation of the Rexx scripting language that compiles scripts to Java byte code format, so you can run your script on any platform that has a JVM. Essentially, this allows you to write Java applications without using the usual Java syntax and constructs and instead using a simpler scripting language.
The upcoming Windows Vista release
includes a feature that will display a thumbnail view of any task button on the
task bar. But why wait for
A stamp collector chronicles the history of computing through a 5000-stamp collection from around the world.
This cool little game actually helps you to use Google for searching more effectively. The site presents you with some actual Google search results and you have to figure out the criteria that were used in the search. As you proceed, the criteria get more difficult.
This site is an amazing example of web design and interactivity. It displays news headlines from around the world in "bubbles" showing the location with details about the source news organization.
Remember when you were a kid and
somebody told you that you'd end up in
Just specify your newspaper name, date, article title and the article text and this little online tool will generate an image that looks just like a real newspaper article.
This person has put together a nice consolidation of various "Top 100" (or so) lists from various sources concerning the 20th century.