Sign in

Jacob Asper

@jacobasper.com
840 followers 212 following 650 posts

Rust is a must Cheese is scrumptious #100Devs he/they jacobasper.com

PostsRepliesMedia
Jacob Asper @jacobasper.com · 25/09/2026
I finally got around to spiking changing playful programming to twinkleplop, and wow 34 seconds to 700ms for around 7500 code blocks, and it was pretty trivial to add an angular grammar that looked pretty good Beautiful work, I really hope output is good enough to merge!
110
Jacob Asper @jacobasper.com · 25/09/2026
Me overthinking
User asks chatbot what’s 5+5

Chat starts reasoning about the general concepts of literature, pyschology, philosophy and so on
240
Reposted by Jacob Asper
Yannick Lung @yanlu.chat · 16/09/2026
To whom it may concern: I can confirm a box of Altoids is MagSafe compatible.
818413
Jacob Asper @jacobasper.com · 13/09/2026
I keep forgetting to post things, but I am on a performance tear and shall write a blog on it!! No build pipeline will be left slow under my watch
050
Reposted by Jacob Asper
Vitest @vitest.dev · 03/09/2026
Vitest 5 is here! 🎉 - Big performance improvements (vm pools up to 53% faster, ~18% boost across the board including Browser Mode) - New builtin Trace View in Browser Mode - Nested projects support - New benchmarking API - New `vi.when` API - Better defaults - And a lot of bug fixes!
vitest.dev
Announcing Vitest 5.0
Vitest 5.0 Release Announcement
221744
Jacob Asper @jacobasper.com · 15/08/2026
This is a very good talk! I appreciate the pragmatism and historical context I quote “parse don’t validate” at least once a month at work by the way
040
Reposted by Jacob Asper
~paul @paulvall.dev · 02/08/2026
tauri plugins are more lean 🤘🏻
github.com
chore: exclude dev-only files from published crates by dreyfus92 · Pull Request #3518 · tauri-apps/plugins-workspace
as part of an e18e effort to slim down published crates across the Rust ecosystem, this PR adds exclude lists to all 30 plugin crates so the published .crate files no longer ship dev-only assets: b...
061
Jacob Asper @jacobasper.com · 30/07/2026
We’ve saved hundreds of gigabytes of bandwidth per month so far! Reach out if you’re interested in helping! We help with outreach, repo modernization, analysis infra, and data analysis
0174
Reposted by Jacob Asper
Alice ✨ @welltypedwit.ch · 23/07/2026
rust programmers write a monomorphic function challenge (impossible)
3521
Jacob Asper @jacobasper.com · 01/06/2026
I have a terrible predicament. My WiFi password is 64 characters My new robot vacuum only supports 63 characters 😭
Only support 63-bit passwords
100
Jacob Asper @jacobasper.com · 05/05/2026
Killing a `Cow` made my JSON formatter 42% faster
jacobasper.com
Killing a `Cow` made my JSON formatter 42% faster
Early optimization is bad
050
Reposted by Jacob Asper
rem / Remy Sharp @remysharp.com · 01/05/2026
This blog post is so short it (is) a social post. remysharp.com/2026/05/01/d... But if I don't blog it, I'll forget it. Huge thanks to @keithamus.social for sharing it.
remysharp.com
devtools: how to query through the shadow DOM
devtools: how to query through the shadow DOM
2248
Jacob Asper @jacobasper.com · 02/05/2026
Like this? garfmeters.com
garfmeters.com
GarfMeters
How many garfmeters can you scroll?
010
Jacob Asper @jacobasper.com · 24/04/2026
I've enjoyed writing about formatter performance recently. Here's a nice introduction into formatters including amazing art and architecture decisions I've made with JJPWRGEM! jacobasper.com/blog/...
A stick figure scheming to do something scandelous
040
Jacob Asper @jacobasper.com · 20/04/2026
Making some amazing images for an upcoming blog on JSON formatting performance!
	A sad CPU saying "I can only read one token at a time this is so sad. please
	make token 32 bytes or lower so I can read 2 at once"
