Latest Tech News

Stay updated with the latest in technology, AI, cybersecurity, and more

Filtered by: node Clear Filter

Longhorn – A Kubernetes-Native Filesystem

Longhorn – a Kubernetes-native filesystem The other day, I took a look at Longhorn again. I briefly looked at it earlier, as a way to get volumes that are writeable from more than one node. I tossed it away then, because I mistook it for nothing more than a glorified NFS server. I was quite wrong. At the time of writing, I already know I’m going to make fundamental changes, I will not run with a 2-node cluster permanently, because the latency I have isn’t necessarily a good idea. However, long

Dutch battery startup LeydenJar’s silicon anode tech could pose a challenge to China

Battery materials startup LeydenJar has closed a €13 million ($15.2 million USD) round to scale up manufacturing of its silicon anode technology for an unnamed “leading U.S.-based consumer electronics company.” The Netherlands-based startup will use the funding, along with a €10 million commitment from the U.S. customer, to build the first phase of its facility, PlantOne in Eindhoven, Netherlands, which will open in 2027. Investors Exantia and Invest-NL lead the round. Today, a majority of the

Strong Eventual Consistency – The Big Idea Behind CRDTs

Strong Eventual Consistency - The Big Idea behind CRDTs CRDTs. Data structures that can be replicated across multiple nodes, edited independently, merged back together, and it all just works. But collaborative document editing and multiplayer TODO lists are just the tip of the iceberg - I believe the big application is distributed databases, and for that we need to talk about consistency. CRDTs are a tool for Strong Eventual Consistency. Let's start with the definition of normal Eventual Consi

Kruci: Post-mortem of a UI library

kruci: Post-mortem of a UI library I love doing experiments - side projects to my side projects, for fun or out of necessity. Sometimes those experiments and end up in something useful, other times - not so much. Let me tell you about one of the latter projects - about terminals, user interfaces, and trade-offs. Here's the source code, though beware - it's raw. My programming spare time is dedicated mostly towards kartoffels, a game of mine where you're implementing firmwares for tiny robots

Topics: fn let mut node ui

Kruci: Post-Mortem of a UI Library

kruci: Post-mortem of a UI library I love doing experiments - side projects to my side projects, for fun or out of necessity. Sometimes those experiments and end up in something useful, other times - not so much. Let me tell you about one of the latter projects - about terminals, user interfaces, and trade-offs. Here's the source code, though beware - it's raw. My programming spare time is dedicated mostly towards kartoffels, a game of mine where you're implementing firmwares for tiny robots

Topics: fn let mut node ui

Indices, not Pointers

Indices, not Pointers There is a pattern I’ve learned while using Zig which I’ve never seen used in any other language. It’s an extremely simple trick which - when applied to a data structure - reduces memory usage, reduces memory allocations, speeds up accesses, makes freeing instantaneous, and generally makes everything much, much faster. The trick is to use indices, not pointers. This is something I learned from a talk by Andrew Kelley (Zig’s creator) on data-oriented design. It’s used in Z

Seed: Interactive software environment based on Common Lisp

Seed Seed is an interactive software environment. With it you can create and use computer programs in many ways. It is based on the Common Lisp language and runs inside the Web browser, allowing you to build software on a local or remote computer system, and it can present programs and their output using a wide variety of display modes. Seed depicts programs in the form of a tree grid, featuring glyphs that denote different functions and types of data. All of Seed's display modes share basic in

Ejabberd 25.08 / ProcessOne – Erlang Jabber/XMPP/Matrix Server – Communication

Release Highlights: This release includes the support for Hydra rooms in our Matrix gateway, which fixes high severity protocol vulnerabilities. If you are upgrading from a previous version, there are no changes in SQL schemas, configuration, API commands or hooks. Other contents: Below is a detailed breakdown of the improvements and enhancements: Improvements in Matrix gateway The ejabberd Matrix gateway now supports Hydra rooms (Matrix room version 12). This fix some high severity protoc

Show HN: Strudel Flow, a pattern sequencer built with Strudel and React Flow

Strudel Flow A visual drum machine and pattern sequencer built with Strudel.cc, React Flow, and styled using Tailwind CSS and shadcn/ui. Create complex musical patterns by connecting instrument nodes to effect nodes with a drag-and-drop interface. Table of Contents Getting Started To get started, follow these steps: Install dependencies: npm install # or yarn install # or pnpm install # or bun install Run the development server: npm run dev # or yarn dev # or pnpm dev # or bun dev Tech Sta

How I Made Ruby Faster Than Ruby

How I Made Ruby Faster than Ruby If you’re a Ruby programmer, you most probably will be familiar ERB templates and the distinctive syntax where you mix normal HTML with snippets of Ruby for embedding dynamic values in HTML. I wrote recently about P2, a new HTML templating library for Ruby, where HTML is expressed using plain Ruby. Now this is nothing new or even unique. There’s a lot of other Ruby gems that allow you to do that: Phlex, (my own) Papercraft and Ruby2html come to mind. What is d

