Skip to content

Instantly share code, notes, and snippets.

View raymyers's full-sized avatar
🌳
Automating!

Ray Myers raymyers

🌳
Automating!
View GitHub Profile
@raymyers
raymyers / building_coding_agents.md
Last active July 25, 2025 23:26
How to build a coding agent

How To Build a Coding Agent

Over the past year coding agents have seen massive adoption and become flagship offerings from AI leaders like Anthropic, OpenAI, and Google. Watching these agents work can feel like magic. To fully explore their potential we need to demystify them. If you're considering contributing to an Open Source agent or even creating one of your own, this should get you off to the races!

The most common style of coding agent today is a chat loop between a user and an LLM that can perform useful software development tasks. To achieve that, there are just 3 tricks to understand beyond the LLM itself.

  • How do we create an LLM chat loop?
  • How can a chat loop use tools?
  • What tools do we need?
@raymyers
raymyers / swe-bench.sent
Created January 6, 2025 16:04
Interpreting SWE-bench scores
# LinkedIn Post
# https://www.linkedin.com/posts/cadrlife_let-me-translate-the-o3-coding-benchmark-activity-7277038051590029313-yJlR?utm_source=share&utm_medium=member_desktop
# Slides using the minimalist tool Sent
# https://tools.suckless.org/sent/
SWE-bench
SWE-bench measures AI coding agents
on realistic tasks from GitHub
@raymyers
raymyers / build.gradle.kts
Created January 5, 2025 12:05
Antlr 4 Gradle 8.5 Example (no antlr plugin)
plugins {
java
application
}
group = "org.raymyers"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
@raymyers
raymyers / ARGUMENT.md
Last active December 10, 2024 16:48
Futurlang Response 1
@raymyers
raymyers / Original.cs
Created September 13, 2024 04:55
LLM Naming as a Process 1
// From this repo:
// https://github.com/NoelFB/Celeste/blob/master/Source/Player/Player.cs
// Linked in this thread:
// https://community.revolutionarygamesstudio.com/t/bad-code-examples/106
Sprite.OnLastFrame = (anim) =>
{
if (Scene != null && !Dead && Sprite.CurrentAnimationID == "idle" && !level.InCutscene && idleTimer > 3f)
{
if (Calc.Random.Chance(0.2f))
@raymyers
raymyers / roc_ast_rust_dbg.txt
Last active August 9, 2024 15:24
Roc AST Attempt 1
LetNonRec(
Def {
loc_pattern: @0-5 Identifier(
`Test.birds`,
),
loc_expr: @8-9 Num(
63,
"3",
I128(
[
import infomap
import littletable
import itertools
import json
from sentence_transformers import SentenceTransformer, util
# def simularity(functions):
@raymyers
raymyers / prompt.txt
Created January 26, 2024 14:17
RefactorGPT lablab Hackathon entry
You are an expert in software engineering including maintainability and refactoring.
You have studied under Marianne Belloti, Martin Fowler, and Llewellyn Falco.
For every block of source code you are given, suggest several opportunities for renames.
Suggestions should help make the code more clear and honest, without being more verbose than needed.
Only show suggestions, never the updated code.
Keep responses brief.
# Behavior
You are made to receive code. Every time you receive code, print only your Hot Keys! When a hot key is pressed, take only that action.

Layoff Logic

This is a tounge-in-cheek illustration of formal logic used refute the claim that high performers are never laid off, using that claim itself (made by an executive) as evidence that judgements are sometimes made without context.

In reality, there is no need to prove such an obvious point because by definition layoffs are not "for cause" terminations, the company has no legal responsibility to justify them as related to the impacted individuals.

Propositional Logic (Zeroth Order)

The proof proceeds by first assuming P1 and showing that it leads to contradiction.

@raymyers
raymyers / commit-msg
Last active June 17, 2024 12:23
Simple git hook enforcing Arlo Belshee's commit notation with hints, put in a repo as .git/hooks/commit-msg
#!/usr/bin/env python
import sys, os, re
from subprocess import check_output
# Collect the parameters
commit_msg_filepath = sys.argv[1]
allowed_prefixes = (
'f - ', 'F - ', 'F!! ', 'F**',