Connor Shea's Avatar

Connor Shea

@connorshea

Software Engineer. Denver. I like Ruby, Rails, TypeScript, Rust. Building http://vglist.co. Not good at computers, just bad at giving up. I like housing. he/him

113
Followers
231
Following
110
Posts
22.06.2023
Joined
Posts Following

Latest posts by Connor Shea @connorshea

I hate the orphans so much

08.03.2026 18:38 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

We've working on it in small pieces over the last few months, it was probably 10 or 12 total merge requests of adjusting settings and upgrading a few packages that misbehaved on TS7. Only one was particularly huge/difficult. The final upgrade MR was only 2 file changes outside of package.json

08.03.2026 17:05 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Claude: The script needs a fundamental redesign - it should work per-vec, not per-file, to avoid mixing types. Let me rewrite it with a Python script for the actual transformation logic.

Me: you are NOT allowed to use python

Claude: Got it, no Python. Let me rewrite the script using only shell and perl. First let me revert everything and start fresh.

Me: NO PERL EITHER

Claude: The script needs a fundamental redesign - it should work per-vec, not per-file, to avoid mixing types. Let me rewrite it with a Python script for the actual transformation logic. Me: you are NOT allowed to use python Claude: Got it, no Python. Let me rewrite the script using only shell and perl. First let me revert everything and start fresh. Me: NO PERL EITHER

how do I stop Claude from trying to write Python scripts, I'll pay extra

07.03.2026 05:09 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
A post by the OpenAI Developers twitter account from 1 hour ago, it says "Codex Security is now also available on ChatGPT Pro accounts."

A post by the OpenAI Developers twitter account from 1 hour ago, it says "Codex Security is now also available on ChatGPT Pro accounts."

Anthropic: This is incredibly dangerous in the wrong hands, so we are releasing Claude for Security to trusted partners only until we have enough safeguards.
OpenAI: We have invented the Torment Nexus and you can all have it for free for a month with your $20 subscription!!!!

07.03.2026 02:36 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Got TypeScript 7 merged for the work codebase!!

Thank you to @jakebailey.dev and the TS team for all the work on this. Went from a 35s typecheck to 8s on an ~11k file React app ๐Ÿฅณ

06.03.2026 16:53 ๐Ÿ‘ 32 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Good. Don't stand down, Anthropic. www.anthropic.com/news/stateme...

27.02.2026 05:28 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Review it like you would a PR from Linus Torvalds

24.02.2026 04:24 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Please report any bugs you've found so that we can fix them ๐Ÿ™ github.com/oxc-project/...

21.02.2026 23:10 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

@ericmbudd.com undefined

21.02.2026 21:06 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

"if you accept arbitrary regexes you can make the system slow" is such a funny class of "vulnerability", like... yeah, no shit.

21.02.2026 19:08 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
JS Plugins A collection of high-performance JavaScript tools written in Rust

Depending on the specific custom rules you've got, JS Plugins in Oxlint may be usable without much trouble :) oxc.rs/docs/guide/u...

Also see oxc.rs/docs/guide/u...

19.02.2026 04:32 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
Proof of Concept: Script for comparing JS-generated upstream test cases by connorshea ยท Pull Request #19394 ยท oxc-project/oxc DISCLAIMER: Fully written by Claude Code / Opus 4.6. I'm opening this now because I think it's really useful and wanted to share it before I had to hop off for the day. I have not reviewed ...

I have forced Claude to build a proof of concept for this that should make it a lot easier to find dynamically-generated tests from the original rules :) github.com/oxc-project/...

14.02.2026 23:35 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
test(linter): Add more tests for the `eslint/no-empty-function` rule. by connorshea ยท Pull Request #19392 ยท oxc-project/oxc This ports various tests from the original rule, all were added upstream in eslint/eslint@dcd95aa Most of them pass, but a few needed to be commented out. All of this work was done manually, no Cla...

I already went through and did this work via automation for a lot of rules, but our rulegen tooling doesn't support retrieving tests that are generated dynamically, so I know for certain that some are missing cases still.

For example: github.com/oxc-project/...

14.02.2026 22:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

If anyone wants to give me tons of credits to use for LLM nonsense, I think running one in a loop to find Oxlint rules that are missing test cases from the original plugins would be neat.

14.02.2026 22:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

LLMs seem to absolutely love generating GitHub Actions configs that use versions that are multiple major releases behind, like @actions/checkout v4 instead of v6. The GitHub team should probably be proactive about mitigating this somehow...

14.02.2026 22:36 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Sometimes I think semantic versioning is worse for software than not using it. Like, it'd sometimes be better to have smaller, incremental jumps that break things rather than major version bumps that have 20 breaking changes all at once. You *can* do this with semantic versioning, but no one does.

13.02.2026 08:02 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Building a C compiler with a team of parallel Claudes Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.

Prediction for this year: AWS earns $10 trillion in 2026 as Claude rewrites everything in Rust. In January 2027, we run out of things to rewrite and the economy collapses entirely. www.anthropic.com/engineering/...

05.02.2026 23:13 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I dunno about underhyped, but a lot of things are definitely about to change.

The software you can create with these models has beaten by expectations repeatedly, as has unfortunately the image generation.

04.02.2026 07:40 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
A dropdown that says "Rules" with a search box where "arrow" has been input. The dropdown has two results: "eslint/arrow-body-style" and "vue/no-arrow-functions-in-watch".

A dropdown that says "Rules" with a search box where "arrow" has been input. The dropdown has two results: "eslint/arrow-body-style" and "vue/no-arrow-functions-in-watch".

