tool

sqlite-vec is a vector search extension for SQLite with install options for Node.js, Python, Rust, rqlite and more. I previously used SQLite to store embeddings when investigating the viability of using a text embedding model to recommend related posts on the blog. However, back then I'd calculated the cosine similarity between each embedding which is compute intensive. Using this extension would allow me to dynamically retrieve the distance between an embedding and the embeddings stored in the database.

The extension can be compiled on various platforms but currently the PyPI package does not have an ARM release.

I also encountered an error when trying to retrieve distances for embeddings: "OperationalError: A LIMIT or 'k = ?' constraint is required on vec0 knn queries". I wasn't alone in this the workaround is to use k instead of LIMIT in the query. In the coming few weeks I'll be playing around with this extension some more, looks very promising so far.

Read from link

The author of TheCoffeeMachine gives a detailed walkthrough of how to add maps to a hugo site using uMap, which allows you to create maps based on OpenStreetMap (OSM) layers, and a shortcode that allows you to embed them. This is a belated TIL as I've already used this a few times, most recently for my post on the Tri-Country Train.

A rough overview of the steps involves signing up for and using uMap. This will allow you to create a map, set markers, and make the adjustments you need on top of existing OSM layer. From here using hanzei's hugo-component-osm theme you can embed the map into the hugo site using a shortcode. This includes passing in any parameters that uMap supports like coordinates to center the map and the zoom level.

I recommend reading the linked post for detailed steps. I needed to take this further and include a class within the iframe that's rendered on the page to able to style it with CSS. Unable to find a way to do this I forked and made my own addition. The pull request was created to the original repository if hanzei would like to include the changes. Here's a sample of what it looks like:

{< openstreetmap mapName="usa-train-lines-using-stadler-multiple-units_1100675" coordX="40.0731" coordY="-74.8924" scale="10" class="alignright" >}}

Read from link

This open source tool, discovered via 82MHz, fetches an authors Mastodon thread to be rendered as an HTML page or to be exported as a Markdown file. masto-thread-renderer can be self-hosted and the author has hosted version available as well at thread.choomba.one.

I've done something very similar by creating a Python script that can fetch a toots JSON payload via Mastodon's public API. The JSON file can then be used in a Hugo shortcode to display it on a site. This approach including the Python code was adapted from Brandon Rozek's approach detailed on their blog.

Threads from Mastodon on my blog are tagged as "toots". Here's an example called Riding the Elizabeth Line! from the blog and the same thread on masto-thread-renderer.

Read from link

Based on OpenStreetMap data this map displays all country borders along with the 10,000 most populous cities. The file itself comes down to 628KB, which is impressive, allowing it to be cached on the client device. Different variants of this map are available with no country borders or fewer cities, to bring the overall size down. This can be used as a base map or a fallback map with leaflet. What I found interesting was looking into the code and seeing how the land areas were plotted and drawn, with the lakes then drawn above that and finally the cities after the lakes.

After discovering this, I've taken the opportunity to use it on my rail page to plot all the locations where I've filmed a video. At the time of posting this, it hasnt reached its final form yet but I'll be working on it over the coming days.

Read from link

j6b72ss article covers the precise reasons why I stayed away from Traefik thinking of it as a container-first proxy. The author, however, explores how Traefik is used in their environment with static binaries. Over the last few years Ive moved towards containerisation, so maybe Traefik might even be a better fit over using Nginx for everything regardless.

The HN comments have some interesting discussions on how this compares to Caddy for containers, most leaning towards Caddy.

One of the HN comments from johanbcn pointed out an interesting documentation framework called Diátaxis which I will take a look at.

Read from link

While troubleshooting an RSS client recently, I needed an RSS feed with a steady stream of items. After some searching, I landed on Lorem RSS, an open-source tool built by Michael Bertolacci used to generate RSS items at varying frequencies through different feeds.

Read from link