@readwithai - X - blog - machine-aided reading
I like the command line; I like tools written in the “unix philosophy”; I like creating general tools that do part of a task; I like using a computer efficiently.
I prefer to reuse other tools that people have made, here are some tools that I use. Of course, all of this is in the name of my overarching project of making tools for reading, research and agency.
This is a listing of some tools I have written while serving my whimsy and trying to be efficient at using computers.
Some command-line tools I have made
Web tools
clixpath is a command-line tool to extract elements identified by Xpaths in XML and HTML documents.
curlfire allows you to use firefox cookies from the command line. This can be useful to collection information from pages that use cookies - for example together with clixpath.
profile-fox can be used to open new tabs in a particular firefox profile.
brave-bookmarks let’s you access bookmarks from the Brave browser from the command-line.
brave-history let’s you query your history in Brave browser from the command-line
notionshell is a command line that can used to update a notion page.
Code-hosting statistics
I have written various tools to track statistics related to code hosting sites.
gh-views fetches information about the number of pages views and clones for a github repository retaining history information (github only provides a 14 day window.)
gh-star-timeline fetches and maintains a historic timeline of stars on a github repo or all your repositories. I like to use it to see how many new stars I got each day, or where the stars can from.
obsidian-plugin-stats fetches, maintains and queries a timeseries of the number of downloads for an Obsidian plugin.
pypi-stats-timeline fetches, maintains and queries a timeseries of download statistics from the python package index PyPI used by pip.
Shell tools
tmux-result returns the result of the last command by parsing tmux output, if you are using tmux.
zshnip is a zsh snippet framework that I made (and use almost continually) to type less, make fewer mistakes, and be more happy by defining snippets as I go while I use the command line.
env-subset is a swiss-army knife of running commands with a different set of environments written in response to the limits of the env command-line tool
kitty-plotnine (k-nine) is a tool to plot directly in terminals which support the kitty Graphics Terminal Protocol such as kitty, wezterm, konsole (or ghostty - which you shouldn’t use) with shell one-liners.
GUI autoatmion
clipboard-many-files is a command-line tool to place multiple files on the clipboard.
x-open-point will open an application provided on the command line at a particular location and size on the screen.
i3wm tools
I used to use the i3 tiling window manager and wrote a few tools for this. I am mostly using KDE at the moment.
JSON tools
json-wmctrl is command-line tool to display information about Linux X windows in a JSON format that can be searched with jq with other programs. It is named after the program wmctrl that performs similarly functionality but in a less machine readable way. It provides an option to cycle windows
json-xwininfo gets information about a window in X11 from the command-line.
json-leaves reads an object in JSON and outputs all of the values within it along with a “path” to the value suitable for grepping. This can then used in jq, Python or JavaScript. This has lots of flags for varying the output
short_schema is a tool to understand the shape of JSON data without having to read it by creating a easily readable schema of the JSON data with the help of GenSON.
If this is the sort of stuff you find interesting. You might like to follow me on github, or on X where I post about such things. You might also like to read the technical miscellany section of my blog.
Also, let me introduce myself - I’m readwithai when not creating productivity tools I’m interested in agency, research and reading and making tools related to this - sometimes using Obsidian. If this is interested in you might like to read my blog.