diff --git a/content/about.html b/content/about.html index 875d66161..81ea38492 100644 --- a/content/about.html +++ b/content/about.html @@ -4,7 +4,7 @@ ---
- <%= img '/assets/style/logo-big/' %> +

@@ -20,7 +20,7 @@

-

What is FOSDEM? 

+

What is FOSDEM?

FOSDEM is a free and non-commercial event organised by the community for the community. The goal is to provide free and open source software developers @@ -52,7 +52,7 @@

What is FOSDEM? 

-

Developer rooms

+

Developer rooms

The FOSDEM team feels it is very important for free and open source software developers around the world to be able to meet in “real life”. @@ -67,7 +67,7 @@

Developer rooms

-

A bit of history

+

A bit of history

In 2000, Raphael Bauduin, a fan of the Linux movement in Belgium, decided to organise a small meeting for developers of Open Source software. He @@ -98,9 +98,10 @@

A bit of history

-

The team

+

The team

in alphabetical order
    +
  • Klaus Aigner
  • Linda Calders
  • Dan Clark
  • Quint Daenen
  • @@ -118,6 +119,7 @@

    A bit of history

  • Alex Howe
  • Alasdair Kergon
  • Vasil Kolev
  • +
  • Thibault Molleman
  • Marthe Parada Delgado
  • Jonas Scheers
  • Kristian Schuhmacher
  • diff --git a/content/about/sponsors.html b/content/about/sponsors.html index ec75f2b90..dd4ce93ab 100644 --- a/content/about/sponsors.html +++ b/content/about/sponsors.html @@ -19,7 +19,7 @@ <%= l('/support/donate/', 'donations') %> page for more information.

    -
-

In practice, this tranlates to:

+

In practice, this translates to:

  • No mandatory COVID-19 measures at FOSDEM 2025
  • -
  • Open/full rooms api
  • +
  • Open/full rooms API
  • No official FOSDEM beer event
  • Encouraging ventilation of developer rooms

Relevant Belgian federal and Brussels regional government policy can be consulted at the links below:

diff --git a/content/practical/index.html b/content/practical/index.html index eeae0e488..1e8e48b9c 100644 --- a/content/practical/index.html +++ b/content/practical/index.html @@ -3,35 +3,30 @@ navcat: true --- - -

Registration and cost

+

Registration and cost

FOSDEM is free to attend. There is no registration. Just turn up! -
+
The conference is primarily funded by sponsors and the sale of t-shirts but we also gratefully accept donations.

- -

Getting there

+

Getting there

See transportation. - -

Timezone

+

Timezone

All the times on this website are displayed in the local time zone for Brussels which is Central European Time, CET (UTC+1).

- -

Services during FOSDEM

+

Services during FOSDEM

There are a number of free services available to visitors during the event, see details here.

- -

Code of Conduct

+

Code of Conduct

In order to keep FOSDEM a fun, interesting and positive experience for everybody, we expect participants to follow the @@ -39,8 +34,7 @@

Code of Conduct

<% if not @site.config.fetch(:virtual) %> - -

Job Corner

+

Job Corner

Some passive recruitment is allowed for open source positions and contracting. See @@ -48,8 +42,7 @@

Job Corner

<% end %> - -

Further information

+

Further information

The fosdem@ mailing list is a good place to ask for more information. diff --git a/content/practical/services.html b/content/practical/services.html index ed03dbee4..20975624b 100644 --- a/content/practical/services.html +++ b/content/practical/services.html @@ -3,25 +3,25 @@ navtitle: During the Event --- -

Infodesk

-

Need information about scheduled talks, the location of the rooms or other practicalities?
+

Infodesk

+

Need information about scheduled talks, the location of the rooms or other practicalities?
We're happy to assist you at one of the Infodesks.

Starting in 2013, The main infodesk is located in the K building.

-

Network

+

Network

Wireless IPv4/IPv6 internet access is be available in most locations.

The SSID is FOSDEM

-

Cloak room

+

Cloak room

Tired of carrying your coat, bags or umbrella around? Store them at our free and permanently staffed cloak room.

Simply follow the signs.

Disclaimer: FOSDEM cannot accept responsibility for the loss or damage from any cause whatsoever of items left at the cloak room.

-

First aid

+

First aid

A Red Cross first aid team is present during the entire weekend. Get there using the on-campus interactive map or follow the signs in the K building.

