New
The latest blog posts to take off on Hacker News. 5,635 posts.
Clojure Plays Mario
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…
Building cross-platform Rust for Web, Android and iOS – a minimal example
Coding in Rust and others; making coding videos.
Why use Pascal?
Object Pascal is a modern, readable, fast, type-safe, cross-platform OOP programming language. It is also easy to pick up.
Goroutines: The concurrency model we wanted all along
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.
Type system updates: moving from research into development
A short status update on the effort to bring a type system into Elixir.
Designing a Language Without a Parser
Designing a language, types first
Problems of C, and how Zig addresses them
What are the problems of C, and how Zig addresses them?
How to think about async/await in Rust
(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.))
Ericsson to WhatsApp: The Story of Erlang
How a programming language from Sweden powered one of the most valuable startup of the 2010s.
A toy programming language in 137 lines of Python code
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…
Tree-Structured Concurrency
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…
Rust on Espressif chips
Scott Mabin's blog
Simula – The forgotten programming language
What can it teach us?
Racket frustrates me
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…
Programming languages going above and beyond
Dafny is a programming language which often genuinely amazes me.
Racket: Lisp for the modern day
You should give it a try!
JavaScript macros in Bun
Call JavaScript functions at bundle-time and inline results into the AST
Is it possible to write games like Pac-Man in a functional language? (2008)
It's not about technology for its own sake. It's about being able to implement your ideas.
Writing Python like Rust (2020)
Listen, I didn’t plan on making a whole ‘writing X like Y’ series. But here we are.
Rust fact vs. fiction: 5 Insights from Google's Rust journey in 2022
Wondering about Rust? We're addressing rumors and providing insight gained from years of early adoption of Rust here at Google.
The Comprehensive Guide to Elixir's List Comprehension (2022)
Thank you to Seth Brown, Eric Oestrich, and Kevin Rankin for reviewing this article.
INTERCAL: Practically impossible
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:
Why doesn't TypeScript properly type Object.keys?
A look at TypeScript’s structural type system, and we how we can effectively use it to our benefit.
Go 1.21 will (probably) download newer toolchains on demand by default
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…
Making C++ safe without borrow checking, reference counting, or tracing GC
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 .
Go 1.21 Release Candidate
Go 1.21 RC brings language improvements, new standard library packages, PGO GA, backward and forward compatibility in the toolchain and faster builds.