OpenSSL bug exposed up to 255 bytes of client heap and existed since 2011
Silently sends up to 255 bytes of the client's heap to the server . The server must support NPN , and the heap data is encrypted in transit.
The latest blog posts to take off on Hacker News. 21,819 posts.
Silently sends up to 255 bytes of the client's heap to the server . The server must support NPN , and the heap data is encrypted in transit.
Zig’s reflection combined with Zig’s ability to import C header files means Zig can be used for C macro reflection.
This article introduces the implementation difficulties and challenges of Movable Tree CRDTs when collaboration, and how Loro implements it and sorts child nodes. The algorithm has high performance and can be used in production.
Last time, I explored the inside of the Super Nintendo cartridges . Today I am going through its video system.
How bounded higher-kinded polymorphism arises in practice, and how to express it in OCaml, in several different ways. Some ways are rather concise -- but less widely known.
A couple of years ago I wrote about tolower() in bulk at speed using SWAR tricks . A couple of days ago I was interested by Olivier Giniaux’s article about unsafe read beyond of death , an optimization for handling small strings with SIMD instructions, for a fast hash function written in Rust.
Lisp lets programs define new setf forms for assignment. The most common example is from CLOS , where a class like this:
Key concepts & much deserved YAML ranting
I created a new intermediate language, called Bril, for teaching my funky open-source, hands-on compilers course. Because it’s for education, Bril prioritizes simplicity and regularity over more typical compiler priorities like performance and concision. This is an overview of Bril’s design, its quirks, and the…
We’re excited to announce the release of Zulip Server 9.0, containing hundreds of new features and bug fixes! Zulip is an open-source team chat application designed for seamless remote and hybrid work. With conversations organized by topic, Zulip is ideal for both live and asynchronous communication. …
code { white-space : pre-wrap !important; } This article is tightly scoped to cover one topic with specific, actionable advice: How to configure...
I got some fancy new speakers last week. They’re powered speakers and they have streaming service integrations built in, unlike the 35-year-old passive speakers I’m upgrading from. Overall they’re great! But they’re so loud that it’s difficult to make small volume adjustments within the range of safe volume levels for…
I teased at this a bit in my previous posts and finally have a setup I’m happy with, so I thought I’d do a more in-depth writeup.
Finding the median in a list seems like a trivial problem, but doing so in linear time turns out to be tricky. In this post I’m going to walk through one of my favorite algorithms, the median-of-medians approach to find the median of a list in deterministic linear time. Although proving that this algorithm runs in…
Inspired by Felix Geisendorfer blog post I implemented a database FSM (Finite-State Machine) with Postgresql. I brought some improvements to Felix’s implementation but before reading the following I recommend you to read carefully the original post.
I started looking through corrupt Winamp skins and it lead me down some very strange rabbit holes
A guide on how to generate sudokus of any difficulty.
You can access data from deleted forks, deleted repositories and even private repositories on GitHub. And it is available forever. This is known by GitHub, and intentionally designed that way.
In 1890 Giuseppe Peano discovered a square-filling curve , and a year later David Hilbert published his variation . In those days people did not waste readers’ attention with dribble – Peano explained it all on 3 pages, and Hilbert on just 2 pages, with a picture!
In the first half of 2024, Ruby LSP has seen significant enhancements, particularly in the area of code navigation, thanks to the advancement of its indexer. In this post, we’ll dive into the major code navigation enhancements that have been made to Ruby LSP. We’ll also touch on some experimental features that are on…
On the Origin of Emacs in 1976 (Emacs blog articles)
“Summing ASCII Encoded Integers on Haswell at the Speed of memcpy” turned out more popular than I expected, which inspired me to take on another challenge on HighLoad: Counting uint8s . I’m currently only #13 on the leaderboard, ~7% behind #1, but I have already learned some interesting things. In this post I’ll…
For the past few days, I have been toying with an idea for a board game. To test it out, I wanted to write a simple implementation of it. Here’s an example of a type we might need in a critical phase of the game.
Author: Alexey Makhotkin squadette@gmail.com. Introduction In this database design tutorial (~9000 words) I’m going to show how to design the database tables for a real-world project of substantial complexity. We’ll design a clone of Google Calendar. We will model as much as possible of the functionality that is…
ASCII, a standard whose legacy defines to this day how most of the letters and numbers in your computer get encoded into ones and zeroes, is elegant and beautiful. Via lessons in computer history, punched tape, and typewriters, I'd love to share some of its logic with you.
Clojure macros have two modes: avoid them at all costs/do very basic stuff, or go absolutely crazy.
Five patterns to help Single Page Applications fetch data from remote sources
The Pin type (and the concept of pinning in general) is a foundational building block on which the rest of the the Rust async ecosystem stands. Unfortunately, it has also been one of the least accessible and most misunderstood elements of async Rust. This post is meant to explain what Pin achieves, how it came to be…
This is the second part of a series of interactive articles on the x86-64 architecture. This part will focus on the first assembly instructions, visualizing the way data moves in memory when they are executed.
In my last post I've described how to use Z3 to find simple local peephole optimization patterns for the integer operations in PyPy's JIT. An example is int_and(x, 0) -> 0. In this post I want to scal