From 2a38cb00c5752f8c1c3ef222550dbc84e7dc0c9b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Jul 2024 02:03:11 +0000 Subject: [PATCH] jekyll build from Action d43e882368f33a26ce0d3446eddb0e986aff5db2 --- .nojekyll | 0 404.html | 20 + README.md | 103 ++++ about/index.html | 83 +++ add-event/index.html | 149 +++++ assets/calendars/main.Europe-Berlin.ics | 496 ++++++++++++++++ assets/calendars/main.Europe-London.ics | 496 ++++++++++++++++ assets/calendars/main.ics | 498 ++++++++++++++++ assets/css/style.css | 747 ++++++++++++++++++++++++ assets/css/style.css.map | 1 + assets/minima-social-icons.svg | 7 + build.sh | 3 + feed.xml | 1 + index.html | 121 ++++ requirements.txt | 4 + subscribe/index.html | 139 +++++ 16 files changed, 2868 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 README.md create mode 100644 about/index.html create mode 100644 add-event/index.html create mode 100644 assets/calendars/main.Europe-Berlin.ics create mode 100644 assets/calendars/main.Europe-London.ics create mode 100644 assets/calendars/main.ics create mode 100644 assets/css/style.css create mode 100644 assets/css/style.css.map create mode 100644 assets/minima-social-icons.svg create mode 100755 build.sh create mode 100644 feed.xml create mode 100644 index.html create mode 100644 requirements.txt create mode 100644 subscribe/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..d98598d --- /dev/null +++ b/404.html @@ -0,0 +1,20 @@ + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/README.md b/README.md new file mode 100644 index 0000000..afe8392 --- /dev/null +++ b/README.md @@ -0,0 +1,103 @@ +# RSE Calendar project + +This repository contains code for building a Jekyll site that shows upcoming +events and builds and hosts .ics calendar files of those events that can be +subscribed to. It was built with the idea of providing a central website +containing research software engineering events in the UK that can be +contributed to easily. + +## Contributing an event to the calendar + +The calendar site is designed to show events only in one timezone (currently +[Europe/London](https://www.zeitverschiebung.net/en/timezone/europe--london)). +The ICalendar files built as part of the site deployment do support multiple +timezones but when contributing an event it's important to ensure you contribute +your events with times adjusted for [Europe/London]. + +There are 2 main ways to contribute an event to the calendar: + +- [Using GitHub Issues Template](#submit-using-github-issues) +- [Submit as a pull request](#submit-as-a-pull-request) + +### Submit using GitHub Issues + +You can use the [Add event GitHub Issue +template](https://github.com/Sparrow0hawk/rse-calendar/issues/new?assignees=&labels=add-event&projects=&template=add-an-event-template.md&title=%5BEVENT+TITLE%5D) +to submit an issue where you complete the yaml block with details of your event +to trigger a GitHub action workflow that automatically submits a pull request +with your event details to the project. Allowing you to contribute an event +without touching any code! + +This pull request will need to be approved before your event appears on the website. + +> **Note** +> Your Pull request will be closed and immediately re-opened to trigger the +> test-build validation action. This is due to limitations with how GitHub +> actions can trigger other GitHub actions. + +### Submit as a Pull Request + +To add an event to the calendar you should suggest a [pull +request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request?tool=webui) +to the repository that updated the [main data file](./_data/main.yaml) to add a new +event to the events section with the following YAML format: + +```yaml + - summary: title of your event + description: | + A description of your event that can be + over many lines + With URLs wrapped in + location: A location (virtual or in real life) + begin: YYYY-mm-DD HH:MM:SS + # duration should contain a unit of time: minute, day, hour + # and an numeric value + duration: { minutes: 45 } + event_url: www.example.com +``` + +> **Note** +> To ensure any extra URLs or email address in the description field are +> clickable, wrap them in angle brackets to allow the +> [Kramdown +> processor](https://kramdown.gettalong.org/syntax.html#automatic-links) to +> properly convert them into anchor elements. + +We'll do our best to get to your pull request and merge it so your event is +shown on the website and in the calendar feed. + +## Contributing to the site + +First, thank you for wanting to contribute! We're very happy to review and +accept contributions from others to improve this site. + +To get started you should: + +1. Make a [fork](https://github.com/Sparrow0hawk/git-calendar-test/fork) of this + repository +2. Clone your fork locally +3. To run the site locally you will need: + - Ruby 2.7, I'd recommend installing this via + [rvm](https://github.com/rvm/rvm) + - Python 3 +4. Once Ruby is installed you can install the required Ruby Gems with `bundle + install` +5. To run the Python steps locally you will need to install the required + packages. I'd recommend doing this with the following steps: + 1. Create a virtual environment `python -m venv venv` + 2. Activate the virtual environment `source venv/bin/activate` + 3. Install the dependencies into the virtual environment `pip install -r + requirements.txt` +6. With Python setup steps completed to you can do the following steps to + generate the calendar files and to generate posts from the main data file +7. To create the calendar files: `./build.sh` will run the git-calendar tool +8. To create posts from the data file: `python _scripts/generate_posts.py` +9. Now you've done all the prep you can run the site locally using `bundler exec + jekyll serve` + +## Acknowledgements + +This projects builds on: + +- The coderefinery [git-calendar tool](https://github.com/coderefinery/git-calendar-template) +- Themes from [Jekyll minima](https://github.com/jekyll/minima) diff --git a/about/index.html b/about/index.html new file mode 100644 index 0000000..5b0c14b --- /dev/null +++ b/about/index.html @@ -0,0 +1,83 @@ + + + + + + + + +
+
+
+ +
+

About

+
+ +
+

This is a Jekyll site that shows a live calendar of Research Software +Engineering related events.

+ +

It is inspired and builds on:

+ + + +
+ +
+ +
+
+ + + diff --git a/add-event/index.html b/add-event/index.html new file mode 100644 index 0000000..955c429 --- /dev/null +++ b/add-event/index.html @@ -0,0 +1,149 @@ + + + + + + + + +
+
+
+ +
+

Add an Event

+
+ +
+

The calendar site is designed to show events only in one timezone (currently +Europe/London). +The ICalendar files built as part of the site deployment do support multiple +timezones but when contributing an event it’s important to ensure you contribute +your events with times adjusted for Europe/London.

+ +

There are 2 main ways to contribute an event to the calendar:

+ + + +

Submit using GitHub Issues

+ +

You can use the Add event GitHub Issue +template +to submit an issue that includes a yaml block with details of your event. +This will trigger a GitHub action workflow that automatically submits a pull request +with your event details to the project. Allowing you to contribute an event +without touching any code!

+ +

When submitting using the GitHub issue you should ensure:

+ +
    +
  • +

    If any field you enter contains a colon, you should wrap the field in +quotation marks to avoid the YAML parser interpreting the colon as a new key +i.e.

    + +

    event_url: https://www.example.com

    + +

    event_url: "https://www.example.com"

    +
  • +
  • +

    If you enter a field over multiple lines like the description field make sure +the indentation level is the same across all lines +i.e.

    +
    ❌  description: |
    +            My fantastic event
    +          is going to be
    +        amazing!
    +
    +✅ description: |
    +            My fantastic event
    +            is going to be
    +            amazing!
    +
    +
  • +
+ +

Submit an event via a pull request

+ +

To add an event to the calendar you can suggest a pull +request +to the repository that updates the main data file to add a new +event to the events section with the following YAML format:

+ +
- summary: title of your event
+  description: |
+    A description of your event
+    over multiple
+    lines.
+    These should all be indented and have the same 
+    indentation level as the first line.
+    Any URLs should be wrapped in brackets i.e. <www.example.com>
+  location: A location (virtual or in real life)
+  begin: YYYY-mm-DD HH:MM:SS
+  # duration should contain a unit of time: minute, day, hour 
+  # and an numeric value
+  duration: { minutes: 45 }
+  event_url: A URL not wrapped in brackets linking to your event page 
+
+ +

We’ll do our best to get to your pull request and merge it so your event is +shown on the website and in the calendar feed.

