Haskell Lenses In Pictures
Aditya Bhargava's personal blog.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,541 posts.
Aditya Bhargava's personal blog.
I explain what is so unique about the RWKV language model.
In August I finished work on a game called Restricted Airspace for the Wonderbundle, a bundle of new games by NYC game designers available as a reward to backers of the Wonderville Kickstarter . It is a 3rd person aerial shooter in the style of the original Star Fox set in a city modeled on Beirut in the 1890s. It was…
Languages that suffer success often have to do so by selling out and adding features that go against some of the original purposes of their design. SQL is a...
Today there was a question on /r/C_Programming about the effect of C’s const on optimization. Variations of this question have been asked many times over the past two decades. Personally, I blame naming of const .
Two years ago more or less I started my journey in Linux. I was scared at first and I didn’t know where to start from. But then I decided to buy a book - and what a book! - in order to follow a path. Along the way, I integrated the material with up-to-date documentation from kernel.org and source code. In the…
You might look at Python code every day, but what is the lens through which you view code? It's your text editor. This article was written for Python Magazine and was first in a series on Python development environments. Here, we look at how Vim users can boost their productivity by having Vim tell you as much as…
Minor nit: printing the predecessors of a basic block is a feature of the IL printer, not Clang. It is just visualizing information that is implicit in the IR anyway.
This blog post is a slightly edited version of the live transcript of the talk I gave at RustFest 2019 in Barcelona on November 10th, 2019. As it's a transcript some parts of it are a bit repetitive or badly worded, but I hope the message behind the talk will be conveyed by this post anyway.
One thing I love about Python is how it comes with its very own built-in zen. In moments of tribulations, when I am wrestling with crooked code and tangled thoughts, I often find solace in its timeless wisdom. Here's a glimpse of the clarity it provides:
Deep code search Gu et al., ICSE’18 The problem with searching for code is that the query, e.g. “read an object from xml,” doesn’t look very much like the source code snippets tha…
If you ever tried to learn how the Harris corner detection algorithm works, you might have noticed that the process is not intuitive at all. First, you start with an energy function, approximate it using Taylor approximation, get a matrix from that, then find the eigenvalues of that matrix, etc. But when you come to…
The upcoming issue of the SICPers newsletter is all about phrases that were introduced to computing to mean one thing, but seem to get used in practice to mean another. This annoys purists, pedants, and historians: it also annoys the kind of software engineer who dives into the literature to see how ideas were…
You keep using that word. I don’t think it means what you think it means.
Matthew Butterick
In general, when working in C I avoid the standard library, libc, as much as possible. If possible I won’t even link it. For people not used to working and thinking this way, the typical response is confusion. Isn’t that like re-inventing the wheel? For me, libc is a wheel barely worth using — too many deficiencies in…
When I tell my fellow computer scientists or software developers that I'm interested in philosophy of science, they first look a bit confused, then we have a really interesting discussion about it and then they ask me for some interesting books they could read about it. So, I thought I should turn my answer into a…
Best practices when adding a JSON output option to your command-line application.
An unusual benchmark for programming languages, designed to replace C. Unlike many other benchmarks, this one measures developer productivity and performance.
Or, how the feature that allows to write less names might make the code more explicit.
Sit beside me and hear this crazy old man's tale of when I asked Rust for too much
EDIT: Some people were rightly complaining about the code snippets being screen captures rather than <code> blocks. I’ve updated accordingly. Also, many have rightfully commented that t…
Now that the Cologne meeting is over and we’ve more or less finalized (at least before the NB comments come in) C++20, I wanted to take the time to describe in detail one of the new language features we can look forward to. The feature is typically referred to as operator<=> (defined in the language as “three-way…
An exploration into some initially surprising but great parts of Rust (though you still may not like them).
This is hard to write, or rather, it’s a hard decision to make. After investing many years on Leaf — a programming language, a major life project — I need to take a break from it. It’s no longer fulfilling my goals, and it’s not as fun as it once was. It’s interfering with my […]