DEV Community

Taylor Wang profile picture

Taylor Wang

Exploring the intersection of AI and web development.

Location Sydney, Australia Joined Joined on 
The Second Case Was Not the Second Case. I Passed pytest a Set.

The Second Case Was Not the Second Case. I Passed pytest a Set.

Comments
9 min read
I Reproduced a Date Cutoff on a Clean Server. datetime.now() Had No tzinfo.

I Reproduced a Date Cutoff on a Clean Server. datetime.now() Had No tzinfo.

Comments
7 min read
The Failure Message Had a Checkmark. LANG=C Refused to Print It.

The Failure Message Had a Checkmark. LANG=C Refused to Print It.

Comments 1
8 min read
I Bumped __version__ for 48 Hours. dist-info Never Read the File I Edited.

I Bumped __version__ for 48 Hours. dist-info Never Read the File I Edited.

Comments
7 min read
I Moved the Package Under src/. Pytest Never Came With Me.

I Moved the Package Under src/. Pytest Never Came With Me.

Comments
7 min read
The Wheel Installed Cleanly. A Same-Named Folder Still Won the Import.

The Wheel Installed Cleanly. A Same-Named Folder Still Won the Import.

Comments
7 min read
I Watched Empty Logs for 48 Hours. The Pipe Was Holding Every Print.

I Watched Empty Logs for 48 Hours. The Pipe Was Holding Every Print.

Comments
7 min read
I Trusted a Remote Green Suite for 48 Hours. The Mock Bound the Wrong Name.

I Trusted a Remote Green Suite for 48 Hours. The Mock Bound the Wrong Name.

Comments
7 min read
Green Tests, Shadow Package: 48-Hour Notes on sys.path[0]

Green Tests, Shadow Package: 48-Hour Notes on sys.path[0]

Comments
8 min read
I Listed ~/.config for 48 Hours. Path.home() Had Never Agreed

I Listed ~/.config for 48 Hours. Path.home() Had Never Agreed

Comments
7 min read
The Fixture Path Was Relative. The Agent Never Stayed at the Repo Root.

The Fixture Path Was Relative. The Agent Never Stayed at the Repo Root.

Comments 1
9 min read
The Agent Called the Suite Deterministic. Dict Order Had Never Been Frozen.

The Agent Called the Suite Deterministic. Dict Order Had Never Been Frozen.

Comments
6 min read
I Trusted the Remote Green Build for 48 Hours. Pytest Never Loaded conftest.py

I Trusted the Remote Green Build for 48 Hours. Pytest Never Loaded conftest.py

Comments 1
7 min read
The YAML on Disk Was Fresh. The Worker Still Held an Unlinked Inode.

The YAML on Disk Was Fresh. The Worker Still Held an Unlinked Inode.

Comments
8 min read
I Printed python --version for 48 Hours. The Shebang Had Never Agreed.

I Printed python --version for 48 Hours. The Shebang Had Never Agreed.

Comments
8 min read
The Patch Was in Git. The Agent Run Had No Receipt.

The Patch Was in Git. The Agent Run Had No Receipt.

Comments
7 min read
I Trusted pip show for 48 Hours. The Job Ran Another Interpreter.

I Trusted pip show for 48 Hours. The Job Ran Another Interpreter.

Comments
7 min read
I Parsed report.csv for 48 Hours. The Disk Only Stored Report.csv

I Parsed report.csv for 48 Hours. The Disk Only Stored Report.csv

Comments
8 min read
The Agent Returned a JSON Client. I Spent 48 Hours Parsing HTML

The Agent Returned a JSON Client. I Spent 48 Hours Parsing HTML

Comments
7 min read
I Kept Patching Local pytest. The Agent Had Run on Another Host

I Kept Patching Local pytest. The Agent Had Run on Another Host

Comments
9 min read
The Clean Server Passed. My Laptop Was Loading sitecustomize.py First.

The Clean Server Passed. My Laptop Was Loading sitecustomize.py First.

Comments
9 min read
The Agent Invented a status_reason. The Spec Had Never Listed It.

The Agent Invented a status_reason. The Spec Had Never Listed It.

Comments
7 min read
I Grepped for requirements.txt. The Deps Were Hiding in a Comment Fence.

I Grepped for requirements.txt. The Deps Were Hiding in a Comment Fence.

Comments
9 min read
The Script Wrote ./results.json. I Spent 48 Hours Opening the Wrong Tree.

The Script Wrote ./results.json. I Spent 48 Hours Opening the Wrong Tree.

Comments
8 min read
The Agent Patched the Checkout. The Process Imported a Frozen Copy.

The Agent Patched the Checkout. The Process Imported a Frozen Copy.

Comments
7 min read
I Tailed worker.log for 48 Hours. The File Had Opened Under a Different cwd.

I Tailed worker.log for 48 Hours. The File Had Opened Under a Different cwd.

Comments
7 min read
The Stop Flag Was Real. The Worker Had Never Shared the Agent's cwd

The Stop Flag Was Real. The Worker Had Never Shared the Agent's cwd

Comments
8 min read
The Config Looked Loaded for 48 Hours. The Worker Inherited None of My Exports.

The Config Looked Loaded for 48 Hours. The Worker Inherited None of My Exports.

Comments
8 min read
The Hash Matched for 48 Hours. cwd Was Never the Repo.

The Hash Matched for 48 Hours. cwd Was Never the Repo.

Comments
7 min read
I Kept Deleting Logs for 48 Hours. The Inodes Were Already Gone.

