John L. Godlee
CV
Works
Archive
2024-12-21 -
Comparison of Mo et al. (2024) global wood density with plots in the seasonally dry tropics
2024-06-20 -
R function to extract raster data
2024-06-12 -
Converting stem locations from lat-long to XY coordinates
2024-04-30 -
An email about resprouting in the SEOSAW database
2024-03-15 -
Definitions of drylands
2024-03-07 -
Methods to establish square vegetation monitoring plots
2023-10-05 -
Scraping plot locations from the ForestPlots.net web map
2023-09-13 -
SEOSAW growth rates workshop
2023-06-01 -
Geo-referenced Teixeira (1968) Bicuar National Park vegetation map
2023-05-24 -
An email about estimating productivity
2023-05-18 -
R functions to download data from KoboToolbox
2023-05-15 -
Vegetation map of Bicuar National Park - Teixeira 1968
2023-04-13 -
Presentations for lectureship interview
2023-03-14 -
Blog post on fieldwork in Ongava Game Reserve
2023-03-13 -
Importing data layers into Avenza Maps Android app
2023-02-15 -
Fieldwork in Ongava Game Reserve
2023-02-12 -
Fieldwork bumbag
2022-11-23 -
BIOMASS::getWoodDensity()
description
2022-09-10 -
Shiny app to explore climate space of SEOSAW region
2022-08-27 -
Comparing coordinates of tree stems collected with GPS or tape measures
2022-08-14 -
Using
any()
with
ifelse()
and
group_by()
2022-06-15 -
PhD thesis
2022-06-12 -
Voronoi tessellation to measure tree spatial distribution
2022-06-01 -
Guide for analysing forest canopy photos
2022-05-12 -
Measuring stick for DBH measurements
2022-03-18 -
Fieldwork in Namibia
2022-03-15 -
Building adjustable tree mounts for camera traps
2022-02-19 -
Thoughts on setting up permanent vegetation monitoring plots
2022-01-19 -
Ecology projects and acronyms
2022-01-05 -
Making bark thickness punches
2021-12-30 -
Pros and cons of conducting ecological fieldwork with ODK
2021-12-20 -
Processing data from the TRY traits database
2021-12-10 -
Why big square vegetation plots are best
2021-11-26 -
SEOSAW plot metadata Shiny app
2021-11-14 -
Minimum bounding rectangles around sf polygons in R
2021-09-25 -
Display lots of points with tiles in ggplot2
2021-09-20 -
Data management during and after my PhD
2021-07-31 -
Diagrams to explain niche complementarity
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 Research
2021-05-20 -
compInd: An R package for forest tree-tree competition indices
2021-05-10 -
Calculating the winkelmass in R
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-03-30 -
Modelling stem diameter class distribution with Weibull distributions
2021-03-20 -
Splitting a large woodland survey plot into 1 ha subdivisions
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-02-15 -
Dynamic lists from user-added choices within repeats and groups, in ODK
2021-02-05 -
What XLSForm+ODK cannot do
2021-01-20 -
Making sense of the ODK ecosystem
2021-01-15 -
Estimating grassy volume from terrestrial LiDAR
2021-01-01 -
Estimating canopy rugosity from terrestrial LiDAR
2020-12-30 -
Extracting a vertical height profile from terrestrial LiDAR
2020-12-20 -
Measuring canopy gap fraction from point clouds
2020-12-15 -
Processing Terrestrial LiDAR with PDAL
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-05 -
Comparing which simulated distribution is closest to the truth
2020-09-15 -
Making a LaTeX thesis template
2020-09-05 -
Display line segments with given slope in ggplot2
2020-08-14 -
Email about estimating competition with basal area
2020-07-05 -
Pretty correlation matrices with ggplot
2020-06-25 -
Questions about operational IT for research
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 ecosystem
2020-05-20 -
Adventures in tweaking RMarkdown
2020-05-15 -
Rendering list structure in R
2020-05-05 -
Thoughts on the publication process
2020-04-10 -
Kit list for tropical fieldwork
2020-03-05 -
Track changes in LaTeX for reviewer comments
2020-03-04 -
Waiting for permits
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-15 -
Making better ggiNEXT plots
2019-10-15 -
Writing ggplot2 grobs in a loop to maintain data values
2019-09-21 -
Notes on Poisson regression
2019-09-05 -
Notes on diversity indices
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 means comparisons with emmeans::pwpp()
2019-07-15 -
Marking laser scanning targets to aid processing
2019-07-12 -
Plotting a semi-variogram fit in ggplot2
2019-07-10 -
An email about setting up one hectare plots
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-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 Park
2019-04-15 -
Fermented drinks and exotic food in Huila province Angola
2019-04-05 -
DIY disc pasture meter in action
2019-03-15 -
Exporting a list of R packages to install on a new machine
2019-02-20 -
Making inset maps for publication
2019-02-05 -
DIY disc pasture meter
2019-01-23 -
Diagrams for tree measurements
2018-12-05 -
Calculating Vapour Pressure Deficit and other atmospheric things
2018-11-25 -
A better system for referencing
2018-11-20 -
Calculating NDVI from Sentinel 2 images for Bicuar National Park
2018-11-15 -
How much miombo is in each country
2018-10-15 -
An R function to fill abbreviated genus names in a list of species
2018-10-10 -
I made a mistake with cropping fisheye photos to a field of view
2018-10-02 -
Hemispherical photography - should the focus be set to infinity?
2018-09-30 -
Comparing forest canopy measurements with a phone lens and an expensive DSLR fisheye
2018-09-20 -
Figuring out Sums of Squares in ANOVA
2018-09-12 -
A method to crop hemispherical images to a field of view
2018-09-07 -
A guide about processing hemispherical photos
2018-09-02 -
An email about hemispherical photography
2018-05-01 -
Converting stem locations in a square plot to X Y metre coordinates
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-03-22 -
How many trees have I measured?
2018-02-21 -
Expedition food
2018-02-21 -
How to properly roll and store DBH tape measure
2017-12-01 -
Elephants affect the spatial distribution of savannah trees
2017-11-01 -
Methods of writing and collaboration
2017-10-12 -
Automating imageJ leaf area processing
2017-09-27 -
Making Coding Club logos in R
2017-09-27 -
Using R to locate spatial data points inside map polygons
2017-09-25 -
Initial PhD ideas
2017-09-16 -
Visualising Survey Data with Likert Scales
2017-09-10 -
Making Logos for Coding Club
2017-09-05 -
Mapping The Vegetation and Climate of Africa in R
2017-08-20 -
Fire experiments in the Congo
2017-02-10 -
Interpretation panel at Roslin Glen
Not work related:
2024-06-26 -
Bash script to download audio from Youtube
2021-04-05 -
Flatbreads
2021-03-25 -
Planting 10 acres of woodland
2021-03-15 -
Fixing a stool
2021-01-25 -
Playfair cipher in R
2021-01-05 -
Pandoc LaTeX shopping list template
2020-12-10 -
Tiling wallpapers
2020-10-17 -
Scripting qutebrowser to grab papers with scidownl
2020-10-10 -
Propagating basil
2020-09-10 -
Making playlists for cmus
2020-08-24 -
Sort and filter .bib files
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-06-30 -
Vim HTML img tag to markdown
2020-06-15 -
FZF script for searching a lookup table
2020-05-10 -
Snippets to tweak macOS Finder.app
2020-04-30 -
Shiny app to visualise scaled planetary orbits on world map
2020-04-25 -
Compiling a single master.tex from a modular document
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
2019-11-25 -
Creating a personal library catalogue
2019-11-20 -
Making a Gopherhole
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-10 -
A Pandoc template for converting markdown letters to LaTeX PDFs
2019-10-05 -
Custom .sty files in LaTeX
2019-09-30 -
Miscellaneous LaTeX snippets
2019-09-12 -
Analysing BibTeX files in R
2019-08-25 -
My spot in Summer
2019-07-31 -
Vim fold expression for BibTeX files
2019-07-25 -
Making lists
2019-07-05 -
Compressing images for this website
2019-06-25 -
Fetching mail with offlineimap within Mutt
2019-05-25 -
Task management macros in Vim
2019-05-20 -
Fewer geocaches
2019-05-17 -
Plain text data entry in the terminal
2019-04-20 -
Angolan matchbox designs
2019-04-10 -
Ubuntu network timeout
2019-02-28 -
Python conda virtual environment in bash prompt
2019-02-15 -
Using vifm to attach files to emails in Mutt
2019-01-29 -
Using the LaTeX ‘float’ package with Pandoc
2019-01-13 -
Weekend walk on the Southern Upland Way and John Muir Link
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-01 -
Converting Qutebrowser bookmarks to w3m bookmarks
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-09-29 -
Making Cider
2018-09-24 -
Update on plant growth
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 + notmuch + pass + vim + launchd (brew services) + w3m
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-04-28 -
Mapping GPX tracks from AAT for Android, in R
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-02 -
Grievances with email clients and the state of email usage
2018-01-11 -
Replacing the lightline.vim plugin with a custom statusline/tabline
2017-12-10 -
What are the possible uses for local webpages in a shared flat?
2017-11-01 -
My workflow, tmux, vim, etc.
2017-11-01 -
Producing Gitbooks
2017-09-25 -
Reconditioning an old axe
2017-09-22 -
Walking the Great Glen Way
2017-09-15 -
Brewing Plum Wine
2017-09-15 -
Cycling from Bridge of Allan to Blackford
2017-09-10 -
Growing micro-greens on cotton wool
2017-09-01 -
Analysing Ledger Personal Accounting Data Using R
2017-08-14 -
Constructing a Useful Bash Prompt
2017-07-20 -
Configuring Ranger, a File Manager for macOS, with rifle.conf