diff --git a/_assets/img/talks/aapo.webp b/_assets/img/talks/aapo.webp new file mode 100644 index 0000000..6b264d5 Binary files /dev/null and b/_assets/img/talks/aapo.webp differ diff --git a/_assets/img/talks/andreas.webp b/_assets/img/talks/andreas.webp deleted file mode 100644 index 669145f..0000000 Binary files a/_assets/img/talks/andreas.webp and /dev/null differ diff --git a/_assets/img/talks/delan.webp b/_assets/img/talks/delan.webp deleted file mode 100644 index c889446..0000000 Binary files a/_assets/img/talks/delan.webp and /dev/null differ diff --git a/_assets/img/talks/jonathan.webp b/_assets/img/talks/jonathan.webp new file mode 100644 index 0000000..dec95c8 Binary files /dev/null and b/_assets/img/talks/jonathan.webp differ diff --git a/_assets/img/talks/leo.webp b/_assets/img/talks/leo.webp new file mode 100644 index 0000000..079d962 Binary files /dev/null and b/_assets/img/talks/leo.webp differ diff --git a/_assets/img/talks/martin.webp b/_assets/img/talks/martin.webp new file mode 100644 index 0000000..1b8a7c3 Binary files /dev/null and b/_assets/img/talks/martin.webp differ diff --git a/_assets/img/talks/max.webp b/_assets/img/talks/max.webp deleted file mode 100644 index c3e5b3e..0000000 Binary files a/_assets/img/talks/max.webp and /dev/null differ diff --git a/_assets/img/talks/nic.webp b/_assets/img/talks/nic.webp deleted file mode 100644 index 5bcfea5..0000000 Binary files a/_assets/img/talks/nic.webp and /dev/null differ diff --git a/_assets/img/talks/nico.webp b/_assets/img/talks/nico.webp new file mode 100644 index 0000000..5bc7833 Binary files /dev/null and b/_assets/img/talks/nico.webp differ diff --git a/_assets/img/talks/nikolas.webp b/_assets/img/talks/nikolas.webp new file mode 100644 index 0000000..397bfa1 Binary files /dev/null and b/_assets/img/talks/nikolas.webp differ diff --git a/_assets/img/talks/nzimmermann.jpg b/_assets/img/talks/nzimmermann.jpg new file mode 100644 index 0000000..7acf18a Binary files /dev/null and b/_assets/img/talks/nzimmermann.jpg differ diff --git a/_assets/img/talks/stephanie.webp b/_assets/img/talks/stephanie.webp new file mode 100644 index 0000000..c087905 Binary files /dev/null and b/_assets/img/talks/stephanie.webp differ diff --git a/_assets/img/talks/zan.webp b/_assets/img/talks/zan.webp deleted file mode 100644 index 95c702f..0000000 Binary files a/_assets/img/talks/zan.webp and /dev/null differ diff --git a/_content/talks/blitz.md b/_content/talks/blitz.md new file mode 100644 index 0000000..175bd15 --- /dev/null +++ b/_content/talks/blitz.md @@ -0,0 +1,14 @@ +--- +layout: talk +title: "Blitz: a truly modular, hackable web renderer" +authors: "Nico Burns" +date: "2024-06-03T16:30:00" +dateiso: "2024-06-03T14:30:00" +imgsrc: "/img/talks/nico.webp" +imgalt: "Nico Burns" +--- + +Blitz is new web rendering engine that doubles down on Servo's promise of modularity and hackability by combining a mix of Servo, Rust UI ecosystem, and bespoke components. It also (currently) eschews JavaScript scripting in favour of a Rust scripting API that can be driven directly by Dioxus or other Rust state management / reactivity frameworks. + +This talk covers how Blitz's approach differs to a traditional web engine, use cases, challenges, progress, and future plans. + diff --git a/_content/talks/chromium-wayland.md b/_content/talks/chromium-wayland.md index a4f1eb6..02b4443 100644 --- a/_content/talks/chromium-wayland.md +++ b/_content/talks/chromium-wayland.md @@ -1,15 +1,12 @@ --- layout: talk -title: "Fallback Tab Dragging for Ozone/Wayland" +title: "The journey towards stabilizing Chromium's Wayland support" authors: "Max Ihlenfeldt" -date: "2023-06-05T12:00:00" -dateiso: "2023-06-05T10:00:00" +date: "2024-06-03T12:30:00" +dateiso: "2024-06-03T10:30:00" imgsrc: "/img/talks/max.webp" imgalt: "Max Ihlenfeldt" -cancelled: true --- -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! +Chromium has had experimental support for Wayland for some time, and is moving towards stabilizing it. Let's take a look at how we got to where we are now, and at what's still missing before it can be stabilized. diff --git a/_content/talks/deno.md b/_content/talks/deno.md new file mode 100644 index 0000000..d07e29e --- /dev/null +++ b/_content/talks/deno.md @@ -0,0 +1,12 @@ +--- +layout: talk +title: "History of WebGPU in Deno" +authors: "Leo Kettmeir" +date: "2024-06-03T16:00:00" +dateiso: "2024-06-03T14:00:00" +imgsrc: "/img/talks/leo.webp" +imgalt: "Leo Kettmeir" +--- + +Deno has supported WebGPU since early 2021, however, there were several challenges in providing a performant WebGPU implementation. This talk will cover the series of events and changes required to achieve support. + diff --git a/_content/talks/firefox-wayland.md b/_content/talks/firefox-wayland.md new file mode 100644 index 0000000..7f29a78 --- /dev/null +++ b/_content/talks/firefox-wayland.md @@ -0,0 +1,12 @@ +--- +layout: talk +title: "Firefox Wayland post mortem" +authors: "Martin Stransky" +date: "2024-06-03T12:00:00" +dateiso: "2024-06-03T10:00:00" +imgsrc: "/img/talks/martin.webp" +imgalt: "Martin Stransky" +--- + +Mozilla switched to Wayland by default recently. Let's make some retrospective what are advantages/disadvantages of such decision and how it was received by users. Highlight what's working fine and where we still have issues. + diff --git a/_content/talks/funding.md b/_content/talks/funding.md new file mode 100644 index 0000000..42efb95 --- /dev/null +++ b/_content/talks/funding.md @@ -0,0 +1,13 @@ +--- +layout: talk +title: "Sustainable Futures: Funding the Web Ecosystem " +authors: "Stephanie Stimac" +date: "2024-06-03T15:30:00" +dateiso: "2024-06-03T13:30:00" +imgsrc: "/img/talks/stephanie.webp" +imgalt: "Stephanie Stimac" +--- + +The web is a vital source of the world’s infrastructure and has shaped the way we work and live in the modern world. Surely such an integral piece of our day-to-day life is being built and maintained in a way that ensures it will last? + +Unfortunately this isn't the case. The current system funding access to the web is fragile, fractured and unsustainable. In this talk, I’ll give an overview of the current state of things, how we currently fund the web, why this is a problem, and possible ways to fix this so that access to information remains stable and sustainable for future generations to come. diff --git a/_content/talks/javascript-modules.md b/_content/talks/javascript-modules.md deleted file mode 100644 index cfca03f..0000000 --- a/_content/talks/javascript-modules.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: talk -title: "JavaScript Modules: Past, Present, and Future" -authors: "Nicolò Ribaudo" -date: "2023-06-05T12:00:00" -dateiso: "2023-06-05T10:00:00" -imgsrc: "/img/talks/nic.webp" -imgalt: "Nicolò Ribaudo" -video: https://youtu.be/USQ6MOEn0Go?list=PL4sEzdAGvRgD5vjhecZhBFEEqUV_a_rAD -slides: https://webengineshackfest.org/2023/slides/javascript_modules_past_present_and_future_by_nicolo_ribaudo.pdf ---- - -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? - diff --git a/_content/talks/kotlink-wasm.md b/_content/talks/kotlink-wasm.md deleted file mode 100644 index c2863c7..0000000 --- a/_content/talks/kotlink-wasm.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: talk -title: "Inside Kotlin/Wasm (or how your language could benefit from new proposals, like GC, EH, TFR)" -authors: "Zalim Bashorov" -date: "2023-06-05T12:45:00" -dateiso: "2023-06-05T10:45:00" -video: https://youtu.be/r3Wad3fR8aQ?list=PL4sEzdAGvRgD5vjhecZhBFEEqUV_a_rAD -slides: https://webengineshackfest.org/2023/slides/inside_kotlin_wasm_by_zalim_bashorov.pdf ---- - -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. - diff --git a/_content/talks/ladybird.md b/_content/talks/ladybird.md deleted file mode 100644 index 4163663..0000000 --- a/_content/talks/ladybird.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: talk -title: "Ladybird: Building a new browser from scratch" -authors: "Andreas Kling" -date: "2023-06-05T16:30:00" -dateiso: "2023-06-05T14:30:00" -imgsrc: "/img/talks/andreas.webp" -imgalt: "Andreas Kling" -video: https://youtu.be/De8N1zrQwRs?list=PL4sEzdAGvRgD5vjhecZhBFEEqUV_a_rAD -slides: https://webengineshackfest.org/2023/slides/ladybird_building_a_new_browser_from_scratch_by_andreas_kling.pdf ---- - -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. - diff --git a/_content/talks/lbse.md b/_content/talks/lbse.md new file mode 100644 index 0000000..24c82e7 --- /dev/null +++ b/_content/talks/lbse.md @@ -0,0 +1,12 @@ +--- +layout: talk +title: "LBSE - Status of the Layer-Based SVG Engine" +authors: "Nikolas Zimmermann" +date: "2024-06-03T17:00:00" +dateiso: "2024-06-03T15:00:00" +imgsrc: "/img/talks/nikolas.webp" +imgalt: "Nikolas Zimmermann" +--- + +LSBE is a new SVG engine for the WebKit project that aims to unify the HTML and SVG rendering pipelines. On this talk we'll review the activities around LBSE in the past year plus an outlook to the next months. + diff --git a/_content/talks/nova.md b/_content/talks/nova.md new file mode 100644 index 0000000..f5c8b69 --- /dev/null +++ b/_content/talks/nova.md @@ -0,0 +1,12 @@ +--- +layout: talk +title: "Nova JavaScript Engine - Exploring a Data-Oriented Engine Design" +authors: "Aapo Alasuutari" +date: "2024-06-03T13:00:00" +dateiso: "2024-06-03T11:00:00" +imgsrc: "/img/talks/aapo.webp" +imgalt: "Aapo Alasuutari" +--- + +In this talk we explore the benefits and drawbacks of writing a basic JavaScript engine in Rust using a data-oriented approach. This draws a stark contrast with the naturally object-oriented design of the ECMAScript specification and how most mainstream engines are built. + diff --git a/_content/talks/servo.md b/_content/talks/servo.md deleted file mode 100644 index 84825fa..0000000 --- a/_content/talks/servo.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: talk -title: "Servo 2023" -authors: "Delan Azabani" -date: "2023-06-05T15:45:00" -dateiso: "2023-06-05T13:45:00" -imgsrc: "/img/talks/delan.webp" -imgalt: "Delan Azabani" -video: https://youtu.be/pfk8s5OD99A?list=PL4sEzdAGvRgD5vjhecZhBFEEqUV_a_rAD -slides: https://webengineshackfest.org/2023/slides/servo_2023_by_delan_azabani.pdf ---- - -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. - diff --git a/_content/talks/source-maps.md b/_content/talks/source-maps.md new file mode 100644 index 0000000..8ec0f05 --- /dev/null +++ b/_content/talks/source-maps.md @@ -0,0 +1,14 @@ +--- +layout: talk +title: "The Future of Source Maps" +authors: "Jonathan Kuperman" +date: "2024-06-03T11:00:00" +dateiso: "2024-06-03T09:00:00" +imgsrc: "/img/talks/jonathan.webp" +imgalt: "Jonathan Kuperman" +--- + +Originally developed in 2009, source maps have become ubiquitous, consumed by all major browsers and generated by every bundler in the JavaScript ecosystem. While the support for them is widespread, the specification itself has remained largely unchanged since 2009. Because of this, feature development has been very difficult to navigate. Some browsers have added their own functionality, but without the ability to influence the tools generating source maps, support is limited. + +In 2023, we formed a group specifically dedicated to the completion and modernization of source maps. We presented to TC39 in July and became an official TC39 Task Group. Since then, we've been hard at work rounding out the current specification, looking forward to new features and making sure everyone agrees on the existing features. This talk will be focused on the new and exciting features we’re bringing to the specification. We’re actively working on Debug IDs for easier identification in error monitoring tools, Scopes for improved and consistent variable name and scope information in debugging tools and Range Mappings for helping debuggers find more accurate places in source code. + diff --git a/_content/talks/webkit.md b/_content/talks/webkit.md deleted file mode 100644 index 363ff6e..0000000 --- a/_content/talks/webkit.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: talk -title: "Status of the WPE & GTK WebKit ports" -authors: "Žan Doberšek" -date: "2023-06-05T15:00:00" -dateiso: "2023-06-05T13:00:00" -imgsrc: "/img/talks/zan.webp" -imgalt: "Žan Doberšek" -video: https://youtu.be/ZyeSwZYQeDw?list=PL4sEzdAGvRgD5vjhecZhBFEEqUV_a_rAD -slides: https://webengineshackfest.org/2023/slides/status_of_the_wpe_gtk_webkit_ports_by_zan_dobersek.pdf ---- - -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. - diff --git a/index.md b/index.md index 6e5fa3b..6ad430a 100644 --- a/index.md +++ b/index.md @@ -34,7 +34,7 @@ layout: default
-## Talks (2023 Edition) +## Talks {% for talk in collections.talk %} @@ -69,7 +69,7 @@ layout: default #### by {{ talk.data.authors }} -##### Date: [{{ talk.data.date | date: "%Y/%m/%d %H:%M" }}](https://www.timeanddate.com/worldclock/fixedtime.html?iso={{ talk.data.dateiso }}) +##### Date: [{{ talk.data.date | date: "%Y/%m/%d - %H:%M CEST (UTC+2)" }}](https://www.timeanddate.com/worldclock/fixedtime.html?iso={{ talk.data.dateiso }}) {% if talk.data.video %}