-

Physical security

+

Physical security

The goal of FOSDEM is to organise an event where everyone can feel safe and comfortable. For that purpose, we have invested in having multiple professional security guards during the weekend.

@@ -37,6 +37,6 @@
  • Follow instructions given by the security guards or by a staff member: They are meant for your safety and that of others.
  • -

    Lost & found

    +

    Lost & found

    Found or lost something? Head over to the Infodesk in the K building.

    diff --git a/content/practical/transportation.html b/content/practical/transportation.html index 348812854..1e6f143c4 100644 --- a/content/practical/transportation.html +++ b/content/practical/transportation.html @@ -5,8 +5,6 @@ ---

    FOSDEM will take place at the ULB Solbosch Campus, Brussels, Belgium, Europe, Earth.

    -ULB Solbosch Campus map: Location of FOSDEM -
    Université libre de bruxelles
      @@ -16,38 +14,36 @@
    • 1050 Bruxelles
    • Belgium
    +

    + FOSDEM is easy to reach by public transport. + For details, see below. + If you are afraid of getting lost, the following links may be helpful: +

    + + + +

    + GPS coordinates: +

    + +
      +
    • Latitude: N50.812375
    • +
    • Longitude: E4.380734
    • +
    -

    - FOSDEM is easy to reach by public transport. - For details, see below. - If you are afraid of getting lost, the following links may be helpful: -

    - - - -

    - GPS coordinates: -

    - -
      -
    • Latitude: N50.812375
    • -
    • Longitude: E4.380734
    • -
    +ULB Solbosch Campus map: Location of FOSDEM -
    -
    -
    -
    -
    -
    +
    -

    By bus, metro and/or tram

    +

    By bus, metro and/or tram

    -

    Bus/metro/tram lines provided by the public transport company, STIB/MIVB. Note you can hop in and buy your ticket in the transport by swiping your debit or credit card.

    +

    Bus/metro/tram lines provided by the public transport company, STIB/MIVB.

    +

    Note you can hop on and buy your ticket in the transport by swiping your debit or credit card.

    -

    By train

    +

    By train

    From Brussels South (a.k.a. "Bruxelles Midi", "Brussel Zuid" or "Gare du Midi") Station (about 30 minutes):

    -
    +

    From Brussels Central ("Bruxelles Central", "Brussel Centraal" or "Gare Centrale") station (about 20 minutes):

    -
    +

    From Brussels North ("Bruxelles Nord" or "Gare du Nord") station (about 30 minutes):

    -

    By car: parking

    +

    By car: parking

    If you come to FOSDEM by car, you can park your car on the campus. The main parking is located between Janson and the K building. @@ -121,7 +117,7 @@ to the U building at Av. Antoine Depage. Note that this is a one-way street, only accessible from Av. Franklin Roosevelt as well.

    -Traffic sign: blue zone +Traffic sign: blue zone

    You can park on the campus at your own risk. Do not leave any valuables in your car! @@ -129,7 +125,7 @@

    The parkings of the campus can be very busy since early morning during both days. An alternative is to leave your car in the - + Parking Sablon-Poelaert, from there to take the Tram 8, direction Roodebeek. @@ -153,54 +149,51 @@

    -

    By plane

    +

    By plane

    From Brussels International Airport, located in Zaventem (about 50 minutes):

    • Take the train to Brussels
    • Get off at Brussels Central station
    • -
    • Take Bus 71, direction Delta
    • +
    • Take Bus 71, direction Delta
    • Follow the instructions above.

    -

    By taxi

    +

    By taxi

    If you need a taxi, we suggest calling Taxi Verts on -+32 2 349 49 49. The address of the venue is: -
      ULB Campus Solbosch -
      50, Av. Franklin D. Roosevelt -
      1050 Bruxelles -
    The location where taxis expect to pick you up is marked on the map. ++32 2 349 49 49. The address of the venue is: +
    ULB Campus Solbosch +
    50, Av. Franklin D. Roosevelt +
    1050 Bruxelles +
    The location where taxis expect to pick you up is marked on the map.

    -
    +

    Related resources

    -
    +

    Maps

    diff --git a/content/schedule.html b/content/schedule.html index 70bb06edd..9d8472ced 100644 --- a/content/schedule.html +++ b/content/schedule.html @@ -16,6 +16,8 @@ ltalks = events.select{|e| e[:type] == 'lightningtalk'}.sort_by{|e| e[:start_datetime]} certs = events.select{|e| e[:type] == 'certification'}.sort_by{|e| e[:start_datetime]} boftracks = tracks.select{|t| t[:type] == 'bof'}.sort_by{|t| [ t[:rank], t[:conference_track_id] ] } +juniortracks = tracks.select{|t| t[:type] == 'junior'}.sort_by{|t| [ t[:rank], t[:conference_track_id] ] } + columns = 3 %> @@ -47,7 +49,7 @@

    Quick links:

    Every year, FOSDEM hosts a wide variety of activities. This page gives an overview with links to further information about - scheduled events. All times CET (UTC+1). + scheduled events. All times CET (UTC+1).

    @@ -89,7 +91,7 @@

    Quick links:

    For a complete (but crowded) overview, there is also a - page that lists all events.
    + page that lists all events.
    A list of all speakers is available, too.

    @@ -100,8 +102,7 @@

    Quick links:

    <% unless keynotes.empty? and @site.config.fetch(:virtual) %> - -

    Keynotes

    +

    Keynotes

    Like almost every other conference, FOSDEM invites speakers to gently start the day with talks concerning slightly less technical, but nevertheless @@ -161,8 +162,7 @@

    Keynotes

    <% end %> <% end %> - -

    Main tracks

    +

    Main tracks

    The main tracks consist of series of talks that are organised by topic, where the FOSDEM program committee selects suggestions and actively invites @@ -205,7 +205,7 @@

    Main tracks

    Main tracks have not been confirmed yet.

    <% end %> -

    Developer rooms

    +

    Developer rooms

    The vast majority of events (talks, hacking sessions, open discussions) are held in so-called developer rooms (devrooms), which are @@ -242,8 +242,7 @@

    Developer rooms

    Devrooms have not been confirmed yet.

    <% end %> - -

    Lightning talks

    +

    Lightning talks

    The lightning talk is a very popular format, used at many conferences, where speakers have a mere 15 minutes at their disposal to showcase an open @@ -269,8 +268,7 @@

    Lightning talks

    <% end %> - -

    Stands

    +

    Stands

    Stands offer a unique chance to get in touch with developers or project members, and discover at a glance what they do. @@ -301,8 +299,7 @@

    Stands

    <% end %> - -

    BOFs

    +

    BOFs

    BOF stands for Birds Of a Feather who, as the saying goes, flock together. FOSDEM has three meeting rooms that may be booked in 30 or 60 minute blocks @@ -333,9 +330,24 @@

    FOSDEM Junior

    Further details are available on the FOSDEM Junior page.

    +<% unless juniortracks.empty? %> +
    +
    + <% juniortracks.sort_by { |x| x[:title].downcase }.each_slice((juniortracks.size / columns.to_f).ceil) do |list| %> +
    +
      + <% list.each do |t| %> +
    • <%= l t, :name %>
    • + <% end %> +
    +
    + <% end %> +
    +
    +<% end %> - - -

    The FOSDEM Fringe

    +

    The FOSDEM Fringe

    The FOSDEM Fringe consists of independent events involving free and open source software taking place in the days around the FOSDEM weekend. Why not extend your trip?

    @@ -393,11 +404,11 @@

    The FOSDEM Fringe

    Further details are available on the FOSDEM Fringe page.

    -

    Mobile Apps

    +

    Mobile Apps

    People have submitted a variety of apps for mobile devices that display the FOSDEM schedule.

    -

    Raw schedule data

    +

    Raw schedule data

    The schedule data is available in:

      diff --git a/content/schedule/buildings.html b/content/schedule/buildings.html index e662350b6..df125624d 100644 --- a/content/schedule/buildings.html +++ b/content/schedule/buildings.html @@ -2,37 +2,6 @@ title: Buildings forcepagelinks: true --- -<% if @site.config.fetch(:virtual) %> -

      - While a virtual FOSDEM does not have buildings, our conference management system expects them. So we reused them to group talks by their - type. -

      -

      - Find an overview below. -

      - - - - - - - - - <% $buildings.each do |building, rooms| %> - - - - - <% end %> - -
      BuildingRooms
      <%= building %> -
        - <% rooms.each do |room| %> -
      • <%= l(room) %>
      • - <% end %> -
      -
      -<% else %>

      The various events are spread over several buildings (clusters of rooms) over the campus. @@ -68,34 +37,3 @@

      ULB Solbosch Campus map
      - -

      Online

      -

      Talks shown in rooms prefixed by D take place online.

      -

      (M.test holds live test data used before the event.)

      - -<% cols = $buildings.values.map{|list| list.size}.max %> - - - - - - - - - <% $buildings.reject{ |b| b =~ /^[^DMIS]/ }.each do |building, rooms| %> - - - <% rooms.each do |room| %> - - <% end %> - <% remainder = cols - rooms.size %> - <% if remainder > 0 %> - - <% end %> - - <% end %> - -
      Online Rooms
      <%= building %><%= l(room) %>
      - - -<% end %> diff --git a/content/schedule/devrooms/ada.html b/content/schedule/devrooms/ada.html new file mode 100644 index 000000000..4d35368f9 --- /dev/null +++ b/content/schedule/devrooms/ada.html @@ -0,0 +1,17 @@ +

      +The purpose of this devroom is to present, showcase and discuss the Ada programming language, its ecosystem, evolution and the projects that make use of it. +

      +

      About Ada

      +

      +Ada is a general-purpose programming language originally designed for embedded and mission-critical software engineering, although nowadays it also supports object orientation, contracts and formal verification. It is used extensively in air traffic control, rail transportation, aerospace, nuclear, financial services, medical devices, etc. It is also perfectly suited for open source development with a fully open compiler (part of GCC), a formal verification system and a knowledgeable and vibrant community. +

      +

      Why Ada?

      +

      +Awareness of safety and security issues in software systems is increasing. The NSA recently published a list of programming languages that are recommended for the development of new software due to their memory safety and Ada was one of the list (one of the three compiled non-garbage collected languages!). In that context, it should be no surprise that NVIDIA has started using Ada/SPARK for their highest critical parts in their GPUs! +

      +

      +Multi-core platforms are now abundant and small, embedded devices are growing exponentially. These are some of the reasons that the Ada programming language and technology attracts more and more attention due to Ada’s support for programming by contract, performant and efficient code, high- and low-level abstractions and support for multi-core targets. The latest Ada language definition, Ada 2022, was approved by ISO as an international standard two years ago. Work on implementing the new features is ongoing, such as improved support for fine-grained parallelism, which were introduced in the new standard. The Ada-related technology, SPARK, provides a complete solution for the safety and security aspects stated above while being fully open source, making it stand out from other formal verification tools, as Ada/SPARK code is compiled directly into ready-to-run programs, which can run on embedded systems. +

      +

      +More and more tools are available, many are open source, including for small and modern platforms. Interest in Ada keeps increasing, also in the open source community, from which many exciting projects have been started. +

      diff --git a/content/schedule/devrooms/mysql.html b/content/schedule/devrooms/mysql.html new file mode 100644 index 000000000..1344b1cb7 --- /dev/null +++ b/content/schedule/devrooms/mysql.html @@ -0,0 +1,3 @@ +

      The MySQL Devroom brings together developers, database administrators, architects, and enthusiasts to celebrate the 30th anniversary of the most popular Open Source Database.

      +

      During FOSDEM, we will explore MySQL’s rich history, its current capabilities, and the future innovations that will shape the next generation of data management.

      + diff --git a/content/schedule/mobile.html b/content/schedule/mobile.html index 279ab4be3..7f16cfbf1 100644 --- a/content/schedule/mobile.html +++ b/content/schedule/mobile.html @@ -5,46 +5,59 @@ <% # vim: set ts=2 sw=2 et ai ft=eruby: %> -Ways to have the schedule with you at all times, without wasting trees: +Ways to have the schedule with you at all times, without wasting trees. -

      Apps for Mobile Devices, checked for 2024

      +

      Apps for Mobile Devices, checked for 2024

      + +

      Progressive Web Apps

      + +

      Android

      + + +

      iOS

      + + +

      Others

      + @@ -52,61 +65,61 @@

      Apps for Mobile Devices, checked for 2024

      Others? Or tested one of the below for this year? Let us know on our mailinglist: apps@lists.fosdem.org.

      -
      +
      -

      Apps for Mobile Devices, archive

      +

      Apps for Mobile Devices, archive

      -

      Raw schedule data

      +

      Raw schedule data

      The schedule data is available in:

        @@ -114,8 +127,7 @@

        Raw schedule data

      • iCal
      • xCal
      -

      -Feedback and/or contributions? Share it on fosdem@lists.fosdem.org. +Feedback and/or contributions? Share it on fosdem@lists.fosdem.org.

      diff --git a/content/schedule/rooms.html b/content/schedule/rooms.html index 46df65db7..b046be692 100644 --- a/content/schedule/rooms.html +++ b/content/schedule/rooms.html @@ -57,50 +57,3 @@

      Rooms Live in Brussels

      -

      Online Rooms

      -

      The content in these remaining rooms is pre-recorded with interactive live Q&A. Follow the links in each room to connect.

      - - - - - - <% days.each do |d| %> - - <% end %> - - - - <% - $buildings.reject{ |b1| b1 =~ /^[^DM]/ }.each do |b, brooms| - #brooms = brooms.reject{|r| r[:events].empty?}.sort_by{|r| [r[:rank], r[:conference_room_id]]} - brooms = brooms.sort_by{|r| [r[:rank], r[:conference_room_id]]} - unless brooms.empty? - brooms.each_with_index do |r, i| - %> - - <% if i == 0 %> - - <% end %> - - <% - days.each do |d| - dayevents = r[:events_by_day].fetch(d[:slug].to_sym, []).map(&$to_event) - %> - <% if dayevents.empty? %> - - <% else %> - <% - first = dayevents.map{|e| e[:start_time]}.sort.first - last = dayevents.map{|e| e[:end_time]}.sort.last - daytracks = dayevents.map{|e| e[:track]}.uniq.map(&$to_track).sort_by{|t| [t[:start_time].fetch(d[:slug].to_sym), t[:rank], t[:conference_track_id]]} - %> - - <% end %> - <% end %> - - <% end %> - <% end %> - <% end %> - -
      Online Room<%= d[:title] %>
      <%= b %><%= l(r) %>-<%= first %>-<%= last %><% unless daytracks.empty? %>: <%= l daytracks, :name %><% end %>
      - diff --git a/content/schedule/roomtracks.html b/content/schedule/roomtracks.html index c190006d7..ce4ae232b 100644 --- a/content/schedule/roomtracks.html +++ b/content/schedule/roomtracks.html @@ -11,7 +11,7 @@ $track_flatlist.reject{|dayslug, list| list.empty?}.each do |dayslug, flatlist_by_room| d = $to_day.call(dayslug) %> -

      <%= d[:title] %>

      +

      <%= d[:title] %>

      <% interval = $timetable.fetch(d[:slug]).fetch(:interval) diff --git a/content/schedule/speakers.html b/content/schedule/speakers.html index 9a9bb8db7..983ff4f69 100644 --- a/content/schedule/speakers.html +++ b/content/schedule/speakers.html @@ -58,7 +58,7 @@

      <%= speakers.size %> Speakers

      # (Teams sort under #) if k == '#' then idx = 'teams' else idx = k end %> -

      <%= k %>

      +

      <%= k %>

        <% h[k].each do |s| %>
      • <%= l(s) %>
      • diff --git a/content/schedule/streaming.html b/content/schedule/streaming.html index 88ecf2093..a7fc1bd67 100644 --- a/content/schedule/streaming.html +++ b/content/schedule/streaming.html @@ -17,7 +17,7 @@ end current_date = current_time.to_date %> -

        Links to the live streaming in each room will appear on this page during the conference. +

        Links to the live streaming in each room will appear on this page during the conference.

        Static overviews of the rooms and the room occupation by track are available, too.

        diff --git a/content/social.html b/content/social.html index 54978a685..3b748575e 100644 --- a/content/social.html +++ b/content/social.html @@ -6,10 +6,8 @@

        FOSDEM is active on a number of social media networks.

        - - diff --git a/content/support/donate.html b/content/support/donate.html index 7de62abed..67705992e 100644 --- a/content/support/donate.html +++ b/content/support/donate.html @@ -33,5 +33,5 @@

        Credit card, Bancontact, iDEAL and Bitcoin

        your payment method in the next step.

        - Donate! + Donate!

        diff --git a/layouts/main.html b/layouts/main.html index c7d58f8c3..7e51e34a2 100644 --- a/layouts/main.html +++ b/layouts/main.html @@ -1,4 +1,4 @@ - + <% # vim: set ts=2 sw=2 et ai ft=eruby: $layout_dateline ||= begin @@ -6,39 +6,39 @@ end %> <% virtual = @site.config.fetch(:virtual) %> - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + <% (@item[:alternative_representations] or []).each do |alt| %> - + <% end %> <% (@item[:headlinks] or []).each do |l| %> - type="<%= l.fetch(:type) %>"<% end %> rel="<%= l.fetch(:rel) %>"<% if l[:title] %> title="<%= l.fetch(:title) %>"<% end %> href="<%= $item_by_id.fetch(l.fetch(:href)).path %>" /> + type="<%= l.fetch(:type) %>"<% end %> rel="<%= l.fetch(:rel) %>"<% if l[:title] %> title="<%= l.fetch(:title) %>"<% end %> href="<%= $item_by_id.fetch(l.fetch(:href)).path %>"> <% end %> <% if @item[:head_erb_injection] %><%%= <%= @item[:head_erb_injection] %> %><% end %> <%= conference()[:title] %><% if @item[:title] %> - <%= @item[:title] %><% end %> - - <% if @item[:title] %><% end %> - - - - - - - + + <% if @item[:title] %><% end %> + + + + + + + > @@ -95,7 +95,7 @@

        Brussels / <%= $layout_dateline %>

        end { 'beer' => '/practical/beer/', - "#{ tracks.count } devrooms" => '/schedule/tracks/', + "#{ tracks.select{|t| t[:type] == 'devroom'}.count } devrooms" => '/schedule/tracks/', 'open source' => 'https://en.wikipedia.org/wiki/Open-source_model', '8000+ hackers' => nil, 'lightning talks' => '/schedule/track/lightning_talks/', @@ -149,7 +149,7 @@

        <%= @item[:subtitle] %>

        <%= yield %> - + diff --git a/layouts/news.html b/layouts/news.html index 2f2d55561..6be637631 100644 --- a/layouts/news.html +++ b/layouts/news.html @@ -22,7 +22,7 @@
          <% @item[:newsitems].map(&$to_item).each do |item| %>
        • - <%= item[:created_at].strftime '%Y-%m-%d' %> »  +

          <%= item[:title] %>

          <%= item.compiled_content %> diff --git a/lib/data_sources/schedule.rb b/lib/data_sources/schedule.rb index 81ba842ec..cd2ce9285 100644 --- a/lib/data_sources/schedule.rb +++ b/lib/data_sources/schedule.rb @@ -43,7 +43,7 @@ def to_items(hash, name) r = [] cache.each do |k, v| - if k[-1] == 's' + if ['days', 'rooms', 'tracks', 'events', 'speakers'].include?(k) name = k[0..-2] v.each do |id, meta| r << Nanoc3::Item.new('', meta, "/schedule/#{name}/#{id}/", mtime) diff --git a/sample/export/pentabarf.yaml b/sample/export/pentabarf.yaml index 4eff541b7..445669910 100644 --- a/sample/export/pentabarf.yaml +++ b/sample/export/pentabarf.yaml @@ -193,3 +193,16 @@ speakers: saturday: - test_event sunday: [] +fringe: + test: + name: demo fringe event + url: https://archive.fosdem.org + location: test + starts: '2022-02-03' + ends: '2022-03-03' + cost: €100 + registration: recommended + contact: fosdem-test@fosdem.org + online: true + submitter: 1 + diff --git a/tools/guard/build b/tools/guard/build index ea711cf3b..2f833049b 100755 --- a/tools/guard/build +++ b/tools/guard/build @@ -94,7 +94,7 @@ while true; do # Refresh the local export # nanoc update -y - ssh pretalx-read@pretalx.int.fosdem.org sudo -u pretalx_event /usr/share/webapps/pretalxevent/venv/bin/python -m pretalx export_resources fosdem-2025 /home/pretalx_event/export/fosdem-2025 + ssh pretalx-read@pretalx.int.fosdem.org sudo -u pretalx_event DJANGO_SETTINGS_MODULE=pretalx.settings_pghistory /usr/share/webapps/pretalxevent/venv/bin/python -m pretalx export_resources fosdem-2025 /home/pretalx_event/export/fosdem-2025 rsync pretalx-read@pretalx.int.fosdem.org:/home/pretalx_event/export/fosdem-2025/ export -avP --delete-after # Compile the website