Web Engines Hackfest 2024

3-5 June | A Coruña, Galicia, Spain

The hackfest

The 2024 Web Engines Hackfest will take place in A Coruña, Galicia, Spain from Monday, June 3th to Wednesday, June 5th.

There is no fee to participate either remotely or onsite. But if you are planning to participate onsite, please fill out the registration form.

Web Engines Hackfest 2022 - Hacking Room

Participants

This event brings together people working on the different browsers and related standards to discuss ideas and plans. Members from all parts of the web platform community including people working on the different engines (Chromium/Blink/V8, Safari/WebKit/JSC, Firefox/Gecko/SpiderMonkey, Servo), on the testing side (WPT, Test262), on specifications (W3C, WhatWG, TC39), or on documentation (MDN Web Docs, web.dev) are welcome to join us.

Web Engines Hackfest 2022 - Palexco Terrace

2024 Edition

3-5 June 2024

The Web Engines Hackfest 2024 will be a hybrid event hosted onsite at Palexco, with talks and breakout sessions also available for remote participation.

This is a three-day event. The event will have some presentations. The rest of the event will have an unconference format focused on topics and tasks defined by the people attending.

Web Engines Hackfest 2022 - Breakout session

The Event

Participants should feel free to propose any topic which interests them. Some topics from previous years include: WebKit Ports (WebKitGTK and WPE), Chromium (Servicification and Ozone/Wayland), JavaScript (V8, JSC and SpiderMonkey), Web Predictability and Compatibility, WPT, Multimedia, Media Source, WebRTC, CSS, MathML, Graphics, WebGL, Fonts, Accessibility, Servo, WebAssembly.

Visit the hackfest wiki page for scheduling, breakout sessions, and other information related to the event.

Web Engines Hackfest 2019 - Talk

Call For Papers

The Web Engines Hackfest will accept proposals for presentations and breakout sessions for this year’s event. Both onsite and remote presentations and breakout sessions are welcome and can cover any topic related to the web platform.

To submit your talk proposal, please complete this form by April 30th, 2023. To submit a breakout session proposal, please fill a new issue on GitHub.

Web Engines Hackfest 2018 - Discussion

Previous Hackfests

The Web Engines Hackfest, formery known as the WebkitGTK+ Hackfest, has been held annually since 2009. Information from previous years can be found on the following pages: 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2021, 2022, and, 2023.

In addition, you can watch the talks from previous editions on our YouTube channel.

Talks (2023 Edition)

Max Ihlenfeldt

Fallback Tab Dragging for Ozone/Wayland

by Max Ihlenfeldt

Cancelled
Max Ihlenfeldt

Fallback Tab Dragging for Ozone/Wayland

by Max Ihlenfeldt

Date: 2023/06/05 12:00

Dragging tabs out of and back into Chromium windows doesn’t work on Wayland as on other platforms due to protocol restrictions. There already is a protocol extension that makes regular tab dragging possible, but it requires support from the Wayland compositor. Until all major compositors implement this extension, we need some form of fallback tab dragging that always works.

Unfortunately, to be able to run automated tests against this new tab dragging implementation, we need to fix some long-standing issues with how these tests are run on Wayland - time for another new protocol extension!

Cancelled

Nicolò Ribaudo

JavaScript Modules: Past, Present, and Future

by Nicolò Ribaudo

Nicolò Ribaudo

JavaScript Modules: Past, Present, and Future

by Nicolò Ribaudo

Date: 2023/06/05 12:00

Video | Slides

For decades, JavaScript developers have relied on a multitude of module systems to organize and share code. But in 2015, ECMAScript finally introduced built-in standard semantics for modules, providing a long-awaited solution for the language. While ECMAScript modules have quickly become a popular format for writing code, most published code is still compiled to a single bundle or to a legacy module system.

The TC39 committee is actively exploring this design space: are there any missing functionalities compared to previous systems? Do JavaScript developers need any capabilities that the language does not currently provide? What problems do ECMAScript modules currently cause?

Inside Kotlin/Wasm (or how your language could benefit from new proposals, like GC, EH, TFR)

by Zalim Bashorov

Inside Kotlin/Wasm (or how your language could benefit from new proposals, like GC, EH, TFR)

by Zalim Bashorov

Date: 2023/06/05 12:45

Video | Slides

Kotlin — is a modern, cross-platform, statically typed, general-purpose programming language developed by JetBrains. It targets JVM, including Android; JS; native platforms via LLVM, including iOS; and Wasm (added recently).

WebAssembly aka Wasm — You know…

