==== Phlog archive ================================================
📁Back to home
📄2021-07-31 - Diagrams to explain niche complementarity
📄2021-07-15 - BibLaTeX reference formatting
📄2021-07-10 - tmux popup windows for quickly launching scripts
📄2021-07-05 - Scraping museum catalogues
📄2021-06-25 - Network graph of R package usage
📄2021-06-23 - Interview presentation for SECO post-doc position
📄2021-06-17 - ASCII/UTF8 terrestrial carbon cycle diagram
📄2021-06-03 - A blog post on the Edinburgh Teaching Award
📄2021-06-01 - Diagrams to summarise Biodiversity - Ecosystem Function
📄2021-05-20 - compInd: An R package for forest tree-tree competition
📄2021-05-15 - Using nnn.vim as a filepicker for neomutt attachments
📄2021-05-10 - Calculating the winkelmass in R
📄2021-05-05 - FZF in vim and bash
📄2021-04-30 - ASCII charts in R
📄2021-04-25 - Polygon SVG diagrams
📄2021-04-20 - Pretty pictures from Terrestrial LiDAR
📄2021-04-20 - Reading on disc pasture meters
📄2021-04-15 - Empirical Cumulative Density Function (ECDF) plots
📄2021-04-10 - Learning Julia
📄2021-04-05 - Flatbreads
📄2021-03-30 - Modelling stem diameter class distribution with Weibull
📄2021-03-25 - Planting 10 acres of woodland
📄2021-03-20 - Splitting a large woodland survey plot into 1 ha subdiv
📄2021-03-15 - Fixing a stool
📄2021-03-10 - RSS feeds for scientific journals
📄2021-03-01 - Microsoft Azure Translator API call in R
📄2021-02-25 - LaTeX plot census forms
📄2021-01-20 - Making sense of the ODK ecosystem
📄2021-02-15 - Dynamic lists from user-added choices within repeats an
📄2021-02-05 - What XLSForm+ODK cannot do
📄2021-01-25 - Playfair cipher in R
📄2021-01-15 - Estimating grassy volume from terrestrial LiDAR
📄2021-01-05 - Pandoc LaTeX shopping list template
📄2021-01-01 - Estimating canopy rugosity from terrestrial LiDAR
📄2020-12-30 - Extracting a vertical height profile from terrestrial L
📄2020-12-20 - Measuring canopy gap fraction from point clouds
📄2020-12-15 - Processing Terrestrial LiDAR with PDAL
📄2020-12-10 - Tiling wallpapers
📄2020-11-18 - Writing legibly in a field notebook
📄2020-11-08 - Querying the SoilGrids REST API
📄2020-10-31 - Making abundance matrices
📄2020-10-25 - Random effects plots
📄2020-10-17 - Scripting qutebrowser to grab papers with scidownl
📄2020-10-10 - Propagating basil
📄2020-10-05 - Comparing which simulated distribution is closest to th
📄2020-09-15 - Making a LaTeX thesis template
📄2020-09-10 - Making playlists for cmus
📄2020-09-05 - Display line segments with given slope in ggplot2
📄2020-08-24 - Sort and filter .bib files
📄2020-08-14 - Email about estimating competition with basal area
📄2020-08-08 - Curl-able contact card
📄2020-07-22 - Exporting draw.io images to LaTeX
📄2020-07-15 - How I cast Youtube videos to the TV
📄2020-07-10 - A weekend of consultations on woodland planting
📄2020-07-05 - Pretty correlation matrices with ggplot
📄2020-06-30 - Vim HTML img tag to markdown
📄2020-06-25 - Questions about operational IT for research
📄2020-06-15 - FZF script for searching a lookup table
📄2020-06-10 - Flow diagram for data cleaning process
📄2020-06-05 - An R function to split species names
📄2020-05-30 - Writing R package documentation
📄2020-05-25 - An email which tries to make sense of the RMarkdown eco
📄2020-05-20 - Adventures in tweaking RMarkdown
📄2020-05-15 - Rendering list structure in R
📄2020-05-10 - Snippets to tweak macOS Finder.app
📄2020-05-05 - Thoughts on the publication process
📄2020-04-30 - Shiny app to visualise scaled planetary orbits on world
📄2020-04-25 - Compiling a single master.tex from a modular document
📄2020-03-04 - Waiting for permits
📄2020-04-10 - Kit list for tropical fieldwork
📄2020-04-05 - Comparison of F-droid notetaking apps on Android
📄2020-03-30 - Too many software options for group working
📄2020-03-25 - Shell script for internet radio
📄2020-03-20 - Low bandwidth internet browsing
📄2020-03-10 - My vimdiff setup
📄2020-03-05 - Track changes in LaTeX for reviewer comments
📄2020-02-25 - Charging the laser scanner off a generator
📄2020-02-16 - Attaching threaded bar to rebar
📄2020-01-20 - Automate CSV typesetting for plot data sheets
📄2020-01-15 - An email about ordination and environmental fits
📄2020-01-07 - R functions for creating LaTeX variables
📄2019-12-20 - Workflow for writing an academic paper
📄2019-12-05 - Constructing diversity profiles with Hill numbers
📄2019-11-25 - Creating a personal library catalogue
📄2019-11-20 - Making a Gopherhole
📄2019-11-15 - Making better ggiNEXT plots
📄2019-11-10 - Making a LaTeX Beamer template
📄2019-11-05 - Shell script to get wifi password in macOS
📄2019-10-30 - UltiSnips cheatsheet
📄2019-10-25 - urlview to easily handle URLs in the terminal
📄2019-10-20 - Scraping instagram without an account
📄2019-10-15 - Writing ggplot2 grobs in a loop to maintain data values
📄2019-10-10 - A Pandoc template for converting markdown letters to La
📄2019-10-05 - Custom .sty files in LaTeX
📄2019-09-30 - Miscellaneous LaTeX snippets
📄2019-09-21 - Notes on Poisson regression
📄2019-09-12 - Analysing BibTeX files in R
📄2019-09-05 - Notes on diversity indices
📄2019-08-25 - My spot in Summer
📄2019-08-20 - Writing non-standard notation in ggplot2
📄2019-08-08 - Writing a Makefile for LaTeX and R
📄2019-08-07 - Customising plots drawn to estimate pairwise marginal m
📄2019-07-31 - Vim fold expression for BibTeX files
📄2019-07-25 - Making lists
📄2019-07-12 - Plotting a semi-variogram fit in ggplot2
📄2019-07-15 - Marking laser scanning targets to aid processing
📄2019-07-10 - An email about setting up 1 Ha plots
📄2019-07-05 - Compressing images for this website
📄2019-06-25 - Fetching mail with offlineimap within Mutt
📄2019-06-10 - The Mackenzie Dendrometer
📄2019-06-05 - Hotter than average map
📄2019-05-30 - Poster for Postgraduate Research Conference
📄2019-05-28 - Talk at Remote Sensing of Vegetation meeting
📄2019-05-25 - Task management macros in Vim
📄2019-05-20 - Fewer geocaches
📄2019-05-17 - Plain text data entry in the terminal
📄2019-05-15 - Managing receipts on fieldwork
📄2019-05-10 - Edinburgh Teaching Award
📄2019-05-05 - Taking notes in the field
📄2019-04-30 - A 20 cm measuring stick
📄2019-04-25 - Thoughts on natural surroundings in Bicuar National Par
📄2019-04-20 - Angolan matchbox designs
📄2019-04-15 - Fermented drinks and exotic food in Huila province Ango
📄2019-04-10 - Ubuntu network timeout
📄2019-04-05 - DIY disc pasture meter in action
📄2019-03-15 - Exporting a list of R packages to install on a new mach
📄2019-02-28 - Python conda virtual environment in bash prompt
📄2019-02-20 - Making inset maps for publication
📄2019-02-15 - Using vifm to attach files to emails in Mutt
📄2019-02-05 - DIY disc pasture meter
📄2019-01-29 - Using the LaTeX 'float' package with Pandoc
📄2019-01-23 - Diagrams for tree measurements
📄2019-01-13 - Weekend walk on the Southern Upland Way and John Muir L
📄2019-01-05 - Using notmuch to search email in Mutt
📄2018-12-29 - Putting a Linux distro on a USB, from a Mac
📄2018-12-23 - Converting Alpine addressbook to Mutt aliases
📄2018-12-15 - Updated Mutt config, multiple accounts
📄2018-12-05 - Calculating Vapour Pressure Deficit and other atmospher
📄2018-12-01 - Converting Qutebrowser bookmarks to w3m bookmarks
📄2018-11-25 - A better system for referencing
📄2018-11-20 - Calculating NDVI from Sentinel 2 images for Bicuar Nati
📄2018-11-15 - How much miombo is in each country
📄2018-11-06 - Making cider, bottling update
📄2018-11-02 - My spot in the woods in Autumn
📄2018-10-25 - Fixing up an Emmelle Diamond 5 bike
📄2018-10-19 - What I carry in my bag everyday
📄2018-10-15 - An R function to fill abbreviated genus names in a list
📄2018-10-10 - I made a mistake with cropping fisheye photos to a fiel
📄2018-10-02 - Hemispherical photography - should the focus be set to
📄2018-09-30 - Comparing forest canopy measurements with a phone lens
📄2018-09-29 - Making Cider
📄2018-09-24 - Update on plant growth
📄2018-09-20 - Figuring out Sums of Squares in ANOVA
📄2018-09-12 - A method to crop hemispherical images to a field of vie
📄2018-09-07 - A guide about processing hemispherical photos
📄2018-09-02 - An email about hemispherical photography
📄2018-08-31 - Ideas for a DIY bike chain tensioner
📄2018-08-25 - Foraging Chicken of the Woods
📄2018-08-20 - Pandoc CSS templates
📄2018-08-20 - Spoon carving trees in the SEOSAW network
📄2018-08-12 - Converting a bank .csv statement to ledger
📄2018-08-10 - Qutebrowser setup
📄2018-08-06 - VLC from the command line on macOS
📄2018-08-02 - Generating a static site using pandoc
📄2018-07-25 - Rebuilding a bike
📄2018-07-15 - Gmail on macOS command line: neomutt + offlineimap + no
📄2018-07-10 - Making a minimal wallet
📄2018-07-08 - Making a chopping board
📄2018-07-01 - Making arty renders of Belize's rivers
📄2018-06-25 - Updating pypodd to download most recent
📄2018-06-20 - Knife wear and tear
📄2018-06-10 - Hammock setup
📄2018-05-05 - Foraging and making wild garlic pesto
📄2018-05-01 - Converting stem locations in a square plot to X Y metre
📄2018-04-28 - Mapping GPX tracks from AAT for Android, in R
📄2018-04-25 - A workshop on Git for version control
📄2018-04-18 - Making a geoJSON powered Leaflet map
📄2018-04-15 - New hemispherical photography equipment
📄2018-04-07 - Dirty Weekenders Kitchen Table Talk
📄2018-04-07 - Updating pypodd to run .opml files
📄2018-04-05 - Kalanchoe propagation
📄2018-03-26 - I made a command line podcast grabber in Python
📄2018-03-25 - Spring woodworking in my spot
📄2018-03-22 - How many trees have I measured?
📄2018-03-02 - Grievances with email clients and the state of email us
📄2018-02-21 - Expedition food
📄2018-02-21 - How to properly roll and store DBH tape measure
📄2018-01-11 - Replacing the lightline.vim plugin with a custom status
📄2017-12-10 - What are the possible uses for local webpages in a shar
📄2017-12-01 - Elephants affect the spatial distribution of savannah t
📄2017-11-01 - Producing Gitbooks
📄2017-11-01 - Methods of writing and collaboration
📄2017-11-01 - My workflow, tmux, vim, etc.
📄2017-09-15 - Cycling from Bridge of Allan to Blackford
📄2017-09-25 - Initial PhD ideas
📄2017-10-12 - Automating imageJ leaf area processing
📄2017-09-27 - Using R to locate spatial data points inside map polygo
📄2017-09-27 - Making Coding Club logos in R
📄2017-09-25 - Reconditioning an old axe
📄2017-09-22 - Walking the Great Glen Way
📄2017-09-16 - Visualising Survey Data with Likert Scales
📄2017-09-15 - Brewing Plum Wine
📄2017-09-10 - Making Logos for Coding Club
📄2017-09-10 - Growing micro-greens on cotton wool
📄2017-09-05 - Mapping The Vegetation and Climate of Africa in R
📄2017-09-01 - Analysing Ledger Personal Accounting Data Using R
📄2017-08-20 - Fire experiments in the Congo
📄2017-08-14 - Constructing a Useful Bash Prompt
📄2017-07-20 - Configuring Ranger, a File Manager for macOS, with rifl
📄2017-02-10 - Interpretation panel at Roslin Glen