Skip to content

Instantly share code, notes, and snippets.

@larsgw
larsgw / prior_art.csv
Last active Jun 21, 2021
Identification resource file formats
View prior_art.csv
name url features notes
Structured Descriptive Data (SDD) https://github.com/tdwg/sdd No clear documentation, especially how to use it for identification keys
LIF3 https://help.lucidcentral.org/lucid/lif3-lucid-interchange-format-version-3-files/ No notable official documentation at all, used mainly (only?) by expensive application
NBIC's identification key widget data model https://github.com/Artsdatabanken/identification_key/blob/master/Data%20format%20(en).md Matrix/dichotomous keys, subsets, morphs, multiple levels Standardised but usage is specific to Norway (and Norwegian Biodiversity Information Centre even)
Artfakta artnycklar JSON format https://artfakta.se/artbestamning/artnycklar Matrix/dichotomous keys, ??? Ostensibly only used internally
Soortzoekers JSON format https://determineren.nederlandsesoorten.nl/ Matrix keys, morphs/subets (?), multiple levels Ostensibly only used internally
DELTA https://www.delta-intkey.com/www/standard.htm Matrix/dichotomous keys, no media Not entirely s
@larsgw
larsgw / issn.js
Last active Jun 17, 2021
Reversible ISSNs
View issn.js
const fs = require('fs').promises
const path = require('path')
async function main () {
const file = await fs.readFile(path.join(__dirname, 'Downloads/issns.csv'), 'utf8')
const issns = new Set(file.trim().split('\n').slice(1))
const printed = new Set()
for (const issn of issns) {
if (printed.has(issn)) continue
const [a, b] = issn.split('-')
@larsgw
larsgw / csl-data.json
Created May 2, 2020
Example CSL-JSON file
View csl-data.json
[{
"type": "article",
"title": "Example CSL-JSON file",
"author": [{
"family": "Willighagen",
"given": "Lars"
}],
"issued": {
"date-parts": [[2020, 5, 2]]
},
@larsgw
larsgw / types.json
Created Jan 1, 2019
Initial test to create Wikidata <-> CSL mapping
View types.json
{
"Q571": "book",
"Q922203": "book",
"Q19705": "book",
"Q191067": "article",
"Q59908": "article",
"Q216665": "book",
"Q190399": "pamphlet",
"Q327611": "pamphlet",
"Q1173065": "book",
@larsgw
larsgw / bibtex.grammar
Created Jul 19, 2018
BibTeX PEG.js grammar
View bibtex.grammar
// BibTeX Grammar
// ==============
{
const join = array => array.join('')
const toObject = array => array.reduce((object, [key, value]) => {
object[key] = value
return object
}, {})
@larsgw
larsgw / id.md
Created Nov 27, 2017
Testing GitHub Markdown
View id.md

dataType

dataType {#customId}

View output.bbl
\bibitem{Rijswijk2017}
1. van Rijswijk,M., Beirnaert,C., Caron,C., Cascante,M., Dominguez,V., Dunn,W.B., Ebbels,T.M.D., Giacomoni,F., Gonzalez-Beltran,A., Hankemeier,T., {\em et al.,} (2017) The future of metabolomics in ELIXIR. {\em F1000Research,}, {\bf 6}, 1649+. undefined
\bibitem{Diehl2016}
2. Diehl,A.D., Meehan,T.F., Bradford,Y.M., Brush,M.H., Dahdul,W.M., Dougall,D.S., He,Y., Osumi-Sutherland,D., Ruttenberg,A., Sarntivijai,S., {\em et al.,} (2016) The Cell Ontology 2016: enhanced content, modularization, and ontology interoperability. {\em J Biomed Semantics,}, {\bf 7}. undefined
\bibitem{Kuhn2017}
3. Kuhn,T., Willighagen,E., Evelo,C., Queralt-Rosinach,N., Centeno,E. and Furlong,L.I. (2017) Reliable Granular References to Changing Linked Data. In {\em The Semantic Web – ISWC 2017,}. undefined
\bibitem{Mons2011}
@larsgw
larsgw / README.md
Last active Jul 23, 2017
Citation.js API on Runkit Docs
View README.md

This is a small API to test the Runkit endpoints.

API syntax

/$DATA/$STYLE/$TYPE

Where $DATA is input data, $STYLE is output style and $TYPE is output type. For documentation on output style and type, see the Citation.js docs.

/
@larsgw
larsgw / main.txt
Created May 27, 2017
cURL https doi.org -> http data crossref.org
View main.txt
$ curl -vILH 'Accept: application/vnd.citationstyles.csl+json' https://doi.org/10.1126/science.169.3946.635
* Hostname was NOT found in DNS cache
* Trying 63.123.152.248...
* Connected to doi.org (63.123.152.248) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
@larsgw
larsgw / app.js
Last active Jan 15, 2017
Frame function and dependency functions to move a CSS "car"
View app.js
function deg(a){return a*(180/Math.PI);}
function rad(a){return a*(Math.PI/180);}
function sin(a){return Math.sin(rad(a))}
function cos(a){return Math.cos(rad(a))}
function tan(a){return Math.tan(rad(a))}
function asin(a){return deg(Math.asin(a))}
function acos(a){return deg(Math.acos(a))}
function atan(a){return deg(Math.atan(a))}
var mov = { w:0,a:0,s:0,d:0,i:0,k:0,t:0,f:0,g:0,h:0 },