Strangely Typed
Software engineering blog by Adam Rackis
Hi, I'm Adam đź‘‹
Welcome to my blog. I usually write about web development—the React or Svelte stacks in particular—or occasionally GraphQL, databases, or anything else I'm interested in.
Introducing Zustand
on Frontend MastersA quick introduction to Zustand, a simple, fun and effective state management library for React
Satisfies in TypeScript
on Frontend MastersSome quick coverage of one of TypeScript's less commonly used features: satisfies
Introducing TanStack Start
on Frontend MastersA high-level introduction to TanStack Start, featuring integration with react-query
Drizzle Database Migrations
on Frontend MastersUsing Drizzle to manage and sync your database schema
Loading Data with TanStack Router: react-query
on Frontend MastersIntegrating TanStack Router with react-query for rich, fine-grained data loading
Loading Data with TanStack Router: Getting Going
on Frontend MastersUsing TanStack Router's built-in features to load, and invalidate data
Introducing TanStack Router
on Frontend MastersAn introduction to TanStack Router, showing type-safe routing
Fine-Grained Reactivity in Svelte 5
on Frontend MastersA deep dive into Svelte 5's fine-grained reactivity
Introducing Svelte 5
on Frontend MastersAn introduction to Svelte 5, covering the basics: state, props and effects
Introducing Drizzle
on Frontend MastersAn introduction to one of the more unique ORMs out there: Drizzle
Testing Types in TypeScript
on Frontend MastersYou already know you can unit test your code. But did you know that you can also unit test your advanced TypeScript types? This post walks you through it
Combining React Server Components with react-query for Easy Data Management
on Frontend MastersAn introduction to React Query Components, and how to use react-query to streamline data loading
Prefetching When Server Loading Won’t Do
on Frontend MastersA guide to prefetching data for when server rendering isn't feasible, and streaming isn't available
Using Auth.js with SvelteKit
on Frontend MastersA guide to implementing authentication with Auth.js in SvelteKit
Caching Data in SvelteKit
on css-tricks.comA deep dive into the various ways data can be cached in SvelteKit
Getting Started With SvelteKit
on css-tricks.comAn introduction to SvelteKit, a Svelte-based application Meta Framework
Using Web Components With Next (or Any SSR Framework)
on css-tricks.comA guide to using web components in application metaframeworks like Next
Introducing Shoelace, a Framework-Independent Component-Based UX Library
on css-tricks.comAn introduction to Shoelace, a web component-based, ux component library
Swift - Encoding and decoding `Any`
How to encode and decode json with concrete types, which include dynamic pieces typed as `Any`
Building Interoperable Web Components That Even Work With React
on css-tricks.comAn introduction to building web components, and then using them with JavaScript frameworks like Svelte and React
Inline Image Previews with Sharp, BlurHash, and Lambda Functions
on css-tricks.comDisplaying image previews with Base64 encoding, and Blurhash
Syntax Highlighting (and More!) With Prism on a Static Site
on css-tricks.comA deep dive on integrating Prism with Next.js for code highlighting
Setting Up CloudFront to Host Your Web App
on css-tricks.comHosting your entire web app with AWS Cloudfront
Subsetting Font Awesome to Improve Performance
on css-tricks.comHow to pick only the Font Awesome icons you want for smaller bundles
Demystifying TypeScript Discriminated Unions
on css-tricks.comExplaining TypeScript unions, and discriminated unions
Making a Site Work Offline Using the VitePWA Plugin
on css-tricks.comDiving deeper into Vite, and using the VitePWA plugin to improve your site's performance
React Suspense: Lessons Learned While Loading Data
on css-tricks.comA deeper dive into data loading with Suspense
The What, Why and How of DynamoDB
A high-level introduction to DynamoDB
Svelte for the Experienced React Dev
on css-tricks.comA high-level introduction to Svelte, from the perspective of an experienced React developer
Coordinating Svelte Animations With XState
on css-tricks.comAn introduction to XState, for simplifying Svelte animation code
Integrating TypeScript with Svelte
on css-tricks.comManually adding TypeScript to a non-greenfield Svelte project
Pre-Caching Images with React Suspense
on css-tricks.comUsing Suspense to block a component's rendering until its images have loaded
How to Use CSS Grid for Sticky Headers and Footers
on css-tricks.comA beginner friendly introduction to CSS Grid, with examples implementing sticky headers and footers
Making Sense of react-spring
on css-tricks.comUnderstanding how react-spring works, and how to leverage it for common animation use cases
Building Your First Serverless Service With AWS Lambda Functions
on css-tricks.comA beginners introduction to the Serverless framework
Suspense Explained
A walk through of the family of React features commonly all referred to as "Suspense"
Wrangling useReducer, from action creators to typings
A walk through of the various ways useReducer can be made more ergonomic, from simulating Redux-like action creators, to adding typings to vanilla `useReducer` via TypeScript.
Loading css, css-modules, and Sass with webpack
An introduction to loading css with webpack, and enabling css-modules, and SASS in the process
A Different Approach to GraphQL Caching
A tour of GraphQL caching with micro-graphql-react.
Hooks, State, Closures, and useReducer
A brief look at how useReducer can simplify your code, particularly with effects and closures.
Making Sense of Offline Web Development
Make your web apps work offline with Service Workers and IndexedDB.
New Beginnings
My first post on my new blog