Up to Newsletter Index

November 2014 Newsletter


Quotable Quotes

You can make more friends in two months by becoming interested in other people than you can in two years by trying to get other people interested in you.  –Dale Carnegie


Let me never fall into the vulgar mistake of dreaming that I am persecuted whenever I am contradicted.  –Ralph Waldo Emerson


The idea that scientific method is the only method of discovering the truth has a lot to be said for it, if you mean by truth how the world ultimately is as a system of organised matter, but I defend cognitive dualism: that the world can be understood completely in another way which also has its truths which are not translatable into the truths of science. So we have to look at the different ways we organise this material that science explains for us.  –Roger Scruton, The Soul of the World


Be the chief but never the lord.  –Lao Tzu


Thinking is the hardest work there is, which is probably the reason why so few engage in it.  –Henry Ford


Return to top


Software Development Process and Methodology

Article:  We need Functional Programming BECAUSE a large subset of us are average or below

If you’ve read this newsletter for very long, you know (by now!) that I’m a fan of functional programming (even though I don’t get to use it much in practice!).  This excellent article provides some great reasoning about the value that FP brings in terms of helping us prevent mistakes in the first place when we are implementing our programs.



Article: What's your measure of success?

Here’s a nice list of 5 simple (but not easy!) questions that you should ask on any project to ensure that you can deliver value to your customer.  I like that he doesn’t try to limit the list to simple “checkbox” items, but rather some more general (and, at times, philosophical!) questions that we often fail to think about.



Article:  You Are Solving The Wrong Problem

This article provides an interesting perspective on problem-solving.  The essential points are that reframing the problem and potential solutions often lead to better results and that you need to be able to test and validate/refute your hypotheses quickly to avoid spending too much time going down a blind alley.



Article:  Interview with Michael Lopp: how to lead developers

Most readers know that I keenly differentiate between management and leadership.  This interview with the author of one of my favorite blogs, Rands In Repose, explores what it means to be a leader in the world of software development.



Article:  Move Fast and Break Nothing

Facebook founder Mark Zuckerberg famously coined the motto of 'Move Fast and Break Things'.  (And he subsequently changed his mind.)  In this article/presentation, the author says that moving with due speed is important, but having a good customer experience is at least as important.  His point is mainly in the context of APIs, but applies across the board from my perspective.



Article:  Questions about the debt in tech debt

Technical debt is almost universally considered bad in development circles.  However, this article which compares technical debt to the various kinds of financial debt, it’s clear that the view of technical debt is quite a bit more nuanced.



Article:  How to do Scrum right

Here are some key insights from Jeff Sutherland, the co-creator of Scrum methodology, on Scrum best practices, based on his new book about how to apply the Scrum concepts to any aspect of business.



Article:  10 battles raging for the hearts and minds of developers

Competition among technologies is nothing new (remember VHS versus Betamax?), but the competitors often change.  Here are some of the technologies and platforms that are vying for mindshare among developers today.



Return to top


Software Testing & Quality

Article:  Cryptic genetic variation in software: hunting a buffered 41 year old bug

Most of us are familiar with the fact that all software has bugs.  Here is an interesting story about how even serious defects in widely used software and libraries can lie dormant for years, even decades.



Article:  Agile May Get Even More Productive If You Follow These Tips

As a tester, you probably hear a lot about “agile testing”, but many of the resources don’t give you any practical suggestions about how to do it.  This article gives several relevant tips that you can use right away to improve your productivity and effectiveness as a member of an agile team.



Article:  Testers may never be happy

In my own experience, testers tend to be “glass half empty” people.  This isn’t necessarily bad, since it’s part of what makes a good tester successful.  At the same time, this article points out that testers may need to take a step back and understand the need to balance quality with time-to-market.



Article:  Washington 911 Went Down for Six Hours in April Because a Call Counter Maxed Out

Certainly, no one wants to have to take the blame for a 911 system outage.  Likewise, we may not always consider the life-or-death consequences of the applications that we develop or test, but this example shows how easy it is to overlook system limitations or constraints that can snowball into a significant failure.



