41554 blogs · [ { "id": "01a0878f-f61d-73e3-9644-ec000f22db92", "title": "Generating a triangular navigation mesh from H3 hexagons in R", "url": "https://jonathanchang.org/blog/hexes-to-triangles-h3-r-sf/", "published_at": "2024-12-31T00:00:00+00:00" }, { "id": "01a0878f-f61e-7037-b5ea-cfdc2714f8b0", "title": "Download shapefiles from ESRI ArcGIS Online Story Maps", "url": "https://jonathanchang.org/blog/downloading-esri-online-shapefiles/", "published_at": "2022-11-04T00:00:00+00:00" }, { "id": "01a0878f-f61e-7037-b5ea-cfdc27f55a86", "title": "Deploy your website to Neocities using GitHub Actions", "url": "https://jonathanchang.org/blog/deploying-your-static-site-to-neocities-using-github-actions/", "published_at": "2022-01-26T19:01:00+00:00" }, { "id": "01a0878f-f61e-7037-b5ea-cfdc2807718a", "title": "Three ways to check and fix ultrametric phylogenies", "url": "https://jonathanchang.org/blog/three-ways-to-check-and-fix-ultrametric-phylogenies/", "published_at": "2021-07-13T01:55:00+00:00" }, { "id": "01a0878f-f61e-7037-b5ea-cfdc28bcf455", "title": "Easily showcase your Google Scholar metrics in Jekyll", "url": "https://jonathanchang.org/blog/easily-showcase-your-google-scholar-metrics-in-jekyll/", "published_at": "2021-05-31T21:00:00+00:00" }, { "id": "01a0878f-f61e-7037-b5ea-cfdc295c030e", "title": "Free yourself from the Spotify desktop client with spotifyd", "url": "https://jonathanchang.org/blog/setting-up-spotifyd-on-macos/", "published_at": "2020-05-18T12:33:00+00:00" }, { "id": "01a0878f-f61f-7245-b821-2defa137160f", "title": "Continuous integration using GitHub Actions for Homebrew on Linux", "url": "https://jonathanchang.org/blog/continuous-integration-using-github-actions-for-homebrew-on-linux/", "published_at": "2020-04-10T08:12:00+00:00" }, { "id": "01a0878f-f61f-7245-b821-2defa1e67823", "title": "Can we estimate diversification rates on extant phylogenies?", "url": "https://jonathanchang.org/blog/nonidentifiability-in-diversification-rate-models/", "published_at": "2019-08-01T04:14:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f3d38d3a4", "title": "Maintain your own Homebrew repository, with binary bottles", "url": "https://jonathanchang.org/blog/maintain-your-own-homebrew-repository-with-binary-bottles/", "published_at": "2019-05-06T10:53:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f3df9b7b9", "title": "Introducing fishtree and fishtreeoflife.org", "url": "https://jonathanchang.org/blog/announcing-fishtree-an-r-package-to-access-phylogenetic-data-for-ray-finned-fishes/", "published_at": "2019-03-29T00:00:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f3ec83395", "title": "What R package for phylogenetics is the most popular?", "url": "https://jonathanchang.org/blog/what-r-package-for-phylogenetics-is-the-most-popular/", "published_at": "2018-11-19T23:49:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f3f630929", "title": "Animating and labeling figures with ImageMagick", "url": "https://jonathanchang.org/blog/animating-and-labeling-figures-with-imagemagick/", "published_at": "2018-08-07T18:52:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f405832b3", "title": "Removing PAUP's expiration date and version check", "url": "https://jonathanchang.org/blog/removing-paup-s-expiration-date-and-version-check/", "published_at": "2018-06-05T07:18:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f40ad4de4", "title": "How to partially rasterize a figure plotted with R", "url": "https://jonathanchang.org/blog/how-to-partially-rasterize-a-figure-plotted-with-r/", "published_at": "2018-05-25T17:25:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f414e56f9", "title": "Painless (almost) multiple-choice exams in LaTeX", "url": "https://jonathanchang.org/blog/painless-almost-multiple-choice-exams-in-latex/", "published_at": "2018-02-24T00:00:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f4212ea30", "title": "Splitting a concatenated RAxML-style PHYLIP file", "url": "https://jonathanchang.org/blog/splitting-a-concatenated-raxml-style-phylip-file/", "published_at": "2017-09-06T00:00:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f425becf8", "title": "Pushing to someone else's pull request on GitHub", "url": "https://jonathanchang.org/blog/pushing-to-a-pull-request-on-github/", "published_at": "2016-12-30T00:00:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f42ca04c3", "title": "Updating Homebrew formulae when your software gets a new version", "url": "https://jonathanchang.org/blog/updating-homebrew-formulae-when-your-software-gets-a-new-version/", "published_at": "2016-12-05T00:00:00+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f439a7cae", "title": "Setting up Samba home folder shares for a CentOS 7 server", "url": "https://jonathanchang.org/blog/setting-up-samba-home-folder-shares-for-a-centos-7-server/", "published_at": "2016-02-29T21:53:39+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f44696043", "title": "Snow Leopard Server with Mavericks clients, and why to avoid Mac Server", "url": "https://jonathanchang.org/blog/snow-leopard-server-with-mavericks-clients/", "published_at": "2015-12-01T06:54:08+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f44ec139c", "title": "SICB 2015 presentation slides!", "url": "https://jonathanchang.org/blog/sicb-2015-presentation-slides/", "published_at": "2015-02-08T00:11:07+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f45a0efe9", "title": "Setting up Samba home folder shares for a CentOS 6 server and Mac OS X client", "url": "https://jonathanchang.org/blog/setting-up-samba-home-folder-shares-for-a-centos-6-server-and-mac-os-x-client/", "published_at": "2014-11-26T21:59:28+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f46065e14", "title": "Using RMarkdown, knitr, and pandoc in TexShop on Mac", "url": "https://jonathanchang.org/blog/using-rmarkdown-knitr-and-pandoc-in-texshop-on-mac/", "published_at": "2014-09-26T07:18:36+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f46f9130b", "title": "Fixing pandoc \"out of memory\" errors on Windows", "url": "https://jonathanchang.org/blog/fixing-pandoc-out-of-memory-errors-on-windows/", "published_at": "2014-09-21T21:37:29+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f47553ca2", "title": "How accurate are crowdsourced morphometricians?", "url": "https://jonathanchang.org/blog/how-accurate-are-crowdsourced-morphometricians/", "published_at": "2014-08-23T02:55:46+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f48249cb5", "title": "Count missing characters in FASTA files with a shell one-liner", "url": "https://jonathanchang.org/blog/count-missing-characters-in-fasta-files-with-a-shell-one-liner/", "published_at": "2014-05-13T21:32:19+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f48c41b2e", "title": "Building a web-based image markup system", "url": "https://jonathanchang.org/blog/building-a-web-based-image-markup-system/", "published_at": "2014-02-14T20:11:35+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f49685828", "title": "Evolution 2013 presentation, notes and slides", "url": "https://jonathanchang.org/blog/evolution-2013-presentation-notes-and-slides/", "published_at": "2013-10-03T04:53:03+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f496b3f30", "title": "Encyclopedia of Life Rubenstein Fellowship: Crowdsourced morphology", "url": "https://jonathanchang.org/blog/encyclopedia-of-life-rubenstein-fellowship-crowdsourced-morphology/", "published_at": "2013-06-19T15:50:34+00:00" }, { "id": "01a0878f-f620-71a1-a4ef-de1f496e84b1", "title": "Some utilities for dealing with character data", "url": "https://jonathanchang.org/blog/some-utilities-for-dealing-with-character-data/", "published_at": "2013-03-20T20:00:08+00:00" } ] posts Claim your blog
Back to jonchang
Blog · corpus.blog/blogs/jonathanchang.org/posts

jonchang

jonathanchang.org

2024

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013