Gitlet.js – Git implemented in 1k lines of JavaScript (2015)
I wrote Gitlet to show how Git works under the covers. I wrote it to be readable. I commented the code heavily.
The latest blog posts to take off on Hacker News. 3,709 posts.
I wrote Gitlet to show how Git works under the covers. I wrote it to be readable. I commented the code heavily.
Mugo is a single-pass compiler for a tiny subset of the Go programming language -- just enough to compile itself.
In shell scripting you sometimes come across comparisons where each value is prefixed with "x". Here are some examples from GitHub:
Introduction
It turns out my hopes were answered. First, Prechelt published another article that covers Tcl, Python, Perl, and Rexx. Also, Ron Garret (nee Erann Gat) did a follow-up study in which he asked programmers to write Prechelt's test program in Lisp. His results show that the resulting Lisp programs ran faster on average…
In a follow-up to his first article about Moses Schönfinkel, Stephen Wolfram looks for the whereabouts of Schönfinkel after 1924 through his family history.
When it rains it pours. After making a splash with D , 1 I remembered that some time ago I began an attempt to bring the GNU Modula-2 compiler to OpenBSD . Because why not? Modula-2 is a language that exists and has compiler implementations. I guess my goal is to bring all the languages and compilers to OpenBSD. And…
This is my own collection of hard-earned knowledge about how integers work in C/C++, and how to use them carefully and correctly. In this article, I try to strike a balance between brevity (easing the reader) and completeness (providing absolute correctness and extensive detail).
“signed char lotte” is a computer program written by Brian Westley and the winner of the “Best Layout” award in the 1990 International Obfuscated C Code Contest. The cleverness of the text is staggering. Superficially it reads as an epistolary exchange between two (possibly former) lovers, Charlotte and Charlie. At…
In Golang, nil is an interesting value. You may be familiar with Go’s philosophy of making the “zero value” meaningful.
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…
Tiger got to hunt, Bird got to fly; Lisper got to sit and wonder, (Y (Y Y))? Tiger got to sleep, Bird got to land; Lisper got to tell himself he understand. -- Kurt Vonnegut, modified by Darius Bacon
Edit 2021-03-30: Jeremy Mikkola wrote about some closely related topics back in 2017. Edit 2021-03-31: Chris Siebenmann wrote a response to this post that explains exactly how interface values that are nil are typed. It’s more complicated than I thought! I’m not sure I have another Rust & Postgres blog post in me…
An unusual benchmark for programming languages, designed to replace C. Unlike many other benchmarks, this one measures developer productivity and performance.
Go is one of the most prominent general-purpose programming languages nowadays. Google, Apple, Microsoft, Amazon, and Adobe, to name a few, have been using the language extensively. It’s the language of choice behind multiple cloud computing projects such as Kubernetes, and it’s steadily expanding towards numerous…
Scala is a powerful programming language that can make certain small teams hyper-productive.
I got GDC , the GNU D Compiler, working on OpenBSD . Supporting D has been a very long time coming. Here's the story of how we got here and where we need to go next.
Comparing zope.interface and typing.Protocol.
Many developers were burned by the overly complex world of Java back in the early 2000s. The Gang of Four patterns and middleware / J2EE / Java EE led to…
Object-oriented programming is out of fashion now, and it has been for a while. Rarely are new programming languages intentionally object-oriented. And there are good reasons for this: OO often requir…
We have finished the first chapter on a long journey of resurrecting Fortran: forming an initial core community of developers and users with enough momentum around the new Fortran website and projects at fortran-lang.org . There is still have a long way to go to, but this was a necessary (although not sufficient)…
This is old! When I wrote it, I was a very different person.As it turns out, growing up a bit made me care a lot less about the nuances of Rust programming.
I’ve spent the last year building keyboards , which has included writing firmware for a variety custom circuit boards.
In one of my recent training courses, a student informed me that both clang-tidy and PVS-Studio were complaining about some code of the form