Up to Newsletter Index

October 2017 Newsletter


Quotable Quotes

He who lives without folly is not as wise as he thinks. –François de La Rouchefoucald

Great things are done by a series of small things brought together. –Vincent Van Gogh

Time is the only thing that separates mathematics from computer science. –Adam Nemecek

If you want to find the secrets of the Universe, think in terms of energy, frequency and vibration. –Nikola Tesla

Software production is assumed to be a line function, but it is run like a staff function. –Paul Licker

Return to top


Software Development Process and Methodology

Article: The software engineering rule of 3

As much as we like to think of programming as a rational pursuit, it has plenty of rules of thumb. This author proposes one in which he recommends not refactoring until you’ve seen (at least) three instances of a pattern. He shows how just two examples often lead us to an untenable solution that would be avoided with more evidence.

https://erikbern.com/amp/2017/08/29/the-software-engineering-rule-of-3.html


Article: Motivating Software Engineers 101

When you get down to it, management is essentially the art of getting others to do things for you. In the case of developers, this process can seem mysterious. This author looks at the key factors influencing motivation of programmers. The most significant point that the author makes is that managers should manage the process not the people.

https://www.7pace.com/blog/motivating-software-engineers-101/


Article: Why Isn’t Agile Working?

As agile methodologies have gone mainstream and matured (or maybe just aged?!), some organizations have “buyer’s remorse” about them. This article examines five difficulties that are common, especially those that are most visible (and annoying) to senior management. The author says that success with agile requires long-term commitment at all levels of the organization.

https://hackernoon.com/why-isnt-agile-working-d7127af1c552


Article: Effective Collaboration: You Don’t Need Superstar Developers

This article discusses some interesting concepts about the importance of team dynamics (remember “team velocity” from Scrum?) and how team members work with and communicate among each other. The author suggests instead of focusing on the intelligence or skills of individual team members, it is substantially more important to understand the “collective intelligence” of the team.

http://blog.lunarlogic.io/2017/effective-collaboration-superstar-developers/


Article: Experts Debunk Common Misconceptions About Scrum

With Scrum becoming mainstream, many developers have had little training in the underlying principles and others may have fallen into to some of the traps around it. Here are ten common misconceptions (which often turn into bad practices) that you should know about Scrum.

http://www.baselinemag.com/it-management/slideshows/experts-debunk-common-misconceptions-about-scrum.html


Article: The Customization Curve

Don’t let the fact that this article is aimed at startups/entrepreneurs deter you. The concept applies to almost all development work, including (perhaps especially!) enterprise software. The author explains the importance of understanding the point at which the costs of customizing an application exceed the benefits. If you consider enterprise development to typically have only one customer (your organization!), you can quickly see how this is vital in this situation.

https://blog.ycombinator.com/the-customization-curve/


Article: Why Hiring Rock Stars Is Harmful to Your Organization

Surely every manager looking for new developers wants to hire “rock stars”, right? According to this writer, you should think twice about doing that, because of the potential damage that such programmers can do to your team and organization.

https://techvibes.com/2017/10/03/why-hiring-rockstars-is-harmful-to-your-organization

Return to top


Software Testing & Quality

Article: The Coming Software Apocalypse

Certainly, the title of this article is intended to conjure up images of the destruction of the world because of software defects and failures. While it seems unlikely that software will be our undoing, the author references several software problems with significant (catastrophic?) consequences and discusses how software is entirely ubiquitous now. The author suggests that better tools are the answer to the software quality crisis. Robert “Uncle Bob” Martin rejects the notion that tools can solve these problems and comes down in favor of better development practices, but he has his own detractors.

https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/


Article: Understanding Misunderstandings in Source Code

Most of us are familiar with the concept that costs to fix defects tend to increase exponentially through the various phases of a project, as popularized by Boehm. However, we often overlook cases where defects are introduced due to poor understanding of existing code. This article explores the typical errors in reading source code and offers preventive measures to reduce these problems. And just like human language shapes meaning and understanding, new research shows the same is true of programming languages and tools.

https://ssl.engineering.nyu.edu/papers/gopstein_atoms_fse_2017.pdf


Article: 2017 Software Testing Report

