0%

A model API is simple: text goes in, text comes out. Every real application then rebuilds the same plumbing around that one call. LangChain is that plumbing, packaged once.

It helps to know which problem each part solves, because that also tells you when you do not need it. Here are the six problems, in the order most projects hit them.

Read more »

The plan that didn't survive the first afternoon

I set out to do one useful open source contribution a day, with a coding agent doing the legwork and me approving every comment and pull request before it went out. The plan was the classic one: find a small, fresh bug in a project I use, fix it, send the PR.

By the end of the first afternoon I had a problem. Almost every small, fresh bug I found already had a fix waiting.

Read more »

The problem with letting agents run unattended

I run several coding agents headless on my workstation. One reviews pull requests, one implements tickets from a written plan, one watches repositories and regenerates documentation when the code moves. They are started by timers and scripts, so nobody is sitting at a terminal when they finish.

Most of their work is safe to do alone: reading code, running tests, writing a report to disk. A few steps are not. Posting a review comment under my name, pushing a branch, opening a PR, deploying to a shared environment. Those are outward facing and hard to take back, and I want to see them before they happen.

A permission prompt needs a terminal. Email is too slow to act on. A web dashboard is one more thing to keep running. What I already had open all day was Telegram on my phone, and Telegram bots support buttons under a message. So every risky step became a message with Approve, Show and Skip under it.

Read more »

In the dynamic world of Python programming, data validation and parsing are crucial for robust application development. One library that has been gaining traction for these tasks is Pydantic. Known for its efficiency and ease of use, Pydantic has become a staple in the Python community. Let's dive into what makes Pydantic an indispensable tool for modern Python developers.

What is Pydantic?

Pydantic is a Python library designed for data validation and parsing, utilizing the power of Python's type hints. It stands out for its speed and extendibility, offering a practical approach to handling data in Python projects

Installing Pydantic

Getting started with Pydantic is straightforward. You can install it using:

pip install pydantic

Why Pydantic is Gaining Popularity

Pydantic's rising popularity can be attributed to several key benefits:

Read more »

Hello, JavaScript adventurers! Today, let's embark on a time-traveling journey through the evolution of JavaScript's asynchronous capabilities. From the early days of callbacks to the modern elegance of async/await, we'll explore how these features came to be and how they've shaped the way we write JavaScript today.

JavaScript's Early Days to Asynchronous Mastery

Picture this: It's 1995, and JavaScript is born. Initially, it's like a helpful little assistant, great for adding interactive bits to websites. But as the internet grows, our assistant needs to juggle more tasks simultaneously.

The Evolution of Asynchronous JavaScript

  1. The Callbacks Era (1990s-2000s): Callbacks were the original method for handling asynchronous operations in JavaScript. They're like the first pair of training wheels for the language, helping it to manage tasks that take time, like loading data from a server.
Read more »