030
Jacob Asper @jacobasper.com · 09/04/2026
I can’t believe it’s practically impossible to use generic LSPs with VSCode. Am I missing something or is that just how it is?
010
Jacob Asper @jacobasper.com · 08/04/2026
I like the amount of times I’ve been asked if I’m allowed to eat a food as a diabetic in condescending way Like don’t we all eat food that’s bad for us???? Don’t you have more important things to worry about? I only live once so I am going to eat pizza
040
Reposted by Jacob Asper
Barret Blake @barretblake.dev · 07/04/2026
I have put this link out in a bit, but just to let you know, if you're a student or someone who is working to change careers into software development, especially for those in the Ohio area, I do offer mentoring sessions. You can schedule time with me here:
calendly.com
Career Mentoring Session - Barret Blake
If you are a student, a brand new software developer, or are considering transitioning careers into software development, and would like to spend a few minutes chatting with someone who's been in the industry a while as both a developer and a former manager, I'm offering some of my time to answer
031
Reposted by Jacob Asper
Sarah™️ @ladybluenotes.dev · 03/04/2026
i've been reflecting a lot lately on how so much of getting better as a developer doesn't show up in your commit history. it takes months and has no real PR/ artifact to show for it until one day you just... notice you got better at something. wrote a post on it: sarahgerrard.me/posts/slow-p...
sarahgerrard.me
The Slow Parts of Getting Better - Sarah Gerrard
Most of the growth that matters as a developer happens slowly and invisibly — building mental models, learning to articulate what you know, getting better at reasoning about tradeoffs. This post is ab...
2215
Reposted by Jacob Asper
amos @fasterthanli.me · 24/03/2026
🐉 QUESTION 🦀 what are your questions for Carol Nichols & Chris Krycho, co-authors of: The Rust Programming Language, 3rd Edition? I'm interviewing them today. Send in your questions please. 🙏 forms.gle/yDWX78ZNN7AL...
forms.gle
Questions for Carol & Chris (Rust book)
Which questions would you ask to the co-authors of the Rust programming language third edition book? The book: https://nostarch.com/rust-programming-language-3e Carol's site: https://carol-nichols.com...
0396
Reposted by Jacob Asper
Danny Thompson @dthompsondev.bsky.social · 14/03/2026
THE CALL FOR SPEAKERS FOR THE COMMIT YOUR CODE CONFERENCE IS OFFICIALLY LIVE! We will have 6 tracks and over 100 speakers! - In 2025 we had 860 in person and 8,100 attend virtually. - We had 125 Speakers - 37% of attendees worked in tech and it was their first conference ever!
Images of a crowd of people at the closing key note that we did at CYC 25
22410
Reposted by Jacob Asper
Abbey Perini @abbeyperini.dev · 03/03/2026
Excited to share my first article for Free Code Camp! ✨ www.freecodecamp.org/news/learnin...
freecodecamp.org
OSS Pull Request Therapy: Learning to Enjoy Code Reviews with npmx
For years, I thought Open Source Software (OSS) just wasn’t for me. I had no plans to join any OSS communities on top of my existing developer community obligations. Curious about the hype I saw on Bl
1323
Reposted by Jacob Asper
Rebane @rebane2001.bsky.social · 24/02/2026
i built an entire x86 CPU emulator in CSS (no javascript) you can write programs in C, compile them to x86 machine code with GCC, and run them inside CSS lyra.horse/x86css/
1322610856
Jacob Asper @jacobasper.com · 24/02/2026
Made an assembly stepper! I got annoyed at how large video files are, so built a web version. I'm probably going to skip the video bit and just make an interactive blog It will look less gross soon I promise
assembly code with a highlight showing the current instruction and relevant registers and flags to the right
020
Jacob Asper @jacobasper.com · 22/02/2026
Got inspired to make some pretty code animations after seeing yet another nicely animated YouTube video
020
Jacob Asper @jacobasper.com · 18/02/2026
This is a CAT checkpoint. Show me the most recent cat image on your phone.
A black and white cat poking its head through a fence cautiously
170
Reposted by Jacob Asper
Vincent Driessen @nvie.com · 18/02/2026
I wrote a few words last night. nvie.com/posts/15-yea...
nvie.com
15+ years later, Microsoft morged my diagram
How Microsoft continvoucly morged my Git branching diagram.
515150
Jacob Asper @jacobasper.com · 18/02/2026
Morbius meme with the following caption:

