Exploring the design space of binary search trees
Open-source research project that explores the design space of binary search trees to implement persistent and concurrent linear list data structures.
Topics /
The most popular blog posts about software engineering on Hacker News. 21,843 posts.
Open-source research project that explores the design space of binary search trees to implement persistent and concurrent linear list data structures.
In this post I will talk about some tools that can help us solve a painful problem in Python, especially when using PyPy: memory consumption. Why are we concerned with this in the first place? Why …
The upgrade to Ruby 2.7 for GitLab involved thousands of deprecation warnings across hundreds of files. Here's how we fixed most of them.
The craft of engineering is rapidly changing. We built our own coding agent to accelerate faster. Inspect is now open to teams outside Ramp through early access.
A paper on debugging non-deterministic concurrency issues interactively.
Being happy makes us more productive. Add some happiness to your git commits.
The select part is actually fine. But for updates, especially for complex updates, it could be pretty verbose and far from being ergonomic. What would you say to this syntax instead?
…symmetry isn’t just a preference for “pretty” shapes. Contents Introduction The HM-GM-AM-QM Inequality The two circles The Semicircle The Container The 3D container The Sum of Squares Inequality Nesbitt’s Inequality Conclusion Introduction While I was randomly browsing the web, I came across this nice picture: Roland…
It's been almost a year since I started Emscripten (which, if you haven't heard of it, is a tool to compile LLVM to JavaScript), during whic...
<!DOCTYPE html>
This is the Big 4. The architectures, that may help your work. They may influence the way you think about programming. 1. The Hexagonal Ar...
I have always wanted the Cone compiler to be fast. Faster build times make it easier and more pleasant for the programmer to iterate and experiment quickly. Compilers built for speed, such as Turbo Pascal, D and Go, win praise and loyalty. Languages that struggle more with this, like C++ or Rust, get regular…
It's not about technology for its own sake. It's about being able to implement your ideas.
There's a lot going on behind the scenes, since I am not only writing the books; at the same time I have to create the software to write about. For example, ...
On the completely impossible situation of blocking the Tor .onion TLD to avoid leaks, but at the same time not block it to make users able to do what they want. dot-onion leaks The onion TLD is a Tor specific domain that does not mean much to the world outside of Tor. If you try … Continue reading Leeks and leaks →
At Channable, we process several billion product data records for our customers every day according to user-customizable rules. Internally, this work is subdivided into jobs, where one job takes a set of products and the rules for how to process them as input, and returns the transformed set of products as output…
1. Nobody really knows how to do it 2. If you think you have a reliable system for doing it, you're probably doing the computer's job -- "...
“We learn most when we have to invent” —Piaget In Part 2 you created a minimalistic WSGI server that could handle basic HTTP GET requests. And I asked you a question, “How can you make your server handle more than one request at a time?” In this article you will …
In 1986, Eugene Myers published An O(ND) Difference Algorithm and Its Variations , which unified the problems of finding the longest common subsequence of two sequences (the LCS of "driftwood" and "artwork" is "two") and finding the shortest edit script for transforming one sequence into another. Myers showed that…
Inspiration of how we can use PDF as an attack vector and perform multiple attacks with huge subsequences to the victim.
Just a normal day reversing linked lists on the whiteboard.
From Moldable Development to Media for Thought
Over the course of my Spring 2020 semester at Harvey Mudd College , I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to…
Cedarwood is an effort to speed up jieba-rs , an efficient implementation of trie is needed in order to satisfying the following needs.