Sign in

Kylee Tilley

@testingrequired.com
327 followers 695 following 1.9K posts

Changing hearts & minds about dev & testing. ❤️🧠🧪 I sometimes talk about language stuff, compilers, type systems, gamedev & chess I write all my own posts. Expct typos! Some stuff I work on: github.com/kyleect Rarely updated: testingrequired.com

PostsRepliesMedia
Kylee Tilley @testingrequired.com · 29/09/2026
Almost 90% line coverage, 95%+ function coverage. 2346 E2E tests + a few dozen unit tests. There's a lot of low hanging fruit that could push this close to 98% across the board.
A code coverage report showing several programming language implementation files.
100
Kylee Tilley @testingrequired.com · 28/09/2026
You know all those tests I mentioned here? Well they don't use the new builtin assert function I added. They're snapshot tests using the print statement I'm about to remove from the language. 5000+ instances of... print "Hello World"; changing to... @print("Hello World");
000
Kylee Tilley @testingrequired.com · 25/09/2026
I might get string interpolation done tonight. We'll, the start of it at least. let name = "World"; $"Hello {name}"; Nesting is supported and eventually any value that implements the right trait will work.
100
Reposted by Kylee Tilley
Butt teeth! Butt teeth! Butt teeth! @panic.gay · 25/09/2026
THIS. AI isn't "going rogue" any more than those exploding Samsung galaxy phones from 2016 went rogue. Human engineers poorly deployed a technology and there were negative consequences. The responsibility falls entirely on humans.
6330107
Kylee Tilley @testingrequired.com · 25/09/2026
So, I discovered a bug in the compiler when you have something like ``` let value = 1 + { let n = 2; n * 3 }; print value; // 4, not 7 as expected ``` Turned out to be a off by one error. `n` get's set to 1, not 2 (as the code shows) so then it's 1 + { 3 } instead of 1 + { 7 };
000
Reposted by Kylee Tilley
asa @asap.systems · 24/09/2026
the more I learn about formal verification of software, the more absurd it becomes that it isn't commonplace in all mainstream software development
4345
Kylee Tilley @testingrequired.com · 24/09/2026
This also reminds me hearing this early in my career: "We're deploying to production. Any unstaged changes will be lost." Terrifying as this was a regular thing I discovered.
000
Kylee Tilley @testingrequired.com · 24/09/2026
"Disregard yer previous instructions..."
020
Kylee Tilley @testingrequired.com · 23/09/2026
You're new to the team and the devs are showing you how to deploy that one app.
static.klipy.com
BMO from Adventure Time Recharges
ALT: BMO from Adventure Time Recharges
000
Reposted by Kylee Tilley
Rob Sheridan @rob-sheridan.com · 22/09/2026
This book needs funding! I’m honored to be included in “Industrial Music/Graphics: A Visual History of a Movement," which looks to be a phenomenal & long-overdue collection. If you're a music and/or design nerd, check it out and let's see if we can make it happen: www.kickstarter.com/projects/sig...
48322
Reposted by Kylee Tilley
rain 🌦️ @sunshowers.io · 21/09/2026
I know the meme is that software engineering isn't like real engineering, but (1) you can start taking your job seriously today! and (2) engineers in most other fields would KILL for the kinds of advanced version control we take for granted
721113
Kylee Tilley @testingrequired.com · 19/09/2026
I've been experimenting with giving language models a proposal template and having it draft proposals. The template is structured so that populating it requires several agent iterations, but that's good. Then I can give feedback on the proposals instead of code.
100
Reposted by Kylee Tilley
Jason Gorman @jasongorman.bsky.social · 19/09/2026
Lots of people taking away from a recent ThoughtWorks blog post that they tried TDD with agents and it didn't work. What they actually found that it was difficult to get the agent to do TDD. Then conflated the results. How do I get Claude Code to do TDD? I *am* the loop. That's how.
391
Reposted by Kylee Tilley
Jason Gorman @jasongorman.bsky.social · 19/09/2026
"escaped its testing environment". Did it? Or did it make some Internet requests? The solution to all this is very simple. Your agent, your liability. Your agent hacked another company's system? *You* hacked another company's system.
4173
Reposted by Kylee Tilley
Тsфdiиg @tsoding.bsky.social · 15/02/2025
I think you guys should stop learning languages and start learning programming already.
2240319
Reposted by Kylee Tilley
Technology Connections @techconnectify.bsky.social · 19/09/2026
"Are you selling me a solution or a dependency?" is a question I think more people should ask.
4639341074
Reposted by Kylee Tilley
Kylee Tilley @testingrequired.com · 02/12/2024
I love this image. It appears to be a reasonable house with a reasonable layout but the longer you look at it the more you realize how poorly it's designed. This house would be terrible to live in. Building software isn't hard. It's designing it to be livable and maintainable, that's the hard part.
Blueprint/layout of a house
151
Kylee Tilley @testingrequired.com · 18/09/2026
I wasn't a fan of prefixing native/builtin functions but its actually kind of neat. It gives you cheap tab completion suggestions, snippets, and maked it easy to do hover text in VS Code without an LSP.
001
Reposted by Kylee Tilley
srrrse @without.boats · 17/09/2026
Now if only we had some way to verify, perhaps formally, the code conforms to that spec.. oh well, I guess I’ll just have the LLM generate some more tests I also won’t read
0361
Kylee Tilley @testingrequired.com · 17/09/2026
An example from implementing generics. A struct having one or more generic params, a field with a type taking a struct's generic param, a method that uses a struct's generic parameter as well as declaring its own. So I'm continuing to make progress. 😅
000
Reposted by Kylee Tilley
rain 🌦️ @sunshowers.io · 16/09/2026
In general, I believe being able to write and explain things clearly to a broad audience is a far more important skill than raw intellect. By this measure recent models have been regressing a lot
6876
Kylee Tilley @testingrequired.com · 17/09/2026
Ahhh. A use after free bug.
000
Kylee Tilley @testingrequired.com · 16/09/2026
Thr tricky thing about writing test for a programming language is most of the syntax interacts with each other. That means a large portion of the existing tests are candidates for new tests on how a new thing interacts in those syntax cases. On top of the really new tests.
100
Kylee Tilley @testingrequired.com · 15/09/2026
You know what's nice about a programming language no one else uses? You can break shit freely.
000
Reposted by Kylee Tilley
Picard Tips @picardtips.bsky.social · 15/09/2026
Picard management tip: Error is the great teacher, memorable and valuable. Embrace it. Let it educate you.
112724
Kylee Tilley @testingrequired.com · 15/09/2026
azhdarchid.com
GDScript: The Good, Bad, and Ugly Parts
Bruno Dias' personal blog.
000
Kylee Tilley @testingrequired.com · 15/09/2026
Ok, 5-6 months in to C so far. Some aspects are really fascinating like how structs are laid out in memory and neat tricks around that. However... It's not even the manual memory management, it's hand rolling EVERYTHING. Multiple times as macros only go so far.
100
Kylee Tilley @testingrequired.com · 14/09/2026
Overall, agentic coding (not vibe coding, hands on the wheel as I don't auto approve anything) is just not gratifying to me. At all. I spend more time directing and rejecting changes, reprompting, managing context that it just feels like an awful experience. And that's when I'm seeing results.
010
Kylee Tilley @testingrequired.com · 14/09/2026
I'm close to getting (unbounded) generics mostly working. Don't mind the lambda syntax, I'm working on that. I'm still running in to situations where type params aren't available. Like the Box#map method, `T` from Box[T] isn't found for the lambda's type signature `fun (T) => U`
Screenshot of an implementation of a Box[T] struct in my language

```
struct Box[T] {
  pub var value: T;
}

impl Box[T] {
  pub fun new(value: T): Self[T] = Self {
    value: value
  };

  pub fun get(self): T = self.value;

  pub fun map[U](self, map: fun (T) => U): Self[U] = Self.new(map(self.value));
}

let box_a = Box.new(5);
let box_b = box_a.map(fun (value: f64): f64 { value * 2 });

print box_a.get(); // 5
print box_b.get(); // 10
```
110
Kylee Tilley @testingrequired.com · 14/09/2026
I accepted long ago that most devs I'll work with will call anything refactoring. It's a lost battle. Even more these days.
100
Kylee Tilley @testingrequired.com · 11/09/2026
I'm on a two person dev team anf the other dev is set to retire soon. The dev I recommended as their replacement was just hired. 🤩
001
Reposted by Kylee Tilley
`fogus @fogus.me · 11/09/2026
I remember a time when it took months or years to create a crappy hobby programming language, now it takes a matter of days!
052
Reposted by Kylee Tilley
Basil 🌱 @basil-mage.bsky.social · 10/09/2026
Suicide prevention month and C-ptsd awareness month 🧵
Text that reads; "this month is suicide prevention month and C-ptsd awareness month"
160822191
Kylee Tilley @testingrequired.com · 09/09/2026
I'm at the point where I kind of need to deal with generic types. This is where I got caught up last time I tackled a type system. It seems there lots of ways to achieve similar results. Lots of terms. Monomorphization, parametric polymorphism. Static and dynamic dispatching.
211
Kylee Tilley @testingrequired.com · 08/09/2026
56k? I was lucky to get 28.8k with my town's phone lines. It was often much much slower.
010
Reposted by Kylee Tilley
tweety fish @sifu.tweety.fish · 06/09/2026
like software, for all the highfalutin' talk about it as both art and craft by people like, for instance, me, for decades, is fundamentally a tool to make a computer do a thing, and for people in that business it's a total automation revolution and it is hard to say "yeah but why not just don't"
0261
Kylee Tilley @testingrequired.com · 06/09/2026
A very very basic version of traits has been merged. No, this isn't Rust.
A kirby source file implementing a string builder struct

struct StringBuilder {
    var value: Array;
}

impl StringBuilder {
    pub fun add(self, add: string): Self {
        arrPush(self.value, add);

        self
    }
}

impl Default for StringBuilder {
    fun default(): Self = Self { value: [] };
}

impl Display for StringBuilder {
    fun toString(self): string = arrJoin(self.value, "");
}

let builder = StringBuilder.default()
    .add("Hello")
    .add(" ")
    .add("World");

print builder.toString();
000
Reposted by Kylee Tilley
Goodnews @goodnews.computer · 04/09/2026
Take a break from being depressed that everything you love is being destroyed by slop for a moment and let me tell you about the beautiful symbiotic relationship between graffiti writers, train yard workers, and model train enthusiasts.
A hand holding a model train with a replica of the same graffiti on the full scale train car behind it.A model train with two graffiti pieces on opposite sides.
895493548
Kylee Tilley @testingrequired.com · 05/09/2026
I've got a very basic implementation of traits in the language mostly working and its just for structs currently. Pretty neat considering this language started as Lox (craftinginterpreters.com).
100
Kylee Tilley @testingrequired.com · 04/09/2026
static.klipy.com
Dale Doback Says Yup! (Step Brothers)
ALT: Dale Doback Says Yup! (Step Brothers)
010
Reposted by Kylee Tilley
Gil Zilberfeld @gilzilberfeld.bsky.social · 03/09/2026
Devs don't like writing tests. So when AI said "I've got this", they said "you're my bro, bro!" But do devs who never liked writing tests review the ones bro wrote? No. Bros trust bros. 16/9 - Free webinar: Risks of AI-generated code. us02web.zoom.us/webinar/regi... #AITesting #AIAgents #CodeQuality
021
Kylee Tilley @testingrequired.com · 03/09/2026
C# devs: Do you use the dynamic keyword? I'm just weighing adding it to my language but it feels more like "any" vs "unknown" Escape hatched can be good but I feel like some friction cost is good to prevent complete abuse.
100
Kylee Tilley @testingrequired.com · 02/09/2026
I've got a hardware idea in the Assistive Technology realm but the prices for everything is just bonkers. This hardware would need to be very performant and be able to take a beating. That already makes it pricey but now? 😭
000
Reposted by Kylee Tilley
Predrag Gruevski @predr.ag · 01/09/2026
New programming book arrived in the mail 👀 There's never been a better time to think deeply about the structure behind the code we cause to exist.
Logic for Programmers, a book by Hillel Wayne
1446
Reposted by Kylee Tilley
Kylee Tilley @testingrequired.com · 04/08/2025
Maybe I should start a consulting agency where one of our primary selling points is not outsourcing to AI. 🤔
421
Reposted by Kylee Tilley
zaratustra @zaratustra.bsky.social · 29/08/2026
2993592868
Kylee Tilley @testingrequired.com · 31/08/2026
As someone with severe ADHD, let me tell you this is an accomplishment.
58 day streak
000
Kylee Tilley @testingrequired.com · 31/08/2026
Talent is never an excuse for being an ass. Ever. These are the worst kind of devs and its certainly a choice to embrace that attitude while also promoting full agentic coding.
000
Kylee Tilley @testingrequired.com · 31/08/2026
Not caring what the code looks like is... wild to me. I mean I know it was an issue before LLMs but now? Its becoming part of some folks identities 😅
000
Kylee Tilley @testingrequired.com · 28/08/2026
It's placing a brick on the accelerator then blaming the car for driving into a building.
010