April 2007 Newsletter
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
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.
http://www.infoworld.com/article/07/02/05/06FEprodwin_1.html
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.
http://www.informationweek.com/news/showArticle.jhtml?articleID=198000251
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.
http://lostgarden.com/2007/02/rockets-cars-and-gardens-visualizing.html
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.
http://computerworld.com/action/article.do?command=viewArticleBasic&articleId=281734
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.
http://www.eweek.com/article2/0,1895,2104997,00.asp
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.
http://www.nytimes.com/2007/03/13/technology/13tech.html?_r=1&oref=slogin
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.
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.
http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/
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.
http://programmingkungfuqi.blogspot.com/2007/02/real-reason-why-building-software-is.html
DDJ's testing editor continues his "five questions" series with James Bach, often considered to be the father of the risk-based testing movement.
http://www.ddj.com/blog/debugblog/archives/2007/01/five_questions_5.html
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.
This post contains some good observations and feedback about the current of software quality (or lack thereof).
http://www.gripe2ed.com/scoop/story/2006/3/21/0217/58609
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.
http://www.infoworld.com/article/06/04/26/77662_18OPcurve_1.html
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.
http://grayproductions.net/ruby/first_steps.html
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!
http://www.holub.com/goodies/uml/
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.
http://dn.codegear.com/article/31863
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.)
http://msdn.microsoft.com/vstudio/express/beginner/
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.
http://wooledge.org/mywiki/BashFaq
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.
http://arstechnica.com/articles/paedia/ipv6.ars
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.
http://www.cs.berkeley.edu/~christos/classics/cs298.html
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.
http://www.stsc.hill.af.mil/crosstalk/2006/10/0610BohnReisner.html
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.
http://www.livescience.com/humanbiology/070221_friends_memory.html
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.
http://www.scottberkun.com/blog/2007/how-to-start-meetings-on-time-the-honest-version/
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.
http://www.informationweek.com/news/showArticle.jhtml?articleID=197700915
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.
http://finance.yahoo.com/expert/article/careerist/26522
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.
http://www.sdtimes.com/article/TQA-20070215-01.html
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.
http://www.halfsigma.com/2007/03/why_a_career_in.html
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.
http://education.yahoo.net/degrees/articles/featured_seven_bright_new_careers.html
By 2010, more software development
jobs will be created in Asia than in
http://www.infoworld.com/article/07/03/13/HNslowsoftdev_1.html
A technical look at scheduling in view of the situation that job effort and productivity increases as the deadline for a project approaches.
http://arxiv.org/abs/cs.DS/0606067
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.
http://eureka3d.com/blog/2007/the-top-10-attributes-of-a-great-programmer/
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.
http://webhome.idirect.com/~kehamilt/ipsyeq.html
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.
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.
http://www.chicagotribune.com/technology/chi-0702230143feb23,0,1395493.story
The new service is intended to allow businesses to interconnect LANs that are dispersed across multiple locations without additional hardware infrastructure costs.
http://www.informationweek.com/news/showArticle.jhtml?articleID=198000145
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.
http://www.washingtonpost.com/wp-dyn/content/article/2007/03/12/AR2007031201395.html
With the exuberant pace of mergers and acquisitions in the wholesale carrier market in 2006, providers are looking for some stability in 2007.
http://telephonyonline.com/mag/telecom_ready_peace_quiet/index.html
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.
http://www.daveswebsite.com/software/gsync/
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.
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.
http://www.corel.com/servlet/Satellite/us/en/Product/1171405162003
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.
http://minimalist.com/docs/ExplorerBreadcrumbs/
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.
http://weblogs.asp.net/kennykerr/archive/2007/01/28/window-clippings-1.5.aspx
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.
http://www.hexagora.com/en_dw_davperf.asp
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.
http://freemind.sourceforge.net/
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.
http://81.233.34.242/hexit.php
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.
http://www.sun.com/software/star/openoffice/index.xml
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.
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.
Here's a humorous look at how air travel would look based on the paradigms of various operating systems.
http://www.zyra.org.uk/os-air.htm
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.
http://www.zompist.com/numbers.htm
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!
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?
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.
http://www.barcodeart.com/art/clock/clock.html
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.
http://www.plan59.com/main.htm