About:

Chris Armstrong is a full-stack developer passionate about open-source, AWS tech, and tech history.

Website:

Specializations:

Interests:

Open-source Performance optimization AWS technology Tech history Functional programming
Subscribe to RSS:
The post provides an update on the development of smaws, an implementation of the AWS SDKs and a client for the Smithy specification. The author discusses preparations for a presentation at the ICFP OCaml workshop in Singapore, fo...
OCaml has competitive advantages for serverless development, but faces challenges in SDK maturity and cross-compilation compared to popular languages like Python, TypeScript, and Rust.
The text discusses the importance of observability in build pipelines and development infrastructure, emphasizing that it goes beyond just production systems. It highlights the risks of neglecting build systems, which can lead to ...
The author shares their journey of using AI in coding, highlighting the challenges of losing control over a codebase and the necessity of personal involvement in software development.
The author is preparing a presentation for the ICFP OCaml Workshop 2025 in Singapore, focusing on 'smaws', an AWS SDK for OCaml and its code generation process. The presentation will emphasize the SDK's design from a programming l...
The talk explores the challenges and best practices of using LLMs in coding with OCaml, emphasizing structured planning and human oversight.
The author shares their experience attending and speaking at the ICFP 2025 conference in Singapore, focusing on their presentation about 'smaws', an AWS SDK for OCaml. They describe the scale of the conference, the various worksho...
The post discusses the unique practice of software developers creating their own tools, drawing parallels to other professions and human creativity. It highlights how developers customize editors, automate tasks, and create applic...
The text discusses the challenges and importance of cross-compiling OCaml code for other platforms, particularly in serverless applications. It explains the need for cross-compilation, the components required for cross-compilation...
The text discusses the use of PPXs in OCaml development, particularly focusing on the use of ppxlib for code generation. It explains the benefits of using PPXlib for code generation and provides a detailed guide on setting up a pr...
The article discusses the process of removing unused code when compiling OCaml binaries, the impact of binary size on serverless applications, and the factors affecting binary size. It also explains the OCaml compilation model and...
The text discusses the tendency to romanticize old technologies and the lessons we supposedly forgot when designing modern software. It highlights the benefits of simplicity and composability in software design, using Plan 9 names...
The text discusses the issue of large package sizes in OCaml applications and how it affects Lambda cold starts. It delves into the ELF format and the main sections contributing to the bulk of the size, as well as the concept of t...
The text discusses the issue of reaching the AWS resource limit when deploying serverless applications and the approach of stack splitting to overcome this limitation. It provides a detailed process for stack splitting and technic...
IAM Identity Center is the successor product to AWS Single Signon (AWS SSO), used in multi-account AWS environments to manage user access and roles across an AWS Organisation. It can be accessed from the AWS CLI, but the relations...
Storybook 7 has deprecated the storyshots plugin, which was commonly used to set up a visual regression testing workflow with jest-image-snapshot. The new test-runner functionality uses playwright and jest under the hood to run in...
The text discusses the use of ppx_expect to write inline tests for OCaml code. It explains how to use ppx_expect, its limitations, and dependencies. It also provides a setup guide and examples of writing and executing tests.
The text discusses the author's project ocaml-cfgen, which generates OCaml bindings for CloudFormation resource definitions and IAM policy generation. It outlines the challenges faced in generating OCaml bindings and CloudFormatio...
The author discusses ocaml-cfgen, a project to turn CloudFormation resource definitions into OCaml types with support for serializing them to CloudFormation JSON. The project is a side-track from another goal, which was to build a...
CSS was never designed for the maintainability of HTML styling and actively works against it. It forces you to name things that would normally be unnamed, separates styling from components, and creates coupling between unrelated c...
The author discusses the issues with using Prisma, a SQL data access layer, with DynamoDB, a NoSQL database. The author explains that while DynamoDB supports PartiQL, it does not support many standard SQL features, and the lack of...
The text discusses the challenges of onboarding a team to observability, the importance of manual instrumentation of code, and the four main ways to instrument code. It emphasizes the need for developers to actively use an observa...
The article discusses the benefits of packaging NodeJS Lambda functions individually with esbuild for faster cold-start times. It compares esbuild with webpack and provides a step-by-step guide on how to configure esbuild with AWS...
The text provides a guide on setting up a new Reason project, including the introduction to Reason, editor support, esy build tooling, package management, build process, prerequisites, creating a new project, editing the project, ...