IT'S MORGIN TIME
(CONTINVOUCLY)
151
Reposted by Jacob Asper
Sarah™️ @ladybluenotes.dev · 17/02/2026
👋 my recent contracts have ended (and my buffer’s running a bit thin) so I’m looking for what’s next spent the last year focused on OSS work, which I’ve loved, and now open to new opportunities! if you’re looking for a dev, pls to reach out! I've shared more about how I work below 🫡
13517
Jacob Asper @jacobasper.com · 08/02/2026
JSON is a very easy and unambiguous standard, so you will definitely score very highly on this quiz jsonwtf.org
jsonwtf.org
JSON WTF - Jacob Asper
A totally normal and not hard quiz about JSON
292
Jacob Asper @jacobasper.com · 25/01/2026
I have been endlessly frustrated by accusations of LLM usage every time I use em dashes on a public forum—enjoy a spicy rant and an extreme amount of em dashes! jacobasper.com/blog/...

LLMs don't own em dashes—I do

Em dashes: 39

Jan 25, 2026

Em dashes are the best punctuation mark—but unfortunately they have fallen from their former glory—usurped by a false narrative. Many people are so colored by their AI hatred that they cannot conceive of a world with em dash usage outside of ChatGPT

Now, don’t get me wrong—I love a good AI slop shaming as much as the next person—but this is a pyrrhic victory. Judge slop for sloppiness—is it not slop in itself to outsource your opinions based on a coincidence?
0131
Jacob Asper @jacobasper.com · 19/01/2026
How I read technical books and documentation
jacobasper.com
How I read technical books and documentation
Don't skip out on a book just because it's long!
020
Jacob Asper @jacobasper.com · 19/01/2026
Committing to learning Go in 2026
jacobasper.com
Committing to learning Go in 2026
Time to learn Golanguage
010
Jacob Asper @jacobasper.com · 13/01/2026
Rust's `'static` doesn't imply memory leaks. Blog 1/3 for this week!
jacobasper.com
Rust's `'static` doesn't imply memory leaks
Leaking memory is one way to get a value living for `'static`, but it's not the only way
020
Jacob Asper @jacobasper.com · 11/01/2026
Committing to writing and releasing three blogs next week
030
Jacob Asper @jacobasper.com · 29/12/2025
Brr
Windy conditions will continue for the rest of the day.
Wind gusts up to 42 mph are making the temperature feel like -20°
140
Jacob Asper @jacobasper.com · 13/12/2025
I went to install a new 2TB NVME drive only to find that I had already installed a 1TB drive years ago and just never set it up 😅 At least I have more storage now?
150
Jacob Asper @jacobasper.com · 08/12/2025
JJPWRGEM has a really cool new version command It also may have gotten slightly faster as of recent
jjpwrgem version command being run in a terminal

It shows version 0.3.0 and ascii art of an axoltl riding a skateboardA comparison of JSON parse and stringify throughput for the jjpwrgem library versions 0.1.0 to 0.3.0 using the canada.json file. The bar chart shows average parse throughput (blue) and stringify throughput (red) in MB/s, with stringify consistently outperforming parse, especially in versions 0.2.1, 0.2.2, and 0.3.0. The accompanying table provides exact throughput values, highlighting a significant increase in stringify performance in later versions, reaching up to 817.78 MB/s in version 0.3.0.
010
Jacob Asper @jacobasper.com · 06/12/2025
JJPWRGEM is released if you want to try it out! Excited for many bugs and features to come! Setup cargo-dist to automate releases. Precompiled binaries are available for most OSs and architectures and it can be installed via npm, shell, or powershell. github.com/20jasper/...
A cartoon illustration of an orange axolotl riding a blue skateboard, featured on the npm package page for 'jjpwrgem', a JSON parser with good error messages
050
Jacob Asper @jacobasper.com · 02/12/2025
Finally did some perf testing for my JSON parser! Took an existing benchmark with a 2MB file. I ended up increasing parsing throughput by 60% by heap allocating Diagnostic information Now it's fully compliant with RFC 8259! U escapes are properly validated
Bar chart comparing JSON Parse and Stringify throughput (MB/s) for two versions of 'jjpwrgem' (0.1.0 and 0.1.1) using the canada.json dataset.

