Bert Hubert
Appearances
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, but you could actually do. These cookies are very valuable. Because these are the session cookies that allow you to do stuff. Well, it now appears that the new barrier is they will execute your JavaScript. Okay. They will execute your posts. Okay. But they will not, for now, click on a button. So you must have a button in there right now. And that button then does the post.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. And, but, but, but there's no, no one, no Microsoft did not announce that they would be doing this. And they have also not announced that they're not going to click on buttons. So maybe one day they will click on buttons.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I've since heard many people, they told me that Trends Micro also does this. And actually, I ordered some hardware stuff from a store today, and they have a link that is vulnerable to this. And when you have to click, it says, I'm going to collect my hardware now. And that is already useless for them because Microsoft is doing all the clicking right now.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Oh, this is a story. This is a story. So on the one hand, they have a glorious API. And actually, I didn't read the manual. They use this thing called OpenSync or something like that. And that is apparently a sort of weakly determined standard by which you can replicate a relational database to somewhere else. as a series of XML changes.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And you can pull these, you can say, I'd want to get all your changes since marker such and such. And that's actually pretty nice. So it is quite convoluted because I think it would have been easier if they just said, look, this is our SQL database and you can query it. But now you get this stream of XML messages and that is actually quite glorious and good. Now, now is where the problem comes.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Governments, when they send you documents, they love PDF. PDF has a lot going for them. You have PDF slash A, which is an archival form of PDF, which is actually nice because that's the sort of PDF variant where you can say, I'm sure I'll be able to read this PDF 50 years from now. So it only uses built-in fonts. It has no language. It doesn't do anything.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So governments really love their PDF files. The thing is web users do not love their PDF files. Web users want to see web pages. They want to see HTML. They just want to click. And the thing is, when the Dutch government gets a document, it starts life as a Word document, a DocX document. which is easily processed. Then they convert it to XML, which is also easily processed.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And then finally they convert it to PDF, which is not so nice to process. So in order to make all this stuff work, I found out that there is a sort of official government archive of government documents. And there they also publish the XML. So in the course of this trajectory, I retrieved the document like four times.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And to save it, I have to retrieve it from some kind of official government archival site where there is XML. And that XML actually is glorious. So when someone speaks in Dutch parliament, they make a note at the exact timestamps when they speak. And this is so they can match it up with the video.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But it also allowed me to make these statistics and say, who are our sort of Congress people that talk the most? or that talk least, or that have the longest sentences. And because they log it all so well, I could also, who are the fastest talkers of our Congress and who are the slowest talkers? And this is of course not very necessary, but it is a lot of fun.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But yeah, I never used to be a fan of XML, but it does actually get the job done in this case. It's actually not so bad.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, everything is better than the PDF. I mean, people, I understand that people sort of love it because it feels like it's a standard format and you have everything in there that you need. But to process it, it's nasty. I mean, for example, if you have a two column PDF file, it's actually not easy to figure out that it is a two column PDF file.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Because if you look at the postscript, it's just a sentence and a bunch of spaces and then another sentence, which is the next column. So it's all not that great.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Actually, no, we don't. And I try telling people that our government, our politics are also becoming wilder and less useful. But we haven't yet sunk to the level that we need a filibuster kind of thing. So for now, if you have a simple majority, you can actually get stuff done in Dutch government. But I worry where it's going.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, yeah, we do. And we have these people that actually, well, they will talk your ears off. Uh, and actually it's not always who you think it is. It is, it is sort of funny to, when you run these numbers, you find out that it's actually, uh, quite often that it's different reference from what you thought it would be.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, no, that was very impressive. And they should do more of that.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Well, that is in New Zealand. That's what you're referring to, probably. Yes. Yeah. So they had a law that was passed, which was not good for the indigenous people in New Zealand. And then they got really upset. And then the indigenous people or the people affiliated with them in parliament actually performed the whole song.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
a protest song in government, which is really a very important thing in New Zealand. But it was, I think, a great way of making a point. And I have not, I cannot imagine US Congress breaking out into a song. Oh, goodness gracious. Please, no.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, so it was invited. So I'm a very part-time technical advisor to the Dutch government also, to what you would call the FEC, the electoral board. And they built this software for tabulating the national elections. And they are revamping it. And they said, look, would you take a look at our code? Can you tell us what you think about it?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I looked into it and I found that they were doing sort of more or less standard 2025 software development. And then I wondered, and that means having like 1600 dependencies. Because if you have a Node.js built project these days and you install it, it will, for starters, pull in like a thousand dependencies. And then you haven't done anything yet even.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And so I looked into that and I thought, well, this is not going to be something that's viable for the next 10 years. because these dependencies change all the time and NPM might go away for the next 10 years. So I turned that into a study. What would you do these days if you had a like 10 year software project?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I went to Mastodon, that is really good social network to ask these kinds of questions because they're like full of nerds. And they're my people. And so I asked them, I said, look, what are your thoughts for anyone doing long-term software development? And we had people weigh in that have a software with an 80, and not 18, 80-year horizon. Wow.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And these are people that study and have to measure the radioactive decay of nuclear waste. And they are tasked with measuring and supporting that for the next 80 years. And so they spent quite some time thinking about this stuff. And it turns out that actually it's sort of modern software development.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
It's like sort of the complete opposite of what you would do if you want to have software that works 10 years from now. And in the sense that we have these huge, that's even building software is fragile right now.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So if you just, not even that it does the same thing, but if you want to build a sort of standard 2025 software project, you need a working internet connection and like hundreds of servers around the world that supply you with data even before your software runs. And that is not something that is a healthy thing to have if you want to promise people that it will work 10 years from now.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So I got a bunch of very strident feedback from people. They said, well, if you look at the problems that people have with old software, something goes wrong with the software. There is a problem. Something always goes wrong, of course. And then in your mature software project, you need to figure out what is actually going wrong. And the most, what almost everyone said is keep it simpler.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Of course, we all know that we should not write software that is as complicated as we can make it because that's not going to end well. But everyone said, look, we had very bad experience. We need to figure out seven years ago why this clever code, what it actually does. And then often you find that this clever code, there was no need to make it clever.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So if you have like 10 political parties or in the Netherlands, maybe fun, we have like 25 active political parties. So that's, I mean, you have two. Yeah. But can we borrow some? Yeah. Well, yeah, you could. Well, there's no, having 25 is not, not an optimum. I can tell you that.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But even if you have 25, there is no need to set up a complicated data structure to hold 25 political affiliation names. Okay. But one day you might sit there and say, hey, wouldn't it be useful? Wouldn't it be fun if we had a complicated red-black tree so that we could make really rapid searches of our 25 political parties?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And then you sit there and maybe in 2032 trying to debug why it doesn't work. And that's because you try to be clever. And like so many people came to me, they said, if I had one regret, it's that we built things too complicated. And then seven years later, no one understands the code anymore. And the other thing that people came up with is that people change jobs a lot for a number of reasons.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But if you want to do long-term software development, the easiest way to do that is with long-term employees. Because they build up knowledge, they know how the stuff works. But if you have people that are changing in and out all the time, then you become very reliant on good documentation. And it's, of course, always good to have good documentation. I mean, by me in all means, do it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But it's very hard to compensate for all that knowledge walking out of the door. after two years. So they also, people said, look, you really need to, I mean, it's old fashioned and it's almost crazy talk these days, whether you really need to just invest in keeping your developers happy And wanting them to stay for like maybe seven years or eight years or something like that.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But again, this is also not how many places work these days anymore because they have contractors and they zoom in and they zoom out. And it's very... So it's actually... As a result, so I wrote the article based on my presentation to the Dutch electoral board and it hit Hacker News and other people. And amazingly, almost everyone agreed with it. It was very rare that it happens.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But like 30,000 or 50,000 people read it. And based on that, I got a lot more feedback. from people that said, look, we are doing nothing like this here. We are following sort of the Facebook model of software development where we deploy all the time and most days of the week it actually works. And sometimes we go through a bad patch.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But then there are all these kinds of people that have to make software that opens and closes bridges and doors and MRI scanners that could physically tear themselves apart or pacemakers or robots that actually do surgery. These people are like no one understands us anymore.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Because if we do the regular software development thing, they start with stuff that is so fragile that we would never entrust that to open or close a bridge or launch a rocket or whatever.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So it's actually becoming quite a rare skill to build the kind of software that has like safety of life consequences to a bunch of people that will start with downloading the latest JavaScript framework, even though that might be very nice for your website.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, I collected very, it is a list of extremely obvious things. But once sufficient people have sort of forgotten about the obvious things, it starts becoming worth your while to just restate the obvious things and say, look, you're not crazy. You're not, I mean, because many of these things are obvious, but also sort of old fashioned. I think it was worth restating.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Also, it has strengthened the spine of a number of people. It has reinforced them. They say, look, let's work on keeping it simple. let's refactor this stuff and let us not optimize these things before they need to be optimized.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But there are, for example, people that take a language standard and see it as a personal challenge to use all of it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. It's like, look, I'm really good at this stuff. And see how complicated this code is. And I think the only people that do this correctly are the people that feel it in their bones. That when they're typing in something complicated, they worry already about the 3 a.m. debugging session that's going to ensue five years from now because they've been through it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. And so I think there are actually a bunch of people that really, maybe it's controversial, but for example, programming in Rust is all the hype these days and it has many things going for it. But when I tell people, say, look, it's quite a complicated programming language, they actually like it that way. It's a challenge to write in there.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And some people actually sort of enjoy writing challenging code. And so I think the best way of writing simple code is having been on call.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
That is like the one way of keeping yourself pure because you know, if I mess this up, if I write this too complicated... it's going to cost me my sleep one day. Basically deal with the mess.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
You're not on call. And in many organizations, there is actually a physical wall. It's just the people that write the code will never, they will only indirectly hear about it if there are any problems with it. And that means that the natural tendency to keep it simple because you know you're going to be stuck with the mess.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
If you put an organizational barrier between dealing with the mess and writing the mess, then it maybe becomes a lot more attractive to try this new style of programming that is like impenetrable.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
You never had the opportunity to find out.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. And sometimes I write code that is so embarrassingly simple. And I'm like, it cannot possibly be enough. And then like five years later, you go like, well, apparently it was simple enough. Apparently it was good enough. And there's also this anticipatory thing.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So for my parliamentary monitoring system, I have a very interesting situation that in parliament are like seven or eight different kinds of important entities. There are meetings, there are documents, there are appointments. And seven or eight is that the tricky thing about that is, can you write a useful abstraction that is useful even when you only have seven sort of different things?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And you could write this lovely generic solution where you could have thousands of different kinds of entities in there. But it would be quite complicated. But because there are only seven or eight entities, it is not always necessary to build this sort of generic solution. But it does feel a little bit bad if you have a switch statement with eight kinds of categories in there.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
It feels a little bit like, no, I should have built an object and inherit from that and made it all generic. And that's also the one thing I see that people are sort of anticipating huge complexity later on, but that might never happen. You might never get to that point where you needed a generic customer service class handler factory.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, so there's one sort of telling story. So I also wrote PowerDNS, which is a name server. And we started PowerDNS in 1999. And DNS evolved over time and it added cryptography to it in DNSSEC. And initially, PowerDNS started out like really simple. And then the world turned out to be complicated and we added more and more complexity to support this cryptography in there.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And it was very difficult because DNS itself, for example, is highly case insensitive. Case really doesn't matter until you start doing hashing and encryption because that sort of, yeah, it cares about case. And usually you sort of end up then, as you described, you end up with a situation that it's just a mess.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And it's very tricky as an organization to allow yourself to say, no, we're going to clean up the mess. So we're not going to do this big, hairy, we're not going to do version two syndrome where we say, no, we're going to make the best version ever that will be so generic that it deals with everything because it doesn't work.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But what does work is actually sitting still and say, look, we're going from version two of the software to version three, and we're going to give ourselves a whole year to just do spring cleaning, house cleaning. And we're going to make the things that were too complicated, we're going to make them simple again.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And back when we used, for example, in PowerDNS, we used simple strings to deal with domain names. It turns out domain names only look like strings. They actually have more complicated semantics than that. So within PowerDNS, the big thing we did, we said, look, we're going to rip out all the strings.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And we're going to move to a dedicated DNS name class that's going to deal with all these weird DNS things. And the only way this could happen is by allowing ourselves like a year to do a cleanup. I can very much recommend doing that.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yes, it turned into a good business. And it actually, PowerDNS is a rare example of a fully open source piece of software that actually turned into a commercial success while still remaining mostly open source.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, there were. Yeah. But you have to have a little holistic view on that because it turns out that we could have focused on where we were making all the money. But it turns out that the reason we got paying customers was that the technical community liked what we were doing. They would recommend us everywhere.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So if we had focused on purely the technical, purely the financial bits, we would probably have had great business for a few more years. But eventually, we would not have been able to do proper DNSSEC. No one in business cares about DNSSEC. They really do not care about that. However, the nerds, the technical people that work there, they really do care about that. And we also cared about that.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So it was, in the end, a solid business decision for us to say, we're going to give ourselves a year to clean this stuff up. And I dare say that if we had not done that, the company would have gone bust later on because it would have collapsed under its own complexity.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But I do not find a lot of other examples where people gave themselves like a year, put the old software in maintenance mode, and we're going to just do cleanup for a solid year. and then come back better. That is actually a very rare thing.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
It was a fun story. So we lived in this university town and we were quite late to get the cable modem. And it may be interesting to know that in Europe, in many places, if you had dial-up internet, it was actually charged by the hour. So we had no local free calls as in other places. So it was a very big deal to get a cable modem.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, well, I think as a concept, just doing a spring cleaning, yeah, we do it for other things. I mean, on equipment, you do this kind of maintenance where you replace the load-bearing parts. And take it out of service for a bit. So, yeah, but it's not very popular.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I mean, mostly you see people just having version two, second system syndrome, where they say, look, now the next version is going to be perfect. I'm going to redo everything from scratch. And then they forgot what made the old version great. That's also a thing. But just doing incremental cleanup, I very much recommend it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, exactly. That's actually also part of the blog post I wrote on the software.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
That's probably where you read it. The thing I put it in there, I got it from an Australian guy. And he said, if you have dependencies in your software, schedule some time. maybe every quarter, just to take a look at all your dependencies. How are they doing? Are they still being maintained? Are the security releases coming out? Has the new VC started the monetization cycle yet?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And the idea there was that if you do this on your time schedule, you find out ahead of time that things are not going well. And the other way is that you figure it out because the stuff doesn't compile anymore.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But interestingly, it's a very interesting, good concept. I sometimes get that reaction when I tell people about unit tests and regression tests. They say, well, look, the software worked the last time I used it, so it's still going to be working.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I'm like, well, just write some unit tests and see what happens, which is basically the sort of same thing where you just ask the computer to add two and two and you check – If it's still four. But still, so often unit tests will find that you broke stuff, even though you thought it impossible that something got broken.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And when I got it, it was very much delayed and the cable company had issues with it. And when they had it going, I started scanning their infrastructure. And I found out that while they had finished setting up their internet, they had not finished setting up their security. So I could sort of waltz right into their servers and stuff.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So I do enjoy that mindset where I say, look, we're still going to test it every time and do that. Because you never know what happens behind your back. But there are people that are like, oh, I'm not going to write unit tests because my software worked the last time.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And it's magical. PowerDNS was, of course, very old. And in 2001, we made the first regression tests and unit tests. And that was like an amazing feeling that your tests discovered that you made a mistake and they told you before you shipped. I mean, it's still a good feeling. And I sometimes give training to scientists on programming.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And when I show them the power of unit tests, they go like, wow, that's just awesome that you get an email message that you made a mistake instead of getting a complaint later on.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, that's the same kind of concept, yeah.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And so I sent a message to the system administrators using the famous wall command. I said, hello, I'm here. And they said, well, if you're so good with security, then come over. And so I got on my bicycle, this being the Netherlands. So I drove to the cable company. And on my way there, I was like, yeah, this could end up like really well. Or I could end up being arrested.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I struggle with this myself because I do a lot of reinventing the wheel often because I know that I could spend the time learning about your dependency and then I would still be disappointed because like two years from now, the dependency will be different again. So I do often spend more time than is wise probably re-implementing some simple things.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I draw a very hard line at cryptography, for example. I mean, unless you are like a famous cryptographer, you should not be doing cryptography. You should leave that to someone else. But even then, if you look at the state of many cryptographic libraries, OpenSSL has been a sort of disaster zone for years now. But I draw a very strong line there. You do not build your own cryptography.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But on the other hand, if someone asks me to be responsible for a piece of software, and it's an important piece of software, it's not a birthday calendar. It's something that people rely on. I need to know what is in there. I need to know what I'm shipping. And if I run a modern piece of software development and I end up with like 300 dependencies, which are also included dynamically,
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So at one point, I was in a situation where we said, we have to audit this software. I said, okay. And then it turned out that if you would build the software three weeks apart and you didn't change anything, it still would have changed. Because by that time, the dependencies had moved around and shifted their own dependency.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So I'm actually sort of hardcore in the sense that I don't think you can ship software with like... 300 dynamic dependencies. And people are still doing it, of course. But I do wonder what they're doing. And people have said, look, you C++ people or C people, you have one huge dependency, which is called your library. And you rely on your operating system for a lot.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And that's also like millions of lines of code. But there you have a little bit of safety blanket that everyone relies on the C library. And so there are a lot of eyes on it. And it also doesn't change that much. And we all rely on the operating system. And lots of people are looking at that. So I... I'm sort of maybe on the low end of rebuilding my own wheels too often.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So I just waltzed into their systems and it ended up really well. A little bit too well because that was the dot-com boom times when there was such a shortage of staff that I came in, they gave me a chair and they said, sit down. And that actually ruined my studies of physics because then I had this job over there. But it was quite cool.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But on the other hand, I still cannot understand shipping software where you say, look, I honestly do not know what is in there because it gets determined at build time. what is in there. And maybe you could audit 300 dependencies if you would have enough, but it requires a lot of work to actually sort of even figure out who is writing all these dependencies, who owns them.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So, yeah, I struggle with this because when I tell people that I simply cannot believe that you run npm install get, I counted it, 5 million lines of code come out when you do that for the most basic product. How can you ever know what is in those 5 million lines? But apparently I'm old, apparently. And it is now considered very normal. And I know for a fact that my car has NPM in there.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I find that worrying. How do you know? Because it tells you so. There's this screen that says the copyright and the licenses and stuff. And it says, look, React is in there and NPM is in there. And I hope it's not in the driving parts of the car. I hope this is just a radio or something like that.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I hope that is the case. I hope that is the case.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, it is. And I come from a world where people also have to develop on networks with no internet connection. And it's just basically impossible for many people to function there anymore because you try to do something and yeah, there is no internet. There is no network.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And the people that are in national security software or encryption software or that kind of stuff, intelligence agencies, they are actually in trouble because the art of developing without a fully functioning network connection That's dying out because there are lots of people that they need a runtime connected to the internet to get anything going.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And even then, your software might be relying on third-party services, CDNs somewhere. And if you're running this nuclear power plant where people say, look, we're not going to connect you to the internet, it's becoming a vanishingly rare skill of being able to build software that runs without a network connection.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
It was very nice to scale an internet service provider from like 50 users to 50,000 users. I mean, everyone should maybe one day scale a company by three orders of magnitude. It's very educational. So I had a great time there. And it was a wonderful way of sort of learning how to run an internet service provider. Yeah, from scratch, which is very educational.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. And these are, I mean, these things all happen. So I've worked with an impossible Python project that just requires two different versions of the same dependency. And they cannot do it. And you also don't know how to recover from that. But on the other hand, it is, of course, sometimes great fun that someone just moves ahead so quickly. because they embed all of Chrome in their project.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
They say, yeah, boom. And then I'm sort of this ascetic person that then needs to be really, yeah, I need to work really hard to display something that looks like a webpage. And someone else has no qualms at all about embedding an entire electron copy. So it is always a bit of tension. It says, look, I'm telling you about these things that will be bad like five years from now.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And these people, hey, but I'm shipping today. So I do really feel that stuff. But especially lately we had InfluxDB, I think, which all of a sudden, which is a time series database. And I think that they have now limited you to 500 metrics or so because they want to make money. And of course, I respect that they want to make money.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But if you built your whole project on InfluxDB, yeah, you have an issue right now because your business model might not support their business model. Is this a recent change that happened, or is it something that's... Yeah, I think it's launching from the past two weeks or something like that. Is that right?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Which is why I tend to do almost everything with SQLite, because we know SQLite is going to be around forever.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
and um and and we know the people that run it and um they're not going to do anything like that they don't want to do anything like that so there you know that like i can i can really i mean 100 years from now people will be able to read sqlite files it's that abundant right now so then i like i i try to stick with these things that way you be sure that look
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
25 years from now, they will have this software around. And so it's not going to bite me.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Actually, that would be good. So we, of course, have these sort of S-bombs right now, the software bill of materials. But that is only like, yeah, it's this piece of software and it's that version. But it would indeed be very interesting to say, look, this software is actually funded by this company Foundation or something like that. And it's well-funded and they'll be around forever.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Because if you mess it up at that stage, it's not so bad. But if you mess it up by this time, like Comcast scale, it is pretty bad.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Or you find that, yeah, this is actually one guy in Nebraska, the famous one guy in Nebraska. Yeah. That would be very good. But I do want to share one other technique I use to figure out how my dependencies are doing is I just use a dependency for a bit in an isolated fashion. And then I will always run into some kind of issue. There's always something.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And then engage with the project, see what happens. So you go to the project and say, hey, I just put, I did it with SQLite, for example. SQLite had a new feature for database replication and it's really cool. I really recommend it. It was very new. And I was wondering, can I build on this? Is this solid enough?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I tried it and there was an issue and I filed an issue with the SQLite project and they fixed it in 25 minutes. And they immediately believed me that there was an issue and they were on it and it was just done. And when you do this with a dependency, you will often find out that no one responds to your worries. Because they're not paying attention.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So actually trying something and then just opening a ticket and figuring out how do they respond. And this is incredibly telling. But again, this requires work. This will require you a few hours at least per dependency to figure that out. And then people say, look, I have a thousand dependencies and I won't have time to figure that out.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And my response would then be, then you should not be shipping a thousand dependencies.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I think it is. And there are things that, I mean, like I said with cryptography, I mean, the cryptographers out there, they have done a better job than you would ever do. Or otherwise you would be a cryptographer.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But it is, yeah, but I think it's somewhat of a lost, I mean, I tell people, you probably remember the NPM left pad thing, which was where you could left align the string and someone removed that or made it malicious. And then the whole tower of dependencies came falling down. And when I tell that these days to people, they say, look, I worry about left pad.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Then many people go like, what is left pad? Although that should be part of our sort of engineering lore, right? That says, look, do not go around depending on single line files that could be taken over by any random internet person someday.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, well, relatively speaking. I mean, there are many people that are like 30. And I'm starting to find people that are 30 to be a bit on the young side, but that's just me.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
It's all relative. But yeah, this is something... I mean, this is just the way modern software gets developed. And of course, we have the diehard to do embedded software or really the safety of life stuff. But we are in a very... in a small minority and the minority is getting smaller.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, I actually wondered if anyone had written a book about it. But I don't think we've had that rate of scaling that we had in 2001, like where you would like double every month or something like that. Right. One of the main things I learned there is that it was quite amateur stuff. So you need to professionalize and figure it out.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, so I did a talk on this and that actually for Dutch networking community, NLNOC, which is great. And the thing I tried to get across there was you have these new things coming along all the time, the new and shiny. And there are the people that are just always attracted to the new and shiny. And they have a glorious time discovering all kinds of new things and fun.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And there are, of course, people that are still, as I call it, rocking it with Ork. because you get stuck with, yeah, this worked for me in 1997 and it will work for me in 2029 as well. Right. You have to strike this balance to say, I enjoy the new and shiny, but not too much. And you should also let go at some point of Perl. Or org or whatever.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. It's high time. It's high time. It's high time. Yeah. And I talked, for myself, I also sort of, I'm a bit ambivalent about this because on one hand, I love the new things and I think everyone should be. So I do a lot of JavaScript, for example, but I've also been doing C++ since like 30 years.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And people are, you could on the one hand say that C++ is starting to get old and maybe you should move on to something new. But there I decide, no, look, I'm like really good with C++ and I'm getting this stuff done. So, and I know there are issues with it, but hey, it works for me. But on the other hand, I have no problems with doing all kinds of newfangled JavaScript things.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And that was sort of the upshot of my talk where I said, look, Enjoy the new Shiny and do study it, do look into it, but don't just shift whole frameworks every few years because they are just, yeah, the bee's knees right now. But also do not get attached to your extremely old frameworks. And I think that is actually, that's why I wrote this post and did the presentation.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I think this is one of the most, biggest determinants of your technical career. If you would take a look at the technical development over like 20 or 30 years, how you look at new things really determines if you're going to be in technology for the long haul and continue to be relevant and effective, or if you have to bow out and become some kind of manager because you're no longer with it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And managing that is, I think, a very important part of a programmer's career also.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
No. And, but there are, it turns out there are many employers that actually also do not believe in change. Sure. So you, you can end up in some kind of insurance place or a government tax agency and work with 25 year old technology. Right.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, they're still rocking it over there. So it's not necessarily, you could come at a point in your life where you say, look, I don't need all these new things anymore. And I have only so many years left in my career and I'm going to spend them in a basement in some kind of insurance place. So it's not all bad, but it is something that I think you would have to just ponder for yourself.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Say, am I going to invest also? Because there comes a point in your life And I think we touched on this in this presentation also where I'm just saying, hey, these 2,000 dependencies, they're all bad. And there is a risk that at some point in your career, you go like, look, things used to be better and all this newfangled stuff is just wrong.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And when you hit that point, you have to have a real good think. Am I leaving the industry behind? Am I just old now? I'm just sort of a sad person that sits there and say, well, in my time. And you should at least when it happens, it should be a conscious decision where you say, okay, I love this old stuff more and I'm not going to pretend that my old stuff is better.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I'm just going to admit that I'm really good with this old stuff and I enjoy doing this old stuff and I'm not going to tell you that Rust is wrong or that Swift is wrong or that whatever new thing is wrong, I'm just going to enjoy my old stuff. But it's really sad to see some people see new things happening and they just get stuck in telling you how great their old stuff is.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, so this is a terrible story. So I'm like, so I'm terrible at Python. So I write a lot of Python, mostly for making graphs in Matplotlib and Jupyter. But my Python is like really terrible and has been terrible for like for the past 20 years because I've never written anything. I only write scripts in Python and I've never invested in really learning that stuff.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So in Python, I'm like really the copy paste engineer. And JavaScript, I actually sort of, And made a weird decision. At one point, PowerDNS was like really not going well, my first company. And then I decided I wanted to invest some time in this new web stuff. And every serious programmer hated JavaScript with a passion. And I was like, well, that probably is the future. That was a good call.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
That was a good call. I'm not going to say that. I probably just got lucky at that time. So JavaScript, I'm sort of reasonably proficient in. And C++, that's a weird thing. That's my workhorse. And the thing is I use like 20% of C++. Because over the years I've learned there is a good core in C++. It's like a really solid language and it's good stuff. And then there is a lot more stuff.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I'm sort of a diet version of C++ where I'm like, look, I know the good parts now. I'm not leaving the good parts. I'm just staying there. So that's the other thing. And lately, I've had to admit that I'm sort of skilled at HTML now, which I never saw coming. Apparently, I got a little bit of that going. But that's really it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I got my start with Perl, which was also sort of, I found that people were sort of, didn't take Perl seriously. And I also did not take Perl seriously. And at one point, I had to do a lot of data crunching, like millions and millions of lines crunching.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I thought these Perlweenies, I can do this better in C. And then I found out that these Perlweenies, they do know a lot of stuff about parsing files. And so that was a humbling experience. But these days I sort of have a trifecta going of C++ and JavaScript and mostly SQLite in the backend, because I've invested a lot of time in understanding its quirks and its stuff.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And it's actually really sort of solid stuff. uh, data handling framework. And, uh, to the point that I now sort of trust SQLite files more than text files, because it's quite easy to mess up a text file. Uh, once tray, once tray carriage return, and then it's done. Sure. Uh, SQLite will not, not disappoint you on that front.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And on my bicycle back home again, I got already, I was barely out of the building before they called me and said, what did you do? And so I had to rush back in. And that was, I think I learned a lot there in the sense that you really need to, it's nice to hack yourself around these bugs and then feel really good.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I've actually been sort of not that happy with, for example, programming languages. If you look at the development of programming languages, you see that in the past years we've not gotten closer to the ideal programming language. So there is something wrong with every programming language right now.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So some of them, they're like really safe and some of them are really fast and some of them are really simple until you try to do complicated things. And I'm still hoping that someone someday will square that circle and have the programming language that is sort of simple and fast and safe and maybe fun, but we're not really getting there.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And the other thing I, of course, worry about, we have all these frameworks for website development, and these are also not improving. They're just changing. And one thing that I have a serious... Yeah, one thing I would love to build. If you look at any kind of software, it involves interactions.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So you have to do things with the software and you might have to sign up for a website and then you get assets that are yours and you can configure these assets. And that is a whole workflow kind of system. And I would love for us to move into developing workflows. instead of developing web pages.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Because if you look at most interactive websites, they're still like, well, we built this page for you and that page is full of conditions. It says, well, you have to fill in this, you have to fill in that, and then you can press send and then it happens.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But I would love for us to move to a higher level description where you say, look, this is a website where you can sign up for college or whatever. And this is in a domain specific programming language where we say, look, you can only move from this state to that state once you have filled out the following things.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And if we'd ever developed that, we would get so much more robust signup flows because the system is just aware of what can happen and what cannot happen. And I would love one day for someone to develop this higher level way of interaction developing. And I'm sure that it has been done in some places. But I would love to have the kind of this as infrastructure.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
He would say no one has to write a transition handler anymore that decides if you filled in the right zip code or whatever. I just want a library that already knows what the zip code is as a primitive. But I don't see any of that happening. I see new iterations of ways of creating HTML pages.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And every five years you get a new sort of wave of these new frameworks, but I don't see any of that high level stuff happening.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But it's also maybe really good that once you fix the thing, then to also sit down and really tighten things up again and not just shut down your laptop and shut down the whole internet service provider.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
A spoke, yeah, it does the one thing. So I also do presentations and you can hire me as a speaker. And my speaker agency wrote a whole low-code solution system just to do the logistics of that. And it's sort of wonderful in a way because I'm really impressed that they managed to build that mostly themselves.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But on the other hand, every time I do something with the system, it takes like three seconds to go to the next page. And I'm wondering what is it doing in the background, but it's sort of, it is impressive because it is built on this concept where you click this stuff together without having to be a real programmer.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But the thing is, I would love to be a real programmer and have the primitives that make me do this safely and at a higher level.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. So I had this in this talk on dealing with change. I also mentioned AI. And then a part of the audience goes like, yeah, AI. I want to do everything with AI. And part of the audience goes like, no, it's unethical. It's bad. It's not as good. It's not reliable. And of course, it's tricky to find the middle ground in there.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
When you say the AI is just astoundingly good at transcribing spoken text. It is actually super human. So there is this whisper system from open AI. It does 99 languages and even does languages where they didn't know that it could do it. And it is super human because it's better than any human being on the planet. So there is actually really good AI.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And then, of course, there are things where we still have to worry, what good is a model that just hallucinates stuff? And we could find that really bad. But it is extremely tricky for people right now to understand that, look, we could do some wonderful things with AI. It really could be good, even though there are some stupendously bad things you could do with it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But I would love for AI to also come into our universe as serious programmers to say, hey, we have this tool for you. And it can recognize if a user enters something, the AI could say, well, this is probably not what they meant. Something like that, that looks over your shoulder.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
One really interesting thing that I learned there, and I've been passing on this message since forever, and I'm also going to pass it on to your listeners. So we had a redundant email setup. And we thought it was good, it was redundant. So there was this guy in charge there, and he said, well, are you sure this is redundant? I said, yeah, it's all redundant.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Or something that deals with, that you have a system that has to deal with user complaints and you have an AI system that automatically does the triage and says, look, this user has a real problem and this looks like only a feature request. I would love to have those kinds of primitives.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But there are people out there that are just once so in love with AI that they're like, we're not going to need programmers anymore. And there are programmers that hate AI so much that they say we're not ever going to touch it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And Adam, as you said, navigating that, we cannot hold back the future, but it's tricky to sort of navigate the stuff that is like good and that we should have more of while staying away from the areas where we say we're going to just replace the whole thing by an AI chatbot.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, I have to admit, I had not thought of that yet, but people did mention it. They say, look, I have 1600 dependencies and I'm going to make the AI look at them. Yeah. It's not necessarily the worst thing to do because the AI might, in fact, very well just figure out that, look, this is just wrong or this code is already in North Korea.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
No, no, I think we touched on the, yeah, we've spoken a lot about dependencies, of course. Of course. And yeah, the thing I keep harping on about, about how do you select the new things that you like, that you don't like, that's something that I would really recommend people to spend a bit more time on because it's really strange.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
If you look at how we choose what technology to use, it's actually quite often a sort of random thing. It's like, hey, I found this stuff on Hacker News and I liked it and I tried it for a bit. I liked it as well. And then accidentally we pick the future direction of our career or of our software project.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So I would really recommend people sort of make more of a conscious decision on these kinds of things. But we covered that already.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And then he pulled the plug on one of our servers. And then everything broke because it turned out that it was sort of, yeah, we felt that it was redundant, but we had not actually had someone pull the plug on us and see if it actually was redundant. And then it turned out that it was not redundant.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I found this new magical database and it does 300 million lookups per second. And these are my experiences. These are the graphs that I made. And then your own coworkers could be the filter because they might not be impressed by your story, for example.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Or you might find because you actually have to get down with it to actually make the graphs to present to your coworkers that you find that the graphs are actually not that great. And so in this way, you can both entertain the people around you with your findings and also use them as a way to keep yourself honest.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And if you don't have any coworkers around, you can write a blog or a vlog or go on a podcast or whatever, but whatever forces you to take a serious look at something and work on how would I present that to someone else?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, so that's an interesting one. So I've been pretty enjoying my time on Mastodon. I think it's really a geek heaven. So that works really well. But interestingly, people ask me that question quite a lot. And I found, and I think it's very weird, a strange sort of regression. Many people are now running mailing lists again and sending out updates and newsletters and stuff.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And I found it to be a bit pompous. to write the mail updates on what Bert has been doing. But apparently there is demand for that. So I am probably going to restart a small newsletter, that kind of stuff. I also used to tell people that just follow me on LinkedIn.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But the problem there is that I'm on the one hand, I'm sort of active in Dutch politics things, which are entirely not interesting to the rest of the world. To a lot of people, sure. And the other way around, and there are many people there that follow me for the Dutch politics stuff. And they are sort of confused. They are massively confused.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And since then, every time someone says, hey, we built this redundant system, I say, can I just go in there and start shutting down some random servers now? Is it going to fly? And they say, no, no, no, no, don't actually be doing that.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And to suddenly see C++ and then they go like, what is this? So actually for the newsletter thing I'm building now, it's actually going to have like four newsletters. It's going to be one for people that like Dutch news, that like news in English, that like stuff about politics and that like stuff about technology. And you can pick your own quadrant there.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
in that to see which updates you want to receive. But for now, if you go to my website, and I'm sure it will be in show notes or whatever, or you can just Google or search Bert Hubert, and then I have a website which is RSS feeds and stuff.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Just put it right in there. Self-important things that you actually all asked for.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
That's the goal.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
I'm like, well, maybe you have to work a little bit more on your redundancy until you can live with me going in there and just shutting down some random stuff to see what happens. So that has always stayed with me. If someone says it's redundant, I'm going to ask you, can I just shut down some stuff for you then?
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
That's not a good thing.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah, yeah. Well, it's a good thing. I mean, if people say, look, it's sort of redundant in the sense that we can make it work again. Okay, that's fine. That's fine. That's my level of expectation that something could fail over and you could rapidly make it good again.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
But if it's not like, but if you're telling me that, look, this is going to be automatically redundant and it's going to work anyhow, then I should feel free to just unplug some stuff and see what happens.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And then you only learn that. You only learn that. So recently I've been, I mean, we might come to that recently. I've now, I'm now running some actual services again that people depend on. 24-7. And everyone has to sort of live through that for a bit. Like experience being on the line. Like, you know, yeah, people are relying on this stuff and I should be doing a good job here.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And that's a whole new level of thinking that you get, which is very different from a programmer that just programs and never get those 3 a.m. phone calls.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. I mean, I get that feeling. I really understand because it really sucks because once you have that stuff running in your house, you have to start planning around things because you cannot just have an electrician come over and redo your wiring and like, yeah, we're going to be down for three hours. I mean, it does make you think.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
It can be. It can be.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Yeah. So I built a sort of parliamentary monitoring system. So we have a Also an upper chamber and a lower chamber and politics house here. And they have a pretty competent website. So it's not that it's bad, but like half a year ago, at one point there was a new law here in the Netherlands, which is quite impactful for the internet community. And we hadn't noticed.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So the law was about to enter into force and we didn't know about it. Luckily, the law was not so bad, but we only had a few days to look at it. And we knew that if it was bad, we would not have been able to do anything in those few days. So back then I said, we can never have this happen again.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And on the Dutch parliamentary website, you can put some search terms and it will send you messages if any new documents match those search terms. It's a bit clunky. It's not that great. So I thought, let's make some kind of advanced warning monitor that we on the internet can put up just searches and say, like, the moment you have a meeting about internet censorship, I want to know about it.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And not only do I want to know when it actually happens, I want to know as many months in advance as possible. And from that, I built this monitoring website and it grew and grew and grew. And actually the sort of fun thing is if you are outside the government, you can innovate rather quickly. And the Dutch parliament is completely open data.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So everything they do, you can effectively monitor the state of the parliamentary documentation system to your house, which I do. And that grew and grew and is now quite popular in the sense that even many politicians are using it and many civil organizations are using it. And the most interesting thing and which I find most important, it turns out that
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
My simple parliamentary information website, and it's like really straightforward, it's plain HTML, almost no JavaScript, works really well with software for blind people. And it turns out there are some government workers that have to work with these parliamentary documents. And they found out that their screen reader software just has a lot of fun with my site.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
So I now have a few low vision government workers that are actually relying on my site to do their job. And that has added to my sense of that is not just a hobby anymore. It's just that people actually need this stuff. And, um, so yeah, this is an, and there from that, I learned all these very interesting things that you only learn when you go live with services, with things that you don't know.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
For one thing that, for example, that I learned is that if you have an iPhone and someone enters a search term in your form and you do that within a quotes, because you want to search for, for a sentence and the iPhone will turn it into smart quotes. And that is not something your search engine is ready for. Your search engine doesn't recognize these smart quotes as smart quotes.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Well, it just puts them in the smart. So I had this weird situation that iPhone users couldn't find anything. And this is the kind of thing that you only learn in production. And the other thing I learned, I have these signup emails where you can, and passwordless login emails. So you can just log in with your email address, which is quite popular these days. And for some people, it didn't work.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And it turned out that Microsoft now runs a security scanner. that will actually attempt to log in for you.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
They're posting to your website.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
And they're posting. And the weird thing is, so the strange thing is they do the post, which is already, I think, violating many people's assumptions. Yeah. You should not be posting on behalf of anyone else. But the other thing is when they do that post, my site actually used to return a cookie, a session cookie.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Which means that Microsoft, with this security measure, so the reason they do this is they want to see, is there malware on this site? And might that malware only pop up after a post? Okay, well, I see where they're coming from. But when they send that post to you, my site would use to respond with a session cookie. It says, well, welcome, you're logged in now.
The Changelog: Software Development, Open Source
Build software that lasts! (Interview)
Which means that Microsoft is receiving tons and tons of these session cookies right now.