April 2010 Newsletter
All good work is done in defiance of management. –Bob Woodward
Example is not the main thing in influencing others. It is the only thing. –Albert Schweitzer
You can’t wait for inspiration. You have to go after it with a club. –Jack London
We are stuck with technology when what we really want is just stuff that works. –Douglas Adams
You are more likely to be successful, overall, if you participate joyfully with projects and goals and do not think your life depends on achieving the mark because then you will be better able to connect to people all around you… When you are oriented to abundance, you care less about being in control, and you take more risks… In a measurement world, you set a goal and strive for it. In the universe of possibility, you set a context and let life unfold. –Rosamond Stone Zander and Benjamin Zander, The Art of Possibility, pp. 21
For even as it is better to enlighten than merely to shine, so is it better to give to others the fruits of one's contemplation than merely to contemplate. –Thomas Aquinas, Summa Theologiae
For my part I know nothing with any certainty, but the sight of the stars makes me dream. –Vincent van Gogh
Accountability breeds “response-ability”. –Stephen R Covey
Agile development methodologies, whether deployed entirely or in bits and
pieces, can only succeed with support of top management, both in IT and
business. Likewise successful agile
practice requires the ability to adjust appropriately for
different organizational and project sizes.
http://www.informit.com/articles/article.aspx?p=1554972
Over the past year (really actually less!), the NoSQL
movement has really picked up momentum.
Even true believers in the relational model are finding uses for
key-value stores. And, significantly,
the whole NoSQL concept confirms that the storage space is now a
commodity. In this three-part series,
the author digs deep into some of the nooks and crannies of NoSQL. His conclusion, not surprisingly, is that the
SQL or NoSQL choice depends on each situation, although other
pundits say that SQL/RDBMS isn’t right for the cloud.
http://blogs.computerworld.com/15510/the_end_of_sql_and_relational_databases_part_1_of_3
http://blogs.computerworld.com/15556/the_end_of_sql_and_relational_databases_part_2_of_3
http://blogs.computerworld.com/15641/the_end_of_sql_and_relational_databases_part_3_of_3
Everyone wants to be
a better programmer, right? But what
are the traits that the best developers have that makes them stand out? This developer explains his view on what
separates the best from the rest.
http://kevinrodrigues.com/blog/2010/02/27/seven-qualities-that-every-good-developer-possesses/
Certainly, I recognize that this section is about IT process and
technique, but we should not forget that IT is a service. And the way that we provide good service to
our business customers is to continuously work to better understand them and
their needs. This article looks at the
questions business executives are interested it. It’s notable that very few of them are about
technology. So our job in IT is to look
at how technology can serve the other needs of the organization.
http://www.azzarellogroup.com/blog/2010/03/08/100-things-good-gms-know/
Anyone who has worked in software development has experienced the
frustration and disappoint of a failed project.
But, why does software development seem to fail so often compared
to other engineering disciplines?
This author says that each system is like creating a completely new
machine.
http://www.drdobbs.com/architecture-and-design/223700002
One of the new roles in IT is called “development operations” (devops), which seeks to bridge the gap between application
development and the deployment and operation of the applications. This is widely seen is one of the key factors
in improving IT agility.
http://www.drdobbs.com/architect/223200145
While many people tout the robustness of their code based on the plethora
of unit tests, this developer makes the astute observation that simpler, more well-architected abstractions are evidenced by the
small number of unit tests required.
http://andreyf.tumblr.com/post/459323557/good-code-needs-few-unit-tests
While most of us focus on what needs to get done today, programming pundit Bruce Eckel
presents his vision for how programming will be done in 25 years (about the
time I retire!).
http://www.artima.com/weblogs/viewpost.jsp?thread=284730
This experienced agile practitioner offers some sage advice about how to
successfully implement agile development.
Here observations are especially valuable in the area of doing agile
with geographically distributed teams.
http://www.rallydev.com/agileblog/2010/03/78-things-i-have-learned-in-6-years-of-agile-coaching/
Whether you use Java or not, there’s no denying that it’s had a
significant impact on software development over the past 15 years. However, many have recently raised concerns
about its future, both for the technical reasons, as well as, around Oracle’s acquisition of
Sun. In this very good article, the
author discusses his views on where the various “fragments” of the Java
platform are going.
http://www.drdobbs.com/java/223101669
While I probably sound like a broken record in this newsletter when it
comes to the importance of good communication on projects, I truly believe that
its significance cannot be overstated.
This short article offers three key points about good communication
along with some links to additional resources on them.
Writing test cases is the creative part of testing (and TDD!). Many times, testers (myself included!) struggle to write complete and effective test cases. This article offers some ideas on how to check that your test cases are complete.
http://www.testandtry.com/2010/02/24/8-tips-to-create-complete-test-cases/
Whether you are writing unit tests for test-driven development or preparing test cases as a tester, your goal is to write effective tests. This author suggests applying the SMART principle to test creation to help.
http://www.kalebpederson.com/2010/01/smart-tests-outwit-bugs.html
While robustness, defined loosely as resiliency in the face of errors or problems, is an important characteristic of all code, this author emphasizes that it should be one of the key traits for automated testing code.
http://www.makinggoodsoftware.com/2010/03/02/robustness-the-forgotten-code-quality/
One of the good features of using C#/.NET platform is the availability of LINQ for doing queries. This very good step-by-step tutorial shows you the basic concepts of LINQ and how to apply them in your application.
http://net.tutsplus.com/tutorials/asp-net/net-linq-from-scratch/
Information architect is a relatively new role, which plays an increasingly important function in both web design and traditional application development. This tutorial looks at the genesis and evolution of the IA concept and how it fits in the development milieu.
http://www.uxbooth.com/blog/complete-beginners-guide-to-information-architecture/
As we’ve discussed in previous newsletters, the NoSQL paradigm has really taken off and the number of platforms has blossomed like mushrooms. This basic guide helps you compare the underlying principles of the different NoSQL implementations to help you decide which one(s) might be appropriate for your needs.
http://blog.nahurst.com/visual-guide-to-nosql-systems
You use them every day, probably many times a day, but do you know how search engines do their magic? This brief tutorial explains the basic concepts of search engine function in four areas: crawling, indexing, query processing, and ranking.
http://horicky.blogspot.com/2010/03/search-engine-basics.html
You’ve probably heard of the map/reduce functional programming paradigm, but unless you are intimately involved in the FP world, you may not have understood what it’s all about or what it’s used for. This excellent step-by-step tutorial explains how it all works using C#/LINQ.
http://ayende.com/Blog/archive/2010/03/14/map-reduce-ndash-a-visual-explanation.aspx
Certainly, the title of this article isn’t very descriptive until you see the page graphic. Nevertheless, this is an excellent, simple tutorial on how to give a speech or presentation that the audience will remember, using examples from some of the great orators of our time, like Martin Luther King, Jr. and Margaret Thatcher.
http://news.bbc.co.uk/2/hi/uk_news/magazine/8128271.stm
Doubtless that most of you would say you are "drowning" in e-mail. This excellent article explains how to properly triage your e-mail inbox and how to write effective e-mails that help others (and you!) handle e-mail better.
http://hbswk.hbs.edu/archive/4438.html
Even if you don’t necessarily want to become an expert in your field, certainly everyone wants to improve their skills in some way. This comprehensive article presents a useful process for improving your skills. However, the key is to recognize that expertise takes time, practice, and dedication.
http://softwarecreation.org/2009/how-to-become-an-expert-the-effective-way/
When looking for a new job, it’s the details (“little things”) that are so important. Here are some tips for dos and don’ts that can help you get that job.
http://blogs.techrepublic.com.com/10things/?p=1186
Not surprisingly, according to this annual survey of over 20,000 professionals, salaries for IT workers rose very little in 2009, with over half reporting salary freezes or decreases, but IT is still a good profession when it comes to salary, compared to others.
http://www.informationweek.com/news/global-cio/compensation/showArticle.jhtml?articleID=224200396
Want to enjoy life more? Well, according to some new psychology research, engaging in substantive conversation on a daily basis tends to make people happier, because it allows us to find meaning and context in a chaotic world.
http://well.blogs.nytimes.com/2010/03/17/talk-deeply-be-happy/
While there are plenty of things that you can do to improve meetings, project management expert Scott Berkun recommends limiting most meetings to 22 minutes, both for psychological and practical reasons. One of the most salient reasons for doing this is that it allows you time to change gears or even physically move between meetings and allows the meeting convener time to summarize the meeting immediately afterward.
http://www.scottberkun.com/blog/2010/the-22-minute-meeting/
While this article is essentially well-known common sense, it never hurts to be reminded. To avoid distractions and concentrate on your work, you should block out time specifically for this. The author has even gone to the extreme of scheduling meetings with herself!
http://www.fastcompany.com/article/work-smart-avoid-office-distractions-with-time-blocking
This comprehensive survey of almost 20,000 technology professionals from a variety disciplines shows that salaries rose very little in 2009 compared to 2008.
http://i.techrepublic.com.com/downloads/Gilbert/2010_salaryreport.pdf
While written for senior management, this simple list is valuable to anyone who has a leadership role in any kind of organization. The key element of all of these points is that they are what set leaders apart from managers.
http://blogs.hbr.org/cs/2010/03/important_reminders_for_anyone.html
In a broad survey of more than 27,000 people in 26 countries about Internet usage by the BBC, over half of the respondents said that government regulation of Internet should not be allowed.
http://www.eweek.com/c/a/Midmarket/Acess-to-Open-Internet-Seen-as-Basic-Right-Study-Finds-422021/
Where would communication and networking technology, not to mention entertainment, be today if not for the laser? This article celebrates the 50th anniversary of this amazing device.
http://www.technologyreview.com/computing/24594/?a=f
New peering arrangements are moving routing from Internet backbone to the network edge, which ultimately takes traffic away from the larger providers.
http://www.nytimes.com/2010/03/02/science/02topo.html
The key standards committee for networking technology celebrates its 30th anniversary in March 2010. Take a look at some of what they see coming up.
If you compile applications from source code on Ubuntu (or any Debian-based distribution), Ubucompilator will help you to create a .deb file, which you can use to package the application for use on other Ubuntu systems. Ubucompilator is a essentially a wizard that takes you through the configure + make + make install process followed by generating the .deb archive.
http://ubucompilator.wordpress.com/
As web sites become more complex, the ability to read the actual textual content becomes more difficult. TidyRead, which is also available as bookmarklet for any browser, allows you to remove a lot of the fluff and distractions. You can configure and choose any number of personal styles for the page, as well as adjusting the text size and page width.
If you frequently find that you need to re-run a web search that you’ve done, MyLastSearch is very handy. It reads the browser cache of most of the popular web browsers (Internet Explorer, Opera, Google Chrome, and Firefox) and finds searches from a variety of search engines, including Google, Bing, Wikipedia, a variety of social networking sites, and more. And it has some incredible customization capabilities via command-line parameters.
http://www.nirsoft.net/utils/my_last_search.html
Test your JavaScript, including code using various versions of popular libraries, such as MooTools, YUI, and jQuery, along with your HTML markup and CSS entirely online. The results are displayed in window along with the source, so you can make changes on-the-fly.
The academic research project aims to provide a Java IDE, based on Eclipse, that focuses
more on the code base as a whole with each “atomic” element in the GUI build
around the objects, including their member variables and functions, instead of
the common paradigm of today’s IDEs being file-based. Looks like a very intriguing idea. You can download a beta version of the tool
at the site.
http://www.cs.brown.edu/people/acb/codebubbles_site.htm
If you use the great, lightweight Foxit PDF Reader, then you’ll definitely want to check out this dandy tool. It is a plug-in for Microsoft Outlook 2007 that allows you to open (“preview”) any PDF message attachments directly in the message, without opening another window.
http://timheuer.com/blog/archive/2008/05/09/foxit-pdf-preview-handler.aspx
Math is everywhere! I’m sure you had a teacher somewhere along the way that said that (or something similar). The fantastic photographs by this artist really prove it. She embeds the curve and its formula into the photographs themselves.
http://www.wired.com/magazine/2010/01/pl_arts_found/
This site provides an absolutely stunning 3D panorama view of Paris including virtual tours of some it’s famous landmarks like the Eiffel Tower and Arc de Triomphe.
http://www.paris-26-gigapixels.com/index-en.html
By now, everyone has probably seen the music video for the song “This Too Shall Pass” by OK Go, but, if not, you absolutely must see this. And this site also features four videos about how the music video was made. Or you can hear OK Go songwriter/guitarist Damian Kulash talk about it here.
http://www.geekologie.com/2010/03/crazy_impressive_rube_goldberg.php
Now this is a kind of performance art that geeks can enjoy. German artist Jan Vormann is traveling the world and “repairing” decaying buildings with Legos and photographing the results.
http://www.forevergeek.com/2010/03/repairing_the_world_with_lego_bricks/
Probably most of you have been the “go to” person in your family at one time or another about computer problems. Here’s a humorous look at why you should play dumb about your computer knowledge.
http://theoatmeal.com/comics/computers
Having trouble figuring out which social group you belong to? Just consult this diagram to understand. :)
Everyone dreads those “canned” interview questions like, “What is your greatest weakness?” This person provides a totally logical answer to the question that is quite humorous.
http://shrughes.com/p/my-greatest-weakness/