Stephen A. Fuqua (saf)

a Bahá'í, software engineer, and nature lover in Austin, Texas, USA

The news has been going around: “refactoring doesn’t work,” say researchers. Code quality does not improve. It isn’t worth the time and effort. Here’s why I don’t buy it — why the research is fundamentally flawed and real software groups should ignore it.

Continue reading…

“Project T” is a temporary codename for a web application that I have begun developing off hours. Having just read The Phoenix Project, and now reading Continuous Delivery, I realized that the first step in creating a minimum viable product is to have a minimum viable process for continuous delivery, with no financial budget for that process. The solution combines a Microsoft Azure VM, GitHub, TeamCity, NuGet, Bower, Grunt, MSDeploy, and SoapUI. The result is this: as soon as I commit code to the version control system, it starts an automated chain reaction that ends with a complete install on my integration test servers.

deployment pipeline image

Continue reading…

I’ve been misunderstanding .NET’s List for years.

Two incidents this week have driven home the value of being able to study the source code of frameworks I code with. One the one hand, I was using NServiceKit.OrmLite for database access, and needed to understand how it constructs its SQL. Through study of the code, I was able to find and remediate a limitation in the wildcard handling*.

Continue reading…

Last year I read Jurgen Appelo’s Management 3.0: Leading Agile Developers, Developing Agile Leaders. Despite taking many useful notes, I did not have the time to write up a full review / collect my thoughts on it. Overall impression: this books has tremendous value, and I recommend it highly to anyone in IT management / leadership (whether operations or software).

I look forward to re-reading it in the near future. For now, I will satisfy myself by re-collecting and re-pondering a few of those notes, starting with the topics of **Knowledge **and **Diversity **(from Ch 4 - The Information-Innovation System)

Continue reading…

Over the weekend I had what at first appeared to be a small challenge: send out a few hundreds e-mails for a non-profit’s outreach campaign. MailChimp and other mailings lists were not a good fit, as these messages were of the cold-call variety, and a formal mailing list felt too spammy. Initially I wrote a utility in .NET, but ended up solving with Node.js instead due to timeouts experienced with SmtpClient.

Continue reading…