<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on SYCL Conference</title><link>https://sycl.it/</link><description>Recent content in Home on SYCL Conference</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 17 May 2024 17:00:00 +0100</lastBuildDate><atom:link href="https://sycl.it/index.xml" rel="self" type="application/rss+xml"/><item><title>Day 3 Closing Notes</title><link>https://sycl.it/agenda/day3/closing-notes/</link><pubDate>Fri, 17 May 2024 17:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/closing-notes/</guid><description>&lt;p>Conference ends.&lt;/p></description></item><item><title>Maintaining Your Love For Passion Projects</title><link>https://sycl.it/agenda/day3/maintaining-your-love-for-passion-projects/</link><pubDate>Fri, 17 May 2024 16:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/maintaining-your-love-for-passion-projects/</guid><description>&lt;p>Have you ever lost interest in a passion project?&lt;/p>
&lt;p>Watch out for drains on your enthusiasm and learn to set boundaries to protect
yourself and ultimately benefit the world with better software. This is my
story writing what would become the most popular unzip implementation in
JavaScript, losing interest in the project, and then regaining interest after
a 4 year hiatus. What went wrong and what was necessary to get back into it?&lt;/p></description></item><item><title>Maps and Yellow Pages</title><link>https://sycl.it/agenda/day3/maps-and-yellow-pages/</link><pubDate>Fri, 17 May 2024 15:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/maps-and-yellow-pages/</guid><description>&lt;p>If you look back 10-15 years, we used &amp;ldquo;free maps&amp;rdquo; only as a last-resort way to
find a tourism information office or shop that sells real maps. It also used to
be funny and, in a way, interesting, to navigate &amp;ldquo;map-flavored yellow pages&amp;rdquo;.
We knew we are looking at an ad brochure and acted accordingly.&lt;/p>
&lt;p>These days map-flavored Yellow Pages are embedded into every smartphone, which
we use daily to navigate. I find it quite sad, because constantly projecting the
world through such &amp;ldquo;maps&amp;rdquo; results in a very peculiar world understanding. For
those who haven&amp;rsquo;t tried, it is an interesting exercise to use Yellow Pages to
find playgrounds (when traveling with kids) or water fountains during hot days.&lt;/p></description></item><item><title>Types and other techniques as an accessibility tool for the ADHD brain</title><link>https://sycl.it/agenda/day3/accessibility-tools-for-the-adhd-brain/</link><pubDate>Fri, 17 May 2024 14:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/accessibility-tools-for-the-adhd-brain/</guid><description>&lt;p>Programmers love claiming that certain tools and techniques are &amp;ldquo;better&amp;rdquo;, and
trying to justify their objective superiority. From static type systems to test
driven development we look for scientific studies to back our views while trying
to win the argument about which direction is &amp;ldquo;correct&amp;rdquo;.&lt;/p>
&lt;p>After more than 10 years as a developer, software architect, and trainer,
Michael was diagnosed with ADHD. As he started researching what that meant,
he realized that many of his own preferences directly countered the known
weaknesses common to those with ADHD. He hadn&amp;rsquo;t been &amp;ldquo;following the science&amp;rdquo;
of effective software development - he&amp;rsquo;d been unconsciously selecting his own
accessibility tooling.&lt;/p></description></item><item><title>Step back, Dive deep: Finding Insight through breadth and depth</title><link>https://sycl.it/agenda/day3/step-back-dive-deep/</link><pubDate>Fri, 17 May 2024 11:30:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/step-back-dive-deep/</guid><description>&lt;p>All technological breakthroughs are made because of some insight. Steam power
was inspired by insight from the kitchen, chemical structures were discovered
through insights from theology, and mathematics is driven by insight, from
within and without. Computers and software are much the same.&lt;/p>
&lt;p>This talk explores various breakthroughs in computing and the insights that
led to them. We see that some of these insights come from studying the problem
deeply, breaking or modifying the models and abstractions that have been
established. Other insights come from studying other unrelated fields, and
drawing insight that can then be applied.&lt;/p></description></item><item><title>Abstract Factories, Zygomorphisms, and You: The Role of Social Interaction in Language Ecosystems</title><link>https://sycl.it/agenda/day3/the-role-of-social-interactions-in-language-ecosystems/</link><pubDate>Fri, 17 May 2024 10:30:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/the-role-of-social-interactions-in-language-ecosystems/</guid><description>&lt;p>In linguistics, the relation between language and thought is a debated topic. Linguistic relativity is a contentious principle, suggesting that the language you speak influences your worldview and cognition. One of the reasons why it is controversial is that other factors play roles in shaping thought, such as social norms and constructs.&lt;/p>
&lt;p>Programming languages are obviously different from spoken languages in a number of ways, but a common recurring topic in the developer community is that programming languages do shape the way we think about programs. But is it really the language, or is it the way this language is most commonly used? What role do the ecosystem and the implied social norms play in that process? What makes a Java program a “Java” program? What makes Go software “Go” software? What about Rust, Scala, Zig?&lt;/p></description></item><item><title>Biodigital Jazz!</title><link>https://sycl.it/agenda/day3/biodigital-jazz/</link><pubDate>Fri, 17 May 2024 09:30:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/biodigital-jazz/</guid><description>&lt;p>On the intersection of software, art (and business) at TigerBeetle.&lt;/p></description></item><item><title>Day 3 Welcome</title><link>https://sycl.it/agenda/day3/welcome/</link><pubDate>Fri, 17 May 2024 09:15:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/welcome/</guid><description/></item><item><title>Registration Opens</title><link>https://sycl.it/agenda/day3/registration/</link><pubDate>Fri, 17 May 2024 08:45:00 +0100</pubDate><guid>https://sycl.it/agenda/day3/registration/</guid><description>&lt;p>Come get your badge!&lt;/p>
&lt;p>Your Stripe receipt is the only proof of payment required.&lt;/p>
&lt;p>If you arrive late, find somebody with a STAFF badge.
Also feel free to ask in the SYCL Discord server for help (in #sycl24-main).&lt;/p>
&lt;p>&lt;strong>NOTE: this is a talk day, which means that the main organizers will be busy
running the livestream. Try to make it on time otherwise it might take a moment
before we&amp;rsquo;re able to get you a badge&lt;/strong>.&lt;/p></description></item><item><title>Day 2 Closing Notes</title><link>https://sycl.it/agenda/day2/closing-notes/</link><pubDate>Thu, 16 May 2024 17:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/closing-notes/</guid><description>&lt;p>Day 2 ends.&lt;/p></description></item><item><title>Defeating the Optimizer: How to Write (and avoid) Unoptimizable Code</title><link>https://sycl.it/agenda/day2/defeating-the-optimizer/</link><pubDate>Thu, 16 May 2024 16:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/defeating-the-optimizer/</guid><description>&lt;p>Systems languages use optimizing compilers to emit efficient code. Despite being
ubiquitous, these optimizers are often treated like black boxes by programmers.
It is easy to imagine optimizations that the compiler could do, but without a
solid understanding programmers often make easily-fixed mistakes that prevent
the optimizer from doing a good job.&lt;/p>
&lt;p>This talk will go through a number of examples of these mistakes. We&amp;rsquo;ll look
at code which is easily optimized by humans but cannot possibly be optimized
by the most powerful compiler. We&amp;rsquo;ll discuss heuristics for estimating what the
optimizer might do, methods for verifying what the optimizer actually does, and
how to identify things the optimizer definitely cannot do.&lt;/p></description></item><item><title>Nea: A webserver that never allocates</title><link>https://sycl.it/agenda/day2/nea-webserver-that-never-allocates/</link><pubDate>Thu, 16 May 2024 15:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/nea-webserver-that-never-allocates/</guid><description>&lt;p>Nea is a Roc platform for building web servers with some special
characteristics: after initialization, its memory use is constant, no matter the
amount of traffic.&lt;/p>
&lt;p>The amount of memory used per-request (and therefore the number of concurrent
requests) is fixed. This means that performance is very predictable and
requests that exceed the memory budget can fail gracefully. Of course there are
limitations too.&lt;/p>
&lt;p>We&amp;rsquo;ll explore some Rust that is so unsafe even an unsafe block cannot handle it,
writing async executors, using custom allocators, jumping up and down the stack
with inline assembly, and how we can use low-level primitives to create rock-
solid guarantees and high-quality user experiences.&lt;/p></description></item><item><title>A Python command line parser you can love</title><link>https://sycl.it/agenda/day2/python-cli-parser-you-can-love/</link><pubDate>Thu, 16 May 2024 14:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/python-cli-parser-you-can-love/</guid><description>&lt;p>The behaviour of most programs, even those normally used via their GUI, can be
changed by starting the program with some arguments, usually from the command
line.&lt;/p>
&lt;p>The interpretation of these arguments, command line (argument) parsing, is up to
the program, but various libraries exist that provide both a standardised way of
interpreting these arguments, as well as extra functionality, such as generation
of nicely formatter help information.&lt;/p>
&lt;p>In this talk I will first provide some terminology and give a examples of
different assumptions in command line parsing, focussing on Unix utilities.
I will describe how these influenced the standard library routines &lt;code>getopt&lt;/code>,
&lt;code>optparse&lt;/code> and &lt;code>argparse&lt;/code>, focussing on the latter and comparing that with
alternatives such as &lt;code>click&lt;/code> and &lt;code>docopt&lt;/code>. Some of these libraries and
enhancements thereof re-use, and extend, already specified information, such as
function/method arguments.&lt;/p></description></item><item><title>Linking can be fast (if you cheat): Roc's Surgical Linker</title><link>https://sycl.it/agenda/day2/roc-surgical-linker/</link><pubDate>Thu, 16 May 2024 11:30:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/roc-surgical-linker/</guid><description>&lt;p>Recently, there have been a lot of cool developments in linking. From lld
improvements to mold and even the zig linker, linkers have been getting better.
That said, even fast linkers can significantly slowdown your feedback loop.&lt;/p>
&lt;p>During software development, we strive for feedback loops that are as fast
as interpreted languages.Roc&amp;rsquo;s surgical linker is one piece in this puzzle,
enabling linking that is bottlenecked by the time it takes to write an
executable to disk.&lt;/p></description></item><item><title>Data-Oriented Design Revisited: Type Safety in the Zig Compiler</title><link>https://sycl.it/agenda/day2/data-oriented-design-revisited/</link><pubDate>Thu, 16 May 2024 10:30:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/data-oriented-design-revisited/</guid><description>&lt;p>Data-Oriented Design seeks to optimise the memory footprint and access patterns
of software with the goal of improving performance.&lt;/p>
&lt;p>Unfortunately, common DOD strategies involve flattening lots of data to raw
integers, so can often come at the cost of type safety. Using the Zig compiler
codebase, we walk through how our DOD implementation techniques have evolved
over the past two years to improve efficiency without sacrificing type safety.&lt;/p></description></item><item><title>Hybrid-Level Programming</title><link>https://sycl.it/agenda/day2/hybrid-level-programming/</link><pubDate>Thu, 16 May 2024 09:30:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/hybrid-level-programming/</guid><description>&lt;p>It&amp;rsquo;s possible to spend an entire programming career doing exclusively
high-level programming, never interacting directly with OS APIs or anything
closer to the metal. For awhile I assumed that&amp;rsquo;s how my career would go, and I
had a mental model of lower-level programming as existing in a different world
&amp;ndash; where people (wizards, perhaps) worked on completely different categories of
problems from what the rest of us did in the land of garbage collection.&lt;/p></description></item><item><title>Day 2 Welcome</title><link>https://sycl.it/agenda/day2/welcome/</link><pubDate>Thu, 16 May 2024 09:15:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/welcome/</guid><description/></item><item><title>Registation Opens</title><link>https://sycl.it/agenda/day2/registration/</link><pubDate>Thu, 16 May 2024 08:45:00 +0100</pubDate><guid>https://sycl.it/agenda/day2/registration/</guid><description>&lt;p>Come get your badge! You only need to do this once.
To access the event in subsequent days you just need to show your paper badge.&lt;/p>
&lt;p>Your Stripe receipt is the only proof of payment required.&lt;/p>
&lt;p>If you arrive late, find somebody with a STAFF badge.
Also feel free to ask in the SYCL Discord server for help (in #sycl24-main).&lt;/p>
&lt;p>&lt;strong>NOTE: this is a talk day, which means that the main organizers will be busy
running the livestream. Try to make it on time otherwise it might take a moment
before we&amp;rsquo;re able to get you a badge&lt;/strong>.&lt;/p></description></item><item><title>Registration Opens</title><link>https://sycl.it/agenda/day1/registration/</link><pubDate>Wed, 15 May 2024 09:00:00 +0100</pubDate><guid>https://sycl.it/agenda/day1/registration/</guid><description>&lt;p>Come get your badge! You only need to do this once.
To access the event in subsequent days you just need to show your paper badge.&lt;/p>
&lt;p>Your Stripe receipt is the only proof of payment required.&lt;/p>
&lt;p>If you arrive late, find somebody with a STAFF badge.
Also feel free to ask in the SYCL Discord server for help (in #sycl24-main).&lt;/p></description></item><item><title>Intro to 2D Gamedev with Mach Engine</title><link>https://sycl.it/agenda/workshops/intro-to-2d-gamedev/</link><pubDate>Tue, 14 May 2024 09:30:00 +0100</pubDate><guid>https://sycl.it/agenda/workshops/intro-to-2d-gamedev/</guid><description>&lt;h2 id="description">Description&lt;/h2>
&lt;p>In this introduction to 2D gamedev, we&amp;rsquo;ll cover everything you need to make simple 2D games in Zig using Mach!&lt;/p>
&lt;p>No previous gamedev experience is required. In the morning 2-hour session we&amp;rsquo;ll briefly touch on the basics and more intermediate concepts:&lt;/p>
&lt;ul>
&lt;li>Introduction to modern graphics APIs&lt;/li>
&lt;li>What shaders are and how to work with them&lt;/li>
&lt;li>2D sprite rendering&lt;/li>
&lt;li>Audio rendering&lt;/li>
&lt;li>Working with an entity component system&lt;/li>
&lt;li>Connecting the pieces together&lt;/li>
&lt;/ul>
&lt;p>Then after a casual break for lunch, we&amp;rsquo;ll have more learning and open development time for working on your own 2D game.&lt;/p></description></item><item><title>Learn How to Build C/C++ Projects with Zig</title><link>https://sycl.it/agenda/workshops/build-c-cpp-zig-projects/</link><pubDate>Tue, 14 May 2024 09:30:00 +0100</pubDate><guid>https://sycl.it/agenda/workshops/build-c-cpp-zig-projects/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>Zig is not only a C/C++ cross-compiler, but also a full-fledged toolchain that can build all kinds of C/C++ projects. This is thanks to the fact that Zig bundles all the required tools (from target libcs to build tools like &lt;code>ar&lt;/code>) and also thanks to the Zig build system which is capable of handling all kinds of C/C++ projects.&lt;/p>
&lt;p>By adopting Zig as your compiler and build system you won&amp;rsquo;t need to depend anymore on make, cmake, etc. Additionally you will be able to add support for cross-compilation to your projects and, if desired, to leverage the Zig package manager for fetching dependencies.&lt;/p></description></item><item><title>Registration Opens</title><link>https://sycl.it/agenda/workshops/registration/</link><pubDate>Tue, 14 May 2024 09:00:00 +0100</pubDate><guid>https://sycl.it/agenda/workshops/registration/</guid><description>&lt;p>Come get your badge! You only need to do this once, in subsequent days all you
have to do is show your paper badge.&lt;/p>
&lt;p>Your Stripe receipt is the only proof of payment required.
&lt;strong>NOTE: Workshops have a separate ticket!&lt;/strong>&lt;/p>
&lt;p>If you arrive late, find somebody with a STAFF badge.
Also feel free to ask in the SYCL Discord server for help (in #sycl24-main).&lt;/p></description></item><item><title>Call For Speakers</title><link>https://sycl.it/call/</link><pubDate>Sat, 08 Oct 2022 09:00:00 +0100</pubDate><guid>https://sycl.it/call/</guid><description>&lt;style>
	body {
		justify-content: center;
	}
	#content {
		align-items: flex-start;
	}
&lt;/style>
&lt;div style="align-self:center;">
	&lt;center>&lt;b>
		All Calls for Speakers will close on April 3, 2024 at 23:59 UTC.
	&lt;/b>&lt;/center>
&lt;/div>
&lt;h2 id="preface">Preface&lt;/h2>
&lt;p>Thank you for your interest in speaking at Software You Can Love.&lt;/p>
&lt;p>The deadline for submitting applications is &lt;strong>April 3, 2024 at 23:59 UTC&lt;/strong>.
You are free to apply to both day of talks.
You can also apply more than once to each track, but we kindly ask all
applicants to each submit no more than 4 talks in total.&lt;/p></description></item><item><title>Discord Server</title><link>https://sycl.it/location/discord/</link><pubDate>Tue, 26 Mar 2019 08:47:11 +0100</pubDate><guid>https://sycl.it/location/discord/</guid><description>&lt;style>
	body {
		justify-content: center;
	}
	#content {
		max-width: 500px;
		align-items: flex-start;
	}
&lt;/style>
&lt;h2 id="discord-server">Discord Server&lt;/h2>
&lt;p>The conference will use the Zig SHOWTIME Discord server, where you will find
a section dedicated to SYCL.&lt;/p>
&lt;p>You can learn more about the relationship between SYCL and
Zig SHOWTIME in the &lt;a href="https://sycl.it/about/">about section&lt;/a>.&lt;/p>
&lt;h1 id="invite-link">&lt;a href="https://discord.gg/dCJm5WCSm2">Invite Link&lt;/a>&lt;/h1>
&lt;h2 id="what-will-the-server-be-used-for">What will the server be used for?&lt;/h2>
&lt;p>&lt;strong>Before the event&lt;/strong>, it will be used to have people introduce themselves and to
answer questions about travel.&lt;/p></description></item><item><title>Travel FAQs</title><link>https://sycl.it/travel/</link><pubDate>Tue, 26 Mar 2019 08:47:11 +0100</pubDate><guid>https://sycl.it/travel/</guid><description>&lt;link rel="preconnect" href="https://fonts.googleapis.com">
&lt;link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
&lt;link href="https://fonts.googleapis.com/css2?family=Archivo+Black&amp;family=Bebas+Neue&amp;display=swap" rel="stylesheet">	
&lt;style>
	body {
		justify-content: center;
	}
	#content {
		max-width: 600px;
		align-items: flex-start;
	}
	#content > div:first-child{
		align-self: center;
	}
	#content h2, #content h3, #content h4 {
		font-family: "Bebas Neue";
		padding: 0;
		padding-top: 10px;
		margin: 0;
		line-height: 1em;
	}
	h2 {
		font-size: 2.5em;
	}
	h3 {
		font-size: 2em;
	}
	h4 {
		font-size: 1.6em;
	}
