==== Phlog archive ================================================
(DIR) Back to home
(TXT) - Making the best woody biomass reference plot ever
(TXT) - R package to access the World Flora Online GraphQL API
(TXT) - What determines which side of the bed I sleep on?
(TXT) - Bike tag
(TXT) - Filling gaps in plot coverage across a landscape based on
(TXT) - Toggle nvim-cmp keybinding
(TXT) - Prototype taxonomic name checking function for SEOSAW
(TXT) - Predicting forest tree stem abundance in unsampled size
(TXT) - Planning cycle routes in Washington DC
(TXT) - Gathering data on plant growth form for a regional species
(TXT) - Job talk for GEO-TREES post-doc
(TXT) - Leaf trait sampling protocol for SECO
(TXT) - Comparison of Mo et al. (2024) global wood density with
(TXT) - GPX files for Edinburgh cycle loops
(TXT) - Bash script to download audio from Youtube
(TXT) - R function to extract raster data
(TXT) - Processing bike ride data from Fitotrack Android app
(TXT) - Converting stem locations from lat-long to XY coordinates
(TXT) - An email about resprouting in the SEOSAW database
(TXT) - Definitions of drylands
(TXT) - Methods to establish square vegetation monitoring plots
(TXT) - Raspberry Pi home server
(TXT) - Scraping plot locations from the ForestPlots.net web map
(TXT) - tmux grouped sessions
(TXT) - SEOSAW growth rates workshop
(TXT) - Refurbishing my bike
(TXT) - Excel Scottish Land Tax calculator
(TXT) - Geo-referenced Teixeira (1968) Bicuar National Park
(TXT) - An email about estimating productivity
(TXT) - R functions to download data from KoboToolbox
(TXT) - Vegetation map of Bicuar National Park - Teixeira 1968
(TXT) - Presentations for lectureship interview
(TXT) - Blog post on fieldwork in Ongava Game Reserve
(TXT) - Importing data layers into Avenza Maps Android app
(TXT) - Yoga routine for fieldwork
(TXT) - Fieldwork in Ongava Game Reserve
(TXT) - Fieldwork bumbag
(TXT) - Command line tools I'd like to use but can't
(TXT) - Shell script to extract colours from macOS Terminal.app
(TXT) - R function to find nearest named colour
(TXT) - CMUS colour scheme and persistent settings
(TXT) - Cider making
(TXT) - `BIOMASS::getWoodDensity()` description
(TXT) - Low bandwidth radio
(TXT) - Shiny app to explore climate space of SEOSAW region
(TXT) - Comparing coordinates of tree stems collected with GPS or
(TXT) - Tracking meals for a year
(TXT) - Using `any()` with `ifelse()` and `group_by()`
(TXT) - Todo lists in Vim, syntax highlighting
(TXT) - PhD thesis
(TXT) - Voronoi tessellation to measure tree spatial distribution
(TXT) - Starting a repeat census of the New Wood
(TXT) - Guide for analysing forest canopy photos
(TXT) - Measuring stick for DBH measurements
(TXT) - Fieldwork in Namibia
(TXT) - Building adjustable tree mounts for camera traps
(TXT) - Thoughts on setting up permanent vegetation monitoring plots
(TXT) - Omajowa mushrooms
(TXT) - Ecology projects and acronyms
(TXT) - Food on New Year's Eve
(TXT) - Atom notebooks
(TXT) - Making bark thickness punches
(TXT) - Pros and cons of conducting ecological fieldwork with ODK
(TXT) - Processing data from the TRY traits database
(TXT) - Why big square vegetation plots are best
(TXT) - First setup for nvim-lsp with nvim-cmp
(TXT) - SEOSAW plot metadata Shiny app
(TXT) - Minimum bounding rectangles around sf polygons in R
(TXT) - Extracting pages with colour from a PDF
(TXT) - New website
(TXT) - Walking three days of the Cleveland Way
(TXT) - Mulching trees to stop grass growth
(TXT) - Display lots of points with tiles in ggplot2
(TXT) - Data management during and after my PhD
(TXT) - PhD keyboard
(TXT) - Sensible page breaks in LaTeX grouped longtables
(TXT) - Collecting qualitative colour palettes
(TXT) - Flowering Aechmea fasciata
(TXT) - Grabbing BibTeX from a DOI
(TXT) - siunitx 'S' table column 'table-format' option
(TXT) - Diagrams to explain niche complementarity
(TXT) - BibLaTeX reference formatting
(TXT) - tmux popup windows for quickly launching scripts
(TXT) - Scraping museum catalogues
(TXT) - Network graph of R package usage
(TXT) - Interview presentation for SECO post-doc position
(TXT) - ASCII/UTF8 terrestrial carbon cycle diagram
(TXT) - A blog post on the Edinburgh Teaching Award
(TXT) - Diagrams to summarise Biodiversity - Ecosystem Function
(TXT) - compInd: An R package for forest tree-tree competition
(TXT) - Using nnn.vim as a filepicker for neomutt attachments
(TXT) - Calculating the winkelmass in R
(TXT) - FZF in vim and bash
(TXT) - ASCII charts in R
(TXT) - Polygon SVG diagrams
(TXT) - Pretty pictures from Terrestrial LiDAR
(TXT) - Reading on disc pasture meters
(TXT) - Empirical Cumulative Density Function (ECDF) plots
(TXT) - Learning Julia
(TXT) - Flatbreads
(TXT) - Modelling stem diameter class distribution with Weibull
(TXT) - Planting 10 acres of woodland
(TXT) - Splitting a large woodland survey plot into 1 ha subdivisions
(TXT) - Fixing a stool
(TXT) - RSS feeds for scientific journals
(TXT) - Microsoft Azure Translator API call in R
(TXT) - LaTeX plot census forms
(TXT) - Making sense of the ODK ecosystem
(TXT) - Dynamic lists from user-added choices within repeats and
(TXT) - What XLSForm+ODK cannot do
(TXT) - Playfair cipher in R
(TXT) - Estimating grassy volume from terrestrial LiDAR
(TXT) - Pandoc LaTeX shopping list template
(TXT) - Estimating canopy rugosity from terrestrial LiDAR
(TXT) - Extracting a vertical height profile from terrestrial LiDAR
(TXT) - Measuring canopy gap fraction from point clouds
(TXT) - Processing Terrestrial LiDAR with PDAL
(TXT) - Tiling wallpapers
(TXT) - Writing legibly in a field notebook
(TXT) - Querying the SoilGrids REST API
(TXT) - Making abundance matrices
(TXT) - Random effects plots
(TXT) - Scripting qutebrowser to grab papers with scidownl
(TXT) - Propagating basil
(TXT) - Comparing which simulated distribution is closest to the
(TXT) - Making a LaTeX thesis template
(TXT) - Making playlists for cmus
(TXT) - Display line segments with given slope in ggplot2
(TXT) - Sort and filter .bib files
(TXT) - Email about estimating competition with basal area
(TXT) - Curl-able contact card
(TXT) - Exporting draw.io images to LaTeX
(TXT) - How I cast Youtube videos to the TV
(TXT) - A weekend of consultations on woodland planting
(TXT) - Pretty correlation matrices with ggplot
(TXT) - Vim HTML img tag to markdown
(TXT) - Questions about operational IT for research
(TXT) - FZF script for searching a lookup table
(TXT) - Flow diagram for data cleaning process
(TXT) - An R function to split species names
(TXT) - Writing R package documentation
(TXT) - An email which tries to make sense of the RMarkdown ecosystem
(TXT) - Adventures in tweaking RMarkdown
(TXT) - Rendering list structure in R
(TXT) - Snippets to tweak macOS Finder.app
(TXT) - Thoughts on the publication process
(TXT) - Shiny app to visualise scaled planetary orbits on world map
(TXT) - Compiling a single master.tex from a modular document
(TXT) - Waiting for permits
(TXT) - Kit list for tropical fieldwork
(TXT) - Comparison of F-droid notetaking apps on Android
(TXT) - Too many software options for group working
(TXT) - Shell script for internet radio
(TXT) - Low bandwidth internet browsing
(TXT) - My vimdiff setup
(TXT) - Track changes in LaTeX for reviewer comments
(TXT) - Charging the laser scanner off a generator
(TXT) - Attaching threaded bar to rebar
(TXT) - Automate CSV typesetting for plot data sheets
(TXT) - An email about ordination and environmental fits
(TXT) - R functions for creating LaTeX variables
(TXT) - Workflow for writing an academic paper
(TXT) - Constructing diversity profiles with Hill numbers
(TXT) - Creating a personal library catalogue
(TXT) - Making a Gopherhole
(TXT) - Making better ggiNEXT plots
(TXT) - Making a LaTeX Beamer template
(TXT) - Shell script to get wifi password in macOS
(TXT) - UltiSnips cheatsheet
(TXT) - urlview to easily handle URLs in the terminal
(TXT) - Scraping instagram without an account
(TXT) - Writing ggplot2 grobs in a loop to maintain data values
(TXT) - A Pandoc template for converting markdown letters to LaTeX
(TXT) - Custom .sty files in LaTeX
(TXT) - Miscellaneous LaTeX snippets
(TXT) - Notes on Poisson regression
(TXT) - Analysing BibTeX files in R
(TXT) - Notes on diversity indices
(TXT) - My spot in Summer
(TXT) - Writing non-standard notation in ggplot2
(TXT) - Writing a Makefile for LaTeX and R
(TXT) - Customising plots drawn to estimate pairwise marginal means
(TXT) - Vim fold expression for BibTeX files
(TXT) - Making lists
(TXT) - Plotting a semi-variogram fit in ggplot2
(TXT) - Marking laser scanning targets to aid processing
(TXT) - An email about setting up one hectare plots
(TXT) - Compressing images for this website
(TXT) - Fetching mail with offlineimap within Mutt
(TXT) - The Mackenzie Dendrometer
(TXT) - Hotter than average map
(TXT) - Poster for Postgraduate Research Conference
(TXT) - Talk at Remote Sensing of Vegetation meeting
(TXT) - Task management macros in Vim
(TXT) - Fewer geocaches
(TXT) - Plain text data entry in the terminal
(TXT) - Managing receipts on fieldwork
(TXT) - Edinburgh Teaching Award
(TXT) - Taking notes in the field
(TXT) - A 20 cm measuring stick
(TXT) - Thoughts on natural surroundings in Bicuar National Park
(TXT) - Angolan matchbox designs
(TXT) - Fermented drinks and exotic food in Huila province Angola
(TXT) - Ubuntu network timeout
(TXT) - DIY disc pasture meter in action
(TXT) - Exporting a list of R packages to install on a new machine
(TXT) - Python conda virtual environment in bash prompt
(TXT) - Making inset maps for publication
(TXT) - Using vifm to attach files to emails in Mutt
(TXT) - DIY disc pasture meter
(TXT) - Using the LaTeX 'float' package with Pandoc
(TXT) - Diagrams for tree measurements
(TXT) - Weekend walk on the Southern Upland Way and John Muir Link
(TXT) - Using notmuch to search email in Mutt
(TXT) - Putting a Linux distro on a USB, from a Mac
(TXT) - Converting Alpine addressbook to Mutt aliases
(TXT) - Updated Mutt config, multiple accounts
(TXT) - Calculating Vapour Pressure Deficit and other atmospheric
(TXT) - Converting Qutebrowser bookmarks to w3m bookmarks
(TXT) - A better system for referencing
(TXT) - Calculating NDVI from Sentinel 2 images for Bicuar National
(TXT) - How much miombo is in each country
(TXT) - Making cider, bottling update
(TXT) - My spot in the woods in Autumn
(TXT) - Fixing up an Emmelle Diamond 5 bike
(TXT) - What I carry in my bag everyday
(TXT) - An R function to fill abbreviated genus names in a list of
(TXT) - I made a mistake with cropping fisheye photos to a field of
(TXT) - Hemispherical photography - should the focus be set to
(TXT) - Comparing forest canopy measurements with a phone lens and
(TXT) - Making Cider
(TXT) - Update on plant growth
(TXT) - Figuring out Sums of Squares in ANOVA
(TXT) - A method to crop hemispherical images to a field of view
(TXT) - A guide about processing hemispherical photos
(TXT) - An email about hemispherical photography
(TXT) - Ideas for a DIY bike chain tensioner
(TXT) - Foraging Chicken of the Woods
(TXT) - Pandoc CSS templates
(TXT) - Spoon carving trees in the SEOSAW network
(TXT) - Converting a bank .csv statement to ledger
(TXT) - Qutebrowser setup
(TXT) - VLC from the command line on macOS
(TXT) - Generating a static site using pandoc
(TXT) - Rebuilding a bike
(TXT) - Gmail on macOS command line: neomutt + offlineimap + notmuch
(TXT) - Making a minimal wallet
(TXT) - Making a chopping board
(TXT) - Making arty renders of Belize's rivers
(TXT) - Updating pypodd to download most recent
(TXT) - Knife wear and tear
(TXT) - Hammock setup
(TXT) - Foraging and making wild garlic pesto
(TXT) - Converting stem locations in a square plot to X Y metre
(TXT) - Mapping GPX tracks from AAT for Android, in R
(TXT) - A workshop on Git for version control
(TXT) - Making a geoJSON powered Leaflet map
(TXT) - New hemispherical photography equipment
(TXT) - Dirty Weekenders Kitchen Table Talk
(TXT) - Updating pypodd to run .opml files
(TXT) - Kalanchoe propagation
(TXT) - I made a command line podcast grabber in Python
(TXT) - Spring woodworking in my spot
(TXT) - How many trees have I measured?
(TXT) - Grievances with email clients and the state of email usage
(TXT) - Expedition food
(TXT) - How to properly roll and store DBH tape measure
(TXT) - Replacing the lightline.vim plugin with a custom
(TXT) - What are the possible uses for local webpages in a shared
(TXT) - Elephants affect the spatial distribution of savannah trees
(TXT) - Producing Gitbooks
(TXT) - Methods of writing and collaboration
(TXT) - My workflow, tmux, vim, etc.
(TXT) - Cycling from Bridge of Allan to Blackford
(TXT) - Initial PhD ideas
(TXT) - Automating imageJ leaf area processing
(TXT) - Using R to locate spatial data points inside map polygons
(TXT) - Making Coding Club logos in R
(TXT) - Reconditioning an old axe
(TXT) - Walking the Great Glen Way
(TXT) - Visualising Survey Data with Likert Scales
(TXT) - Brewing plum wine
(TXT) - Making Logos for Coding Club
(TXT) - Growing micro-greens on cotton wool
(TXT) - Mapping The Vegetation and Climate of Africa in R
(TXT) - Analysing Ledger Personal Accounting Data Using R
(TXT) - Fire experiments in the Congo
(TXT) - Constructing a Useful Bash Prompt
(TXT) - Configuring Ranger, a File Manager for macOS, with rifle.conf
(TXT) - Interpretation panel at Roslin Glen