I Kept Deleting Logs for 48 Hours. The Inodes Were Already Gone.

Comments
9 min read
I Chased a Late Job for 48 Hours. The Timezone Database Was Missing.

I Chased a Late Job for 48 Hours. The Timezone Database Was Missing.

Comments
11 min read
The Suite Looked Quiet for 48 Hours. Pytest Had Exited 5.

The Suite Looked Quiet for 48 Hours. Pytest Had Exited 5.

Comments
7 min read
The Import Passed on My Mac. Linux Treated Utils and utils as Strangers.

The Import Passed on My Mac. Linux Treated Utils and utils as Strangers.

Comments
9 min read
The Agent Said the Suite Was Green. The Runner Left No Trace.

The Agent Said the Suite Was Green. The Runner Left No Trace.

1
Comments
8 min read
The Wrapper Called source. The Free Server's /bin/sh Had Never Heard of It.

The Wrapper Called source. The Free Server's /bin/sh Had Never Heard of It.

Comments
7 min read
The Service Was Running for 48 Hours. Python Never Flushed a Single Line.

The Service Was Running for 48 Hours. Python Never Flushed a Single Line.

Comments
8 min read
Flow Control for AI Streams: What TCP Taught Me About API Design

Flow Control for AI Streams: What TCP Taught Me About API Design

Comments
4 min read
The Model Answered in 300ms. The Request Still Took 2.4 Seconds.

The Model Answered in 300ms. The Request Still Took 2.4 Seconds.

Comments
6 min read
The Retry Was Working as Intended, and the Free Tier Kept Failing

The Retry Was Working as Intended, and the Free Tier Kept Failing

Comments
5 min read
I Trusted python3 for 48 Hours. The Process Never Entered the venv.

I Trusted python3 for 48 Hours. The Process Never Entered the venv.

Comments
8 min read
The Job Looked Frozen for 48 Hours. It Was Waiting for stdin.

The Job Looked Frozen for 48 Hours. It Was Waiting for stdin.

Comments
7 min read
The Probe Returned 200. The Worker Had Never Bound a Port.

The Probe Returned 200. The Worker Had Never Bound a Port.

Comments
8 min read
I Thought the Free Server Hung. It Was Waiting for a Line I Would Never Type.

I Thought the Free Server Hung. It Was Waiting for a Line I Would Never Type.

Comments
9 min read
The New File Was Named types.py. The Free Server Imported a Different Module.

The New File Was Named types.py. The Free Server Imported a Different Module.

Comments
7 min read
The Health Check Said 200. ss Showed a Different Interpreter.

The Health Check Said 200. ss Showed a Different Interpreter.

Comments
8 min read
The Pool Joined Forever. I Had Never Printed the Start Method.

The Pool Joined Forever. I Had Never Printed the Start Method.

1
Comments
7 min read
The Job Went Green. pytest Had Been Told to Collect One File.

The Job Went Green. pytest Had Been Told to Collect One File.

Comments
8 min read
I Debugged the Wrong Run for 48 Hours. The Folder Had Never Been Empty.

I Debugged the Wrong Run for 48 Hours. The Folder Had Never Been Empty.

1
Comments
9 min read
The Script Exited 0 on My Laptop. The Free Server Returned 127.

The Script Exited 0 on My Laptop. The Free Server Returned 127.

Comments
8 min read
I Thought the Model Drifted. My Cache Key Was Serving Tuesday.

I Thought the Model Drifted. My Cache Key Was Serving Tuesday.

Comments
8 min read
The Diff Applied. The Prompt Vanished: 48-Hour Field Notes on LLM Patch Receipts

The Diff Applied. The Prompt Vanished: 48-Hour Field Notes on LLM Patch Receipts

1
Comments
9 min read
The Model Offered a One-Liner. I Spent 48 Hours Refusing to Run It.

The Model Offered a One-Liner. I Spent 48 Hours Refusing to Run It.

Comments
8 min read
How I Sorted 1,200 TODO Comments with Free AI Models and Strict JSON

How I Sorted 1,200 TODO Comments with Free AI Models and Strict JSON

Comments
3 min read
I Cached Free Model Output for 48 Hours. The Cache Was the Unreliable Layer.

I Cached Free Model Output for 48 Hours. The Cache Was the Unreliable Layer.

Comments
4 min read
The Response Was Fine Until It Wasn't: 48 Hours of Truncated JSON from a Free Model

The Response Was Fine Until It Wasn't: 48 Hours of Truncated JSON from a Free Model

Comments
5 min read
I Sent 100 Concurrent Prompts to a Free LLM. Two Sessions Started Bleeding Into Each Other.

I Sent 100 Concurrent Prompts to a Free LLM. Two Sessions Started Bleeding Into Each Other.

Comments
5 min read
The 48-Hour Verdict: Sort Your AI Failures Before You Fix Them

The 48-Hour Verdict: Sort Your AI Failures Before You Fix Them

Comments
5 min read
Free-Model Code Review: A 48-Hour False Positive Autopsy

Free-Model Code Review: A 48-Hour False Positive Autopsy

Comments
4 min read
Don't Trust the Structure Either: A 48-Hour Contract Checker for Free Model Outputs

Don't Trust the Structure Either: A 48-Hour Contract Checker for Free Model Outputs

Comments
5 min read
48-Hour Prompt Injection Audit: Field Notes from a Free Model on a Free Server

48-Hour Prompt Injection Audit: Field Notes from a Free Model on a Free Server

Comments
5 min read
loading...