The Changelog: Software Development, Open Source - Soft deletion, obscure data structures, driving away your best engineers, a blog platform for hackers & moar RSS (News)

Episode Date: July 25, 2022

Brandur thinks soft deletion probably isn't worth it, the orange website delivers a high quality discussion on data structures, Podge O'Brien drops satirical management advice, team pico delivers pros...e.sh, Mat Ryer shares his thoughts on estimations & Matt Rickard's thoughts on RSS have us thinking about it as well.

Transcript
Discussion (0)
Starting point is 00:00:00 Hello there. Hello there. I'm Jared and this is Changelog News for the week of Monday, July 25th, 2022. Let's get right to it. Soft deletion is probably not worth it, says Brander, an engineer at Crunchy Data. What he's referring to is the practice of not actually deleting data in your application, but instead marking it as deleted, often with a deleted at timestamp, in your database. There's a few reasons to do this. Sometimes it's regulatory, and it allows
Starting point is 00:00:35 for undelete, which is a nice feature. I've done this in the past. It always felt a little icky, like, yeah man, we totally deleted your account. No props. Wink, wink, nudge, nudge, sign them all. But that's not Brander's point in the article. He says soft deletion has some major downsides. It bleeds logic to all parts of your code because you have to filter out the deleted at records every time. It also makes foreign keys kind of worthless
Starting point is 00:00:56 because you aren't actually deleting records, which would trigger the safeguards that foreign key constraints provide. But most of all, Brander says soft deletion is a common case of Yagni. You ain't gonna need it. He worked on systems that soft deleted at Heroku, Stripe, and now Crunchy Data, and he says, quote, never once in 10 plus years did anyone at any of these places ever actually use soft deletion to un-delete something. Over on the Orange website, user Uptrenda asked HN, what are some cool but obscure data structures that you know about? 745 comments later, this discussion thread got thick. That is one big pile of shit.
Starting point is 00:01:39 There's some good stuff in there for sure. In fact, Uptrenda kicked it all off with their own favorite, Bloom Filters, saying, quote, they let you test if a value is definitely not in a list of pre-stored values, or possibly in a list with adjustable probability that influences storage of the values. Here's a good use case, routing. Say you have a list of 1 million IPs that are blacklisted. A trivial algorithm would be to compare every element of the set with a given IP. In that case, the time complexity grows with the number of elements. Not so with a Bloom filter. A Bloom filter is one of the few data structures whose time complexity does not grow with the number of elements due to the keys not needing to be stored.
Starting point is 00:02:21 I did not know that, but I'm glad I do now. Podge O'Brien blogged some solid advice on how to drive away your best engineers. Advice like hire managers that cannot build software, do as many meetings as possible, make delivering software painful, and make engineers estimate their work. Speaking of estimations, GoTime's Matt Reier shared his opinions on the topic on GoTime number 236, thoughts on velocity. We should keep estimation sessions, but throw away the estimations.
Starting point is 00:02:59 The sessions themselves are great. They're so useful to talk through all the work, get all our ideas out, see where the interest lies of who's going to maybe do the work. But the estimations are useless, pretty much. That sounds brilliant to me. I like the way you frame that, and I think it's a smart idea. So I think this is not an unpopular opinion, but just a good idea. Well, I sure hope it makes it to the Twitter feed.
Starting point is 00:03:27 We'll see. Well, we'll see, because I'll be keeping an eye on it like a hawk have you done an unpopular opinion before or is this your first one ever because it's gonna be wildly popular by the way i've done one and i've regretted it ever since and i knew i would so i knew before i said it i was gonna regret it i then said it thinking i'm gonna regret this and then later now i regret saying it do you know what i mean so i do that's utter yeah i call that utter what about this one do you regret saying this one no i think this is all right this one that's gonna be popular might not be unpopular but still a good opinion see what people say on twitter that let them decide really yeah yeah they're brutal out there they are let's tell's tell the truth, you know, when you ask them a question. Turns out I was correct on the opinion.
Starting point is 00:04:07 84% of GoTime.fm followers who voted on the poll agreed with Matt. Listen to the rest of the episode at gotime.fm slash 236. It's a good one, in my humble opinion. Back to Podge's how-to list. It ends by saying, quote, The above are some common anti-patterns for running engineering teams. There are fixes. Some of them are very easy to say and hard to implement
Starting point is 00:04:28 because you live in a system and changing systems, especially ones based on humans, are complex. So I leave you with this comment saying, I acquired from a boss I had in the UK many years ago. If you cannot change your company, change your company. Brilliant! Here's a new service that looks interesting, pros.sh. That's P-R-O-S-E dot S-H. A blog platform for hackers where you can create
Starting point is 00:04:53 an account with nothing more than your SSH public key, create posts with your favorite editor and plain text files, and publish your posts by copying the file to their server with SCP. A few of the team's goals are to promote human communication and collaboration, build a space for the smaller web, use modern tools with care, and do one thing well. Speaking of blogging, Matt Rickard shared some of his thoughts on RSS, which you probably know is one of our favorite technologies here at Changelog. I like you a lot. Matt writes, quote,
Starting point is 00:05:27 No technology other than RSS has had more think pieces written proclaiming its death and links to articles from 2006, 2009, 2010, 2012, 2013, and its rebirth, linking articles in 2009, 2010, 11, 18, 18, and 19. That's a lot of think pieces. Matt's thoughts about the forces acting on RSS in 2022 got us thinking about RSS again too. So we invited our old friend Ben Uboys back on the changelog. Ben is the creator of Feedbin, which has been my daily RSS driver for many years. He has a lot of thoughts of his own on RSS. We had a great conversation about the indie social web, podcasting 2.0, and much more. That episode of The Change Log
Starting point is 00:06:11 is going to drop into your podcast feed on Friday. That is the news for now. If you dig it, share it with your friends. That'd be pretty cool. I'll talk to you again next time.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.