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.
http://blogs.techrepublic.com.com/tech-manager/?p=434
A new survey shows that developers are planning to start using dynamic
languages, especially
http://www.eweek.com/c/a/Application-Development/ZDE-Survey-Developers-Seek-Web-Dynamic-Languages/
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>)
http://weblog.infoworld.com/stratdev/archives/2008/04/is_professional.html
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.
http://dev.mysql.com/tech-resources/articles/why-data-modeling.html
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.
http://www.infoworld.com/article/08/04/14/16FE-guerrilla-it_1.html
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.
http://kw-agiledevelopment.blogspot.com/2008/04/writing-good-user-stories.html
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.
http://www.sitepoint.com/article/principles-project-management
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.
http://www.reuters.com/article/technologyNews/idUSN0622606620080307
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".
http://online.wsj.com/article/SB120578961450043169.html
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.
http://weblog.infoworld.com/realworldsoa/archives/2008/03/whatas_neglecte.html
An agile development practitioner offers his suggestions for alternatives to traditional functional testing, such as TDD.
http://jamesshore.com/Blog/Does-It-Work-Are-We-Done.html
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.
http://www.testobsessed.com/2007/06/20/from-the-mailbox-whats-the-definition-of-testing/
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.
http://www.cmcrossroads.com/content/view/9851/410/
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.
http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Simoneau_OSIModel.pdf
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.
http://www.phschool.com/iText/wag/bronze/backmatter/OW_index.html
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.
http://database-programmer.blogspot.com/2008/04/denormalization-patterns.html
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.
http://www.falkhausen.de/en/index.html
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.
http://www.paulgraham.com/disagree.html
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.
http://www.techgrasp.com/blogs/sharadjava/java-concurrency-series-examples-barrier
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.
http://www.codinghorror.com/blog/archives/001093.html
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.
http://www.businesspundit.com/the-top-10-changes-in-my-business-thinking/
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.
http://www.informationweek.com/news/management/careers/showArticle.jhtml?articleID=207401820
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.
http://blogs.techrepublic.com.com/10things/?p=337
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.
http://downloads.techrepublic.com.com/download.aspx?docid=346125
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.
http://abcnews.go.com/Technology/story?id=4560823
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.
http://www.w-uh.com/articles/030308-tyranny_of_email.html
Technology pros are starting to realize that returning to the "real world" now and then is important and refreshing.
http://www.reuters.com/article/internetNews/idUSN1039047820080418
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.
http://www.forbes.com/2007/08/31/christensen-disruption-kodak-pf-guru_in_cc_0904christensen_inl.html
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.
http://blogs.techrepublic.com.com/techofalltrades/?p=140
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.
http://thoughtsintime.co.za/2008/03/28/10-ways-history%e2%80%99s-finest-kept-their-focus-at-work/
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.
http://www.internetevolution.com/author.asp?section_id=499&doc_id=150113
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?
http://www.informationweek.com/news/infrastructure/switches/showArticle.jhtml?articleID=207400186
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.
http://arstechnica.com/articles/culture/exaflood-not-happening.ars
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.
http://www.websitescreenshots.com/
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.
http://www.ookii.org/software/findasyoutype/
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.
http://www.tungle.com/Home/svc/Home
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.
http://www.newsgator.com/Individuals/NewsGatorInbox/Default.aspx
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).
http://quick.mixnmojo.com/usb-disk-ejector
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.
http://www.yunqa.de/delphi/doku.php/products/sqlitespy/index
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.
http://www.outlookonthedesktop.com/
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'
ELSE t.column1
END
WHERE …
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.
http://www.nytimes.com/interactive/2008/03/28/arts/20080330_FOLD_IN_FEATURE.html
Check out this cool remake of the Super Mario video game written entirely in Javascript, including the graphics! It doesn't have all of the features, but the author is working on it and it's incredibly playable.
http://blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html
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.
http://americanbookreview.org/100BestLines.asp
Is you monitor dirty? Let this site clean it up for you!
http://cache.valleywag.com/assets/resources/screenclean.swf
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.
http://www.ddj.com/hpc-high-performance-computing/206801281