Hacker News

Subscribe to Hacker News feed
Hacker News RSS
Updated: 16 min 11 sec ago

LyX 2.5 Released

Tue, 02/17/2026 - 8:15pm

Article URL: https://wiki.lyx.org/LyX/NewInLyX25

Comments URL: https://news.ycombinator.com/item?id=47055755

Points: 1

# Comments: 0

Categories: Hacker News

YouTube Is Down

Tue, 02/17/2026 - 8:09pm
Categories: Hacker News

ZeroClaw – Rust-native agent that runs on your Rpi

Tue, 02/17/2026 - 8:06pm

Article URL: https://zeroclaw.bot/

Comments URL: https://news.ycombinator.com/item?id=47055705

Points: 3

# Comments: 0

Categories: Hacker News

Google Public CA is down

Tue, 02/17/2026 - 8:05pm
Categories: Hacker News

Show HN: Masharif

Tue, 02/17/2026 - 7:58pm

Hi HN,

I’ve been working on a GUI library and ran into a familiar problem: I needed a layout engine that was lightweight, predictable, and easy to integrate. I couldn’t quite find what I wanted, so I ended up building my own. That project became Masharif.

Masharif is a complete Flexbox layout engine. It supports margins, padding, gaps, and the full set of flex properties, with behavior aligned closely to how Flexbox works on the web.

Some technical notes: - Full Flexbox implementation - Supports margin, padding, gaps, and nested layouts - Designed to be simple to embed and reason about

Performance (tested with 10,101 nodes): - Initial layout: ~0.87 ms - Single property edit (width): ~0.07 ms - 100 property edits (flex-grow toggles): ~0.07 ms - Structural change (removing a child): ~0.75 ms

Why another layout engine? Yoga is the obvious industry standard, but I wanted something that feels more idiomatic C++ rather than C-style APIs. Mostly, though, I wanted to take on the challenge and really understand the problem space by building one myself.

I’d love feedback, criticism, or questions.

Comments URL: https://news.ycombinator.com/item?id=47055642

Points: 1

# Comments: 0

Categories: Hacker News

Show HN: GreedyPhrase – 1.21x better compression than GPT-4o tiktoken, 6x faster

Tue, 02/17/2026 - 7:55pm

A greedy phrase-based tokenizer that outperforms GPT-4 and GPT-4o tokenizers on compression, with a smaller vocabulary.

Benchmark (enwik9, 1 GB):

Tokenizer Vocab Size Total Tokens Ratio Throughput GreedyPhrase 65,536 222,805,405 4.49x 47 MB/s Tiktoken o200k_base (GPT-4o) 200,019 270,616,861 3.70x 4.35 MB/s Tiktoken cl100k_base (GPT-4) 100,277 273,662,103 3.65x 7.13 MB/s

GreedyPhrase: 1.23x better than GPT-4, 1.21x better than GPT-4o. 1.5-3x smaller vocab, 6-11x higher encoding throughput.

How It Works:

1. Phrase Mining — Split into atoms (words, punctuation, whitespace). Mine bigrams/trigrams. Top phrases fill 95% vocab slots.

2. BPE Fallback — Train BPE on residual byte sequences. Fills remaining 5% vocab.

3. Greedy Encoding — Longest-match-first Trie. Byte fallback for unknowns (zero OOV).

Comments URL: https://news.ycombinator.com/item?id=47055617

Points: 1

# Comments: 0

Categories: Hacker News

Show HN: Spawn – PostgreSQL migrate/test build system with minijinja (not vibed)

Tue, 02/17/2026 - 7:46pm

Hi! Very excited to share my project spawn, a db migration/build system. For now, it supports PostgreSQL via psql to create and apply migrations, as well as write golden file tests. It has some innovations that I think make it very useful relative to other options I've tried.

GitHub: https://github.com/saward/spawn

Docs: https://docs.spawn.dev/

Shout out to minijinja (https://docs.rs/minijinja/latest/minijinja/) which has made a lot of the awesomeness possible!

Some features (PostgreSQL via psql only for now):

- Store functions/views/data in separate files

- Git diff shows exactly what changed in a function in new migrations

- Easy writing of tests for functions/views/triggers

- Env specific variables, so migrations apply test data to dev/local db targets only

- Generate data from JSON files

- Macros for easily generating repeatable SQL, and other cool tricks (e.g., view tear-down and re-create)

I started this project around two years ago. Finally have been able to get it to an MVP state I am happy with. I love using PostgreSQL and all its features, but current available tooling makes utilising some of those features more challenging

I created spawn to solve my own personal pain points. The main one was, how to manage updates for things like views and functions? There's a few challenges (and spawn doesn't solve all), but the main one was creating and reviewing the migration. The typical (without spawn) approach is one of:

1. Copy function into new migration and edit. This makes PR reviews hard because all you see is a big blob of new changes.

2. Repeatable migrations. This breaks old migrations when building from scratch, if those migrations depend on DDL or DML from repeatable migrations.

3. Sqitch rework. Works, but is a bit cumbersome overall with the DAG, and I hit limitations with sqitch's variables support (and Perl) for other things I wanted to do.

Spawn is my attempt to solve this, along with an easy (single binary) way to write and run tests. You:

- Store view or function in its own separate file.

- Include it in your migration with a template (e.g., {% include "functions/hello.sql" %})

- Build migration to see the final SQL, or apply to database.

- Pin migration to forever lock it to the component as it is now. This is very similar to 'git commit', allowing the old migration to run the same as when it was first created, even if you later change functions/hello.sql.

- Update the function later by editing functions/hello.sql in place and importing it into your new migration. Git diff shows exactly what changed in hello.sql.

Please check it out, let me know what you think, and hopefully it's as useful for you as it has been for me. Thanks!

(AI disclosure: around 90% of non-test code by me, AI was used more once the core architecture was in place, and for assisting in generating docs)

Comments URL: https://news.ycombinator.com/item?id=47055579

Points: 1

# Comments: 0

Categories: Hacker News

Show HN: Instagram Saved Collection Exporter

Tue, 02/17/2026 - 7:37pm

Export, Download, and Backup Your Instagram Saved Collections Effortlessly

Comments URL: https://news.ycombinator.com/item?id=47055520

Points: 1

# Comments: 0

Categories: Hacker News

Convert Audi to 432Hz

Tue, 02/17/2026 - 7:37pm
Categories: Hacker News

The Final Bottleneck

Tue, 02/17/2026 - 7:37pm
Categories: Hacker News

Pages