Immutable Databases
Like blockchain but without blockchain.
Topics /
The most popular blog posts about software engineering on Hacker News. 21,843 posts.
Like blockchain but without blockchain.
Floating-point math puts a big overhead on a computer that doesn't have a floating-point coprocessor; but we really do need floating-point for all but the simplest operations— or do we?? Can we really do things like trig, log, and square-root functions without floating point?
I wrote my first line of Rust in June 2015, a month after Rust 1.0 landed. Coming from C, Python, and JavaScript, I never looked back. Two Rust-based startups and 500k lines of Rust later, here are some reflections on the milestone.
I got this idea after reading the Reflections on GoodJob for Solid Queue from Ben Sheldon, who is the author of the excellent GoodJob.
What it is: Hydra is a lightweight framework that simplifies the development of Python applications, especially complex ones, by introducing the ability to compose and override configurations. Hydr…
We are excited to announce a new embedding model which is significantly more capable, cost effective, and simpler to use.
The Fast Fourier Transform (FFT) is one of the most important algorithms in signal processing and data analysis. I've used it for years, but having no formal computer science background, It occurred to me this week that I've never thought to ask how the FFT computes the discrete Fourier transform so quickly. I dusted…
For the first time, AdaCore’s GNAT Pro subscribers will be able to develop safety- and security-certifiable embedded applications using Rust while…
Taking the League of Legends game server from a nondeterministic process to its current state required almost a full year of effort from multiple engineers. As a side benefit of this effort, we holistically improved the codebase’s robustne…
Macros are required to do some very helpful things in Rust, but this isn't an article about any of those things.
Bézier curves are widely used for defining vector graphics. They are basically polynomial parametric curves, but given in the Bernstein basis, which enables us to define the curve using control points. The first and last control point define the start and endpoint of the curves, the intermediate control points kind of…
Update (Nov. 18, 2024): FLTK 1.4.0-1 is a minor update that fixes a build error of a single test program (test/fltk-versions.cxx) on Windows (Visual Studio only). The FLTK library is not affected. End of Update
Update: The content in the blog post below is no longer up to date. For more information please see our documentation. Many of today’s discussions around blockchain technology remind me of the classic Shimmer Floor Wax skit. According to Dan Aykroyd, Shimmer is a dessert topping. Gilda Radner claims that it is a floor…
I ran across two surprising sources of code execution in bash (and probably other shells) recently.
Deno 1.31 adds support for package.json, stabilizes Node-API, Deno.Command API, adds `node:v8` module, and more.
Enterprise Systems, I mean. And not just a little bit, either. Orders of magnitude wrong. Billions and billions of dollars worth of wrong. Hang-our-heads-in-shame wrong. It’s time to stop the madness.
Trying to speedup my lexer using lookups and bitvectors but simd was just a step to far for me.
Monday’s /r/dailyprogrammer challenge was to write a program to read a recurrence relation definition and, through interpretation, iterate it to some number of terms. It’s given an initial term ( u(0) ) and a sequence of operations, f , to apply to the previous term ( u(n + 1) = f(u(n)) ) to compute the next term…
Apps are a nightmare for the visually impaired. So when I started losing my sight, I decided to fix that.
Though it contains forms only for function applications, variable references and anonymous functions, it is equivalent to a Turing machine.
So there's a thing we use at work which I call a ratchet. In our codebase, there are "patterns" which we used to use all the time, but we decided to stop using them, but removing all of the existing instances at once is too much work. We want to remove all of these instances eve...
Sometimes we start things but decide midway through that we would prefer to rather not be doing them. That process is sometimes referred to as cancellation. Say we accidentally clicked "download" on a large file in the browser. We should have a way to tell the computer to stop downloading it.
A very common adage in ODE solvers is that if you run into trouble with an explicit method, usually some explicit Runge-Kutta method like RK4, then you should try an implicit method. Implicit methods, because they are doing more work, solving an implicit system via a Newton method having “better” stability, should be…
Abstract Syntax errors are generally easy to fix for humans, but not for parsers in general nor LR parsers in particular. Traditional ‘panic mode’ error recovery, though easy to implement and applicable to any grammar, often leads to a cascading chain of errors that drown out the original. More advanced error recovery…