Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Lars Willighagen

@larsgw.mastodon.social.ap.brid.gy
7 followers 1 following 88 posts

Studying ecology, biodiversity, taxonomy. PhD candidate @Radboud_uni. Interested in bibliographic data (@citationjs), digital humanities (#CDLI), statistics. 🌉 bridged from ⁂ mastodon.social/@larsgw, follow @ap.brid.gy to interact

PostsRepliesMedia
Reposted by Lars Willighagen
Egon Willighagen @egonw.social.edu.nl.ap.brid.gy · 18h
nice guide by @larsgw on how to update your @wikidata SPARQL queries for the upcoming QLever migration of WDQS
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 27/09/2026
Cooool, apparently the English 'gas' originates from Dutch, first attested in 1648 en.wiktionary.org/wiki/gas#English
English
Etymology 1
Borrowed from Dutch gas, coined by chemist Jan Baptist van Helmont in Ortus Medicinae. Derived from Ancient Greek χάος (kháos, “chasm, void, empty space”); perhaps also inspired by geest (“breath, vapour, spirit”). Doublet of chaos. First attested in 1648.

Noun
gas (countable and uncountable, plural gases or gasses)

(uncountable, physical chemistry) Matter in an intermediate state between liquid and plasma that can be contained only if it is fully surrounded by a solid (or in a bubble of liquid, or held together by gravitational pull); it can condense into a liquid, or can (rarely) become a solid directly by deposition. 
Synonyms: vapor, vapour
"A lot of gas had escaped from the cylinder"
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 21/09/2026
Looks like public requests to the Google Books API now have a quota/rate of 0 per minute. RIP #google #googlebooks #isbn
120 2
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 20/09/2026
RE: fosstodon.org/@citationjs/117300508… The cover photo is yellow *and* blue, get it? (I always make the cover photo of Citation.js a bright yellow, after the logo. But JS is yellow and here I add support for TS [= blue])
fosstodon.org
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 18/09/2026
You accidentally merge ONE (1) pull request "co-authored" by an LLM and it just shows up in the Contributors section forever even after rewriting the Git history?
101 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 03/09/2026
Wow, I am *so* behind on modern JavaScript developer.mozilla.org/en-US/docs/We…
developer.mozilla.org
using - JavaScript | MDN
The using declaration declares block-scoped local variables that are synchronously disposed. Like const, variables declared with using must be initialized and cannot be reassigned. The variable's value must be either null, undefined, or an object with a [Symbol.dispose]() method. When the variable goes out of scope, the [Symbol.dispose]() method of the object is called, to ensure that resources are freed.
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 31/08/2026
Using GBIF RDF to find applicable taxonomic literature larsgw.blogspot.com/2026/08/using-g…
larsgw.blogspot.com
Using GBIF RDF to find applicable taxonomic literature
Recently, after the wonderful work of Andra Waagmeester, Jerven Bolleman, and Hannah Bast, an RDF version of the data on the Global Biodiversity Information Facility (GBIF) was made available through a SPARQL endpoint on QLever. Roderic Page writes about it in _iPhylo_: > What I like most about this work is that it may help catalyse further exploration of linked data for biodiversity. There have been lots of discussions of the years, and lots of small-scale (typically short-lived) demos, but nothing on the scale of having billions of records available to query. Given how central GBIF is to biodiversity informatics, there’s now an incentive to explore links to other datasets […]. Now, it just so happens that the Library of Identification Resources (LoIR) is available as an RDF dataset. In fact, the project has a great use case for querying GBIF occurrences. The search engine ranks the taxonomic literature in LoIR based on its applicability on an observation. For example, if I have seen a shield bug in the Netherlands (Fig. 1) and want to identify which species it is, it will generate a checklist of shield bugs in the Netherlands from GBIF occurrences, and find the identification keys with the highest coverage of the Dutch checklist. **Figure 1:** Pentatomidae, 2.ix.2021, Eindhoven, the Netherlands (link) This is currently implemented in JavaScript, but with the SPARQL endpoint for GBIF data, it can also be implemented in SPARQL. The taxonomic scope of shields bugs (Pentatomidae) is represented by `gbifsp:9650`, the geographic scope of Netherlands by `"NL"`. First, the checklist is generated: SELECT ?taxon ?scientificName (COUNT(?occurrence) AS ?amount) WHERE { # Species in gbifsp:9650 and their scientific name ?taxon skos:broader* gbifsp:9650 ; gbifterms:rank gbifrank:species ; dwc:scientificName ?scientificName . # Occurrences of those species in NL ?occurrence dwc:countryCode "NL" ; dwciri:toTaxon ?taxon . } GROUP BY ?taxon ?scientificName This part of the query has to then be repeated (as far as I can tell) to get the number of species and the total amount of occurrences. We can combine this query with LoIR using a `SERVICE <https://qlever.dev/api/gbif>` statement. Following, resources in the LoIR with those species are selected, and the number of species (and their occurrences) are calculated as a proportion of the respective totals. SELECT ?resource (COUNT(?taxon)/?totalCount AS ?pTax) (SUM(?amount)/?totalAmount AS ?pObs) WHERE { SERVICE <https://qlever.dev/api/gbif> { # ... } # Match with resource checklists ?resource dcterms:subject/dwc:taxonID ?taxon . } GROUP BY ?resource ?totalCount ?totalAmount Finally, some additional metadata gets queried, resulting in the full query: PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX dwc: <http://rs.tdwg.org/dwc/terms/> PREFIX dwciri: <http://rs.tdwg.org/dwc/iri/> PREFIX gbifrank: <https://rs.gbif.org/terms/rank/> PREFIX gbifsp: <https://www.gbif.org/species/> PREFIX gbifterms: <https://rs.gbif.org/terms/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT ?resource ?title (YEAR(?date) AS ?year) ?pTax ?pObs WHERE { { SELECT ?resource (COUNT(?taxon)/?totalCount AS ?pTax) (SUM(?amount)/?totalAmount AS ?pObs) WHERE { SERVICE <https://qlever.dev/api/gbif> { # Get species of Pentatomidae (gbifsp:9650) occuring in the Netherlands ("NL") and their count { SELECT ?taxon ?scientificName (COUNT(?occurrence) AS ?amount) WHERE { ?taxon skos:broader* gbifsp:9650 ; gbifterms:rank gbifrank:species ; dwc:scientificName ?scientificName . ?occurrence dwc:countryCode "NL" ; dwciri:toTaxon ?taxon . } GROUP BY ?taxon ?scientificName } # Repeat to get the count of species and total amount of occurrences { SELECT (COUNT(?taxon) AS ?totalCount) (SUM(?amount) AS ?totalAmount) WHERE { { SELECT ?taxon (COUNT(?occurrence) AS ?amount) WHERE { ?taxon skos:broader* gbifsp:9650 ; gbifterms:rank gbifrank:species ; dwc:scientificName ?scientificName . ?occurrence dwc:countryCode "NL" ; dwciri:toTaxon ?taxon . } GROUP BY ?taxon } } } } # Match with resource checklists ?resource dcterms:subject/dwc:taxonID ?taxon . } GROUP BY ?resource ?totalCount ?totalAmount } # Get additional metadata ?work dcterms:hasPart ?resource ; dcterms:title ?title ; dcterms:issued ?date . } ORDER BY DESC(?pTax) This returns the following table, which is pretty similar to the results obtained with the JavaScript-based algorithm. Resource | Title | Year | Prop. species | Prop. occurrences ---|---|---|---|--- B1288:1 | Les Punaises Pentatomoidea de France | 2015 | 0.87 | 0.96 B2473:1 | Veldgids Wantsen. Pentatomorpha | 2026 | 0.83 | 0.96 B2473:2 | Veldgids Wantsen. Pentatomorpha | 2026 | 0.83 | 0.96 B887:1 | Veldgids wantsen. Deel 1 | 2016 | 0.70 | 0.83 B937:1 | Soortzoeker Schildwantsen van Nederland | 2018 | 0.70 | 0.83 B2569:1 | Щитники Средней Азии (Hemiptera, Pentatomoidea) | 1965 | 0.68 | 0.83 B3094:1 | Tabelle per la determinazione dei piu comuni eterotteri italinai (Heteroptera) | 1989 | 0.62 | 0.79 B1376:1 | Щитники | 1961 | 0.60 | 0.80 B2890:1 | Revisión de los pentatómidos ibéricos (Hemiptera): Parte II. Tribus Aeliini Stål, 1872, Stagonomini nov. nom. (= Eysarcorini auct…) y Carpocorini Distant, 1902 | 1974 | 0.60 | 0.99 … | … | … | … | … It doesn’t account for synonyms yet, nor for the additional factors affecting the ranking of the results in the original implementation. It also cannot find resources without checklists by comparing taxonomic and geographic scopes yet. But this is all possible in SPARQL, and without enormously complicated queries! Overall, it seems like a very viable use case for the GBIF RDF. ### References * Bast, H., & Buchhold, B. (2017). QLever: A Query Engine for Efficient SPARQL+Text Search. _Proceedings of the 2017 ACM on Conference on Information and Knowledge Management_ , 647–656. https://doi.org/10.1145/3132847.3132921 * Page, R. (2026). GBIF as linked data. _iPhylo_. https://doi.org/10.59350/a4tg5-ea822 * Willighagen, L. (2025). _Library of Identification Resources Catalog_ (Versions 2025-08-04) [Dataset]. Zenodo. https://doi.org/10.5281/ZENODO.15552611 * Willighagen, L., & Jongejans, E. (2025). Library of Identification Resources: a FAIR overview of taxonomic keys. _Biodiversity Data Journal_ , _13_. https://doi.org/10.3897/bdj.13.e161726
012 2
Reposted by Lars Willighagen
Rod Page @rdmpage.bsky.social · 24/08/2026
Blog post on @gbif.org as linked data iphylo.blogspot.com/2026/08/gbif... based on some cool work by @andrawaag.bsky.social @jerven.akademienl.social.ap.brid.gy Hannah Bast and @tiagolubiana.bsky.social
iphylo.blogspot.com
GBIF as linked data
Blog by Rod Page on biodiversity informatics, taxonomy, systematics, phylogeny, knowledge graphs, and other topics.
063 6
Reposted by Lars Willighagen
Anna Lighthouse Emoji @venite.mastodon.nl.ap.brid.gy · 22/08/2026
Het blijkt dat ze ter voorbereiding boeken van mij heeft gelezen, op de pof besteld bij boekhandel Athenaeum. Ze trekt een lijstje tevoorschijn met taalkundige correcties en met woorden die ze niet snapte. ‘Wat is in hemelsnaam een OV-fiets?’ Cadeau-link! […]
mastodon.nl
Original post on mastodon.nl
335 5
Reposted by Lars Willighagen
European Food Safety Authority @efsa.europa.eu · 13/08/2026
The emerald ash borer is a beetle whose larvae tunnel beneath the bark of ash trees, cutting off water and nutrients until the tree dies. Have ash trees nearby? If you spot anything report it to your national plant protection organisation. More: www.efsa.europa.eu/en/plh4l #PlantHealth4Life
067 7
Reposted by Lars Willighagen
OS Community Maastricht @oscmaastricht.social.edu.nl.ap.brid.gy · 10/08/2026
"This approach shows once again that it’s better to take an open source solution that is 80% complete and add the remaining 20%, than risking vendor lock-in with an expensive big tech solution." ginaplat.com/en/posts/20260801-nati… About […]
social.edu.nl
Original post on social.edu.nl
044 4
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 06/08/2026
For the third time, an optimization of SWC broke valid JavaScript in the citeproc package: github.com/Juris-M/citeproc-js/pull… (see larsgw.blogspot.com/2024/10/nextjs-… for context)
github.com
Declare pos/len locally in PageRangeMangler listify by shaileshahuja · Pull Request #284 · Juris-M/citeproc-js
Problem In CSL.Util.PageRangeMangler.getFunction, the inner listify helper uses pos and len without declaring them: listify = function (str) { var m, lst, ret; // pos, len missing ...
121 2
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 04/08/2026
Is this allowed in taxonomy? Bleteogonus crassus was published by Kiritshenko (1964) as a nomen nudum, then formally described under the same name by Kiritshenko & Scudder (1973). Is the name not preoccupied? […]
mastodon.social
Original post on mastodon.social
000 0
Reposted by Lars Willighagen
Egon Willigh☮gen 🟥 @egonw.mastodon.social.ap.brid.gy · 01/08/2026
the Library of Identification Resources (identification-resources.github.io) is a cool resource if you want to find how you can determine a species, based on morphology, location, etc. doi.org/10.3897/BDJ.13.e161726 The project has indexed more than 1000 identification […]
mastodon.social
Original post on mastodon.social
001 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 17/07/2026
I just finished migrating the Library of Identification Resources from the GBIF Backbone Taxonomy to the taxonomy of the Catalogue of Life. This went surprisingly well! larsgw.blogspot.com/2026/07/migrati… #taxonomy #GBIF #CatalogueOfLife
larsgw.blogspot.com
Migrating LoIR to the Catalogue of Life taxonomy
The Library of Identification Resources (LoIR) is a database of identification keys and other publications and resources that assist in the taxonomic identification of animals, plants, and fungi. As a result, the database contains a lot of taxonomic info, which can be roughly divided into two parts. Firstly, the taxonomic scope of every identification key or other type of resource is recorded, like “hoverflies” or “Syrphidae” in a key to the hoverflies of Europe. Secondly, if feasible, checklists are made for all of the individual species (or genera, etc.) included in each of the identification keys. Both sets of scientific names of taxa are mapped to external databases to allow easier comparisons and, importantly, to power the search engine. Until two days ago, this external database was the GBIF Backbone Taxonomy, maintained by the Global Biodiversity Information Facility (GBIF). However, in June of 2026, GBIF replaced the GBIF Backbone Taxonomy with the Catalogue of Life (COL). This comes with many improvements, as the Catalogue of Life gets frequent updates, includes taxa with intermediate ranks, and provides an Extended Release (COL XR). The COL XR integrates additional checklists leading to better coverage of less common taxa, obscure synonyms, and recent taxonomic changes, directly affecting the data quality of GBIF. As opposed to the GBIF Backbone Taxonomy, which used to integrate various datasets as well, there also seems to be a clear path for small data publishers like LoIR to contribute to the COL XR. This change also means that LoIR needed to move from the GBIF Backbone Taxonomy to COL (XR) before GBIF fully deprecates the old system. This transition came with its own challenges, for both parts of the taxonomic data in LoIR. Back in 2025, we found that the base release of COL missed 14.3% of the ‘endpoint’ taxa in checklists of identification keys in LoIR, compared to just 3.5% by the GBIF Backbone Taxonomy (Willighagen & Jongejans, 2025). The pressing question for me was whether COL XR could improve on this enough to use it as the main taxonomy in LoIR. Now, after updating the tools used to develop LoIR (see Willighagen, 2026), all identification checklists have been mapped to COL XR instead of COL. This lead to a marked improvement, leaving just 3.5% of endpoint taxa unmapped compared to 5.0% with the GBIF Backbone Taxonomy. Only 1,029 scientific names (0.9%) were mapped to the GBIF Backbone Taxonomy but could not be mapped to COL XR (Fig. 1). This is a good sign! > Note that since 2025, the overall mapping coverage of both COL and the GBIF Backbone Taxonomy decreased, due to the addition of many publications about Heteroptera published between 1880 and 1963. Looking only at checklists added before August 4th, 2025 (see Willighagen, 2025), COL XR misses only 2.4% of endpoint taxa, compared to 3.5% with the GBIF Backbone Taxonomy at the time. **Figure 1:** Alluvial diagram of changes in the coverage of mappings of endpoint taxa in checklists between the GBIF Backbone Taxonomy and COL XR. The other part of the taxonomic info in LoIR, the taxonomic scopes, was more difficult to convert. However, here COL (XR) also offers immense improvements by including taxa with intermediate ranks. For example, say an identification key is intended for all weevils, i.e. the superfamily Curculionoidea. Before, that taxonomic scope had to be mapped to all constituent families, because the GBIF Backbone Taxonomy did not include superfamilies or any other intermediate taxa. Now, it can simply be mapped directly to COL’s entry for Curculionoidea: KV7G2. This was possible for most, but not all taxa. For example, the subfamilies of shield bugs (Pentatomidae) have not been added to COL (XR) yet, and therefore still had to be mapped to all genera separately. The list of taxonomic scopes also contain a lot of taxa that are now considered obsolete, and have to be mapped to multiple current taxa. However, whereas with the GBIF Backbone Taxonomy only 72.5% of taxonomic scopes could be mapped directly, with COL XR this raises to 90.2% (Fig. 2). Additionally, 23 taxa that were not mapped at all in the GBIF Backbone Taxonomy are now mapped to COL (XR). Unfortunately, there were still 5 taxa that could not be mapped to COL (XR) yet, mostly heteropteran genera. COL XR as a whole does still require some additional curation. An issue with COL’s name index meant there are a lot of duplicate entries for the same taxa in the current release of COL XR (26.6). Additionally, some genera have been given an incorrect classification (see the previous link), and as aforementioned, several species, genera, and higher taxa are still missing. This should all improve as COL XR continues to develop though, and now hopefully the data in LoIR could contribute to this! **Figure 2:** Alluvial diagram of changes in the coverage of mappings of taxonomic scopes between the GBIF Backbone Taxonomy and COL XR. After both sets of taxonomic info in LoIR were adapted to use COL XR, the search engine had to be updated to use the new mappings. This process was relatively simple, as GBIF has API endpoints for both the GBIF Backbone Taxonomy and COL XR. The API endpoint for COL XR is technically still experimental, but an equivalent, stable version will likely be added in the future. All in all, I think this is a great succes, and I am excited for future developments. ## References * Willighagen, L. (2025). Library of Identification Resources Catalog (Versions 2025-08-04) [Dataset]. Zenodo. https://doi.org/10.5281/zenodo.16738485 * Willighagen, L. G., & Jongejans, E. (2025). Library of Identification Resources: A FAIR overview of taxonomic keys. _Biodiversity Data Journal_ , _13_ , e161726. https://doi.org/10.3897/BDJ.13.e161726 * Willighagen, L. (2026). identification-resources/formica: v0.10.1 (Version v0.10.1) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.8208214
101 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 14/07/2026
Crossref has added first-class support for blogs in v5.5.0! gitlab.com/crossref/schema/-/releas…
gitlab.com
0.6.0 · crossref / Schema · GitLab
Current versions: grant_id.0.2.0.xsd (non-breaking change) common5.5.0.xsd (non-breaking change) crossref5.5.0.xsd (non-breaking change) common5.4.0.xsd (non-breaking change) crossref5.4.0.xsd (non-breaking change) doi_resources5.4.0.xsd
001 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 10/07/2026
First actual impression of working with the Catalogue of Life XR (Extended Release) is that it seems to work very well! Currently on 10% of mapping the LoIR database, I will take a look at the statistics later.
010 1
Reposted by Lars Willighagen
WikiPathways @wikipathways.fosstodon.org.ap.brid.gy · 29/06/2026
you can now share pathways with a few clicks on Mastodon (thx to the PR by @larsgw) Click on the orange arrow bottom left of the pathway figure, click the Mastodon logo, and get a window to share on your fediverse server #fediverse #openscience #mastodon #biology
Screenshot of the https://www.wikipathways.org/pathways/WP5638 webpage, after clicking the orange "share" button (visible as the curve arrow mid left of the screenshot, right of the "download" icon). In front of it, it shows the WikiPathways "share" dialog with three URLs to share the page, but also a row of five logos for sharing to Facebook, Mastodon, Whatsapp, LinkedIn, and email (in that order). In front of all that, a second browser window with the Mastodon "Share to Mastodon" window, with the example text to share (defaulting to here to "Check out this pathway from @wikipathways@fosstodon.org: Fatty acid beta-oxidation https://www.wikipathways.org/instance/WP5638"), and a paragraph asking for "Your Mastodon Domain", and a big "Continue to Mastodon" button.
0410 10
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 25/06/2026
Are there just no "reverse DOI lookup" APIs for URLs anywhere? Of course some sets of DOIs will resolve to the same URL but even then, no search filter in e.g. Crossref or InvenioRDM?
100 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 24/06/2026
Type locality confusion in the world of ambush bugs (Heteroptera: Phymatinae) larsgw.blogspot.com/2026/06/type-lo… #heteroptera #taxonomy #haiti
larsgw.blogspot.com
Type locality confusion in the world of ambush bugs (Heteroptera: Phymatinae)
While working on adding resources on Heteroptera to the Library of Identification Resources, I came across an observation of this striking observation of an ambush bug (Reduviidae, subfamily Phymatinae) from the Dominican Republic: © Jiri Hodecek, some rights reserved (CC-BY-NC) https://www.inaturalist.org/observations/171587100 It is identified as _Paraphymata saileri_ Kormilev, 1962, a genus and species described from a single specimen from Haiti. In the same publication, _Phymata superba_ Kormilev, 1962 is first described, also described from a single specimen from Haiti. The publication is available online from the publisher (archived). There, the holotype of _Paraphymata saileri_ is described as follows: > ♂, Haiti, Acc. Hinche, August 30, 1930 (H. L. Dozier). Whereas the holotype of _Phymata superba_ is described as: > This species is so striking, that Dr. H. G. Barber put the label “New Gen.-sp. _Has tarsi._ ” > ♂, Haiti Port-au-Prince, August 15, 1924 (W.A. Hoffman). However, looking at the holotypes online show something else, for _Paraphymata saileri_ (link): And for _Phymata superba_ (link): The labels are exactly the other way around! Kormilev’s publication does luckily make it clear which species is which, both in the descriptions and in the associated figures, where fig. 355 (left) belongs to _Paraphymata saileri_ and fig. 356 (right) belongs to _Phymata superba_ (and I must say, are both wonderful drawings, made by Carlos A. Wappers). So, what happened to the labels? Did Kormilev mix up the type localities in his manuscript? Or were the labels mixed up during deposition of the specimens, or in the digitization process? Barber’s confident comment of “New gen+sp.” (as opposed to the “Gen? sp?” in the other set of labels) could make sense for the specimen that actually led to a new genus and species (_Paraphymata saileri_), but both specimens are striking and distinct in their own ways, and _Phymata superba_ is still in its own, new subgenus.
020 2
Reposted by Lars Willighagen
Egon Willigh☮gen 🟥 @egonw.mastodon.social.ap.brid.gy · 20/06/2026
Meeting Peter in Delft :) (also with @larsgw who took the photo)
001 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 14/06/2026
RE: wikis.world/@legoktm/11674988949457… Ha, identification-resources.github.io is a do-the-work site too by that definition, the database being a static CSV file parsed by the client/browser.
wikis.world
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 12/06/2026
Love the map there at the end. about.biodiversitylibrary.org/proje…
about.biodiversitylibrary.org
Field Museum Move – About BHL
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 03/06/2026
The Library of Identification Resources was featured in De Levende Natuur, a Dutch nature magazine (published since 1896) in the rubric "New keys"! delevendenatuurmagazine.nl/de-leven… (subscription required)
delevendenatuurmagazine.nl
Zoekmachine en database voor online sleutels | De Levende Natuur – Nummer 03 2026
De Levende Natuur informeert over onderzoek, beheer en beleving van de natuur in Nederland en België. De artikelen zijn vooral gebaseerd op eigen onderzoek, observatie en ervaring van de auteurs.
001 1
Reposted by Lars Willighagen
Egon Willigh☮gen 🟥 @egonw.mastodon.social.ap.brid.gy · 30/05/2026
yeah, sorry, no updates to the ISAAC Browser Extension. It just works. Do you have to add NWO grant research output to the ISAAC database, and tired of entering all information by hand? Then install this browser extension […]
mastodon.social
Original post on mastodon.social
003 3
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 24/05/2026
A "fun" bibliographical data modelling problem that I am running into: Odo Reuter published his "Hemiptera Gymnocerata Europae" in five volumes from 1878 to 1896. Vol. 3 includes supplements for vols. 1-3 and vol. 4 and 5 include their own supplement (it seems). None of the volumes have their […]
mastodon.social
Original post on mastodon.social
100 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 18/05/2026
Very niche taxonomy pet peeve: authors who don't distinguish between the author citation associated with a name, and citations of publications where a name is used. How are readers meant to tell which of these names are misapplied and which are true synonyms?
Sigara nigrolineata (Fieber) 1848
Syn. : Corisa nigrolineata Fieber. Bull. S. Nat. Mosc., 2, 1848, p. 527.
—  fabricii Fieber. Sp. Cor., 2, 1851, p. 33.
C. pallidula J. Sahlberg, Not. Salls F. F. Fenn. Forh. 1870, p. 306.
Callicorixa fabricii Jaczewski. Ann. Zool. Mus. Pol. Hist. nat. TFL, 1924, p. 55., etc.
000 0
Reposted by Lars Willighagen
daniel:// stenberg:// @bagder.mastodon.social.ap.brid.gy · 17/04/2026
After just having responded to the third #curl security report for the evening I noticed a post that cheered me up... Have a good Friday everyone! www.linkedin.com/posts/moekatib_mil…
(A LinkedIn screenshot)

Millions of people look up to Steve Jobs and Bill Gates. 
My role model is Daniel Stenberg. You've never heard of him. 
His code runs on 10 billion devices, including the one you're reading this post on.

He started building cURL in 1996. It handles data transfer on nearly every phone, console, smart TV, 47 car brands, and it was on the Mars helicopter.

He's also the person who's kept it going for nearly 30 years.
960186 186
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 15/04/2026
What a guy en.wikipedia.org/wiki/George_Willis…
Screenshot of Wikipedia page for George Willis Kirkaldy: "George Willis Kirkaldy (1873 – February 2, 1910) was an English entomologist who specialised on Hemiptera. Amongst his generic names for insects are Ohchisme, Dolichisme, Elachisme, Florichisme, Isachisme, Marichisme, Nanichisme, Peggichisme, and Polychisme. The Greek suffix "-chisme" is pronounced "kiss-me" and Kirkaldy prefaced it with the names of the various women from alleged romantic conquests.[2] In 1912 a letter to the International Entomological Congress from Lord Walsingham sought to make these names invalid on the basis of their being non-classical in their derivation." To the right, an old photo.
010 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 20/03/2026
It is now possible to import your @inventaire library shelves in the Library of Identification Resources to personalize your search results! larsgw.blogspot.com/2026/03/integra…
larsgw.blogspot.com
Integrating inventaire.io with the Library of Identification Resources
One of the main features of the Library of Identification Resources (LoIR)[1][2], is its search engine[3]. It finds applicable taxonomic resources (in the form of books, websites, etc.) for an observation of an organism (consisting of a location and a taxonomic group), and ranks those resources on relevance, usability, and recency. The second factor, usability, is determined from the level of detail of the resource, as well as its accessibility. Resources that are freely available online score higher, so people can more easily find a resource that they can actually use, instead of being directed to but an expensive book. However, maybe you already own that book, in which case it is already accessible. In that case, you would want to be able to specify which books you own so that the search engine can account for that. Luckily, there happens to be a open-data platform to do that: inventaire.io [4]. If you have a public account on inventaire.io, you can now connect this to LoIR. If you go to the new “Settings” page [A], you can click the button “Add inventaire.io shelf” [B]. Here, after entering your username, you can select a shelf. LoIR will automatically match books based on ISBNs and other identifiers. If a match is incorrect, or if it fails to find a match, you can add it manually. Lastly, if there is a match, it will show up on the pages of the individual records as well as in the search results, where it also affects the ranking. ### References 1. Willighagen L. G., Jongejans E. (2025). Library of Identification Resources: a FAIR overview of taxonomic keys. _Biodiversity Data Journal_ 13: e161726. https://doi.org/10.3897/BDJ.13.e161726 2. Willighagen, L. G. (2022-08-06). Library of Identification Resources. _Syntaxus Baccata_ [blog]. https://doi.org/10.59350/h8qka-z4a05 3. Willighagen, L. G. (2025-10-21). Updates to taxonomic coverage and search result scoring. _Syntaxus Baccata_ [blog]. https://doi.org/10.59350/c87y0-72m49 4. Lathuilière, M. (2015-02-09). Mapping resources using open knowledge: starting with books! _InventaireWiki_ [blog]. https://wiki.inventaire.io/wiki/Mapping_resources_using_open_knowledge:_starting_with_books!
001 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 17/03/2026
?? when did they make CJS compatible with ESM, why can I use require for a file with import ??
100 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 04/02/2026
RE: chaos.social/@lukasfx/1160119827895… With this, the Shared Citations proposal (meta.wikimedia.org/wiki/WikiCite/Sh…) would suddenly seem a lot more feasible to me!
chaos.social
200 2
Reposted by Lars Willighagen
Alex McLean @yaxu.post.lurk.org.ap.brid.gy · 12/01/2026
Good news - pubpub is continuing www.knowledgefutures.org/updates/20… #pubpub
knowledgefutures.org
A Path Forward for PubPub
Knowledge Futures mission is to make information useful.
015 5
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 07/01/2026
@maxlath Does the @inventaire API allow people to log in/access their library/shelf from other sites? The spec at api.inventaire.io is not functional at the moment.
api.inventaire.io
Inventaire API
Inventaire HTTP API documentation
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 31/12/2025
Citation.js: 2025 in review. Happy new year! larsgw.blogspot.com/2025/12/citatio…
larsgw.blogspot.com
Citation.js: 2025 in review
This year marks 10 years since development of Citation.js started! _Horvathiolus superbus_ , observed November 18th, 2025, Colares, Portugal. ### Changes * DOI: input data from e.g. Crossref is validated better, and common issues are fixed automatically * RIS: better handling for empty lines and non-standard types (#248) * Wikidata: `'mul'` labels are now used as fallback, and various aspects of input validation are handled * Small improvements were made across the board, especially regarding deprecated libraries and language features. ### New Year’s Eve tradition After the releases on New Year’s Eve of 2016, 2017, and 2021 through 2024, this New Year’s Eve also brings a new release, `v0.7.22`. The documentation of the CSL has gotten a small update, and Wikidata input now supports the publication type of scholarly work (P13046) property. Happy New Year!
111 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 27/12/2025
Waarom wil de NPO zó graag dat we allemaal de NPO Luister-app gebruiken als je daar niet eens de #Top2000 lijst in kan zien?
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 15/12/2025
On iNaturalist, the ID-a-thon has started! The goal is to grow expertise and get more (active) identifiers, to make sure the many observations posted can be used in research. www.inaturalist.org/blog/120975-id-… As part of this, kind of, I'm continuing to add life […]
mastodon.social
Original post on mastodon.social
001 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 15/12/2025
I got the The Oracle archetype! mastodon.social/@larsgw/wrapstodon/… #Wrapstodon2025
mastodon.social
Wrapstodon 2025 for Lars Willighagen
See how Lars Willighagen used Mastodon this year!
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 05/12/2025
It looks like Wageningen University & Research (WUR, www.wur.nl) replaced their entire site search functionality with an LLM! Terrible in and of itself, but it also does not seem to have indexed the whole site, so its results are incomplete, incorrect, and sometimes inappropriate. Shame!
wur.nl
Shape responsible change
Bij WUR innoveren we voor een duurzame wereld en levenskwaliteit.
001 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 03/12/2025
RE: code4lib.social/@bencomp/1156561585… I guessed it in 74 guesses, also out of practice. In fact, I think that I have only looked at the site once in the past two years, so I'm glad it's still running well!
code4lib.social
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 27/11/2025
Annual "ooh it's almost advent of code again" moment
100 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 11/11/2025
If I had a nickel for every time a Spanish woman named María wrote a PhD thesis at Universidad Complutense de Madrid, revising a group of Heteroptera for the Iberian peninsula, I would have at least two nickels. Which isn't a lot, but it's weird that it happened (at least) twice.
000 0
Reposted by Lars Willighagen
Charles Tapley Hoyt @cthoyt.scholar.social.ap.brid.gy · 05/11/2025
@typst it would be cool if I could cite directly using a DOI, and you took care of looking up the metadata from crossref (or wherever) for me. rather than @mcmurry2017 I would love to be able to do @doi:10.1371/journal.pbio.2001414 this is possible in Manubot (manubot.org) - see docs […]
scholar.social
Original post on scholar.social
003 3
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 01/11/2025
Trying to track down the ant species Iridomyrmex cellarum Stärcke, possibly a nomen nudum. All three hits so far are articles from August Stärcke himself, none of which seem to contain a formal description. natuurtijdschriften.nl/pub/1008725/… #taxonomy #ants
110 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 31/10/2025
So depressing how many site now *have* to use CAPTCHAs (Cloudflare or otherwise) due to excessive scraping. GBIF, Waarneming.nl, AntWiki, ...
001 1
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 24/10/2025
Some new functionality for the Library of Identification Resources doi.org/10.59350/c87y0-72m49
larsgw.blogspot.com
Updates to taxonomic coverage and search result scoring
Two parts of the Library of Identification Resources have gotten major updates in the last year. First, the **taxon coverage** field (also labeled “For identifying …” in some places) is now linked to external databases, namely Wikidata and GBIF. Second, the scoring and sorting of search results in the **Find resources** tool was made more transparent and visible. ### Taxon coverage The **taxon coverage** field specifies the taxa to which the identification resource applies. For example, for the _Key to the British Scathophagidae (Diptera)_ by Stuart G. Ball (B17) that would be the family Scathophagidae. Previously, this was a plain-text field. Now, the values are all linked to a separate table. In this table, the rank of the taxon is given, and mappings are made with Wikidata and GBIF. The main taxonomy data in GBIF does not include minor ranks such as superfamilies, subfamilies, and subgenera; for those taxa, the GBIF identifiers of its children are recorded instead. The same goes for outdated taxa which are now considered paraphyletic, or were synonymized or split up. Additionally, the parent taxa of each taxon are recorded, allowing statistics on the number of resources in larger groups. This is also shown on the taxon pages, such as that of Animalia (T55): ### Search result sorting In the **Find resources** tool, available at identification-resources.github.io/find-resources, search results are scored on a number of different factors. The score is now visually displayed next to the taxonomic completeness. When clicking on the scores, their factors are now shown in three groups which are explained in more detail. In addition, results can now be sorted by those specific groups of factors, instead of only by the total score. Results can now also be filtered by language or by characteristics of observations and/or organisms, including keys specifically for females or males, or keys for nests galls, eggs, nymphs, etc.
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 23/10/2025
Turns out there was a bug in the ragg renderer in R that replaces the text "Fe" with "Sr" (or vice versa) for certain font sizes (and probably specific fonts). How does that happen? github.com/r-lib/ragg/issues/193 #rstudio #ggplot
github.com
Esoteric bug with specific text · Issue #193 · r-lib/ragg
Hi Thomas, This is a transfer of tidyverse/ggplot2#6539. Essentially, when trying to render the text 'Sr' and 'Fe', it renders 'Sr' twice instead of each once. In the reprex below, this is why we o...
001 1
Reposted by Lars Willighagen
Egon Willighagen @egonw.social.edu.nl.ap.brid.gy · 15/10/2025
new blog: "20 years of blogging" chem-bla-ics.linkedchemistry.info/2… doi.org/10.59350/v9c2y-4f248 "Today, exactly 20 years ago I started this blog. Two years ago I decided to upgrade my blog to one with version control. A decision I am still […]
social.edu.nl
Original post on social.edu.nl
106 6
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 28/09/2025
One of my first open sources projects, Citation.js (@citationjs), turns 10 years old today! larsgw.blogspot.com/2025/09/10-year…
larsgw.blogspot.com
10 years of Citation.js
10 years ago, on September 28th, 2015, I pushed the first commit of “C[1]”, which would later form the basis of Citation.js. Back then, it was a simple webapp that took bibliographical data from manual input from a form and converted it to APA. I had not learned about Citation Style Language (CSL) or CSL-JSON yet, so the implementation was not particularly interoperable, but it served its purpose: allowing me and my classmates to format bibliographies without stressing over the correct punctuation. In April of 2016 I created the larsgw/citation.js repository on GitHub, containing a JavaScript file for browser usage of Citation.js. In September of the same year, I added support for Node.js, including a CLI. Next, in November of 2018 I moved most of the code to a new repository under the new `citation-js` GitHub organization. Finally, in 2019 I published an article in _PeerJ Computer Science_ (doi:10.7717/peerj-cs.214) on the software and mappings. Since then, development has been relatively stable. During that time, it has been used in several projects. We have used it in Scholia for importing metadata from DOIs and ISBNs and exporting citations. At the Cuneiform Digital Library Initiative we use it to provide page citations and for importing BibTeX metadata. Additionally, it is used in Forgejo (and Gitea) to implement CITATION.cff support, which can also be seen on Codeberg. It is also used in several blogs and personal websites. If you know of any other cool uses, please let me know! On to the next 10 years! _Stomorhina lunata_ , 9.vi.2025, Noorbeek, NL
000 0
Lars Willighagen @larsgw.mastodon.social.ap.brid.gy · 17/09/2025
De eerste paar edities van Heukels' Flora schrijven "Vergiftig!" (als zelfst. naamwoord) in plaats van gewoon "Giftig!", iemand enig idee of dat toen meer gangbaar was? Of lag het meer aan de schrijver, welk van de twee werd gebruikt? #nederlands #taal #planten
100 1