March 2009 Newsletter
Never let the fear of failure be an excuse for not trying. Society tells us that to fail is the most terrible thing in the world, but I know it isn't. Failure is part of what makes us human. –Amber Deckers
Great things are not done by impulse, but by a series of small things brought together. –Vincent van Gogh
Gratitude is not only the greatest
of virtues, but the parent of all others.
–
Experience is a dear teacher, but fools will learn at no other. –Benjamin Franklin
Let us seek with the desire to
find, and find with the desire to seek still more. –
Faith which does not doubt is dead faith. –Miguel de Unamuno
Valor lies just halfway between rashness and cowardice. –Miguel de Cervantes
One important key to success is self-confidence. An important key to self-confidence is preparation. –Arthur Ashe
With the economic difficulties, most organizations will probably be
cutting IT budgets. This likely limits
options for brand-new systems, but may be a good opportunity for updating
existing applications. Here's how to
make the business case for such modernization efforts.
Who were the original "agile" guys? This list has the 11 rules supposed used by
William Hewlett and David Packard when they started H-P back in 1939 in a garage in
Palo Alto. The precepts are succinct
and profound at the same time.
http://binstock.blogspot.com/2009/01/agile-rules-in-hps-original-garage.html
The frequency of IT project failures got this authoring to thinking that
the problem may be too much emphasis on the technologies and not enough focus
on technique and architecture.
http://weblog.infoworld.com/realworldsoa/archives/2009/02/returning_to_th.html
A good project charter should define success criteria. Nevertheless, while no one wants to
anticipate failure, it is important to have an idea of what circumstances would
lead you to cancel a project. This
article outlines the process for determining if it's time to end a project.
http://blogs.techrepublic.com.com/decisioncentral/?p=173
Communication is the fundamental key to project success. And frequently this communication includes
(or should include!) discussions with customers and stakeholders who are often
non-technical. Here are some great
suggestions for how
to successfully talk with them.
This article points out the interesting fact that agile is actually a
culture rather than a process.
Furthermore, it says that this fact is what causes there to be more
resistance to adoption of agile, because changing
culture is harder than changing process.
http://www.agileproductdesign.com/blog/agile_is_culture_not_process.html
In agile development circles, there is often much debate on the
role/value of use cases for capturing requirements. In this article, a confirmed agilist explains how use cases can be used in
larger/longer-term efforts to help elucidate the requirements in user stories
and to document interactions.
http://www.infoq.com/news/2009/02/Use-Cases-Valuable-But-Optional
Development managers and project managers often have a tendency to want
to "convert" deadlines into estimates for how long a project will
take. This article helps sort out the
difference between the two and how they need to be used together rather than
merging the two into one.
http://www.hackification.com/2009/02/02/deadlines-vs-estimates/
User stories are one of the key basic requirements tools for agile
development. This excellent article
explains the process for taking user stories and turning them into use cases that
apply to the system being developed.
http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/
"Uncle Bob" Martin takes Jeff Atwood and Joel Spolsky to task for their flippant statement that "quality doesn't matter that much." I think that Jeff and Joel's statement probably came out wrong, but perhaps this is just the spark the development world needs to take quality more seriously. [Jeff Atwood responds.]
http://blog.objectmentor.com/articles/2009/01/31/quality-doesnt-matter-that-much-jeff-and-joel
If you thought that TDD, unit testing, and all of those other tools had mostly eliminated software defects, here's evidence that it's the personal attention to detail and quality that really matters.
http://blogs.zdnet.com/projectfailures/?p=1582
It's frequently said that testers think different (malevolently?). This article explains why those that want to be good security testers need to think like the bad guys and why, while this is a skill that can be learned, it is not for everyone.
http://www.sdtimes.com/link/33274
This article is an interesting look at how bugs in some popular games actually become beloved features. It's definitely an out of the ordinary spin on what we usually consider as detrimental. [And, because of the title of this article, I can't get that Barbara Mandrell song out of my head!]
http://www.crispygamer.com/features/2009-02-16/if-these-bugs-are-wrong-i-dont-want-to-be-right.aspx
When starting out in programming, one of the most powerful tools that you
can learn, regardless of the programming language, is regular expressions (or regex). But they
are usually mystifying and esoteric (some sort of rite of initiation). This excellent video tutorial peels away some
of the obscurity. After mastering regular expressions, you can join the
interminable debate about whether
or not to use them for e-mail address validation. :)
http://blog.themeforest.net/tutorials/a-crash-course-in-regular-expressions/
Last month,
we featured part 1 of this series about memory
management by the operating system.
This article expands on that to explain how the OS actually stores and
pages memory used by an application.
http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory
One of the mysteries of development is how to take a working application
and make it run faster. This detailed,
yet very readable tutorial gives some practical advice for how to optimize your
code.
http://www.shlomifish.org/philosophy/computers/optimizing-code-for-speed/
Software development expert Robert "Uncle
Bob" Martin
explains in simple language how to do object-oriented
design correctly.
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
Due to their simplicity and low barriers to entry, REST-based
web services are starting to become more popular. This tutorial helps you develop a structure
and architecture for your web services and explains the basic principles.
http://www.ibm.com/developerworks/webservices/library/ws-restful/
With the use of multicore processors becoming commonplace, parallel
programming is going to become mainstream sooner
rather than later. This comprehensive
tutorial explains what it's all about.
http://www.ddj.com/hpc-high-performance-computing/212002418
With unemployment at a 16-year high, more of us are looking for jobs. The key to the job search is setting yourself apart from the crowd and your resume is the first line of attack. Check out these simple and great tips to a better resume.
http://www.dumblittleman.com/2009/01/how-to-write-resume-that-will-land.html
Technical career pundit Paul Glen says that, even though most people say that they want job satisfaction, what they are really looking for is motivation. He makes an interesting point.
http://blogs.techrepublic.com.com/tech-manager/?p=651
Coder's CV is an online site for posting and hosting developer and programmer resumes. It is a relatively simple site, but it offers some unique features, such showing a time-line view of your experience, a tabular summary, and your own weighted list of your skills. In addition, users can obtain a PDF version of your resume from the site.
http://www.coderscv.com/home.htm
In these newsletters, I often feature articles with tips on writing a good resume. Well, here's a site that goes one better: It has over 200 free resume templates for you to download. You should definitely find some great inspiration for making a great, personal resume.
Even with the economic difficulties reducing job prospects for many in IT, perhaps surprisingly, two IT job titles ("software engineer" and "computer systems analyst") made the top 10 in CareerCast.com's recent survey of best jobs. In this interview, the publisher of the report explains why.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=332911
While CIOs are mentioned in the title of this article, these 10 brief tips really apply to workers at all levels of the IT organization. And they seem to be applicable even when the economic factors are good.
http://blogs.techrepublic.com.com/10things/?p=512
Of course, no one wants to even think about losing their job, let alone what to do about it, but it's simply a good idea to have a plan for what to do if it happens, just like having a little money in the bank for an unexpected expense. This site gives you some great leads on online resources to help you get back on your feet in case you get a pink slip, especially concerning using networking.
http://mashable.com/2009/02/19/laid-off-sites/
A recent survey by Dice shows that IT professionals saw salary increases of 4.6% in 2008, but 1/5 of them reported concerns about layoffs in 2009.
These authors suggest that goal-setting has become such an in-grained part of management culture that the dangerous side effects frequently outweigh the benefits and that most people aren't even aware of these unintended consequences.
http://hbswk.hbs.edu/item/6114.html
Probably everyone has heard the
phrase "Do more with less" more times than they care to
remember. This story traces the origins
of the phrase back to Benjamin Franklin.
When
http://www.npr.org/templates/story/story.php?storyId=101177718
I guess you might call this the
new red-blue debate. Researchers at the
http://blog.wired.com/wiredscience/2009/02/coloreffects.html
The massive (I think "ginormous" is a better word!) economic stimulus includes some money to improve broadband Internet access. This article is a good and relatively balanced look at what it really means.
Contrary to the conventional wisdom, Verizon and AT&T aren't seeing increases in broadband subscriptions taking away landlines, even though the economy is bad. There strategy seems to be to repurpose the existing copper lines for other services.
Business metrics company In-Stat says that 1/3 of businesses that were considering moving to VOIP have begun reassessing this option in view of the economic downturn.
http://www.fiercevoip.com/story/enterprise-voip-slowing-due-economy-says-stat/2009-02-18
Net-C is a simple, free cross-platform LAN instant messenger. It is peer-to-peer (no server required) and includes individual and group chats, emoticons ("smilies"), customized status messages, and does not require any installation. It should run on any system that has Java installed.
http://dgtalize.com/products/netc
Taekwindow is an add-on for Windows that makes it behave more like X11 window managers (X/Windows). Specifically, it allows you to move a window my clicking anywhere within the window (not just on the title bar), it allows you to resize the window by clicking anywhere in the window and holding down the <Alt> key, and you can use the mouse scroll wheel on the window under the cursor, even if it doesn't have focus. (Requires .NET framework.)
http://taekwindow.sourceforge.net/
Wabit is a cross-platform ad-hoc database querying and reporting tool. It supports any database that has JDBC driver support, including all of the popular platforms, such as Oracle, MySQL, and MS SQL Server. It has intuitive drag-and-drop for database tables and allows you to easily refine your queries to drill down to the result you want. In addition, it provides built-in formatting of query results to save time in report generation.
http://www.sqlpower.ca/page/wabit
MaxTo helps you manage the windows on your desktop more efficiently. Simply configure a set of (non-overlapping) regions on your screen and then MaxTo will allow you to "maximize" your applications only within that region. This allows you to have multiple windows tiled on screen in your own manner.
This tool is so cool you'll wonder why someone didn't think of it before. You simply set up a profile of the lighting conditions during your work schedule and f.lux works in the background to automatically adjust the screen brightness on your computer to match. No more midnight headaches from a screen that is bright as the sun at 3 o'clock in the afternoon!
AOL accidental release of search queries in 2006 has been taken a couple of Dutch film makers and turned into a series of short online videos. It's quite interesting to see what some people come up with. Kind of reminds me of Twin Peaks.
http://osnews.com/story/20866/AOL_Search_Data_Slip-up_Inspires_I_Love_Alaska_
OK… So first, apologies to my vegetarian friends! But I just couldn't pass this up. The bacon explosion is the Internet hit recipe of 2009 (so far!). It's kind of like beef Wellington (ok, not really!) but made with bacon and sausage.
http://www.nytimes.com/2009/01/28/dining/28bacon.html
http://www.npr.org/templates/story/story.php?storyId=101148876
Science needs you! Yes, you! On this site, you can participate in classifying galaxies based on their shape from pictures taken by telescopes. Astronomers are using this data to determine which sections of the universe we should take a closer look it. And the cool part is that you don't have to be a rocket scientist to contribute!
Most of us grew up with the Muppets. Here's the back story about where 20 of them originated.
http://blogs.static.mentalfloss.com/blogs/archives/21354.html
If you didn't know better, you'd think this speech was given just this year! When it comes to "high finance", truer words have never been spoken. :)