After 10 years or 10,000 hours, most SRE & DevOps practitioners are YAML expert witnesses. We've written tens of thousands of lines of YAML - Kubernetes manifests, GitLab CI pipelines, Ansible playbooks, Docker Compose files, infrastructure definitions. We understand the format intimately. We know its quirks, its strengths, its …
We just harvested uncloseai: Machine Learning Inference Client Reference Manual. 454 pages. 58 implementations across languages. 5 days from seed to harvest (October 11-16, 2025).
This seems like permacomputer agriculture. We don't write books. We grow them.
the permacomputer
At unturf. we're building a permacomputer. Not a machine. An ecosystem …
The companion pelican-svbhack theme repo lives here.
We upgraded the pelican-svbhack theme to add a right sidebar table of contents. This enhancement improves navigation on longer articles by providing quick access to section headings. The theme now features responsive breakpoints, dark mode with theme-aware syntax highlighting, and progressive enhancement for …
The full webwords implementations have proper error handling, logging, and structure. But what's the absolute minimum code needed to implement the core functionality?
The companion webwords git repo lives here.
the challenge
Implement webwords functionality in the fewest Python characters possible:
- Accept HTTP requests on port 31337
- Parse keyword and …
The companion webwords git repo lives here.
Webwords now supports 42 programming languages. TimeHexOn assisted with this milestone over 2 days using a code agent tool.
42 languages. Same as the answer to life, the universe, and everything. Coincidence? Probably. But each implementation solves the exact same problem in completely …
Overview
The Godot engine is a powerful, open-source game engine that competes with commercial alternatives like Unity and Unreal. When we set out to analyze its codebase, we discovered it contains approximately 13.13 million lines of code. This analysis provides insights into the languages used and the distribution of …
Introducing SLOP: A Simple Language Open Protocol for Machine Learning Interaction
This post introduces the SLOP project, a community-driven effort to standardize Machine Learning API interactions. I'm Russell (fxhp), and I'm excited to share how this project came together and how you can get involved!
A Community Effort Kicked Off …
Note
This post is a follow-up to our original post published on 2024-10-21. Over the last few months, we've partnered with TDC - the disruptive collective to make cutting-edge Machine Learning models accessible from any device, via our always available model servers to our new bot's for discord, matrix, & web!
Overview …
Hey all I created ai.unturf.com and uncloseai.js over the past two weeks & this post introduces them to make Machine Learning more accessible to everyone.
The Machine Learning service is powered by the model Nous Research's adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic. Our mission is to provide accessible Machine Learning tools …
Important: In my research so far, nobody seems to have a definite answer for how many unique non-overlapping battleship configurations there truely are...
In this blog post, we explore the process of generating all possible configurations of a Battleship game board using Python. Our goal is to efficiently generate a …
As a seasoned Python developer, I've always appreciated the versatility and power of Python. I found out today that when it comes to handling high-volume API requests, CPU performance can be a bottleneck and cause stability issues if not throttled to around 80% utilization. I conducted a performance comparison between …
Merry Christmas & Happy Holidays, Everyone!
My wife prompts students with this fun holiday writing idea:
"If you could gift the world anything, what would it be?"
I love to read responses in the comments!
As for me, I have wonderful news, my dream gift to the world will come true …
tl;dr if you just want something like aws s3 cp cli, try gsutil rsync.
At work one key item of team's sprint is properly utilizing and securing Google Cloud Platform (GCP).
For one of my projects, I'm learning GCP's Object Store called Google Cloud Storage (GCS).
I have prior …
A pre-signed request grants a semi-trusted user temporary access to a private resource.
Let's unpack that statement ...
Pre-signed means, we bless a specific action on a specific private resource for a short duration of time.
Semi-trusted means, we have authenticated the user, but we don't trust them to have full …
Recently at work I transitioned our fleet from Ubuntu 14.04 LTS to Ubuntu 18.04 LTS. During the process I noticed an issue with our newer generation AWS EC2 "nitro" based instance types (specifically c5.2xlarge).
AWS was presenting my root block device as /dev/nvme1n1 and my data …
Each holiday season I find myself drawn to a side passion of mine.
While some build model trains and others create Christmas light shows with synchronized music you'll find me on my sofa where I build, explore, and tinker on my own video game engine.
Maybe the sound of wrapping …
So I've struggled for a while with the best way to properly setup a console script for my SQLAlchemy Pyramid apps.
I use the Pyramid Cookiecutter Alchemy to setup my projects and as such, I do not have a global and thus importable DBSession object. Instead my database session is …
For a long time I have put off DKIM signing email sent from my web services because I couldn't wrap my head around all the indirection Postfix requires to make it work.
Honestly, I put it off for over 5 years...
Today a thought sprung into my head:
"Could I …
Ever since I was an 8 year old boy I have wanted solar. I remember reading about the environment and alternative energy sources in a monthly "socal studies" flyer my school subscribed our classroom to. I questioned, even at my young age, why the world wasn't actively switching over to …
"I work from home" — a phrase I have uttered hundreds of times and is often met with instant amazement, envy, or jokes about pants. My goal for this book is to teach you the hacks I have learned in my career to help you land your dream job. If you …
The companion webwords git repo lives here.
This project shows how to code the same minimal web app called webwords in as many different programming languages as possible. It also provides guides for building and running webwords as a docker image.
what is webwords
A simple web application whose spec …
This blog post assumes you already have:
- a Jenkins master and none or many build servers
- FPM installed on the build servers
- Node.js installed on the build servers
I add jenkins-build.sh in the root of the Node.js code repo:
# example usage: JOB_NAME=example-api BUILD_NUMBER=101 bash jenkins-build …The Pyramid web application framework uses a request object to hold state regarding an inbound HTTP connection. A view must accept a request object as the first argument which makes it always available to our views and templates.
This behavior rocks, but Pyramid makes it even better by allowing us …
Do you have a Pyramid application which authenticates users and uses a signed cookie as a session? Do you want to build a microservice using another framework and allow it to use the same cookie and session? Me too!
First we will review a bit of Pyramid code which describes …
Library work around.
You only need a two lines of code to access package names and versions.
This weekend I finished my first sprint on s3p which is a Python library and CLI application that manages release pipelines on AWS S3. I put a lot of effort into the readme.rst file, so look there for usage and examples.
The main purpose of s3p is to use …
So I'm working with an API (AWS ElastiCache) that offers mandatory pagination of results. I need to get all results, so I took some time to work out this logic.
def combine_results(function, key, marker=0, **kwargs):
"""deal with manditory pagination of AWS result descriptions"""
results = []
while marker != None:
result …
I'm currently refactoring a script that tags AWS resources and I came up with this one liner to generate pretty output. It basically turns {'tag1':'value1','tag2':'value2'} into tag1=value1, tag2=value2. Here is the code:
', '.join(['='.join(key_value) for key_value in {'a':'1','b':'2'}.items() ])
Oh, and …
This article expands on my “Hello World” for Heka blog post. Check that one out first if you are new to Heka.
In this guide we introduce using Heka over the network by utilizing two Hekad processes on localhost. For discussion purposes we name one of the Hekad processes "sender …
I wrote these Salt States to install Mailpile on an Ubuntu host. Fun fact, it took me 20 minutes to write these states and they worked the first time I ran them. Disclaimer - I used a throw away server and wasn't concerned that buckets of packages were installed to the …
This post analyses the FreeNAS 9 code base and discusses the various places users may feel confident to hack on.
FreeNAS uses the following software stack:
- Django
- A Python Web Application Framework which complies with WSGI
- Nginx
- A very fast web server which may act as a reverse proxy server …
Mixed content errors occur because Nginx (the front-end server) communicates to the upstream WSGI server using http. WSGI does not know (or care) about the SSL session between Nginx and the user. The WSGI server will naively generate URIs and serve assets as http.
To fix mixed content errors, we …
Sometimes you only want to see what has changed, and that is OK.
Create a file like this:
filter.py
#!/usr/bin/python
from json import loads
from json import dumps
import fileinput
stdin_lines = [line for line in fileinput.input()]
ret = loads(''.join(stdin_lines))
for minion_id, data in ret.items …
Note: I will update this post as I progress.
So the idea is to use Salt Stack's remote execution to communicate with all nodes and run the Nagios checks and collect the return output instead of using the NRPE client/service protocol. This reduces the number of agents running on …
My tools for creating automatic backups for various systems
I use tar-back in combination with cron to perform regular backups of all localhost filesystems into /archive/fs. I then have a central long term storage server that collects …
Over this holiday season, Christmas and New Years, I took the time to mess with some Game Development. I wrote a demo game engine using Python and SFML. I plan to use this post to track my progress.
Video Evolution Playlist
2014-01-01
As a warning before we dive into things, this post is less of a formal publication and more of a stream of conscience.
My employer newcars.com has allowed the technical staff to host hackathon! Over the past couple weeks I have had quite a few ideas tumbling around in …
As you know from my previous post, I recently deleted LinkPeek.com and after struggling to get it back online, I vowed to start utilizing configuration management. During this exercise, I noticed that the architecture I use in production seems overly complicated.
The current production deployment stack:
- Nginx listen on …
It's about time to learn the difference.
Have you heard about Digital Ocean? They offer a polished user interface, KVM guests with SSD storage, and an API to interact with a cloud of hypervisors. API integration got you down? Don't worry, salt-cloud has already integrated Digital Ocean among it's list of providers! The rest of this post …
During the day I am an ops sys-admin. During the night I am a husband, father of two, and a CEO of a bootstrapped start-up. After launch, my first project was to schedule regular backups of user data and archive off-site. My goal was to create backups but never need …
Pycon 2013 was excellent, in fact it was my first one I have attended.
I found it odd that django and Pyramid had plenty of talks but nobody mentioned tornado.
The only person that brought up tornado was Guido himself, who has been researching and developing async python since December …
Python Lambda functions are very powerful but I often forget how they work or the fun things they do. This post will document how to use a lambda to provide different default arguments to a function.
We will use the human function found in ago.py as an example - because …
Special thanks to David Beitey for supplying ideas and python code for this update!
All changes are backward compatible.
Change log:
- added support for future dates
- added optional past_tense …
What is cache? I define cache as "a saved answer to a question". Caching can speed up an application if a computationally complex question is asked frequently. Instead of the computing the answer over and over, we can use the previously cached answer. This post will present one method of …
I greeted the UPS man in the middle of the street to sign for my new Lenovo ThinkPad T430. Because this was My first brand-new laptop purchase I rationalized the time I spent tracking the package from the factory in China to my hands in Connecticut. Once inside …
I just packaged and published a couple of python modules to pypi:
To install them, run:
Install:
pip install --upgrade ago miniuri
If you want to view their source code, look here:
I hope you enjoy them.
I name my virtualenv 'virtpy'. Is there a standard name being used out there?
Maybe we can come to a consensus as a standard name? Please feel free to post your virtualenv names here as a sort of poll.
I recently needed to monitor an HTTPS API for response time and availability. At first I planned to just use the Nagios check_http command.
After gathering more requirements I learned that the API was protected by client certificate authentication. After some research I quickly found that no solution existed to …
introduction and background
A monoalphabetic cipher uses fixed substitution over the entire message.
You can build a monoalphabetic cipher using a Python dictionary, like so:
monoalpha_cipher = {
'a': 'm',
'b': 'n',
'c': 'b',
'd': 'v',
'e': 'c',
'f': 'x',
'g': 'z',
'h': 'a',
'i': 's',
'j': 'd',
'k': 'f',
'l': 'g …Why does a Hash provide better message integrity then an Internet checksum?
Hash function and checksum function both return a value which cannot be reversed.
How many keys are involved for symmetric key encryption? How about public key encryption?
Suppose you have N people who want to communicate with each other using symmetric keys. All communication between any two people, i and j, is visible to group N. Only person i and person j can …
tldr; When faced with pivoting or killing a project, take a good look at all possible by-products. Don't miss the hidden gem in a project's slag!
Last year I built yoursitemakesmebarf.com, a novelty web application which allowed anonymous link submission. The software would automatically take screenshots of submitted links …
Note: This post shows an old way to modify the request object. I discuss a new way in my Pyramid add_request_method post.
Imagine that you have just built a wiki, blog, or cms web application that will be deployed multiple times by different people. You would like to provide the …
Some operating systems depend on a specific version of python to function properly. For example, Yum on Redhat Enterprise Linux 5 (RHEL5) depends on python 2.4.3. This version of python lacks support from many utilities and 3rd party libraries. This guide will cover installing an alternative python instance …
Download all the images from a URI with this simple tool!
Please listen to my story before jumping to conclusions.
backup your virtual maching guests.
I have placed bread.py, a python breadcrumb module, into the public domain.
The bread object accepts a url string and grants access to the url crumbs (parts) or url links (list of hrefs to each crumb).
Tutorial: Add a Breadcrumb Subscriber to a Pyramid project using 4 simple steps …