summaryrefslogtreecommitdiffhomepage
path: root/resources/pug/finals/conferences.pug
diff options
context:
space:
mode:
Diffstat (limited to 'resources/pug/finals/conferences.pug')
-rw-r--r--resources/pug/finals/conferences.pug250
1 files changed, 0 insertions, 250 deletions
diff --git a/resources/pug/finals/conferences.pug b/resources/pug/finals/conferences.pug
deleted file mode 100644
index 498f137..0000000
--- a/resources/pug/finals/conferences.pug
+++ /dev/null
@@ -1,250 +0,0 @@
-extends /layout.pug
-
-block extra_head
- style.
- table.conferences tr.year {
- border-color: black;
- border-style: solid;
- border-width: 1px 0 0 0;
- }
-
- table.conferences tr.spacer {
- height: .8ex;
- }
-
- table.conferences tr.year td {
- padding-bottom: .4ex;
- }
-
- table.conferences tr.entry {
- color: gray;
- }
-
- table.conferences td, table.conferences th {
- white-space: nowrap;
- }
-
- table.conferences td:last-child {
- white-space: normal;
- }
-
- table.conferences i.fas, table.conferences i.fab {
- margin-right: .2ex;
- }
-
-block titleContainer
-
-block content
- -
- const BIKE_CARBON_FOOTPRINT_KM = 30;
- const DOMESTIC_FLIGHT_THRESHOLD = 500;
-
- h1
- a(href='/') #[i.fas.fa-arrow-circle-left]
- |  Visited conferences
-
- div.alert.alert-info
- p.
- This page gives an overview of the conferences, workshops, and summer schools I have visited together with the #[strong travel carbon footprint].
- The #[strong accomodation] I used is also listed, but not included in the carbon footprint.
- The calculation is based on averages from #[a.alert-link(href='https://ourworldindata.org/travel-carbon-footprint', target='_blank') Our World in Data].
-
- p.
- For #[strong biking], I counted 30 g CO#[sub 2] / km as a rough estimate based on my diet.
- #[strong Flights] shorter than 500km are counted as 'domestic' (255 g / km), otherwise they are counted as short/long-haul (averaged on 153 g / km).
- #[strong Trains] in the Netherlands probably emit less than the estimate from Our World in Data because #[a.alert-link(href='https://www.ns.nl/over-ns/duurzaamheid/fossielvrij', target='_blank') the NS runs on wind energy].
-
- p.
- The carbon footprint per capita of the Netherlands was #[strong 9.66] t in 2017 (26,448 g / day), according to #[a.alert-link(href='https://ourworldindata.org/co2/country/netherlands?country=NLD~DEU~DNK~SWE~FRA~BEL', target='_blank') Our World in Data].
- The global average was #[strong 4.79] t in 2016 (13,114 g / day), according to #[a.alert-link(href='https://www.worldometers.info/co2-emissions/co2-emissions-per-capita/', target='_blank') Worldometer].
-
- p.
- Transport, aviation, and shipping #[a.alert-link(href='https://ourworldindata.org/grapher/ghg-emissions-by-sector?time=latest&country=~NLD', target='_blank') make up 34% of emissions in the Netherlands].
- For the average Dutch person this is #[strong 3.28] t per year or #[strong 8,992] g per day (but note that this includes more than personal travel).
- Worldwide, we have #[a.alert-link(href='https://ourworldindata.org/emissions-by-sector#transport-16-2', target='_blank') 16.2% of emissions from transport], which makes this figure #[strong 0.78] t per year or #[strong 2,125] g per day per capita.
-
- p.
- Please let me know if you think some of the calculations can be improved!
-
- -
- // Accepts "Y-M-D to [[Y-]M-]D", i.e. you can leave out repeated parts in
- // the second date. "2019-7-8 to 10" means "2019-7-8 to 2019-7-10".
- // You can also give only one date.
- function parse_date_range(s) {
- s = s.split(' to ').map(d => d.split('-'));
-
- let from = {year: s[0][0], month: s[0][1], day: s[0][2]};
-
- // If only day or month-day is given in the second date, add year-month
- // or year from the first date.
- let to;
- if (s.length == 1)
- to = from;
- else if (s[1].length == 1)
- to = {year: from.year, month: from.month, day: s[1][0]};
- else if (s[1].length == 2)
- to = {year: from.year, month: s[1][0], day: s[1][1]};
- else
- to = {year: s[1][0], month: s[1][1], day: s[1][2]};
-
- return {
- from: new Date(from.year, from.month-1, from.day),
- to: new Date(to.year, to.month-1, to.day)
- };
- }
-
- function nr_of_days(conf) {
- return 1 + (conf.to - conf.from) / 24 / 3600 / 1000;
- }
-
- // Computes footprint in grams CO2, according to
- // https://ourworldindata.org/travel-carbon-footprint.
- // See the explanation in the paragraph at the top of the page.
- function compute_carbon_footprint(conf) {
- let footprint = 0;
-
- if (conf.bike)
- footprint += BIKE_CARBON_FOOTPRINT_KM * conf.bike;
- if (conf.ferry)
- footprint += 19 * conf.ferry;
- if (conf.plane)
- footprint += (conf.plane < DOMESTIC_FLIGHT_THRESHOLD ? 255 : 153) * conf.plane;
- if (conf.train)
- footprint += 41 * conf.train;
-
- return footprint * (conf.multiplier || 2);
- }
-
- function year_summary(conferences, year) {
- conferences = conferences.filter(c => c.from.getFullYear() == year);
-
- let summary = {
- conferences: conferences.length,
- total_days: Math.round(conferences.map(nr_of_days).reduce((x,y) => x + y, 0)),
- total_footprint: conferences.map(compute_carbon_footprint).reduce((x,y) => x + y, 0),
- };
- summary.total_footprint_percentage = Math.round(100 * summary.total_footprint / 3284400);
- summary.total_footprint_per_day = summary.total_footprint / summary.total_days;
-
- return summary;
- }
-
- let conferences = [];
-
- mixin conf(dates, location, distance, shorttitle, title)
- -
- let conf = parse_date_range(dates);
- conf.location = location;
- conf.distance = distance;
- conf.shorttitle = shorttitle;
- conf.title = title || shorttitle;
-
- Object.assign(conf, attributes);
-
- conf.footprint = compute_carbon_footprint(conf);
-
- conferences.push(conf);
-
- mixin listconferences()
- -
- conferences.sort((x,y) => y.from - x.from || y.to - x.to);
- let last_year = null;
-
- table.conferences
- thead
- tr
- th Year
- th Month
- th Location
- th Travel modes
- th(colspan=2) Carbon footprint (g CO#[sub 2])
- th Accomodation
- th Title
-
- - for (const conf of conferences)
- if last_year != conf.from.getFullYear()
- - last_year = conf.from.getFullYear();
- - let summary = year_summary(conferences, last_year);
- tr.spacer
- tr.year
- td= conf.from.getFullYear()
- td(colspan=7).
- #[strong= summary.conferences] conference#{summary.conferences == 1 ? '' : 's'}
- over #[strong= summary.total_days] day#{summary.total_days == 1 ? '' : 's'},
- for a total of #[strong= (summary.total_footprint).toLocaleString('en')] g CO#[sub 2]
- (#{summary.total_footprint_percentage.toLocaleString('en')}% of the yearly Dutch average),
- averaging #[strong= (summary.total_footprint_per_day).toLocaleString('en', {maximumFractionDigits: 0})] g CO#[sub 2] / day.
-
- tr.entry
- td
-
- td(title!=conf.from.toDateString() + ' to ' + conf.to.toDateString())
- = conf.from.toLocaleString('default', {month: 'short'})
- if conf.from.getMonth() != conf.to.getMonth()
- | –
- = conf.to.toLocaleString('default', {month: 'short'})
-
- td
- = conf.location
- if conf.distance
- = ' (' + (conf.distance).toLocaleString('en') + 'km)'
-
- td
- if conf.bike
- i.fas.fa-bicycle(alt='Bike', title!='Bike: ' + conf.bike + 'km one-way')
- if conf.ferry
- i.fas.fa-ship(alt='Ferry', title!='Ferry: ' + conf.ferry + 'km one-way')
- if conf.train
- i.fas.fa-train(alt='Train', title!='Train: ' + conf.train + 'km one-way')
- if conf.plane
- i.fas.fa-plane(alt='Plane', title!='Plane: ' + conf.plane + 'km one-way')
-
- td.text-right= (conf.footprint).toLocaleString('en')
-
- td.text-right= (conf.footprint / nr_of_days(conf)).toLocaleString('en', {maximumFractionDigits: 0}) + ' / day'
-
- td
- if conf.airbnb
- i.fab.fa-airbnb(alt='Airbnb', title='Airbnb')
- if conf.hotel
- i.fas.fa-hotel(alt='Hotel', title='Hotel')
- if conf.friendstay
- i.fas.fa-home(alt='With a friend', title='With a friend')
-
- td
- a(href!=conf.url, target='_blank', title!=conf.title)!= conf.shorttitle
-
- +conf('2017-1-6', 'Nijmegen', 45, 'NL-FP Day', 'Dutch Functional Programming Day')(train=40, url='https://clean.cs.ru.nl/NL-FP_dag_2017')
- +conf('2017-7-10 to 21', 'Leiden', 61, 'Summer School in Languages and Linguistics', 'Leiden Summer School in Languages and Linguistics')(train=75, multiplier=20, url='https://www.universiteitleiden.nl/en/education/study-programmes/summer-schools/summer-school-in-languages-and-linguistics')
-
- +conf('2018-1-5', 'Apeldoorn', 41, 'NL-FP Day', 'Dutch Functional Programming Day')(train=61, url='https://clean.cs.ru.nl/NL-FP_dag_2018')
- +conf('2018-1-26', 'Nijmegen', 0, 'CLIN', 'Computational Linguistics in the Netherlands')(url='https://clin28.cls.ru.nl/')
-
- +conf('2019-7-8 to 10', 'Cambridge', 393, 'BHLAP', 'Biblical & Rabbinic Hebrew: New Perspectives in Philology & Linguistics')(bike=305, ferry=200, airbnb, url='https://www.ames.cam.ac.uk/whats-on/events-archive/biblical-rabinic-hebrew-conference')
- +conf('2019-10-7 to 8', 'Utrecht', 59, 'CLSoR', 'Workshop on Cross-Linguistic Semantics of Reciprocals')(train=72, friendstay, url='https://rocky.sites.uu.nl/workshop-on-cross-linguistic-semantics-of-reciprocals/')
-
- +conf('2020-1-10', 'Amsterdam', 88, 'NL-FP Day', 'Dutch Functional Programming Day')(train=100, url='https://sites.google.com/view/nl-fp-day-2020/home')
- +conf('2020-3-31', 'Online', 0, '#SemiticsTwitterCoronaConference')(url='https://www.academia.edu/42297049/')
- +conf('2020-10-11', 'Online', 0, 'Syntax Workshop')(url='https://sites.google.com/view/syntaxworkshop')
- +conf('2020-11-29 to 12-11', 'Online', 0, 'SBL Annual', 'SBL Annual Meeting')(url='https://www.sbl-site.org/meetings/Congresses_Abstracts.aspx?MeetingId=37')
-
- +conf('2021-10-25 to 11-22', 'Online', 0, 'ETT', 'Emerging Topics in Typology')(url='https://www2.helsinki.fi/en/conferences/emerging-topics-in-typology')
-
- +conf('2022-01-12 to 14', 'Online', 0, 'AIL2', 'Agency and Intentions in Language')(url='https://ail-workshop.github.io/AIL2-Workshop/')
- +conf('2022-08-24 to 27', 'Bucharest', 1700, 'SLE 2022', 'Societas Linguistica Europaea')(train=107, plane=1800, airbnb, url='https://societaslinguistica.eu/sle2022/')
- +conf('2022-11-19 to 22', 'Denver', 7840, 'SBL 2022', 'Society of Biblical Literature')(train=107, plane=7748, hotel, url='https://www.sbl-site.org/meetings/AnnualMeeting.aspx')
- +conf('2022-12-8 to 9', 'Tilburg', 62, 'CogLing Days 9', 'CogLing Days 9')(train=68, multiplier=4, url='https://benecla.com/')
-
- +conf('2023-7-10 to 21', 'Leiden', 100, 'Summer School in Languages and Linguistics', 'Leiden Summer School in Languages and Linguistics')(train=115, multiplier=20, url='https://www.universiteitleiden.nl/en/education/study-programmes/summer-schools/summer-school-in-languages-and-linguistics')
- +conf('2023-10-5 to 6', 'Brussels', 174, 'BCGL16', 'Brussels Conference on Generative Linguistics 16')(train=174, airbnb, url='https://www.crissp.be/bcgl-16-the-morphosyntax-of-speaker-and-hearer/')
- +conf('2023-10-11 to 13', 'Nice', 1100, 'SPE12/OASIS3', 'Semantics and Philosophy in Europe 12 / Ontology As Structured by the Interfaces with Semantics 3')(train=1100, airbnb, url='https://spe-uca.sciencesconf.org/')
-
- +conf('2024-2-2', 'Utrecht', 59, 'GTD 2024', 'Grote Taaldag')(train=72, friendstay, url='https://anela.nl/activiteiten/grote-taaldag/')
- +conf('2024-10-24 to 25', 'Online', 0, 'Puzzles of Agreement')(url='https://sites.google.com/view/puzzlesofagreement/')
-
- +conf('2025-1-31', 'Utrecht', 59, 'GTD 2025', 'Grote Taaldag')(train=72, friendstay, url='https://anela.nl/activiteiten/grote-taaldag/')
- +conf('2025-2-8 to 9', 'Online', 0, 'IcoSem3', 'Iconicity Seminar 3')(url='https://ianjoo.github.io/icosem/3.html')
- +conf('2025-8-26 to 29', 'Bordeaux', 912, 'SLE 2025', 'Societas Linguistica Europaea')(train=1050, hotel, url='https://societaslinguistica.eu/sle2025/')
- +conf('2025-11-7', 'Amsterdam', 88, 'CLABH', 'Cognitive Linguistic Approaches to Biblical Hebrew')(train=100, url='https://etcbc.nl/bible/cognitive-linguistic-approaches-to-biblical-hebrew-hybrid-expert-meeting-7-november-2025/')
-
- +listconferences()