Ten years of “Go: The good, the bad, and the meh”
I wrote a blog post ten years ago. How do I feel about it now?
The latest blog posts to take off on Hacker News. 3,708 posts.
I wrote a blog post ten years ago. How do I feel about it now?
This post is about why we need a coroutine package for Go, and what it would look like. But first, what are coroutines?
The Internet is the first thing that humanity has built that humanity doesn’t understand, the largest experiment in anarchy that we have ever had.
Programming language features are never orthogonal.
Three years, two states, and one pandemic ago, I wrote about a very weird idea: what if the type system could track which data existed before a pure call, to eliminate its memory safety overhead? 0
Let's abuse a bug in java.lang.String
Before getting too far into the weeds, let's begin with the results. Without too much effort, an AI was written in clojure that could complete all of the levels in the original Super Mario Bros for the NES except for the Bowser levels that have mazes. Namely, levels 4-4, 7-4, and 8-4 were not completed (more on this…
Coding in Rust and others; making coding videos.
Goroutines are the single feature that distinguishes Go from other languages. They look very much like threads, but they are cheap to create and manage. Go's runtime schedules goroutines onto real threads efficiently so you can easily create lots of goroutines.
Designing a language, types first
What are the problems of C, and how Zig addresses them?
(This is a section of the lilos intro guide that people seemed to like, so to increase its visibility, I’m lifting it up into its own post and expanding it a bit. I hope this is a useful companion piece to the post on async debugging I posted this morning.))
How a programming language from Sweden powered one of the most valuable startup of the 2010s.
I thought it would be fun to go outside of my comfort zone of web development topics and write about something completely different and new, something I have never written about before. So today, I'm…
For a while now I've been trying to find a good way to explain what structured concurrency is, and how it applies to Rust. I've come up with zingers such as: "Structured concurrency is structured programming as applied to concurrent control-flow primitives" . But that requires me to start explaining what structured…
Scott Mabin's blog
What can it teach us?
2024-07-06 I’ve archived this post Looking for the post Racket frustrates me? You can read the original post on The Internet Archive’s Wayback Machine. Why archive this post? It’s been about a year since I published this post and since realized something: I don’t have any skin in the game anymore. My workflow is now…
Dafny is a programming language which often genuinely amazes me.
You should give it a try!
It's not about technology for its own sake. It's about being able to implement your ideas.
Listen, I didn’t plan on making a whole ‘writing X like Y’ series. But here we are.
Thank you to Seth Brown, Eric Oestrich, and Kevin Rankin for reviewing this article.
A very good friend of mine has been experimenting with trying to coax Chat-GPT4 to successfully do basic coding tasks. So have a lot of people these days, of course. In an idle moment, though, my friend submitted the following query:
A look at TypeScript’s structural type system, and we how we can effectively use it to our benefit.
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
I've spent most of the last decade exploring this area (mainly to design Vale 's memory safety) and I've discovered some surprising things .