A simple hash table in C
A simple hash table implementation in C, by Leo Robinovitch.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
A simple hash table implementation in C, by Leo Robinovitch.
This post is based on the text of my GolangUK keynote delivered on the 18th of August 2016. A recording of the talk is available on YouTube .
In my blog post, My programming setup, I stressed how important regular expressions are to my programming activities. Regular expressions can look intimidating and outright ugly. However, they should not be underestimated. Someone asked for examples of regular expressions that I rely upon. Here a few. It is commonly…
While browsing twitter, I came across this tweet:
You know the Fibonacci numbers: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … Each number is the sum of the previous two. Let’s say the zeroth Fibonacci number is zero, so: $latex \begin{array}{r@{\…
There is a misconception that Lisp is a dynamically typed language and doesn’t offer compile-time type checking. Lisp being the…
Now lets's change the grammar so that if we don't have an else condition we default to None .
In this article I will take a look at the classic concurrent ring buffer and how it can be optimized to increase throughput.
So, I was recently inspired by a coworker’s design to pack what would have been JSON (JavaScript Object Notation) data into a bunch of bit fields in an array of 64-bit elements. Binary arithmetic, bit-packing, and high performance are fun for me, so I thought of some ways to improve it, for learning purposes. Then I…
Cowboy is the most popular Erlang framework for writing web servers. It is really impressive to see what cowboy accomplishes with such…
Realtime features make apps feel modern, collaborative, and up-to-date. The features predominantly require sharing changes triggered by one user to other …
The Rails community has had a few high-profile security issues this week. They are well-summarized, with an alarming list of what follow-ons to expect, by Patrick McKenzie: What the Rails Security Issue Means for Your Startup.
For the last month, I have been working through Nand2Tetris: The Elements of Computing Systems; Building a Modern Computer from First Principles . I recently completed part 1. This first half of the text illuminates the process of building a computer purely from elementary logic gates. Each chapter is comprised of an…
So what is Flask-Admin ? I'm seeing a lot of misunderstanding about the project. Typical Flask advice regarding administrative interface looks like this - "just write one from scratch, all these CRUD frameworks are very limiting". Well, I can't agree with the opinion and going to explain why.
In this document, I describe what is, in my humble but correct opinion, the best known algorithm for threading messages (that is, grouping messages together in parent/child relationships based on which messages are replies to which others.) This is the threading algorithm that was used in Netscape Mail and News 2.0…
Note: The focus of this article is to explain the process of reverse engineering, and it is not continually updated to reflect ongoing changes in Facebook APIs. If you are looking for updated details, consider basing your work on open-source projects like mautrix/meta , which is developed by my employer Beeper .
Background In 2015 I worked as a consultant at a large company in Lund. My position was with the build team and one of our responsibilities...
A few months ago, I decided to implement set operations on curved regions. I had the the canonical textbook on computational geometry , which described approaches for polygons comprised of straight lines, and it seemed like other projects had extended these techniques to parametric curves . I figured it would take a…
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites . This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
Almost five months ago, I wrote a blog post about my new programming language, Hackett , a fanciful sketch of a programming language from a far-off land with Haskell’s type system and Racket’s macros. At that point in time, I had a little prototype that barely worked, that I barely understood, and was a little bit of…
An in-depth introduction to Reason/OCaml and the official React.js bindings, aimed at JavaScript developers.
A small Figma war story.
When you think about the Fibonacci sequence, you probably imagine a swirling vortex of oscillating points stretching outwards to infinity: Okay, no, obviously you don’t. Yet.
Many modern virtual machines include either a fast interpreter or a fast baseline compiler. A baseline compiler needs extra memory and is li...
My cofounder Joe and I recently finished SICP. It was a mind-bending experience: you start from just 3 concepts, and you recursively build up algebraic equation solvers, circuit simulators, 4 interpreters, and a compiler.