Article:  Open Software's Thousand Eyes: A Misunderstood Claim

With the recent spate of security issues in open-source software, such as the Shellshock problem with bash and Heartbleed breach in OpenSSL, pundits from many quarters claim that Linus’s Law has been disproven.  However, this editorial says that it’s a misapplication of the concept.



Return to top



Tutorial:  How I Start with Go

Most readers of this newsletter are already very well versed in at least one programming language and, therefore, when they start out with a new language they prefer a “quick start guide”.  This is an excellent one for Google’s Go Language.  It takes you through the typical steps of getting your environment configured and then developing a simple web server application that uses external APIs to show the weather.  And now you can even write your front-end code in Go!



Tutorial:  Data Visualization with JavaScript

JavaScript has become the go-to platform for data visualization, stealing a lot of thunder from Python in the process.  This comprehensive tutorial teaches you how to use JavaScript for visualization from basic graphs to fully-interactive tools, using a variety of excellent open-source JavaScript libraries, including D3.js.



Tutorial:  A few tips on how to work better with Arrays in JS

JavaScript has supported arrays since the beginning of the language, but like some of the other portions of the language, they can be counterintuitive.  This tutorial explains some of the powerful built-in JavaScript functions for handling arrays.



Tutorial:  AngularJS Tutorial: A Comprehensive 10,000 Word Guide

With the weight of Google behind it, AngularJS seems to be gaining market share in the JavaScript framework world.  Learning AngularJS can be daunting, but this comprehensive guide with examples of each of the various concepts is a good place to start.  Part of the difficulty (at least for me!) with AngularJS is the nomenclature and this tutorial uses good analogies to help clarify terms.



Tutorial/Reference:  Algomation - Animated Algorithms

Algorithms and data structures are the meat and potatoes of software development.  Most of us learned them using dry mathematical or code-based explanations.  This excellent site has visualizations for many algorithms, from the common to the sublime, along with explanations about how they work.



Tutorial:  Beginner’s Guide To Hazelcast

Hazelcast is a popular open-source in-memory database platform for Java.  Although powerful, it is also (somewhat) notorious for being difficult to get started with it.  This multi-part tutorial series walks you through the steps to building an example application with Hazelcast, using detailed code examples for each concept.





Return to top


Career Development/Miscellaneous

Article:  The third great wave

I try to stay away from (inter)national politics directly in this newsletter, because I want to avoid making it too divisive.  (Of course, I recognize that, whether we realize it or not, we all apply our “worldview lens” to everything that we read and hear!)  And, usually, economics is too-close a cousin to politics.  However, in this case, I’m going to make an exception, because this is a matter of great importance to everyone who reads this newsletter, not least because we are smack in the middle of the sea-change that it is bringing about.  This report from The Economist does a good job of being fair about the issue and I encourage you to read it and research more on your own.



Article:  Some thoughts on asking for a raise

By now, you are probably familiar with the flap about Microsoft CEO Satya Nadella’s comments about gender differences in pay for technical workers.  This pundit (and serial-entrepreneur) says that one thing that has gotten lost in the whole discussion is the importance (in some cases, necessity!) of asking for better pay when you think you deserve it.  She goes to offer some practical advice for making the pitch to your boss.



Article:  Silicon Valley talent wars: Engineers, come get your $250K salary

Looks like technology startup Weeby wants to start an arms race for the best developers by offering a million dollars over four years plus company equity.  Weeby CEO says that developers can’t typically have direct bottom-line impact at public companies, but a startup can live and die by their technical staff.



Article:  The Exact Amount Of Time You Should Work Every Day

The bottom line for all work, from writing a novel to building the next “big thing”, is productivity.  Some new research says that you should work intensely for 52 minutes and then take a 17 minute break.  But the key to the whole regime is that the break is spent doing things away from your computer, such as taking a walk, talking to others, etc.



Article:  The Art of Not Working at Work

