Reminders
Legacy code runs the world. It's valuable and can be tons of fun to maintain! If you're a mender looking for other like-minded friends, join us on Slack or one of our weekly Zoom calls. We can't wait to share our love of legacy code with you!
Podcasts
Legacy Code Rocks: Design Heuristics with Rebecca Wirfs-Brock
We take mental shortcuts every day in order to save our energy while achieving satisfactory results. These shortcuts, or heuristics, are in fact so mentally economical, that we are mostly not even aware of them! Yet, we use them all the time. In this episode, we talk with Rebecca Wirfs-Brock about heuristics we use in software design and why is it important to be aware of them.
Legacy Code Rocks: People First, Technology Last with Alok Sharma
The key to understanding real (rather than perceived) goals of any technological project is to understand the people served by that technology. In this episode, we talk with Alok Sharma, a founding partner of the technology project management consultancy firm Sharma Analytics. Alok gives us a deep insight into his tripartite approach to rationalizing, selecting, planning, and managing technology in small to mid-sized organizations.
Legacy Code Rocks: Taming Technical Debt with Tim Doherty
Technical debt is just like a financial debt - incurring it responsibly boosts the development and growth, but failing to repay it in time can lead to bankruptcy and complete failure of the program. Today we talk with Tim Doherty, Staff Software Engineer at Procore Technologies and a co-organizer of the Santa Barbara JavaScript Meetup, about the responsible management of technical debt. Tim breaks down for us the Ward Cunningham’s definition of technical debt into sub-categories and shares with us the justifications for the acquisition and strategies for prudent repayment of these diverse kinds of technical debt.
Analysis, Maintenance
Maintenance is an unfashionable word. But as BBC Radio's Chris Bowlby discovers, keeping our infrastructure in good condition is one of the most crucial and creative challenges we face.
There's a lot of legacy code out there...
There's no shortage of legacy code out there and there's a pressure to modernize older systems in the federal government. 2018 saw spending levels at around $52 billion and just short of 80% of that is for "improving and maintaining legacy systems, commonly known as operations and maintenance (O&M)." And that doesn't include the commercial sector! Listen to this podcast with Shawn McCarthy, research director of IDC Government Insights for more detail on budgets and getting your CFO to buy into digital transformation efforts.
Presentations & Videos
How to rewrite, a bit at a time - Sabrina Leandro - DDD Europe 2019
LCR member Sabrina Leandro shares her experience of paying down technical debt in an iterative way. She even shares ideas on how to approach your conversation with the “business”, avoid the most common pitfalls when changing the architecture of a complex codebase, and ensure the rewrite brings value from the start till the very happy end.
Wily Python: Writing simpler and more maintainable Python - Anthony Shaw
If Python's your language of choice, this is a good talk on how how to use wily
to measure and graph how complicated your Python code is and a series of practical techniques to simplify it.
The Language of Programming by Anjana Vakil
Humans use language to communicate with one another; humans use programming to communicate with machines (or do they?). In this talk we’ll look at the practice and culture of programming from the perspective of linguistics, the scientific study of the form, meaning, and function of language.
Articles & Blogs
Yet Another JavaScript Framework
"At first glance, the bug appeared to be fairly routine, most likely a small problem somewhere in the website's code or a strange coincidence. After just a few hours though, it became clear that the stakes for this one particular bug were far graver than anyone could have anticipated."
Software below the poverty line
André Staltz shares his research about the sustainability of open source projects.
"The struggle of open source sustainability is the millennium-old struggle of humanity to free itself from slavery, colonization, and exploitation. This is not the first time hard-working honest people are giving their all, for unfair compensation."
I'm ashamed to say it.
Brittany Moore from Test Double shares how Brené Brown's recent TED talk helped open her eyes to the amount of shame that exists in the software industry and how being open, honest, and vulnerable is often a better approach to solving complex problems.
Reviewing the Gilded Rose Kata
Rachel Carmena recorded her first screencast a year ago about the Gilded Rose Kata, which focuses on refactoring. In this post, she reflects back on her experience and gives us all an insight into the value of continuous improvement.
Why Feedback Rarely Does What It’s Meant To
Stop focusing on people's shortcomings and start focusing on their strengths.
To Create An Evolvable API, Stop Thinking About URLs
Eric Castelejin shared this article in our Slack channel, mentioning that it reminded him of "Alan Kay's original vision for OO: network connected objects that could discover each other's capabilities." What are your thoughts?
Why Good People Leave Large Tech Companies by Steve Blank
Excerpt: "I was visiting with an ex-student who’s now the CFO of a large public tech company. The company is still one of the hottest places to work in tech. They make hardware with a large part of their innovation in embedded software and services. The CFO asked me to stay as one of the engineering directors came in for a meeting. I wish I hadn’t…"
Tools
GitHub Sponsors
GitHub is matching contributions up to $5,000 during a developer’s first year in GitHub Sponsors. If you contribute to open source projects, this might be something for you to check out.
GitVersion
Looking to add Semantic Versioning on your project? In a recent mastermind call, one participant mentioned this tool. Check out the mastermind channel in slack for more tools or join one of our calls every Wednesday at 1PM Eastern.
ApiApprover
Semantic Versioning was all the rage on a recent mastermind call. Api Approver is a simple NuGet package built on top of ApprovalTests.Net which approves the public API of an assembly. Super useful for when public APIs change.
Books
Collecting maintainer stories for a new book
Our friends over at The Maintainers are working on a book about, well, maintenance and are looking for stories, particularly around people whose work is under-valued/unrecognized. If you find that higher-ups fail to put adequate resources in yours/others' maintenance work, lend your (anonymized if you'd like) voice to this project by emailing leevinsel at gmail.
For Fun
Parameter Actions in Tableau 2019.2 Sneak Peek
Joshua Milligan shows how he uses Parameter Actions to create his own version of Minesweeper.
Windows 95 style UI components for your React app
If you've got nostalgia for the design style of Windows 95, there's good news — there are now styled components for your React app that replicate its look and feel.
Digging In The Dirt [Lightning Talk] by John Anderson
It turns out that landscaping and programming are more similar than you might think!