Jacob Asper
@jacobasper.com
You can also pattern match it!
November 11, 2025 at 1:38 AM
You can also pattern match it!
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 😅
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 😅
November 3, 2025 at 4:20 AM
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 😅
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 😅
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!
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!
November 2, 2025 at 6:27 AM
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!
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!
Ironically just got an ad for them. They are steak nuggets, and an absurd amount a that
November 2, 2025 at 1:25 AM
Ironically just got an ad for them. They are steak nuggets, and an absurd amount a that
Have I peaked as a developer? My power is too great
August 6, 2025 at 2:40 AM
Have I peaked as a developer? My power is too great
The tracing crate is so beautiful. With just an instrument annotation, I can attach the video id if it exists to all the events for DB calls and HTTP requests throughout the life of my endpoint
August 3, 2025 at 9:50 AM
The tracing crate is so beautiful. With just an instrument annotation, I can attach the video id if it exists to all the events for DB calls and HTTP requests throughout the life of my endpoint
This must be a new record for fixing CI!
I ran postgres in tests and it only took 4 attempts to get everything to work!
I ran postgres in tests and it only took 4 attempts to get everything to work!
August 3, 2025 at 3:28 AM
This must be a new record for fixing CI!
I ran postgres in tests and it only took 4 attempts to get everything to work!
I ran postgres in tests and it only took 4 attempts to get everything to work!
I spent 30 minutes wondering why my records weren't being saved in the database 🙃
Hint: the syntax is all correct and the query runs fine
Hint: the syntax is all correct and the query runs fine
August 2, 2025 at 1:33 AM
I spent 30 minutes wondering why my records weren't being saved in the database 🙃
Hint: the syntax is all correct and the query runs fine
Hint: the syntax is all correct and the query runs fine
I missed "on" from Haskell in TypeScript and it was pretty straightforward to implement! Unfortunately both "fn" and "fn2" need passed at the same time for good inference, but I'm satisfied either way 😀
July 11, 2025 at 4:24 AM
I missed "on" from Haskell in TypeScript and it was pretty straightforward to implement! Unfortunately both "fn" and "fn2" need passed at the same time for good inference, but I'm satisfied either way 😀
Nice article!
It might even get me to reconsider buying this tapestry 😂
It might even get me to reconsider buying this tapestry 😂
April 22, 2025 at 4:52 PM
Nice article!
It might even get me to reconsider buying this tapestry 😂
It might even get me to reconsider buying this tapestry 😂
Did a codewars in COBOL to see what all the fuss was about. I'm sure I could simplify this if I dug more into it
My review after writing an extremely simple program is that it's odd by modern standards. It's interesting to have so much control over datatypes via pictures
My review after writing an extremely simple program is that it's odd by modern standards. It's interesting to have so much control over datatypes via pictures
April 6, 2025 at 7:10 PM
Did a codewars in COBOL to see what all the fuss was about. I'm sure I could simplify this if I dug more into it
My review after writing an extremely simple program is that it's odd by modern standards. It's interesting to have so much control over datatypes via pictures
My review after writing an extremely simple program is that it's odd by modern standards. It's interesting to have so much control over datatypes via pictures
Moo moo as a playable character is something I didn’t know I needed
April 2, 2025 at 11:35 PM
Moo moo as a playable character is something I didn’t know I needed
It will never stop making me laugh when I hear "slurping" in programming contexts
March 30, 2025 at 2:06 AM
It will never stop making me laugh when I hear "slurping" in programming contexts
How do y'all feel about the chatbot integrations in firefox? On a first glance it was a little odd, but it's been very nice. Sometimes it gets confused about what page I'm on, but that's to be expected with experimental features right?
March 25, 2025 at 1:06 AM
How do y'all feel about the chatbot integrations in firefox? On a first glance it was a little odd, but it's been very nice. Sometimes it gets confused about what page I'm on, but that's to be expected with experimental features right?
Cheesey Garlic bred time!
March 21, 2025 at 2:38 PM
Cheesey Garlic bred time!
Wrote some terrible code to get multiple grammar errors working together! Now you can be notified of sticky lines. Sticky words hold sentences together but can make them tough to get through
Some examples are "so", "the", "that", "a"
I'm thinking about user configurable thresholds eventually!
Some examples are "so", "the", "that", "a"
I'm thinking about user configurable thresholds eventually!
March 19, 2025 at 4:22 AM
Wrote some terrible code to get multiple grammar errors working together! Now you can be notified of sticky lines. Sticky words hold sentences together but can make them tough to get through
Some examples are "so", "the", "that", "a"
I'm thinking about user configurable thresholds eventually!
Some examples are "so", "the", "that", "a"
I'm thinking about user configurable thresholds eventually!
Wrote an SVG by hand since I couldn't find any tools that worked well. Now I have a very nice squiggly boy under my errors!
The top is the browser default and the below is mine
What do y'all use to edit SVGs, since random websites are not it ha
The top is the browser default and the below is mine
What do y'all use to edit SVGs, since random websites are not it ha
March 18, 2025 at 2:11 AM
Wrote an SVG by hand since I couldn't find any tools that worked well. Now I have a very nice squiggly boy under my errors!
The top is the browser default and the below is mine
What do y'all use to edit SVGs, since random websites are not it ha
The top is the browser default and the below is mine
What do y'all use to edit SVGs, since random websites are not it ha
There are real errors coming from a real server now! I started with checking if the first word on a line was capitalized
You may notice that the underline doesn't show up under the g, and that's because underlines on Firefox just do that for some reason, so text decorations aren't viable here
You may notice that the underline doesn't show up under the g, and that's because underlines on Firefox just do that for some reason, so text decorations aren't viable here
March 17, 2025 at 1:33 PM
There are real errors coming from a real server now! I started with checking if the first word on a line was capitalized
You may notice that the underline doesn't show up under the g, and that's because underlines on Firefox just do that for some reason, so text decorations aren't viable here
You may notice that the underline doesn't show up under the g, and that's because underlines on Firefox just do that for some reason, so text decorations aren't viable here
Decided an API to mark spans as errors and added a custom context menu! Next I'll be onto making an API to send some errors over. I'm gonna go with Haskell because why not!
March 10, 2025 at 10:22 PM
Decided an API to mark spans as errors and added a custom context menu! Next I'll be onto making an API to send some errors over. I'm gonna go with Haskell because why not!
Making a (hopefully) accessible text editor! I've been frustrated by text editors that refuse to let screen readers read anything or hide the errors themselves
March 8, 2025 at 1:53 AM
Making a (hopefully) accessible text editor! I've been frustrated by text editors that refuse to let screen readers read anything or hide the errors themselves
Garlic bread with chese let’s go
March 4, 2025 at 12:19 AM
Garlic bread with chese let’s go
I just hit over 100 words per minute on a typing test! It's on a subset of letters, but still an exciting milestone!
March 1, 2025 at 8:02 PM
I just hit over 100 words per minute on a typing test! It's on a subset of letters, but still an exciting milestone!
I just finished a codewars that was type level addition in TypeScript. It was fun until I had to do all kinds of shenanigans to get around the recursion limit
www.codewars.com/kat...
1/3
www.codewars.com/kat...
1/3
February 27, 2025 at 1:10 AM
I just finished a codewars that was type level addition in TypeScript. It was fun until I had to do all kinds of shenanigans to get around the recursion limit
www.codewars.com/kat...
1/3
www.codewars.com/kat...
1/3