There’s a lot of moving parts, and I guess this is one of the good things about being a developer myself – I’ve managed to just build these parts as I need them. I’m definitely one of those developers who spends two hours writing a script to save myself ten minutes. I’m very much in that group, just because I know what happens over time.
If you have a job that you need to do more than once, you generally need to do it 100 times, so building tools makes sense. So I ended up building tools for doing our booking system for our sponsors, and so on. I’ve built our billing system, because at the time I built it there was nothing that could handle all the different weird combinations of VAT and stuff like that that we have to do in the U.K. as a business. Those systems now exist, I could move on to them, but at the time they did not.
I built systems for keeping track of projects, for keeping track of different websites, for keeping track of RSS feeds – all of these different things. There’s tons and tons of tiny apps that we use here at the company. I mean, I don’t even touch a lot of them now. The booking and the billing system and stuff like that is pretty much for use by the people in the company that handle that stuff. Other than that, my curators lean heavily on some of the discovery things I’ve built, which kind of scrape different websites, and looks at different projects, and things like that.
Perhaps one of the most recent ones I’ve built actually was a tool that uses the GitHub GraphQL API… It’s like a 50-line GraphQL query, or something. I had to learn so much ridiculous nonsense to make it work… But what it does is it looks for projects that match a search query that I might give. I might say “I want all stuff that’s to do with Go” or “I might want all stuff that’s to do with MongoDB”, and then it looks for stuff that has a release or a tag within the past X number of days, and it brings out the information about the star count, who’s watching it, what language it’s in, or what secondary languages it’s in, all that type of stuff, and then works out the version number, and all that type of thing.
So I can find that literally within seconds now what are all the biggest releases of Ruby libraries on GitHub within the last two weeks. I have a lot of work to do to go through those and be like “Well, actually this is just a pointless minor release” or “This is a big deal” and so on and so forth… But at least it gives me the pointers to those things. So I have lots of tools of that nature.
The editor that we use to put issues together, which is now used by – well, three of us in the company use it. It’s basically a live text editor that we can all use at the same time if we wish, so we can actually work on an issue live. We have a kind of weird version of XML that we use to align all our newsletters on the left, and then on the right it’s the live preview, which we can resize to see what it looks like on mobile, and everything… But it’s completely live. So as I’m typing, it updates visually what it looks like immediately. That’s why we can do in the newsletter some interesting visual things, like we can include breakout boxes and stuff like that, that for other people – I’ve seen a lot of people do newsletters, but they’re very formulaic; they always look the same, every single week, whereas I can change the layout of the newsletter almost like on a whim. We don’t tend to, just because of time, but it’s possible to do.
[00:36:17.10] So yeah, I’ve pretty much built all the tools for this thing, and maintained them, and that’s pretty much what keeps me in the development world for sort of 50% of what I do – just mucking around with these tools… But there’s a lot of parts.