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
Software Development Process and Methodology
Article: How test-driven development works (and more!)
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.
Article: The 10 Key Capabilities of Next-Generation Project Managers
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.
Article: What is a Project Charter?
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.
Article: Estimating Business Value
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.
Article: Why Lean And Agile Go Together
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.
Article: Run IT as a business -- why that's a train wreck waiting to happen
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.
Article: The Real Reason Outsourcing Continues To Fail
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.
Article: Doing It Wrong
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.
Article: The Decade of Development
What do you consider the biggest changes in programming and development over the past decade? Pundit Darryl Taft reviews his most significant.
Article: The Common Principles Behind the NOSQL Alternatives
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.
Software Testing & Quality
Book: Beautiful Testing: Leading Professionals Reveal How They Improve Software
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.
Tool: Project Sikuli
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.
Article: Y2K all over again in 2010?
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.
Article: Software quality metrics and model
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”.
Tutorial: 10 User Interface Design Fundamentals
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.
Reference: CSS Properties Index
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.
Tutorial: A tale of two qubits: how quantum computers work
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.
Tutorial: Google Go: A Primer
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.
Article: Eggs, Tomatoes, and Time Management
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.)
Article: Employees Are Eyeing the Door
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.
Article: Seven Ways to Flunk a Job Interview
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.
Article: A Learning Culture
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.
Article: Why Introverts Can Make The Best Leaders
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.
Article: The end of the office... and the future of work
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?
Report: 25 Microchips That Shook the World
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.
Article: How saying NO drives great careers
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.
Resource: How To Nail An Interview
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.
Article: Don’t Be A Hero
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.
Article: The Disposable Worker
The latest recession is causing another transition: Temporary (e.g., contract) work is becoming the new norm in many businesses and industries.
Article: Getting connected: a history of modems
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.
Article: DOJ: More Broadband Spectrum Needed
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.
Article: 1999-2009: How Broadband Changed Everything
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.
Desktop List View (Free – Windows 2000/XP/2003/Vista/7 – 72kB)
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.
Java Decompiler (Free – Cross-platform Windows/Linux/Mac OSX – 591kB)
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.
TouchFreeze (Free – Windows XP/Vista/7 – 251kB)
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 (Free – Windows XP/2003/Vista/7 – 1.29MB)
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 (Free – Windows 2000/XP/2003/Vista/7 – 2.94MB)
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.
7 Stacks (Free – Windows XP/Vista/7 – 2.73MB)
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).
Just For Fun
Weird Book Room
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.)
The deadliest place on Earth? Surviving Cueva de los Cristales - The Giant Crystal Cave
This explorer and photographer takes you inside Mexico’s Cueva de los Cristales which sports the most amazing and huge crystalline structures you’ve ever seen. The cave is 50°C (122°F) with 100% humidity and a person can only survive inside for less than 20 minutes!
The Two-Hour Rule in American Business
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. :)
The Greatest Program Ever Written
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!