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