This software testing professional services firm offers a whitepaper with results from their annual survey of testers (via LinkedIn profiles) about the career, industry, and tools. Some of the insights include that more than 1/3 of testers work in organizations of 10000 or more employees and 2/3 are male. See here for an overview that does not require registration.

http://go.qualitestgroup.com/the-global-state-of-software-testers-whitepaper-qualitest


Article: A Large-Scale Study of Programming Languages and Code Quality in GitHub

This is a very interesting, comprehensive study of how programming language affects (or doesn’t!) code quality. The researchers looked at code from 17 languages across 700+ popular Github projects with 29000 developers to evaluate quality factors. The overall conclusion: The data indicates that functional languages are better than procedural languages; it suggests that disallowing implicit type conversion is better than allowing it; that static typing is better than dynamic; and that managed memory usage is better than unmanaged.

https://cacm.acm.org/magazines/2017/10/221326-a-large-scale-study-of-programming-languages-and-code-quality-in-github/fulltext

Return to top


Tutorials/References

Tutorial: The Difference Between URLs and URIs

Most of us probably use the terms URL and URI interchangeably, but as this article explains, there are some substantial differences and those differences can be important, especially in specific contexts. The basic difference is in whether the access method (usually protocol) is specified, which makes a URI into a URL.

https://danielmiessler.com/study/url-uri/


Tutorial: What's Functional Programming All About?

If you’ve tried to understand the concepts of functional programming and had some difficulty (or even if you do have a good grasp of it!), this tutorial is just for you. Instead of discussing things like “pure functions”, “immutability”, “monads”, “category theory”, and other esoterica in an abstract manner, this author uses the metaphor of cooking something (tiramisu!) with a recipe to show the concepts, including how to refactor. Highly recommended!

http://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html


Tutorial: How to Quickly and Correctly Generate a Git Log in HTML

Creating a report of the changes to your code is a common and useful activity. This tutorial shows how to generate a nice-looking HTML report from Git Log using the composition of various simple tools (i.e., using the “Unix philosophy”).

http://www.oilshell.org/blog/2017/09/19.html


Tutorial: How the Economic Machine Works

If you didn’t take a macroeconomics class in college, this 30-minute video animation is a great introduction (or refresher) on how the various pieces of the economy work. It’s presented by hedge fund king Ray Dalio.

http://www.economicprinciples.org/


Reference: 33 Laws of Typography

We frequently discuss the importance of good design and usually try to provide articles which help the non-designers among us (most of all me!) do simple things that improve design of our systems. This multi-part series is just such an item: It gives you more than two dozen practical concepts to use when laying out the text of your pages. In my view, if you aren’t graphically/artistically inclined, then good typography is your best tool in good design.

http://blog.alexdevero.com/33-laws-typography-pt1/

Return to top


Career Development/Miscellaneous

Video: Great Leadership Can Be Learned

Many people have the mistaken idea that leadership skill is a gift. As this great interview with John Hennessy, the former president of Stanford and an accomplished high-tech entrepreneur, shows, leadership can be developed in almost any person, but it takes commitment, effort, and time.

http://ecorner.stanford.edu/videos/3849/Great-Leadership-Can-Be-Learned-Entire-Talk


Article: You Are Not ‘Behind’

Do you ever feel like you must go faster just to keep up? I’ve felt like that for many years. The number of technologies and tools to learn in development are astronomical and growing. This article gives you some needed perspective on dealing with this and emphasizing the things you do, rather than everything that you think just passes you by.

http://zackkanter.com/2016/01/13/you-are-not-behind/


Article: What the Industrial Revolution Really Tells Us About the Future of Automation and Work

Undoubtedly, new technologies like machine learning, “big data”, and others will be huge disruptors of our current economy and work. But, what can we really expect as a consequence? Here’s some perspective based on how the industrial revolution of the 19th century impacted workers.

https://cacm.acm.org/news/220768-what-the-industrial-revolution-really-tells-us-about-the-future-of-automation-and-work/fulltext

Return to top


Telecommunications/Networking Industry

Article: Rural America Is Building Its Own Internet Because No One Else Will