Kotlin/Wasm — is the new target and toolchain in the Kotlin family. It has a few special properties:

  • It compiles to Wasm directly without any additional layers, to compile as fast as possible, including incrementally in the future.
  • It uses experimental/fresh proposals like GC, Typed Function References, Exception Handling, and Stringref.

In this talk, we will look deep inside the internal details of the Kotlin/Wasm technology stack and, look at how the Kotlin code is compiled into WebAssembly, look in-depth at the generated code and its structure. We will discuss how the Kotlin/Wasm compiler handles the language features of Kotlin, such as classes, virtual and interface calls, coroutines, and others using fresh and experimental proposals like GC, Exception Handling, Typed Function References.

The talk targets developers interested in the internals of Kotlin/Wasm and wants to have a deeper understanding of how Kotlin or similar languages could be compiled to Wasm, what is brought by mentioned/used proposals and how they could be helpful to other languages targeting WebAssembly.

Žan Doberšek

Status of the WPE & GTK WebKit ports

by Žan Doberšek

Žan Doberšek

Status of the WPE & GTK WebKit ports

by Žan Doberšek

Date: 2023/06/05 15:00

Video | Slides

A speedrun through recent and future changes around the two Linux-based WebKit ports.

We’ll examine the current state of both Linux-based WebKit ports, covering recent and ongoing relevant changes inside the project as well as in the surrounding ecosystem. An examination of future architectural changes will be presented, along with proposals of baseline solutions and subsequent envisioned ramifications.

Delan Azabani

Servo 2023

by Delan Azabani

Delan Azabani

Servo 2023

by Delan Azabani

Date: 2023/06/05 15:45

Video | Slides

Servo is a web engine written in Rust. After parts of it were integrated into Mozilla Firefox, the project became independent but dormant in 2020. This year, with renewed interest in using it as a standalone embeddable engine, Servo is returning to active development.

This talk will go over the work we’ve done so far and our plans for the rest of 2023, particularly in Servo’s layout system, as well as how you can help.

Andreas Kling

Ladybird: Building a new browser from scratch

by Andreas Kling

Andreas Kling

Ladybird: Building a new browser from scratch

by Andreas Kling

Date: 2023/06/05 16:30

Video | Slides

Ladybird is a new browser (and engine) built completely from scratch. It was originally only usable on SerenityOS, but it’s now expanded into its own cross-platform browser.

This talk will tell the story of Ladybird, starting from nothing in 2019, to where we are today, and share some of the challenges we’ve faced along the way.

I will also give an architectural overview of the engine.

Attendees

  • Aapo Alasuutari
  • Andreu Botella
  • Anne van Kesteren
  • Artem Kobzar
  • Carlos Bentzen
  • Daniel Kolesa
  • Keith Cirkel
  • Leo Kettmeir
  • Luke Warlow
  • Manuel Rego
  • mayask
  • Nicolò Ribaudo
  • Pablo Saavedra
  • Sergey Rubanov
  • sideshowbarker
  • snek
  • Vadim Makeev

Venue

Picture of Palexco building
Palexco (Palacio de Exposiciones y Congresos)
Muelle de Transatlánticos s/n, 15003, A Coruña, Galicia (Spain)

Travel And Accommodation

✈︎
Fly to A Coruña (recommended)

A Coruña Airport (LCG) is connected to Geneva, London/Gatwick, Milan, Barcelona and Madrid.

To get to the venue from A Coruña Airport:

  • Taxi - 15 min - Airport taxi stand.

    Fare: The cost is usually 15-20€.
    Payment method: Cash or credit card (ask beforehand).

  • Bus - 20 min - Airport bus stop.

    Use the Airport-City Center Bus line (Line A4, old 4051, Centro da cidade - Aeroporto.).
    Stop at "Praza de Ourense", "Obelisco" or "Porta Real". Any of them are close to Palexco.
    Fare: 1.55€ (0.88€ with metropolitan card).
    Payment method: Only cash, buy on the bus.
    Schedules:

    • On working days, both from A Coruña and from the airport, buses run from 7:15 to 21.45 every half hour. Early bus at 05:00 (from city center) and 06:15. Night bus at 23:15, 23:30 and 00:30.
    • On Saturdays, Sundays and bank-holidays they leave from A Coruña every hour from 6:30 to 23:30, and from the airport from 6:00 to 23:00 also every hour. Early bus to the airport at 05:00.

✈︎
Fly to Santiago

Santiago Airport (SCQ) is connected to Madrid, Barcelona, Amsterdam/Schiphol, Basel/Mulhouse, Barcelona, Brussels, Dublin, Edinburg, Frankfurt, Memmingen, Geneva, London, Milan/Bergamo, Bologna, Paris, Bordeaux, Marsella and Zurich.

