ntietz.com blog: October's posts, chess, ethics, and proofs
Hello and happy Friday! This month has been a good writing month, but for things outside of writing it has been slow, with side quests.
Here are the posts from this month:
A student asked me how I keep us innovative. I don't: This one came directly out of a Q&A session I did with a friend's security class. I liked the student's question, and had some thoughts on how we prioritize innovation vs. shipping solid stable tech.
Estimates are about time, so let's cut to the chase: I'm really not a fan of estimating in arbitrary sprint/story points, and this post explains why. It's a nuanced topic, and one blog post can not do the whole subject justice, so take it with a grain of salt.
Unpacking some Rust ergonomics: getting a single Result from an iterator of them: Rust is my BFF and this is one of the reasons, because you get nice ergonomics for a lot of error handling. It's not unique to Rust, but it's still very nice.
That time I wrote malware and got caught: Like many of us, I've dabbled with the dark side and messed around in high school. This is just a fun post about the one piece of (very technically) malware I wrote.
Outside of my blog writing, I'm still continuing on with the projects I mentioned last month.
The main one is my chess club management web app, which I've severely underestimated the time investment for, as is typical for software engineers. Well, I didn't even do an actual estimate, so I really played myself given this month's writing. Just like last month, I think the first version will be launched in... well, let's make no promises, but more updates next time! For now, I at least have the core features done, and need to do production readiness and polish and silly things like "permissions" so it's not wide open to the world 🙃.
If you want to beta test this and are involved in a local chess club, please email me! You can reply here, or email me@ntietz.com.
One thing that came out of my chess side quest is doing a deep dive into how chess tournament pairings work, and the complexity there is pretty high. It's a big chunk of the 250+ page official rule book. There are some interesting dynamics between different rules, and there are also some assertions that are not intuitive, so I'll need to do some proof sketches to make sure that I grok it. I'm working on one proof right now, which I think should be an easy proof by contradiction but I'm also exploring if it's provable by recursion.
Another goal for the month is finishing up the interpreter for my language, Hurl. Advent of Code starts in a month and I want to do some of the days in my own language, so I better get that interpreter running before then.
Outside of these there are a few of my normal less-technical blog posts coming. Monday's post is currently titled "Accessibility is a requirement, not a feature." Ethical considerations are so core to our field, because software affects each and every one of us, and we have an obligation to our users and to humanity. But we don't spend a whole lot of time as a field discussing ethics, so here we go!
I'm always interested in topic suggestions. If there's something you're interested in hearing about, or you just have a burning question you want an answer to, let me know! And as always, I'd love your feedback (or for you to share this with a friend).
-Nicole