Hacker News

Command-line tool to track your books

Hacker News - Sat, 04/19/2025 - 1:33pm

Article URL: https://github.com/mkaz/libro

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

Points: 2

# Comments: 1

Categories: Hacker News

Gemma 3 QAT Models

Hacker News - Sat, 04/19/2025 - 1:29pm
Categories: Hacker News

Show HN: MutAnt: Decentralized public/private mutable key-value storageAutonomi

Hacker News - Sat, 04/19/2025 - 1:27pm

Hey guy !

I want to show you this small tool I've been developing on top of the https://autonomi.com/ decentralized storage network It is composed of a `mutant` CLI tool that is a frontend for a rust library

It allows you to have a private decentralized key value storage as well as publicly-addressable mutable content accessible from everywhere, where you only pay to grow your storage and can mutate it -> for free forever <-

The cli looks like this

```bash

# Store a value directly

$> mutant put mykey "my value"

# Get a value and print to stdout

$> mutant get mykey

# Output: my value

# Update a value (you can use the shorter -f)

$> mutant put mykey "my new value" --force

# Remove a value

$> mutant rm mykey

```

```bash

# Store data publicly (no encryption) under a name

$> mutant put -p my_key "some public content"

# Output:

1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

# Get your own public data by name

$> mutant get my_key

# Output: some public content

# Get public data by address

$> mutant get -p 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

# Output: some public content

# You can update it all the same as the private data

$> mutant put -p my_key "some updated public content" --force

```

You can also use the rust library directly

```rust use mutant_lib::{MutAnt, MutAntConfig, Error};

#[tokio::main]

async fn main() -> anyhow::Result<()> { // Replace with your actual private key (hex format, with or without 0x prefix)

let private_key_hex = "0xYOUR_PRIVATE_KEY_HEX".to_string(); let mut mutant = MutAnt::init(private_key_hex).await?; mutant.store("greeting", b"hello world").await?; let fetched_value = mutant.fetch("greeting").await?; println!("Fetched value: {}", String::from_utf8_lossy(&fetched_value)); mutant.remove("greeting").await?; Ok(()) }

```

As a demo, I run a little loop to update a public value with the current time at the time of the update that you can publicly get at `9429076971abe17b485fd30dd3065d27fc36362ba164529e530722bdd693f6cb8904fc177bf657d29774eb42403ac980`

```bash

$> cargo install mutant

$> mutant get -p 9429076971abe17b485fd30dd3065d27fc36362ba164529e530722bdd693f6cb8904fc177bf657d29774eb42403ac980

# outputs: Hello Autonomi ! Sat, 19 Apr 2025 16:45:30 +0000

```

You can find more information on the github

https://github.com/Champii/MutAnt

And the Autonomi forum for the latest updates

https://forum.autonomi.community/t/announcing-mutant-mutable...

I'm looking for feedback on this tool, if it is usefull or if it has any use for you guys.

Let me know !

Happy storing :)

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

Points: 1

# Comments: 0

Categories: Hacker News

Consumer Action Taskforce

Hacker News - Sat, 04/19/2025 - 1:15pm
Categories: Hacker News

Banned Books List 2025

Hacker News - Sat, 04/19/2025 - 12:38pm
Categories: Hacker News

Infantilization at Big Tech

Hacker News - Sat, 04/19/2025 - 12:34pm

Article URL: https://nmn.gl/blog/big-tech-daycare

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

Points: 1

# Comments: 0

Categories: Hacker News

Mooers's Law

Hacker News - Sat, 04/19/2025 - 12:26pm
Categories: Hacker News

Pages