Latest Tech News

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

Filtered by: array Clear Filter

Sparrow: C++20 Idiomatic APIs for the Apache Arrow Columnar Format

sparrow C++20 idiomatic APIs for the Apache Arrow Columnar Format Introduction sparrow is an implementation of the Apache Arrow Columnar format in C++. It provides array structures with idiomatic APIs and convenient conversions from and to the C interface. sparrow requires a modern C++ compiler supporting C++20. Installation Package managers We provide a package for the mamba (or conda) package manager: mamba install -c conda-forge sparrow Install from sources sparrow has a few depende

Debugging Rustler on Illumos

Welcome to SYSTEM•ILLUMINATION! This is the first illumination I have written and the one that prompted me to start this space. This first session tackles several topics as you join me on the journey I took to debug Rustler misbehaving on OmniOS. I'm a beginner with illumos. This page serves a twofold purpose: to help me document and clarify my learnings as I delve into the illumos/Solaris world. And to shine a bit of light into a system that is fairly obscure and hard to get good info on. Howe

The Verge’s favorite gifts for book lovers

PopSocket grips might be closely associated with smartphones, but they work surprisingly well with most e-readers. That’s because they let you prop up or securely hold any big-screen device with just one hand, making them a handy tool for those looking for a little more convenience. The fact that they come in an array of fun styles is just a plus.

Important machine learning equations

Motivation Machine learning (ML) is a powerful field driven by mathematics. Whether you’re building models, optimizing algorithms, or simply trying to understand how ML works under the hood, mastering the core equations is essential. This blog post is designed to be your go-to resource, covering the most critical and “mind-breaking” ML equations—enough to grasp most of the core math behind ML. Each section includes theoretical insights, the equations themselves, and practical implementations in

The Most Important Machine Learning Equations: A Comprehensive Guide

Motivation Machine learning (ML) is a powerful field driven by mathematics. Whether you’re building models, optimizing algorithms, or simply trying to understand how ML works under the hood, mastering the core equations is essential. This blog post is designed to be your go-to resource, covering the most critical and “mind-breaking” ML equations—enough to grasp most of the core math behind ML. Each section includes theoretical insights, the equations themselves, and practical implementations in

Efficient Array Programming

Efficient Array Programming This is a wiki-like repo for collecting information and examples for efficient programming in array languages. Most of the explanations here will be written from my understanding of the programs, so I do recommend scrutinizing the programs yourself first before reading them. The general goal of this repository is to help people improve their understanding of array languages, and to have a wealth of examples for well-written array language code.

Memory optimizations to reduce CPU costs

Imagine that you are given the following task, with a file like this: Name,Department,Salary,JoinDate John Smith,Marketing,75000,2023-01-15 Alice Johnson,Finance,82000,2022-06-22 Bob Lee,Sales,68000,2024-03-10 Emma Davis,HR,71000,2021-09-01 You want to turn that into a single list of all the terms in the (potentially very large) file. In other words, you want to turn it into something like this: [ { "term" : "Name" , "position" : 0 , "length" : 4 } , { "term" : "Department" , "position" : 5

Comparison of different C libraries providing generic containers capabilities

Introduction The goal of this project is to compare several C libraries that provide some STL like capabilities of the C++ (container template) but are targeting classic C language. A STL like library for C is a C library providing several classic generic containers for the C language, like vector, list, sorted set, unordered_map, and so on. A small benchmark to compare their performance is includes in the bench directory. To do this, the same simple programs will be implemented by the librar

A fast, growable array with stable pointers in C

August 5, 2025・6 minute read My last article about generic data structures in C was written to set the stage for today’s topic: A data structure that can be used in place of dynamic arrays, has stable pointers, and works well with arena allocators. It’s been independently discovered by different programmers over the years and so goes by different names. A 2001 paper called it a “levelwise-allocated pile” (bleh). Others call it an “exponential array”. In Zig’s standard library it’s “SegmentedLis

A Fast, Growable Array with Stable Pointers in C

August 5, 2025・6 minute read My last article about generic data structures in C was written to set the stage for today’s topic: A data structure that can be used in place of dynamic arrays, has stable pointers, and works well with arena allocators. It’s been independently discovered by different programmers over the years and so goes by different names. A 2001 paper called it a “levelwise-allocated pile” (bleh). Others call it an “exponential array”. I use the name “segment array”. I use C in

My Ideal Array Language

2025-07-20 What do I think the ideal array language should look like? The fundamental units of computation available to users today are not the same as they were 20 years ago. When users had at most a few cores on a single CPU, it made complete sense that every program was written with the assumption that it would only run on a single core. Even in a high-performance computing (HPC) context, the default mode of parallelism was (for a long time) the Message Passing Interface (MPI), which is a

Words about Arrays and Tables

July 30, 2025 2000 words about arrays and tables THEY'RE JUST FUNCTIONS I'm way too discombobulated from getting next month's release of Logic for Programmers ready, so I'm pulling a idea from the slush pile. Basically I wanted to come up with a mental model of arrays as a concept that explained APL-style multidimensional arrays and tables but also why there weren't multitables. So, arrays. In all languages they are basically the same: they map a sequence of numbers (I'll use 1..N ) to homog

Stackless Traversal (2018)

Enlist (∊) is twice as fast in Dyalog 16.0 as it was in Dyalog 15.0. Pretty much across the board: ∊⍳100 is not going to be any faster, but whenever the argument is a nested array and the simple arrays it contains are reasonably small, there are huge performance improvements. How did we achieve the huge speedup? Constraints The usual way for a C programmer to write the traversal used in Enlist would be a simple recursive function: If the current array is simple, handle it, and if it is nested,

NonRAID – fork of unRAID array kernel module

NonRAID - unRAID storage array compatible kernel driver NonRAID is an fork of the unRAID system's open-source md_unraid kernel driver for supported kernels, but targeting primarily Ubuntu 24.04 LTS, enabling UnRAID-style storage arrays with parity protection outside of the commercial UnRAID system. Unlike in UnRAID, where the driver replaces kernels standard md driver, the NonRAID driver has been separated into it's own kernel module ( md_nonraid ). This allows it to be easily added as a DKMS

Sliding Window Technique Visualizer

A fixed-size sliding window maintains a constant size as it moves through the data structure. This is useful for problems like finding the maximum sum of a subarray of size k, or calculating moving averages. Variable Size Window A variable-size sliding window can expand or contract based on certain conditions. This technique is often used when you need to find the optimal subarray that satisfies specific criteria. Common Applications:

Slightly better named character reference tokenization than Chrome, Safari, FF

Slightly better named character reference tokenization than Chrome, Safari, and Firefox 2025-06-26 Note: I am not a 'browser engine' person, nor a 'data structures' person. I'm certain that an even better implementation than what I came up with is very possible. A while back, for no real reason, I tried writing an implementation of a data structure tailored to the specific use case of the Named character reference state of HTML tokenization (here's the link to that experiment). Recently, I to

Klong: A Simple Array Language

Klong A Simple Array Language The Klong Book Documentation | Download Klong is an array language, like K, but without the ambiguity. If you know K or APL, you may be disappointed by Klong. If you don't know any array languages, it might explode your brain. Use at your own risk! Programming in Klong A Klong program is a set of functions that use various pre-defined operators to manipulate lists (vectors) and (multi-dimensional) arrays. Here is a program that checks whether a number x is pri