State Machines in Ruby: An Introduction
Let's build a simple state machine in Ruby and use the state machines gem.
Topics /
The most popular blog posts about software engineering on Hacker News. 7,298 posts.
Let's build a simple state machine in Ruby and use the state machines gem.
An interesting question came up on the postgresql IRC channel about how to use native PostgreSQL features to handle some sort of queuing behavior. While the specific usage was related to handling serialization of specific events to some external broker, the specifics are less important than the overall structure.
GPUX is a distributed supercomputer.
In this post, we analyze a malicious PyPI package attempting to backdoor FastAPI applications.
Where does JIT-compiled code live? How does Ruby switch between bytecode and native execution? Why does TracePoint slow everything down? This post answers the JIT questions most Ruby developers have but rarely see explained.
Welp, this is a weird blog post! Very unexpectedly, we quickly invalidated some of the core hypothesis that make Zaplib work as a startup.
The Progress Report has come and with it some major changes and decisions. However, before we get into new things, we need to go over an ongoing change as we've seen some users struggling. In the last progress report, we updated our project solutions to Microsoft Visual Studio C++ 2019. We thought there would be no…
Both my day job and my open-source work involve constant use of git and GitHub. These are some useful patterns that I’ve found myself using regularly. (From this point onwards, I shall abbreviate a “pull request” as PR).
A monkey. That’s the default name a part in the JavaScript Engine of Mozilla Firefox gets. Even the full engine has its own monkey name, ...
Distributed transactions are one of the meanest, baddest problems in relational databases. This post explains why distributed transactions are hard and how the Citus database supports distributed transactions by employing features like distributed deadlock detection, 2PC, and streaming replication in Postgres.
Ruby provides support for lazy loading enumerators, allowing efficient processing of large or infinite sequences.
Inspired by a talk in the PostgreSQL devroom at FOSDEM, a post on the usefulness of the pg_stat_statements extension to Postgres and why every Postgres developer should have it in their toolbox. With sections on getting started, and how to extract insights with pg_stat_statements.
JSON Schema
00:00.000 Introduction 00:17.000 Why Lisp matters 01:26.640 Why Emacs Lisp was chosen 02:54.841 Other "Emacsen" 03:38.581 Why not Common Lisp? 06:39.120 Common Lisp is still not dead or is always dead 08:30.080 Lem is a nice Emacsen implementation 08:58.260 Why not just use GNU Emacs? 10:31.080 Why Lem 14:03.080…
We illustrate how we implemented UTF-8 support in alfred-margaret and give some insights into how we optimized our Haskell code for performance.
Visit the post for more.
It’s the start of the new year, and almost the end of my first full year on the gRPC-Go project, so I’d like to take this opportunity to provide an update on the state of gRPC-Go development and give some visibility into how we manage the project. For me, personally, this is the first open source project to which I’ve…
These are in-progress notes for the upcoming LLVM 24.0.0git release. Release notes for previous releases can be found on the Download Page .
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…