The problem with Go’s default HTTP handlers
Explicit > Implicit
The latest blog posts to take off on Hacker News. 1,551 posts.
Explicit > Implicit
Like several others I am writing an alternative to the C language (if you read this blog before th…
One day before Rust 1.0 was released, I published a blog post covering the fundamentals of error handling . A particularly important but small section buried in the middle of the article is named “ unwrapping isn’t evil ”. That section briefly described that, broadly speaking, using unwrap() is okay if it’s in…
I have been thinking about the semantics of Rust – as in, the intended behavior of Rust programs when executed, in particular those containing unsafe code – a lot. Probably too much. But al...
Using GPU to render vector graphics.
In a post-apocalyptic future with no internet or stackoverflow, let's try to build a programming environment from scratch.
There’s a javascript emulator for the TI83+, TI84+, and TI84+CSE calculators called jsTIfied, which was written by Christopher Mitchell, founder of the calculator fan site cemetech.net. There’s not a whole lot of reasons to use it over something else if you’ve got a native option available, but if you don’t it’s…
gRPC comes up occasionally on the Orange Site , often with a redress of grievences in the comment section. One of the major complaints people have with gRPC is that it requires HTTP trailers. This one misstep has caused so much heartache and trouble, I think it probably is the reason gRPC failed to achieve its goal…
And other lessons learned from creating a popular open-source project (JSON5)
In a startling disruption of the space-time continuum — and a violation of the basic maxim of publishing that nothing is ever on time — the publication date of the 2nd edition of my book Code: The Hidden Language of Computer Hardware and Software was bumped up by 12 days. That means that the publication date is today…
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…
Code review on GitHub has evolved a lot since we introduced the ability to comment on an individual commit in 2008. Users today can propose a change using a pull…
Tweag’s Nix team plans for the coming years
A minimal guide to everyday Git for solo developers: initialize a repo, add files, commit changes, view history, and restore earlier versions.
Understanding how the group by and having clauses work can help us write more efficient SQL. I want to demonstrate this with an example…
Nix is all about applying functional programming to files and processes.
arc42 is a template for architecture communication and documentation. It is a proven, practical and highly pragmatic approach and takes the pain out of documentation.
It’s That Blog Post. The release one, where we round up all the last of the features approved since the last time I blogged. If you’re
Advanced Web Application Architecture allows you to spot what kind of code you're dealing with:
Use connect-web to generate compact, idiomatic TypeScript clients for your Protobuf APIs.
The 1999 revision to the C programming language brought several interesting changes and additions to the standard. Among those are variable length arrays, or VLAs for short, which allow array types to have lengths that are determined at runtime. These can show up in different contexts, but for the purposes of this…
If your app has just ruined my day, I need help, not humour.
Posted by Carlton Gibson on Aug. 3, 2022
Over the last twenty years, I have used over a dozen languages professionally, from C to Common Lisp, from Java to Python, from C++ to Typescript. Yet, I ...
The latest Go release, version 1.19, arrives five months after Go 1.18 . Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility . We expect almost all Go programs to continue to compile and run as before.
Introducing multitasking to Arduino: learn how to run several tasks at once in your sketches and keep your code responsive.
A concrete use-case of Firecracker with code snippets