Since major providers aren’t interested in expanding broadband services to small towns and farm areas, many communities are taking a distinctly America approach: do it yourself. Some of the interesting innovations include requiring that anytime any infrastructure work requires digging that the contractor lay fiber optic cable in that right-of-way.

https://motherboard.vice.com/en_us/article/paax9n/rural-america-is-building-its-own-internet-because-no-one-else-will


Article: Video Will Comprise 82% of All Net Traffic in 5 Years, Says Cisco

According to a new report from Cisco, by 2021, 82% of Internet traffic will be video, up from ~70% now. Several factors are driving this trending, including increased video consumption, higher video content resolution, and transition from traditional cable TV to online viewing.

http://www.streamingmedia.com/Articles/News/Online-Video-News/Video-Will-Comprise-82-of-All-Net-Traffic-in-5-Years-Says-Cisco-118716.aspx

Return to top


Useful Utilities

Memory Hogs (Free – Windows XP/7/8.x/10 – 645kB)

Most of us have experienced slowdown of our systems after running for some time. Memory Hogs is a tiny AutoHotKey utility (source included) that helps you monitor memory and resource usage. You can set thresholds for warnings when applications use more memory that you want or other resources drop below desired limits. Likewise, you can kill applications/processes from Memory Hogs’ main window.

http://s355751075.onlinehome.us/category/freeware/memory-hogs/


sqlbiter (Free – Cross-platform/Python – 13.2MB)

Sqlbiter is a small command-line utility built with Python that allows you quickly convert a variety of tabular data formats into a SQLite database. It supports CSV, Excel, and even Google Sheets. In addition, it can parse web pages for tabular data to import.

https://github.com/thombashi/sqlitebiter


GuidGenConsole (Free – Windows XP/7/8.x/10 and .NET 4.5 Framework – 156kB)

Generating GUID (a.k.a. UUID) values is a common task in development and sometimes you need to create a few ad hoc. GuidGenConsole is a tiny, shell-based tool to generate GUIDs in various formats and it even supports sending the generated values directly to the Windows Clipboard.

https://github.com/michaelmcdaniel/GuidgenConsole


PuTTY Tunnel Manager (Free – Windows XP/7/8.x/10 and .NET 4.5 Framework – 96kB)

If you use PuTTY for both SSH sessions and for creating network tunnels over SSH, your PuTTY session manager can get quite cluttered. PuTTY Tunnel Manager operates from the system tray and is designed specifically for using PuTTY in the background for tunneling. You can even keep your SSH and tunneling sessions separately.

https://github.com/kostapc/Putty-Tunnel-Manager

Return to top


Just For Fun

Homeless man begging for Ethereum

Here’s a real sign (hee hee!) of the times. And perhaps it’s not such a bad idea, since it’s going to be much harder to rip the guy off since he’s using cryptocurrency.

http://imgur.com/gallery/Fc6CT


Never Completed Game

Looking for a real workout for your brain? Then this is the challenge for you. It simple, just answer the 40 questions on this quiz correctly to win. So far, it’s only been successfully completed 40 times (by the same person!) out of millions of attempts.

https://www.nevercompletedgame.com/


Our Open-Plan Office Failed, So We’re Moving to a Towering Panopticon

Are you frustrated with your noisy, privacy-free work space? If so, here’s an option that you may want to recommend to your management as an alternative.

https://www.mcsweeneys.net/articles/our-open-plan-office-failed-so-were-moving-to-a-towering-panopticon


Molecular Wallpaper Generator

Sometimes it’s fun to take a detour from the world of bits and bytes. Check out this site where you can generate a graphic of almost any chemical compound that you can think of.

https://www.avogadr.io/


Posters Commemorating Voyager’s 40th Anniversary

Many newsletter readers may not have even been born when Voyager 1 and 2 left Earth 40 years ago for missions intended to last about a dozen years. Now, with their legendary reliability, we have the first man-made interstellar objects. Check out these awesome graphics celebrating the mission.

https://voyager.jpl.nasa.gov/downloads/


Game of Thrones 20's Style

What if the popular epic Game of Thrones had been made in the silent film era? Here’s one persons imagining about what it would have been like. Very fun and creative.

https://www.youtube.com/watch?v=dlMilUlOIFQ

Return to top