My favorite Rust function
Jaseem Abid's blogs and musings
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 384 posts.
Jaseem Abid's blogs and musings
They’re not burritos.
If you like this blog, you should follow it via RSS and read older posts . Here are the recent posts:
LRtDW is a series of articles putting Rust features in context for low-level C programmers who maybe don’t have a formal CS background — the sort of people who work on firmware, game engines, OS kernels, and the like. Basically, people like me.
Recently, my colleague introduced me to QMK 1, an open-source keyboard firmware. Like many non-trivia C projects, macro is heavily used everywhere, especially in keymap files 2. It didn’t bother me much since I have been programming C for many years. But I kept thinking to myself, “what would it look like if I can…
Video and transcript of Jimmy Koppel's Compose 2019 talk on defunctionalization, the best refactoring you've never heard of.
Haskell has a proliferation of libraries to choose from for all of your basic backend needs, from logging to database access to routing and web server definition. It's nice to have the freedom of choice, but if you're just starting out, the amount of decisions needed can be overwhelming. Maybe you're not even…
The upcoming GCC 9 release will have improved diagnostic messages, simpler C++ errors, more accurate error location reporting, and optional machine readable output for developer tools.
Updated (2023-05-08): the Go compiler keeps evolving and it takes time to keep up with changes. While the general gist of this post remains true and it's worth reading to understand how the compiler works on a high level, the details of the modifications are slightly different now.
It has been 3 months since I joined IIT Madras and it has been good fun so far. Along with the members of the RISE group , we’ve initiated a project to build secure applications on top of secure extensions of the open-source Shakti RISC-V processor ecosystem. Unsurprisingly, my language of choice to build the…
We say Lox is a “high-level” language because it frees programmers from worrying about details irrelevant to the problem they’re solving. The user becomes an executive, giving the machine abstract goals and letting the lowly computer figure out how to get there.
WG21 has a strict schedule (see P1000) by which we ship the standard every three years. We don’t delay it. Around this time of each cycle, we regularly get questions about “but why so strict?”, esp…
an opinionated collection of programming languages.
To say my first foray into Rust was a frustrating struggle would be an understatement. I picked a terrible first project that left me neck deep in Rust’s trickiest areas right off the bat. I was excited to try again. A few years ago I wrote Sumoshell, a CLI App for log analysis. I’d wanted to improve it for a while…
_posted by Vincent St-Amour_ Racket version 7.2 is now available from http://racket-lang.org/ Racket-on-Chez is done in a useful sense, but we'll wait until it gets better before making it the default Racket implementation. For more information, see htt...
Project Everest is a large, collaborative research effort that aims to verify and deploy a new, secure HTTPS stack. All of our code is verified using the F* programming language. Using KreMLin, a dedicated compiler, the verified F* code is compiled to readable C, meaning existing systems projects can readily integrate…
Caring too much for objects can destroy you. Only — if you care for a thing enough, it takes on a life of its own, doesn’t it? And isn’t the whole point of things — beautiful things — that they connect you to some larger beauty?
Rust's error handling is a pleasure to use thanks to the Result type . It ensures Rust's error handling is always correct , visible , and performant . And with the addition of the ? operator in Rust 1.13 , and the addition of return types from main in Rust 1.26 Rust's error handling has only kept improving.
In this tutorial, you'll learn 16 ways for doing concurrency in Clojure including how to start threads and how to communicate between them.
Every programming language has some fundamental idea(s) that drives its design and evolution. For Haskell that’s functional purity and state-of-the-art static typing, for Erlang that’s distributed programming and fault tolerance, for Clojure that’s simplicity and stability. What all these examples have in common is…
Due to sheer coincidence of several unrelated tasks converging on Python at work, I recently needed to brush up on my Python skills. So far for me, Python has been little more than a fancy extension language for BeautifulSoup , though I also used it to participate in the recent tradition of writing one’s own static…
Yaegi, Yet Another Go Interpreter, is an open source project to bring executableGo scripts, embedded plugins on top of the Go runtime...
Why should we add generics to Go, and what might they look like?
Things I've learned while porting 50 thousand lines of code from Java to Go
Image differentiation in three languages