August 2012 Newsletter
The ability to pay attention, to focus, to concentrate, to resist distractions, is as essential to the design process as it is to successful life generally. It is the quality of attention that distinguishes design detail, that enables an architect to design a building that belongs where it is. For attention to detail does not mean fussiness, but an appropriate locating of energies. In the end, it is something very close to grace. –Ralph Caplan, Cracking the Whip: Essays on Design and its Side Effects
I seek not to know the answers, but to understand the questions. –Kwai Chang Caine
A long habit of not thinking a thing wrong gives it the superficial appearance of being right, and raises at first a formidable outcry in defense of custom. But the tumult soon subsides. Time makes more converts than reason. –Thomas Paine
We learn more by looking for the answer to a question and not finding it than we do from learning the answer itself. –Lloyd Alexander
Programming requires, above all, a quiet, peaceful attitude toward the feeling that you don’t really know what you’re doing. –Stephen Ramsay, Learning to Program
We do not err because truth is difficult to see. It is visible at a glance. We err because this is more comfortable. –Alexander Solzhenitsyn
This article presents some strong evidence that even though the technical advances in programming over the past 50 years have been incredible, at its core, programming is still more art than science.
In the last decade, it was outsourcing; now, the IT organization faces the challenge of cloud providers (remember when they were called ASPs in the 1990s?). Here are some tips from a new organization dedicated to helping IT become a nimble competitor and partner with their business groups and sustain their relevance in the organization.
One of the factors that makes (small "a") agile (or any methodology for that matter!) successful is the ability to adapt and adjust for your particular environment. This article presents some good examples of how one organization structured their process.
As agile methods continue to mature, one of the significant transitions is the adoption of lean principles along with agile, particularly kanban. In this free ebook excerpt, the author examines one of five common objections to kanban: It takes longer.
This short article looks at the metrics question from the perspective of how much control a project needs. The author makes the interesting observation that the more control required by a project is a good indicator of (proxy for) low value or return on investment of the effort. And, therefore, organizations should invest in low-control, high-value projects.
Alan Kay, pioneer of object-oriented programming and co-creator of Smalltalk, is a larger than life figure in the programming world. This wide-ranging interview gives you some new insight to his genius and how he continues to impact the development realm.
This article reflects on pundit Steve Jones' (no relation) contention that over the past 5 years, IT has focused too much on the "bright shiny object" of technology without regard for the business value to the detriment of emphasizing problem-solving and thinking.
This article eschews the common agile "marketing" terminology (what might be called "big-A Agile") and discusses the important principles and concepts for teams to adopt to actually implement ("little a") agile in their organization.
Estimation in software development is still considered by many (most?) a black art. This two-part series offers six specific ideas from agile methodologies to help improve the estimation process.
This book excerpt presents a hybrid agile framework that addresses one of the shortcomings of most agile methodologies in that they do not deal with the overall solution delivery process (see also patterns of effective delivery). The article describes it as: The Disciplined Agile Delivery (DAD) process framework is a people-first, learning-oriented hybrid agile approach to IT solution delivery. It has a risk-value lifecycle, is goal-driven, is scalable, and is enterprise aware.
Poka-yoke (Japanese for "mistake-proofing") is one of the cornerstones of lean manufacturing concepts from the Toyota Production System. This article discusses how to apply this concept to software design and development, including some salient examples.
This excellent article presents some ideas about developer-tester communication and how to implement an independent test function within a team as a project grows. The authors discuss many practical ideas for overcoming "fuzzy" requirements when developing and implementing tests.
As an outgrowth of the development of exploratory testing, James Bach also created the concept of session-based testing. This mind map (also in list form, if you prefer!) provides a concise reference to SBTM to help you get started.
Udacity has introduced a new online course in software testing presented by John Regehr. Topics include the basic elements of testing, code coverage, and various subjects in random testing.
Most people involved with software development know that agile methodologies like Scrum require each team member to more of a jack-of-all-trades rather than a specialist. This first-person essay demonstrates just how true that is for the test analyst.
Services and APIs are becoming nearly as important as web applications themselves. This article presents some suggestions on how to make your REST service discoverable by others via a "generic" response to your URI.
Many Web 2.0 startups have transitioned from service provider to "API provider" and the majority use REST web services. This comprehensive, yet very understandable, article explains how to design and implement a good REST API for your application.
User stories are the cornerstone of Scrum and other agile methodologies. This excellent video tutorial from Mike Cohn explores how to prepare good user stories and to use them for requirements on agile projects.
Still using the plain batch/command scripts in Windows, because you haven't had time to learn PowerShell? Well, put those excuses aside and spend just a little more than an hour to learn it using this video featuring PowerShell expert Don Jones (no relation).
New research suggests that telecommuters are judged more strictly by managers when it comes to performance reviews. This article also has some tips for both workers and managers on how to improve interactions and make the review process more consistent. Of course, there are differences of opinion on the whole matter, such as this one.
Good grammar is a passion of mine (some might say more like an extreme pet peeve!). Frequently, people dismiss good grammar as a "nice-to-have". This essay eloquently shows the importance of good grammar and plain language as a relates to professionalism and attention to detail.
The "class warfare" nomenclature aside, this article gives an excellent explanation for the dichotomy of so many unemployed IT workers at the same time that businesses say that they can't find qualified IT employees. The bottom line is that it's simple economics: Companies want to pay less for IT workers.
Everyone likes to receive compliments. But not all of us are good are making our accolades specific, timely, and heart-felt. This essay talks about how to do it and make it natural.
While you can brush up on answers to the "soft skill" questions that you are likely to get in an interview, it's often hard to anticipate the coding questions. This essay gives a good approach for handling it and, just like writing good code, it starts with outlining your design, before writing the code. And I would add that in most cases the interviewer is really just trying to verify the skills you list on your resume. So if you don't really know Java, don't list it on your resume.
This site presents some excellent visualizations (a.k.a. infographics) about anticipated trends through 2040 in technology and innovation in a broad spectrum of domains, including AI, energy, biotech, robotics, and more. The author assesses the relative importance and consumer impact.
In this newsletter, we frequently feature tips about improving productivity and avoiding procrastination. In this interview with Frank Partnoy, author of the new book Wait: The Art and Science of Delay, he says that our drive to fill every waking moment with productive activity has detrimental effects on creativity among other things.
There are probably enough web sites and articles on the Internet about productivity for you to spend the rest of your life (and beyond) trying to avoid procrastination. This brief one has some great practical ideas. The one that I liked best is to "bill yourself" for time-wasting activities.
This author makes the interesting observation that most of the stress we experience is due to unmet expectations. Accordingly, he suggests that to reduce stress we need to re-calibrate (not necessarily lower!) our expectations into big-picture context.
Management expert Steven Covey died this past month. On the occasion of his passing, WSJ published this brief summary of his famous Seven Habits of Highly Effective People and the time-management matrix. These principles are timeless and it helps to be reminded of them from time to time. (In some ways, I find it ironic that the day he died is the same day that Marissa Mayer became CEO of Yahoo and the number of articles about Mayer's job change far outweighed those reporting about Covey's death.)
With costs for carrier-grade wi-fi access points typically 20% of that of small-scale cellular picocells, this author suggests that industry look toward wi-fi technology for wireless WAN access.
If you ever want to find ALL occurrences of something in Excel, but are tired of clicking "Find Next", the Multi Find add-in comes to the rescue. It displays all of the cells that meet your search criteria and allows you to go right the desired cell or to highlight all of them. Moreover, you can search for multiple different items at one time.
This is a plug-in for Eclipse to supports syntax highlighting and code completion for MyBatis (formerly iBatis) XML files. It supports both iBatis 2 and MyBatis 3 configuration syntax. You can even navigate via <Ctrl>+click between your Java code and the MyBatis SQL definitions.
Weinre stands for WEb INspector REmote is a Node.js-based web debugger similar to Firebug, but designed to work remotely. It is mainly intended to allow debugging of web applications running on mobile devices.
Collide (collaborative IDE) is a Java 7-based standalone collaborative editor designed to be used within a local network (i.e., no security, authentication, etc.). It is built on a variety of technologies, including the open-source version of Google Wave. Just launch it from the directory that you want to edit and have everyone connect via a web browser. What could be simpler?!
Do a "View Source" on this page in your browser. Very interesting use of steganography to embed HTML markup in a JPEG file… Or is it the other way around?!
With Apple's recent award of patent #8223134 for the scroll bar, perhaps this satirical application for patenting ASCII code will make it through too.
Let it never be said that geeks do not have a sense of humor. Although I haven't been able to find any Telnet implementations that include this. And this is only one of many funny RFCs.
This site's tag line is "stylishly destroy the web". Basically, it provides a bookmarklet that allows you to "blow up" any web page by having it scatter the text content around the page. Don't like what you're reading? Then "fontBomb" it.