May 2008 Newsletter
Hard work spotlights the character of people: some turn up their sleeves, some turn up their noses, and some don't turn up at all. –Sam Ewing
To take a significant step forward, you must make a series of finite improvements. –Donald J. Atwood
We are so accustomed to disguise ourselves to others that in the end we become disguised to ourselves. –Francois de La Rochefoucauld
The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true. –James Branch Cabell
The music that can deepest reach,
And cure all ill, is cordial speech. –Ralph Waldo Emerson
Life was meant to be lived, and curiosity must be kept alive. One must never, for whatever reason, turn his back on life. –Eleanor Roosevelt
We act as though comfort and luxury were the chief requirements of life, when all that we need to make us happy is something to be enthusiastic about. –Charles Kingsley
Learning is not attained by chance. It must be sought for with ardor and attended to with diligence. –Abigail Adams
The greatest challenge to any thinker is stating the problem in a way that will allow a solution. –Bertrand Russell
Requirements' gathering is as much art and technique as it is science. Here are some tips for making the process go more smoothly.
A new survey shows that developers are planning to start using dynamic
A new book suggests that the often chaotic and random nature of software development raises questions about whether it should be considered a profession in its current form. Lots of good comments for some perspective, too! (I found it somewhat ironic that the book's publisher is Addison-Wesley Professional. <g>)
Steve McConnell explores how organizational structure and team dynamics affect the productivity of developers and development teams, sometimes up to a factor of 10-fold.
The director of MySQL product management discusses the importance of good data modeling in building a successful application. In particular, he takes the notion that application performance is affected mostly by code head on.
As technology continues to move into the mainstream, IT needs to work collaboratively with technically savvy users and even consider them as a valuable extension of the IT organization.
User stories are an alternative to "heavy" requirements documentation techniques and are similar to use cases, but with less structure and formality. This guide gives lots of background and tips on writing user stories in an agile development context.
At one time or another, most senior developers will be thrust into the role of project manager. Here's some background information to get you started in this task.
As technology pushes farther into the mainstream of everyday life, business users are bypassing IT more and more to get their jobs done by using web-based tools and other "off-the-shelf" parts. And IT management ignores this trend at its peril.
Google CIO Douglas Merrill (a TU alumnus) is interviewed about the Google philosophy of IT management. His approach is to quite wide open (as you would expect!) and really empowers employees to use most any available technology. This concept has launched a broad debate over user-managed PCs and the "autonomous user".
Testing services-oriented architectures (SOAs) is quite different from traditional application or web-based application testing. This author says that SOA testing needs to include testing for reuse, heterogeneity, abstraction, and aggregation.
An agile development practitioner offers his suggestions for alternatives to traditional functional testing, such as TDD.
The debate seems to go on forever about what is meant by "testing". While I like the definition in this article, I think the key point is that the definition and the role of the test group needs to be well-understood by all project stakeholders.
In a new survey, 4 out of 5
businesses in the
To have an effective QA and software testing regime, it must be integrated into and throughout the entire development lifecycle.
The seven-layer OSI model is the standard for building most networks today. This article gives you a detailed, but non-technical explanation of each of the layers of the architecture.
Want to make your writing unique and add a little punch to it? Here's a simple list of synonyms for some frequently overused words that can help.
Txt2RE is an online, interactive tool that allows you to build regular expressions similar to the popular "query-by-example" functions in my database tools. Even if you have no experience with regexes, you can develop them by using sample data and applying a set of rules.
Most people, when they are learning development, are encouraged to substantially normalize their data models. However, in some cases, a certain, effective level of denormalization is quite useful. This article explores some patterns for appropriate denormalization, especially as it relates to efficient retrieval of stored data.
This excellent site provides a visual and graphical/relational reference to the standard Java class libraries provided by the JDK. All Java programmers will find it useful and a boon to productivity when looking for standard functions.
Paul Graham offers some great tips on how to disagree in the online world without being disagreeable. He focuses on a hierarchy of sophistication in disagreement from name calling to refuting the central point.
As we've discussed quite a bit recently in this newsletter, concurrency and parallel programming are key changes (really paradigm shifts!) confronting developers. This excellent introductory series shows how to use the new Concurrent class library in Java to add parallel processing capability to your applications.
While there are many source control applications available, Subversion is probably the most widely used and well known. This detailed tutorial will help you get it installed and configured on your system. And Subversion is great for document version control as well as source code. If you need further information after learning the basics, see the canonical Version Control with Subversion free online book.
An entrepreneur looks back on the past five years and gives his assessment of how his thinking has changed. Very insightful tips for anyone in business, especially entrepreneurs and small-business owners.
Probably not surprisingly, more than 3/4 of workers think they work harder than their boss. However, some economic theory indicates that they may be right in most cases.
For the first time its 11-year history, the Information Week salary survey showed a decline in median salaries. The economy and outsourcing are partly to blame, but interestingly increased hiring is also apparently pushing salaries down.
In any working environment (and in life, in general!) disagreements or differences in point of view are inevitable. Here are some tips to managing these bumps in the road in a positive and useful manner.
This is an annual report, produced with Global Knowledge, that includes IT employment trends, the job market outlook, areas of growth and decline, skills that are in demand, highest-paying certs, and salary ranges broken down by region, job title, industry, and experience.
The latest trend in the backlash against pervasive use of technology is companies mandating that people attend meetings "topless": without laptops or other technology gadgets. The premise is that people are too distracted by their gizmos to pay attention and participate in the meeting.
Email is probably the single most important efficiency boon of the computer revolution. However, email can also be drain on productivity. This excellent article explores two of the downsides: broken concentration and deceiving you into inefficient problem solving.
Technology pros are starting to realize that returning to the "real world" now and then is important and refreshing.
This article profiles 10 companies that have a disruptive impact in their industry segments. One of the key takeaways is that it's not always about technology, but about a fundamental shift in thinking.
Even though front-line workers are typically involved in the day-to-day work of keeping the business running, they still need to keep a strategic view in mind when making decisions.
This author uses the practices of 10 of the most productive people from history, such as Churchill, Gandhi, and Beethoven. The common theme in all of the tips is to avoid working too much.
One of the fathers of the Internet makes a radical proposal for congestion control on the Internet. His perspective is that problems with the protocols, particularly TCP, are the main factor in congestion, not lack of bandwidth and alternatives are needed.
According to a new report, the
economic downturn in the
A startup (17-years-old no less!) founded by Len Bosack, one of the founders of Cisco, aims to allow businesses to develop their own fiber optic networks with WDM using existing dark fiber infrastructure. Could this take away business from existing long-haul carriers?
Predictions of a so-called 'exaflood' of Internet traffic appear to be more hype than reality, especially since Internet traffic growth in the US has been decreasing since the start of the new millennium. However, AT&T seems to contradict this finding.
WebShot allows you to take screen shots of web pages (as displayed in your web browser) and save them as full-sized images or thumbnails. It supports saving in JPG, GIF, PNG, and BMP formats. Likewise, you can save the entire page, including the part outside of the displayed area, or just specify a part. And WebShot can log the images that it saves in CSV format with page title, meta keywords, and description for cataloging purposes.
Find As You Type is an Internet Explorer addon that immediately highlights first occurrence of the text string that you are searching for on the displayed page (similar to the Find function in Firefox). Likewise, it adds a nice integrated search toolbar into Internet Explorer, as well as the ability to highlight all occurrences of the text.
Tungle is an MS Outlook add-on that allows you to check meeting available among participants inside and outside of your Outlook domain. It is compatible with iCal, Google Calendar, Lotus Notes, and more. Furthermore, it integrates directly with MS Outlook, so you don't have to learn anything new about scheduling a meeting.
If you already use MS Outlook, why bother with a separate standalone RSS reader (or web-based readers)? NewsGator Inbox integrates directly into MS Outlook and delivers RSS feeds into folders that you define. You can even synchronize with other readers.
USB Disk Ejector is a handy, small utility that allows you to quickly and safely unmount your USB drive. It is very important to unmount your drive before removing it to avoid data loss. USB Disk Ejector has a GUI, but its real power is in the command-line options, which allow you to unmount by drive letter, drive name, or even part of drive name (wild card).
For lightweight database applications, such as storing configuration data, SQLite is a great alternative to the heavyweights. However, one of the drawbacks of SQLite is that it doesn't have many GUI-based management tools. SQLiteSpy fills this void. It is a full-fledged application that allows you to write and execute SQL queries, edit data in spreadsheet fashion, view the database schema structure, and much more. It even includes the SQLite engine embedded in the application for ad hoc use.
Outlook on the Desktop is a cool MS Outlook add-on that places your calendar on the Windows desktop. The calendar is fully functional, just like it is Outlook itself. In addition, you set the opacity, switch between Outlook views, such as Inbox, Tasks, etc., and it has a tray icon for quick access.
ReportZilla is a free MS Excel add-in that simplifies the process of querying and reporting from Clear Quest issue tracking tool. ReportZilla is much easier to use than the standard reporting functions in Clear Quest. It includes more complex query criteria, alternate row shading, grouping and sorting of results, and much more.
Applino is a tool that allows you to run multiple Java desktop applications using a single instance of the JVM, which saves substantial system memory. It is based on the concept of servlets used for running Java applications on servers. The site provides some example applets to be used with the core application.
If you like the My Computer Explorer view which shows your local and network drives, but also like to navigate via the tree view, you can create a short cut that gives you the best of both worlds. Here's how: Right-click on your desktop and choose New à Shortcut from the context menu. In the Create Shortcut window, enter %SystemRoot%\Explorer.exe /n, /e, /select, C:\ and press Next>. Name your new shortcut something like My Explorer and press OK. Now, just double-click to get your customized view (or, better yet, assign a shortcut key combination to it!).
In general, you can only execute a UPDATE query on a single row in your table. But here's a trick using a CASE statement to update multiple rows. Basically, you construct your query like this:
UPDATE table_name t
SET t.column1 =
CASE WHEN t.column2 = expra
THEN 'New Value 1'
WHEN t.column2 = exprb
THEN 'New Value 2'
Using the ELSE t.column1 is very important, because the query will update ALL rows that meet the WHERE clause criteria, so you want to set these to their original/current values.
Remember those Mad Magazine fold-ins on the back cover, where you folded the page over to reveal another take on the original picture? This retrospective allows you do this with many of the classics interactively online.
American Book Review gives their list of the 100 best opening lines from literary history. No doubt you'll be familiar with many of them, but there are a few that are probably a bit more obscure.
Is you monitor dirty? Let this site clean it up for you!
I guess it's just a sign of the times when the Internet itself becomes the object of art. Anyway, this is a pretty cool image.