Topics: code erb html node p2

How to Think About GPUs

We love TPUs at Google, but GPUs are great too. This chapter takes a deep dive into the world of NVIDIA GPUs – how each chip works, how they’re networked together, and what that means for LLMs, especially compared to TPUs. This section builds on Chapter 2 and Chapter 5 , so you are encouraged to read them first. What Is a GPU? A modern ML GPU (e.g. H100, B200) is basically a bunch of compute cores that specialize in matrix multiplication (called Streaming Multiprocessors or SMs) connected to a

How to Scale Your Model: How to Think About GPUs

We love TPUs at Google, but GPUs are great too. This chapter takes a deep dive into the world of NVIDIA GPUs – how each chip works, how they’re networked together, and what that means for LLMs, especially compared to TPUs. This section builds on Chapter 2 and Chapter 5 , so you are encouraged to read them first. What Is a GPU? A modern ML GPU (e.g. H100, B200) is basically a bunch of compute cores that specialize in matrix multiplication (called Streaming Multiprocessors or SMs) connected to a

Eliminating JavaScript cold starts on AWS Lambda

How? Enter Porffor Porffor is my JS engine/runtime that compiles JavaScript ahead-of-time to WebAssembly and native binaries. What does that actually mean? You can compile JS files to tiny (<1MB), fast (millisecond-level) binaries: ~$ bat hi.js ─────┬────────────────────────────────────── 1 │ console.log ( "hello blog!" ) ─────┴────────────────────────────────────── ~$ porf native hi.js hi [ 271ms ] compiled hi.js -> hi ( 12.9KB ) ~$ du -h hi 16K hi ~$ ./hi hello blog! Node and Bun offer “com

Topics: hi js ms node porffor

Optimizing My Disk Usage Program

In my previous post, Maybe the Fastest Disk Usage Program on macOS, I wrote about dumac. A very fast alternative to du -sh that uses a macOS-specific syscall getattrlistbulk to be much faster than the next leading disk usage program. I received some great technical feedback in the Lobsters thread. After implementing some of the suggestions, I was able to increase performance by ~28% on my large benchmark. hyperfine --warmup 3 --min-runs 5 './before temp/deep' './after temp/deep' Benchmark 1: .

Topics: 128 deep inode ms temp

Spatio-temporal indexing the Bluesky firehose

Spatio-temporal indexing the BlueSky firehose Joel Gustafson / Posts / 2025-08-07 I recently added a "spatial feed" to Aurora, my map of Bluesky. Now, in addition to seeing community clusters laid out on a giant map, you can also see a real-time of posts from just the accounts currently in view. This works smoothly at all scales — you can see the most recent posts from the entire network when zoomed all the way out, and local posts from any neighborhood when zoomed in. How does this work? Th

Topics: const node post pub self

Breaking the sorting barrier for directed single-source shortest paths

If you want to solve a tricky problem, it often helps to get organized. You might, for example, break the problem into pieces and tackle the easiest pieces first. But this kind of sorting has a cost. You may end up spending too much time putting the pieces in order. This dilemma is especially relevant to one of the most iconic problems in computer science: finding the shortest path from a specific starting point in a network to every other point. It’s like a souped-up version of a problem you n

Modern Node.js Patterns

Node.js has undergone a remarkable transformation since its early days. If you’ve been writing Node.js for several years, you’ve likely witnessed this evolution firsthand—from the callback-heavy, CommonJS-dominated landscape to today’s clean, standards-based development experience. The changes aren’t just cosmetic; they represent a fundamental shift in how we approach server-side JavaScript development. Modern Node.js embraces web standards, reduces external dependencies, and provides a more in

PixiEditor 2.0 – A FOSS universal 2D graphics editor

What is PixiEditor? Up until today, PixiEditor was known as a pixel-art editor. Version 2.0 is much more than that. It’s a Universal 2D Editor - a brand new category. It’s not yet another Photoshop alternative. We take the word “Universal” much more seriously. We built an extremely configurable raster/vector render pipeline, which you can adjust for any workflow you can think of. Our goal is to build a free and open source editor that can handle all of 2D graphics Raster Vector, Animations

Compressing Icelandic name declension patterns into a 3.27 kB trie

Compressing Icelandic name declension patterns into a 3.27 kB trie August 2, 2025 Displaying personal names in Icelandic user interfaces is surprisingly hard. This is because of declension — a language feature where the forms of nouns change to communicate a syntactic function. In Icelandic, personal names have four forms, one for each of the grammatical cases of Icelandic nouns. Take the name “Guðmundur”: Grammatical case Form Nominative Guðmundur Accusative Guðmund Dative Guðmundi Genitive

Show HN: Xorq – open compute catalog for AI

