January 2009 Newsletter
Quotable Quotes 1
Software Development Process 2
Software Testing & Quality 14
Career Development/Miscellaneous 19
Telecommunications/Networking Industry 31
Useful Utilities 31
Productivity Tips 41
Just For Fun 43
A chief event of life is the day in which we have encountered a mind that startled us. –Ralph Waldo Emerson
It is good to have an end to journey toward; but it is the journey that matters, in the end. –Ursula K. Le Guin
Do not be too timid and squeamish about your actions. All life is an experiment. –Ralph Waldo Emerson
In all affairs it's a healthy thing now and then to hang a question mark on the things you have long taken for granted. –Bertrand Russell
Most people plot and plan
themselves into mediocrity, while now and again somebody forgets himself into
To be nobody but myself—in a world which is doing its best, night and day, to make you everybody else—means to fight the hardest battle which any human being can fight, and never stop fighting. –E.E. Cummings
The game of life is the game of
boomerangs. Our thoughts, deeds and words return to us sooner or later, with
astounding accuracy. –
The more you say, the less people remember. The fewer the words, the greater the profit. –Felelon
Successful implementation of agile development requires a number of fundamental shifts in paradigm and mindset. This article gives excellent explanation of how to cultivate the agile culture.
Reporting and business intelligence requirements are special animals and require (no pun intended!) their own approaches to successful elicitation and documentation.
Even in the down economy, top business executives want IT to boost spending on initiatives to improve competiveness from 20% to 40% of IT budget, according to a new McKinsey report (free registration required).
This is one of those debates that never seem to die. This author's position is that it's mostly a matter of organizational expectation in terms of answering the question. Furthermore, he says that the level of architecture will also drive this, as well.
While this article is somewhat specific to web design, it really is a set of good ideas and practices for most any development or programming effort. Plus, it provides evidence that web design is a development discipline.
One of the common misconceptions about agile development practice is that it ignores requirements. This is far from the truth and this article explains a practical requirements gathering and management strategy for agile development, including detailed examples of the various deliverables.
Software design and development is replete with a cornucopia of metaphors. Jeff Atwood suggests that perhaps farming or gardening is an apt image, because of the on-going aspects of tending the process.
This article points eleven interesting "laws" (immutable principles) about IT that are key to success of IT projects and operations, or you'll end up among the estimated 68% of IT projects that fail.
Seemingly borrowing from Nicholas Carr's proposition that "IT doesn't matter", a new report says that IT itself does not provide any contribution to the business except that of the projects delivered. Whether you agree with this results or not, this article does list seven questions that should be addressed when deciding to do a project or not.
Paul Graham describes that as organizations mature, the policies and procedures that they develop as protective mechanisms against costly (and sometimes insignificant!) mistakes not only make developers less productive, but that these constraints and checks actually reduce creativity because the "costs" to explore new opportunities become too high.
Developers and testers often have different views about whether something is a problem (bug) or a request for new functionality. Here are some ideas for establishing reasonable criteria for differentiating.
Web site testing is just as important as stand-alone application testing. This site provides a guide to testing principles for web sites, with a focus on usability aspects.
This is a great presentation on exploratory testing that compares and contrasts it with scripted testing and explains the benefits and pitfalls of the exploratory approach. It also emphasizes that exploratory testing is not unintentional or ad hoc testing.
Agile development practices have become mainstream in many organizations. Here's how to adopt agile in your testing approach, even if the rest of the organization is still using more traditional methodologies.
In starting out with Linux, one of the most difficult things is to figure out the intricacies of how to compile an application from source, when a distribution package is not available. I've created this step-by-step tutorial for how to build an application along with how to resolve the common errors in this process.
Programming with concurrent threads is one of the new frontiers in development, especially as multi-processor and multi-core systems are becoming more prevalent. This excellent tutorial gives programmers a detailed introduction to thread programming in C, C++, and Java.
There are many great tutorials on HTML and CSS independently on the Internet. This excellent tutorial gives a detailed explanation of how to use them together to achieve great web site designs.
This article helps understand two of the cornerstone principles of object-oriented programming for C++: inheritance and polymorphism.
What do you think is the most important thing to do to advance your technology career? I'll give you a hint: It has nothing to do with technology itself. Read on to learn what it is!
Mashable is well known for their "toolbox" features and this is an excellent one for helping you find your next job. It includes resources as well as job posting sites and covers a variety of career domains.
Lots of businesses have good intentions when they draw parallels between their organization and a family, but this is a mistake. A business has the sole purpose of making money for the owners and it should not be mistaken for a family.
Nobody like to think about getting a pink slip, but it's important to prepare before it happens. This author even indicates that everyone should expect to be out of work once every 5 years for 3-6 months.
Commonly, people are divided into two groups when it comes to programming: those who "get it" and those who don't. However, some new academic research shows that there is actually a third group: people who are able to abstract the concept of "meaninglessness" (and, no, not the work itself! <g>) and not worry about it. Very fascinating reading.
Creator of the C++ programming language talks about the challenges of software development education (or perhaps mis-education!) and the growing divide between the "practical" coding skills and the "pure" computer science disciplines. He emphasizes that coding is only part of the equation.
Maybe one of your new year's resolutions is to find a new job? If so, here are some simple tips to fix up your resume so that it gets results. Most of these are common sense, but they are good reminders about things that are easy to overlook.
This guy tried an interesting "experiment": He said "Hello" to everyone he ran into for a month to observe its affect on him and others. The results are quite interesting and I think that this something that everyone should try! Start spreading happiness!
Most people have something that they'd like their boss to do differently. This list emphasizes the often-touted, but rarely implemented fact that people are intended to be led, not managed.
With copper prices at
record highs, copper theft from telecom and electrical sub-stations, vacant
homes, and other places is putting
According to US CDC report, in the first half of 2008, US households without landlines increased from 13.6% a year earlier to 17.5%. Some providers have reported that the weak economy is pushing the trend faster as consumers try to save money by disconnecting their home phones.
The commitments to and alliances around net neutrality seem to be rather flexible. One of the most interesting items in this story is the chart of Internet bandwidth growth over the past decade. Google says that this is all just a big misunderstanding.
This article introduces a new protocol for IP transport that is intended to reduce network congestion through a mechanism called refeedback.
AutoPager is a handy add-on for the cross-platform Firefox web browser that automatically pages multi-page web sites, such as Google search results. It works with many popular web sites and generally does a good job of preserving the original content formatting.
Appetizer is a free Windows application launcher/dock. It includes some unique features such as supporting multiple icon sizes, ability to configure launchers from existing shortcut locations, such as Start Menu, PortableApps, and others, hotkey for hiding/showing the launcher, horizontal and vertical layouts, variety of skins, ability to minimize to the system tray, and much more.
Lunascape is a new web browser (really a web browser shell) that can render web pages using any one of the three most popular browser engines: Trident (the Internet Explorer engine), Gecko (the Firefox engine), and WebKit (the Apple Safari engine). Lunascape even allows partial on-the-fly switching between the browsing engines, so you can compare how your site looks in each one.
Notes/Tasks is a combined desktop and online note and task manager based on the GTD model. It has desktop clients for Windows, Mac OS X, and Linux (including Debian package that is compatible with Ubuntu). Notes support rich-text formatting and can be tagged with a category and/or project. Notes can even be exported to PDF or text. After registering, you can sync your notes to the NotesTasks.com website. You can even create RSS feeds of notes and tasks based on project or category on the website. And since the client is cross-platform, if you create notes or tasks on Windows at work and use Linux at home, you don't have to worry about converting them.
If the new Search Assistant in Windows XP (from Service Pack 2 and later) is annoying to you, here's how to turn it off. Open the Registry Editor (Start | Run | regedit) and navigate to the HKEY_CURRENT_USER\Software\Microsoft\Search Assistant key. Change the Actor value to an empty (blank) value and change UsageCount value to 0. Then add two new DWORD values: SocialUI with value 0 and UseAdvancedSearchAlways with value 1. Close the Registry Editor. The next time you open the Search window, you will be greeted with the traditional search pane.
Just in time for the holidays, here's a fun and beautiful paper craft ornament that you can make using a process (that I'd never heard of!) called quilling. I made one of these myself and, while it wasn't as beautiful as the one on the website, it actually turned out pretty good.
Remember those things that you thought were true as a kid? This very interesting site lets anyone post those beliefs online. Now I don't think imaginary friends are all that strange any more.
The NY Times Magazine presents their eighth annual "The Year in Ideas" interactive feature that covers some of the big ideas from the past 12 months.
You never know when you might find
I don't think I'd call these factoids (love that word!) "useless", but maybe more like curious. Anyway, you've probably seen some of these before, but it's always fun to think about some of the mysteries in life.
Fans (and even those who aren't or don't know him) of cyberpunk novelist William Gibson will want to check out this site which revives the intended one-time only Agrippa poem.