An alternative front end for Haskell?
λm.me - An alternative frontend for Haskell?
λm.me - An alternative frontend for Haskell?
Patterns to use types for better safety and design
This is a set of tips/tricks for learning and using pytest.
Much has been written about how to generate random 64-bit integers; people might argue over which particular (CS)PRNG is best suited for a given task, but there is agreement on the general shape of the solution: keep some state around, and then extract 64 bits of randomness at a time, where each bit is equally likely…
Don’t worry … it’s super easy 🙃
Git can “trace the evolution” of a specific method, showing you logs of how it has changed over time.
Bootstrapping OCaml projects with Nix
Made in Notion, the connected workspace where AI agents and teams organize docs, projects and knowledge together.
A common assumption I see on the ‘net is that NP-complete problems are impossible to solve. I recently read that dependency management in Python is hard because package resolution is NP-complete. This is true in principle, but the reality is more complicated. When we say “NP-complete is hard” we’re talking about…
I came across a question: How does one efficiently solve Two Sum in C? There’s a naive quadratic time solution, but also an amortized linear time solution using a hash table. Without a built-in or standard library hash table, the latter sounds onerous. However, a mask-step-index table , a hash table construction…
So here’s a well-known optimization trick that also tells you a bit about how GPUs work.
.NET 8 Preview 1 is now available! Check out what's new in ASP.NET Core in this update and learn about the roadmap for ASP.NET Core in .NET 8.
There’s a certain community in tech that’s very vocal about their preference toward native apps. I share that sentiment, yet sometimes people take this …
Designing a language, types first
A guide to learning COBOL for the modern programmer.
Codegen isn't a replacement, but an extension of your programming. In this post, we share recommendations for using codegen to augment your workflows.
Creating application binaries for Linux that run on a wide range of distributions is a bit tricky, as different distributions ship different versions of various system libraries. These are usually backwards compatible, but not forwards compatible, so programs linked against older versions of the libraries also work…
React Server Components, while innovative, risk causing division in the React community due to their potential to undermine Single-Page App architecture.
Many Rust beginners with a background in systems programming tend to use bool (or even u8 – an 8-bit unsigned integer type) to represent “state”. For example, how about a bool to indicate whether a user is active or not? struct User { // ... …
In the second part of our series, we'll explore how to avoid bad data using Ecto and NimbleOptions.
I got this idea after reading the Reflections on GoodJob for Solid Queue from Ben Sheldon, who is the author of the excellent GoodJob.
For the first time, AdaCore’s GNAT Pro subscribers will be able to develop safety- and security-certifiable embedded applications using Rust while…
Deno 1.31 adds support for package.json, stabilizes Node-API, Deno.Command API, adds `node:v8` module, and more.
A brief overview of our study of abstract-syntax-tree and bytecode interpreters on top of RPython and the GraalVM metacompilation systems.
Forget programs. The most important productivity tool for programming is your mind. And the next best set of software development tools are ones that take care of you. It isn’t about Git. Or Docker. Or testing frameworks. These are all useful tools. I use them daily. But they are not the most important software…
Lucas Pluvinage's website
They provide a safety net when making changes, and give you that nice, warm feeling when you see them all pass after a change.
Experiments, technology, and thoughts on life.
Checking my assumptions about syncable data structures