✨ Xorq is an opinionated framework for cataloging, sharing, and shipping multi-engine compute as diffable artifacts for your data in flight. ✨ Xorq helps teams build declarative, reusable ML pipelines across Python and SQL engines like DuckDB, Snowflake, and DataFusion. It offers: 🧠 Multi-engine, declarative expressions using pandas-style syntax and Ibis. using pandas-style syntax and Ibis. 📦 Expression Format for Python in YAML, enabling repeatable compute. for Python in YAML, enabling repe

The many JavaScript runtimes of the last decade

July 27, 2025 The many, many, many JavaScript runtimes of the last decade This last decade has seen an inundation of new JavaScript runtimes (and engines in equal measure), enabling us to run JavaScript in all manner of contexts with precise fitness for task. Through these, we've seen the language spread to the Cloud, the edge, Smart TVs, mobile devices, and even microcontrollers. In this article, we'll explore what's driving this diversity, and why no one runtime or engine suffices for all p

The many, many, many JavaScript runtimes of the last decade

July 27, 2025 The many, many, many JavaScript runtimes of the last decade This last decade has seen an inundation of new JavaScript runtimes (and engines in equal measure), enabling us to run JavaScript in all manner of contexts with precise fitness for task. Through these, we've seen the language spread to the Cloud, the edge, Smart TVs, mobile devices, and even microcontrollers. In this article, we'll explore what's driving this diversity, and why no one runtime or engine suffices for all p

Optimizations That Aren't

Optimizations that aren't We all like it when our code is fast. Some of us like the result, but dislike the process of optimization; others enjoy the process. However, optimization for the sake of optimization is wrong, unless you’re doing it in your pet project. Optimized code is sometimes less readable and, consequently, harder to understand and modify; because of that, optimization often introduces subtle bugs. Since optimization is not a process with only positive effects, in production it

Running TypeScript Natively in Node.js

Since v23.6.0, Node.js enables "type stripping" by default. If you are using v23.6.0 or later and your source code contains only erasable typescript syntax, you do not need this article. Since V22.6.0, Node.js has experimental support for some TypeScript syntax via "type stripping". You can write code that's valid TypeScript directly in Node.js without the need to transpile it first. The --experimental-strip-types flag tells Node.js to strip the type annotations from the TypeScript code before

Run TypeScript code without worrying about configuration

TypeScript Execute (tsx) ​ tsx stands for TypeScript Execute and it's a Node.js enhancement to run TypeScript. For starters, think of tsx as an alias to node and use it the same way: sh node file.js →↓ sh tsx file.ts You can pass in Node CLI flags and JS files too: sh tsx --env-file=.env ./file.js Seamless TypeScript execution ​ Run TypeScript code without worrying about configuration! tsx runs your TypeScript code with modern and sensible defaults, making it user-friendly and especially

N8n vs. node-red, which to use for AI workloads

n8n vs node-red Daniel Payne 3 min read · 1 day ago 1 day ago -- Listen Share Which to use Photo by Stackie Jia on Unsplash TLDR Try both, but my personal opinion is: n8n if you are using public cloud services for your data. But you will need to use something else if you want to visualize your information, e.g. ObservableHQ. node-red if you are using private sources, especially file based data or sensor data. But you will need to use something else for AI intensive workloads, e.g. FlowiseA

Topics: ai data node red use

I write type-safe generic data structures in C

June 25, 2025・7 minute read I write type safe generic data structures in C using a technique that I haven’t seen elsewhere. It uses unions to associate type information with a generic data structure, but we’ll get to that. My approach works for any type of data structure: maps, arrays, binary trees… but for this article I illustrate the ideas by implementing a basic linked list. Since many people aren’t aware you can do C generics at all, I figured I’d start simple and build up to this: typede

Topics: data foo list node type

I Write Type Safe Generic Data Structures in C

June 25, 2025・7 minute read I write type safe generic data structures in C using a technique that I haven’t seen elsewhere. It involves unions and typeof , but we’ll get to that. My approach works for any type of data structure: maps, arrays, binary trees… but for this article I illustrate the ideas by implementing a basic linked list. Since many people aren’t aware you can do C generics at all, I figured I’d start simple and build up to this: typedef struct { int value ; } Foo ; List ( int )

Topics: data foo list node type

Deep Down the Rabbit Hole: Bash, OverlayFS, and a 30-Year-Old Surprise

Deep Down the Rabbit Hole: Bash, OverlayFS, and a 30-Year-Old Surprise This blog post recounts a recent debugging session that uncovered a surprising set of issues involving Bash, getcwd() , and OverlayFS. What began as a simple customer bug report evolved into a deep dive worth sharing. Initial Bug Report A customer reported that OpenSSH scp failed after switching to OverlayFS. We found the following error in the logs: shell-init: error retrieving current directory: \ getcwd: cannot access