Skip to content

Commit

Permalink
Add most of the 2024 slides
Browse files Browse the repository at this point in the history
  • Loading branch information
mdparker committed Oct 8, 2024
1 parent f613037 commit 6155065
Show file tree
Hide file tree
Showing 19 changed files with 269 additions and 11 deletions.
1 change: 1 addition & 0 deletions 2024/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ TO_COPY = \
online/slides/ $(wildcard online/slides/*.pdf) \
includes/ $(wildcard includes/*) \
images/ $(wildcard images/*.png images/*.svg images/*.jpg) \
slides/ $(wildcard slides/*.pdf slides/*.otp slides/*.pptx slides/*.md) \
$(wildcard ./*.html)

SITE_FILES = $(addprefix $(OUT)/, $(TO_COPY))
Expand Down
40 changes: 29 additions & 11 deletions 2024/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,8 @@ <h1>Schedule</h1>
<img class="speakerIMG w3-image" src="../2020/images/bright.jpg">
<div class="talkmeta">
Duration: 45 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/bright.pdf">Slides (PDF)</a>
</div>
</div>
<p>TBA</p>
Expand All @@ -313,7 +314,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: All<br>
Duration: 40 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/mancini.pdf">Slides (PDF)</a>
</div>
</div>
<p>Dub is an amazing tool, but due to its features not being segregated enough, it can be difficult to contribute to the project and to identify bottlenecks. Redub is a tool focused mainly on building. It brings compatibility with dub, faster build times, and rewards good project structure.</p>
Expand All @@ -336,6 +338,7 @@ <h1>Schedule</h1>
Audience: Advanced<br>
Duration: 40 Minutes<br>
<div class="talklinks">
<a href="./slides/piolat.pdf">Slides (PDF)</a>
</div>
</div>
<p>We&#8217;ll devise together a tautologic, all-encompassing, theory of software that posits a composable economic value to every piece of software, however small.</p><br><br>
Expand Down Expand Up @@ -367,6 +370,7 @@ <h1>Schedule</h1>
Audience: Intermediate<br>
Duration: 40 Minutes<br>
<div class="talklinks">
<a href="./slides/korpel.pdf">Slides (PDF)</a>
</div>
</div>
<p>After an epiphany, I finally found it: the perfect memory allocator. Last year, I talked about stack memory and its limitations, but I've found a way around them. Now I have a scheme that combines the best parts of the Garbage Collector and manual memory management. It&#8217;s <code>@safe</code>, it&#8217;s <code>@nogc</code>, and it&#8217;s implemented in only 80 lines of code. The gist of it is that pointers to arenas are passed to <code>return scope</code> function parameters with default arguments. How it works exactly will be explained in the talk.</p>
Expand All @@ -387,7 +391,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: Beginner/Intermediate<br>
Duration: 30 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/vander-aa.pdf">Slides (PDF)</a>
</div>
</div>
<p>In this talk, we show the key role of the D programming language in the development of a task-based parallel programming framework for a novel compute-accelerator platform. The platform consists of a set of compute accelerators (like GPGPUs) and a management processor. The management processor&#8217;s role is to orchestrate the parallel execution of kernels on the accelerators. Using the D language for the code running on the management processor allowed us to write high-level, size-efficient code.</p>
Expand All @@ -413,6 +418,7 @@ <h1>Schedule</h1>
Audience: Advanced<br>
Duration: 45 Minutes<br>
<div class="talklinks">
<a href="./slides/dutu.pdf">Slides (PDF)</a>
</div>
</div>
<p>In D, certain high-level constructs are replaced with calls to lower-level functions from DRuntime, called hooks, that provide the same functionality. This makes the compiler&#8217;s job easier by saving it from having to generate code for complex expressions itself. This process takes place in the compiler&#8217;s intermediate representation generator. This has the following disadvantages:</p>
Expand All @@ -438,7 +444,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: All<br>
Duration: 45 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/wilson.pptx">Slides (PPTX)</a>
</div>
</div>
<p>As time goes by, best practices evolve, needs change, and better ideas have appeared. What began as idle conversation in late 2023 has become a full-scale effort to forge the future of Phobos. Today, Phobos 3 has been under active development for 6 months and the ground-work for the future has been laid. But what does this mean for Phobos 2? What will be included in Phobos 3 and what will be cut? What comes after Phobos 3?</p>
Expand Down Expand Up @@ -473,6 +480,7 @@ <h1>Schedule</h1>
Audience: Advanced<br>
Duration: 40 Minutes<br>
<div class="talklinks">
<a href="./slides/schadek.pdf">Slides (PDF)</a>
</div>
</div>
<p>When you think of parser/AST/visitor generators you normally think of classes, polymorphism, and pointers. This is, no doubt, the reasonable way to approach such a project. More fun can be had, though. Maybe we can even improve on things by not following the standard way, but having fun outside of the box.</p>
Expand Down Expand Up @@ -519,7 +527,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: Advanced<br>
Duration: 40 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/schveighoffer-sechet.pdf">Slides (PDF)</a>
</div>
</div>
<p>In a world which can&#8217;t be stopped, we need a new hero. (Well, maybe we can stop it for a few microseconds...) In any case, the current garbage collector for D has been relatively stagnant in design since the development of DRuntime. We have had a few nice improvements, including fork-based, parallel scanning, and precise scanning. But we can do better. Our ideas on how to improve the performance of the GC get down to the lowest level of the hardware of modern systems, and try to squeeze every last bit of performance from the GC.</p>
Expand All @@ -543,7 +552,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: All<br>
Duration: 45 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/miranda.odp">Slides (ODP)</a>
</div>
</div>
<p>Have you ever tried to create life? Of course not! You&#8217;re not a god. But you could try to simulate life in a computer as many scientists have done. I&#8217;ve been doing that in D for months.</p>
Expand All @@ -565,7 +575,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: Intermediate<br>
Duration: 40 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/artha.pdf">Slides (PDF)</a>
</div>
</div>
<p>Fluid is a library for building general purpose graphical interfaces. To communicate the desired layout and style to the program, a common language has to be used. I will compare solutions used in different frameworks, explain D's advantages in declarative API design, and its significance for user interface programming.</p>
Expand All @@ -586,7 +597,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: Intermediate<br>
Duration: 35 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/nyarko.pdf">Slides (PDF)</a>
</div>
</div>
<p>One of D&#8217;s goals in its interoperability with C++ is to be able to use some of the major C++ Standard Template Library from D. In this talk, I will reveal where we are in this process as a language. I will also cover real-life usage with their design philosophies, limitations, and the way forward in reaching seamless C++ integration.</p>
Expand All @@ -608,6 +620,7 @@ <h1>Schedule</h1>
Audience: Intermediate<br>
Duration: 40 Minutes<br>
<div class="talklinks">
<a href="./slides/davis.pdf">Slides (PDF)</a>
</div>
</div>
<p>A new version of D&#8217;s standard library, Phobos, is currently under development. We would like to fix some of the mistakes that have been made over the years which we haven&#8217;t been able to fix without breaking code, and we want to update Phobos according to the current best practices for D. Ranges are a big part of Phobos, and they are are being reworked as part of the update.</p>
Expand Down Expand Up @@ -662,7 +675,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: Intermediate<br>
Duration: 30 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/beer.md">Slides (MD)</a>
</div>
</div>
<p>D ships with dustmite, a tool that lets you take any D project with an issue and reduce it to a testcase. But using dustmite effectively requires some experience. Having filed many bugs with dustmite reductions, I will share reduction strategies and gotchas.</p>
Expand All @@ -686,7 +700,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: Advanced<br>
Duration: 40 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/schveighoffer-sechet.pdf">Slides (PDF)</a>
</div>
</div>
<p>Just when you thought we were done with GC talks, we have more for you!</p>
Expand Down Expand Up @@ -736,6 +751,7 @@ <h1>Schedule</h1>
Audience: Intermediate<br>
Duration: 30 Minutes<br>
<div class="talklinks">
<a href="./slides/shah.pdf">Slides (PDF)</a>
</div>
</div>
<p>The D programming language and ecosystem provide many modern features which can help give developers a competitive advantage during the software development lifecycle. In this talk, I will discuss how D provides a competitive advantage for graphics application development (e.g., games, rendering), where any reduction in iteration time can improve outcomes. As an example, when creating an art style, having systems allowing rapid iteration can help improve visual fidelity, both in aesthetics and correctness of the application.</p>
Expand All @@ -758,7 +774,8 @@ <h1>Schedule</h1>
<div class="talkmeta">
Audience: Beginner/Intermediate<br>
Duration: 30 Minutes<br>
<div class="talklinks">
<div class="talklinks"></div>
<a href="./slides/riciu.pptx">Slides (PPTX)</a>
</div>
</div>
<p>D-Scanner is one of the most widely used static code analysis tools for D. It relies on libdparse, a third-party D parser implementation. As a consequence, every time the D frontend is modified, both libdparse and D-Scanner need to be updated. Given that D can be built as a compiler library, replacing libdparse with DMD-as-a-library will make it easier to tackle compiler updates.</p>
Expand All @@ -782,6 +799,7 @@ <h1>Schedule</h1>
Audience: Intermediate<br>
Duration: 35 Minutes<br>
<div class="talklinks">
<a href="./slides/nitu.pdf">Slides (PDF)</a>
</div>
</div>
<p>D has historically been open to the addition of new features. While some of have been net benefits to the language, others simply offer some sort of convenience while either increasing the codebase complexity or enabling patterns which are hard to maintain. This talk will present a series of such language features, exhibit the impact of their implmentations on the D codebase, and explore the alternative of removing them.</p>
Expand Down
Binary file added 2024/slides/artha.pdf
Binary file not shown.
Loading

0 comments on commit 6155065

Please sign in to comment.