Browsing your local git checkout of homebrew-core
The [homebrew-core](https://github.com/Homebrew/homebrew-core) repository contains all of the default formulas for Homebrew.
117 words
|
1 minute
OpenSearch NFS Mount Configuration for Cluster Data Migration
A comprehensive guide for configuring NFS mounts to facilitate OpenSearch data migration across cluster nodes, including step-by-step instructions, troubleshooting tips, and security considerations.
753 words
|
4 minutes
Remote Windows System Monitoring from Linux Using WMI and winexe
A comprehensive guide to remotely monitoring and managing Windows systems from Linux using winexe, wmic, and WQL queries with practical examples and troubleshooting tips.
1047 words
|
5 minutes
SQLite triggers
I wrote a Python script, [triggers.py](https://github.com/simonw/til/blob/main/sqlite/triggers.py), to help me understand what data is available to...
1454 words
|
7 minutes
Related content with SQLite FTS and a Datasette template function
Today I added "related TILs" to this TIL website - so each TIL now shows five related TILs at the bottom of the page.
864 words
|
4 minutes
Monitoring Windows Systems Remotely Through WMI with Icinga
A comprehensive guide to setting up remote Windows monitoring using WMI and the check_wmi_plus plugin with Icinga, without requiring an agent on the Windows servers.
1086 words
|
5 minutes
Understanding Wazuh Data Analysis and Rule Engine
A comprehensive technical deep-dive into Wazuh's data analysis process, rule engine, and ruleset configuration, with detailed diagrams explaining how logs are collected, decoded, and matched against rules.
1307 words
|
7 minutes
Wazuh Log Collection and Transmission - An In-Depth Technical Guide
A comprehensive technical examination of how Wazuh collects, processes, compresses, and securely transmits logs from agents to the manager, including architecture diagrams and code-level insights.
1359 words
|
7 minutes
OpenSearch/Wazuh Indexer Setup and Management Guide - 2025 Edition
A comprehensive guide for setting up, configuring, and managing an OpenSearch cluster that serves as a Wazuh indexer, including installation, backup procedures, performance tuning, and enterprise health monitoring.
1800 words
|
9 minutes
Writing a CLI utility that is also a Datasette plugin
I'm working on [dclient](https://github.com/simonw/dclient), a CLI tool for interacting with Datasette instances via the Datasette API.
307 words
|
2 minutes
Show the timezone for datetimes in the Django admin
Django supports storing dates in a database as UTC but displaying them in some other timezone - which is good. But... by default datetimes are show...
387 words
|
2 minutes
Comparing VMware Disk Provisioning Types - Which One Should You Choose?
A detailed comparison of VMware's disk provisioning options - Thin Provisioned, Thick Provisioned Lazily Zeroed, and Thick Provisioned Eagerly Zeroed - to help you choose the right option for your workloads.
741 words
|
4 minutes
CIS Benchmark-Aligned Partitioning Scheme for Rocky Linux 9.5
A comprehensive guide to creating a secure, CIS Benchmark-compliant partitioning scheme for Rocky Linux 9.5 installations with 400 GiB of storage.
663 words
|
3 minutes
Generated a summary of nested JSON data
I was trying to figure out the shape of the JSON object from https://github.com/simonw/coronavirus-data-gov-archive/blob/master/data_latest.json?ra...
1945 words
|
10 minutes
Annotated explanation of David Beazley's dataklasses
David Beazley [on Twitter](https://twitter.com/dabeaz/status/1472742536649351173):
1645 words
|
8 minutes
Wazuh Admin API Authentication Guide
A comprehensive guide for authenticating with the Wazuh API and creating admin users with elevated privileges for effective security management.
448 words
|
2 minutes
Formatting thousands in Jinja
2024-04-24
Here's how to format a number in Jinja with commas for thousands, without needing any custom filters or template functions:
64 words
|
1 minute
Skipping a GitHub Actions step without failing
I wanted to have a GitHub Action step run that might fail, but if it failed the rest of the steps should still execute and the overall run should b...
140 words
|
1 minute
Analyzing Google Cloud spend with Datasette
Google Cloud provide extremely finely grained billing, but you need to access it through BigQuery which I find quite inconvenient.
317 words
|
2 minutes
Using Tesseract.js to OCR every image on a page
Pasting this code into a DevTools console should load [Tesseract.js](https://github.com/naptha/tesseract.js) from a CDN, loop through every image l...
170 words
|
1 minute
Pixel editing a favicon with Pixelmator
I wanted to [add a favicon](https://github.com/simonw/datasette/issues/1603) to Datasette, using a PNG image served from `/favicon.ico` as suggeste...
310 words
|
2 minutes
Migrating a GitHub wiki from one repository to another
I figured out how to migrate a [GitHub wiki](https://docs.github.com/en/communities/documenting-your-project-with-wikis/about-wikis) (public or pri...
123 words
|
1 minute
Using nginx to proxy to a Unix domain socket
I figured this out while adding `--uds` support to Datasette in [#1388](https://github.com/simonw/datasette/issues/1388). Save the following in `ng...
120 words
|
1 minute
The simplest recursive CTE
I found this really simple recursive CTE useful for ensuring I understood how to write recursive CTEs.
229 words
|
1 minute