+ +
+ +
+ +
+
+ + + diff --git a/assets/calendars/main.Europe-Berlin.ics b/assets/calendars/main.Europe-Berlin.ics new file mode 100644 index 0000000..50b4d2e --- /dev/null +++ b/assets/calendars/main.Europe-Berlin.ics @@ -0,0 +1,496 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:ics.py 0.8.0.dev0 - http://git.io/lLljaA +BEGIN:VTIMEZONE +TZID:/ics.py/2020.1/Europe/Berlin +BEGIN:DAYLIGHT +TZOFFSETFROM:+0100 +TZOFFSETTO:+0200 +DTSTART:19700329T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU +RDATE:19700329T020000 +TZNAME:CEST +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:+0200 +TZOFFSETTO:+0100 +DTSTART:19701025T030000 +RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU +RDATE:19701025T030000 +TZNAME:CET +END:STANDARD +LAST-MODIFIED:20200620T153818Z +X-LIC-LOCATION:Europe/Berlin +END:VTIMEZONE +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230604T100000 +DURATION:PT45M +SUMMARY:PyData London +UID:a5e6905a-16be-4632-b061-5954182f9543@a5e6.org +DESCRIPTION:SocRSE trustee Martin O'Reilly will be giving one of the PyData + London\nkeynotes on 4 June 2023. It will be on the topic of RSEs and + similar\nroles\, exploring the similarities and differences between these + and\nequivalent non-R(esearch) roles and how people can make the + transition\nfrom non-R roles to RSE roles and similar. +LOCATION:Warwick +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230602T190000 +DURATION:PT1H +SUMMARY:Surveying AI Safety Research Directions +UID:79e762f9-158d-4579-863d-ea5eef8c20af@79e7.org +DESCRIPTION:Are you curious about what is going with AI in the media and + all the\nsafety considerations and how one might be able to contribute? + Then this\ntalk is for you! \n\nTitle: Surveying AI Safety Research + Directions\nSpeaker: Dan Hendrycks (Center for AI Safety)\nLocation: Zoom + [\, passcode: + DanHEdi23]\nRSVP[free]: + \nAbstract: ML systems + are rapidly increasing in size\, are acquiring new\ncapabilities\, and are + increasingly deployed in high-stakes settings. In\nthis presentation\, + I'll give a whirlwind tour of directions in safety\,\nnamely withstanding + hazards (“Robustness”)\, identifying hazards\n(“Monitoring”)\, reducing + inherent ML system hazards (“Alignment”). +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230606T190000 +DURATION:PT1H +SUMMARY:AI Beyond STEM: digital skills to unleash the power of data science + and AI for all +UID:6d1427b4-5aaa-4a8e-84e6-6906fc2accba@6d14.org +DESCRIPTION:Hosted by SocRSE Trustee David Beavan\, what are the AI skills + (and RSEs\nare part of that\, right) needed in the big world outside of + STEM? This\nonline-only panel event will bring together experts from + diverse\nbackgrounds\, including digital humanities\, linguistics\, + zoology\, and more\,\nto discuss the digital skills that are essential for + future success in\ntheir fields. We will explore the specific challenges + and opportunities of\napplying these technologies in non-STEM fields and + gather ideas for next\nsteps in developing the necessary skills and + knowledge. Then it is over to\nyou\, the audience\, to pose questions of + the panel and share your\nexperiences. \n- Kaspar Beelen\, Technical + Lead\, Digital Humanities\, School of Advanced Studies\n- Mathilde Daussy- + Renaudin\, Ph.D. Candidate\, UCL/Oxford University\n- Lydia France\, + Research Data Scientist\, The Alan Turing Institute\n- Katie Ireland\, + DigiLab\, University of Georgia\n\nRegister + -\n +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230606T140000 +DURATION:PT1H +SUMMARY:Byte-sized RSE session 8 - README files +UID:cec53409-68c0-4b44-8e69-ff62890be6d6@cec5.org +DESCRIPTION:In this final session of the first series of byte-sized RSE\, + we'll look at\nthe humble README file! Not a default and often ignored + file in the root\nof your project directory but a hugely important place + for a range of\ninformation that can make or break the success of your + project - join us\non Tuesday 6th June to learn more. \n\nRegistration + now open - +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230619T100000 +DURATION:P11D +SUMMARY:SSI Research Software Camp +UID:0fdde9cf-993a-46e4-99ab-f044ad7e0b87@0fdd.org +DESCRIPTION:Our next Research Software Camp is taking place from 19 to 30 + June 2023. Find out more about the Research Software Camp. \nThe Software + Sustainability Institute runs free online Research Software Camps\nonce a + year over the course of two weeks. Each Camp focusses on + introducing\nbasic research software skills and good practices\, as well + offering one.\n\n +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230905T100000 +DURATION:P2D +SUMMARY:RSECon23 +UID:3001d3a4-d7a6-418c-812c-03d5ec9acc30@3001.org +DESCRIPTION:UK-based (at Swansea University) the SocRSE conference. + \nRegistrations - both in person and remote - are now open. Members of + the\nSociety should have received a coupon code for a discount. + Contact\n if you don't have it\, but are a + fully paid-up\nmember. Note: This discount also applies to people + attending remotely.\nIt's worth joining the Society for the in person + conference discount\nalone!\nConference registration is here: + . \nThe Call for + Volunteers remains open: .\n\nAlso\, if you can\, please help us find + organisations willing to sponsor the\nconference + + -\nperhaps the very organisation you work for? +LOCATION:Swansea University (Remote available) +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230627T110000 +DURATION:PT1H +SUMMARY:18th HiRSE Seminar - Neil Chue Hong: Can Software Metrics Improve + Software Quality? +UID:5382a580-cd47-41eb-b9f3-53145ba84d9d@5382.org +DESCRIPTION:Software quality in computational science and engineering can + be interpreted in two ways: does the software implement the algorithm or + simulate the phenomenon as expected\, and does it perform as expected i.e. + does it scale\, is it maintainable\, is it secure?\n\nSoftware metrics + are the degree to which a software system possesses some relevant + property. Many software metrics are defined as quantitative measurements + based on the analysis of source code. Others\, such as those being + developed by the CHAOSS initiative\, focus on measuring the ability of a + project to deliver software that meets various criteria\, such as + community health or development efficiency.\n\nA key question is how + useful software metrics are in improving software quality when applied to + development in computational science and engineering\, which can differ + from software engineering in other areas because of evolving or unclear + requirements\, deployment to large-scale systems and architectures\, and + focus on performance.\n\nI will consider which types of software metric + might benefit researcher-developers and research software engineers + working in computational science and engineering. Can useful metrics be + identified by considering the differences in the way that software is + developed these fields? +LOCATION:The talk will be held online. The connection details will be + posted on a variety on channels shortly before the event (see + for a + list). +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230704T103000 +DURATION:PT6H30M +SUMMARY:Educating Engineers for Safe AI Workshop (Cambridge) +UID:9ac3ed47-be32-4350-ac7f-742002f9e932@9ac3.org +DESCRIPTION:The Alan Turing Institute\, Edinburgh\, Newcastle\, Cambridge + and UCL Universities are organising a series of workshops to discuss + Educating Engineers for Safe AI.\n\nWe are seeking participants in this + workshop series who are:\n\n- AI Engineers\, Data Scientists\, Systems + Engineers\, ML-Ops\, Research Software Engineers\, Site Reliability + Engineers and more\, working in the implementation of AI systems OR\n- + Academics and other experts working in areas related to Safe\, Ethical\, + Reliable and Trustworthy Machine Learning and Artificial Intelligence + OR\n- Academics and other experts working in professional education\, + CPD\, and related areas\, interested in developing materials related to + safe AI for professional audiences.\nThe workshops consist of two regional + nonresidential satellite workshops in Cambridge (4th July) and in + Edinburgh (29th June)\, and a final residential workshop in Newcastle on + the 15th and 16th August.\n\nThe purpose of the workshop series is to + develop a roadmap toward the creation of a syllabus and set of + professional education materials\, targeted at software and systems + engineers\, so that they can be empowered to champion the creation of + safe\, ethical and trustworthy AI in their workplaces. Developers and + engineers\, appropriately empowered and skilled\, are uniquely placed to + ensure that the systems they build are done so according to emerging + ethical best practice. These materials will become part of The Turing Way + project. +LOCATION:Downing College\, Regent Street\, Cambridge CB2 1DQ +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230926T123000 +DURATION:P3D +SUMMARY:un-deRSE23 - Unconference for Research Software Engineering in + Germany +UID:c1503729-2907-4dd8-8b28-d95ebffc4bd6@c150.org +DESCRIPTION:First ever unconference for Research Software Engineering in + Germany +LOCATION:Dornburger Schlösser\, Jena\, Germany +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230721T170000 +DURATION:PT1H +SUMMARY:UCL Technical Social - Wed Jun 21 2023 - Jörg Saßmannshausen +UID:4c888dc0-fe04-4133-a090-f84abe819a3b@4c88.org +DESCRIPTION:How to install high-performant software on a High Performance + Cluster?\n\nSoftware installation on a High Performance Cluster (HPC) is + different from the usual software installation on a desktop \ncomputer.In + order to get the best performance out of the very expensive hardware\, it + is best to compile software from source\, \nrather than using pre-compiled + binaries. This sounds often easier than it actually is. One good example + is Basic Linear Algebra \nSubprograms (BLAS) [1]: A generic installation + will only deliver a very low performance. Optimising the compile process + will \ndeliver more performance. However\, with the sheer amount of + different CPUs around\, testing it for each new build with a new + \ncompiler is time consuming.\n\nThe solution here is to fall back what + others have done\, improve on it if possible and contribute back to the + community.\n\nOne such an example is EasyBuild [2]: software which is + installing high-performant scientific software on HPC clusters + \nautomatically.\n\nThe talk will take you through an often a bit + personally journey of scientific software installation\, without too much + of technical \njargon. It is aimed for scientists who are installing + software\, or write their own code. Equally\, researchers who are more + \nexperienced in software installation might learn something new as well. +LOCATION:Malet Place Engineering Building 1.04 Malet Place Engineering + Building 1.04 London WC1E 7JE +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230713T090000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call +UID:b0f0e079-dd3b-4125-a8ee-fcf2783990c9@b0f0.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230817T090000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call (August 2023) +UID:c5c8b5fe-ca20-411b-8ffe-e12e3945ce52@c5c8.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230921T090000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call (September 2023) +UID:7420811a-78b7-4f72-9fa3-49fb4229c79a@7420.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20230711T110000 +DURATION:PT1H +SUMMARY:DiveRSE Seminar: Numbers Game +UID:c09d1704-e144-400f-8c1e-b2fbcbebf53e@c09d.org +DESCRIPTION:Our next speaker in the DiveRSE series is Mariann (Maz) + Hardey\, Professor of Digital Culture\, Technology and Business at Durham + University Business School. Mariann is also a member of Advanced Research + Computing (ARC) at Durham\, where her role supports widening participation + and accessibility in computing. She is passionate about self-development + and learning\, with a focus on representation among business leaders and + practitioners in the technology sector. One of her latest books “The + Culture of Women in Tech” forms part of the Master Class curriculum of the + UK Government Digital Service to promote employment reform and + inclusivity. Mariann has been researching and working with tech + organisations for over twenty years. In her talk\, Mariann will focus on + the ‘Whoddunit’ behind Equality\, Diversity and Inclusion (EDI/DEI) in the + tech workplace. To best serve these fundamental principles\, one must + first understand the mechanics behind it. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20231031T010000 +DURATION:P1D +SUMMARY:Model-Driven Engineering Network (MDENet) Workshop on Research + Software +UID:2f2676cc-8ce4-44db-9e8d-e8a34c92b4aa@2f26.org +DESCRIPTION:On October 31st\, MDENet\, the EPSRC-funded network on Model- + Driven\nEngineering\, is holding a thematic workshop on Research Software + at King’s\nCollege London.\n\nThis one-day event aims to improve mutual + understanding of challenges in\nResearch Software and opportunities for + Model-Driven Engineering to help\naddress them.\n\nHere is the call for + expressions of interest:\n\nand + the application form:\n\nThere is + also a travel and accommodation support fund of up to £300\, that\nyou can + find here: +LOCATION:King's College London +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20231019T140000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Code Execution during peer review with + CODECHECK - Daniel Nust +UID:cfbd8533-51a0-482b-997f-64f425a11fff@cfbd.org +DESCRIPTION:Data and software are the foundation for a vast variety and + volume of computational\nresearch in all scientific disciplines. This is + how we make sense of small and huge\ndatasets using everything from one- + off scripts to high-performance computing\ninfrastructures. Nowadays\, + most of these works are eventually presented to a\nscientific community in + form of a paper for the recognition of research outputs and\ncareer + advancement. Research papers are increasingly accompanied by data + and\nsoftware to ensure transparency\, reproducibility\, and reusability. + This change\nis driven by shifting community practice as well as by + publisher guidelines.\nHowever\, the actual inspection of these building + blocks is not a common part\nof the publication and peer review process. + The CODECHECK initiative tries to make\ncode execution standard practice + in peer review using a particular focus and a set\nof principles. We + present variants of CODECHECK and highlight the possibilities\nfor + research software engineers to participate in academic peer review as + codecheckers.\nFurthermore\, we demonstrate the AGILE conference’s + Reproducibility Review as a\nconcrete implementation of CODECHECK . The + Reproducible AGILE initiative\ndemonstrates how good scientific and + development practices can be encouraged\nand spread through communication + and collaboration.\n\nDaniel is a research software engineer and postdoc + at the Chair of Geoinformatics\,\nTU Dresden\, Germany. He develops tools + for open and reproducible geoscientific\nresearch and is a proponent for + open scholarship and reproducibility in the projects\nNFDI4 Earth + ()\, OPTIMETA + ()\, and CODECHECK + (). +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20231026T140000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Fortran 77: It's really C with none of the + safeguards - Simon Clifford +UID:b81a2c37-1f83-4bbe-b403-a96b705d216e@b81a.org +DESCRIPTION:Fortran was summoned by IBM ’s warlocks nearly 70 years ago. So + should we still be\ninterested in this crusty old programming + language?\nCome with crusty old Simon as he opens the vault and delves + into some\ndistinctly not-modern Fortran.\n\nGASP as we use pointers in a + language that doesn’t have pointers.\n\nTHRILL as we cast between types + without knowing we’re doing it.\n\nGROAN as we make whitespace important + years before Python thought of it. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20231102T140000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Widening Participation in the R Project - + Heather Turner +UID:5a61032f-8355-4cd6-8567-704b8d7eeda0@5a61.org +DESCRIPTION:The R Project is over 20 years old\, but its future is not + secure – many of the\nR Core Team are nearing or post retirement and there + are not enough new contributors\nto sustain the work. In this talk\, I + will present a number of initiatives\, fostered\nunder my EPSRC RSE + Fellowship: ‘Sustainability and EDI (Equality\, Diversity and\nInclusion) + in the R Project’\, that are designed to encourage and train a new\, + more\ndiverse\, generation of contributors.\n\nThe initiatives vary from + regular support on the R Contributor Slack and in R\nContributor Office + Hours\, to one-off events aimed at new contributors such as + a\nCollaboration Campfire series and a Bug BBQ . I will report back on the + recent R\nProject Sprint 2023\, hosted at Warwick University\, which + brought members of the R\nCore Team together with both novice and + experienced contributors to work in\ncollaboration – the first event of + this kind in the R community. I will discuss how\nwe hope to keep the + momentum going and how RSEs might contribute to the R Project\nand other + fundamental open source projects. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20231109T140000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Sustainability at The Netherlands eScience + Center - Niels Drost +UID:db37e0be-517c-420e-99da-7707286de8a9@db37.org +DESCRIPTION:The Netherlands eScience Center is the Dutch national expertise + center for research\nsoftware. We work with researchers from across the + Netherlands and beyond\, in all\nfields of research on creating and using + research software\, as well as building\ncapacity through teaching\, + fellowships\, and other community efforts.\n\nWe are passionate about + making software sustainable (as in durable) so that it can\nbe used by as + many researchers as possible. To facilitate this we created the\nResearch + Software Directory ()\, a + service\nto show the impact of research software.\n\nA re-occurring theme + in our projects is that of sustainability (as in climate change).\nOver + the years we have contributed to a number of projects and software related + to\nsustainability\, including ESM Valtool ()\, + software supporting\nthe evaluation of Earth system models\, and used in + the latest IPCC report.\n\nIn my presentation I will explain the structure + of the eScience Center and how it\ncame to be\, introduce the research + software directory\, and provide some examples\nof projects in the area of + sustainability we contribute to.\n\nNiels Drost is a Research Software + Engineer from the Netherlands. He is currently\nthe Programme Manager for + Environment and Sustainability at the Netherlands eScience\nCenter. He has + a background in Computer Science in the area of High + Performance\nComputing\, helped establish the Dutch chapter of the RSE + community (NL-RSE\,\n)\, and has worked on many + different research projects over\nthe years\, mostly in the fields of + Climate Science and Hydrology. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20231116T140000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Teaching RSE for Digital Humanities - Mary + Chester-Cadwell +UID:0876bf7a-c9b2-41b2-96e7-2391f92a1f05@0876.org +DESCRIPTION:Cambridge Digital Humanities (CDH) runs a variety of learning + opportunities that\nintroduce RSE practices to students\, researchers and + staff in the arts\, humanities\,\narchives\, libraries and museums. The + CDH Learning programme offers a 'Best Practices\nin Coding for Digital + Humanities' series and runs a RSE Methods Fellows programme\nfor RSEs (of + any discipline) to teach workshops and prepare online tutorials.\nCDH also + hosts a Digital Humanities (DH) RSE Summer School (together with + several\npartner institutions) with the aim of introducing those who code + in research to\nbeginner and intermediate RSE practices. This is an + exciting time for RSE in DH\nand these recent initiatives are still in the + process of active development. In\nthis talk I will discuss some of the + challenges and opportunities of making RSE\nrelevant to the various types + of research under the ‘DH umbrella’\, how best to\nengage DH scholars and + RSEs from other disciplines in this joint endeavour\, and\nwhere this + might take us next. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/Berlin:20231123T140000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - How not to write a convection + parameterisation code? - Mike Whitall +UID:531667d8-c3aa-4f2e-b611-1560820cd8cc@5316.org +DESCRIPTION:Convection parameterisations are a crucial element of global + atmospheric models.\nThey simulate the vertical transport of heat\, + moisture and momentum by convective\nclouds\, and associated rainfall. The + majority of Tropical rainfall is associated\nwith these clouds\, which + are too small-scale to explicitly resolve on the model’s\ngrid and so need + to be parameterised.\n\nMost global atmosphere models use a so-called + 'mass-flux' form of convection\nparameterisation\, which consists of a + diagnostic vertical integral to compute the\nproperties of the clouds and + the amount of heat / moisture entrained / detrained\nat each height. The + calculations in a given vertical column of model grid-points\nare + completely independent of those in other neighbouring columns\, so it + would be\nsimplest to write the code so that it only considers a single + column at a time.\nHowever\, since we are performing a vertical integral + the calculations at a given\nheight within each column depend on the + results from those calculations at the\nlevel below\, so the scheme must + be structured in a vertically sequential manner\nconsidering a single + height-level at a time.\n\nConsidering only a single column and a single + height-level at a time amounts to\ncomputing only a single grid-point at a + time. On CPU architectures\, this is\nextremely inefficient\; far greater + computation speeds are obtained by doing many\nidentical calculations + simultaneously\, via vectorisation. Another challenge/opportunity\nis the + sparsity of the required calculations\, since convective clouds only + occupy a\nsmall fraction of the atmosphere’s volume.\n\nIn this talk I + discuss routes to exploiting both vectorisation and shared + memory\nparallelisation\, and how to make efficient use of memory given + the sparsity\, in the\ncomorph convection parameterisation fortran code + currently under development at the\nMet Office.\n\nHowever\, current and + future changes in software and HPC architectures (such as GPUs)\nmay + radically change the optimal code structure. Is there any way to adapt + our\nconvection code to these changes without completely rewriting it\, or + write it in a\n'future proof' way? +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/assets/calendars/main.Europe-London.ics b/assets/calendars/main.Europe-London.ics new file mode 100644 index 0000000..70159fa --- /dev/null +++ b/assets/calendars/main.Europe-London.ics @@ -0,0 +1,496 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:ics.py 0.8.0.dev0 - http://git.io/lLljaA +BEGIN:VTIMEZONE +TZID:/ics.py/2020.1/Europe/London +BEGIN:DAYLIGHT +TZOFFSETFROM:+0000 +TZOFFSETTO:+0100 +DTSTART:19700329T010000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU +RDATE:19700329T010000 +TZNAME:BST +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:+0100 +TZOFFSETTO:+0000 +DTSTART:19701025T020000 +RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU +RDATE:19701025T020000 +TZNAME:GMT +END:STANDARD +LAST-MODIFIED:20200620T153818Z +X-LIC-LOCATION:Europe/London +END:VTIMEZONE +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230604T090000 +DURATION:PT45M +SUMMARY:PyData London +UID:a5e6905a-16be-4632-b061-5954182f9543@a5e6.org +DESCRIPTION:SocRSE trustee Martin O'Reilly will be giving one of the PyData + London\nkeynotes on 4 June 2023. It will be on the topic of RSEs and + similar\nroles\, exploring the similarities and differences between these + and\nequivalent non-R(esearch) roles and how people can make the + transition\nfrom non-R roles to RSE roles and similar. +LOCATION:Warwick +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230602T180000 +DURATION:PT1H +SUMMARY:Surveying AI Safety Research Directions +UID:79e762f9-158d-4579-863d-ea5eef8c20af@79e7.org +DESCRIPTION:Are you curious about what is going with AI in the media and + all the\nsafety considerations and how one might be able to contribute? + Then this\ntalk is for you! \n\nTitle: Surveying AI Safety Research + Directions\nSpeaker: Dan Hendrycks (Center for AI Safety)\nLocation: Zoom + [\, passcode: + DanHEdi23]\nRSVP[free]: + \nAbstract: ML systems + are rapidly increasing in size\, are acquiring new\ncapabilities\, and are + increasingly deployed in high-stakes settings. In\nthis presentation\, + I'll give a whirlwind tour of directions in safety\,\nnamely withstanding + hazards (“Robustness”)\, identifying hazards\n(“Monitoring”)\, reducing + inherent ML system hazards (“Alignment”). +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230606T180000 +DURATION:PT1H +SUMMARY:AI Beyond STEM: digital skills to unleash the power of data science + and AI for all +UID:6d1427b4-5aaa-4a8e-84e6-6906fc2accba@6d14.org +DESCRIPTION:Hosted by SocRSE Trustee David Beavan\, what are the AI skills + (and RSEs\nare part of that\, right) needed in the big world outside of + STEM? This\nonline-only panel event will bring together experts from + diverse\nbackgrounds\, including digital humanities\, linguistics\, + zoology\, and more\,\nto discuss the digital skills that are essential for + future success in\ntheir fields. We will explore the specific challenges + and opportunities of\napplying these technologies in non-STEM fields and + gather ideas for next\nsteps in developing the necessary skills and + knowledge. Then it is over to\nyou\, the audience\, to pose questions of + the panel and share your\nexperiences. \n- Kaspar Beelen\, Technical + Lead\, Digital Humanities\, School of Advanced Studies\n- Mathilde Daussy- + Renaudin\, Ph.D. Candidate\, UCL/Oxford University\n- Lydia France\, + Research Data Scientist\, The Alan Turing Institute\n- Katie Ireland\, + DigiLab\, University of Georgia\n\nRegister + -\n +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230606T130000 +DURATION:PT1H +SUMMARY:Byte-sized RSE session 8 - README files +UID:cec53409-68c0-4b44-8e69-ff62890be6d6@cec5.org +DESCRIPTION:In this final session of the first series of byte-sized RSE\, + we'll look at\nthe humble README file! Not a default and often ignored + file in the root\nof your project directory but a hugely important place + for a range of\ninformation that can make or break the success of your + project - join us\non Tuesday 6th June to learn more. \n\nRegistration + now open - +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230619T090000 +DURATION:P11D +SUMMARY:SSI Research Software Camp +UID:0fdde9cf-993a-46e4-99ab-f044ad7e0b87@0fdd.org +DESCRIPTION:Our next Research Software Camp is taking place from 19 to 30 + June 2023. Find out more about the Research Software Camp. \nThe Software + Sustainability Institute runs free online Research Software Camps\nonce a + year over the course of two weeks. Each Camp focusses on + introducing\nbasic research software skills and good practices\, as well + offering one.\n\n +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230905T090000 +DURATION:P2D +SUMMARY:RSECon23 +UID:3001d3a4-d7a6-418c-812c-03d5ec9acc30@3001.org +DESCRIPTION:UK-based (at Swansea University) the SocRSE conference. + \nRegistrations - both in person and remote - are now open. Members of + the\nSociety should have received a coupon code for a discount. + Contact\n if you don't have it\, but are a + fully paid-up\nmember. Note: This discount also applies to people + attending remotely.\nIt's worth joining the Society for the in person + conference discount\nalone!\nConference registration is here: + . \nThe Call for + Volunteers remains open: .\n\nAlso\, if you can\, please help us find + organisations willing to sponsor the\nconference + + -\nperhaps the very organisation you work for? +LOCATION:Swansea University (Remote available) +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230627T100000 +DURATION:PT1H +SUMMARY:18th HiRSE Seminar - Neil Chue Hong: Can Software Metrics Improve + Software Quality? +UID:5382a580-cd47-41eb-b9f3-53145ba84d9d@5382.org +DESCRIPTION:Software quality in computational science and engineering can + be interpreted in two ways: does the software implement the algorithm or + simulate the phenomenon as expected\, and does it perform as expected i.e. + does it scale\, is it maintainable\, is it secure?\n\nSoftware metrics + are the degree to which a software system possesses some relevant + property. Many software metrics are defined as quantitative measurements + based on the analysis of source code. Others\, such as those being + developed by the CHAOSS initiative\, focus on measuring the ability of a + project to deliver software that meets various criteria\, such as + community health or development efficiency.\n\nA key question is how + useful software metrics are in improving software quality when applied to + development in computational science and engineering\, which can differ + from software engineering in other areas because of evolving or unclear + requirements\, deployment to large-scale systems and architectures\, and + focus on performance.\n\nI will consider which types of software metric + might benefit researcher-developers and research software engineers + working in computational science and engineering. Can useful metrics be + identified by considering the differences in the way that software is + developed these fields? +LOCATION:The talk will be held online. The connection details will be + posted on a variety on channels shortly before the event (see + for a + list). +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230704T093000 +DURATION:PT6H30M +SUMMARY:Educating Engineers for Safe AI Workshop (Cambridge) +UID:9ac3ed47-be32-4350-ac7f-742002f9e932@9ac3.org +DESCRIPTION:The Alan Turing Institute\, Edinburgh\, Newcastle\, Cambridge + and UCL Universities are organising a series of workshops to discuss + Educating Engineers for Safe AI.\n\nWe are seeking participants in this + workshop series who are:\n\n- AI Engineers\, Data Scientists\, Systems + Engineers\, ML-Ops\, Research Software Engineers\, Site Reliability + Engineers and more\, working in the implementation of AI systems OR\n- + Academics and other experts working in areas related to Safe\, Ethical\, + Reliable and Trustworthy Machine Learning and Artificial Intelligence + OR\n- Academics and other experts working in professional education\, + CPD\, and related areas\, interested in developing materials related to + safe AI for professional audiences.\nThe workshops consist of two regional + nonresidential satellite workshops in Cambridge (4th July) and in + Edinburgh (29th June)\, and a final residential workshop in Newcastle on + the 15th and 16th August.\n\nThe purpose of the workshop series is to + develop a roadmap toward the creation of a syllabus and set of + professional education materials\, targeted at software and systems + engineers\, so that they can be empowered to champion the creation of + safe\, ethical and trustworthy AI in their workplaces. Developers and + engineers\, appropriately empowered and skilled\, are uniquely placed to + ensure that the systems they build are done so according to emerging + ethical best practice. These materials will become part of The Turing Way + project. +LOCATION:Downing College\, Regent Street\, Cambridge CB2 1DQ +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230926T113000 +DURATION:P3D +SUMMARY:un-deRSE23 - Unconference for Research Software Engineering in + Germany +UID:c1503729-2907-4dd8-8b28-d95ebffc4bd6@c150.org +DESCRIPTION:First ever unconference for Research Software Engineering in + Germany +LOCATION:Dornburger Schlösser\, Jena\, Germany +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230721T160000 +DURATION:PT1H +SUMMARY:UCL Technical Social - Wed Jun 21 2023 - Jörg Saßmannshausen +UID:4c888dc0-fe04-4133-a090-f84abe819a3b@4c88.org +DESCRIPTION:How to install high-performant software on a High Performance + Cluster?\n\nSoftware installation on a High Performance Cluster (HPC) is + different from the usual software installation on a desktop \ncomputer.In + order to get the best performance out of the very expensive hardware\, it + is best to compile software from source\, \nrather than using pre-compiled + binaries. This sounds often easier than it actually is. One good example + is Basic Linear Algebra \nSubprograms (BLAS) [1]: A generic installation + will only deliver a very low performance. Optimising the compile process + will \ndeliver more performance. However\, with the sheer amount of + different CPUs around\, testing it for each new build with a new + \ncompiler is time consuming.\n\nThe solution here is to fall back what + others have done\, improve on it if possible and contribute back to the + community.\n\nOne such an example is EasyBuild [2]: software which is + installing high-performant scientific software on HPC clusters + \nautomatically.\n\nThe talk will take you through an often a bit + personally journey of scientific software installation\, without too much + of technical \njargon. It is aimed for scientists who are installing + software\, or write their own code. Equally\, researchers who are more + \nexperienced in software installation might learn something new as well. +LOCATION:Malet Place Engineering Building 1.04 Malet Place Engineering + Building 1.04 London WC1E 7JE +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230713T080000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call +UID:b0f0e079-dd3b-4125-a8ee-fcf2783990c9@b0f0.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230817T080000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call (August 2023) +UID:c5c8b5fe-ca20-411b-8ffe-e12e3945ce52@c5c8.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230921T080000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call (September 2023) +UID:7420811a-78b7-4f72-9fa3-49fb4229c79a@7420.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230711T100000 +DURATION:PT1H +SUMMARY:DiveRSE Seminar: Numbers Game +UID:c09d1704-e144-400f-8c1e-b2fbcbebf53e@c09d.org +DESCRIPTION:Our next speaker in the DiveRSE series is Mariann (Maz) + Hardey\, Professor of Digital Culture\, Technology and Business at Durham + University Business School. Mariann is also a member of Advanced Research + Computing (ARC) at Durham\, where her role supports widening participation + and accessibility in computing. She is passionate about self-development + and learning\, with a focus on representation among business leaders and + practitioners in the technology sector. One of her latest books “The + Culture of Women in Tech” forms part of the Master Class curriculum of the + UK Government Digital Service to promote employment reform and + inclusivity. Mariann has been researching and working with tech + organisations for over twenty years. In her talk\, Mariann will focus on + the ‘Whoddunit’ behind Equality\, Diversity and Inclusion (EDI/DEI) in the + tech workplace. To best serve these fundamental principles\, one must + first understand the mechanics behind it. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231031T000000 +DURATION:P1D +SUMMARY:Model-Driven Engineering Network (MDENet) Workshop on Research + Software +UID:2f2676cc-8ce4-44db-9e8d-e8a34c92b4aa@2f26.org +DESCRIPTION:On October 31st\, MDENet\, the EPSRC-funded network on Model- + Driven\nEngineering\, is holding a thematic workshop on Research Software + at King’s\nCollege London.\n\nThis one-day event aims to improve mutual + understanding of challenges in\nResearch Software and opportunities for + Model-Driven Engineering to help\naddress them.\n\nHere is the call for + expressions of interest:\n\nand + the application form:\n\nThere is + also a travel and accommodation support fund of up to £300\, that\nyou can + find here: +LOCATION:King's College London +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231019T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Code Execution during peer review with + CODECHECK - Daniel Nust +UID:cfbd8533-51a0-482b-997f-64f425a11fff@cfbd.org +DESCRIPTION:Data and software are the foundation for a vast variety and + volume of computational\nresearch in all scientific disciplines. This is + how we make sense of small and huge\ndatasets using everything from one- + off scripts to high-performance computing\ninfrastructures. Nowadays\, + most of these works are eventually presented to a\nscientific community in + form of a paper for the recognition of research outputs and\ncareer + advancement. Research papers are increasingly accompanied by data + and\nsoftware to ensure transparency\, reproducibility\, and reusability. + This change\nis driven by shifting community practice as well as by + publisher guidelines.\nHowever\, the actual inspection of these building + blocks is not a common part\nof the publication and peer review process. + The CODECHECK initiative tries to make\ncode execution standard practice + in peer review using a particular focus and a set\nof principles. We + present variants of CODECHECK and highlight the possibilities\nfor + research software engineers to participate in academic peer review as + codecheckers.\nFurthermore\, we demonstrate the AGILE conference’s + Reproducibility Review as a\nconcrete implementation of CODECHECK . The + Reproducible AGILE initiative\ndemonstrates how good scientific and + development practices can be encouraged\nand spread through communication + and collaboration.\n\nDaniel is a research software engineer and postdoc + at the Chair of Geoinformatics\,\nTU Dresden\, Germany. He develops tools + for open and reproducible geoscientific\nresearch and is a proponent for + open scholarship and reproducibility in the projects\nNFDI4 Earth + ()\, OPTIMETA + ()\, and CODECHECK + (). +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231026T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Fortran 77: It's really C with none of the + safeguards - Simon Clifford +UID:b81a2c37-1f83-4bbe-b403-a96b705d216e@b81a.org +DESCRIPTION:Fortran was summoned by IBM ’s warlocks nearly 70 years ago. So + should we still be\ninterested in this crusty old programming + language?\nCome with crusty old Simon as he opens the vault and delves + into some\ndistinctly not-modern Fortran.\n\nGASP as we use pointers in a + language that doesn’t have pointers.\n\nTHRILL as we cast between types + without knowing we’re doing it.\n\nGROAN as we make whitespace important + years before Python thought of it. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231102T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Widening Participation in the R Project - + Heather Turner +UID:5a61032f-8355-4cd6-8567-704b8d7eeda0@5a61.org +DESCRIPTION:The R Project is over 20 years old\, but its future is not + secure – many of the\nR Core Team are nearing or post retirement and there + are not enough new contributors\nto sustain the work. In this talk\, I + will present a number of initiatives\, fostered\nunder my EPSRC RSE + Fellowship: ‘Sustainability and EDI (Equality\, Diversity and\nInclusion) + in the R Project’\, that are designed to encourage and train a new\, + more\ndiverse\, generation of contributors.\n\nThe initiatives vary from + regular support on the R Contributor Slack and in R\nContributor Office + Hours\, to one-off events aimed at new contributors such as + a\nCollaboration Campfire series and a Bug BBQ . I will report back on the + recent R\nProject Sprint 2023\, hosted at Warwick University\, which + brought members of the R\nCore Team together with both novice and + experienced contributors to work in\ncollaboration – the first event of + this kind in the R community. I will discuss how\nwe hope to keep the + momentum going and how RSEs might contribute to the R Project\nand other + fundamental open source projects. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231109T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Sustainability at The Netherlands eScience + Center - Niels Drost +UID:db37e0be-517c-420e-99da-7707286de8a9@db37.org +DESCRIPTION:The Netherlands eScience Center is the Dutch national expertise + center for research\nsoftware. We work with researchers from across the + Netherlands and beyond\, in all\nfields of research on creating and using + research software\, as well as building\ncapacity through teaching\, + fellowships\, and other community efforts.\n\nWe are passionate about + making software sustainable (as in durable) so that it can\nbe used by as + many researchers as possible. To facilitate this we created the\nResearch + Software Directory ()\, a + service\nto show the impact of research software.\n\nA re-occurring theme + in our projects is that of sustainability (as in climate change).\nOver + the years we have contributed to a number of projects and software related + to\nsustainability\, including ESM Valtool ()\, + software supporting\nthe evaluation of Earth system models\, and used in + the latest IPCC report.\n\nIn my presentation I will explain the structure + of the eScience Center and how it\ncame to be\, introduce the research + software directory\, and provide some examples\nof projects in the area of + sustainability we contribute to.\n\nNiels Drost is a Research Software + Engineer from the Netherlands. He is currently\nthe Programme Manager for + Environment and Sustainability at the Netherlands eScience\nCenter. He has + a background in Computer Science in the area of High + Performance\nComputing\, helped establish the Dutch chapter of the RSE + community (NL-RSE\,\n)\, and has worked on many + different research projects over\nthe years\, mostly in the fields of + Climate Science and Hydrology. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231116T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Teaching RSE for Digital Humanities - Mary + Chester-Cadwell +UID:0876bf7a-c9b2-41b2-96e7-2391f92a1f05@0876.org +DESCRIPTION:Cambridge Digital Humanities (CDH) runs a variety of learning + opportunities that\nintroduce RSE practices to students\, researchers and + staff in the arts\, humanities\,\narchives\, libraries and museums. The + CDH Learning programme offers a 'Best Practices\nin Coding for Digital + Humanities' series and runs a RSE Methods Fellows programme\nfor RSEs (of + any discipline) to teach workshops and prepare online tutorials.\nCDH also + hosts a Digital Humanities (DH) RSE Summer School (together with + several\npartner institutions) with the aim of introducing those who code + in research to\nbeginner and intermediate RSE practices. This is an + exciting time for RSE in DH\nand these recent initiatives are still in the + process of active development. In\nthis talk I will discuss some of the + challenges and opportunities of making RSE\nrelevant to the various types + of research under the ‘DH umbrella’\, how best to\nengage DH scholars and + RSEs from other disciplines in this joint endeavour\, and\nwhere this + might take us next. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231123T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - How not to write a convection + parameterisation code? - Mike Whitall +UID:531667d8-c3aa-4f2e-b611-1560820cd8cc@5316.org +DESCRIPTION:Convection parameterisations are a crucial element of global + atmospheric models.\nThey simulate the vertical transport of heat\, + moisture and momentum by convective\nclouds\, and associated rainfall. The + majority of Tropical rainfall is associated\nwith these clouds\, which + are too small-scale to explicitly resolve on the model’s\ngrid and so need + to be parameterised.\n\nMost global atmosphere models use a so-called + 'mass-flux' form of convection\nparameterisation\, which consists of a + diagnostic vertical integral to compute the\nproperties of the clouds and + the amount of heat / moisture entrained / detrained\nat each height. The + calculations in a given vertical column of model grid-points\nare + completely independent of those in other neighbouring columns\, so it + would be\nsimplest to write the code so that it only considers a single + column at a time.\nHowever\, since we are performing a vertical integral + the calculations at a given\nheight within each column depend on the + results from those calculations at the\nlevel below\, so the scheme must + be structured in a vertically sequential manner\nconsidering a single + height-level at a time.\n\nConsidering only a single column and a single + height-level at a time amounts to\ncomputing only a single grid-point at a + time. On CPU architectures\, this is\nextremely inefficient\; far greater + computation speeds are obtained by doing many\nidentical calculations + simultaneously\, via vectorisation. Another challenge/opportunity\nis the + sparsity of the required calculations\, since convective clouds only + occupy a\nsmall fraction of the atmosphere’s volume.\n\nIn this talk I + discuss routes to exploiting both vectorisation and shared + memory\nparallelisation\, and how to make efficient use of memory given + the sparsity\, in the\ncomorph convection parameterisation fortran code + currently under development at the\nMet Office.\n\nHowever\, current and + future changes in software and HPC architectures (such as GPUs)\nmay + radically change the optimal code structure. Is there any way to adapt + our\nconvection code to these changes without completely rewriting it\, or + write it in a\n'future proof' way? +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/assets/calendars/main.ics b/assets/calendars/main.ics new file mode 100644 index 0000000..c139ba1 --- /dev/null +++ b/assets/calendars/main.ics @@ -0,0 +1,498 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:ics.py 0.8.0.dev0 - http://git.io/lLljaA +BEGIN:VTIMEZONE +TZID:/ics.py/2020.1/Europe/London +BEGIN:DAYLIGHT +TZOFFSETFROM:+0000 +TZOFFSETTO:+0100 +DTSTART:19700329T010000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU +RDATE:19700329T010000 +TZNAME:BST +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:+0100 +TZOFFSETTO:+0000 +DTSTART:19701025T020000 +RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU +RDATE:19701025T020000 +TZNAME:GMT +END:STANDARD +LAST-MODIFIED:20200620T153818Z +X-LIC-LOCATION:Europe/London +END:VTIMEZONE +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230604T090000 +DURATION:PT45M +SUMMARY:PyData London +UID:a5e6905a-16be-4632-b061-5954182f9543@a5e6.org +DESCRIPTION:SocRSE trustee Martin O'Reilly will be giving one of the PyData + London\nkeynotes on 4 June 2023. It will be on the topic of RSEs and + similar\nroles\, exploring the similarities and differences between these + and\nequivalent non-R(esearch) roles and how people can make the + transition\nfrom non-R roles to RSE roles and similar. +LOCATION:Warwick +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230602T180000 +DURATION:PT1H +SUMMARY:Surveying AI Safety Research Directions +UID:79e762f9-158d-4579-863d-ea5eef8c20af@79e7.org +DESCRIPTION:Are you curious about what is going with AI in the media and + all the\nsafety considerations and how one might be able to contribute? + Then this\ntalk is for you! \n\nTitle: Surveying AI Safety Research + Directions\nSpeaker: Dan Hendrycks (Center for AI Safety)\nLocation: Zoom + [\, passcode: + DanHEdi23]\nRSVP[free]: + \nAbstract: ML systems + are rapidly increasing in size\, are acquiring new\ncapabilities\, and are + increasingly deployed in high-stakes settings. In\nthis presentation\, + I'll give a whirlwind tour of directions in safety\,\nnamely withstanding + hazards (“Robustness”)\, identifying hazards\n(“Monitoring”)\, reducing + inherent ML system hazards (“Alignment”). +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230606T180000 +DURATION:PT1H +SUMMARY:AI Beyond STEM: digital skills to unleash the power of data science + and AI for all +UID:6d1427b4-5aaa-4a8e-84e6-6906fc2accba@6d14.org +DESCRIPTION:Hosted by SocRSE Trustee David Beavan\, what are the AI skills + (and RSEs\nare part of that\, right) needed in the big world outside of + STEM? This\nonline-only panel event will bring together experts from + diverse\nbackgrounds\, including digital humanities\, linguistics\, + zoology\, and more\,\nto discuss the digital skills that are essential for + future success in\ntheir fields. We will explore the specific challenges + and opportunities of\napplying these technologies in non-STEM fields and + gather ideas for next\nsteps in developing the necessary skills and + knowledge. Then it is over to\nyou\, the audience\, to pose questions of + the panel and share your\nexperiences. \n- Kaspar Beelen\, Technical + Lead\, Digital Humanities\, School of Advanced Studies\n- Mathilde Daussy- + Renaudin\, Ph.D. Candidate\, UCL/Oxford University\n- Lydia France\, + Research Data Scientist\, The Alan Turing Institute\n- Katie Ireland\, + DigiLab\, University of Georgia\n\nRegister + -\n +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230606T130000 +DURATION:PT1H +SUMMARY:Byte-sized RSE session 8 - README files +UID:cec53409-68c0-4b44-8e69-ff62890be6d6@cec5.org +DESCRIPTION:In this final session of the first series of byte-sized RSE\, + we'll look at\nthe humble README file! Not a default and often ignored + file in the root\nof your project directory but a hugely important place + for a range of\ninformation that can make or break the success of your + project - join us\non Tuesday 6th June to learn more. \n\nRegistration + now open - +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230619T090000 +DURATION:P11D +SUMMARY:SSI Research Software Camp +UID:0fdde9cf-993a-46e4-99ab-f044ad7e0b87@0fdd.org +DESCRIPTION:Our next Research Software Camp is taking place from 19 to 30 + June 2023. Find out more about the Research Software Camp. \nThe Software + Sustainability Institute runs free online Research Software Camps\nonce a + year over the course of two weeks. Each Camp focusses on + introducing\nbasic research software skills and good practices\, as well + offering one.\n\n +LOCATION:Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230905T090000 +DURATION:P2D +SUMMARY:RSECon23 +UID:3001d3a4-d7a6-418c-812c-03d5ec9acc30@3001.org +DESCRIPTION:UK-based (at Swansea University) the SocRSE conference. + \nRegistrations - both in person and remote - are now open. Members of + the\nSociety should have received a coupon code for a discount. + Contact\n if you don't have it\, but are a + fully paid-up\nmember. Note: This discount also applies to people + attending remotely.\nIt's worth joining the Society for the in person + conference discount\nalone!\nConference registration is here: + . \nThe Call for + Volunteers remains open: .\n\nAlso\, if you can\, please help us find + organisations willing to sponsor the\nconference + + -\nperhaps the very organisation you work for? +LOCATION:Swansea University (Remote available) +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230627T100000 +DURATION:PT1H +SUMMARY:18th HiRSE Seminar - Neil Chue Hong: Can Software Metrics Improve + Software Quality? +UID:5382a580-cd47-41eb-b9f3-53145ba84d9d@5382.org +DESCRIPTION:Software quality in computational science and engineering can + be interpreted in two ways: does the software implement the algorithm or + simulate the phenomenon as expected\, and does it perform as expected i.e. + does it scale\, is it maintainable\, is it secure?\n\nSoftware metrics + are the degree to which a software system possesses some relevant + property. Many software metrics are defined as quantitative measurements + based on the analysis of source code. Others\, such as those being + developed by the CHAOSS initiative\, focus on measuring the ability of a + project to deliver software that meets various criteria\, such as + community health or development efficiency.\n\nA key question is how + useful software metrics are in improving software quality when applied to + development in computational science and engineering\, which can differ + from software engineering in other areas because of evolving or unclear + requirements\, deployment to large-scale systems and architectures\, and + focus on performance.\n\nI will consider which types of software metric + might benefit researcher-developers and research software engineers + working in computational science and engineering. Can useful metrics be + identified by considering the differences in the way that software is + developed these fields? +LOCATION:The talk will be held online. The connection details will be + posted on a variety on channels shortly before the event (see + for a + list). +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230704T093000 +DURATION:PT6H30M +SUMMARY:Educating Engineers for Safe AI Workshop (Cambridge) +UID:9ac3ed47-be32-4350-ac7f-742002f9e932@9ac3.org +DESCRIPTION:The Alan Turing Institute\, Edinburgh\, Newcastle\, Cambridge + and UCL Universities are organising a series of workshops to discuss + Educating Engineers for Safe AI.\n\nWe are seeking participants in this + workshop series who are:\n\n- AI Engineers\, Data Scientists\, Systems + Engineers\, ML-Ops\, Research Software Engineers\, Site Reliability + Engineers and more\, working in the implementation of AI systems OR\n- + Academics and other experts working in areas related to Safe\, Ethical\, + Reliable and Trustworthy Machine Learning and Artificial Intelligence + OR\n- Academics and other experts working in professional education\, + CPD\, and related areas\, interested in developing materials related to + safe AI for professional audiences.\nThe workshops consist of two regional + nonresidential satellite workshops in Cambridge (4th July) and in + Edinburgh (29th June)\, and a final residential workshop in Newcastle on + the 15th and 16th August.\n\nThe purpose of the workshop series is to + develop a roadmap toward the creation of a syllabus and set of + professional education materials\, targeted at software and systems + engineers\, so that they can be empowered to champion the creation of + safe\, ethical and trustworthy AI in their workplaces. Developers and + engineers\, appropriately empowered and skilled\, are uniquely placed to + ensure that the systems they build are done so according to emerging + ethical best practice. These materials will become part of The Turing Way + project. +LOCATION:Downing College\, Regent Street\, Cambridge CB2 1DQ +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230926T113000 +DURATION:P3D +SUMMARY:un-deRSE23 - Unconference for Research Software Engineering in + Germany +UID:c1503729-2907-4dd8-8b28-d95ebffc4bd6@c150.org +DESCRIPTION:First ever unconference for Research Software Engineering in + Germany +LOCATION:Dornburger Schlösser\, Jena\, Germany +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230721T160000 +DURATION:PT1H +SUMMARY:UCL Technical Social - Wed Jun 21 2023 - Jörg Saßmannshausen +UID:4c888dc0-fe04-4133-a090-f84abe819a3b@4c88.org +DESCRIPTION:How to install high-performant software on a High Performance + Cluster?\n\nSoftware installation on a High Performance Cluster (HPC) is + different from the usual software installation on a desktop \ncomputer.In + order to get the best performance out of the very expensive hardware\, it + is best to compile software from source\, \nrather than using pre-compiled + binaries. This sounds often easier than it actually is. One good example + is Basic Linear Algebra \nSubprograms (BLAS) [1]: A generic installation + will only deliver a very low performance. Optimising the compile process + will \ndeliver more performance. However\, with the sheer amount of + different CPUs around\, testing it for each new build with a new + \ncompiler is time consuming.\n\nThe solution here is to fall back what + others have done\, improve on it if possible and contribute back to the + community.\n\nOne such an example is EasyBuild [2]: software which is + installing high-performant scientific software on HPC clusters + \nautomatically.\n\nThe talk will take you through an often a bit + personally journey of scientific software installation\, without too much + of technical \njargon. It is aimed for scientists who are installing + software\, or write their own code. Equally\, researchers who are more + \nexperienced in software installation might learn something new as well. +LOCATION:Malet Place Engineering Building 1.04 Malet Place Engineering + Building 1.04 London WC1E 7JE +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230713T080000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call +UID:b0f0e079-dd3b-4125-a8ee-fcf2783990c9@b0f0.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230817T080000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call (August 2023) +UID:c5c8b5fe-ca20-411b-8ffe-e12e3945ce52@c5c8.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230921T080000 +DURATION:PT1H +SUMMARY:RSE Asia Community Call (September 2023) +UID:7420811a-78b7-4f72-9fa3-49fb4229c79a@7420.org +DESCRIPTION:An opportunity for people who work with or manage (research) + software to meet and discuss challenges and solutions\, share skills\, + opportunities\, and resources.\nJoin this call if you: want to learn about + research software engineering\, develop software for research\, mostly do + coding or software developing in a research group\, are a doctoral or + postdoctoral researcher who mostly develops software\, have build software + while doing research\, and/or want to join the emerging research software + engineering community in Asia. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20230711T100000 +DURATION:PT1H +SUMMARY:DiveRSE Seminar: Numbers Game +UID:c09d1704-e144-400f-8c1e-b2fbcbebf53e@c09d.org +DESCRIPTION:Our next speaker in the DiveRSE series is Mariann (Maz) + Hardey\, Professor of Digital Culture\, Technology and Business at Durham + University Business School. Mariann is also a member of Advanced Research + Computing (ARC) at Durham\, where her role supports widening participation + and accessibility in computing. She is passionate about self-development + and learning\, with a focus on representation among business leaders and + practitioners in the technology sector. One of her latest books “The + Culture of Women in Tech” forms part of the Master Class curriculum of the + UK Government Digital Service to promote employment reform and + inclusivity. Mariann has been researching and working with tech + organisations for over twenty years. In her talk\, Mariann will focus on + the ‘Whoddunit’ behind Equality\, Diversity and Inclusion (EDI/DEI) in the + tech workplace. To best serve these fundamental principles\, one must + first understand the mechanics behind it. +LOCATION:Online +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231031T000000 +DURATION:P1D +SUMMARY:Model-Driven Engineering Network (MDENet) Workshop on Research + Software +UID:2f2676cc-8ce4-44db-9e8d-e8a34c92b4aa@2f26.org +DESCRIPTION:On October 31st\, MDENet\, the EPSRC-funded network on Model- + Driven\nEngineering\, is holding a thematic workshop on Research Software + at King’s\nCollege London.\n\nThis one-day event aims to improve mutual + understanding of challenges in\nResearch Software and opportunities for + Model-Driven Engineering to help\naddress them.\n\nHere is the call for + expressions of interest:\n\nand + the application form:\n\nThere is + also a travel and accommodation support fund of up to £300\, that\nyou can + find here: +LOCATION:King's College London +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231019T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Code Execution during peer review with + CODECHECK - Daniel Nust +UID:cfbd8533-51a0-482b-997f-64f425a11fff@cfbd.org +DESCRIPTION:Data and software are the foundation for a vast variety and + volume of computational\nresearch in all scientific disciplines. This is + how we make sense of small and huge\ndatasets using everything from one- + off scripts to high-performance computing\ninfrastructures. Nowadays\, + most of these works are eventually presented to a\nscientific community in + form of a paper for the recognition of research outputs and\ncareer + advancement. Research papers are increasingly accompanied by data + and\nsoftware to ensure transparency\, reproducibility\, and reusability. + This change\nis driven by shifting community practice as well as by + publisher guidelines.\nHowever\, the actual inspection of these building + blocks is not a common part\nof the publication and peer review process. + The CODECHECK initiative tries to make\ncode execution standard practice + in peer review using a particular focus and a set\nof principles. We + present variants of CODECHECK and highlight the possibilities\nfor + research software engineers to participate in academic peer review as + codecheckers.\nFurthermore\, we demonstrate the AGILE conference’s + Reproducibility Review as a\nconcrete implementation of CODECHECK . The + Reproducible AGILE initiative\ndemonstrates how good scientific and + development practices can be encouraged\nand spread through communication + and collaboration.\n\nDaniel is a research software engineer and postdoc + at the Chair of Geoinformatics\,\nTU Dresden\, Germany. He develops tools + for open and reproducible geoscientific\nresearch and is a proponent for + open scholarship and reproducibility in the projects\nNFDI4 Earth + ()\, OPTIMETA + ()\, and CODECHECK + (). +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231026T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Fortran 77: It's really C with none of the + safeguards - Simon Clifford +UID:b81a2c37-1f83-4bbe-b403-a96b705d216e@b81a.org +DESCRIPTION:Fortran was summoned by IBM ’s warlocks nearly 70 years ago. So + should we still be\ninterested in this crusty old programming + language?\nCome with crusty old Simon as he opens the vault and delves + into some\ndistinctly not-modern Fortran.\n\nGASP as we use pointers in a + language that doesn’t have pointers.\n\nTHRILL as we cast between types + without knowing we’re doing it.\n\nGROAN as we make whitespace important + years before Python thought of it. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231102T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Widening Participation in the R Project - + Heather Turner +UID:5a61032f-8355-4cd6-8567-704b8d7eeda0@5a61.org +DESCRIPTION:The R Project is over 20 years old\, but its future is not + secure – many of the\nR Core Team are nearing or post retirement and there + are not enough new contributors\nto sustain the work. In this talk\, I + will present a number of initiatives\, fostered\nunder my EPSRC RSE + Fellowship: ‘Sustainability and EDI (Equality\, Diversity and\nInclusion) + in the R Project’\, that are designed to encourage and train a new\, + more\ndiverse\, generation of contributors.\n\nThe initiatives vary from + regular support on the R Contributor Slack and in R\nContributor Office + Hours\, to one-off events aimed at new contributors such as + a\nCollaboration Campfire series and a Bug BBQ . I will report back on the + recent R\nProject Sprint 2023\, hosted at Warwick University\, which + brought members of the R\nCore Team together with both novice and + experienced contributors to work in\ncollaboration – the first event of + this kind in the R community. I will discuss how\nwe hope to keep the + momentum going and how RSEs might contribute to the R Project\nand other + fundamental open source projects. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231109T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Sustainability at The Netherlands eScience + Center - Niels Drost +UID:db37e0be-517c-420e-99da-7707286de8a9@db37.org +DESCRIPTION:The Netherlands eScience Center is the Dutch national expertise + center for research\nsoftware. We work with researchers from across the + Netherlands and beyond\, in all\nfields of research on creating and using + research software\, as well as building\ncapacity through teaching\, + fellowships\, and other community efforts.\n\nWe are passionate about + making software sustainable (as in durable) so that it can\nbe used by as + many researchers as possible. To facilitate this we created the\nResearch + Software Directory ()\, a + service\nto show the impact of research software.\n\nA re-occurring theme + in our projects is that of sustainability (as in climate change).\nOver + the years we have contributed to a number of projects and software related + to\nsustainability\, including ESM Valtool ()\, + software supporting\nthe evaluation of Earth system models\, and used in + the latest IPCC report.\n\nIn my presentation I will explain the structure + of the eScience Center and how it\ncame to be\, introduce the research + software directory\, and provide some examples\nof projects in the area of + sustainability we contribute to.\n\nNiels Drost is a Research Software + Engineer from the Netherlands. He is currently\nthe Programme Manager for + Environment and Sustainability at the Netherlands eScience\nCenter. He has + a background in Computer Science in the area of High + Performance\nComputing\, helped establish the Dutch chapter of the RSE + community (NL-RSE\,\n)\, and has worked on many + different research projects over\nthe years\, mostly in the fields of + Climate Science and Hydrology. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231116T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - Teaching RSE for Digital Humanities - Mary + Chester-Cadwell +UID:0876bf7a-c9b2-41b2-96e7-2391f92a1f05@0876.org +DESCRIPTION:Cambridge Digital Humanities (CDH) runs a variety of learning + opportunities that\nintroduce RSE practices to students\, researchers and + staff in the arts\, humanities\,\narchives\, libraries and museums. The + CDH Learning programme offers a 'Best Practices\nin Coding for Digital + Humanities' series and runs a RSE Methods Fellows programme\nfor RSEs (of + any discipline) to teach workshops and prepare online tutorials.\nCDH also + hosts a Digital Humanities (DH) RSE Summer School (together with + several\npartner institutions) with the aim of introducing those who code + in research to\nbeginner and intermediate RSE practices. This is an + exciting time for RSE in DH\nand these recent initiatives are still in the + process of active development. In\nthis talk I will discuss some of the + challenges and opportunities of making RSE\nrelevant to the various types + of research under the ‘DH umbrella’\, how best to\nengage DH scholars and + RSEs from other disciplines in this joint endeavour\, and\nwhere this + might take us next. +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +BEGIN:VEVENT +DTSTART;TZID=/ics.py/2020.1/Europe/London:20231123T130000 +DURATION:PT1H +SUMMARY:Cambridge RSE Seminar - How not to write a convection + parameterisation code? - Mike Whitall +UID:531667d8-c3aa-4f2e-b611-1560820cd8cc@5316.org +DESCRIPTION:Convection parameterisations are a crucial element of global + atmospheric models.\nThey simulate the vertical transport of heat\, + moisture and momentum by convective\nclouds\, and associated rainfall. The + majority of Tropical rainfall is associated\nwith these clouds\, which + are too small-scale to explicitly resolve on the model’s\ngrid and so need + to be parameterised.\n\nMost global atmosphere models use a so-called + 'mass-flux' form of convection\nparameterisation\, which consists of a + diagnostic vertical integral to compute the\nproperties of the clouds and + the amount of heat / moisture entrained / detrained\nat each height. The + calculations in a given vertical column of model grid-points\nare + completely independent of those in other neighbouring columns\, so it + would be\nsimplest to write the code so that it only considers a single + column at a time.\nHowever\, since we are performing a vertical integral + the calculations at a given\nheight within each column depend on the + results from those calculations at the\nlevel below\, so the scheme must + be structured in a vertically sequential manner\nconsidering a single + height-level at a time.\n\nConsidering only a single column and a single + height-level at a time amounts to\ncomputing only a single grid-point at a + time. On CPU architectures\, this is\nextremely inefficient\; far greater + computation speeds are obtained by doing many\nidentical calculations + simultaneously\, via vectorisation. Another challenge/opportunity\nis the + sparsity of the required calculations\, since convective clouds only + occupy a\nsmall fraction of the atmosphere’s volume.\n\nIn this talk I + discuss routes to exploiting both vectorisation and shared + memory\nparallelisation\, and how to make efficient use of memory given + the sparsity\, in the\ncomorph convection parameterisation fortran code + currently under development at the\nMet Office.\n\nHowever\, current and + future changes in software and HPC architectures (such as GPUs)\nmay + radically change the optimal code structure. Is there any way to adapt + our\nconvection code to these changes without completely rewriting it\, or + write it in a\n'future proof' way? +LOCATION:West Cambridge and online via Zoom +DTSTAMP:20240716T020217Z +END:VEVENT +NAME:RSE Events +X-WR-CALNAME:RSE Events +END:VCALENDAR \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 0000000..042b1b5 --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1,747 @@ +.highlight .c { + color: #998; + font-style: italic; +} +.highlight .err { + color: #a61717; + background-color: #e3d2d2; +} +.highlight .k { + font-weight: bold; +} +.highlight .o { + font-weight: bold; +} +.highlight .cm { + color: #998; + font-style: italic; +} +.highlight .cp { + color: #999; + font-weight: bold; +} +.highlight .c1 { + color: #998; + font-style: italic; +} +.highlight .cs { + color: #999; + font-weight: bold; + font-style: italic; +} +.highlight .gd { + color: #000; + background-color: #fdd; +} +.highlight .gd .x { + color: #000; + background-color: #faa; +} +.highlight .ge { + font-style: italic; +} +.highlight .gr { + color: #a00; +} +.highlight .gh { + color: #999; +} +.highlight .gi { + color: #000; + background-color: #dfd; +} +.highlight .gi .x { + color: #000; + background-color: #afa; +} +.highlight .go { + color: #888; +} +.highlight .gp { + color: #555; +} +.highlight .gs { + font-weight: bold; +} +.highlight .gu { + color: #aaa; +} +.highlight .gt { + color: #a00; +} +.highlight .kc { + font-weight: bold; +} +.highlight .kd { + font-weight: bold; +} +.highlight .kp { + font-weight: bold; +} +.highlight .kr { + font-weight: bold; +} +.highlight .kt { + color: #458; + font-weight: bold; +} +.highlight .m { + color: #099; +} +.highlight .s { + color: #d14; +} +.highlight .na { + color: #008080; +} +.highlight .nb { + color: #0086B3; +} +.highlight .nc { + color: #458; + font-weight: bold; +} +.highlight .no { + color: #008080; +} +.highlight .ni { + color: #800080; +} +.highlight .ne { + color: #900; + font-weight: bold; +} +.highlight .nf { + color: #900; + font-weight: bold; +} +.highlight .nn { + color: #555; +} +.highlight .nt { + color: #000080; +} +.highlight .nv { + color: #008080; +} +.highlight .ow { + font-weight: bold; +} +.highlight .w { + color: #bbb; +} +.highlight .mf { + color: #099; +} +.highlight .mh { + color: #099; +} +.highlight .mi { + color: #099; +} +.highlight .mo { + color: #099; +} +.highlight .sb { + color: #d14; +} +.highlight .sc { + color: #d14; +} +.highlight .sd { + color: #d14; +} +.highlight .s2 { + color: #d14; +} +.highlight .se { + color: #d14; +} +.highlight .sh { + color: #d14; +} +.highlight .si { + color: #d14; +} +.highlight .sx { + color: #d14; +} +.highlight .sr { + color: #009926; +} +.highlight .s1 { + color: #d14; +} +.highlight .ss { + color: #990073; +} +.highlight .bp { + color: #999; +} +.highlight .vc { + color: #008080; +} +.highlight .vg { + color: #008080; +} +.highlight .vi { + color: #008080; +} +.highlight .il { + color: #099; +} + +html { + font-size: 16px; +} + +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; +} + +/** + * Basic styling + */ +body { + font: 400 16px/1.5 -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", Roboto, Helvetica, Arial, sans-serif; + color: #111111; + background-color: #fdfdfd; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; + display: flex; + min-height: 100vh; + flex-direction: column; + overflow-wrap: break-word; +} + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +.highlight { + margin-bottom: 15px; +} + +hr { + margin-top: 30px; + margin-bottom: 30px; +} + +/** + * `main` element + */ +main { + display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ +} + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: 14px; +} + +/** + * Lists + */ +ul, ol { + margin-left: 30px; +} + +li > ul, +li > ol { + margin-bottom: 0; +} + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: 400; +} + +/** + * Links + */ +a { + color: #2a7ae2; + text-decoration: none; +} +a:visited { + color: #1756a9; +} +a:hover { + color: #111111; + text-decoration: underline; +} +.social-media-list a:hover, .pagination a:hover { + text-decoration: none; +} +.social-media-list a:hover .username, .pagination a:hover .username { + text-decoration: underline; +} + +/** + * Blockquotes + */ +blockquote { + color: #828282; + border-left: 4px solid #e8e8e8; + padding-left: 15px; + font-size: 1.125rem; + font-style: italic; +} +blockquote > :last-child { + margin-bottom: 0; +} +blockquote i, blockquote em { + font-style: normal; +} + +/** + * Code formatting + */ +pre, +code { + font-family: "Menlo", "Inconsolata", "Consolas", "Roboto Mono", "Ubuntu Mono", "Liberation Mono", "Courier New", monospace; + font-size: 0.9375em; + border: 1px solid #e8e8e8; + border-radius: 3px; + background-color: #eeeeff; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: auto; +} +pre > code { + border: 0; + padding-right: 0; + padding-left: 0; +} + +.highlight { + border-radius: 3px; + background: #eeeeff; +} +.highlighter-rouge .highlight { + background: #eeeeff; +} + +/** + * Wrapper + */ +.wrapper { + max-width: calc(800px - (30px)); + margin-right: auto; + margin-left: auto; + padding-right: 15px; + padding-left: 15px; +} +@media screen and (min-width: 800px) { + .wrapper { + max-width: calc(800px - (30px * 2)); + padding-right: 30px; + padding-left: 30px; + } +} + +/** + * Clearfix + */ +.wrapper:after { + content: ""; + display: table; + clear: both; +} + +/** + * Icons + */ +.orange { + color: #f66a0a; +} + +.grey { + color: #828282; +} + +.svg-icon { + width: 1.25em; + height: 1.25em; + display: inline-block; + fill: currentColor; + vertical-align: text-bottom; +} + +/** + * Tables + */ +table { + margin-bottom: 30px; + width: 100%; + text-align: left; + color: #3f3f3f; + border-collapse: collapse; + border: 1px solid #e8e8e8; +} +table tr:nth-child(even) { + background-color: #f7f7f7; +} +table th, table td { + padding: 10px 15px; +} +table th { + background-color: #f0f0f0; + border: 1px solid #e0e0e0; +} +table td { + border: 1px solid #e8e8e8; +} +@media screen and (max-width: 800px) { + table { + display: block; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } +} + +/** + * Site header + */ +.site-header { + border-top: 5px solid #424242; + border-bottom: 1px solid #e8e8e8; + min-height: 55.95px; + line-height: 54px; + position: relative; +} + +.site-title { + font-size: 1.625rem; + font-weight: 300; + letter-spacing: -1px; + margin-bottom: 0; + float: left; +} +@media screen and (max-width: 600px) { + .site-title { + padding-right: 45px; + } +} +.site-title, .site-title:visited { + color: #424242; +} + +.site-nav { + position: absolute; + top: 9px; + right: 15px; + background-color: #fdfdfd; + border: 1px solid #e8e8e8; + border-radius: 5px; + text-align: right; +} +.site-nav .nav-trigger { + display: none; +} +.site-nav .menu-icon { + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; +} +.site-nav .menu-icon > svg path { + fill: #424242; +} +.site-nav label[for=nav-trigger] { + display: block; + float: right; + width: 36px; + height: 36px; + z-index: 2; + cursor: pointer; +} +.site-nav input ~ .trigger { + clear: both; + display: none; +} +.site-nav input:checked ~ .trigger { + display: block; + padding-bottom: 5px; +} +.site-nav .page-link { + color: #111111; + line-height: 1.5; + display: block; + padding: 5px 10px; + margin-left: 20px; +} +.site-nav .page-link:not(:last-child) { + margin-right: 0; +} +@media screen and (min-width: 600px) { + .site-nav { + position: static; + float: right; + border: none; + background-color: inherit; + } + .site-nav label[for=nav-trigger] { + display: none; + } + .site-nav .menu-icon { + display: none; + } + .site-nav input ~ .trigger { + display: block; + } + .site-nav .page-link { + display: inline; + padding: 0; + margin-left: auto; + } + .site-nav .page-link:not(:last-child) { + margin-right: 20px; + } +} + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid #e8e8e8; + padding: 30px 0; +} + +.footer-heading { + font-size: 1.125rem; + margin-bottom: 15px; +} + +.feed-subscribe .svg-icon { + padding: 5px 5px 2px 0; +} + +.contact-list, +.social-media-list, +.pagination { + list-style: none; + margin-left: 0; +} + +.footer-col-wrapper, +.social-links { + font-size: 0.9375rem; + color: #828282; +} + +.footer-col { + margin-bottom: 15px; +} + +.footer-col-1, +.footer-col-2 { + width: calc(50% - (30px / 2)); +} + +.footer-col-3 { + width: calc(100% - (30px / 2)); +} + +@media screen and (min-width: 800px) { + .footer-col-1 { + width: calc(35% - (30px / 2)); + } + .footer-col-2 { + width: calc(20% - (30px / 2)); + } + .footer-col-3 { + width: calc(45% - (30px / 2)); + } +} +@media screen and (min-width: 600px) { + .footer-col-wrapper { + display: flex; + } + .footer-col { + width: calc(100% - (30px / 2)); + padding: 0 15px; + } + .footer-col:first-child { + padding-right: 15px; + padding-left: 0; + } + .footer-col:last-child { + padding-right: 0; + padding-left: 15px; + } +} +/** + * Page content + */ +.page-content { + padding: 30px 0; + flex: 1 0 auto; +} + +.page-heading { + font-size: 2rem; +} + +.post-list-heading { + font-size: 1.75rem; +} + +.post-list { + margin-left: 0; + list-style: none; +} +.post-list > li { + margin-bottom: 30px; +} + +.post-meta { + font-size: 14px; + color: #828282; +} + +.post-link { + display: block; + font-size: 1.5rem; +} + +/** + * Posts + */ +.post-header { + margin-bottom: 30px; +} + +.post-title, +.post-content h1 { + font-size: 2.625rem; + letter-spacing: -1px; + line-height: 1.15; +} +@media screen and (min-width: 800px) { + .post-title, + .post-content h1 { + font-size: 2.625rem; + } +} + +.post-content { + margin-bottom: 30px; +} +.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 { + margin-top: 30px; +} +.post-content h2 { + font-size: 1.75rem; +} +@media screen and (min-width: 800px) { + .post-content h2 { + font-size: 2rem; + } +} +.post-content h3 { + font-size: 1.375rem; +} +@media screen and (min-width: 800px) { + .post-content h3 { + font-size: 1.625rem; + } +} +.post-content h4 { + font-size: 1.25rem; +} +.post-content h5 { + font-size: 1.125rem; +} +.post-content h6 { + font-size: 1.0625rem; +} + +.social-media-list, .pagination { + display: table; + margin: 0 auto; +} +.social-media-list li, .pagination li { + float: left; + margin: 5px 10px 5px 0; +} +.social-media-list li:last-of-type, .pagination li:last-of-type { + margin-right: 0; +} +.social-media-list li a, .pagination li a { + display: block; + padding: 10px 12px; + border: 1px solid #e8e8e8; +} +.social-media-list li a:hover, .pagination li a:hover { + border-color: #dbdbdb; +} + +/** + * Pagination navbar + */ +.pagination { + margin-bottom: 30px; +} +.pagination li a, .pagination li div { + min-width: 41px; + text-align: center; + box-sizing: border-box; +} +.pagination li div { + display: block; + padding: 7.5px; + border: 1px solid transparent; +} +.pagination li div.pager-edge { + color: #e8e8e8; + border: 1px dashed; +} + +/** + * Grid helpers + */ +@media screen and (min-width: 800px) { + .one-half { + width: calc(50% - (30px / 2)); + } +} + +/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/assets/css/style.css.map b/assets/css/style.css.map new file mode 100644 index 0000000..5fc3ebd --- /dev/null +++ b/assets/css/style.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../_sass/minima/skins/auto.scss","../../_sass/minima/_base.scss","../../_sass/minima/initialize.scss","../../_sass/minima/_layout.scss"],"names":[],"mappings":"AA0CI;EAAS;EAAa;;AACtB;EAAS;EAAgB;;AACzB;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;EAAa;EAAmB;;AACzC;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;;ACpGb;EACE,WCKiB;;;ADFnB;AAAA;AAAA;AAGA;AAAA;AAAA;EAGE;EACA;;;AAMF;AAAA;AAAA;AAGA;EACE;EACA,ODJyB;ECKzB,kBDJyB;ECKzB;EACA;EACG;EACE;EACG;EACR;EACA;EACA;EACA;EACA;;;AAKF;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE,YCtCiB;EDuCjB,eCvCiB;;;AD0CnB;AAAA;AAAA;AAGA;EACE;;;AAKF;AAAA;AAAA;AAGA;EACE;EACA;;;AAKF;AAAA;AAAA;AAGA;EACE;;;AAGF;EACE,WCxEiB;;;AD6EnB;AAAA;AAAA;AAGA;EACE,aC9EiB;;;ADkFjB;AAAA;EAEE;;;AAMJ;AAAA;AAAA;AAGA;EACE,aClGiB;;;ADuGnB;AAAA;AAAA;AAGA;EACE,OD5FyB;EC6FzB;;AAEA;EACE,OD/FuB;;ACkGzB;EACE,ODxGuB;ECyGvB;;AAGF;EACE;;AAEA;EACE;;;AAMN;AAAA;AAAA;AAGA;EACE,ODhIyB;ECiIzB;EACA;ECtGA;EDwGA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;AAAA;AAAA;AAGA;AAAA;EAEE,aC7JiB;ED8JjB;EACA;EACA;EACA,kBDlJyB;;;ACqJ3B;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA,YDtKyB;;ACyKzB;EACE,YD1KuB;;;ACgL3B;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGA;EARF;IASI;IACA,eCtMe;IDuMf,cCvMe;;;;AD6MnB;AAAA;AAAA;AAGA;EACE;EACA;EACA;;;AAKF;AAAA;AAAA;AAIA;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIF;AAAA;AAAA;AAGA;EACE,eCjPiB;EDkPjB;EACA,YCjPiB;EDkPjB,ODjOyB;ECkOzB;EACA;;AAEE;EACE,kBDrOqB;;ACwOzB;EACE;;AAEF;EACE,kBD3OuB;EC4OvB;;AAEF;EACE;;AC7OF;EDyNF;IAwBI;IACA;IACA;IACQ;;;;AEtRZ;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EAGA;;;AAGF;ED2BE;ECzBA;EACA;EACA;EACA;;ADgBA;ECrBF;IAQI;;;AAGF;EAEE,OHZuB;;;AGgB3B;EACE;EACA;EACA;EACA,kBHfyB;EGgBzB;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,MHtCqB;;AG0CzB;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE,OH1DuB;EG2DvB,aDpEe;ECqEf;EACA;EAMA;;AAHA;EACE;;AAKJ;EA1DF;IA2DI;IACA;IACA;IACA;;EAEA;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IAKA;;EAHA;IACE;;;;AASR;AAAA;AAAA;AAGA;EACE;EACA;;;AAGF;EDxFE;EC0FA;;;AAGF;EACE;;;AAGF;AAAA;AAAA;EAEE;EACA;;;AAGF;AAAA;EDvGE;EC0GA,OHtIyB;;;AGyI3B;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;EAGF;IACE;IACA;;;AAON;AAAA;AAAA;AAGA;EACE;EACA;;;AAGF;EDvKE;;;AC2KF;ED3KE;;;AC+KF;EACE;EACA;;AAEA;EACE,eDjNe;;;ACqNnB;EACE,WDzNiB;EC0NjB,OHtNyB;;;AGyN3B;EACE;ED9LA;;;ACoMF;AAAA;AAAA;AAGA;EACE,eDrOiB;;;ACwOnB;AAAA;ED3ME;EC8MA;EACA;;AAEA;EANF;AAAA;ID3ME;;;;ACsNF;EACE,eDpPiB;;ACsPjB;EAAyB,YDtPR;;ACwPjB;ED3NA;;AC8NE;EAHF;ID3NA;;;ACmOA;EDnOA;;ACsOE;EAHF;IDnOA;;;AC2OA;ED3OA;;AC+OA;ED/OA;;ACkPA;EDlPA;;;ACwPF;EACE;EACA;;AACA;EACE;EACA;;AACA;EAAiB;;AACjB;EACE;EACA;EACA;;AACA;EAAU,cHhRW;;;AGuR3B;AAAA;AAAA;AAGA;EACE,eD3SiB;;AC8Sf;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEA;EACE,OHvTmB;EGwTnB;;;AAQR;AAAA;AAAA;AAGA;EACE;IACE","sourcesContent":["@charset \"utf-8\";\n\n// Default color scheme settings\n// These are overridden in classic.css and dark.scss\n\n$color-scheme-auto: true !default;\n$color-scheme-dark: false !default;\n\n\n// Light mode\n// ----------\n\n$lm-brand-color: #828282 !default;\n$lm-brand-color-light: lighten($lm-brand-color, 40%) !default;\n$lm-brand-color-dark: darken($lm-brand-color, 25%) !default;\n\n$lm-site-title-color: $lm-brand-color-dark !default;\n\n$lm-text-color: #111111 !default;\n$lm-background-color: #fdfdfd !default;\n$lm-code-background-color: #eeeeff !default;\n\n$lm-link-base-color: #2a7ae2 !default;\n$lm-link-visited-color: darken($lm-link-base-color, 15%) !default;\n$lm-link-hover-color: $lm-text-color !default;\n\n$lm-border-color-01: $lm-brand-color-light !default;\n$lm-border-color-02: lighten($lm-brand-color, 35%) !default;\n$lm-border-color-03: $lm-brand-color-dark !default;\n\n$lm-table-text-color: lighten($lm-text-color, 18%) !default;\n$lm-table-zebra-color: lighten($lm-brand-color, 46%) !default;\n$lm-table-header-bg-color: lighten($lm-brand-color, 43%) !default;\n$lm-table-header-border: lighten($lm-brand-color, 37%) !default;\n$lm-table-border-color: $lm-border-color-01 !default;\n\n\n// Syntax highlighting styles should be adjusted appropriately for every \"skin\"\n// ----------------------------------------------------------------------------\n\n@mixin lm-highlight {\n .highlight {\n .c { color: #998; font-style: italic } // Comment\n .err { color: #a61717; background-color: #e3d2d2 } // Error\n .k { font-weight: bold } // Keyword\n .o { font-weight: bold } // Operator\n .cm { color: #998; font-style: italic } // Comment.Multiline\n .cp { color: #999; font-weight: bold } // Comment.Preproc\n .c1 { color: #998; font-style: italic } // Comment.Single\n .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special\n .gd { color: #000; background-color: #fdd } // Generic.Deleted\n .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific\n .ge { font-style: italic } // Generic.Emph\n .gr { color: #a00 } // Generic.Error\n .gh { color: #999 } // Generic.Heading\n .gi { color: #000; background-color: #dfd } // Generic.Inserted\n .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific\n .go { color: #888 } // Generic.Output\n .gp { color: #555 } // Generic.Prompt\n .gs { font-weight: bold } // Generic.Strong\n .gu { color: #aaa } // Generic.Subheading\n .gt { color: #a00 } // Generic.Traceback\n .kc { font-weight: bold } // Keyword.Constant\n .kd { font-weight: bold } // Keyword.Declaration\n .kp { font-weight: bold } // Keyword.Pseudo\n .kr { font-weight: bold } // Keyword.Reserved\n .kt { color: #458; font-weight: bold } // Keyword.Type\n .m { color: #099 } // Literal.Number\n .s { color: #d14 } // Literal.String\n .na { color: #008080 } // Name.Attribute\n .nb { color: #0086B3 } // Name.Builtin\n .nc { color: #458; font-weight: bold } // Name.Class\n .no { color: #008080 } // Name.Constant\n .ni { color: #800080 } // Name.Entity\n .ne { color: #900; font-weight: bold } // Name.Exception\n .nf { color: #900; font-weight: bold } // Name.Function\n .nn { color: #555 } // Name.Namespace\n .nt { color: #000080 } // Name.Tag\n .nv { color: #008080 } // Name.Variable\n .ow { font-weight: bold } // Operator.Word\n .w { color: #bbb } // Text.Whitespace\n .mf { color: #099 } // Literal.Number.Float\n .mh { color: #099 } // Literal.Number.Hex\n .mi { color: #099 } // Literal.Number.Integer\n .mo { color: #099 } // Literal.Number.Oct\n .sb { color: #d14 } // Literal.String.Backtick\n .sc { color: #d14 } // Literal.String.Char\n .sd { color: #d14 } // Literal.String.Doc\n .s2 { color: #d14 } // Literal.String.Double\n .se { color: #d14 } // Literal.String.Escape\n .sh { color: #d14 } // Literal.String.Heredoc\n .si { color: #d14 } // Literal.String.Interpol\n .sx { color: #d14 } // Literal.String.Other\n .sr { color: #009926 } // Literal.String.Regex\n .s1 { color: #d14 } // Literal.String.Single\n .ss { color: #990073 } // Literal.String.Symbol\n .bp { color: #999 } // Name.Builtin.Pseudo\n .vc { color: #008080 } // Name.Variable.Class\n .vg { color: #008080 } // Name.Variable.Global\n .vi { color: #008080 } // Name.Variable.Instance\n .il { color: #099 } // Literal.Number.Integer.Long\n }\n}\n\n\n// Dark mode\n// ---------\n\n$dm-brand-color: #999999 !default;\n$dm-brand-color-light: lighten($dm-brand-color, 5%) !default;\n$dm-brand-color-dark: darken($dm-brand-color, 35%) !default;\n\n$dm-site-title-color: $dm-brand-color-light !default;\n\n$dm-text-color: #bbbbbb !default;\n$dm-background-color: #181818 !default;\n$dm-code-background-color: #212121 !default;\n\n$dm-link-base-color: #79b8ff !default;\n$dm-link-visited-color: $dm-link-base-color !default;\n$dm-link-hover-color: $dm-text-color !default;\n\n$dm-border-color-01: $dm-brand-color-dark !default;\n$dm-border-color-02: $dm-brand-color-light !default;\n$dm-border-color-03: $dm-brand-color !default;\n\n$dm-table-text-color: $dm-text-color !default;\n$dm-table-zebra-color: lighten($dm-background-color, 4%) !default;\n$dm-table-header-bg-color: lighten($dm-background-color, 10%) !default;\n$dm-table-header-border: lighten($dm-background-color, 21%) !default;\n$dm-table-border-color: $dm-border-color-01 !default;\n\n\n// Syntax highlighting styles should be adjusted appropriately for every \"skin\"\n// List of tokens: https://github.com/rouge-ruby/rouge/wiki/List-of-tokens\n// Some colors come from Material Theme Darker:\n// https://github.com/material-theme/vsc-material-theme/blob/master/scripts/generator/settings/specific/darker-hc.ts\n// https://github.com/material-theme/vsc-material-theme/blob/master/scripts/generator/color-set.ts\n// ----------------------------------------------------------------------------\n\n@mixin dm-highlight {\n .highlight {\n .c { color: #545454; font-style: italic } // Comment\n .err { color: #f07178; background-color: #e3d2d2 } // Error\n .k { color: #89DDFF; font-weight: bold } // Keyword\n .o { font-weight: bold } // Operator\n .cm { color: #545454; font-style: italic } // Comment.Multiline\n .cp { color: #545454; font-weight: bold } // Comment.Preproc\n .c1 { color: #545454; font-style: italic } // Comment.Single\n .cs { color: #545454; font-weight: bold; font-style: italic } // Comment.Special\n .gd { color: #000; background-color: #fdd } // Generic.Deleted\n .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific\n .ge { font-style: italic } // Generic.Emph\n .gr { color: #f07178 } // Generic.Error\n .gh { color: #999 } // Generic.Heading\n .gi { color: #000; background-color: #dfd } // Generic.Inserted\n .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific\n .go { color: #888 } // Generic.Output\n .gp { color: #555 } // Generic.Prompt\n .gs { font-weight: bold } // Generic.Strong\n .gu { color: #aaa } // Generic.Subheading\n .gt { color: #f07178 } // Generic.Traceback\n .kc { font-weight: bold } // Keyword.Constant\n .kd { font-weight: bold } // Keyword.Declaration\n .kp { font-weight: bold } // Keyword.Pseudo\n .kr { font-weight: bold } // Keyword.Reserved\n .kt { color: #FFCB6B; font-weight: bold } // Keyword.Type\n .m { color: #F78C6C } // Literal.Number\n .s { color: #C3E88D } // Literal.String\n .na { color: #008080 } // Name.Attribute\n .nb { color: #EEFFFF } // Name.Builtin\n .nc { color: #FFCB6B; font-weight: bold } // Name.Class\n .no { color: #008080 } // Name.Constant\n .ni { color: #800080 } // Name.Entity\n .ne { color: #900; font-weight: bold } // Name.Exception\n .nf { color: #82AAFF; font-weight: bold } // Name.Function\n .nn { color: #555 } // Name.Namespace\n .nt { color: #FFCB6B } // Name.Tag\n .nv { color: #EEFFFF } // Name.Variable\n .ow { font-weight: bold } // Operator.Word\n .w { color: #EEFFFF } // Text.Whitespace\n .mf { color: #F78C6C } // Literal.Number.Float\n .mh { color: #F78C6C } // Literal.Number.Hex\n .mi { color: #F78C6C } // Literal.Number.Integer\n .mo { color: #F78C6C } // Literal.Number.Oct\n .sb { color: #C3E88D } // Literal.String.Backtick\n .sc { color: #C3E88D } // Literal.String.Char\n .sd { color: #C3E88D } // Literal.String.Doc\n .s2 { color: #C3E88D } // Literal.String.Double\n .se { color: #EEFFFF } // Literal.String.Escape\n .sh { color: #C3E88D } // Literal.String.Heredoc\n .si { color: #C3E88D } // Literal.String.Interpol\n .sx { color: #C3E88D } // Literal.String.Other\n .sr { color: #C3E88D } // Literal.String.Regex\n .s1 { color: #C3E88D } // Literal.String.Single\n .ss { color: #C3E88D } // Literal.String.Symbol\n .bp { color: #999 } // Name.Builtin.Pseudo\n .vc { color: #FFCB6B } // Name.Variable.Class\n .vg { color: #EEFFFF } // Name.Variable.Global\n .vi { color: #EEFFFF } // Name.Variable.Instance\n .il { color: #F78C6C } // Literal.Number.Integer.Long\n }\n}\n\n\n// Mode selection\n// --------------\n\n\n// Classic skin (always light mode)\n// Assign outside of the if construct to establish global variable scope\n\n$brand-color: $lm-brand-color;\n$brand-color-light: $lm-brand-color-light;\n$brand-color-dark: $lm-brand-color-dark;\n\n$site-title-color: $lm-site-title-color;\n\n$text-color: $lm-text-color;\n$background-color: $lm-background-color;\n$code-background-color: $lm-code-background-color;\n\n$link-base-color: $lm-link-base-color;\n$link-visited-color: $lm-link-visited-color;\n$link-hover-color: $lm-link-hover-color;\n\n$border-color-01: $lm-border-color-01;\n$border-color-02: $lm-border-color-02;\n$border-color-03: $lm-border-color-03;\n\n$table-text-color: $lm-table-text-color;\n$table-zebra-color: $lm-table-zebra-color;\n$table-header-bg-color: $lm-table-header-bg-color;\n$table-header-border: $lm-table-header-border;\n$table-border-color: $lm-table-border-color;\n\n\n@if $color-scheme-auto {\n\n // Auto mode\n\n :root {\n --minima-brand-color: #{$lm-brand-color};\n --minima-brand-color-light: #{$lm-brand-color-light};\n --minima-brand-color-dark: #{$lm-brand-color-dark};\n\n --minima-site-title-color: #{$lm-site-title-color};\n\n --minima-text-color: #{$lm-text-color};\n --minima-background-color: #{$lm-background-color};\n --minima-code-background-color: #{$lm-code-background-color};\n\n --minima-link-base-color: #{$lm-link-base-color};\n --minima-link-visited-color: #{$lm-link-visited-color};\n --minima-link-hover-color: #{$lm-link-hover-color};\n\n --minima-border-color-01: #{$lm-border-color-01};\n --minima-border-color-02: #{$lm-border-color-02};\n --minima-border-color-03: #{$lm-border-color-03};\n\n --minima-table-text-color: #{$lm-table-text-color};\n --minima-table-zebra-color: #{$lm-table-zebra-color};\n --minima-table-header-bg-color: #{$lm-table-header-bg-color};\n --minima-table-header-border: #{$lm-table-header-border};\n --minima-table-border-color: #{$lm-table-border-color};\n }\n\n @include lm-highlight;\n\n @media (prefers-color-scheme: dark) {\n :root {\n --minima-brand-color: #{$dm-brand-color};\n --minima-brand-color-light: #{$dm-brand-color-light};\n --minima-brand-color-dark: #{$dm-brand-color-dark};\n\n --minima-site-title-color: #{$dm-site-title-color};\n\n --minima-text-color: #{$dm-text-color};\n --minima-background-color: #{$dm-background-color};\n --minima-code-background-color: #{$dm-code-background-color};\n\n --minima-link-base-color: #{$dm-link-base-color};\n --minima-link-visited-color: #{$dm-link-visited-color};\n --minima-link-hover-color: #{$dm-link-hover-color};\n\n --minima-border-color-01: #{$dm-border-color-01};\n --minima-border-color-02: #{$dm-border-color-02};\n --minima-border-color-03: #{$dm-border-color-03};\n\n --minima-table-text-color: #{$dm-table-text-color};\n --minima-table-zebra-color: #{$dm-table-zebra-color};\n --minima-table-header-bg-color: #{$dm-table-header-bg-color};\n --minima-table-header-border: #{$dm-table-header-border};\n --minima-table-border-color: #{$dm-table-border-color};\n }\n\n @include dm-highlight;\n }\n\n $brand-color: var(--minima-brand-color);\n $brand-color-light: var(--minima-brand-color-light);\n $brand-color-dark: var(--minima-brand-color-dark);\n\n $site-title-color: var(--minima-site-title-color);\n\n $text-color: var(--minima-text-color);\n $background-color: var(--minima-background-color);\n $code-background-color: var(--minima-code-background-color);\n\n $link-base-color: var(--minima-link-base-color);\n $link-visited-color: var(--minima-link-visited-color);\n $link-hover-color: var(--minima-link-hover-color);\n\n $border-color-01: var(--minima-border-color-01);\n $border-color-02: var(--minima-border-color-02);\n $border-color-03: var(--minima-border-color-03);\n\n $table-text-color: var(--minima-table-text-color);\n $table-zebra-color: var(--minima-table-zebra-color);\n $table-header-bg-color: var(--minima-table-header-bg-color);\n $table-header-border: var(--minima-table-header-border);\n $table-border-color: var(--minima-table-border-color);\n\n\n} @else if $color-scheme-dark {\n\n // Dark skin (always dark mode)\n\n $brand-color: $dm-brand-color;\n $brand-color-light: $dm-brand-color-light;\n $brand-color-dark: $dm-brand-color-dark;\n\n $site-title-color: $dm-site-title-color;\n\n $text-color: $dm-text-color;\n $background-color: $dm-background-color;\n $code-background-color: $dm-code-background-color;\n\n $link-base-color: $dm-link-base-color;\n $link-visited-color: $dm-link-visited-color;\n $link-hover-color: $dm-link-hover-color;\n\n $border-color-01: $dm-border-color-01;\n $border-color-02: $dm-border-color-02;\n $border-color-03: $dm-border-color-03;\n\n $table-text-color: $dm-table-text-color;\n $table-zebra-color: $dm-table-zebra-color;\n $table-header-bg-color: $dm-table-header-bg-color;\n $table-header-border: $dm-table-header-border;\n $table-border-color: $dm-table-border-color;\n\n @include dm-highlight;\n\n\n} @else {\n\n // Classic skin syntax highlighting\n @include lm-highlight;\n\n}\n","html {\n font-size: $base-font-size;\n}\n\n/**\n * Reset some basic elements\n */\nbody, h1, h2, h3, h4, h5, h6,\np, blockquote, pre, hr,\ndl, dd, ol, ul, figure {\n margin: 0;\n padding: 0;\n\n}\n\n\n\n/**\n * Basic styling\n */\nbody {\n font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;\n color: $text-color;\n background-color: $background-color;\n -webkit-text-size-adjust: 100%;\n -webkit-font-feature-settings: \"kern\" 1;\n -moz-font-feature-settings: \"kern\" 1;\n -o-font-feature-settings: \"kern\" 1;\n font-feature-settings: \"kern\" 1;\n font-kerning: normal;\n display: flex;\n min-height: 100vh;\n flex-direction: column;\n overflow-wrap: break-word;\n}\n\n\n\n/**\n * Set `margin-bottom` to maintain vertical rhythm\n */\nh1, h2, h3, h4, h5, h6,\np, blockquote, pre,\nul, ol, dl, figure,\n%vertical-rhythm {\n margin-bottom: $spacing-unit * .5;\n}\n\nhr {\n margin-top: $spacing-unit;\n margin-bottom: $spacing-unit;\n}\n\n/**\n * `main` element\n */\nmain {\n display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */\n}\n\n\n\n/**\n * Images\n */\nimg {\n max-width: 100%;\n vertical-align: middle;\n}\n\n\n\n/**\n * Figures\n */\nfigure > img {\n display: block;\n}\n\nfigcaption {\n font-size: $small-font-size;\n}\n\n\n\n/**\n * Lists\n */\nul, ol {\n margin-left: $spacing-unit;\n}\n\nli {\n > ul,\n > ol {\n margin-bottom: 0;\n }\n}\n\n\n\n/**\n * Headings\n */\nh1, h2, h3, h4, h5, h6 {\n font-weight: $base-font-weight;\n}\n\n\n\n/**\n * Links\n */\na {\n color: $link-base-color;\n text-decoration: none;\n\n &:visited {\n color: $link-visited-color;\n }\n\n &:hover {\n color: $link-hover-color;\n text-decoration: underline;\n }\n\n .social-media-list &:hover {\n text-decoration: none;\n\n .username {\n text-decoration: underline;\n }\n }\n}\n\n\n/**\n * Blockquotes\n */\nblockquote {\n color: $brand-color;\n border-left: 4px solid $border-color-01;\n padding-left: $spacing-unit * .5;\n @include relative-font-size(1.125);\n font-style: italic;\n\n > :last-child {\n margin-bottom: 0;\n }\n\n i, em {\n font-style: normal;\n }\n}\n\n\n\n/**\n * Code formatting\n */\npre,\ncode {\n font-family: $code-font-family;\n font-size: 0.9375em;\n border: 1px solid $border-color-01;\n border-radius: 3px;\n background-color: $code-background-color;\n}\n\ncode {\n padding: 1px 5px;\n}\n\npre {\n padding: 8px 12px;\n overflow-x: auto;\n\n > code {\n border: 0;\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n.highlight {\n border-radius: 3px;\n background: $code-background-color;\n @extend %vertical-rhythm;\n\n .highlighter-rouge & {\n background: $code-background-color;\n }\n}\n\n\n\n/**\n * Wrapper\n */\n.wrapper {\n max-width: calc(#{$content-width} - (#{$spacing-unit}));\n margin-right: auto;\n margin-left: auto;\n padding-right: $spacing-unit * .5;\n padding-left: $spacing-unit * .5;\n @extend %clearfix;\n\n @media screen and (min-width: $on-large) {\n max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));\n padding-right: $spacing-unit;\n padding-left: $spacing-unit;\n }\n}\n\n\n\n/**\n * Clearfix\n */\n%clearfix:after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n\n\n/**\n * Icons\n */\n\n.orange {\n color: #f66a0a;\n}\n\n.grey {\n color: #828282;\n}\n\n.svg-icon {\n width: 1.25em;\n height: 1.25em;\n display: inline-block;\n fill: currentColor;\n vertical-align: text-bottom;\n}\n\n\n/**\n * Tables\n */\ntable {\n margin-bottom: $spacing-unit;\n width: 100%;\n text-align: $table-text-align;\n color: $table-text-color;\n border-collapse: collapse;\n border: 1px solid $table-border-color;\n tr {\n &:nth-child(even) {\n background-color: $table-zebra-color;\n }\n }\n th, td {\n padding: ($spacing-unit * 33.3333333333 * .01) ($spacing-unit * .5);\n }\n th {\n background-color: $table-header-bg-color;\n border: 1px solid $table-header-border;\n }\n td {\n border: 1px solid $table-border-color;\n }\n\n @include media-query($on-laptop) {\n display: block;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n}\n","@charset \"utf-8\";\n\n// Define defaults for each variable.\n\n$base-font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Apple Color Emoji\", Roboto, Helvetica, Arial, sans-serif !default;\n$code-font-family: \"Menlo\", \"Inconsolata\", \"Consolas\", \"Roboto Mono\", \"Ubuntu Mono\", \"Liberation Mono\", \"Courier New\", monospace;\n$base-font-size: 16px !default;\n$base-font-weight: 400 !default;\n$small-font-size: $base-font-size * 0.875 !default;\n$base-line-height: 1.5 !default;\n\n$spacing-unit: 30px !default;\n\n$table-text-align: left !default;\n\n// Width of the content area\n$content-width: 800px !default;\n\n$on-palm: 600px !default;\n$on-laptop: 800px !default;\n\n$on-medium: $on-palm !default;\n$on-large: $on-laptop !default;\n\n// Use media queries like this:\n// @include media-query($on-palm) {\n// .wrapper {\n// padding-right: $spacing-unit / 2;\n// padding-left: $spacing-unit / 2;\n// }\n// }\n// Notice the following mixin uses max-width, in a deprecated, desktop-first\n// approach, whereas media queries used elsewhere now use min-width.\n@mixin media-query($device) {\n @media screen and (max-width: $device) {\n @content;\n }\n}\n\n@mixin relative-font-size($ratio) {\n font-size: #{$ratio}rem;\n}\n\n// Import pre-styling-overrides hook and style-partials.\n@import\n \"minima/custom-variables\", // Hook to override predefined variables.\n \"minima/base\", // Defines element resets.\n \"minima/layout\", // Defines structure and style based on CSS selectors.\n \"minima/custom-styles\" // Hook to override existing styles.\n;\n","/**\n * Site header\n */\n.site-header {\n border-top: 5px solid $border-color-03;\n border-bottom: 1px solid $border-color-01;\n min-height: $spacing-unit * 1.865;\n line-height: $base-line-height * $base-font-size * 2.25;\n\n // Positioning context for the mobile navigation icon\n position: relative;\n}\n\n.site-title {\n @include relative-font-size(1.625);\n font-weight: 300;\n letter-spacing: -1px;\n margin-bottom: 0;\n float: left;\n\n @include media-query($on-palm) {\n padding-right: 45px;\n }\n\n &,\n &:visited {\n color: $site-title-color;\n }\n}\n\n.site-nav {\n position: absolute;\n top: 9px;\n right: $spacing-unit * .5;\n background-color: $background-color;\n border: 1px solid $border-color-01;\n border-radius: 5px;\n text-align: right;\n\n .nav-trigger {\n display: none;\n }\n\n .menu-icon {\n float: right;\n width: 36px;\n height: 26px;\n line-height: 0;\n padding-top: 10px;\n text-align: center;\n\n > svg path {\n fill: $border-color-03;\n }\n }\n\n label[for=\"nav-trigger\"] {\n display: block;\n float: right;\n width: 36px;\n height: 36px;\n z-index: 2;\n cursor: pointer;\n }\n\n input ~ .trigger {\n clear: both;\n display: none;\n }\n\n input:checked ~ .trigger {\n display: block;\n padding-bottom: 5px;\n }\n\n .page-link {\n color: $text-color;\n line-height: $base-line-height;\n display: block;\n padding: 5px 10px;\n\n // Gaps between nav items, but not on the last one\n &:not(:last-child) {\n margin-right: 0;\n }\n margin-left: 20px;\n }\n\n @media screen and (min-width: $on-medium) {\n position: static;\n float: right;\n border: none;\n background-color: inherit;\n\n label[for=\"nav-trigger\"] {\n display: none;\n }\n\n .menu-icon {\n display: none;\n }\n\n input ~ .trigger {\n display: block;\n }\n\n .page-link {\n display: inline;\n padding: 0;\n\n &:not(:last-child) {\n margin-right: 20px;\n }\n margin-left: auto;\n }\n }\n}\n\n\n\n/**\n * Site footer\n */\n.site-footer {\n border-top: 1px solid $border-color-01;\n padding: $spacing-unit 0;\n}\n\n.footer-heading {\n @include relative-font-size(1.125);\n margin-bottom: $spacing-unit * .5;\n}\n\n.feed-subscribe .svg-icon {\n padding: 5px 5px 2px 0\n}\n\n.contact-list,\n.social-media-list {\n list-style: none;\n margin-left: 0;\n}\n\n.footer-col-wrapper,\n.social-links {\n @include relative-font-size(0.9375);\n color: $brand-color;\n}\n\n.footer-col {\n margin-bottom: $spacing-unit * .5;\n}\n\n.footer-col-1,\n.footer-col-2 {\n width: calc(50% - (#{$spacing-unit} / 2));\n}\n\n.footer-col-3 {\n width: calc(100% - (#{$spacing-unit} / 2));\n}\n\n@media screen and (min-width: $on-large) {\n .footer-col-1 {\n width: calc(35% - (#{$spacing-unit} / 2));\n }\n\n .footer-col-2 {\n width: calc(20% - (#{$spacing-unit} / 2));\n }\n\n .footer-col-3 {\n width: calc(45% - (#{$spacing-unit} / 2));\n }\n}\n\n@media screen and (min-width: $on-medium) {\n .footer-col-wrapper {\n display: flex\n }\n\n .footer-col {\n width: calc(100% - (#{$spacing-unit} / 2));\n padding: 0 ($spacing-unit * .5);\n\n &:first-child {\n padding-right: $spacing-unit * .5;\n padding-left: 0;\n }\n\n &:last-child {\n padding-right: 0;\n padding-left: $spacing-unit * .5;\n }\n }\n}\n\n\n\n/**\n * Page content\n */\n.page-content {\n padding: $spacing-unit 0;\n flex: 1 0 auto;\n}\n\n.page-heading {\n @include relative-font-size(2);\n}\n\n.post-list-heading {\n @include relative-font-size(1.75);\n}\n\n.post-list {\n margin-left: 0;\n list-style: none;\n\n > li {\n margin-bottom: $spacing-unit;\n }\n}\n\n.post-meta {\n font-size: $small-font-size;\n color: $brand-color;\n}\n\n.post-link {\n display: block;\n @include relative-font-size(1.5);\n}\n\n\n\n/**\n * Posts\n */\n.post-header {\n margin-bottom: $spacing-unit;\n}\n\n.post-title,\n.post-content h1 {\n @include relative-font-size(2.625);\n letter-spacing: -1px;\n line-height: 1.15;\n\n @media screen and (min-width: $on-large) {\n @include relative-font-size(2.625);\n }\n}\n\n.post-content {\n margin-bottom: $spacing-unit;\n\n h1, h2, h3, h4, h5, h6 { margin-top: $spacing-unit }\n\n h2 {\n @include relative-font-size(1.75);\n\n @media screen and (min-width: $on-large) {\n @include relative-font-size(2);\n }\n }\n\n h3 {\n @include relative-font-size(1.375);\n\n @media screen and (min-width: $on-large) {\n @include relative-font-size(1.625);\n }\n }\n\n h4 {\n @include relative-font-size(1.25);\n }\n\n h5 {\n @include relative-font-size(1.125);\n }\n h6 {\n @include relative-font-size(1.0625);\n }\n}\n\n\n.social-media-list {\n display: table;\n margin: 0 auto;\n li {\n float: left;\n margin: 5px 10px 5px 0;\n &:last-of-type { margin-right: 0 }\n a {\n display: block;\n padding: 10px 12px;\n border: 1px solid $border-color-01;\n &:hover { border-color: $border-color-02 }\n }\n }\n}\n\n\n\n/**\n * Pagination navbar\n */\n.pagination {\n margin-bottom: $spacing-unit;\n @extend .social-media-list;\n li {\n a, div {\n min-width: 41px;\n text-align: center;\n box-sizing: border-box;\n }\n div {\n display: block;\n padding: $spacing-unit * .25;\n border: 1px solid transparent;\n\n &.pager-edge {\n color: $border-color-01;\n border: 1px dashed;\n }\n }\n }\n}\n\n\n\n/**\n * Grid helpers\n */\n@media screen and (min-width: $on-large) {\n .one-half {\n width: calc(50% - (#{$spacing-unit} / 2));\n }\n}\n"],"file":"style.css"} \ No newline at end of file diff --git a/assets/minima-social-icons.svg b/assets/minima-social-icons.svg new file mode 100644 index 0000000..388365e --- /dev/null +++ b/assets/minima-social-icons.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..4b8d211 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +git-calendar _data/main.yaml -o out -i out/index.html \ + --timezone=Europe/London --timezone=Europe/Berlin \ + "$@" diff --git a/feed.xml b/feed.xml new file mode 100644 index 0000000..5d99973 --- /dev/null +++ b/feed.xml @@ -0,0 +1 @@ +Jekyll2024-07-16T02:03:10+00:00/rse-calendar/feed.xmlRSE EventsWelcome to the GitHub-powered RSE Events site! \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..d531207 --- /dev/null +++ b/index.html @@ -0,0 +1,121 @@ + + + + + + + + +
+
+