The blue bars represent the average Parse throughput: 57 MB/s for version 0.1.0 and 91 MB/s for version 0.1.1.
The red bars represent the average Stringify throughput: 202 MB/s for version 0.1.0 and 199 MB/s for version 0.1.1.
The chart shows an improvement in Parse throughput from 0.1.0 to 0.1.1, while Stringify throughput remains nearly the same
140
Jacob Asper @jacobasper.com · 29/11/2025
My JSON parser now passes 10ish more conformance tests! - leading 0s are now errors - basic invalid escapes are errors Still will have to handle - general string diagnostics - invalid hex escapes - invalid multibyte escapes
error: expected escapable sequence, found `🦀`.
       valid escapes are `\"`, `\\`, `\/`, `\b`, `\f`, `\n`, `\r`, `\t` or `\uXXXX` (4 hex digits)
  ╭▸ stdin:1:3
  │
1 │ "\🦀"
  ╰╴  ━━
150
Jacob Asper @jacobasper.com · 27/11/2025
Now numbers and arrays are parsed by my JSON parser! - snapshot testing - conformance testing against the amazing JSONTestSuite (252/318 tests passing) - invalid utf8 handling While I am testing the majority of tests, I still want to improve diagnostics for many scenarios 1/2
130
Reposted by Jacob Asper
Brittany Ellich @brittanyellich.com · 15/11/2025
Are we still doing starter packs? Put this one together because I love seeing things that lovely folks write on the internet, and I'm sure there are more people to meet and add to this list. go.bsky.app/AnM2t7r
2714131
Jacob Asper @jacobasper.com · 15/11/2025
Added infrastructure for patches and context in my JSON parser - migrated to annotated-snippets for easier patch handling - added context and patches for simple cases - formatted stringified tokens There's a long way to go to include context and patches for everything, but it'll be a fun time!
error: expected key or closed curly brace, found no significant characters
  ╭▸ stdin:1:1
  │
1 │ {
  │ ━
  │ │
  │ Expected due to open curly brace
  ╰╴
help: consider closing the unclosed curly brace
  ╭╴
1 │ {}
  ╰╴ +
030
Jacob Asper @jacobasper.com · 15/11/2025
Copilot got a little confused. I asked it to open a PR to apply a simple solution it found to a build failure it caused, and what do you know? It opened a completely empty PR Time to shelve my usage of that feature for a long while ha
GitHub Screenshot of a PR with no changes made
000
Jacob Asper @jacobasper.com · 12/11/2025
Finally got around to some more json formatting activity! - error messaging proof of concept via codespan diagnostics - handle unexpected control characters - handles whitespace as per the spec
error: expected json value, found Some(ClosedCurlyBrace)
  ┌─ FizzBuzz.fun:3:11
  │
1 │ { "hello": null,
   │ - expected due to `{`
2 │             "goodbye":
3 │           }    
  │           ^ uh oh
060
Jacob Asper @jacobasper.com · 03/11/2025
Now my JSON formatter has prettification and generally configurable options! I handled - arbitrary nesting - better error messaging for unterminated values - extracted object parsing from top level state machine I am scared to handle proper string escaping 😅
#[test]
fn prettify_arbitrarily_nested() {
    let input = r#"
            {"rust": 
            {"rust": 
            {"rust": 
            {"rust": null
            }
            }
            }
            }   
        "#;
    let expected = r#"{
    "rust": {
        "rust": {
            "rust": {
                "rust": null
            }
        }
    }
}"#;

    assert_eq!(prettify_str(input).unwrap(), expected)
}
030
Jacob Asper @jacobasper.com · 02/11/2025
I made a quick JSON formatter tonight! Whenever I hear about syntax trees, I feel the need to build something related I handled primitives and objects with primitive values and shall handle some nesting soon!
    #[test]
    fn uglify_removes_whitespace_object() {
        let input = r#"      {


        "hello hi":                       
        
        
                     null



                     ,


                     "by": "hello"


    }    
        
            "#;
        let res = uglify_str(input).unwrap();
        // we aren't guaranteed a key order
        assert!(
            res == r#"{"hello hi":null,"by":"hello"}"#
                || res == r#"{"by":"hello","hello hi":null}"#
        );
    }
040
Jacob Asper @jacobasper.com · 12/10/2025
I just got accused of AI twice in the course of 10 minutes by using em dashes—apparently you're only allowed to use them in approved programs like Word since "it's not on the keyboard" I have a keyboard shortcut for em dashes, but apparently that's inconceivable 😂
160
Jacob Asper @jacobasper.com · 11/10/2025
Amazing article! Definitely recommend giving it a read. I had no clue that the rgb and rgba functions are functionally the same
061