Bloom Filters and Beyond: Probabilistic Membership in Practice
Image generated by OpenAI DALL.E 2Optimizing large systems is incredibly satisfying. Very few things are more exciting than seeing a large baseline shift in your metrics after a clever new algorithm is deployed. Optimization can save money, make systems easier to operate, improve developer productivity, or sometimes unlock scale that wouldn’t
Read moreUnderstanding iOS Memory Management With Toy Analogies
I’ve been an iOS developer for over five years now. I must confess that I’ve somewhat tiptoed around one particular topic all this time…Continue reading on Better Programming »
Read moreLow-Code and No-Code Task Automation With LlamaIndex Data Agents, Zapier NLA, Snowflake, &…
GitHub Archive data analysis and task automationContinue reading on Better Programming »
Read moreHow to Get a Grip on Rule-based Agents
The 4 types of rule-based agents are similar but have differing advantages relative to certain problems. Let’s find out what these are.Photo by Kenny Eliason on UnsplashNot long ago I outlined four ways to build AI agents. Rule-based agents were the first and most rudimentary agent. Being rudimentary does not mean such
Read moreHow to Use the CSS Grid repeat() Function
Learn how to use the keywords and functions of the CSS Grid repeat() function to create responsive layouts without media queries. Continue reading How to Use the CSS Grid repeat() Function on SitePoint.
Read moreHarnessing Retrieval Augmented Generation With Langchain
Implementing RAG using LangchainImage by Author, generated using Adobe FireflyRetrieval Augmented Generation (RAG) is more than just a buzzword in the AI developer community; it’s a groundbreaking approach that’s rapidly gaining traction in organizations and enterprises of all sizes.As we delve deeper into the capabilities of Large Language Models (LLMs), uncovering new
Read morePattern Matching in TypeScript: Tuples and Records
Image by authorAs mentioned in my previous article, while being on a vacation and work-free I decided to challenge myself with implementing pattern matching in TypeScript. While sitting in airports and planes and shuttles and between all the dancing workshops and social parties (I do social dancing and I highly recommend
Read moreHow engineering teams at a large org can move at startup speed
SPONSORED BY SHELL On this sponsored episode of the podcast, Ben talks with Amber Webb, Principal Engineer at Shell, and Naresh Kumar, Senior Principal Engineer at Shell, about their hyper automation initiative, which locates organization-level bottlenecks and removes them. They chat about the three big areas of improvement: acquiring necessary
Read moreDependency Injection Demystified
Write robust and maintainable software using modern language featuresImage generated using MidjourneyUnit testing will inherently nudge you towards writing your code in a maintainable way. You’ll separate concerns, design sensible interfaces, and break your code into small, easy-to-reason-about chunks.Modern language features like async/await and functional reactive programming bring incredible ergonomics to
Read moreThe Problem With Sharing Problems in Complex Systems
Should shared problems have shared solutions? Deciding so requires us to understand them at a deeper levelPhoto by Markus Winkler on UnsplashThroughout my career, one scenario has reared its head over and over again: multiple components seemingly sharing one problem in complex systems.From software architecture to macroeconomics, the question always arises: “Should shared
Read more