Most of us would probably not show up at our jobs, if we did not need the salary to pay for our houses, cars, food, and the like.  However, in some counterintuitive conclusions explained in this article, most workers, while often feeling disengaged, actually want to do meaningful work, but they feel that their supervisors don’t hear or understand this.  And it’s not simply a matter of the introduction of technology to the contemporary workplace.



Article:  Coding, Fast and Slow: Developers and the Psychology of Overconfidence

Borrowing from Daniel Kahneman’s ideas about how we think and act, this developer applies them to why we so often underestimate the difficulty and complexity of software development.  It’s a very insightful discussion and he makes some good suggestions about how to break the cycle of overconfidence.



Article:  Accidental Leadership

The incidence of “accidental leadership”, where a person is moved into a management role simply as a result of success in their technical domain, is quite common.  In this article, one of those people offers some great advice about how to succeed, starting with the statement:  Effective leadership is all about humility.



Article:  Always bet on text

In this world of an Internet saturated with graphics and video, who would think that plain old text is still relevant?  But, as we’ve seen the growth of Markdown, wikis, and simple presentation engines that use plain text, it’s more relevant than ever.  This article gives a nice philosophical perspective on the importance of text.  And check out the discussion on Hacker News.  And perhaps this is part of the reason for the resurgence of interactive fiction.



Article:  Career planning: Where do old devs go to?

As in chess, successful career planning and management in development means that you always need to be thinking at least two moves ahead.  This article asks the question about where folks with 10 or more years of development experience are, but doesn’t really answer it.  The comments and these discussions on Hacker News and Reddit offer some insight.  What do you think?  And, more importantly, where do you want to be in 5, 10, or 20 years?



Return to top


Telecommunications/Networking Industry

Article:  Why the U.S. Has Fallen Behind in Internet Speed and Affordability

According to a new report from New America Foundation, the U.S. continues to lag the rest of the world in both speed and affordability of broadband Internet access.  The cite regulation as the main cause, but, as with most such things, the overall picture is more complex.



Article: 7 Colorado communities just secured the right to build their own broadband

With all of the attention on the Republican’s regaining control of the US Congress, this is a story that you probably missed.  But it has the potential to have longer lasting effects, at least in the technology realm.  Pundits expect this result to push the FCC to make a ruling about municipal broadband.



Return to top


Useful Utilities

OneTab (Free – Google Chrome or Mozilla Firefox – N/A)

If you like to have quite a few tabs open in your browser, you are probably also familiar with how they can start to use a lot of memory.  OneTab helps by converting all of your open tabs into a list that you can use to re-open all of the tabs or one at a time.  You can also export your tabs as a list of URLs or generate a web page from the list.



C# Code Snippets On-Demand (Free – Visual Studio 2012/2013 – 5.5MB)

This cool Visual Studio add-in allows you to get code snippets (examples) via Bing Code Search directly inside Visual Studio.  Just enter your question/search on a line starting with three slashes (///) and hit <Tab> to see code samples in the Intellisense drop-down list.  (You can see live example on the site.)



Return to top


Just For Fun


Valleyball is a bit of a cross between game and simulation.  You make predictions about current and future valuations of non-public companies.  You can revise your guesses for up to a month, but then it’s locked in.



Introducing Carrot

Who knew that someone could be so passionate about carrots?  Anyway, check out this subtle satire of a lot of the marketing landing pages on the Internet these days.



Windows 93

Here’s a fun spoof on what Windows 95 might have looked like had it been released a couple of years earlier.  The coolest part is that the whole thing is very well done using only JavaScript and CSS.



15 Tricks to Appear Smart in Emails

Recently, we featured this author’s 10 Tricks to Appear Smart in Meetings.  She follows that up with some additional tips on how to win friends and influence people via e-mail.




Why would we put a JavaScript framework in this section instead of the Useful Utilities?  Well, when you take a look at this library that calls itself “A modern cross-platform JavaScript library & only 18 bytes”, you’ll know why!



QA Engineer walks into a bar…

Just a little bit of software testing humor…  Enjoy!



Return to top