Advertisement ยท 728 ร— 90

Posts by Christopher Grainger

Preview
Numerical Elixir on Embedded Devices Join us for this presentation by Paulo Valente on 2026-04-08 at 19h CET!

Everyone's favorites Numerical Elixirist, one Paulo Valente, is presenting on how he is bringing Nx to embedded devices in today's (fully remote) Nerves Meetup EU.

Join us. Lovely crew of Elixir enthusiasts with a bit of a hardware focus.

nervesmeetup.eu/meetup/paulo...
#elixirlang #nerves

1 week ago 10 3 0 0
Introducing Dux โ€” Christopher Grainger DuckDB-native dataframes for Elixir, with distributed execution on the BEAM.

Alright! Introducing Dux: distributed #DuckDB backed dataframes for #elixirlang. cigrainger.com/blog/introdu... v0.3 dropped today and with it, distribution is fully supported and Dux is officially outperforming Explorer. I'm excited to hear what you all think.

2 weeks ago 32 7 2 0
Release v0.1.0 ยท elixir-lang/expert 0.1.0 (2026-03-27) Bug Fixes engine: only start one engine for umbrella apps (#462) (f674d3d), closes #460 extractor not working with ExUnit.CaseTemplate (#529) (11fb790) forge: id generator must ...

The v0.1 release of Expert (the new, official #ElixirLang LSP) is now final! ๐ŸŽ‰

The best Elixir LSP experience keeps getting better. ๐Ÿ˜Ž

Tremendous thanks to all the contributors, and to Jump for sponsoring @katafrakt.bsky.social to work on this full-time. ๐Ÿ™

github.com/elixir-lang/...

3 weeks ago 45 14 0 0
Making HNSW actually work with WHERE clauses โ€” Christopher Grainger Transparent filtered vector search in DuckDB, or: why post-filtering is broken and what to do about it.

New blog post as my HNSW #duckdb plugin hits v0.2 with support for quantisation (rabitq) and join+where pushdown and groupby+aggregations. cigrainger.com/blog/duckdb-...

3 weeks ago 6 0 0 0

bsky.app/profile/cigr... :)

3 weeks ago 2 1 1 0
Preview
GitHub - simdxml/simdxml-elixir: SIMD-accelerated XML parsing with full XPath 1.0 for Elixir. Rustler NIF wrapping simdxml. SIMD-accelerated XML parsing with full XPath 1.0 for Elixir. Rustler NIF wrapping simdxml. - simdxml/simdxml-elixir

Should have shared the repo too! github.com/simdxml/simd... #elixirlang

3 weeks ago 0 0 0 0
SimdXml v0.1.0 โ€” Documentation

A fast, correct XPath 1.0 conformant XML parser for Elixir with a simple, combinator-based API: hexdocs.pm/simdxml/0.1.0 #elixirlang

3 weeks ago 14 1 1 1
Advertisement
simdxml for Python: a faster ElementTree you don't have to rewrite for โ€” Christopher Grainger A read-only drop-in replacement for xml.etree.ElementTree backed by SIMD structural indexing.

Here's the payoff -- simdxml yields speedups on basically every workflow as a fully drop-in read-only replacement for etree in #python. And 42x on important workloads for large XML document handling. cigrainger.com/blog/simdxml... #foss

3 weeks ago 3 0 1 0
simdxml: structural indexing for XML โ€” Christopher Grainger Applying simdjson's ideas to XML parsing. It's complicated, but it works.

More about that XML thing. cigrainger.com/blog/simdxml/

3 weeks ago 7 3 1 0
GitHub - cigrainger/simdxml: SIMD-accelerated XML parser with full XPath 1.0 support SIMD-accelerated XML parser with full XPath 1.0 support - cigrainger/simdxml

So at Amplified we do a lot of XML parsing. I wrote an XML parser. It's quite fast. github.com/cigrainger/s...

3 weeks ago 11 1 1 0

I did something kind of funky that should work well.

My library Entrace makes Erlang tracing nicer. But you don't have it installed and suddenly you need it.

Hot code updates to the rescue. One-line install via precompiled BEAM files.

github.com/underjord/en...
#elixirlang

3 weeks ago 14 4 2 0

We are still looking for more sponsors for Goatmire Elixir. If your company wants to be on the banners and be part of making the event happen that'd be awesome. Please contact me :)

#elixirlang #goatmire

3 weeks ago 9 8 0 0
Distributed perf hardening: 3-12x faster fan-out and merge by cigrainger ยท Pull Request #33 ยท elixir-dux/dux Summary Performance ordered: false in batch fan_out โ€” the streaming path already used ordered: false, but the batch path forced sequential collection. Results are partitioned into success/failure ...

Hmmmm #NewbieGains

3 weeks ago 0 0 0 0
Preview
A Patent Practitioner's Guide to MCP MCPs are going to be critical for powering AI in patent work. One of the biggest challenges in IP is that work is fragmented across too many tools and people. MCPs are a way to glue together that frag...

Some patent content. But also MCP content. www.amplified.ai/en/blog/2403...

3 weeks ago 4 0 1 0
Preview
Add hnsw_acorn: filtered HNSW vector search with ACORN-1 by cigrainger ยท Pull Request #1573 ยท duckdb/community-extensions Summary Adds the hnsw_acorn extension โ€” a fork of duckdb-vss that adds filtered HNSW vector search using the ACORN-1 algorithm. The upstream vss extension applies WHERE clauses after the HNSW index...

That DuckDB extension I was working on landed in community extensions today! I'm pretty excited about it -- prefiltered ACORN-1 HNSW approx nearest neighbours in #DuckDB. Even pgvector does postfiltering, for example.

INSTALL hnsw_acorn FROM community;
LOAD hnsw_acorn;

github.com/duckdb/commu...

3 weeks ago 10 2 2 0
Advertisement
Dux: Distributed DuckDB-native DataFrames for Elixir dplyr-style verb API backed by DuckDB. Lazy pipelines compile to SQL. Distributed execution across the BEAM. Graph analytics, cross-source joins, Nx interop.

Hey #ElixirLang folks! Here's a little something I've been working on. I'd love some early stage feedback. dux.now

4 weeks ago 47 12 3 2

Patents innit ;)