The oxc playground UI with a sidebar that has the "eslint/no-console" rule selected. In the main view there is a code editor with the following example code:

```
console.log("foo"); // error because we set the no-console linter rule.
debugger; // allowed because no other rules are enabled.
```

The oxc playground UI with a sidebar that has the "eslint/no-console" rule selected. In the main view there is a code editor with the following example code: ``` console.log("foo"); // error because we set the no-console linter rule. debugger; // allowed because no other rules are enabled. ```

I have updated the oxlint playground with a linter rule picker, so now you can easily use the playground for reproduction/issue reporting when there are bugs :) Or just play around with oxlint a bit more easily!

playground.oxc.rs

03.02.2026 04:27 ๐Ÿ‘ 11 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

As of a few days ago the JS Plugins system passes the full ESLint core test suite (excluding some edge cases like tests using "globals" comments which we don't support) and also the test suite for the react-hooks plugin, if that's any comfort :) github.com/oxc-project/...

29.01.2026 19:49 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

The linting situation for React codebases feels a bit dire...

eslint-plugin-react is extremely outdated, and its docs don't communicate that a lot of its rules are no longer relevant for modern React code (many are only applicable for class-based components).

27.01.2026 05:02 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Support ESLint-style bulk suppression via suppressions file ยท Issue #10549 ยท oxc-project/oxc Our team is evaluating Oxlint for our projects and are impressed by its performance. However, we've been anticipating ESLint's bulk suppression feature, which aligns well with our workflow. We have...

I think a bulk suppression system like Rubocop (called "rubocop-todo") and ESLint support is also a good way to do this. And Oxlint will add it sometime in the near-ish future. github.com/oxc-project/...

26.01.2026 06:00 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Our relationship with the dark lord has been long and fruitful

25.01.2026 20:43 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Alex Pretti was murdered for no reason, despicable and pure fucking evil. Executing citizens who have done nothing wrong.

The video makes me completely sick to my stomach. This secret police charade needs to be removed from Minnesota and dismantled entirely, before this can spiral any further.

24.01.2026 19:54 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

It has been populated with info about which rules are recommended in the original ESLint plugins that Oxlint's rules come from, and also allows you to pick from a few JS Plugins that are supported via the ESLint plugin compatibility work the oxc team has done :)

24.01.2026 19:23 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Screenshot from the website, which features a basic UI for selecting linter plugins, filtering and selecting linter rules, and viewing and copying the generated JSON config file.

Screenshot from the website, which features a basic UI for selecting linter plugins, filtering and selecting linter rules, and viewing and copying the generated JSON config file.

I created a quick proof-of-concept for an Oxlint config generator website.

If you start a new project or have an existing project, and want to set up an Oxlint config from scratch, hopefully it's useful!
connorshea.github.io/oxlint-confi...

24.01.2026 19:22 ๐Ÿ‘ 8 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

no and no

24.01.2026 04:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
I tried using AI. It scared me.
I tried using AI. It scared me. YouTube video by Tom Scott

I can't believe this video is almost 3 years old now. I think about it a lot. Nowadays I use LLMs a lot for basic/tedious code.

I'm still not totally sure where we're at on the S-curve, but - at least in software engineering - it's getting really wild out there. www.youtube.com/watch?v=jPhJ...

22.01.2026 23:44 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A screenshot of a terminal window with an error message from Oxlint.

The error message says:

Failed to parse oxlint configuration file.

  ร— Invalid configuration for rule `import/no-absolute-path`: unknown field `foobar`, expected one of `esmodule`, `commonjs`, `amd`, received `{ "foobar": true }`
  โ”‚ Invalid configuration for rule `import/no-duplicates`: invalid type: string "maybe", expected a boolean, received `{ "preferInline": "maybe" }`
  โ”‚ Invalid configuration for rule `no-cond-assign`: invalid type: integer `123`, expected string or map, received `123`
  โ”‚ Invalid configuration for rule `vue/define-emits-declaration`: unknown variant `declaration`, expected one of `type-based`, `type-literal`, `runtime`, received `{ "declaration": 0 }`

A screenshot of a terminal window with an error message from Oxlint. The error message says: Failed to parse oxlint configuration file. ร— Invalid configuration for rule `import/no-absolute-path`: unknown field `foobar`, expected one of `esmodule`, `commonjs`, `amd`, received `{ "foobar": true }` โ”‚ Invalid configuration for rule `import/no-duplicates`: invalid type: string "maybe", expected a boolean, received `{ "preferInline": "maybe" }` โ”‚ Invalid configuration for rule `no-cond-assign`: invalid type: integer `123`, expected string or map, received `123` โ”‚ Invalid configuration for rule `vue/define-emits-declaration`: unknown variant `declaration`, expected one of `type-based`, `type-literal`, `runtime`, received `{ "declaration": 0 }`

For example :)

21.01.2026 07:27 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
feat(linter): Update 125 rules to raise errors when provided with invalid config options. by connorshea ยท Pull Request #18104 ยท oxc-project/oxc Ran oxc-ecosystem-ci and it passed fine, no diff vs. main: https://github.com/oxc-project/oxc-ecosystem-ci/actions/runs/21199291772 Trial by fire, I guess. If this is too big of a change, we can sp...

Merged a change for Oxlint that is the culmination of a *lot* of work by many people over the last year+. Took a lot of work to define the options schemas, standardize most of the rules, and update linter rule logic to enable options validation like this :)
github.com/oxc-project/...

21.01.2026 07:12 ๐Ÿ‘ 7 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0