Abstraction, not syntax
Alternative configuration formats solve superficial problems. Configuration languages solve the deeper problem: the need for abstraction.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,546 posts.
Alternative configuration formats solve superficial problems. Configuration languages solve the deeper problem: the need for abstraction.
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…
The Official Web Site of Nicholas C. Zakas
This weekend, those interested in Debian development have been having a discussion on the debian-devel mailing list about "What can Debian do to provide complex applications to its users?". I'm commenting on that in my blog rather than the mailing list, since this got a bit too long to be usefully done in an email.
In .NET 9 we enabled DATAS by default. But .NET 9 is not an LTS release so for many people they will be getting DATAS for the first time…
Confession time: I don't fully understand how terminals, shells and SSH really work (and my guess is you don't either). And I don't mean the cryptography behind SSH. I mean how SSH and the terminal — and the shell for that matter — interact with one another.
Whether it be with React, VueJS, Angular, or in Rust, modern web applications are composed of 3 kinds of pieces: Components Pages Service Components are reusable pieces and UI elements. An input field, or a button, for example. Pages are assemblies of components. They match routes (URLs). For example, the
wc utility in Dyalog APL
Possibly not as horrible as I'd thought
The space is divided into four rectangles . Each of those rectangles is divided such that it contains a maximum of four children . Each child is either a point or a smaller rectangle.
Synchronization barriers let you test for race conditions with confidence.
Update: This is quite a long article. If you’re looking for a quick read, it breaks down a bit like this:
Let’s get started with this using a quiz, some attention please *DRUMBEATS*:
Ah source control, if there’s a more essential tool which indiscriminately spans programming languages without favour, I’m yet to see it. It’s an essential component of how so many of us work; the lifeblood of many development teams, if you like. So why do we often get
I've had an interesting conversation on the topic of null over the last few days, spurred by the logical disaster of null. I disagreed with the statement in the post that: Logically-speaking, there is no such thing as Null This is true in some logics, but not in all logics. Boolean logic as described in...
To infinity and beyond!
Years ago I worked in the Xbox 360 group at Microsoft. We were thinking about releasing a new console, and we thought it would be nice if that console could run the games of the previous console. E…
The Python standard library’s logging module is a go-to for adding observability to applications. Many tools also integrated with it or enhance its capabilities, such as structlog and Sentry.
Can we make a Rust program that's as small as it's assembler equivalent?
What can software learn from Christopher Alexander? Many programmers know that the idea of design patterns comes from architecture, but Christopher Alexander's writing has much more for us than just the Gang of Four design patterns. This post is a somewhat assorted collection of ideas for better software and…
"Every application has an inherent amount of irreducible complexity. The only question is: Who will have to deal with it—the user, the application developer, or the platform developer?" Larry Tesler's original law regarding complexity in software applications, and links to articles and pap
I spent the last weekend working through the amazing guide for Make a Lisp , writing a Lisp interpreter in Nim. The final result just made it into the repository.
Adblockers as the reason of InvalidAccessError