November 2010 Newsletter
There is only one corner of the universe you can be certain of improving, and that's your own self. –Aldous Huxley
The role of a manager should be to ensure that those that work for him/her eventually leave and go onto bigger and better things. –Mark Plant
Knowledge is that area of ignorance that we arrange and classify. –Ambrose Bierce
A culture of discipline is not a principle of business; it is a principle of greatness. –Jim Collins
We are often so in love with our own assumptions that they become invisible to us. Our hardest task is to find the spots where our infatuation makes our thinking fuzzy. –Mitch Albom
The important thing is not to stop questioning. Curiosity has its own reason for existing. –Albert Einstein
Write your goals in concrete and your plans in sand. –Anonymous
The most dangerous strategy is to jump a chasm in two leaps. –Benjamin Disraeli
This author makes a compelling argument for simplicity of design being
one of the hallmarks of good IT work. In
particular, he emphasizes the responsibility that IT has to question the
business on their requests to ensure that they are really necessary.
http://blog.codecentric.de/en/2010/04/perfection-in-the-it-or-less-is-more/
Those who have used agile methodologies know how they can be successful,
but sometimes others may need more convincing.
This nice summary from a recent discussion on the Scrum Users mailing list
gives some ideas on how to convince management about agile.
http://www.infoq.com/news/2010/10/selling-scrum
NoSQL databases, like MongoDB, Redis, and
Hadoop, are
all the rage on the Internet, even though nearly
half to technology professionals have never heard of it. But Michael Stonebraker
says that enterprises aren't ready for NoSQL
systems, in general, because of lack of transaction reliability (ACID
support) and lack of
standards.
http://cacm.acm.org/blogs/blog-cacm/99512-why-enterprises-are-uninterested-in-nosql/fulltext
As with any methodology or technique, as it matures, it tends to gain
some negative characteristics. This
essay provides some good perspective on some of these "dark sides" of
agile.
http://anagilestory.com/2010/08/10/the-bad-attitudes-of-agile/
This article is a good reminder that our job as developers and other
technologists is to build
applications and systems to make our customers more productive and that we
need to remember that they aren't always as technically sophisticated and many
don't necessarily want to be, because they have other interests and priorities.
http://thenextweb.com/entrepreneur/2010/10/25/compared-to-you-most-people-seem-dumb/
Many organizations treat agile methodologies (or really any sort of
process for that matter) as the panacea for all of their problems. Here are some traps that development shops
are prone to fall into when introducing agile.
http://www.targetprocess.com/blog/2010/10/10-most-common-mistakes-in-agile-adoption-part-i.html
http://www.targetprocess.com/blog/2010/10/10-most-common-mistakes-in-agile-adoption-part-ii.html
Everyone knows that it's more effective, not to mention cheaper, to
prevent defects, rather than fixing them.
Here are some simple tips on
how to keep those little critters out in the first place.
http://blog.interviewstreet.com/?p=507
When you are working on a project, how do estimate how much of a task
you've completed (or, conversely, how much remains)? Here are some guidelines for providing better
estimates. (Honestly, I struggled in
deciding whether to place this article here or in the "Just For Fun" section.)
http://james-iry.blogspot.com/2010/10/how-to-estimate-software.html
This developer makes the astute observation that, even with all of the
emphasis recently on agile methodologies and process, motivation by
team members is really the most important factor in project success. He says that talent and process should mainly
be seen as tools to achieve competence on the part of the team members.
http://www.noop.nl/2010/10/motivation-over-talent-and-process.html
This author counters the recent myth that if we could just come up with
the right programming language, development would be easy, and the frequent
corollary about "user programming". He points out (as Fred Brooks did in No
Silver Bullet) that writing the code is not what makes programming
difficult, but rather the analysis and thought that goes into the process.
http://mdmstudios.wordpress.com/2010/08/28/programming-will-never-be-easy/
Agile methodologies started out in small, non-traditional organizations,
but as they have gained acceptance, more and more larger (and conventional) IT
departments are trying their hands at using them. This article looks at some of the
large-organization factors that tend to make agile less successful.
http://davybrion.com/blog/2010/08/why-agile-in-the-enterprise-generally-doesnt-work/
The conventional wisdom is that successful GUI test automation is extremely difficult (if not impossible). However, this article discusses some new techniques and philosophies that are turning that around.
http://gojko.net/2010/10/05/rethinking-user-interface-test-automation/
One of the most time-consuming tasks of test development is determine the combinations of test input to use for the various tests. This article gives some tips about how to select the most salient combinations and how to use common desktop tools like spreadsheets to make the task easier.
http://www.stickyminds.com/BetterSoftware/magazine.asp?fn=cifea&id=127
Many web-based applications have a large volume of form fields. Good testing practice requires us to develop effective tests using equivalence classes and the like. This article explains a heuristic for creating effective test data.
http://blog.mgm-tp.com/2010/10/test-data-generation-part1/
Now here's a kid with some skills that I'd like to have on my test team. He fixed this long-standing bug in the Firefox web browser.
http://www.mercurynews.com/san-jose-neighborhoods/ci_16401891
Just like adjusting to agile methodologies requires developers to adopt a new mindset, testers need to adapt to the differences in agile, as well. Here are five simple tips to be successful on an agile team or project.
http://intridea.com/2010/10/8/QA-Tips-Agile-Web-Development
Online Python (and other language,
such as the new one for Google
Go language) interpreters
(technically, REPLs)
are nothing new. But this one adds a
twist by visually showing the execution of your script. It's a great way to understand the structure
of your program.
http://people.csail.mit.edu/pgbovine/python/
If you do any work with Java, no doubt you make liberal use of
generics. However, getting started with
generics can be difficult. This comprehensive FAQs covers generics from start to
finish.
http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html
Test-driven development based on unit
tests is really helpful to improving your code quality. This tutorial gives you some great ideas to
improve Java code with JUnit, especially if you use JUnit in Eclipse.
Some of the topics include data-driving testing and using JUnit categories to group tests.
http://www.wakaleo.com/resources/presentations/287-junit-kung-fu-getting-more-out-of-your-unit-tests
Many developers switch between working in Visual Studio and Eclipse. This handy chart of common keyboard shortcuts
shows the shortcuts for both side by side.
http://codebalance.blogspot.com/2010/10/most-useful-shortcuts-for-visual-studio.html
While, generally, I’m a pretty organized and productive person, one of my “dirty little secrets” is the tendency to procrastinate, especially when I feel overwhelmed (seems counterintuitive, huh?!). This motivating article gives four suggestions to stop procrastination and keep it away permanently.
http://www.dumblittleman.com/2010/04/doing-battle-with-procrastination-heres.html
Even if you aren't looking for a new job right now, it's still a good idea to keep an eye on salary trends to make sure that you are being compensated fairly in your current position. The key item in this survey is that technology salaries are headed up, but basically are just compensating for declines from 2008 and 2009.
http://itmanagement.earthweb.com/features/article.php/3909826/The-2011-IT-Salary-Guide.htm
At one time or another, most of us will be called upon to give a presentation of some type. Many people don't feel comfortable giving presentations. Here are some tips on things to steer clear of when planning your presentation.
http://speakingaboutpresenting.com/content/seven-types-presentation-avoid/
As much as developers hate to be interrupted when they are "in the zone", asynchronous interruption is just part of any type of work. This programmer presents some nice tips on how to avoid the negative side effects of interruption and even use them to your advantage.
http://www.stevestreeting.com/2010/09/04/work-2-0/
More and more technology jobs are moving to rural places due to lower cost of living (meaning lower salaries) and lower prices for utilities. Would you be willing to move to a more out-of-the-way place to stay in IT?
http://www.infoworld.com/d/adventures-in-it/your-future-in-it-job-in-the-boonies-169
Esther Schindler takes a look at the 19 programmers profiled in Programmers at Work in 1986 to see where they've gone over the past 25 years. Many of them are folks that quite a few of you may have never even heard of.
Believe it or not, this year marks the 25th anniversary of the C++ programming language. Read this interview with the Bjarne Stroustrup, now professor at Texas A&M University, about how he designed the language.
http://www.wired.com/thisdayintech/2010/10/1014cplusplus-released
Right or wrong, technology workers are stereotyped as not liking to work together. Here are some tips for how to use technology to get techies to open up and collaborate.
http://www.computerworld.com/s/article/9184939/Collaboration_IT_style_How_to_do_it_right
As knowledge workers, our greatest asset is our mind. Here are some suggestions for keeping your brain in good shape.
http://www.newscientist.com/article/mg20827801.300-mental-muscle-six-ways-to-boost-your-brain.html
According to Money Magazine's annual survey, software architect is the top job in the USA. The focus on the creative aspects of the job along with the collaboration and interaction with business that architects have.
http://money.cnn.com/magazines/moneymag/bestjobs/2010/snapshots/1.html
One of the icons of technology innovation (consider the invention of the graphical user interface) hits middle age this year. Here's a look back (and ahead) at PARC.
http://www.computerworld.com/s/article/9186198/
Former FCC broadband "czar" Blair Levin has put forward an alternative proposal aimed at getting broadband Internet access to 97% of American household for less than $10 billion over 10 years.
http://www.broadcastingcable.com/article/457791-Levin_Outlines_Broadband_Deployment_Formula.php
Sandvine reports such interesting findings as Netflix streaming accounts for 20% of US bandwidth usage between 8 – 10 PM and Asia-Pacific monthly usage is 3 times that of North America.
http://www.sandvine.com/news/pr_detail.asp?ID=288
CHP, which stands for Create Hidden Process, which is essentially what it does. It launches another application (either GUI- or console-based) with a hidden window. Thus, you can use it to run batch files or other utilities in the background without displaying a window.
http://www.commandline.co.uk/chp/
OffiSync is an add-on for Microsoft Office (2003, 2007 and 2010) that allows you to easily work with documents from Google Docs and Google Apps. Some of the features include opening/saving Google Docs directly in MS Word, collaborating in real-time with others from within MS Office applications, and easily sharing documents inside and outside your organization.
PDF Rider is essentially a GUI for the great PDFTK command prompt tool. PDF Rider allows you to merge/combine PDF documents, delete or extract pages from a PDF document, rotate pages, encrypt or decrypt a PDF file, and much more.
Harmon.ie is a toolbar add-in in MS Outlook 2007/2010 that integrates Outlook with Sharepoint and/or Google Docs. You can drag-and-drop e-mails, edit documents within Outlook and much more.
Atchoo is small utility that adds Outlook-style pop-up reminders in Windows to your Google Calendar account. You can even use standard to your Snooze time.
http://vladiliescu.ro/atchoo/index.ashx
I'll bet you probably didn't know this about figs! And after reading this, you'll probably never look at a fig (or that package of Fig Newtons) the same way again!
http://scienceblogs.com/oscillator/2010/09/edible_symbiosis.php
Want to put a little twist on your dummy text for your application mock up? You could hire Snoop Dogg, but this is probably a cheaper and just as humorous option. Or you could use literary classics instead.
http://www.lorizzle.nl/?feed=1
Optical illusions fascinate me. I'm not really sure why. This article explains the neuroscience behind how and why they work using some excellent visualizations.
http://www.bbc.co.uk/news/magazine-11553099
After struggling to find a job for two years, this guy put out his virtual shingle by that requesting interested employers send him job offers! Pretty creative and humorous approach.
http://www.reversejobapplication.com/