January 2009 Newsletter
Quotable Quotes 1
Software Development Process 2
Software Testing & Quality 14
Tutorials/References 15
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
greatness. –E.
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.
http://www.methodsandtools.com/archive/archive.php?id=70
Reporting and business intelligence requirements are special animals and
require (no pun intended!) their own approaches to successful elicitation and
documentation.
http://www.itbusinessedge.com/blogs/tve/?p=272
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).
http://www.informationweek.com/news/management/interviews/showArticle.jhtml?articleID=212500772
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.
http://www.cutter.com/research/2008/edge081209.html
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.
http://sixrevisions.com/web-development/10-ways-to-cut-down-web-development-time/
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.
http://www.ibm.com/developerworks/rational/library/edge/08/oct08/rivera1/index.html
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.
http://www.codinghorror.com/blog/archives/000987.html
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.
http://blogs.zdnet.com/projectfailures/?p=1145
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.
http://blogs.zdnet.com/projectfailures/?p=1161
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.
http://paulgraham.com/artistsship.html
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.
http://www.codinghorror.com/blog/archives/001189.html
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.
http://www.techradar.com/news/internet/the-ultimate-guide-to-testing-your-website-484605
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.
http://www.kaner.com/pdfs/QAIExploring.pdf
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.
http://www.ddj.com/dept/debug/196603549
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.
http://easyaspy.blogspot.com/2008/12/buildinginstalling-application-from.html
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.
http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/threadsintro.html
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.
http://www.bravenet.com/resourcecenter/tutorials/html/
This article helps understand two of the cornerstone principles of
object-oriented programming for C++:
inheritance and polymorphism.
http://www.informit.com/articles/article.asp?p=459946
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!
http://weblog.raganwald.com/2008/04/single-most-important-thing-you-must-do.html
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.
http://mashable.com/2008/12/16/find-jobs/
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.
http://www.bmighty.com/showArticle.jhtml?articleID=212500812
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.
http://www.getrichslowly.org/blog/2008/12/04/10-essential-steps-to-take-before-youre-laid-off/
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.
http://www.boingboing.net/2008/12/12/comfort-with-meaning.html
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.
http://itmanagement.earthweb.com/features/article.php/3789981
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.
http://www.careers.eweek.com/article/When+Bad+Resumes+Happen+to+Good+IT+People/222366_1.aspx
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=309133
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.
http://blogs.techrepublic.com.com/career/?p=454
With copper prices at
record highs, copper theft from telecom and electrical sub-stations, vacant
homes, and other places is putting
http://www.networkworld.com/community/node/35946
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.
http://www.informationweek.com/news/mobility/business/showArticle.jhtml?articleID=212501182
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.
http://online.wsj.com/article/SB122929270127905065.html
This article introduces a new protocol for IP transport that is intended to reduce network congestion through a mechanism called refeedback.
http://www.spectrum.ieee.org/dec08/7027
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.
https://addons.mozilla.org/en-US/firefox/addon/4925
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.
http://www.reesedixon.com/2008/12/quilled-snowflake-ornament.html
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.
http://www.nytimes.com/interactive/2008/12/14/magazine/2008_IDEAS.html
You never know when you might find
yourself in
http://www.firstfoot.com/php/glossary/phpglossar_0.8/index.php
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.
http://mythoughtsideasandramblings.com/2008/05/19/useless-facts/
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.
http://agrippa.english.ucsb.edu/