Chris Cook's Avatar

Chris Cook

@zirkelc.dev.bsky.social

software engineer at heart ❤️ co-founder of http://flyweight.io aws community builder

308 Followers  |  405 Following  |  210 Posts  |  Joined: 30.08.2023  |  2.1492

Latest posts by zirkelc.dev on Bluesky

Post image

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.

28.07.2025 15:58 — 👍 0    🔁 0    💬 0    📌 0
Performance measurement APIs | Node.js v24.4.1 Documentation

Thanks for the article, I learned so many new things! I noticed you're using Date.now() for measuring; maybe using Node.js performance hooks will give you even more accurate numbers?

nodejs.org/api/perf_hoo...

26.07.2025 04:18 — 👍 1    🔁 0    💬 1    📌 0
Preview
GitHub - zirkelc/lambdalet: Lambdalet.AI: Reinventing the bookmarklet. Lambdalet.AI: Reinventing the bookmarklet. Contribute to zirkelc/lambdalet development by creating an account on GitHub.

I'm already working on improvements like auto-generated tags and summaries, and tougher CSP work-arounds.

Check out the code and give it a star! ⭐

github.com/zirkelc/lambdalet

10.07.2025 10:47 — 👍 0    🔁 0    💬 0    📌 0
Post image

Flow in a nutshell:
1️⃣ Lambda #1 uploads the HTML to S3 and queues requests
2️⃣ SQS FIFO for async processing and deduplication
3️⃣ Lambda #2 downloads HTML, converts to Markdown, extracts content via Bedrock and saves to Notion

10.07.2025 10:47 — 👍 0    🔁 0    💬 1    📌 0

Bookmarklets are back! 🔖

It uses a small JS snippet saved as a bookmark to POST the current page's HTML to an API Gateway. If a site’s CSP blocks fetch, the code falls back to an old-school form submit in a temp window. Simple trick, but it works on most pages.

10.07.2025 10:47 — 👍 0    🔁 0    💬 1    📌 0
Video thumbnail

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!

10.07.2025 10:47 — 👍 0    🔁 0    💬 1    📌 0
Preview
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,...

✍️ New blog post by Chris Cook

Flatten Array of Arrays using JSONata for AWS Step Functions

#aws #programming #tutorial #javascript

17.06.2025 14:38 — 👍 1    🔁 1    💬 0    📌 0
Preview
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,...

However, there are a few things to be aware of:

dev.to/aws-builders...

18.06.2025 07:31 — 👍 0    🔁 0    💬 0    📌 0
Post image

If your using JSONata instead of JSONPath for your AWS Step Function workflow, here's how you can flatten an array of arrays:

18.06.2025 07:31 — 👍 0    🔁 0    💬 1    📌 0

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.

11.06.2025 08:22 — 👍 0    🔁 0    💬 0    📌 0

Using a reasoning model for coding feels like driving a sports car in stop-and-go traffic

09.06.2025 08:30 — 👍 0    🔁 0    💬 0    📌 0

Long lived AWS IAM credentials for the management console would be nice

27.05.2025 06:08 — 👍 0    🔁 0    💬 0    📌 0

Glad it's open source

github.com/gskinner/reg...

22.04.2025 06:37 — 👍 0    🔁 0    💬 0    📌 0
Site not found · DreamHost The owner of this domain has not yet uploaded their website.

Looks like my favorite Regex testing site is down 😭

regexr.com

22.04.2025 06:31 — 👍 1    🔁 0    💬 0    📌 1
harmony:typeof_null [ES Wiki]

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...

20.04.2025 03:53 — 👍 0    🔁 0    💬 0    📌 0
GitHub - unjs/unbuild: 📦 A unified JavaScript build system 📦 A unified JavaScript build system. Contribute to unjs/unbuild development by creating an account on GitHub.

How does this relate to unbuild?

github.com/unjs/unbuild

15.04.2025 12:24 — 👍 1    🔁 0    💬 0    📌 0

Cool, I always skipped over this section in the docs.

Would be nice if it were possible to configure on a complete test() block like test.soft()

11.04.2025 11:11 — 👍 1    🔁 0    💬 0    📌 0
feat: support lambda response streaming by zirkelc · Pull Request #6680 · trpc/trpc Closes #4474 🎯 Changes This PR adds support for AWS Lambda response streaming. Response streaming is only supported by Lambda Function URLs, not by API Gateway. I decided to add a new adapter awsLa...

Maybe soon we can use response streaming from AWS Lambda with @trpc.io 👀

github.com/trpc/trpc/pu...

07.04.2025 09:14 — 👍 1    🔁 0    💬 0    📌 0
Post image

Found this TODO in my codebase 😄

If I make a PR, will @vitest.dev accept it? 👀

18.03.2025 16:36 — 👍 1    🔁 0    💬 0    📌 0
Preview
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', () => { ...

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...

12.03.2025 12:15 — 👍 1    🔁 0    💬 0    📌 0
Post image

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`

02.02.2025 08:37 — 👍 1    🔁 0    💬 0    📌 0

I can't emphasize enough how great this post about quantization is!

31.01.2025 11:07 — 👍 1    🔁 0    💬 0    📌 0

Thanks!

29.01.2025 14:00 — 👍 1    🔁 0    💬 0    📌 0

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/"

29.01.2025 10:29 — 👍 0    🔁 0    💬 0    📌 0

Which podcast?

29.01.2025 08:54 — 👍 0    🔁 0    💬 1    📌 0

Is distilling the same as fine-tuning? Sounds like the only difference is that in distillation, the data comes from a bigger model instead of a human

29.01.2025 08:51 — 👍 0    🔁 0    💬 0    📌 0

I hope they will win at the end

29.01.2025 08:41 — 👍 2    🔁 0    💬 0    📌 0

I wrote a follow up on this topic on @dev.to

dev.to/zirkelc/type...

28.01.2025 16:00 — 👍 2    🔁 0    💬 0    📌 0

Great explanation! 🙏

28.01.2025 06:04 — 👍 0    🔁 0    💬 0    📌 0

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...

27.01.2025 11:20 — 👍 1    🔁 0    💬 0    📌 0

@zirkelc.dev is following 20 prominent accounts