RSSAmplifier

Blog

Robert Krahn

Recent content on Robert Krahn

robert.kra.hnRSS feed ↗11 posts

Latest posts

org-ai — Emacs as your personal AI assistant

org-ai is an Emacs extension that provides functionality by integrating various AI models into Emacs. This demo gives an impression: The project can be found on Github . Currently, features include: use ChatGPT in org-mode with #+begin_ai...#+end_ai blocks directly with a prompt anywhere on selected text to ask questions or request other actions refactor code generate images and image variations…

Setting up Github Copilot in Emacs

Quickstart Either follow the instructions of zerolfx/copilot.el or use a ready-to-roll config provided at rksm/copilot-emacsd . This is a short walkthrough describing my current Emacs-Copilot setup. Copilot is primarily advertised as a VSCode utility but actually it works really well in Emacs. Given the ease of adjustments (e.g. when to see completions) I would even argue Emacs might provide a…

Speeding up incremental Rust compilation with dylibs

TL;DR Creating a dynamic version of a Rust library can improve incremental compilation speed during development quite substantially. cargo add-dynamic automates the setup process. One of Rust’s biggest downsides is that it tends to be rather slow when compiling programs. A lot of work has been put into improving the situation over the years with noticable impact. In addition, there are a…

Hot Reloading Rust — for Fun and Faster Feedback Cycles

TL;DR hot-lib-reloader allows to change Rust code on the fly without restarts. It works on Linux, macOS, and Windows. For why, how it works and, how to use it (as well as the limitations of this approach) read the post below. Hot-reloading a Bevy app Development with Rust can be a lot of fun and the rich type system in combination with good tooling such as rust-analyzer can provide helpful hints…

A Rust web server / frontend setup like it's 2022 (with axum and yew)

WebAssembly tooling for Rust has made big improvements and has matured tremendously over the previous two years. The build and packaging steps are now simpler thanks to tools like Trunk , as well as being able to write frontend code with various frameworks such as yew or dioxus . Also support for wasm is now supported in quite a few crates, basic ones such as chrono or higher level libraries such…

Configuring Emacs for Rust development

Rust support in Emacs improved a lot during the past two years. This post will walk you through setting up Emacs to allow for: Navigating the source code (go to to implementation, list references, outline module structure) Code completion Code snippets Highlighting errors and warnings inline Apply code fixes and refactorings Automatically import definitions if necessary (such as for Traits) Code…

Is Rust a Functional Programming Language?

Update: There was a delightful discussion about functional programming and the nature of Rust at lobste.rs . Some quotes... Functional languages take away mutability from the “mutability + aliasing = bugs” equation; Rust takes away the aliasing — or at least, the uncontrolled aliasing. To me, it then makes sense to feel comfortable using mutability (and the advantages it offers), safe in the…

Building and deploying Rust utilities

Over the past year I build a number of tools and utilities in Rust. Previously, I would mostly do this in node.js or shell scripts but Rust has some advantages: More reliable for long running and mostly unobserved applications (“once it runs is runs”), in particular no memory (leak) issues Needs less resources, upping the utility value of my various Raspberry Pis Setup and deployment…

Clojure Conj 2019

I just returned from last weeks Clojure/conj in Durham, NC. All the talks seem to be online now . Talks I really liked included Follow the Data , Sherlock Holmes , and Love Letter To Clojure . No big surprises or releases there but what was an overarching impression is that Clojure now really has become a very stable language and ecosystem. Not huge by any means but a fair amount of companies…

Org Analyzer

Here is the project link: github.com/rksm/clj-org-analyzer . I started using Emacs org mode “for real” a little less than two years ago and have been tracking my work related activities ever since using org-clock-in . Since the end of 2017 this has generated quite a bit of data but I have found that actually digging into that is rather hard due to the limited reporting functionality in…

Developer Efficiency

Much has been written about the productivity of software developers. The term “10x programmer” has been used and abused. It can be traced back to the paper by Sackman et al. that first described the variations in ability of individuals to program and debug. Even though I’m not writing about individual differences here I’m mentioning this publication for another reason: It…