Skip to content

Commit

Permalink
feat: adds inngest workshop (#119)
Browse files Browse the repository at this point in the history
  • Loading branch information
dimitropoulos authored Sep 17, 2024
1 parent 0815d02 commit fe11c98
Show file tree
Hide file tree
Showing 11 changed files with 83 additions and 73 deletions.
44 changes: 24 additions & 20 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,39 @@
"*.svg"
],
"words": [
"Afficianado",
"Autometics",
"Axosoft",
"Cernicova",
"Excalidraw",
"Extism",
"FAANG",
"FOSS",
"Faneuil",
"Fiberplane",
"Harborside",
"Instabase",
"Katerina",
"Livecoder",
"Livestream",
"MBTA",
"Pinterest",
"Rizèl",
"SQUOCT",
"Simons",
"Skroumpelou",
"_epichunter",
"aakansha",
"Afficianado",
"allowfullscreen",
"anonrig",
"astro",
"astrojs",
"astropub",
"Autometics",
"Axosoft",
"blackgirlbytes",
"bluesky",
"bootcamp",
"bostonts",
"cernicova",
"Cernicova",
"codesandbox",
"contejas",
"danvdk",
Expand All @@ -35,31 +52,21 @@
"doshi",
"dragomir",
"dragomirtitian",
"Excalidraw",
"Extism",
"FAANG",
"Faneuil",
"Fiberplane",
"farrelly",
"fontsource",
"FOSS",
"fosstodon",
"griffing",
"Harborside",
"igalia",
"inngest",
"Instabase",
"josefin",
"joshuakgoldberg",
"jsparty",
"Katerina",
"keturakis",
"kless",
"knip",
"konami",
"konamimojisplosion",
"laurynas",
"Livecoder",
"MBTA",
"michigantypescript",
"mitropoulos",
"murg",
Expand All @@ -70,20 +77,17 @@
"nowrap",
"openjs",
"packagejson",
"Pinterest",
"plone",
"psyber",
"referrerpolicy",
"rizel",
"Rizèl",
"scarlett",
"Simons",
"Skroumpelou",
"squiggleconf",
"SQUOCT",
"sugaroverflow",
"sylwia",
"tejas",
"titiancernicova",
"travelling",
"tseslint",
"twir",
"vanderkam",
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@
"typescript": "5.5.3",
"typescript-eslint": "7.16.1"
},
"packageManager": "[email protected]+sha1.886364ebd6dae009284bebc56ed4296bb6dd557a",
"engines": {
"node": ">=18"
}
Expand Down
Binary file added src/assets/avatars/aaron-harper.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/avatars/dan-farrelly.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
86 changes: 53 additions & 33 deletions src/data/notion-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,25 @@ export const peopleBySlug: Record<string, Person> = {
role: "Open Source",
slug: "aakansha-doshi",
},
"aaron-harper": {
bio: "I’m a software developer in Ann Arbor, Michigan. I’m a fan of writing reliable code, my dog Benny, and attending my favorite local meetup: Michigan TypeScript. When I’m not helping developers implement durable workflows, I love spending time with my wife and daughter, gardening, and building orchestration engines that combine event driven architecture and workflows.",
links: {
bluesky: null,
github: "https://github.com/goodoldneon",
gitlab: null,
linkedin: "https://www.linkedin.com/in/aaronmharper",
mastodon: null,
medium: null,
twitch: null,
twitter: "https://x.com/AliasShmalias",
website: null,
youtube: null,
},
name: "Aaron Harper",
qualification: "Software Engineer, [Inngest](https://inngest.com/)",
role: "",
slug: "aaron-harper",
},
"chris-griffing": {
bio: "I love building things on my Twitch stream and some of those things have been CLI tools. When you are creating binaries, you sometimes want people to be able to extend your tools with their own functionality. The simplest path has traditionally been exposing a server API for someone to interact with but many security-minded users are averse to the idea of a tool they use running a local http server. You can give your users extensibility without the need for a local http server and at the same time allow them to use any of the languages supported by the Extism toolkit.",
links: {
Expand Down Expand Up @@ -78,6 +97,25 @@ export const peopleBySlug: Record<string, Person> = {
role: "Founder, [Web for Everyone](https://webforeveryone.us/)",
slug: "corina-murg",
},
"dan-farrelly": {
bio: "I'm Dan. I am a founder at [Inngest](https://www.inngest.com/) and spent previous several years as CTO at [Buffer](https://buffer.com/). Back when I had more time I built [Timezone.io](https://timezone.io/) \\(service, [open-source](https://github.com/timezoneio/timezoneio)\\) and [MailDev](https://maildev.github.io/maildev/) \\(dev tool, [open-source](https://github.com/maildev/maildev)\\). In 2020 I bought a 96 year old house and started [a restoration and renovation project](https://www.instagram.com/michigancraftsman/) on the weekends. Hit me up if you want to chat home renovations.",
links: {
bluesky: null,
github: "https://github.com/djfarrelly",
gitlab: null,
linkedin: "https://www.linkedin.com/in/djfarrelly",
mastodon: null,
medium: null,
twitch: null,
twitter: "https://x.com/djfarrelly",
website: "https://danfarrelly.com",
youtube: null,
},
name: "Dan Farrelly",
qualification: "CTO, [Inngest](https://inngest.com/)",
role: "",
slug: "dan-farrelly",
},
"dan-vanderkam": {
bio: "",
links: {
Expand Down Expand Up @@ -156,12 +194,12 @@ export const peopleBySlug: Record<string, Person> = {
slug: "jess-lin",
},
"katerina-skroumpelou": {
bio: "",
bio: "Senior Engineer at [Nx](https://nx.dev/), open source contributor, [GDE](https://developers.google.com/community/experts) for Angular/Google Maps platform, [WTM Ambassador](https://developers.google.com/womentechmakers/ambassadors), [AngularAthens](https://www.meetup.com/angular-athens/) meetup co-founder. Mentoring women into tech, speaking about the cool things I do, climbing mountains and serving cats for life. More at [psyber.city](https://psyber.city/%F0%9F%90%88).",
links: {
bluesky: null,
github: "https://github.com/mandarini",
gitlab: null,
linkedin: null,
linkedin: "https://www.linkedin.com/in/katerinaskroumpelou/",
mastodon: "https://mas.to/@psybercity",
medium: "https://pakotinia.medium.com",
twitch: null,
Expand Down Expand Up @@ -213,7 +251,7 @@ export const peopleBySlug: Record<string, Person> = {
slug: "loris-cro",
},
"max-kless": {
bio: "",
bio: "Max is a software engineer at [Nx](https://nx.dev/) and works on the core team. He spends a lot of his time building [Nx](https://nx.dev/getting-started/intro) & [Nx Console](https://nx.dev/recipes/nx-console) - a VSCode and JetBrains extension for Nx workspaces. When not digging through code, he spends his time travelling, reading sci-fi and listening to music.",
links: {
bluesky: null,
github: "https://github.com/MaxKless",
Expand Down Expand Up @@ -276,7 +314,7 @@ export const peopleBySlug: Record<string, Person> = {
bluesky: null,
github: "https://github.com/rviscomi",
gitlab: null,
linkedin: null,
linkedin: "https://www.linkedin.com/in/rviscomi/",
mastodon: null,
medium: null,
twitch: null,
Expand Down Expand Up @@ -327,25 +365,6 @@ export const peopleBySlug: Record<string, Person> = {
role: "CEO, [Planet Argon](https://www.planetargon.com/); host of [Maintainable](https://maintainable.fm/)",
slug: "robby-russell",
},
"sylwia-vargas": {
bio: "",
links: {
bluesky: null,
github: null,
gitlab: null,
linkedin: null,
mastodon: null,
medium: null,
twitch: null,
twitter: "https://x.com/SylwiaVargas",
website: null,
youtube: null,
},
name: "Sylwia Vargas",
qualification: "",
role: "",
slug: "sylwia-vargas",
},
"titian-cernicova-dragomir": {
bio: "Hi, I’m Titian! I’m a software engineer on the JavaScript Infrastructure team at Bloomberg, where I work on JavaScript and TypeScript tooling for the company’s internal developers. I am passionate about TypeScript and, together with my colleagues, have contributed to TypeScript features such as Private Methods in classes and Isolated Declarations. I also enjoy answering questions about TypeScript, so you might have come across one of my Stack Overflow answers. Feel free to ask me any questions! In my free time, I love spending time with my lovely wife, two kids, and my fully gray cat.",
links: {
Expand All @@ -371,7 +390,7 @@ export const peopleBySlug: Record<string, Person> = {
bluesky: null,
github: "https://github.com/anonrig",
gitlab: null,
linkedin: null,
linkedin: "https://www.linkedin.com/in/yagiznizipli/",
mastodon: null,
medium: null,
twitch: null,
Expand Down Expand Up @@ -433,7 +452,7 @@ export const talksBySlug: Record<string, TalkInfo> = {
},
"talk-dan-vanderkam": {
description:
"There’s nothing more devtool-y than how you store your code. Over the past 50 years, computers have grown dramatically more powerful, user interfaces have grown increasingly complex, and computer programs have grown orders of magnitude larger. But despite all this change, we still represent computer code the same way we did in 1970: as plain text files. Why is plain text so ubiquitous, and why do attempts to replace it always fail?\n\nThis talk will explore the different attempts and strategies at making something “better” than plain text for source formats — including defining what “better” might be in the first place. We’ll cover richer text formats, AST-oriented storage, and more explorations in the future.\n\nBenefits of this talk will include a renewed appreciation for how to share, store, and generally work with your computer code sources.",
"There’s nothing more devtool-y than how you store your code. Over the past 50 years, computers have grown dramatically more powerful, user interfaces have grown increasingly complex, and computer programs have grown orders of magnitude larger. But despite all this change, we still represent computer code the same way we did in 1970: as plain text files. Why is plain text so ubiquitous, and why do attempts to replace it always fail?",
people: [peopleBySlug["dan-vanderkam"]],
slug: "talk-dan-vanderkam",
tags: ["ASTs", "Parsing", "Source Code"],
Expand Down Expand Up @@ -545,6 +564,15 @@ export const talksBySlug: Record<string, TalkInfo> = {
talkFormat: "Lightning",
title: "Node.js Core Performance Optimizations, Revealed",
},
"workshop-dan-and-aaron": {
description:
"Your business logic is important - but it requires so many service calls! Internal services, external services, retries, timeouts... Keeping track of all the failure points and logic can become a nightmare in larger applications. Especially for sensitive transactions such as money or personal data.\n\nIntroducing durable execution: the ability to write independent tasks that manage their own retry and timeout behavior. Applications built on these tasks become more traceable and understandable by nature, allowing you to build up reliable business applications with confidence and ease.\n\nJoin Dan Farrelly, CTO of Inngest, and Aaron Harper, engineer at Inngest, as they show us how to make an application built on durable execution. You’ll learn how to get starting using an engine such as Inngest, along with great general tips and tricks you can apply in our own codebases.",
people: [peopleBySlug["dan-farrelly"], peopleBySlug["aaron-harper"]],
slug: "workshop-dan-and-aaron",
tags: [],
talkFormat: "Workshop",
title: "Building Resilient Applications with Durable Execution",
},
"workshop-katerina-and-max": {
description:
"You will leave this workshop having built and installed a custom VSCode _and_ JetBrains extension! Learn how to enchant your Editor in a \\(seasonally witch-themed!\\) deep dive into Editor plugins and what it takes to build one. You will gain hands-on experience with [Nx](https://nx.dev/) and how you can use it to compose a clean architecture in a complex repo.\n\nWe’ve learned a lot in the process of building and maintaining both [Nx](https://nx.dev/) and [Nx Console](https://marketplace.visualstudio.com/items?itemName=nrwl.angular-console), our editor extension - we’re ready to share our best tips and tricks!\n\nIf you want to learn more about Nx or if you’ve ever thought to yourself “I wish someone at my company could make an editor extension” then this workshop is for you! Come and see how easy it is to get started.",
Expand All @@ -561,12 +589,4 @@ export const talksBySlug: Record<string, TalkInfo> = {
talkFormat: "Workshop",
title: "Build Editor Extensions with the Makers of Nx Console",
},
"workshop-sylwia-vargas": {
description: "",
people: [peopleBySlug["sylwia-vargas"]],
slug: "workshop-sylwia-vargas",
tags: [],
talkFormat: "Workshop",
title: "Inngest",
},
};
4 changes: 2 additions & 2 deletions src/data/schedule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -272,8 +272,8 @@ export const days: ScheduleDay[] = [
},
{
at: "10:30am",
title: "Workshop to be announced",
type: "between",
session: "workshop-dan-and-aaron",
type: "session",
},
],
},
Expand Down
7 changes: 2 additions & 5 deletions src/data/talks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@ import * as notionData from "./notion-data.js";

type TalkSlug = keyof typeof notionData.talksBySlug;

const talksToExclude: TalkSlug[] = [
// (Sylwia might not be able to make it 😢)
"workshop-sylwia-vargas",
];
const talksToExclude: TalkSlug[] = [];

const sortOrder: TalkSlug[] = [
// Full
Expand All @@ -26,7 +23,7 @@ const sortOrder: TalkSlug[] = [
"talk-yagiz-nizipli",
// Workshop
"workshop-katerina-and-max",
"workshop-sylwia-vargas",
"workshop-dan-and-aaron",
];

// sort by sortOrder
Expand Down
2 changes: 0 additions & 2 deletions src/pages/ad/speakers.astro
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ import "~/layouts/base.css";
import "~/layouts/normalize.css";
const excludedSpeakers = new Set([
// Not confident will be able to make it
"sylwia-vargas",
// MCs
"nick-nisi",
"fatima-sarah-khalid",
Expand Down
2 changes: 1 addition & 1 deletion src/pages/badge/front.astro
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const role = Astro.url.searchParams.get("role");

<BadgeLayout>
<div class="contents">
<div class="more-top-gr3adient"></div>
<div class="more-top-gradient"></div>
<div class="top">
<HeroNameHeading
align="center"
Expand Down
4 changes: 0 additions & 4 deletions src/pages/sessions.astro
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,6 @@ const sections = [
))
}

<BodyText as="p" class="talks-body-text" size="large" width="lean">
One more workshop to be announced soon.
</BodyText>

<BodyText as="p" class="talks-body-text" size="large" width="lean">
You’ll emerge with the best techniques to supercharge your projects —
whether you’re already a tooling wizard or trying to become one.
Expand Down
6 changes: 0 additions & 6 deletions src/pages/speakers.astro
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ import { peopleBySlug, talksBySlug } from "~/data/notion-data";
import Speaker from "~/components/Speaker.astro";
import BodyText from "~/components/BodyText.astro";
import SafeMarkdown from "~/components/SafeMarkdown.astro";
const speakersToExclude = new Set([
// Sylwia might not be able to make it 😢
"sylwia-vargas",
]);
---

<ContentLayout
Expand All @@ -29,7 +24,6 @@ const speakersToExclude = new Set([
<ul class="speakers-list">
{
Object.values(peopleBySlug)
.filter((person) => !speakersToExclude.has(person.slug))
.sort((a, b) =>
!!a.bio === !!b.bio ? a.name.localeCompare(b.name) : a.bio ? -1 : 1,
)
Expand Down

0 comments on commit fe11c98

Please sign in to comment.