February 2008 Newsletter
You can buy a person's time; you can buy their physical presence at a given place; you can even buy a measured number of their skilled muscular motions per hour. But you can not buy enthusiasm... you can not buy loyalty. You can not buy the devotion of hearts, minds, or souls. You must earn these. –Clarence Francis
Finish each day and be done with it. You have done what you could. Some blunders and absurdities no doubt crept in; forget them as soon as you can. Tomorrow is a new day; begin it well and serenely and with too high a spirit to be encumbered with your old nonsense. –Ralph Waldo Emerson
Bore, n.: A person who talks when you wish him to listen. –Ambrose Bierce, The Devil's Dictionary
You can't build a reputation on what you are going to do. –Henry Ford
Cheerfulness and contentment are great beautifiers and are famous preservers of youthful looks. –Charles Dickens
Courage doesn't always roar. Sometimes courage is the quiet voice at the end of the day saying, "I will try again tomorrow." –Mary Anne Radmacher
The human brain is unique in that it is the only container of which it can be said that the more you put into it, the more it will hold. –Glenn Doman
Advice is like snow; the softer it falls, the longer it dwells upon, and the deeper it sinks into, the mind. –Samuel Taylor Coleridge
Do you wish to rise? Begin by
descending. You plan a tower that will pierce the clouds? Lay first the
foundation of humility. –
The person who reads too much and uses his brain too little will fall into lazy habits of thinking. –Albert Einstein
This author takes on the recent notion that IT should be run like a
"business in a business". He
says that IT has some unique characteristics that need to be considered and
that IT cannot be so easily put into a box like other business groups.
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=278634
This article contains some interesting musings on the on-going debate
about code size versus readability/understandability. The author concludes that "succinct and
expressive" is the best measure of code quality in this sense.
http://weblog.raganwald.com/2007/12/golf-is-good-program-spoiled.html
This article indicates that while "agile" has many meanings, it
is here to stay as a development methodology and it's best elements are
becoming part of traditional methodologies, something that the author calls
"wagile":
traditional waterfall development with a couple of agile practices
thrown in.
http://www.sdtimes.com/article/story-20080101-04.html
http://www.sdtimes.com/article/story-20080115-03.html
Applications with over a million lines of code are becoming increasingly
common. This article shows just how
large this is with some familiar metrics.
http://www.embedded.com/columns/technicalinsights/205604461
Most folks who have spent even a little time in software development have
been part of failed projects. This
article shows 40 "anti-patterns" that typically accompany doomed
projects.
http://sourcemaking.com/antipatterns
While all of these articles are quite old, they give some excellent
guidance on preparing good requirements documents. And, after all, the ultimate success of a
development project hinges substantially on have accurate and complete
requirements.
http://www.complianceautomation.com/papers/writingreqs.htm
http://www2.sims.berkeley.edu/courses/is208/s02/ReqsDoc.pdf
http://satc.gsfc.nasa.gov/support/STC_APR97/write/writert.html
This article gives an excellent overview of kanban,
in general, from the lean manufacturing/Toyota Production System genesis, and
how to use it in software development.
The main idea underlying kanban is that the
consumer of a resource requests it rather than the provider pushing it down to
the consumer.
http://www.infoq.com/articles/hiranabe-lean-agile-kanban
Kent Beck,
the creator of Extreme Programming
concepts, gives brief explanations of standard application function patterns
that can be used to describe how a program works. These patterns allow for standardized taxonomy
of behaviors to drive consistency.
http://www.informit.com/articles/article.aspx?p=1149121
Alistair Cockburn explains how use cases can be a valuable
tool, even in agile development circles.
He emphasizes that use cases are a very effective and efficient way to
capture user requirements and discusses the on-going debate
about use cases versus "user stories".
http://alistair.cockburn.us/index.php/Why_I_still_use_use_cases
Bruce Eckel
muses about what makes an excellent programmer/developer and offers some
suggestions for improving your skills.
Also, be sure to read Jeff Atwood's
comments on the original article.
http://www.artima.com/weblogs/viewpost.jsp?thread=221622
While this article is focused on estimation for agile development
methodology, these principles are generally applicable to any approach.
http://leadinganswers.typepad.com/leading_answers/2008/01/top-10-agile-es.html
Most software development projects have a period at the end called "crunch mode",
where team members work long hours to try to finish the project. This article explores how this ultimately
becomes counterproductive due to well-known factors. Perhaps "crunch mode" should be
filed under the "urban legends" category.
http://www.infoq.com/news/2008/01/crunch-mode
Exploratory testing is one of the key techniques in agile software testing practice. This article gives a detailed explanation of the concepts and techniques.
http://www.kohl.ca/articles/ExploratoryTesting_MusicofInvestigation.pdf
A veteran of software testing at Microsoft addresses various topics on testing and QA. Especially be sure to check out his on-going series on "How Can I Become a Better Tester?".
http://thoughtsonqa.blogspot.com/
A solid test plan with good test cases and scenarios is the cornerstone of successful software testing. This article shows how using the detectives six questions (Who? What? When? Where? How? Why?) to develop test cases that are likely to uncover problems. After all, isn't being a software testing somewhat like a detective?
http://www.informit.com/articles/article.aspx?p=1150804
Outlining the overall approach to a software testing effort is a key task that allows the detailed planning and execution to have a touchstone to ensure that it is with the line with the expectations and goals.
http://www.informit.com/articles/article.aspx?p=1146504
When their programs don't work. If you've been in software testing for any length of time, most, if not all, of these will be familiar to you.
http://joelbadinas.com/2007/12/top-25-explanations-by-programmers.html
IT folks tend to be the shy, introverted type and, as such, knowing how
to strike up conversation with new people is difficult. This great, practical tutorial will give you
some ideas for breaking the ice, such as starting off with a positive comment,
looking for common backgrounds or interests, and more.
http://www.potential2success.com/startmeaningfulconversations.html
Want to improve your written communication skills? Sign up for the free Daily Grammar e-mail and
every day you'll get a tip about grammar and usage.
If you really want to understand how a programming language works, you
need to understand how the compiler behaves.
This classic, detailed tutorial takes you through the process and
philosophy behind building a compiler from scratch.
http://compilers.iecc.com/crenshaw/
Good grammar is important as a technical person in order to communicate
complex ideas. One of the most common
mistakes is with improper use of the apostrophe. This article uses some good examples of when
(and, more importantly, when not!) to use it.
http://www.dummies.com/WileyCDA/DummiesArticle/id-1182.html
Selection of an appropriate primary
key for your tables is probably the single most important factor in
database design, since it drives the efficiency of table linking and the size
and efficiency of indexing. This article
gives some principles for how to choose effective primary keys.
http://database-programmer.blogspot.com/2008/01/database-skills-sane-approach-to.html
The P versus NP
question has been one of the core open problems in computer science almost
since the dawn of the discipline. This
article is a little more technical than I normal feature, but it gives you a rigorous
theoretical view and understanding of why it is so difficult to find efficient alrorithms.
http://math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/W06/w06.pdf
Every electronic device is based on the concept of a semiconductor. But just how do they work and how are they put
together to form complex computing equipment?
This book
excerpt gives the basic theory of operation of semiconductors in easy to
understand language.
http://media.pragprog.com/titles/ctelec/chap6.pdf
This book excerpt gives you tips on mobile computing with Windows Vista
including managing wireless connections, connecting to multiple LANs, and
hooking up to a VPN.
http://www.informationweek.com/news/showArticle.jhtml?articleID=205100768
Eclipse is a powerful, but complex
development environment. You can save
immense amounts of time by using keyboard shortcuts instead of the menus. This online guide shows you many of the
most-used shortcuts.
http://www.d2design.be/java/visual-guide-to-eclipse-shortcuts/
Most people are overwhelmed with the volume of e-mail that they receive. Here are some tips to both reduce the amount of e-mail that you get and to more efficiently and effectively deal with that which you do receive.
http://www.fourhourworkweek.com/blog/2008/01/09/10-steps-to-become-an-email-ninja/
IT workers in the 18 - 31 range have expectations that many companies cannot meet, which results in problems with employee retention. Some of the expectations include private offices and rapid advancement beyond entry level positions and salaries.
http://www.networkworld.com/news/2008/011008-young-workers-hard-to-retain.html
While everyone will probably give a different definition of what a successful person is, they seem to have some common attributes. What traits would you add to this list?
http://www.alexshalman.com/blog/2008/01/15/10-traits-to-be-perceived-as-a-winner/
A recent survey showed that 2/5 of IT workers use LinkedIn and nearly a quarter use MySpace and Facebook.
http://www.networkworld.com/news/2008/011008-social-networking-popular.html
Most people spend a good portion of their lives at work, so it only makes sense that we want it to be meaningful, fulfilling, and something enjoyable. Here are some simple tips to finding work that you love.
http://www.onmoneymaking.com/how-to-find-work-that-you-love-a-logical-guide.html
Neuroscience research is beginning to show proof that multitasking results in diminished productivity, focus, and accuracy of work and that it may even contribute to permanent loss of some brain function.
http://www.theatlantic.com/doc/200711/multitasking
New research shows that about 20% of workers' time in the office is spent on personal activities, particularly online. This new trend is known as "cyberslacking".
http://www.itnews.com.au/News/60142,dont-let-your-boss-catch-you-reading-this.aspx
New research shows that people who watch television or use the Internet shortly before going to bed report feeling more tired the next day, even though they get the same amount of sleep as others.
http://www.dailymail.co.uk/pages/live/articles/technology/technology.html?in_article_id=477733
Think you've got a tough job? Learn about what it takes to keep IT running when it's -100ºF outside! The funniest story is about getting into a 200ºF sauna and then running outside–naked!
http://computerworld.com/action/article.do?command=viewArticleBasic&articleId=9049898
Writing "thank you" notes is one of my greatest fears and embarrassments. How do you sound gracious and avoid seeming trite? This site gives you tips and samples for "thank you" notes in a wide variety of categories.
http://www.thank-you-note-samples.com/
Have your new year's resolutions already fallen by the wayside? Most (more than 80%) have broken them by February. The problem seems to be that our resolutions are too grandiose. We need to take an "engineering approach" to them by tackling one specific problem at time, which will accumulate into larger gains. Some of the suggestions in this article are to always split an entrée when eating out, finding something that both you and your spouse enjoy doing, etc.
http://well.blogs.nytimes.com/2007/12/31/will-your-resolutions-last-to-february/
Need more reason not to talk and drive? This research shows that cell phone users, even hands-free type, result in driver distraction which causes them to drive slower and cause traffic to slow down.
http://www.informationweek.com/news/showArticle.jhtml?articleID=205207282
The happiest
country in the world? Well,
that's
http://images.businessweek.com/ss/06/10/happiest_countries/index_01.htm
New research shows that telecommuting contributes to additional stress and work for those who come into the office. One of the interesting factors is that the office workers generally feel less obligated to the organization than the teleworkers.
Being a successful telecommuter requires a certain temperament and some specific skills. Here are some indications that telework may not be for you.
http://blogs.techrepublic.com.com/10things/?p=290
At one time or another, most people become frustrated with their jobs. This excellent article discusses how we can achieve more job satisfaction by developing reasonable and appropriate expectations about the work, our coworkers, and management.
http://www.43folders.com/2007/12/31/death-and-underachievement-guide-happiness-work
These articles will help you develop an analytical and measured approach toward career development in IT. They help you develop long-term perspective on career development along with the tactics to carry out your strategy.
http://www.informit.com/articles/article.aspx?p=1156069
http://www.informit.com/articles/article.aspx?p=1156070
http://www.informit.com/articles/article.aspx?p=1156071
http://www.informit.com/articles/article.aspx?p=1156072
Research has consistently shown that as we develop skills and expertise in an area, our ability to think creatively and innovate in that area starts to wane. This results in organizations always doing things the same old way.
http://www.nytimes.com/2007/12/30/business/30know.html
The answer to this question is
both simple and profound, according to a
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=309133
A recent survey by IBM shows that telecom executives do still not understand the changing tide of the communications industry and the new media driving the changes.
http://www.techcrunch.com/2007/12/04/ibm-survey-telecom-executives-still-clueless/
With Time Warner's announcement that they will provide usage-based pricing soon, this brings up the question of what impact this may have on the on-going debate about "net neutrality".
http://www.freedom-to-tinker.com/?p=1249
This is a comprehensive policy
report from a respected telecommunications law journal outlining an approach to
ensure broadband Internet access is available across the
http://www.itif.org/index.php?id=118
MouseFeed is an Eclipse plug-in designed to increase productivity and efficiency. When you click on a menu item in Eclipse, MouseFeed displays the corresponding shortcut key combination for few seconds to help you learn the shortcuts and help keep your hands on the keyboard.
If you are still using Microsoft Outlook 2003, you may have noticed that public holidays are no longer displayed starting in 2008. This update adds holidays for 2008 - 2012.
IPMsg is a simple text messaging application for LANs. It requires only a standard TCP/IP connection and is completely client based (no server required). Also, it supports file transfer and encryption of messages. Since it is small and requires no installation you can put it on a USB drive and carry it from machine to machine.
http://www.ipmsg.org/index.html.en
Enso Launcher is a free application launcher and Windows management utility, based on the UI principles developed by Jef Raskin, who pioneered the Macintosh UI. It uses simple, easy-to-remember keystrokes to launch applications, switch window focus, and more. It is similar to the excellent Quicksilver utility on the Macintosh.
http://www.humanized.com/enso/launcher/
Amy is an amazing text editor that supports multi-user collaboration. One of the greatest features is that it runs completely in your web browser with nothing to download or install. It supports syntax highlighting for a variety of languages, including C/C++, Java, Javascript, PHP, Ruby, and more. In addition, you can create projects (collections of related files), compile, run and debug your files, and much more.
http://www.april-child.com/amy/website/
ClipX is a clipboard extender that allows you to keep up to 20 items on your clipboard. One of the best features is that it shows a preview of the item, including thumbnails for images on the clipboard. It includes a plug-in architecture and plug-ins are available for adding static, always-available items to the list and "Save Image As" feature to save images as PNG or JPG.
http://www.bluemars.org/clipx/
PDF Hammer is a free online PDF file editor. It allows you to delete and reorder pages from your PDF file and even to merge multiple PDF files together into one. More features are planned in the future. It does require that you download or install any additional components.
If you've ever gotten a PDF document that you needed to edit or update, this tool is just the ticket. It converts any PDF document (up to version 1.6) into a standard Microsoft Word document that you can open and edit. It can extract text, images and shapes from the PDF document and preserves the document layout. Various options are also available for tweaking the conversion for your particular needs.
BitlBee allows you to connect to a variety of instant messaging (IM) platforms directly from an IRC client. Simply connect to the BitlBee IRC server and register your IM accounts to send IMs.
instaSaver is a free online tool for creating picture screen savers. Upload your own photos (maximum of 10 files of 512kB each) or select some from Flickr and then choose your options, including random order, slide show delay, and background, to create your own custom screensaver that you can download and share with others. Great way to make a gift for family members or to advertise your small business.
One handy way to work with files in the Windows Command Prompt is to drag and drop them from another window. Thus, if you need to execute a command at the Command Prompt on a file, you can enter the command and then drag the file, which includes the full path, to the end of the command. (Note: Unfortunately, this does not work in Windows Vista, but here's a workaround.)
If you have situations where you need to do a few operations at the Windows Command Prompt involving long path names, especially on servers using UNC path names, the PUSHD and POPD commands are very helpful. Simply execute PUSHD \\full\path\to\use and Windows will immediately map \\full\path\to\use to the next available drive letter starting with Z:\ and working down (e.g., if Y:\ and Z:\ are already mapped, Windows will use X:\). Furthermore, Windows will change to the newly mapped drive immediately. Simply run POPD to "unmap" the temporarily mapped drive.
Want to play the stock market without risking your own money? The UpDown is a social network for investing where you create a $1 million portfolio of virtual money to try to beat the pros. Registered users whose portfolios perform well can even earn real cash prizes.
Since it's mid-winter, what better time to learn about snowflakes, snow crystals, and other icy phenomenon? This site offers the science between why snowflakes are hexagonal and some beautiful images of snowflakes. Did you know that there are (theoretically) more ways for a snowflake to form than there are atoms in the universe?
Check out this humorous parody of the Desiderata inspirational poem. Anyone who has spent any amount of time working in a corporation will appreciate this one!
http://www.caerleon.us/hb/mobile/?file_id=749
Those who work in programming or web development are likely intimately familiar with the O'Reilly books and their distinctive book covers. This site allows you to design your very own cover by specifying the textual elements, color scheme, and animal graphic. You can even save your creation to the gallery for all to see!
If you are really into the DIY scene, maybe you want to try your hand at creating your own vanilla extract. This site provides detailed, step-by-step instructions. And, apparently, pure vanilla extract is like fine wine: it gets better with age.
http://www.instructables.com/id/DIY-Vanilla-Extraction/
Few of us ever consider the fantastic intersection of math and art. These pictures from an annual fractal art contest show just how beautiful and orderly our universe really is.
http://www.fractalartcontests.com/2007/winners.php
Dryad is an interactive virtual world simulation where you can design your own trees. Well, not real trees, of course, but images of them that you can download and share with others. I don't think that this site will make your carbon-neutral, but it's still a lot of fun.
This interesting collection of mid-20th century photos from a variety of US cities gives a unique look back at how our society has changed, especially in relation to architecture.
http://www.skyscrapercity.com/showthread.php?t=142692