Daily Shaarli
February 14, 2024
Same rough functionality as entr - watch for filechanges from the commandline. But with a server/client interface and afaik possibility to invoke programmatically.
Simple commandline process execution with javascript. Takes care of stdin/stdout/stderr transformations, termination, newlines, child processes and so on.
Cross-platform Rust rewrite of the GNU coreutils.
Simply intends to have complete compatibility with original coreutils - strives to fully pass the GNU coreutils test suite.
Provides the virtual windows management interface that tmux/screen do.
Does explicitly not do anything like session management, for that it recommends using abduco or similar programs like dtach.
D programming language tutorial from the ground up.
Really extensive documentation and guided tour of the D language. From simple hello world to parallelism, concurrency, and manual memory management.
A smarter shell and scripting environment with advanced features designed for usability, safety and productivity.
Soomewhat like nushell in that it can easily open (i.e. wget/curl) APIs and web pages, parse structured data (e.g. TOML, YAML, JSON) and work with the variables.
But also somewhat different in that it does not want to take over the rest of the coreutils/shell builtins, and as far as I understand strives to work alongside the traditional shell (e.g. using it mostly for scripting while ignoring it for repl use or whatever your use case is). Also not taking a(n almost) strictly functional approach like nushell.
Not sure how mature it is yet, have not extensively tried it out.
Simple session management allowing to detach from a current session.
Does explicitly not emulate the virtual window system of screen/tmux.
Allows writing commandline arguments as if you're in a shell script, but from javascript.
Somewhat similar to execa, but afaik tries to implement its own cross-platform coreutil commands. Has quick $
based syntax by default:
import { $ } from "bun";
const response = await fetch("https://example.com");
// Use Response as stdin.
await $`echo < ${response} > wc -c`; // 120