Telling the truth in code, function signatures and transparency

When people talk about reasons to use a type system, there are always a couple usual suspects: error checking, documentation, and if you're an IDE person like me, tooling/editor tricks that use type information, like auto-complete. But there's another aspect to the types of funct…
Read more...

Lessons from the first 12 Euler problems in Rust

!! Spoiler Alert !! I'm going to be talking about solutions to select problems from the first 12 Euler problems. If you haven't solved these for yourself yet, I highly recommend taking the time to solve them on your own first. Background Before I went to Microsoft for a stint i…
Read more...

Off to new adventures

A few weeks ago I posted about moving teams inside of Microsoft. As sometimes happens when you make a change, you realize that you actually need to make a bigger change. A few weeks into the new team, and I could tell that it was time for me to move onto new adventures. Microso…
Read more...

Programming languages are a failure

After spending years working in programming languages, helping out with some big-name projects and trying to generally make programmers' lives easier, I've decided something. Programming languages are a failure. Okay okay, before you write this off as a troll for attention, hear …
Read more...

Promising new programming languages

It seems like these days there are lots of programming languages springing up. A combination of the web, parallel programming, and just outright curiosity seems to be fueling creativity towards new mixtures of classic features and experimental new ones. Here are a few new(-ish) …
Read more...