4 weeks ago 0 0 0 0
Preview
ACORN: Performant and Predicate-Agnostic Search Over Vector Embeddings and Structured Data Applications increasingly leverage mixed-modality data, and must jointly search over vector data, such as embedded images, text and video, as well as structured data, such as attributes and keywords. ...

More info on ACORN: arxiv.org/abs/2403.04871

4 weeks ago 0 0 1 0
Preview
Add hnsw_acorn: filtered HNSW vector search with ACORN-1 by cigrainger ยท Pull Request #1573 ยท duckdb/community-extensions Summary Adds the hnsw_acorn extension โ€” a fork of duckdb-vss that adds filtered HNSW vector search using the ACORN-1 algorithm. The upstream vss extension applies WHERE clauses after the HNSW index...

Ever wanted to use HNSW with pre-filtering on #duckdb? I'm trying to make that possible. Approximate nearest neighbours with WHERE clauses, using ACORN. github.com/duckdb/commu...

4 weeks ago 2 0 1 0

It feels good to be working on some OSS #ElixirLang stuff again. Details forthcoming, but I'm very excited about this one.

4 weeks ago 15 0 0 0
Preview
GitHub - cigrainger/explorer_duckdb_backend Contribute to cigrainger/explorer_duckdb_backend development by creating an account on GitHub.

#ElixirLang folks using Explorer -- is this of interest? github.com/cigrainger/e...

Polars has become a bit of an albatross. It's a very complex project with a ton of churn and it's putting the whole Explorer project at risk. So exploring alternative backends.

1 month ago 18 2 3 0

Well this is a nice result: "The unconditional concrete whole-compiler theorem is done."

1 month ago 0 0 0 0
Advertisement
GitHub - amplifiedai/amplified_pubsub: A protocol-based PubSub abstraction for Phoenix LiveView. A protocol-based PubSub abstraction for Phoenix LiveView. - amplifiedai/amplified_pubsub

This is up on Hex today. One of my colleagues put it together and it's been a real QoL improvement for us. github.com/amplifiedai/... #ElixirLang #Elixir

1 month ago 19 3 1 0

So... set theoretic types are awesome. Algebraic effects are awesome. Turns out they play really nicely together. I've got something cooking.

1 month ago 11 0 0 0

Nothing more exhausting than repeatedly convincing a coding agent that they will not, in fact, tire themselves out by finishing the work I asked them to do.

"Given the size of the changes... for now... I'll just...' NO YOU WON'T.

1 month ago 3 1 2 0
A screenshot of the Emerald Insight academic journal website showing a research article titled "Modern Datalog Engines" by Bas Ketsman and Paraschos Koutris, published June 29, 2022. The page features a green journal cover on the left and an abstract discussing the resurgence of Datalog as a declarative query language.

On the right, a "Client Account" sign-in overlay is visible. A red hand-drawn circle highlights a specific section within this menu titled "ICE Member Sign In" with a "Log in" button. The browser address bar shows the URL for emerald.com.

A screenshot of the Emerald Insight academic journal website showing a research article titled "Modern Datalog Engines" by Bas Ketsman and Paraschos Koutris, published June 29, 2022. The page features a green journal cover on the left and an abstract discussing the resurgence of Datalog as a declarative query language. On the right, a "Client Account" sign-in overlay is visible. A red hand-drawn circle highlights a specific section within this menu titled "ICE Member Sign In" with a "Log in" button. The browser address bar shows the URL for emerald.com.

Someone tell me this isn't what I think it is.

1 month ago 0 0 0 0

When are we getting Code BEAM Down Under? #elixirlang

1 month ago 5 0 1 0

We need to bring back logic programming. But, you know, modern.

1 month ago 1 1 0 0

There it is folks, the Goatmire tickets are on sale ๐Ÿฅณ Make sure to get them before they sell out.

1 month ago 9 3 1 0
Navy background, pink headline "New ways to support Gleam!"; below the headline there's a graphic that shows screen of the "Sponsor" page from gleam.run and its text: "Sponsorship and donations. Support Gleam's development by sponsoring us! he Gleam project" and the description as well as 3 pink buttons: Github Sponsors, Bank Transfer, Liberapay.

Navy background, pink headline "New ways to support Gleam!"; below the headline there's a graphic that shows screen of the "Sponsor" page from gleam.run and its text: "Sponsorship and donations. Support Gleam's development by sponsoring us! he Gleam project" and the description as well as 3 pink buttons: Github Sponsors, Bank Transfer, Liberapay.

Thanks to one of the discussions at the #GleamGathering, we decided to add more options to support Gleam development financially: now you can do it via direct bank transfer โญ

All the details: gleam.run/sponsor

1 month ago 28 11 0 1