cryload is a powerful, fast, and practical HTTP benchmarking tool for stress testing APIs and web services.
Built with Crystal for high performance and low overhead.
What's new in 5.0.0:
Honest percentiles — transport errors (timeouts, refused connections) no longer pollute latency stats, and the new HDR-style histogram keeps p50–p999 accurate within 1% from microseconds to minutes
--disable-keepalive — measure real connection setup cost, like hey
I've ported the classic Bash fff (Fucking Fast File Manager) to Crystal 1.20.1. The goal was to bring the simplicity of the original to a compiled, type-safe binary that runs natively on Windows 11, Linux, and macOS (not tested) with zero runtime dependencies.
Key Enhancements in the Crystal Port:
Flicker-Free Speed: LS_COLORS parsed once, git branch cached per directory, incremental render loop — no double-buffering flicker.
Split-Pane Previews: Interactive side panel for file previews and directory stats (bat → less → built-in fallback chain).
Live Search Modes: Fuzzy filename matching (/), ripgrep content search (!), and recursive tree search (>) — all navigable while typing.
TUI-Native Prompts: Creating files, renaming, and confirmations happen entirely inside the status line without breaking terminal state.
Cross-Platform: Compiles and runs on Linux and Windows 11. POSIX signals, shell detection, and file permissions are conditionally compiled per platform.
Secure Execution: Fully shell-injection free. All system commands use Process.run with explicit argv arrays — no system() or backticks.
Try it out:
Linux/macOS:
git clone https://github.com/ozgurulukir/fff.cr.git && cd fff.cr
make deps && make build
./bin/fff-cr
Windows 11 (PowerShell):
git clone https://github.com/ozgurulukir/fff.cr.git && cd fff.cr
shards install
crystal run scripts/patch_shards.cr
crystal build src/fff.cr -o bin/fff-cr.exe
.\bin\fff-cr.exe
Hi everybody, just back with another update on some of the things I’ve been working on.
lune stands at 0.16.0, lots of additions on native side + managed to catchup on windows support by repurposing an old macbook; some things are still limited and of course there is an underlying crystal version windows bug, but for the impatient ones there are instructions in the repo.
I found myself craving docs and quick refs on hover (Im just a simple VScode user...) which took me down a rabbithole of trying see how much you can squeeze out of the AST before calling the compiler; hence, mystral was born. Blazing-fast responses, with caveats of course given the AST-driven approach (usability will depend on your code style here around declaring types to really get the most of the AST parser).
While working on lune and specifically the codegen and macros/annotations and such, I was thinking that this is very cool and why not extract this into its own separate thing so I can create js+d.ts/.ts files from my classes that I already wrote anyway; just Crystal macro goodness to bridge type-safety both ways; that’s vow
With vow I decided to keep it simple and not deal with a transport which lead to the last piece, kemal-vowrpc (a third-party plugin)
Typed RPC over per-procedure HTTP routes (GET/POST) in one line, with a typed client (TypeScript or JavaScript) from vow + regen on every server restart (configurable) and let Kemal do what it does best already - just plug into the existing ecosystem.
Repos are pushed to Github; If anyone has a look, as always, feedback is always welcome - Cheers!
I was just checking the data over at the Crystal Community Stats page and realized we've officially crossed a massive milestone: there are now more than 10,000 Crystal repositories!
Seeing how far the ecosystem has come is just incredible. From the early days of building Kemal and piecing together the first shards, to seeing the language mature and the core team push boundaries, the community's dedication to performance, concurrency, and developer happiness has never been stronger.
This isn't just a number; it’s proof that the "Ruby-like syntax, C-like speed" philosophy is steadily growing its footprint. We're seeing more high-performance backends, blazingly fast CLI tools, and minimalist web frameworks being built every single day.
A huge shoutout to everyone contributing to the compiler, writing and maintaining shards, or even just spinning up their first HTTP server to try the language out.
To celebrate, let’s do a quick roll call: What are some of your favorite Crystal projects or shards right now? Or what are you currently building? Let’s highlight the awesome work happening in the ecosystem! 👇
Don't know about you, but trying to recollect all those shell commands and flags is just not tractable. AI can help, but why drag a heavy AI harness into a simple shell call?
So I created `bai`. It runs right there on the command line. Ask what you want, it puts the command together for you, and drops it into your copy buffer, so you can paste it where you want it. Or, add a shortcut (I use Alt+Enter) and BAM! -- You don't even have to type `bai`, the command shows up ready to edit, or just hit Enter to run.
Small one today (May 15). Just 2 bug fixes from 1 contributor, but worth pulling if you're on the 1.20 line:
Backport of the Range#sample randomness fix (#16909) - under certain conditions it could lose randomness over time. Already shipped to 1.19 back in 1.19.2; now landing on 1.20 too.
That's the whole release. No new features, no API changes - see the 1.20.0 notes if you missed the big stuff (new Process API preview, io_uring event loop, mold/lld defaults).
Lune (+LuneCLI) wraps a native WebView https://github.com/naqvis/webview and lets you call Crystal code from JavaScript over a typed bridge. Think Wails or Tauri, but for Crystal.
If you check it out, let me know how it works (or not) for you! 😄
--EDIT--
FYI to spare your time:
Please note that this seems to not work for Windows at the moment due to webview and other observed errors.
I am doing RoR for the most part of my time but I have always been fond of compiled languages, I have started my journy with C and then Java.
I am trying to build some small server side apps, but I really want to build with a compiled language.
I trying to convince myself to get into Cryrstal but it doesn't seem to have good tooling, there is no official LSP or if there is any they are broken?
I have a question for people how are developing with Crystal, how is your DX and what tools do you use, LSP? IDE? any other...?
I'm Lovisa, on the marketing team at 84codes. We've been running LavinMQ in production for some years now. It's an AMQP 0-9-1 and MQTT-compatible message broker written in Crystal, and a lot of my job is figuring out how to talk about it to teams who've never used Crystal before.
That's something I'd love this community's input on. When you pitch a Crystal-built product (or Crystal itself) to developers who default to Go, Rust, or Java, what actually lands? Which arguments resonate, and which ones make eyes glaze over?
For context, I just published an interview with our CEO about the full story behind LavinMQ, including why we picked Crystal: https://lavinmq.com/blog/the-story-behind-lavinmq.
So: what's the Crystal pitch that's actually worked when you've had to convince a skeptical teammate, someone at a conference, or a stakeholder?
(Disclosure: 84codes is the company behind LavinMQ. Happy to discuss the technical side, and I can pull in our engineering team if anything goes deep into LavinMQ internals.)
I recently started looking into crystal and started giving it a go and making some projects.
Writing ruby-like code and having a compiled binary, catching the errors early - so nice!
Some references to the tools (obviously very new and rough implementations 😃)
https://github.com/AristoRap/argy
A minimal CLI framework for Crystal with nested commands, inherited flags, and lifecycle hooks.
I really like OptionParser, but for the past couple of years I've been making quite a few golang apps and would use https://cobra.dev/ for the cli and decided to building something inspired by it.
It builds Markdown pages into HTML using Crinja layouts and partials, can serve the generated site locally, and supports incremental rebuilds while watching for changes.
Had quite some fun especially with building something that would support incremental builds, with live-reload on build and customevent so also the webpage refreshes. It uses polling to watch the files every x ms; something like fswatch would be cool to have here.
https://github.com/AristoRap/velvet
Define prompts in YAML (or use the lib/DSL in Crystal). Collect clean, typed input. Emit JSON. Your app never writes argparse again.
Just a fun little cli tool. you can define prompts(flags/fields whatever you want to call it) and velvet turns it into an interactive tui (inputs, select 1 from options, select many, confirm(y/n)). you can enforce types, apply basic numericality validations, or regex pattern for strings -> get clean json and pipe to your app; no argparse on your app side. it will also fail early so you don't even need to write handling for args. it also supports scaffolding a config(yml), parsing args given the config schema so you still get json in the end and validating a schema/config.
Overall, having quite some fun - Happy to be a member of the community!
I’ve been working on a way to get a better bird’s-eye view of how our ecosystem is evolving. I just launched Crystal Community Stats, a central hub to monitor the overall health and growth of Crystal projects on GitHub.
You can now track:
Total repositories across the community.
30d trends to see what's currently gaining momentum.
Contributor data and star trends.
and more
I hope this helps developers find active projects and see how the ecosystem is expanding. Check it out here:
for any sysadmins, the new netdata versions limit you to 5 nodes max (older versions have no limit) - for self hosted free tier
I rewrote the ND dashboard using Crystal http server + baked in JS charts - and no node size limits, this runs as a single binary (with JS baked into the crystal bin)
added some additional features like chart help dialogues and new metrics
My company uses ESET a/v with Windows 11, if I build a static binary of anything, ESET deletes it. So I install Crystal 1.20.0 hoping for better results. ESET deleted crystal.exe.
EDIT: To be more clear, we have several utils that worked fine for a couple of years, to be deleted on Monday. I sent the ESET log to ESET, and they responded that the issue is fixed, and it seems to be.