About 50km from to Coruña, it's a good option if you have a direct flight, but requires to go to A Coruña from there.

To get to the venue from Santiago Airport:

  • Bus/Taxi + Train + Bus - 40 min (bus)/20 min (taxi) + 30 min (train) + 10 min (bus)

    Bus from Santiago Airport to train station - Airport bus stop
    Stop at Train Station ("Hórreo (estación)" "Estación de Tren/Ferrocarril").
    Fare: 1€.
    Payment method: Cash.
    Schedules.

    Taxi from Santiago Airport to train station - Airport taxi stand.
    Fare: Fixed fare 21€.
    Payment method: Cash or credit card (ask beforehand).

    Train from Santiago to A Coruña
    Fare: Depends on the schedule.
    Payment method: Cash or credit card buying tickets at the train station. Or buy them in advance at refe.com or thetrainline.com (Warning: On Sunday's afternoons/evengins or Monday's mornings the train can be full so booking in advance is recommended).

    Bus from Train Station to Palexco - Line 5 (direction "Durmideiras/Adormideras")
    Pick the bus at "Estación Trens Glorieta" (bus stop number 119).
    Stop at "Autoridade Portuaria". Fare: 1.30€.
    Payment method: Cash.

  • Taxi - 45 min

    Direct taxi from Santiago Airport to A Coruña - Airport taxi stand.
    Fare: Around 80€.
    Payment method: Cash, credit card (ask beforehand), or book in advance at taxigalicia.com.

  • Direct bus - 60 min

    Bus from Santiago Airport to A Coruña - Airport bus stop
    Fare: 6.65€.
    Payment method: Cash or online (in Spanish).
    Schedules (quite limited).

✈︎
Fly to Porto (Portugal)

Porto Airport (OPO) is connected to several big cities like: New York, Toronto, Montreal, Rio, Sao Paulo, Londo, Frankfurt, Helsinki, Paris.

To get to the venue from Porto Airport:

  • Rent a car - 3 hours
    Porto airpot is about 300km away from A Coruña.
  • Bus - 5 hours
    Fare: 50€.
    Payment method: Buy ticket online.

🚌
Bus

Bus connections to A Coruña are available from all major cities in Spain.

  • Bus + Bus (10 min): Bus tickets to get to A Coruña are available from ALSA amongst other carriers.

    Bus from Bus Station to Palexco - Line 1A (direction "Abente e Lago")
    Pick the bus at "Cabaleiros, Estación Bus" (bus stop number 074).
    Stop at "Autoridade Portuaria". Fare: 1,30€.
    Payment method: Cash.

🚆
Train

Train connections to A Coruña are available from all major cities in Spain.

🚗
Car

It is also possible to drive to A Coruña.

🏨
Accommodation

There are a bunch of nice hotels around the event venue (Palexco).

Options:

🏥
Covid rules

The Web Engines Hackfest welcomes the web community back to in-person events, we continue to prioritize the safety of our participants and staff.

The Web Engines Hackfest organizers continuously monitor local guidelines and regulations related to COVID-19. The changeable nature of the pandemic means that regular updates to this policy may be necessary. We will inform registered participants about any substantial changes to this document.

By attending, you agree to abide by applicable Spanish regulations for indoor activities and the Web Engines Hackfest health & safety rules, and to conduct yourself in accordance with all provided instructions. This will include, but is not limited to:

  • refraining from coming to the event if you have COVID-19 or its symptoms, or if you are required to be in self-isolation or quarantine by COVID-19 regulations in Spain or at the location you are travelling from;
  • complying with the prevailing mask-wearing policy communicated at the event; Even if when regulations have removed the obligation to wear masks, the organization establishes masks as recommended indoors;
  • following instructions on physical distancing and crowd circulation at the event;
  • observing good hand-washing and hygiene etiquette.

More information can be found at: sanidad.gob.es.

💡
Notes

  • Usual timetables. Lunch time: 13:00 - 15:30. Dinner time: 20:30 - 22:30. Note that you won't be able to find a restaurant open for lunch at 12:00 or for dinner at 18:00, neither at 19:00; thus you might want to start your day a bit "later" than usual. Main reason behind this is that A Coruña is in the same timezone than central Europe, and sunrise and sunset times are somehow shifted with regard to common standards in other parts of the world.
  • Language. The official languages in A Coruña are Galician and Spanish. Not everybody is able to understand or speak English (in the bus, taxi, hotel, etc). The Web Engines Hackfest is run in English.
  • Climate. A Coruña has a climate heavily moderated by the Atlantic Ocean. Average temperatures are around 10ºC (51ºF) in winter and 19ºC (66ºF) during summer. (See more info at Wikipedia).
  • Tourism. Tourism A Coruña website.

