TIL

Pip Latest Version Checking

I run a lot of different version of various languages and tools across my system. Nix and direnv help make this possible to manage reasonably. Recently, starting a new Python project, I was running into this warning after install dependencies with pip (yes, I am aware there are new/fresh/fast/cool...

TIL

Python Coroutines

Exploring accidental synchronous blocking in asynchronous programming in Python with coroutines.

Python coroutines allow for asynchronous programming in a language that earlier in its history, has only supported synchronous execution. I've previously compared taking a synchronous approach in Python to a parallel approach in Go using channels. If you're familiar with async/await in JavaScript,...

TIL

Render Python Encodings Error

Render is a platform as a service company that makes it easy to quickly deploy small apps. They have an easy-to-use free tier and I wanted run a Python app with dependencies managed by Poetry. Things had been going pretty well until I unexpectedly got the following error after a deploy

Logs

2023-09-22

I had a bunch of fun following along with this post with my own Hugo blog to construct a sqlite database of metadata. Building the database indices, I found a mistake I had made years ago in defining a post's alias, which was a duplicate, so I fixed that. I've read a lot of praise of sqlite lately...

Logs

2023-08-27

It's much easier to test Temporal Workflow in Python by invoking the contents of the individual Activities first, in the shell or via a separate script, then composing them into a Workflow. I need to see if there's a better way to surface exceptions and failures through Temporal directly to make...

Logs

2023-08-17

I've been doing a bit of work with Temporal using it's Python SDK. Temporal remains one of my favorite pieces of technology to work with. The team is very thoughtful with their API design and it provides a clean abstraction for building distributed, resilient workflows. It's a piece of technology...

Logs

2023-07-09

I've been playing around more with nix lately. I like what I've seen from it so far: declare dependencies and get an isolated shell with those dependencies. If distributed, the environment can be trivially recreated on another machine. So far, it's been a struggle to get a working Python...

Logs

2023-07-05

Experimenting with using a language model to improve the input prompt, then use that output as the actual prompt for the model, then returning the result. It's a bit of a play on the "critique" approach. Some of the outputs were interesting but I need a better way to evaluate the results.

Logs

2023-06-12

I read an article today about Scripting with Elixir that caught my eye because it touches on a problem I often struggle with: how you do easily distribute a script along with its dependencies in Python? Elixir has an example of what this could look like in the form of Mix.install. This feature...

Posts

Shaping LLM Responses

It's necessary to pay attention to the shape of a language model's response when incorporating it as a component in a software application. You can't programmatically tap into the power of a language model if you can't reliably parse its response. In the past, I have mostly used a combination of...

Posts

Auto-GPT

Experimenting with Auto-GPT

Auto-GPT is a popular project on Github that attempts to build an autonomous agent on top of an LLM. This is not my first time using Auto-GPT. I used it shortly after it was released and gave it a second try a week or two later, which makes this my third, zero-to-running effort.

Posts

PySpark dependencies

Recently, I have been working with the Python API for [Spark][pyspark] to use distrbuted computing techniques to perform analytics at scale. When you write Spark code in Scala or Java, you can bundle your dependencies in the jar file that you submit to Spark. However, when writing Spark code in...

Posts

Python Fabric

To help facilitate my blogging workflow, I wanted to go from written to published post quickly. My general workflow for writing a post for [this blog][MyBlog] looks like this: Create a post in _posts Write the post Run fab sync

Posts

qc: quick calculator

If you spend most of your time in the command line, you don't want to leave to do math. Qc is a script that does in-line command line math without forcing you to exit the main bash prompt as you might with a program like bc or a language interpreter.