
Behemehal

Behemehal builds smart, type-safe technologies — from embedded systems to the web — to increase accessibility and help people reach their goals.
A type-safe programming language that runs on embedded and sandboxed environments — powered by Rust.
//A generic, type-safe array chunkerclass Chunker<T> { co(chunkCount, items); pri v chunkCount : int; pri v items : [T, *]; fn chunks() : [[T, *], *] { v chunks : [[T, *], *]; v temp : [T, self.chunkCount]; for i : self.items.len { if temp.len == self.chunkCount { chunks.push(temp); temp.clean(); } else { temp.push(this.items[i]!); } } ret chunks; }}Open source libraries and tools built with Rust — designed to be small, portable and dependable.
A streaming http/https client for Rust. Read responses as a stream instead of buffering everything in memory.
use menemen::request::{Request, RequestTypes}; fn main() { let mut req = Request::new( "http://postman-echo.com/get", RequestTypes::GET, ).unwrap(); let mut res = req.send().unwrap(); let mut buf = Vec::new(); res.stream.read_to_end(&mut buf); println!("{}", String::from_utf8_lossy(&buf));}A whole database in one portable file. Every column declares a type, every value is checked before it is stored, and every file carries a checksum — so corruption is reported, never silently loaded. No dependencies, no_std, and it runs in the browser through WebAssembly.
use safe_en::{database, query, row, table::Timestamp}; let mut db = database! { users { id: I64 primary, email: String unique, age: I64 range(0_i64, 150_i64), joined: Timestamp, }}; db.table("users").unwrap().insert(row![ 1_i64, 21_i64, Timestamp::from_millis(1_767_225_600_000),]).unwrap(); let adults = db.table("users").unwrap() .get_where(query!(age >= 18)); db.save("./users.sfn").unwrap();Wake-On-LAN made simple. Generate, send and listen for magic packets — straight from your terminal or as a library.
# Wake a single device$ wole --mac 2c:2c:2c:2c:2c:2c --ip 192.168.1.100 # Wake several devices at once$ wole --mac 2c:.. --ip 192.168.1.100 --mac 2a:.. --ip 192.168.1.102 # Listen for incoming magic packets$ wole --listen 192.168.1.108 A parser for NMEA 0183 sentences — turn raw GPS/GNSS output into typed, ready-to-use position data. Serial port not included.
use rust_nmea::parser::Parser; // A raw GPS sentence from the receiverlet line = "$GPGGA,161009.00,1122.20418,N,02339.35234,E,1,08,1.09,11.5,M,11.3,M,,*62"; let fix = Parser::parse_line(line).unwrap(); // -> GGA { satellites: 8, altitude: 11.5, lat, lon, .. }Developer tools
See the shape of your keyspace — not just a list of keys. Redis, Valkey and DragonflyDB, with more stores on the way.


Developer tools
A local HTTP client. No cloud, no account, free forever.


Desktop tools, built for our own work. Local-first, no accounts, nothing phoning home.
All apps & gamesarrow_forwardThe same engineering, pointed at something you play. Built in-house, offline-first, and free of real-money purchases — every one of them gets its own page here, with screenshots, data-safety details and a privacy policy.
All apps & gamesarrow_forwardContact us for collaborations
[email protected]
Behemehal
All Rights Reserved
Founded by Ahmetcan Aksu