June 2011 Newsletter
Commitment unlocks the doors of imagination, allows vision, and gives us the “right stuff” to turn our dreams into reality. –James Womack
If you attack people, expect them to defend themselves and expect this to distract everyone from common goals. –Jason Yip
The software field—really, any scientific field—tends to advance most quickly and impressively on those few occasions when someone (i.e., not a committee) comes up with an idea that is small in concept yet enormous in its implications. –Cameron Newham, Learning the bash Shell
"Our project would be done by now if we didn't have such good testers." If the doctor hadn't found cancer, I'd be well. –Unknown (found on Twitter)
We really must understand that the lust for affluence in contemporary society is psychotic. It is psychotic because it has completely lost touch with reality. We crave things we neither need nor enjoy. –Richard J. Foster, Celebration of Discipline
A healthy attitude is contagious but don't wait to catch it from others. Be a carrier. –Tom Stoppard
Agile expert Mike Cohn shows some of the pitfalls that may beset project managers when transitioning from traditional methodologies to agile.
One of the core principles of the Agile Manifesto is Individuals and interactions over processes and tools. This book excerpt discusses how good communication skills are vitally important to agile implementation.
The CEO of Citrix says that IT is failing to adapt to the two most significant disruptive trends, consumerization and cloud computing (both of which are about mobility—think Google Chromebook). He says that IT needs to move from a role of controlling technology to supporting.
Certainly, not all IT organizations face the same struggles, but this list probably hits many common themes. The article doesn't try to tell you how to solve these problems, but is more about getting you thinking about how you'll address them in your own company.
In this article, the author emphasizes that no methodology is a one-size-fits-all solution for any organization and that each business must adopt the techniques that work for them. He suggests as a starting point to adopt from each of the agile, lean, and unified process "camps" that make sense for your business.
One of the original Scrum practitioners says that agile is facing somewhat of an identity crisis because the practice hasn't kept up with the vision, particularly around quality and consistency. He also expresses concern about organizations saying they are "agile" because they do certain things. He says that in its second decade, agile needs focus on: demand technical excellence, promote culture change, maximize business value, and organize knowledge.
As it celebrates its 25th anniversary, Network World looks at what the next 25 years may bring in technology. Some of the predictions include smartphones that have the power of today's supercomputers and agility across the enterprise will be necessary for mere survival.
There are a wide variety of analogies between programming and physical sciences or engineering. This author compares programming to gardening ("software gardener") and makes a very elegant argument for this comparison. Or perhaps we are more like diplomats.
In this interesting (and surely controversial!) essay, the author says that while agile methodologies are better than the "high-ceremony" processes, most any process overhead is distasteful to developers and that it saps their passion for programming.
Version control goes far beyond (or should!) having the VCS installed. This excellent article provides a sound architecture for a strong version control process.
This article emphasizes that software testing is just as important in the implementation of hosted/SaaS applications as with in-house development projects. The author notes that the key characteristic for success with testing in this situation is understanding your particular environment.
Every test professional knows that 100% testing is not practical (and possibly isn't even possible). This article gives some good perspective on deciding what to test, based prioritizing "failure scenarios".
Adam Goucher says that most of the hype around significant differences for testing cloud-based applications is unfounded. He talks about three specific differences and indicates that they are really variations on themes of "traditional" testing.
Sometimes, especially with agile development, documentation gets overlooked. One piece of documentation that I have found invaluable in almost all situations is the test strategy. This article gives you a great refresher on the purpose of the test strategy and how to write good and concise one.
Agile testing approaches can sometimes be different from more traditional testing. This article shows how to take user stories and develop tests from them. One important positive aspect of good user stories is that they should have acceptance criteria which the tester should use as a guide for defining the "positive" tests.
This author makes an interesting observation about the apparently disproportionate number of women in testing roles as compared to development, some possible reasons for this, and how agile methods are likely to help bring this back into better balance.
Most developers have at least a basic understanding of multi-byte character sets and UTF-8 (or Unicode). This excellent primer explains the history and gives a very approachable treatment on how to actually interpret UTF-8.
Most certainly, I'm not a designer, but I do know what a good web application looks like. If you lean more to the side of being a programmer/developer versus a design, this article provides some great tips for designing by dissecting a couple of CSS templates/themes.
If you are (or aspire to be) a project manager, this is a great resource on the key skills and competencies project managers should have. This standard is currently under review and you can provide suggestions or feedback on it, if you'd like.
This straightforward tutorial shows you how to build a simple REST web service in Java using only the JDK, Jersey, and Tomcat 7. It walks you through the entire process step-by-step, including creating your web.xml file.
Even if you don't use (or intend to use) functional programming techniques directly, everyone can benefit from learning some of the concepts underlying the paradigm. This tutorial explains the basic ideas using good examples in Java. And be sure to check out the author's presentation slides on this topic.
Design patterns, especially the Gang of Four patterns, are invaluable for efficient and effective coding and code refactoring. But often, these patterns are explained only in terms of code making them too abstract to identify when needed. This article compares the each pattern to commonplace things in real life.
With the length of the depressed economy, many folks feel like they are stuck treading water in a job they don’t like. This article gives some suggestions for how to have a more positive attitude about your situation.
We frequently point out the failures of multitasking in this newsletter. Now, some new research using eye-tracking tools shows that people become even more distracted when using more than one media device.
In her new book, The Geeks Shall Inherit the Earth, award-winning journalist Alexandra Robbins says that the traits that make kids part of the in-crowd in school (primarily conformity) actually don't serve people well in "real life". She says that quirkiness (she calls it "quirk theory") and the ability question the status quo are actually valuable life skills.
Doubtless that many others have had a more pervasive impact on programming in the past few decades than Ken Thompson, who wrote the original Unix operating system. In this new interview, he talks about that and his role in developing the Go language at Google.
According to a new study, each worker "handles" almost 3TB of data each year among 27 million enterprise servers. The most striking fact is that vast majority of the data is transient.
In an independent survey commissioned by Microsoft about social media use, they found that, except for IM, all sectors, except instant messaging (IM), are still growing. Most notably, they found that, at least for work, almost all of the respondents expected their use of e-mail to stay the same or grow in the next 5 years and over half said that e-mail is most effective means of communication, even beating meetings and IM.
American workers tend to take much less vacation (or even 3-day weekends!) than employees in other industrialized countries. Some new research shows that it's as much by choice as it is by our business culture.
Even though I've written like this for a long time (even though I knew it was "technically wrong"), I feel vindicated that grammar experts are now accepting that in the online age, putting punctuation outside the quotations (horror!) is a reasonable transition of our living language. And now they are trying to banish the em dash too!
As disk storage capacities and bandwidths continue to increase, some folks think that a new official prefix to describe 1027 should be established. Here’s to all of the hellaknobs out there! :)
Many people (perhaps most!) feel overwhelmed with the pace and busy-ness of their lives. But the reality is that each of us will only do or experience a miniscule fraction of all that could. This essay gives a great perspective on how we choose to use the time that we have and to decide what is most important.
Whenever we decide to do something, we often consider the financial and time cost of such an endeavor. But have you ever considered the mental, or cognitive, expense? This is a very insightful article for anyone involved in knowledge work.
If you could get rid of one thing from your day that takes away time from getting things done, what would it be? According to this author, the three biggest time sinks are e-mail, social media, and meetings. She provides some practical tips for reining in each of these.
According to a new analysis by CareerCast.com, based on factors such as work environment, physical demands, outlook, income and stress, software engineer is the highest rated job. The survey indicated that cloud computing and web application development were industry segments to pushed software engineer to the top.
While this article leans toward aesthetic design, I think it applies to most any creative discipline, which includes programming and development. Essentially, the author emphasizes that the great creative work isn't a result of constantly "doing", but more often comes from deep introspection and thought.
Recently, there has been a lot of buzz about Steve McConnell's comments about how, even though the best developers are 10 times more productive than the average programmer, there isn't a 10x difference in compensation. So what is the actual difference between the great programmers and the rest of the pack? This article looks at some recent salary surveys to compare the upper (third) quartile to the mean.
The FCC chairman during the Bush administration says that, even though wireless growth is exploding, providers should continue to push fiber further into their network infrastructure to handle backhaul.
Two independent teams have reported (here and here) long-haul transmission rates above 100 Tbps for the first team, using significantly different techniques.
A study finds that providers have spent over $250 billion dollars in the last three years, with wireline accounting for $89 billion, wireless at $71 billion, and cable at $40 billion. This accounts for over 1500 providers serving more than 200 million customers.
Do you get annoyed when an email was sent to a very large distribution and people inadvertently (or maybe intentionally) start replying all? Or maybe you want to send an e-mail and don't want it forwarded to everyone else in the world. This handy add-in for Outlook does just that. It also includes a few other features such as checking for missing attachments or blank subject lines.
If you use both Google Docs and off-line office tools, such as LibreOffice, you probably already know the difficulty of keeping your files synchronized. SyncDocs easily and transparently synchs up your documents. In addition, it contains some great features like Windows shell integration (right-click to open your documents in Google Docs), setting Google Docs as your PDF viewer/reader, and even setting Google Docs as your default editor for documents, spreadsheets, etc., if desired. You can even map Google Docs to a drive letter on your local PC for even easier transfer.
If you have very many items in your Start Menu or on your desktop, finding the application that you want to launch can become difficult. PrettyRun is similar to the standard Windows Run dialog, but it provides much better searching, a nice "recently used" list with icons and description, and excellent customization of the items to search. And you can even configure it to run as a portable application.
At one time or another, you are likely to need to convert a file of some type to another type. File Blender might be called the Swiss Army knife of file conversion tools, as it supports video, audio, and graphic/image conversions along with HTML/CSS Tidy, PNG optimization, and PDF splitting/joining. In addition, it has a plug-in-based architecture, so you can add almost any other conversion that you might need.
Most Windows file managers are variations on the standard Windows Explorer theme. Nemo Docs is quite different in that groups files by date and allows quick filtering on types, as well. In addition, it allows you to label directories and integrates with Windows Desktop Search to make searching simple. It also minimizes to the system tray to stay out of your way when you don't need it.
If you use Cygwin as an alternate shell in Windows, one annoyance you may have noticed is the lack of the clear command. Fortunately, there is an undocumented way to clear the screen: <Ctrl>+L. It works in the standard Cygwin shell, MinTTY, and xterm.
Have you ever wanted to pound out code lickety-split like the actors do in the movies? With Hacker Typer this dream can come true. Just choose what code base you want, such as the Linux kernel, the type of screen, and speed and hack to your heart's content!
This off-beat but interesting site features some historical event for each day of the year along with a photo illustration using Star Wars action figures, of which one is always a clone trooper.
OK… So this is very strange. But what I really want to know is how the academics get funding for "research" projects like this?
As a kid, I loved playing with microscopes and looking at bugs, leaves, blades of grass, or most anything that I could get my hands on. Here's a fun way to make an adjustable focal length ‑microscope that provides up to 75x magnification with common, everyday parts.