Chris Cook
zirkelc.dev
Chris Cook
@zirkelc.dev
software engineer at heart ❤️
co-founder of http://flyweight.io
aws community builder
TIL you can use `@entity.Attributes.Lambda.Function` to group messages from multiple different log groups.

Useful when you need to analyze cold starts from many Lambdas with a single cloudwatch query.
July 28, 2025 at 3:58 PM
Here's Lambdalet.AI - an AI-powered bookmarking and read-it-later service. It saves any page you're reading into your own Notion database — full text, fully searchable, zero fuss.

I built this for the AWS Lambda Hackathon!
July 10, 2025 at 10:47 AM
Reposted by Chris Cook
✍️ New blog post by Chris Cook

Flatten Array of Arrays using JSONata for AWS Step Functions

#aws #programming #tutorial #javascript
Flatten Array of Arrays using JSONata for AWS Step Functions
The Map state of AWS Step Functions returns an array of arrays as a result. For further processing,...
dev.to
June 17, 2025 at 2:39 PM
If your using JSONata instead of JSONPath for your AWS Step Function workflow, here's how you can flatten an array of arrays:
June 18, 2025 at 7:31 AM
It would be nice if there was a way to pause Lambdas while waiting for a HTTP response.

Like fire of a few requests, the Lambda goes into hibernate and automatically resumes when all requests have concluded.
June 11, 2025 at 8:22 AM
Using a reasoning model for coding feels like driving a sports car in stop-and-go traffic
June 9, 2025 at 8:30 AM
Long lived AWS IAM credentials for the management console would be nice
May 27, 2025 at 6:08 AM
Glad it's open source

github.com/gskinner/reg...
April 22, 2025 at 6:37 AM
Looks like my favorite Regex testing site is down 😭

regexr.com
Site not found · DreamHost
The owner of this domain has not yet uploaded their website.
regexr.com
April 22, 2025 at 6:31 AM
In 2011, there was an proposal to change the type of null

`typeof null === null`

Too bad it didn't get accepted

web.archive.org/web/20160331...
harmony:typeof_null [ES Wiki]
web.archive.org
April 20, 2025 at 3:53 AM
Found this TODO in my codebase 😄

If I make a PR, will @vitest.dev accept it? 👀
March 18, 2025 at 4:36 PM
I started a discussion for a new asymmetric matcher for @vitest.dev that checks if a property does not exist. Basically, the opposite of `expect.anything()`, could be named `expect.nothing()`

Would love to get some feedback 🙏

github.com/vitest-dev/v...
Asymmetric matcher for property NOT exists (opposite of `anything`) · vitest-dev vitest · Discussion #7324
Hey, is there a way check if an object does not have a certain property? Basically, the opposite of expect.anything(): import { expect, test } from 'vitest' test('object has "apples" key', () => { ...
github.com
March 12, 2025 at 12:16 PM
TIL `$*` captures all positional arguments into a space separated string

You can abuse this for a Git alias to avoid typing the commit message in double quotes:

`gc my commit message`
February 2, 2025 at 8:37 AM
I can't emphasize enough how great this post about quantization is!
Next up, "A Visual Guide to Quantization"!

Over 60 custom visuals explaining quantization of LLMs.

Explore (a)symmetric quantization, dynamic/static quantization, post-training techniques (e.g., GPTQ and GGUF), quantization-aware training (e.g., BitNet 1.58b), and more!

#llms #ai
January 31, 2025 at 11:07 AM
It's funny, @sindresorhus.bsky.social has a package for literally everything I search for.

I should probably prefix my Google searches with "site:github.com/sindresorhus/"
January 29, 2025 at 10:29 AM
I wrote a follow up on this topic on @dev.to

dev.to/zirkelc/type...
January 28, 2025 at 4:00 PM
Building and deploying a React app to a static hosting service like Amazon S3 and CloudFront is a good example for a CLI in TypeScript.

Adding Listr2 and Execa to create an easily extensible CLI with `build` and `deploy` command.

asciinema.org/a/DFlVSxmoWD...
January 27, 2025 at 11:20 AM
I always wondered how people create these beautiful terminal recordings.

github.com/asciinema/as...
GitHub - asciinema/asciinema: Terminal session recorder 📹
Terminal session recorder 📹. Contribute to asciinema/asciinema development by creating an account on GitHub.
github.com
January 27, 2025 at 10:42 AM
TIL Press the . key on any repository to switch github.dev

github.com/github/dev
GitHub - github/dev: Press the . key on any repo
Press the . key on any repo. Contribute to github/dev development by creating an account on GitHub.
github.com
January 25, 2025 at 11:43 AM
It's so funny how confident LLMs are when they make mistakes.

The model generates invalid code.

You specifically ask them about lines of code.

The model confidently explains how it works.

You give them the error.

The model is like "Ah, you're absolutely right - I apologize for my mistake!"
January 24, 2025 at 9:31 AM
What if `expect(obj).toMatchPrompt("...")` was a thing

It's probably a stupid idea, but I couldn't resist and quickly implemented @vitest.dev custom matcher
January 23, 2025 at 2:44 PM
I wish VSCode would accept S3 URLs

Cmd+P, paste S3 URL, enter and it opens the file
January 20, 2025 at 5:06 PM
I love how you can use TypeScripts' unique symbols as a parking spot for types 👀

Here's a simple query helper function to attach the result type to an object and infer it back later

I've shared a complete example on @dev.to:

dev.to/zirkelc/uniq...
January 18, 2025 at 11:12 AM
Just found out about Microsofts' GenAIScript and not sure how to feel about it

Anyone tried it yet?

github.com/microsoft/ge...
GitHub - microsoft/genaiscript: Automatable GenAI Scripting
Automatable GenAI Scripting. Contribute to microsoft/genaiscript development by creating an account on GitHub.
github.com
January 18, 2025 at 8:19 AM