41554 blogs · [ { "id": "01a087a1-351e-7009-a3c1-375970373f5e", "title": "Reading notes on Naming Things by Tom Benner", "url": "https://masalmon.eu/2026/08/27/naming-things-reading-notes/", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759708b3181", "title": "Learning how to extract parts of a string", "url": "https://masalmon.eu/2026/08/21/extracting-string-patterns/", "published_at": "2026-08-21T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597126f922", "title": "Reading notes on The Programmer's Brain by Felienne Hermans", "url": "https://masalmon.eu/2026/08/21/the-programmer-s-brain-reading-notes/", "published_at": "2026-08-21T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759715e93e4", "title": "Reading notes on Code That Fits in Your Head by Mark Seemann", "url": "https://masalmon.eu/2026/08/14/code-fits-head-mark-seemann-reading-notes/", "published_at": "2026-08-14T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375971dc1b0d", "title": "More crochet/programming thoughts", "url": "https://masalmon.eu/2026/05/19/crochet-again/", "published_at": "2026-05-19T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759720ef990", "title": "Git worktrees are now cool", "url": "https://masalmon.eu/2026/04/23/git-worktree-again/", "published_at": "2026-04-23T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759726c66d5", "title": "Better Git diff with difftastic", "url": "https://masalmon.eu/2026/03/30/difftastic/", "published_at": "2026-03-30T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597363d641", "title": "Zut, Git ! Porting {saperlipopette} to the terminal with Claude", "url": "https://masalmon.eu/2026/02/27/zut-saperlipopette-claude/", "published_at": "2026-02-27T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375973e13737", "title": "Git commits: please mark your stitches!", "url": "https://masalmon.eu/2026/02/15/stitch-markers-git-commits/", "published_at": "2026-02-15T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375974bc2ac9", "title": "Parallel strands between learning crochet and learning programming", "url": "https://masalmon.eu/2026/01/26/amigurumi/", "published_at": "2026-01-26T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375974f2df45", "title": "How to open files, folders, websites in R", "url": "https://masalmon.eu/2025/06/25/open-files-folders-websites/", "published_at": "2025-06-25T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375975577460", "title": "Cover and modify, some tips for R package development", "url": "https://masalmon.eu/2024/09/24/cover-modify-r-packages/", "published_at": "2024-09-24T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759760667ab", "title": "Create and use a custom roxygen2 tag", "url": "https://masalmon.eu/2024/09/03/roxygen2-custom-tag/", "published_at": "2024-09-03T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375976d72d63", "title": "Does my test really validate a bug fix? Check it with git cherry-pick", "url": "https://masalmon.eu/2024/08/29/cherrypick-test/", "published_at": "2024-08-29T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759777ffc2d", "title": "Get your codebase lint-free forever with lintr", "url": "https://masalmon.eu/2024/08/28/lintr-3-steps/", "published_at": "2024-08-28T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375977f06cbe", "title": "Extracting names of functions defined in a script with treesitter", "url": "https://masalmon.eu/2024/07/18/extract-function-names-treesitter/", "published_at": "2024-07-18T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375978105bdf", "title": "Extracting all links from my slidedeck", "url": "https://masalmon.eu/2024/07/16/extract-links-from-md/", "published_at": "2024-07-16T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759784340fc", "title": "Hack your way to a good Git history", "url": "https://masalmon.eu/2024/06/11/rewrite-git-history/", "published_at": "2024-06-11T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597848d0fb", "title": "Why you need small, informative Git commits", "url": "https://masalmon.eu/2024/06/03/small-commits/", "published_at": "2024-06-03T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759789879d3", "title": "What I edit when refactoring a test file", "url": "https://masalmon.eu/2024/05/23/refactoring-tests/", "published_at": "2024-05-23T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759795c6830", "title": "Automate code refactoring with {xmlparsedata} and {brio}", "url": "https://masalmon.eu/2024/05/15/refactoring-xml/", "published_at": "2024-05-15T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375979f70cfb", "title": "Reading notes on Producing open source software by Karl Fogel (First edition)", "url": "https://masalmon.eu/2024/02/08/producing-oss-first-edition-karl-fogel/", "published_at": "2024-02-08T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597aa70db3", "title": "Load different R package versions at once with git worktree", "url": "https://masalmon.eu/2024/01/23/git-worktree/", "published_at": "2024-01-23T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597aad0e4d", "title": "Reading notes on Pro Git by Scott Chacon", "url": "https://masalmon.eu/2024/01/19/pro-git-scott-chacon-reading-notes/", "published_at": "2024-01-19T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597b9f92da", "title": "Introducing saperlipopette, a package to practice Git!", "url": "https://masalmon.eu/2024/01/18/saperlipopette-package-practice-git/", "published_at": "2024-01-18T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597c7512d4", "title": "Reading notes on The Pragmatic Programmer by David Thomas and Andrew Hunt", "url": "https://masalmon.eu/2023/12/11/reading-notes-pragmatic-programmer/", "published_at": "2023-12-11T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597d60bc84", "title": "The two phases of commits in a Git branch", "url": "https://masalmon.eu/2023/12/07/two-phases-git-branches/", "published_at": "2023-12-07T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597e241ace", "title": "Reading notes on Kill It with Fire by Marianne Bellotti", "url": "https://masalmon.eu/2023/11/20/reading-notes-kill-it-with-fire-marianne-bellotti/", "published_at": "2023-11-20T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597eae04d7", "title": "The current introduction to my package development workshops", "url": "https://masalmon.eu/2023/11/09/r-package-development-teaching-intro/", "published_at": "2023-11-09T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37597f67f6c6", "title": "Useful functions for dealing with object names", "url": "https://masalmon.eu/2023/11/06/functions-dealing-with-names/", "published_at": "2023-11-06T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37598049c24d", "title": "Reading notes on Git in Practice by Mike McQuaid", "url": "https://masalmon.eu/2023/11/01/reading-notes-git-in-practice/", "published_at": "2023-11-01T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37598119ee06", "title": "3 (actually 4) neat R functions", "url": "https://masalmon.eu/2023/10/20/three-neat-functions/", "published_at": "2023-10-20T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759811d0133", "title": "Reading notes on A Philosophy of Software Design by John Ousterhout", "url": "https://masalmon.eu/2023/10/19/reading-notes-philosophy-software-design/", "published_at": "2023-10-19T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375981f02045", "title": "The real reset button for local mess fom tests: withr::deferred_run()", "url": "https://masalmon.eu/2023/10/16/test-local-mess-reset/", "published_at": "2023-10-16T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375982c3d2f0", "title": "Two recent enhancements to my testing workflow", "url": "https://masalmon.eu/2023/10/09/test-workflow-enhancement/", "published_at": "2023-10-09T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37598348e7a0", "title": "How to translate your package's messages with {potools}", "url": "https://masalmon.eu/2023/10/06/potools-mwe/", "published_at": "2023-10-06T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375983c706e7", "title": "3 R functions that I enjoy", "url": "https://masalmon.eu/2023/09/29/three-functions/", "published_at": "2023-09-29T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375983e27543", "title": "R functions that shorten/filter stuff: less is more", "url": "https://masalmon.eu/2023/08/31/three-shorten/", "published_at": "2023-08-31T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375983f7776f", "title": "Three (four?) R functions I enjoyed this week", "url": "https://masalmon.eu/2023/08/30/three-r-functions/", "published_at": "2023-08-30T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375984ee175d", "title": "Reducing my for loop usage with purrr::reduce()", "url": "https://masalmon.eu/2023/07/26/reduce/", "published_at": "2023-07-26T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375985e7aa75", "title": "Three useful (to me) R notions", "url": "https://masalmon.eu/2023/07/24/basic-notions/", "published_at": "2023-07-24T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759868b87e8", "title": "Three useful (to me) R patterns", "url": "https://masalmon.eu/2023/06/06/basic-patterns/", "published_at": "2023-06-06T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-3759874cebdd", "title": "git and GitHub in R for the casual user", "url": "https://masalmon.eu/2023/01/12/git-github-casual/", "published_at": "2023-01-12T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-37598804e648", "title": "RSS, fantastic tool for keeping up-to-date", "url": "https://masalmon.eu/2022/04/26/rss-feeds/", "published_at": "2022-04-26T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375988119393", "title": "Why I like XPath, XML and HTML", "url": "https://masalmon.eu/2022/04/08/xml-xpath/", "published_at": "2022-04-08T00:00:00+00:00" }, { "id": "01a087a1-351e-7009-a3c1-375988318973", "title": "8 (octo!) GitHub Tips", "url": "https://masalmon.eu/2022/04/05/github-tips/", "published_at": "2022-04-05T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec658120914", "title": "How to become a better R code detective?", "url": "https://masalmon.eu/2021/07/13/code-detective/", "published_at": "2021-07-13T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec658c272bd", "title": "Draw me a project", "url": "https://masalmon.eu/2021/06/30/r-projects/", "published_at": "2021-06-30T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec659143ff9", "title": "Server-side MathJax rendering with R?", "url": "https://masalmon.eu/2021/06/15/serverside-mathjax/", "published_at": "2021-06-15T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6591d30a0", "title": "Stingy Beanie baby webscraping", "url": "https://masalmon.eu/2021/01/15/beanie-baby/", "published_at": "2021-01-15T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec659c32cfe", "title": "Storytime preparedness with av", "url": "https://masalmon.eu/2020/12/10/av-storytime/", "published_at": "2020-12-10T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65a32b729", "title": "Single-source publishing for R users", "url": "https://masalmon.eu/2020/11/06/single-source-publishing-r/", "published_at": "2020-11-06T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65b22666e", "title": "How I Taught Scientific Blogging with R Markdown, Online", "url": "https://masalmon.eu/2020/07/08/rmd-blogging-course/", "published_at": "2020-07-08T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65b97942e", "title": "How to showcase CSS+JS+HTML snippets with Hugo?", "url": "https://masalmon.eu/2020/04/21/css-snippet/", "published_at": "2020-04-21T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65beb915a", "title": "What to know before you adopt Hugo/blogdown", "url": "https://masalmon.eu/2020/02/29/hugo-maintenance/", "published_at": "2020-02-29T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65cdbefd5", "title": "Goodbye, Disqus! Hello, Utterances!", "url": "https://masalmon.eu/2019/10/02/disqus/", "published_at": "2019-10-02T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65d258352", "title": "How did Axios rectangle Trump's PDF schedule? A try with R", "url": "https://masalmon.eu/2019/02/11/trump-schedule/", "published_at": "2019-02-11T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65db6dfdf", "title": "Keeping up to date with R news", "url": "https://masalmon.eu/2019/01/25/uptodate/", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65ea5c1e3", "title": "Your and my 2019 R goals", "url": "https://masalmon.eu/2019/01/01/r-goals/", "published_at": "2019-01-01T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65f4940f7", "title": "My #Best9of2018 tweets", "url": "https://masalmon.eu/2018/12/28/best9of2018/", "published_at": "2018-12-28T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec65f96ba7f", "title": "Advent of Code: Most Popular Languages", "url": "https://masalmon.eu/2018/12/15/adventofcode/", "published_at": "2018-12-15T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6600128e3", "title": "Make a trailer for your slidedeck with av", "url": "https://masalmon.eu/2018/10/07/trailer/", "published_at": "2018-10-07T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66032119b", "title": "Spookify: Halloween Name Generation in R", "url": "https://masalmon.eu/2018/10/05/spookify/", "published_at": "2018-10-05T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec660426bca", "title": "O'Reilly animals in trouble? Conservation status of book covers", "url": "https://masalmon.eu/2018/08/25/oreilly/", "published_at": "2018-08-25T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec660dd730f", "title": "ALLSTATisticians in decline? A polite look at ALLSTAT email Archives", "url": "https://masalmon.eu/2018/07/31/alldatascience/", "published_at": "2018-07-31T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66180dda7", "title": "Where to get help with your R question?", "url": "https://masalmon.eu/2018/07/22/wheretogethelp/", "published_at": "2018-07-22T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec662798581", "title": "Get on your soapbox! R blog content and promotion", "url": "https://masalmon.eu/2018/07/16/soapbox/", "published_at": "2018-07-16T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66327ee9c", "title": "Really not a fish? Scraping my mathematical family tree", "url": "https://masalmon.eu/2018/06/18/mathtree/", "published_at": "2018-06-18T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec664016d2c", "title": "Bad Stock Photos of My Job? Data Science on Pexels", "url": "https://masalmon.eu/2018/05/06/dsstock/", "published_at": "2018-05-06T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6645535f9", "title": "Lintr Bot, lintr's Hester egg", "url": "https://masalmon.eu/2018/03/30/lintr-bot/", "published_at": "2018-03-30T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6647fa955", "title": "Storrrify #satRdayCapeTown 2018", "url": "https://masalmon.eu/2018/03/24/satrdaycapetown/", "published_at": "2018-03-24T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66491ddb8", "title": "hrbrpkgs: list Bob Rudis' packages", "url": "https://masalmon.eu/2018/03/04/hrbrpkgs/", "published_at": "2018-03-04T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66590a99c", "title": "Combine your hex stickers with magic(k)", "url": "https://masalmon.eu/2018/02/22/hexcombine/", "published_at": "2018-02-22T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6665f13c6", "title": "Galentine's day cards", "url": "https://masalmon.eu/2018/01/26/galentinesday/", "published_at": "2018-01-26T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6668ad351", "title": "Rainbowing a set of pictures", "url": "https://masalmon.eu/2018/01/07/rainbowing/", "published_at": "2018-01-07T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6678426e6", "title": "Cheer up, Black Metal Cats! Bubblegum Puppies", "url": "https://masalmon.eu/2018/01/04/bubblegumpuppies/", "published_at": "2018-01-04T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec667b79c54", "title": "Are #python users more likely to get into Slytherin?", "url": "https://masalmon.eu/2018/01/01/sortinghat/", "published_at": "2018-01-01T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6688e8666", "title": "My #Best9of2017 tweets", "url": "https://masalmon.eu/2017/12/30/best9of2017/", "published_at": "2017-12-30T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6692ad2b9", "title": "Where have you been? Getting my Github activity", "url": "https://masalmon.eu/2017/12/21/wherehaveyoubeen/", "published_at": "2017-12-21T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec669eb806b", "title": "Possum magic: mapping an Australian children's book", "url": "https://masalmon.eu/2017/12/16/possummagic/", "published_at": "2017-12-16T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66a7ddcda", "title": "How to develop good R packages (for open science)", "url": "https://masalmon.eu/2017/12/11/goodrpackages/", "published_at": "2017-12-11T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66a9d7b4e", "title": "Names of b.....s badder than Taylor Swift, a class in women's studies?", "url": "https://masalmon.eu/2017/12/05/badderb/", "published_at": "2017-12-05T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66b6e7b23", "title": "Where to live in the US", "url": "https://masalmon.eu/2017/11/16/wheretoliveus/", "published_at": "2017-11-16T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66b8cea87", "title": "You beautiful, naïve, sophisticated newborn series", "url": "https://masalmon.eu/2017/11/05/newborn-serie/", "published_at": "2017-11-05T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66c089c93", "title": "R-Ladies global tour", "url": "https://masalmon.eu/2017/10/06/globalrladiestour/", "published_at": "2017-10-06T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66c903043", "title": "The Guardian Experience: heavy or light topics?", "url": "https://masalmon.eu/2017/10/02/guardian-experience/", "published_at": "2017-10-02T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66d4557e9", "title": "The music of Les Mills Body Pump, with Spotify data", "url": "https://masalmon.eu/2017/10/01/bodypump/", "published_at": "2017-10-01T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66e274909", "title": "Is it wine o'clock?", "url": "https://masalmon.eu/2017/08/12/wineoclock/", "published_at": "2017-08-12T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66f117056", "title": "Pets or livestock? Naming your RMarkdown chunks", "url": "https://masalmon.eu/2017/08/08/chunkpets/", "published_at": "2017-08-08T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec66ff5f3c2", "title": "Who are the Swedish radio P1 summer guests? Answer via Wikidata", "url": "https://masalmon.eu/2017/08/06/p1/", "published_at": "2017-08-06T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6701d10db", "title": "What's in our internal chaimagic package at work", "url": "https://masalmon.eu/2017/07/22/chaimagic/", "published_at": "2017-07-22T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6705aa881", "title": "How I became a crolute i.e. an user of the crul package", "url": "https://masalmon.eu/2017/06/30/crolute/", "published_at": "2017-06-30T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6709f05b6", "title": "Automatic tools for improving R packages", "url": "https://masalmon.eu/2017/06/17/automatictools/", "published_at": "2017-06-17T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec670b876cb", "title": "Who is talking about the French Open?", "url": "https://masalmon.eu/2017/06/10/rolandgarros/", "published_at": "2017-06-10T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec671008bcd", "title": "Which science is all around? #BillMeetScienceTwitter", "url": "https://masalmon.eu/2017/05/20/billnye/", "published_at": "2017-05-20T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec671f1b893", "title": "How not to make an evergreen review graph", "url": "https://masalmon.eu/2017/05/14/evergreenreviewgraph/", "published_at": "2017-05-14T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6727a0926", "title": "A tribute to Lucy D'Agostino McGowan's git commit emoji game", "url": "https://masalmon.eu/2017/05/03/lucysemojis/", "published_at": "2017-05-03T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6728226fb", "title": "Radio edit: an improved scraping of and look at Radio Swiss classic program", "url": "https://masalmon.eu/2017/04/30/radioedit/", "published_at": "2017-04-30T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec672f13f09", "title": "A classical analysis (Radio Swiss classic program)", "url": "https://masalmon.eu/2017/04/23/radioswissclassic/", "published_at": "2017-04-23T00:00:00+00:00" }, { "id": "01a087a1-351f-71d9-9a3e-4ec6733a4c8a", "title": "Sow the seeds, know the seeds", "url": "https://masalmon.eu/2017/04/12/seeds/", "published_at": "2017-04-12T00:00:00+00:00" } ] posts Claim your blog
Back to masalmon.eu
Blog · corpus.blog/blogs/masalmon.eu/posts

masalmon.eu

masalmon.eu

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017