February 2010 Newsletter
Nothing gives one person so much advantage over another as to remain always cool and unruffled under all circumstances. –Thomas Jefferson
Patience with others is love. Patience with self is hope. Patience with God is faith. –Adel Bestavros
Often people attempt to live their lives backwards; they try to have more things, or more money, in order to do more of what they want, so they will be happier. The way it actually works is the reverse. You must first be who you really are, then do what you need to do, in order to have what you want. –Margaret Young
Common sense and a sense of humor are the same thing, moving at different speeds. A sense of humor is just common sense, dancing. –William James
The really good people want autonomy—you let me do it, and I'll do it... That's all they want. They want a chance to do it. –Gordon Bethune
Skill and confidence are an unconquered army. –George Herbert
If we are ready to tolerate everything as understood, there is nothing left to explain; while if we sourly refuse to take anything, even tentatively, as clear, no explanation can be given. What intrigues us as a problem, and what will satisfy us as a solution, will depend upon the line we draw between what is already clear and what needs to be clarified. –Nelson Goodman, Fact, Fiction & Forecast
Technology presumes there's just one right way to do things and there never is. –Robert M. Pirsig
Sometimes test-driven development (TDD) seems to be more philosophy or art than science, but it really is an excellent practical tool for improving software quality. This article explains, using some great simple diagrams, the principles and value of TDD from a practical perspective.
The art and practice of project management in the IT world is changing. No longer is it enough to handle schedules and budgets. Now, project managers need new tools, especially around agile and lean software development methodologies.
Everyone knows that documentation for documentation’s sake is a waste of time and effort. However, often this results from doing the documentation ineffectively (i.e., producing a worthless document). A project charter can be very useful in ensuring at the early stages of the project that everyone agrees about the scope and content of the project.
One of the key principles of agile development is working on use cases (or user stories) of higher business value first. But it’s often just judgment about determining the value of them. This article looks at some of the approaches to making objective estimates.
This author says that for agile development methodologies to scale to large projects or organizations, the principles of lean manufacturing must be used along with agile. In particular, the lean manufacturing principles around kaizen and multiple value-streams should be used.
This author says that everything we’ve told around running IT as a business is wrong, mainly because most businesses are not project-based while IT typically is. He offers some suggestions for how IT should be run and how to sell the correct model to the business.
While most people sense that cultural differences are a significant cause of problems with outsourced technical work, this author says that one particular characteristic, Power Distance Index (PDI), which measures such things as relative power at various levels of organizations and views about individuality, is a great predictor for outsourcing success or failure.
Tim Bray (the guy who created XML) bemoans the sad state of enterprise software development and offers some suggestions borrowed from entrepreneurial small startups and distributed open-source development for how IT organizations can do better. And make sure to read this rebuttal and this commentary, as well.
What do you consider the biggest changes in programming and development over the past decade? Pundit Darryl Taft reviews his most significant.
We’ve recently provided some general coverage of the NoSQL (which now means “Not only SQL”) movement away from monolithic RDBMS platforms toward distributed key-value stores. This excellent article encapsulates the core concepts of NoSQL and why you might want to use it. And if you want get a little taste of what NoSQL is all about try this online, interactive version of MongoDB.
This book from O’Reilly’s Theory In Practice series is a set of essays from some of the top thinkers in the software testing realm, including Lisa Crispin, Adam Goucher, Alan Page, and Matt Heusser. Each of the chapters examines an aspect of testing that is innovative, efficient, and effective.
Sikilu is a free platform for developing automation scripts using GUI screen shots (or snippets thereof). Just paste in the relevant screen shot or GUI control and tell Sikuli what to do, such as type in a particular value or string, click a button, etc. Sikuli works on Windows XP/Vista/7 with Java 6.
With the turn of the decade (or not!), some places experienced Y2K-esque computer glitches. The most widely reported was a problem with ATMs and credit card readers in Australia which interpreted 2010 as 2016 (e.g., 10 in hexadecimal is 16 in decimal) so many customer’s cards showed as expired.
One of the most difficult tasks of any software testing or QA group is reporting on the testing progress (“Are we done yet?”) or the objective quality of the application under test. This author presents some ideas for metrics to use in assessing application quality and how to combine the metrics for a composite “score”.
It’s no secret that most developers aren’t the greatest when it comes to design. Here are 10 timeless tips for UI design that should be within reach of most anyone. Of course, they are centered around concepts like simplicity and familiarity.
If you do any web development using CSS, this excellent resource (which is frequently updated) lists all of the CSS properties and which version of CSS they are valid (or introduced) in. Each property is linked to the W3 standard for it.
It seems like quantum computers have been the “next big thing” for quite a while. Nevertheless, advancements are being made and undoubtedly they will be the computing machines of the future. Here’s a detailed (and slightly technical!) explanation of how they work.
Recently, Google unveiled their Go programming language to much fanfare. But how do you know if Go is right for you or just more hype on the Google bandwagon? This article is a nice introduction to the syntax organized around the basic features.
In this hyperconnected world, distractions from getting work done are everywhere. (Hey! You're reading this newsletter instead of working, right?!) This article discusses a technique for scheduling working time in 25-minute increments with 5-minute breaks in between. (We've discussed the similar "(10+2)*5" technique before.)
Most people would like for the recession to be over, but it may not be such great news for employers. A recent survey by The Conference Board shows that almost a quarter of employees would leave their jobs today, if they had another job lined up. IT employees are particularly dismayed about very small salary growth.
Even in the era of social media and the digital resume, the job interview is still the single most important element of landing a job. Here are some no-nos about the interview, especially around being too casual.
Successful organizations (and individuals!) are those that promote on-going learning and emphasize “thinking communities”. Organizations can support this by providing “slack” time to employees to explore new avenues related to their work.
When thinking about leaders, many people think of leaders as extroverts. However, in this article, the author presents five traits of introverts that make them good leaders, such as thinking before acting and focusing on depth of solutions.
The world of the 21st century changes at an incredible pace. One of the most significant changes is toward the “virtual office” and with it all of the changes in work style, such as maintaining motivation when working alone. Will you miss the office when it’s gone?
Today’s technology would have been nearly impossible without the invention of the integrated circuit (which of course owes its existence to many other advancements). Here are the 25 microchips that led the revolution.
The conventional wisdom says that, if you want to get ahead, you must do a lot. This pundit says that one of the best ways to establish authority is to be willing to say “no” and to stick to it.
This single-page site provides 20 succinct tips to help you ace your next interview. Many of the tips include related videos that demonstrate the “dos” and “don’ts” for good interviewing.
Most organizations and projects have a “hero”: the person willing to do whatever necessary to make the project succeed. And heroes are frequently celebrated for their tangible contributions. However, heroes are actually poison to the project, the team, and themselves.
The latest recession is causing another transition: Temporary (e.g., contract) work is becoming the new norm in many businesses and industries.
Many of the readers of this newsletter may have never used a modem (and still more haven’t seen one with an acoustic coupler!), but this device was one of the keys to the growth and spread of the Internet, especially to homes.
Both the US Departments of Justice and Commerce have sent recommendations to the FCC to expand spectrum availability for wireless broadband service to rural/underserved areas. This request is based on reports that the average monthly minutes of wireless use has increased eight times since 2000.
Telecom pundit Om Malik explains how the introduction and widespread dissemination of broadband Internet service changed our lives, not only online but in a variety of other ways, over the past decade.
This small one-trick-pony simply displays your desktop icons in list view with icons instead of the normal icons to reduce the clutter and allow you to see your wallpaper. If you want it to set it this way always, just put a shortcut to the application in your Startup folder in the Start menu.
Sometimes you may have a Java application that you need to understand how it works, but the source is no longer available. This GUI-based decompiler is just what you need. It can decompile most of the Java 5 features and display them in a tree structure similar to Eclipse GUI. It can work on individual .class files or entire Java Jar files.
If you have a laptop, it probably has touchpad on it. One of the annoying things about the touchpad is when it accidentally gets activated by your hand while typing. TouchFreeze is a small, simple background utility that automatically disables the touchpad while typing.
SkyDrive Explorer is a plugin that integrates Microsoft’s Windows Live SkyDrive into Windows Explorer, so that you can access your SkyDrive files using the standard Explorer metaphor. It has many features including drag-and-drop support in both directions, creating desktop links to SkyDrive files, and copying the SkyDrive URL of files to the clipboard.
Double Commander is a free, open-source classic two-pane file manager application for Windows. However, it offers a twist: It supports most every plug-in for the fabulous Total Commander shareware file manager.
One of the nicest desktop features in Mac OS X is “stacks”. Windows 7 got us a little closer to this feature, but not all the way until 7 Stacks. It allows you to have groups of related applications or documents encapsulated in a single icon on the task bar (Windows 7) or quick launch bar (Windows XP/Vista).
Like the old saying goes: Truth really is stranger than fiction. This site features real books, including some that are still in print, with strange titles and even stranger topics. (Some of the books are probably NSFW, but the site itself is OK.)
This explorer and photographer takes you inside
While you may not know the name of this “rule”, you are certainly familiar with it: "no salaried employee, employed by a business to work in an office, may exceed two hours of actual work in any business day." Read the article to learn what to do with the remainder of the day. :)
What do you think of when you wonder what the greatest program ever written is? Perhaps the DNS or maybe an email processor? Well, here’s a story about a person who wrote an entirely AI-enabled chess program for the Sinclair ZX-81 in 1kB of memory!