RSSAmplifier

Blog

rostrum.blog

Realised showerthoughts about R and Python mostly

rostrum.blogRSS feed ↗20 posts

Latest posts

Get the gist of jot

tl;dr My mini note-taking CLI tool jot can now back-up jottings to a GitHub gist , thanks to GitHub’s gh CLI . Always Be Jotting Last time I told you I’ve been using jot for months . It’s my opinionated CLI tool to record stuff that I can reflect on later. I just type something like jot "promoted synergy" in the terminal and move on. And now there’s 1200 jottings. But there’s only one text file. A…

Eating dogfood 1000 times

tl;dr I’ve now used my CLI tool jot nearly 1200 times. It’s been a useful low-friction way to remember what I’ve been up to for later reflection. One-shot jot I’ve written about jot before : my very simple and opinionated Python command-line tool for jotting down little timestamped notes to myself. In an open terminal I can just: jot "put one of the new coversheets on the TPS reports" And it gets…

Shaka, when the walls fell

Temba, his arms wide. tl;dr I messed around again with tyle , my Python-CLI roguelike-like. Now it has godlike destruction and creation. The beast at Tanagra Before now, you could install tyle 1 and type tyle into your terminal to generate a tile-grid with a player, surrounded by floor ( . ) and wall ( # ) tiles, as well as ‘fog of war’ ( ? ) beyond a certain distance. ? ? ? ? ? ? ? ? ? ? ? ? ? ?…

Fog of war

Haven’t the foggiest about this terrain. tl;dr tyle , my Python-CLI roguelike-like, now has ‘fog of war’. Grid and bare it You may remember my tyle concept : the beginnings of an in-terminal tile-based roguelike to help me improve my Python CLI skills. You could install the development version like uv tool install git+https://github.com/matt-dray/tyle.git and initiate by typing tyle in a terminal.…

A tiny CLI weather {Rapp}ort

tl;dr The {weva} R package contains a titchy command-line interface (CLI) to present an opinionated micro-weather report. Building some {Rapp}ort I’m spending more time in the terminal. So I’ve been making little CLI concepts: jot for recording notes pet for a persistent cyberpet tyle for a roguelike-like These are all written in Python, which seems a more natural choice for this purpose than R 1…

Text hex logos with {hext}

________ / \ / he \ \ xt / \________/ tl;dr The {hext} R package helps you make text-based hex logos. A simple mind Call me a normie, but I am an R-hex-logo enjoyer. I took a step further last year to create my own (limited) hex-making package, {gex} , which I’ve written about before 1 . The goal of {gex} was to keep things simple: minimal dependencies, only grid graphics 2 . But I was too…

A roguelike-like with tyle

tl;dr I’m writing tyle to help in my quest to slay Python. Very early access I’ve started ‘tyle’, a concept Python CLI that contains the foundations for a little in-terminal tile- and turn-based game. The rudimentary tool is available to install from GitHub (v0.1.0 at time of writing). I like uv for this job 1 : uv tool install git+https://github.com/matt-dray/tyle.git Then you can start a ‘game’…

Correcting a fib about jot

tl;dr jot now has --where , --version , --from and --to options. Whoops Me, lying, the last time I posted about jot : It’s basically feature-complete from my perspective. Reminder: jot is my simple little Python CLI for recording timestamped notes to a text file. In fact, now you can: combine options search between specific dates quickly get tool meta-information And? Options --search and --list (…

How the tables turned

tl;dr {a11ytables} is dead, long live {aftables} . Regret? A while back I presented ‘Panic! In The Toolshed’ about how public-sector data scientists should share code to prevent wheel reinvention 1 . I gave the example of my {a11ytables} R package, which has helped to publish spreadsheets of official statistics that follow best practices . It got harder to find time to maintain the package. I…

={ o x o}=

Yes, my true calling is ASCII art. tl;dr I’ve made pet : a (very simple) Python tool to look after a persistent cyberpet on your command line. Adopt I made this for learning purposes, but if you did want to try it: Install uv if you somehow haven’t already. From your terminal run uv tool install git+https://github.com/matt-dray/pet.git . Run pet . Take responsibility. Pet the kitty Running pet…

Abandon P*werpoint for the command line

tl;dr You can use Python’s rich library to make super minimal presentations at the command line. Sliding scale Recently, conference organisers forced a colleague to convert their Quarto presentation to P*werPoint. Unconscionable. Proprietary software shouldn’t get in the way of good ideas, maaan. Actually, if your message is good enough 1 then why waste time rendering anything? Why not just print…

Keeping jot’s options open

tl;dr I’ve added a small set of options to jot , my minimal opinionated Python command-line tool that helps me remember stuff. Forget me jot You may recall I made a Python CLI tool called jot to help me record work tasks. I go to my terminal and type jot "corrected a typo" and it gets added to a simple text file with a timestamp. To give it a go, I recommend installing uv and then install from…

Jotting down some indifferent vibes

tl;dr I’ve started a minimal opinionated Python command-line tool to help me remember stuff. It’s called jot . Jot or not This tool is for me 1 , but if you want to install it, I recommend you install uv first . Then run uv tool install git+https://github.com/matt-dray/jot from a terminal to install jot (currently v0.2.1) from GitHub . Open a terminal and write your first jotting like jot…

A bank holiday to honour uv?

tl;dr You can use uv to help turn a Python 1 script into a self-contained executable. Useful for really important stuff, like… discovering the next public holiday from your terminal? This is my own attempt at something I saw Rodrigo do 2 . Worth a bunt The UK government maintains an API catalogue . A very (very) simple API example is the bank-holidays API run by the Government Digital Service…

Dependency-light hex stickers with {gex}

Would you buy this as a tasteful wallpaper? tl;dr The package {hexbase} has been improved and renamed {gex} . It’s no longer ‘dependency free’, but has a goal of being ‘gridverse’ only. Sellout! Enter the gecko In my last post I wrote about {hexbase} : a dependency-free hex-logo builder, which was helping me learn the basics of R’s grid-graphics system. Now the package goal is to stay…

Dependency-free hex stickers with {hexbase}

Graphic design is my passion. tl;dr I’ve made {hexbase} , a simple package to create hex stickers in R. The twist: it relies only on base R. Note The package has been renamed to {gex} (loosely ‘grid’ + ‘hex’) and is now, ahem, ‘dependency-light’ to take advantage of other ‘gridverse’ packages (grid-graphics expansion packages made by Prof Murrell and others). The API for {gex} has also been…

A roguelike sprite randomiser with Shiny

tl;dr I made a quick Shiny app that generates randomised characters for your next roguelike game, made with parts designed by Kenney . Standing on the shoulders of Kenney Kenney makes free ( CC0 ) assets for videogames, like the 16×16-pixel sprites I used in a previous post , where you could move a little character move around a procedural forest glade while being chased by a mouse. Kenney also…

Deploy a Shiny app to itch.io

Graphic design is my passion. tl;dr As a test, I uploaded an R Shiny app to itch.io , which is a platform for sharing indie games. It worked . Scratching an itch.io Where can you host your Shiny app for free? Typical options are services like shinyapps.io or Connect Cloud by Posit. I have another idea: itch.io is a web-based platform known for hosting indie videogames, assets and other…

{sortable} card games in {shiny}

You sunk my battleship! tl;dr Use {sortable} in a {shiny} app to build card games, maybe? I mocked up a demo and made it available on the web with {shinylive} . Balatro LocalThunk 1 —the anonymous creator of Balatro , the hit poker-inspired roguelike videogame 2 —revealed recently that 11,000 years of gameplay have been sunk into the game. The average productivity of the universe has continued to…

Little pixel fun zone

Fast blue hedgehog man in Little Pixel Fun Zone, Act 1 (original art by the author). tl;dr I made a simple toy pixel-editor for the browser , which helped me learn about reacting to user clicks and implementing undo/redo in {shiny}. Just browsing My {pixeltrix} package is a local pixel editor you can run from the R console 1 . It’s intentionally simple. You start a graphics device and click the…