Identity Management
Application Security
Fraud Detection
As featured in
Claim pageClaim
Follow
Overview
News
Salaries
Products
People
Growth
Offices
Financials
News
We suffered MongooseJS so you don't have to
We investigate how MongooseJS's type safety can silently add bugs to your code base.
Read more
Report
We cut our Mongo DB costs by 90% by moving to Hetzner
We moved MongoDB Atlas off AWS and onto self-hosted Hetzner boxes - 90% cost cut, no performance loss. Here's the setup, the Ansible, and what broke.
Read more
Report
PHP Views Package - Templating Made Easy with Blade and Model-Driven Approach
Bot Prevention and Application Security
Read more
Report
We Are Being Blackmailed or: How Not to Hire a Contractor
A contractor that we hired on Upwork is now blackmailing us. Here's how we got into this situation and how we're dealing with it.
Read more
Report
tsx vs ts-node: Time to Drop ts-node for tsx
tsx vs ts-node compared: why tsx runs TypeScript faster than ts-node, and how to migrate your Node.js scripts away from ts-node today.
Read more
Report
actions/cache@v3 restore: GitHub Actions Cache Fix
Fix GitHub Actions caching with actions/cache@v3 and actions/cache/restore: share caches across branches and evict old caches faster.
Read more
Report
TypeScript: Branded Types
How to brand TypeScript types for norminal typing, providing an automated and easy-to-use way of making a type nominal.
Read more
Report
Using Vite To Rebuild Local Dependencies in an NPM Workspace
Vite ignores local workspace packages because they sit outside its module graph - the config trick that forces Vite to rebuild sibling npm packages.
Read more
Report
TypeScript: Mapped Type Magic
TypeScript mapped types can make Cat === Dog - a weird paradox. How to brand identical structural types so the compiler can tell them apart.
Read more
Report