Sponsors

More sponsors are welcome! If you would like to contribute as a sponsor, please contact us.

Host & Organizer

Igalia logo

Code Of Conduct

Igalia is a project which attempts to make space for equality within a system that is highly unequal. In order to do this, we must counter the structural discrimination that surrounds us in the world and, in particular, in our industry. Our desire is expressed through our foundational principles, our internal processes, and guidelines for how we treat each other. The ultimate goal of the code of conduct is to keep Igalia welcoming for all those who interact with us in good faith and to be a positive and fulfilling influence in the lives of the people within our community.

This code of conduct has three sections. In the first section, we present the ideals we believe should underlie interactions within Igalia. In the second section, we describe types of unacceptable behavior. Finally, in the third section, we describe how to report problems, so that we can take steps to ensure that Igalia remains both safe and healthy.

This policy applies in all of the following contexts:

  • The Igalia offices
  • All internal and external meetings including assemblies and the partners council
  • All mailing lists, bug trackers, wikis, and all other online services
  • Igalia sponsored social gatherings such as summits
  • Igalia hosted conferences, hackathons, and other public and private events
  • At all times where a person is acting as a representative of Igalia, including sponsored external events, communities, or using a company e-mail address

Expected Behavior

Be Respectful and Kind

Always assume that others are competent and trying to do their best. Look out for one another and offer help when it is appropriate and welcome. The words you choose are important, so choose them carefully. Be aware that words and imagery have different meanings across countries, cultures, and communities. If you are unsure whether something is appropriate, it is better to keep it to yourself. Be quick to apologize and learn from your mistakes.

Include Everyone

Encourage all voices. Amplify new points of view and listen actively. If you find yourself dominating a discussion, it is especially important to step back and make room for other voices. When repeating ideas and suggestions, give credit to the person who introduced them. Be aware of the amount of time taken up by the dominant members of the group. When it is possible, make sure there are alternative ways to contribute.

Seek Understanding and Consensus

Discussion and debate are essential to Igalia, but we have to remember that we are not trying to “win” disagreements. Always try to encourage constructive discussions and inclusive thinking so that we are working with a wide range of perspectives. At the same time, reject intolerance and the dehumanization of others.

Speak Up

The responsibility for maintaining a safe environment is shared among all of us. If you think something violates the code of conduct, say something.

Unacceptable Behavior

  • Unwelcome, offensive or hurtful comments or jokes related to age, gender, gender identity and expression, sexual orientation, disability, illnesses, mental illness, neuro(a)typicality, physical appearance, body size, race, religion, national origin, nationality, ancestry, or pregnancy
  • Unwelcome, offensive, or hurtful comments or jokes regarding a person’s lifestyle choices and practices
  • Deliberate misgendering, use of “dead” or rejected names, or use of inappropriate nicknames
  • Gratuitous or off-topic sexual images or behavior, non-consensual physical contact and simulated physical contact, or any other type of unwelcome sexual attention
  • Violence, threats of violence, or incitement of violence, including encouraging others to commit self-harm
  • Deliberate intimidation or the sabotage of work
  • Stalking or unwelcome photography, recording, or logging of online activity
  • Sustained disruption of discussion
  • A pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others
  • Deliberate “outing” of any aspect of a person’s identity without their consent except as necessary to protect vulnerable people from intentional abuse
  • Publication of private and personal (unrelated to work) communication, except when it is used as evidence of a code of conduct violation
  • Retaliation for reporting a code of conduct violation

It is impossible to list all types of unacceptable behavior, but a general rule is that conduct committed in bad faith, which causes harm or distress, or after requests to stop is unacceptable. This includes actions taken without malice. When in doubt, take responsibility for your actions, apologize, and move on. Finally, reporting a violation of the code of conduct does not ever violate the code of conduct.

Reporting

There are several ways that you can report behavior that makes you or others feel unsafe, unwelcome, or excluded. These include:

Emails sent to conduct@igalia.com are received by:

  • Andy Wingo
  • Brenna Brown
  • Germán Poo-Caamaño
  • Ioanna Dimitriou
  • Javier Moran
  • Abhijeet Kandalkar

For urgent issues, you may also call +34 951 204 844 and then enter the PIN 1818 followed by the hash sign (#). This will call Javier Moran, Andy Wingo and Ioanna Dimitriou.

People reported as violating the code of conduct will not take part in the process of handling that report. After the report, immediate action will be taken to ensure the safety and well-being of those involved.

Potential consequences of unacceptable behaviour:

  • Removal from an event
  • Temporary removal from Igalia services or locations
  • Permanent removal from Igalia services or locations
  • Termination of employment