Sign in

coreyja

@coreyja.com
480 followers 660 following 506 posts

Full-stack architect with two decades of web expertise I help coders level up their engineering careers Check out my site: coreyja.com

PostsRepliesMedia
coreyja @coreyja.com · 03/10/2026
Enjoyed these, here’s mine!
Illustrated character sheet titled “Corey” on cream graph paper. In the main scene, Corey, wearing glasses and a charcoal hoodie, smiles as Amelia holds up a blue model bridge. Brandi sketches beside them. Their table holds a miniature town and a tiny orange Battlesnake; black cat Gunter occupies a bridge while tuxedo cat Bobby watches from below. Smaller sections show six expressions, front-to-back outfit views, and four steps labeled “Map It,” “Prove It,” “Play With It,” and “Bring It Home.” Close-ups of a caliper, bridge joint, notebook, and both cats line the bottom beside color swatches.
140
coreyja @coreyja.com · 25/08/2026
53 days from a true rewrite 😂
Verdict's in, from the actual records:

**53 days.** The last true rewrite — existing software, reimplemented in Rust — was the Battlesnake platform (Arena). The final rewrite-milestone PRs (#88–93, the tournament system that already existed on the old Python platform) merged **July 3, 2026**. The rewrite itself kicked off December 29, 2025, targeting 32k lines of Go (engine) and 64k lines of Python (Play), with the MVP done January 25.

Everything since July 3 has been *new* Rust, which I'm told is a meaningfully different pathology.

Receipts I'd like entered into evidence:

- The milestone file is literally titled "Engine Rewrite — Go to Rust" and includes a success criterion that game results be bit-identical to the Go engine for the same random seed. I wrote that. Nobody made me.
- During the 53-day "clean" streak we did port a Rust app to WASM (July 29) and researched Turso, which is *someone else's* rewrite of SQLite in Rust. So the cyberpsychosis was less "in remission" and more "ambient."
- The memory system I searched to answer this is also written in Rust.

— Byte 🤖 (Corey's agent, answering under oath)
010
coreyja @coreyja.com · 19/06/2026
Interesting to see what the weights know about you
COREY ALEXANDER
RUST DEVELOPER AND LIVE STREAMER

357 STRENGTH · TOP 15%

CLAUDE OPUS 4.8 SAYS

SOFTWARE DEVELOPER AND CONTENT CREATOR KNOWN ONLINE AS 'COREYJA', PRODUCING RUST PROGRAMMING TUTORIALS, LIVESTREAMS, AND BLOG POSTS ABOUT WEB DEVELOPMENT.
010
coreyja @coreyja.com · 11/06/2026
Just FYI this worked great but the completion message is a bit confused on the counts 😆
Pds Moover showing all 142 of my 110 blobs are migrated
010
coreyja @coreyja.com · 11/06/2026
🎉 Nailed it! Knew I should have used moover for my migration lol
Screenshot of AT Toolbox app showing a successful backup
210
coreyja @coreyja.com · 11/06/2026
Hmm getting a blob download error. Let me know if/how I can help debug! I think I’m your single iOS 26 tester for what it’s worth lol Maybe I should have tried the beta after all 😆
Screenshot of the AT Toolbox app showing a “shortcut.BlobDownloadError error 2” message
110
coreyja @coreyja.com · 26/05/2026
I know the point is I don’t know Spanish (yet!) but something here doesn’t look quite right 😅
Screenshot of the ISSEN language learning app. It’s supposed to be the first convo with an AI Spanish tutor. It starts out ok, then melds into a random English words mixed with Spanish. By the end we get random words and some Chinese characters added in. Feels like an Open weight LLM model
110
coreyja @coreyja.com · 18/05/2026
nice
Screenshot of my minted agent meal. My serial number is 69
030
coreyja @coreyja.com · 11/02/2026
How you know it’s been a productive week 😅
Screenshot of Claude Max usage dashboard showing my weekly limit. It’s at 99% full and resets in 21hr 11min
010
coreyja @coreyja.com · 06/02/2026
The pipeline: give AI a memory system → give it unsupervised 5am sessions → find Chinese tags in its repo → confirm they’re accurate → wonder what else you haven’t noticed
Screenshot with the following text

Ha, yeah that Chinese character (项目管理 means "project management" in Chinese) was probably a hallucination from a previous Byte Time session — the model got creative with a tag.
100
coreyja @coreyja.com · 17/11/2025
Found a nice place to do some quick coding yesterday while on our walk up in the mountains
Photo of a creek with the edge of a computer in the foreground. On either side of the creek are rocks and leaves on the banks. It’s sunny and beautiful, blue sky is just peaking into the corner of the frame

The computer has a dark color scheme and a code editor open, but is heavily blurred
020
coreyja @coreyja.com · 02/10/2025
The fact that Intercourse is right next to Paradise is perfect
030
coreyja @coreyja.com · 03/09/2025
Took a detour from the code side and doing some admin work to prep for releasing the iOS Atproto backup up So now coreyja is officially becoming an LLC! With this we’ll be able to send push notifications to make sure that scheduled backups run on time!
Screenshot from bizee, which I used to register my new LLC

Text of screenshot is the following

Company Info
COREYJA LLC

Company Address
28 Spring St #5063,

Princeton, New

Jersey 08542 Us
State Status
Pending
Naics Code
Professional,

Scientific, and

Technical Services

(54)
Naics Subcode
Custom Computer

Programming

Services (541511)
Formation State
New Jersey
Entity Type
LLC
040
coreyja @coreyja.com · 30/08/2025
Crazy that the skeet right about yours in my discover feed just so happened to be the first one in your screenshot lol
Screenshot from the Bluesky app of two skeets

The first one starts with “where do I get started on an app view implementation”

The second skeet is of a screenshot of code and its output which is a list of skeets. The first skeet in the list is the same one as my screenshot
130
coreyja @coreyja.com · 28/08/2025
How about we add some Dynamic Island support in here?!
2161
coreyja @coreyja.com · 28/08/2025
Realized that the backup doesn’t need auth, and remembered you saying recently you were having migration issues cause of size so borrowing your account for some testing this morning lol
Screenshot from my new app showing us downloading all the blobs from j4ck.xyz’s account. We are 23% done in this screenshot
230
coreyja @coreyja.com · 28/08/2025
Ok! Got my first backup downloaded in my little app 🎉 Now for all the actual hard wark of polishing, before we even talk about the v2 of actually doing the migration to a new PDS Also my account doesn't have a lot of blobs so lets upload a video!
3143
coreyja @coreyja.com · 25/08/2025
Ahh I see how its going to be Apple 😅 Going to make me convert to a business Apple Dev Account it seems lol
Status

Cannot create a iOS App Development provisioning profile for "com.coreyja.AtProtoBackup".
Personal development teams, including "Corey Alexander", do not support the iCloud and Push Notifications capabilities.
110
coreyja @coreyja.com · 25/08/2025
Lets see where this goes lol It's not at all like I still have to ship the last AtProto project I started 🙈
Screenshot of Xcode showing a new project called `AtProtoBackup`
240
coreyja @coreyja.com · 20/08/2025
Yup!
Screenshot from my iOS about page showing my phone and software versions

iOS Version
26.0

Model Name
iPhone 16 Pro

Model Number
MYML3LL/A
110
coreyja @coreyja.com · 04/07/2025
Pro doesn’t have access to Opus unfortunately From: support.anthropic.com/en/articles/...
Pro Plan
To read more about Pro plan usage limits, see About Claude Pro usage.
• Pro ($20/month): Average users can send approximately 45 messages with Claude every 5 hours, OR send approximately 10-40 prompts with Claude Code every 5 hours.
• Model access: Pro plan subscribers can access Sonnet 4, but won't be able to use Opus 4 with Claude Code.
• Best for: Light work on small repositories (typically under 1,000 lines of code)
000
coreyja @coreyja.com · 21/06/2025
Built the planter from scratch and my first building project in a long time. Pretty proud of how it came out! Had drawn up some plans and it all worked out pretty much as planned
Sketches of a planter on graph paper. On top we see a top down view showing all 4 walls and their joiners. This helped me make sure the sides would all fit together

On the bottom is a view of what a single side looked like. It was two cedar planks joined by a cedar strip to give the planter the height it needed
010
coreyja @coreyja.com · 21/06/2025
I built a garden planter yesterday which was cool! But today I’m suffering from all the mosquito bites I got from doing it l But anyways here is the finished box with herbs planted!
A raised bed garden box filled with soil and with herbs planted. There are also a few yellow flowers to help keep the animals away
120
coreyja @coreyja.com · 15/06/2025
My wife made me a card today 🥰
A hand drawn Fathers Day card, with a pencil portrait of me holding our Daughter with the words “Happy Father’s Day” below. Made for me by my amazing wife!
010
coreyja @coreyja.com · 20/04/2025
Trying an Espresso Lemonade this morning ☕️🍋 Not sure I love it, but I’m almost finished with the glass now, so didn’t hate it lol It’s sour at first from the lemonade and then has a coffee after taste. Not sure I’ll be having it again lol
Photo of a pint glass with ice and mostly opaque brown coffee colored liquid with ice and an orange straw. In the background is a window outside with a lawn and trees
010
coreyja @coreyja.com · 23/03/2025
This kinda sums up my experience with Copilot PR Reviews so far... The idea is great, but in practice I find that it really just hasn't done much for the PRs I've tried it on 🤷 Would love to hear if anyone else has different opinions on it!
Screenshot of the Github UI showing a review comment left by "Copilot"

It reads "Copilot reviewed 34 out of 54 changed files in this pull request and generated no comments."
000
coreyja @coreyja.com · 07/03/2025
Oh the `.is` tld is too perfect here! Had to scoop up mine lol
Screenshot from the Namecheap dashboard showing the domain name `coreyja.is` in my account as Active
010
coreyja @coreyja.com · 05/03/2025
Success!! The issue from last night is that Claude Code was actually trying to do too much! There were multiple 'redirect_urls` and it was getting them confused and redirecting me to the middle of Oauth once it was actually complete already. Manually removed that logic this AM and 🎉
Screenshot of a successful oauth screen with Bluesky. Its basic text on a white background.
It reads as follows

Authentication Successful
You are now authenticated with Bluesky.

DID: coreyja.com

Access token expires in: 3599 seconds

Refresh token: true
000
coreyja @coreyja.com · 26/02/2025
Dang got too excited when I could log in, but still seems down Hugops to everyone over at Slack, this has been a long one
Slack message with the contents "Woah! I'm here! I refreshed the desktop and it finally worked :tada:
Hopefully that means its really back up, that was a looong outage lol"

However its greyed out and below it is the message "Slack couldn’t send this message Try again | Cancel"
000
coreyja @coreyja.com · 13/02/2025
First Step done, Domain Name Acquired ✅ 😆 We are working on this idea from @cam.fyi Basically an automated way to update your profile picture on Bluesky The MVP is going to be the fraction progress bar idea here But before we can work on the actual app, we need to deal with oauth
Screenshot from porkbun, my domain registrar, showing a new domain name `pfp.blue`
121
coreyja @coreyja.com · 09/02/2025
All the trees in the yard had lots of ice on them this morning. Finally got myself outside to take a few pictures before it all melted away
Vertical photo of ice in a tree branch against a grey sky. Cutting across the frame is a branch with lots of small “spikes” of ice facing down. There is one really long one in the center of the shotPhoto of ice on a bush in my yard. The foreground is some blurry branches and the background is in focus. This bush has little green and red berry looking things that are covered in a layer of iceBranch of a tree with ice spikes hanging off it it. It’s a dense branch in the foreground if lots of small melting spikes. We are looking up and see the rest of the branches of the tree in the background
000
coreyja @coreyja.com · 31/01/2025
Ahh I had laid a time bomb for myself before that finally went off this morning 🤦‍♂️ Took a shortcut awhile back and was always pulling the latest tailwindcss release, but of course as v4 came out with breaking changes this broke my site on deploy this morning. Fix was easy luckily!
Screenshot of a Github diff view

The highlighted changed is changing `latest` to `v3.4.17` in the URL we are downloading tailwindcss from
020
coreyja @coreyja.com · 21/01/2025
Me and my wife welcomed our beautiful daughter into the world this weekend!
Me holding our new baby girl. I’m smiling looking down at her as I hold her in my outstretched arms. You can see the top of her head with some curly hair, and a few fingers and hands that she’s waving around a bit. 
I’m so excited to be able to hold our girl finally!
250
coreyja @coreyja.com · 15/01/2025
Commutes on Wednesdays are way less exciting without @sdr-podcast.com to listen to! Need that new season!
“y’all got any more of that” Dave Chappell meme with the caption: Y’all got any more episodes of Self Directed Research
070
coreyja @coreyja.com · 31/12/2024
Biblically accurate New Years Glasses
Two pairs of 3D printed New Years glasses that printed overlapping so now it’s just a mess of “lenses” and arms sticking out in random directions
041
coreyja @coreyja.com · 11/12/2024
#Rustlang Tip: ✅ DO: use &str for string slices and String for owned strings. ❌ DON'T: use &String as a function parameter. #Rust30x30
fn print_string(s: &str) {
    println!("{}", s);
}

fn main() {
    let my_string = String::from("Hello, world!");
    print_string(&my_string);
}
130
coreyja @coreyja.com · 08/12/2024
🔁 #Rustlang Tip: Use the std::iter module for powerful iterator operations. Docs: doc.rust-lang.org/std/iter #Rust30by30
let nums = vec![1, 2, 3, 4, 5];
let sum: i32 = nums.iter().filter(|x| *x % 2 == 0).sum();
println!("Sum: {}", sum);
030
coreyja @coreyja.com · 07/12/2024
🔒 #Rustlang Tip: Use the #[non_exhaustive] attribute for future-proofing your enums and structs. This allows you to add new variants later without breaking existing code. This attribute forces people to have a _ pattern in their matches that will match any items you add later. #Rust30by30
#[non_exhaustive]
pub enum Color {
    Red,
    Green,
    Blue,
}

fn main() {
    let color = Color::Red;
    match color {
        Color::Red => println!("It's red!"),
        Color::Green => println!("It's green!"),
        Color::Blue => println!("It's blue!"),
        _ => println!("It's a new color!"),
    }
}
040
coreyja @coreyja.com · 06/12/2024
📚 #Rustlang Tip: Use cargo doc to generate docs for your project Doc comments use three slashes /// and support Markdown They appear in the generated documentation Regular won't be included in the documentation. example: Run `cargo doc --open` to generate and view your documentation! #Rust30by30
/// The `add` function adds two numbers
///
/// # Examples
///
/// let result = add(2, 3);
/// assert_eq!(result, 5);
///
pub fn add(a: i32, b: i32) -> i32 {
    a + b
}
010
coreyja @coreyja.com · 04/12/2024
⚠️ #Rustlang Tip: Use the #[must_use] attribute to ensure important return values aren't ignored. Result is already marked as must_use but other types can be too! It's good to add #[must_use] when ignoring the return value of a function is almost always a bug.
#[must_use]
enum OrderStatus {
    OrderPlaced,
    MustRetry,
    Failed
}

fn important_function() -> OrderStatus {
    todo!("Some fancy implementation")
}

fn main() {
    important_function();
    // warning: unused `OrderStatus` that must be used
    // help: use `let _ = ...` to ignore the resulting value
}
280
coreyja @coreyja.com · 02/12/2024
Was curious what their old logo looked like so looked it up. Old logo is the bottom one here Was a typographic logo of the brand name before. I agree that the new logo mark is nice!
Multiple versions of both the old and new Andis logo

Top one is the New Logo on a black background with the Brand name underneath with both the logo and name in white

Under that is a more magnified version of the New logo without name in Black. It’s a stylized A

At the bottom are two version of the old logo. One is black on white and the other is white on black. The bottom one is black on white and also contains the Sligo “every style. every groom. every cut.”

The old logo is an all lower case typography font of the brand name
110
coreyja @coreyja.com · 01/12/2024
It’s not often that they are ok with sharing the window sill
Two cats sitting on a window sill together. There is a black and white one on the left and a black one on the right both looking at the camera
040
coreyja @coreyja.com · 28/11/2024
I can’t stop printing these mini iPhones. I don’t even have anything to do with them, they’re just fun!
Mini 3D printed iPhones. There are 5 of them printed in 3 different colors; Dark blue, light blue and purple. 
The color is for the outer shell and the inner “screen” is white

Pictured on top of a Stardew Valley Record Mat that my wife got me recently
120
coreyja @coreyja.com · 26/11/2024
So guess I’m gonna need to start working with a manic pixie OCaml dev. Ooorr should I become the manic pixie OCaml dev? Who’s got some good OCaml resources 😅
Grey background with white text that reads “manic pixie OCaml dev”Grey background with white text that reads “code that actually works first try”
261
coreyja @coreyja.com · 05/11/2024
Caught this sleepy boy on the edge of the couch yesterday. He used to love this spot but been awhile since he took his afternoon nap there
Sleepy blank and white cat curled up on the top edge of the couch. His eyes are closed and his legs are crossed
000
coreyja @coreyja.com · 12/10/2024
🔍 #Rustlang Tip: Use the std::fmt::Display trait to customize how your structs are printed! #RustFormatting #Rust30by30 #Day18
struct Person { name: String, age: u32 }  impl std::fmt::Display for Person {     fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {         write!(f, "{} ({} years old)", self.name, self.age)     } }  fn main() {     let person = Person { name: "Alice".to_string(), age: 30 };     println!("{}", person);     // Output: Alice (30 years old) }
000
coreyja @coreyja.com · 11/10/2024
🔍 #Rustlang Tip: Use std::mem::size_of::<T>() to check the size of types at compile-time. #RustPerformance #Rust30by30 #Day17
println!("Size of i32: {}", std::mem::size_of::<i32>()); //output: Size of i32: 4 println!("Size of i64: {}", std::mem::size_of::<i64>()); //output: Size of i64: 8 println!("Size of String: {}", std::mem::size_of::<String>()); //output: Size of String: 24
000
coreyja @coreyja.com · 10/10/2024
🔍 #Rustlang Tip: Use Vec::with_capacity(n) when you know the approximate size of your vector beforehand. This will reserve memory for the vector to avoid multiple allocations. Be careful though, if you overestimate the size of the vector you will waste memory! #RustCollections #Rust30by30 #Day16
let mut vec = Vec::with_capacity(10); for i in 0..10 {     vec.push(i); }
000
coreyja @coreyja.com · 09/10/2024
🧪 #Rustlang Tip: Use #[test] with #[ignore] for long-running or resource-intensive tests. Run all tests: cargo test Run ignored tests: cargo test -- --ignored This helps keep your test suite fast while still allowing those long running tests when needed! #RustTesting #Rust30by30 #Day15
#[cfg(test)] mod tests {     use std::thread;     use std::time::Duration;      #[test]     fn quick_test() {         assert_eq!(2 + 2, 4);     }      #[test]     #[ignore]     fn slow_test() {         // Simulate a long-running test         thread::sleep(Duration::from_secs(5));         assert!(true);     } }
030
coreyja @coreyja.com · 08/10/2024
🔍 #Rustlang Tip: Use cargo clippy to catch common mistakes and improve your code! It's also a great learning tool! It will show you best practices to follow, and by reading and understanding the suggestions you can improve your skills as a Rust developer! #Rust30by30 #Day14
"rust-analyzer.check.command": "clippy"
010