

Arch, i3, IntelliJ, VSCode when I’m not in Java.


Arch, i3, IntelliJ, VSCode when I’m not in Java.


That’s not what I was thinking but I like it! Http caching is pretty magic. Stateless nodes and easy scaling too.
For some kinds of problems you really can’t beat varnish and friends. It’s how we have Wikipedia, after all.


It’d be fun to talk shop with the fast code in slow languages folks. I do that for a living. I remember three ways, but I’m sure there’s more:


My first thought was that it’d be a great oracle for randomized testing.
I’m not good at this but that’s never stopped me from making a fool of myself before.
Iterators are monads because they have a flatMap on them. It takes each element and spits out a new iterator which is merged in to the result.
Option is a monad too. Same reason. You can map the contents to another option. And you won’t get called if there’s nothing inside.
Promises are monads too. You can map the result to another promise. The wrinkle here is that you don’t get to know when the map happen. Or it might not get called at all if the promise errors out.
IO can be a monad because you can ask it for input and wait for the result. It’s just the same as a promise.
See how these different things share a common behavior? That’s monad. Or, maybe it’s monoid. Names are hard and I’m busy making a fool of myself.
Monads are nothing more than a useful abstraction. Haskell is famous for them because they couldn’t make Haskell do imperative stuff without them so they spread them all over the language.
We all use them every day in regular programming. We just don’t think of them as a class of thing.
We’re two years out from the API apocalypse. I think. That’s how I got here.


I liked the third half. But it’s quite a shift


I think OP measure of success was getting a job. I think they are wrong because I hear about lots of folks doing cool things. But I get where they are coming from.


I think folks saying you don’t need math are right. But if you are having trouble with college algebra you might have trouble with CS. Or the teacher is bad.
Math really builds on itself at the stage where you are. Without good algebra calculus isn’t going to work well.
I’d try a different teacher. Online courses or repeating the course with another professor or something.
I’m late to this, but could a kind soul explain what I’m missing out on by using urxvt? I settled on it years ago and haven’t changed anything.


I’ve learned a lot by breaking things. By making mistakes and watching other people make mistakes. I’ve writing some blog posts that make me look real smart.
But mostly just bang code together until it works. Run tests and perf stuff until it looks good. It’s time. I have the time to write it up. And check back on what was really happening.
But I still mostly learn by suffering.


I just have to say “tastes like c” is a visceral way to say it. I approve.
I’ve stopped using stash and mostly just commit to my working branch. I can squah that commit away if I want later. But we squash before merge so it doesn’t tend to be worth it.
It’s just less things to remember.


I’m just a hacker. I’ll never be a thought leader. But I am passionate about my work. And my kids.
I love solving the problems. I have a few posts on the company blog but they put a chat bot on it a while back and didn’t care that it felt offensive to me.
But I’m here, reading this. Maybe I’m grey matter.
My analemma.


Try your local library.


I think it was the EPA’s National Compute Center. I’m guessing based on location though.
When I last talked to Richard he had company to work on SQLite. It was like four people.
SQLite is still deployed on everything, everywhere. You browser. Your phone. Macs. Half of Linux machine. Your airplane. It’s super impressive.