RSE Events

Hello and welcome to the RSE calendar site! The one-stop-shop for all RSE event +listings. +
+
+All events displayed on this page are listed in the +Europe/London +timezone. But you can use the links below to subscribe to this calendar in your +own timezone. If your timezone isn't present please raise an issue to request + it. +

Subscribe to these calendars

+ +

+ Use the links below to subscribe to this calendar using .ics files. +

+ + + + +
+ +
+
+ + + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..6dde435 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +https://github.com/Sparrow0hawk/git-calendar/archive/main.zip +https://github.com/ics-py/ics-py/archive/refs/heads/main.zip +jinja2 +pyyaml diff --git a/subscribe/index.html b/subscribe/index.html new file mode 100644 index 0000000..15e8d38 --- /dev/null +++ b/subscribe/index.html @@ -0,0 +1,139 @@ + + + + + + + + +
+
+
+ +
+

How to subscribe

+
+ +
+

Subscribe to these calendars

+ +

+ Use the links below to subscribe to this calendar using .ics files. +

+ + + +

You can subscribe to these calendars in your calendar program. This +will periodically import the events by polling the URL, so that you +get updates (usually with a few hours of delay). Most programs +implement this as creating a new calendar which can be toggled on or +off. Right click on the link above, “Copy link”, and then…

+ +
    +
  • Google calendar: Other calendars (left sidebar) → “+” to add new → +From URL.
  • +
  • Outlook web: Add Calendar → Subscribe from web.
  • +
  • Thunderbird: Left sidebar → Calendar → “+” to add new → On the +network → This location doesn’t require credentials → paste URL → +… . Please set to update infrequently.
  • +
  • Zimbra: “Add new calendar” → “Add external calendar +(other)”, “iCAL Subscription” → Paste URL → … .
  • +
+ +

Credit: These instructions are reused from Code Refinery’s + git-calendar-template

+ +
+ +
+ +
+
+ + +