In short
Podcast Notes: The Changelog - Naming Conventions That Need to Die
Episode Overview
- Title: Naming conventions that need to die (News)
- Description: Discussions include problematic naming conventions in software development, proprietary changes in Bitwarden, forking best practices, the value of attending conferences, and a new repository for WordPress on SQLite.
Key Discussions
Naming Conventions That Need to Die
- Will Crichton's Argument:
- Quote from Will Crichton (2018): "Names are an important tool of thought. Bad names inhibit learning and impede progress."
- Critique of naming conventions that reference their inventors (e.g., Plank Constant, Bernoulli Distribution).
- Dislike for numerical naming (e.g., type 1 error).
- Disapproval of arbitrary or overloaded names (e.g., Kafka, Flink).
- Call for elimination of historical naming accidents (e.g., master-slave terminology, CAR vs. CDR).
Bitwarden's Proprietary Shift
- Issue Raised by GitHub User brjsp:
- Introduction of a proprietary dependency in Bitwarden’s SDK.
- Concerns that this change contradicts Bitwarden's open-source claims.
- User experiences and decisions to switch away from Bitwarden due to these changes.
- Response from Bitwarden's CTO, Kyle Spearin:
- Clarification that SDK and client are separate programs.
- Commitment to maintaining GPL compatibility.
Forking Best Practices
- Insights from Joaquim Rocha:
- Challenges of fork maintenance and keeping changes synced with original projects.
- Recommended practices for developers:
- Use atomic commits.
- Identify fixes vs. non-fixes.
- Avoid "evil merges."
- Rebase early and often.
- Contribute changes back to the original project.
- Maintain a good relationship with upstream projects.
- Implication of a market opportunity for simplifying code collaboration processes.
The Value of Attending Conferences
- Sophie Koonin's Perspective:
- Conferences offer more than talks; the "hallway track" provides valuable networking opportunities.
- Encouragement to engage with others and participate in discussions.
- Recommendations for smaller web conferences around the world.
WordPress on SQLite
- Comments by Mike Hoye:
- Critique of ongoing issues within WordPress development leadership.
- Creation of a repository to modify WordPress to run on SQLite, simplifying installation and management.
- Advantages of using SQLite for minimal setups.
Sponsored News
- Socket Updates:
- Introduction of Java and Ruby support for secure open-source dependencies.
- Launch of Socket Optimize CLI for better dependency management.
Closing Remarks
- Encouragement to check the companion newsletter for further stories.
- Teasers for upcoming episodes featuring discussions on Elastic's return to open source and a celebration of Free Code Camp's 10th anniversary.
- Call to action for listener reviews and participation.
Key Takeaways
- Naming conventions in software can significantly impact understanding and productivity.
- Transparency in software licensing is crucial, especially for open-source projects.
- Forking requires careful management to avoid technical debt.
- Conferences play a pivotal role in community building within the tech industry.
- Alternative setups (e.g., WordPress on SQLite) can ease dependency concerns for developers.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Transcript
Automatic transcript. May contain errors.0:28What up, nerds? about it, which she did by the way. Turns out Devin's been doing far more than just studying and talking about city building. She announced late last week that her and some friends are creating a new town in California wine country called Esmeralda. How cool is that? Kind of makes you want to throw that crud app out the window and think bigger. Huh. Okay, let's get in to this week's news. Naming conventions that need to die. Here's Will Crichton writing in November of 2018. Quote, names are an important tool of thought. They provide a loose, lightweight way to manage and structure knowledge.
1:11However, bad names inhibit learning and impede progress. We should root out and destroy the processes that lead to bad names. End quote. Will takes umbrage with names that point back to their inventor or discoverer, such as Plank Constant, Bernoulli Distribution, etc. He also doesn't like using numbers as names, like type 1 error, type 2 error, etc. Or lazily choosing a random word like pig, flink, spike, hive, arrow, Kafka, all of which are Apache projects. And he'd also like to expunge historical accidents, like master-slave, CAR versus CDR, enlisp, etc. I will add another. Stop using names that are already overloaded.
1:56For instance, if the name you like has a lengthy disambiguation page on Wikipedia, go. Maybe pick something fresh. Or I guess you could just throw lang on there at the end and call it good. Bitwarden. No longer free software? GitHub user brjsp noticed that the bitwarden Warden team recently introduced a dependency in their clients that contains a proprietary statement in its license. Quote, you may not use this SDK to develop applications for use with software other than Bitwarden, including non-compatible implementations of Bitwarden or to develop another SDK. End quote. Since it is not possible to build Bitwarden clients without this dependency, it appears that this has leavened the whole lump of software.
2:45GitHub user XNDC followed up with. Also see pull request 898. It looks like this is part of a deliberate campaign by Bitwarden Inc. to fully transition Bitwarden to proprietary software despite consistently advertising it as open source without informing customers about this change. For whatever the opinion of one user is worth, I've switched away from Bitwarden due to this. End quote. Later on in the thread, Bitwarden founder slash CTO, Kyle Spearin posted this reply. Quote, thanks for sharing your concerns here. We have been progressing, using of our SDK in more use cases for our clients. However, our goal is to make sure that the SDK is used in a way that maintains GPL compatibility.
3:31One, the SDK and the client are two separate programs. Two, code for each program is in separate repositories. Three, the fact that the two programs communicate using standard protocols does not mean they are one program for purposes of GPL v3. Being able to build the app as you are trying to do here is an issue we plan to resolve and is merely a bug. End quote. Kyle's statement was analyzed and addressed by user Gash on Lobsters. We'll link to that. How far down the rabbit hole will this one go? Forking best practices. Here's Joaquin Rocha. Quote, Fork maintenance, keeping your changes in sync with the latest updates from the original project, can quickly become a mess.
4:15Trust me. Over the years, my work did sometimes involve maintaining forks of various open source projects. That's not the case with my job now, but when a colleague reached out for help with a fork that hadn't been rebased in ages, it got me thinking that the steps I follow might be useful for other developers too. Hence, this article. End quote. This is an excellent guide for what can be a tricky, aka frustrating, task. Before Joaquin gets into the rebasing slash merging section, he kicks off with some great day-to-day development tips, such as 1. Use atomic commits. 2. Identify your fixes and non-fixes.
4:553. No evil merges. 4. Rebase early, rebase often. 5. Contribute back changes. And 6. Keep a good relationship with upstream. Side note, I don't think we should need all these guides. There's a lot of value, aka money, to be made by anyone who makes the entire code collaboration process an order of magnitude easier. Please, someone go for it. It's now time for sponsored news. Socket adds support for Java, Ruby, and Socket Optimize. You know we're fans of Socket, and we're even bigger fans of secure open source dependencies. Socket recently announced three major wins, taking us another huge step in this direction.
5:40One, Java support. With this release, Java teams can now leverage Socket's comprehensive security tools to protect their software supply chain from the rising threat of attacks. Whether you're building large-scale Java enterprise apps, maintaining a legacy Java monolith, or shipping an Android app, Socket has your back. Two, Ruby support is now in beta and ready to try for all users, enabling security scanning and zero-day supply chain attack prevention to your Rails projects in just two clicks via the free Socket for GitHub app. And three, Socket Optimize is a new powerful CLI command you can use for proactive dependency hygiene.
6:20It's designed to make it easy for devs to reduce dependencies, leverage new platform features, improve performance, and address security issues, all with a simple CLI command. Learn more about these announcements at Socket's awesome blog, socket.dev slash blog. You should go to conferences. Sophie Kunin, whose website is too cool, by the way, makes her case for you spending time and money on attending conferences. I agree with all of her major points, but especially this one. Quote, the talks are obviously very important, but one of the best things about conferences is the hallway track. That is, meeting and chatting to like-minded folks.
7:02Organizers will often encourage the Pac-Man rule, standing in a circle with a gap, to always allow new people to join in, end quote. We love the hallway track so much, and we're coming soon to Raleigh, FYI, that we created an entire flavor of the changelog in its image. Yes, changelog and friends is like putting the hallway track at your favorite conference on repeat year round. Sophie also gives some conference attending advice and shares some of her favorite smaller web conferences in the UK, Europe, and the rest of the world. Press Onward, putting WordPress on SQLite. M. Hoy says, quote, Mullenweg's been melting down for most of a year at this point, and there's no end in sight.
7:47My heart goes out to the people who work there. Kids, when somebody offers you money to quit, you take the money and run every time. But ultimately, his tantrum doesn't matter. It's all free software. People might depend on the code, but nobody depends on the companies. That's sort of the point. end quote. To make life easier on those of us caught up in the crossfire, he created a repo, which we will link to, that takes the WordPress tarball and modifies it to run on SQLite. Quote, it's nice. You can have WordPress without needing babysit MySQL, run a big machine, or really much of anything. Installation is a breeze, and if you turn off comments and put WP Super Cache in front of it, it'll be perfectly happy humming along day to day on the tiniest VM you can find.
8:36That's the news for now, but do scan our companion newsletter for even more stories worth your attention, like why Ben Wordmuller is still excited about the web, a new Node.js MVC web app framework, and everyone's favorite pyramid scheme of awesome links. If you don't get the newsletter fix that bug at changelog.com slash news we have some sweet episodes coming up this week on wednesday elastic cto shay bannon talks elastic searches return to open source and on friday we celebrate 10 years of free code camp with quincy larson have a great week leave us a five-star review if you dig the show and i'll talk to you again real soon
9:249...
From the publisher
Will Crichton wishes some naming conventions would die already, GitHub user brjsp noticed that Bitwarden's new SDK dependency isn't open source, Joaquim Rocha details his forking best practices, Sophie Koonin explains why you should go to conferences & Mike Hoye puts WordPress on SQLite.

