Allow, ask, deny: contextual policies in Omnigent July 15, 2026 Table of Contents Example 1: Ask Before File and Shell Operations Example 2: A Custom Policy in Python Example 3: An Inline Policy in CEL Conclusion If you've worked with coding agents before, you've seen them pause and ask before editing files or reading the contents of certain directories. In Omnigent, these events are governed by…
Harness Engineering February 28, 2026 Table of Contents Introduction A simple harness The core loop The execution log Build the context Add tool call support LLM Support Observability Big picture What's next Takeaways In the first couple of years of LLMs, we talked a lot about "prompt engineering": how to craft a prompt just so in order to induce the LLM to do what we want. Since then, we've moved…
Saving and Restoring Window Configurations in Emacs November 22, 2025 Table of Contents The Problem Window Registers Persisting across Sessions Try out window registers When working in emacs, I often switch between different combinations of windows with different splits. For example, I might have one configuration with an org mode buffer with some notes alongside org-agenda, and another with a…
Using MLflow's MCP Server for Conversational Trace Analysis October 1, 2025 Table of Contents Introduction: MCP Server for MLflow Traces MLflow Tracing Setup Setting up MLflow Generating some Trace Data to Explore Using the MLflow MCP Server Claude Desktop Claude Code Next Steps and Observations MLflow 3.4 introduced an official MCP server that lets AI assistants like Claude interact directly with…
Getting Started with Model Context Protocol Part 2: Prompts and Resources September 21, 2025 Table of Contents Review of Part 1 Resources: Expose data to your LLMs Accessing Resource with Claude Desktop Prompts: Reusable prompt templates Using prompts with Claude Desktop Conclusion, Observations, and Next Steps In the first part of this series on Anthropic's Model Context Protocol, I showed how to…
Getting Started with Model Context Protocol Part 1: Add a Simple MCP Server to Claude Desktop April 12, 2025 Table of Contents Introduction: MCP Concepts Quickstart: Set up a Simple MCP Server and Use It with Claude Desktop Setup Define the MCP server Add the server to Claude Desktop Install the MCP server Configure the Claude Desktop app Use the tool provided by the MCP Server Recap and Next…
Emacs Introspection and Debugging March 23, 2025 Table of Contents Introduction Finding Relevant Variables Confirming the issue with error backtrace Quick fix—bandaid approach Finding the root of the problem Conclusion—Emacs introspection If you use Emacs, you will eventually run into errors. Maybe a recent package update introduced some new issues with your system. Or some custom elisp you wrote…
Persistent Elements in Daily Journals with Org Agenda May 5, 2024 Table of Contents A different way of thinking about the org agenda org-agenda-custom-commands Next Steps DONE Add TODO entries UPDATE TODO Limit the number of files searched TODO Add and organize tags TODO Other I use denote's journaling features to keep a daily project log, where I record whatever I'm working on, stray bits of…
Retrieving Data for the H2o RAG Benchmark March 29, 2024 I was looking for a good dataset to use for comparing different models in a RAG application when I found this post on Reddit. It compares a bunch of models on a collection of questions over a set of documents provided by H2O.ai . I wasn't super interested in the benchmark, but the files (mostly pdfs, one mp3, jpg, other file types)…
Making headings for recurring tasks in org mode March 25, 2024 Table of Contents How it works Limitations Further reading This short post shows how to use the org-clone-subtree-with-time-shift command to make org headings for recurring tasks. I was recently trying to add a five-week class to my org agenda and I didn't want to manually create each heading and add or modify the timestamp. This…
Introduction to Emacs Hooks December 17, 2023 Table of Contents Emacs Hooks What do hooks do? How do hooks work? Hooks Example Mode Hooks Appendix: Hooks in use-package Further Reading Emacs Hooks Today I was customizing the appearance of org files displayed with org-tree-slide . In particular, I wanted to increase the font size and start Olivetti mode whenever I started org-tree-slide-mode and…
YASnippet for Prompt Templates for Chatgpt-Shell July 9, 2023 Table of Contents Introduction Setting up ChatGPT Shell YASnippet Defining a Snippet Using a Snippet Inserting the Last Item in the Kill Ring Next Steps Introduction The wonderful chatgpt-shell package by Xenodium lets you interact with the gpt-3.5 and gpt-4 APIs in emacs via a handy shell built on top of comint-mode . It also…
Writing on AI and Postgres June 1, 2023 Table of Contents Background Making a Production LLM Prompt for Text-to-SQL Translation Make ChatGPT Stop Chatting and Start Writing SQL LLM Prompt Testing Part 1: Comparing ChatGPT to Codex Use LLMs with Other Tools for Better SQL Translation Vector Similarity Search in Postgres with bit.io and pgvector Pre-Classify Tasks for Better ChatGPT Completions…
Using the ChatGPT API with Julia Part 2: Defining a Chat Struct March 10, 2023 Table of Contents Defining the Struct Defining the function Giving it a Try What's next? One of the things that makes working with the ChatGPT API a little different from working with, e.g., the davinci-text-003 model api is the need to maintain the history of a given chat session. A Julia Struct containing the chat…
Using the ChatGPT API with Julia Part 1: the HTTP.jl Library March 4, 2023 Table of Contents Introduction curl Example Julia example A little more detail about sending messages Next Up… Introduction This brief post shows the basics of using the Julia HTTP library to interact with the OpenAI ChatGPT API, which was made public a few days ago. This post will only include the minimum necessary detail…
Using Quarto Files with Denote December 22, 2022 Table of Contents Custom Filetypes in Denote Modifying the markdown-yaml file type Custom Filetypes in Denote The latest release of Denote (by the inimitable Protesilaos Stavrou) introduced support for custom file types in addition to the defaults, Org, Markdown+YAML, Markdown+TOML, and plain text. This post shows how to add Quarto files (.qmd).…
Processing a JSON API Response with jq September 18, 2022 Table of Contents Introduction Download the Data Processing the Data with jq jq with no further arguments Constructing a Header Row Extracting Data Values Converting the Results to CSV Introduction There are countless ways of processing JSON data and converting it to different formats. Historically, I've used Python and loaded the data into…
Figures and Captions Don't Appear as Expected with Default Export Options July 24, 2022 Table of Contents The Problem Changes to the Site Config The Results I noticed that some of the formatting on this site was a little off and some of the org-mode components weren't being translated to HTML in quite the way I expected. Fixing this was simple, but finding the solution wasn't. In short, it was…
Basic Plotting in Julia July 19, 2022 Table of Contents Getting Started with Julia in Org Mode: jupyter-julia . Making some Plots Building Plots Incrementally Plotting Real Data Modifying Plot Visual Components Different Plot Styles Conculsion In this short post, I show one of the many ways of using Julia within emacs org mode, and will describe some of the basic plotting functionality in Julia.…
Org Mode Headlines in Org Source Blocks February 8, 2022 Table of Contents The Problem This Headline Is in an Org Source Block Prepend Headlines in Source Blocks with Commas An Easier Way Note: I know the org-mode syntax highlighting in the current theme is very low-contrast. I will update this soon. The Problem When writing about org mode, one often wants to show what particular org headline look…
Task Repeaters in Org Mode January 29, 2022 Table of Contents Background Review: Dates, Schedules, and Deadlines in Emacs Org-Mode Repeat Intervals Different Types of Repeat Intervals The .+ Repeater The ++ Repeater Marking Tasks with Repeaters DONE (For Good) Further Reading Background I recently started using org-mode to keep track of a few habits (morning meditation, getting some sunlight and…
Org Babel Source Blocks for R December 11, 2021 Table of Contents Background R Source Headers Code Displaying Tabular Output Figures Base R Ggplot and Lattice An Alternative: Emacs-Jupyter Background Org Babel is one of the best tools available for literate programming . As a data scientist, I use it as a plain-text alternative to Jupyter notebooks. Org-mode files are much easier to track with…
Made with Org-Mode December 3, 2021 Table of Contents Background First Steps Ox-Publish GitHub Pages Some Simple Customization CSS theme Recent Posts Sitemap Configuration Sitemap Entry Formatting Sitemap List Formatting Previews Putting It All Together What's Next? DONE Add navigation buttons to return to the home page/about page/archive page/etc. from any page. (incidentally, if you want to get…
Resources December 2, 2021 Table of Contents Personal Website in Org OrgCSS Stylesheet loomcom Blogging using org-mode (and nothing else) Worg Publishing to HTML Tutorial My Site Here are some resources to reference for building a simple site with org-mode. I've extensively used the sites listed as models for building the present site and expect to continue to reference them for some time.…
A Simple PyTorch Model for the Numerai Tournament May 14, 2021 Table of Contents Background Problem Setting Original fastai model Data Setup Model Setup Training Loop Summary A Simple PyTorch Model Data Setup The Model The Training Loop Train the Model Summary This is another one from the archives. It covers how to train a basic PyTorch model for use in the Numerai tournament, at least as it was…
Mapping Urban Heat by Census Tract in R February 13, 2021 Table of Contents Background Getting the Data Unpacking and Visualizing the Raw Data Mapping Heat by Census Tract Final Maps Resources Another one from the archives–this is one of my projects from my time at the Guinn Center, and something I very much wish I could have developed further: an analysis of urban heat in Las Vegas. Background…
Book Review: Machine Learning Yearning by Andrew Ng June 14, 2019 Table of Contents Introduction and Perspective Overview of the Book General Thoughts on the Topic This is the first of a few posts I'm migrating from my old site, which you can still find here . This is a review of Machine Learning Yearning by Andrew Ng. Introduction and Perspective In this post, I am briefly reviewing the draft of…