&lt;/style>
&lt;h2 id="do-i-really-need-to-join-the-discord-server">Do I really need to join the Discord server?&lt;/h2>
&lt;p>Kinda. This is where attendees initially get to know each other, where recommendations for
hotels are shared, and where official announcements from the organizers are shared.&lt;/p></description></item><item><title>Italy Travel Ideas</title><link>https://sycl.it/location/italy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sycl.it/location/italy/</guid><description>&lt;link rel="preconnect" href="https://fonts.googleapis.com">
&lt;link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
&lt;link href="https://fonts.googleapis.com/css2?family=Archivo+Black&amp;family=Bebas+Neue&amp;display=swap" rel="stylesheet">	
&lt;style>
	body {
		justify-content: center;
	}
	#content {
		max-width: 600px;
		align-items: flex-start;
	}
	#content > div:first-child{
		align-self: center;
	}
	h2,h3,h4 {
		font-family: "Bebas Neue";
		padding: 0;
		padding-top: 10px;
		margin: 0;
		line-height: 1em;
	}
	h2 {
		font-size: 2.5em;
	}
	h3 {
		font-size: 2em;
	}
	h4 {
		font-size: 1.6em;
	}
&lt;/style>
&lt;h2 id="preface">Preface&lt;/h2>
&lt;p>In this page you will find some places that you can visit as part of your trip
to Italy.&lt;/p>
&lt;p>One way you can make the most of your trip is to get a return ticket that
leaves from a different city than Milan.&lt;/p></description></item><item><title>Success!</title><link>https://sycl.it/tickets/business/success/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sycl.it/tickets/business/success/</guid><description>&lt;h2 id="your-ticket-purchase-was-successful">Your ticket purchase was successful!&lt;/h2>
&lt;p>You should have already received a receipt from Stripe. We will contact you soon at the provided email address to ask you any missing detail in order to emit an electronic invoice.&lt;/p>
&lt;p>If you wish to speed-up this process please contact us at &lt;a href="mailto:loris@sycl.it">loris@sycl.it&lt;/a> with all the required information.&lt;/p>
&lt;p>&lt;strong>At the event the attendee(s) will be asked to show the Stripe receipt as proof of purchase.&lt;/strong>&lt;/p></description></item><item><title>Success!</title><link>https://sycl.it/tickets/success/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sycl.it/tickets/success/</guid><description>&lt;h2 id="your-ticket-purchase-was-successful">Your ticket purchase was successful!&lt;/h2>
&lt;p>You should have already received a receipt from Stripe. Unlike previous years, &lt;strong>you will not receive any other confirmation email from us.&lt;/strong>&lt;/p>
&lt;p>&lt;strong>At the event you will be asked to show your Stripe receipt as proof of purchase.&lt;/strong>&lt;/p>
&lt;p>Note that unless something bad happens (eg the conference gets canceled), &lt;strong>we
will not contact you by email anymore&lt;/strong>, so if you want to keep up to date with
ordinary news and meet other attendees,
&lt;a href="https://sycl.it/location/discord/">join the Discord server&lt;/a>, which is also highly recommended in order to get help planning your trip to Italy.&lt;/p></description></item></channel></rss>