diff --git a/_config.yml b/_config.yml index 7e09ccb..6dad685 100644 --- a/_config.yml +++ b/_config.yml @@ -1,4 +1,5 @@ name: Heart of Clojure +url: https://2024.heartofclojure.eu cfp_url: https://cfp.heartofclojure.eu/events/heart-of-clojure tickets_url: https://ti.to/heart-of-clojure/heart-of-clojure-2019-leuven-belgium tickets_enabled: false @@ -15,6 +16,14 @@ collections: talks: output: true defaults: + - scope: + path: "" + values: + title: "Heart of Clojure" + description: "Two days filled with talks, workshops, and activities. September 18 & 19, Leuven, Belgium." + site_name: heartofclojure.eu + url: https://2024.heartofclojure.eu + image: /img/opengraph.png - scope: path: "" type: "talks" diff --git a/_includes/opengraph.html b/_includes/opengraph.html index d5f9570..d74af4f 100644 --- a/_includes/opengraph.html +++ b/_includes/opengraph.html @@ -1,18 +1,18 @@ -{{page.title | default: "Heart of Clojure, 18-19 September, Leuven, Belgium"}} - - +{{page.title}} + + - - - - + + + + - + - - - - + + + + diff --git a/_layouts/talk.html b/_layouts/talk.html index a2576ca..8bc9eb3 100644 --- a/_layouts/talk.html +++ b/_layouts/talk.html @@ -3,16 +3,27 @@ ---
- + -

{{ page.title }}

-

{{ page.abstract }}

+

Heart of Clojure

+
September 18 & 19, Leuven, Belgium.
-

Speakers

- +

{{ page.title }}

+
{{page.type}}
+

{{ page.abstract }}

+
+

Speakers

+ +
diff --git a/_talks/an-introduction-to-application-garden.md b/_talks/an-introduction-to-application-garden.md deleted file mode 100644 index 5e92192..0000000 --- a/_talks/an-introduction-to-application-garden.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: An introduction to application.garden -type: Workshop -speakers: -- name: Jack Rusher - biography: Jack Rusher's long career as a computer scientist includes time at Bell Labs/AT&T Research and a number of successful startups. Much of his current work focuses on the deep relationship between art and technology. -abstract: Learn how to use application.garden to quickly deploy a working application with hassle-free authentication, cron jobs, email handling, and a live REPL. -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Jack+Rusher&title=An+introduction+to+application.garden&type=Workshop ---- diff --git a/_talks/babashka-in-practice.md b/_talks/babashka-in-practice.md deleted file mode 100644 index 66a3385..0000000 --- a/_talks/babashka-in-practice.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Babashka in practice -type: Workshop -speakers: -- name: Teodor Heggelund - biography: Teodor likes to program computers, especially with along other people. In previous lives, he has taught Elm to kids, Matlab and mechanics to students, and Python to civil engineers. His experience is that Clojure's interactivity makes it uniquely well suited to explore problems together. -abstract: "What is Babashka? Why should you care?\r\n\r\nIn 90 minutes you’ll get an introduction to Babashka, and hands-on experience with it through a shared programming experience with the rest of the group and two veteran Clojure programmers. You’ll learn what Babashka is, how it fits in with JVM Clojure, and how to work with it in a practical sense.\r\n\r\nThe workshop aims to be a joyful learning experience where we’ll get to know each other better and learn more about REPL-driven programming, testing Clojure, and, of course scripting with Babashka." -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Teodor+Heggelund&title=Babashka+in+practice&type=Workshop ---- diff --git a/_talks/beyond-the-hype-obstacles-on-the-path-to-clojure-adoption.md b/_talks/beyond-the-hype-obstacles-on-the-path-to-clojure-adoption.md deleted file mode 100644 index d6e2005..0000000 --- a/_talks/beyond-the-hype-obstacles-on-the-path-to-clojure-adoption.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'Beyond the Hype: Obstacles on the Path to Clojure Adoption' -type: Talk -speakers: -- name: Mitesh @oxalorg - biography: asd -abstract: "To the mainstream public (devs and business folks), clojure is either seen as an arcane lisp, or as a hyped language. This perception of Clojure is further solidified by the fact that it's hard to get started with Clojure.\r\n\r\nClojure definitely has a very passionate community and undeniable strengths, then what is holding it back? \r\n\r\nBy openly discussing these issues and collborating on solutions, we can propel Clojure beyond it's current position as a powerful defacto business choice. There are many low hanging fruits and quick wins we can do to get the ball rolling." -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Mitesh+@oxalorg&title=Beyond+the+Hype%3A+Obstacles+on+the+Path+to+Clojure+Adoption&type=Talk ---- diff --git a/_talks/build-full-stack-clojurescript-apps-with-and-without-sitefox.md b/_talks/build-full-stack-clojurescript-apps-with-and-without-sitefox.md deleted file mode 100644 index 4b2cec7..0000000 --- a/_talks/build-full-stack-clojurescript-apps-with-and-without-sitefox.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Build full-stack ClojureScript apps with and without Sitefox -type: Workshop -speakers: -- name: Chris McCormick - biography: Chris is an independent computer programmer building open source software, freelancing, and bootstrapping online micro-businesses with ClojureScript. He's always looking for efficient and joyful ways to create software, so when a friend introduced him to Clojure at a game jam and he was hooked. He also enjoys tinkering with game dev and making procedural music, and uses ClojureScript for this too. -abstract: Interested in building "full stack" ClojureScript software running on the Node ecosystem instead of Java? I'll take you step by step through different options for going all-in on ClojureScript. We'll start with simple backend-only websites and work our way up to apps with both frontend and backend components. We'll learn about shadow-cljs (front and backend), Nbb, Squint, Scittle and my web framework, Sitefox. We'll look at the tradeoffs of different approaches and learn to get web projects up and running quickly and with minimum fuss. -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Chris+McCormick&title=Build+full-stack+ClojureScript+apps+with+and+without+Sitefox&type=Workshop ---- diff --git a/_talks/building-conversational-speech-annotation-tool-in-clojure.md b/_talks/building-conversational-speech-annotation-tool-in-clojure.md deleted file mode 100644 index 092640d..0000000 --- a/_talks/building-conversational-speech-annotation-tool-in-clojure.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Building Conversational Speech Annotation Tool in Clojure -type: Talk -speakers: -- name: Paweł Stroiński - biography: I started programming in 1998 and never stopped since! -abstract: This talk will be a story of inheriting a bespoke text editor with annotation features written in ClojureScript and turning it into a number of things. It will include horror stories of debugging in-house Specter macros running in browser as well as calming stories of how nice it is to work in a code with a good test coverage even if it is difficult to approach, or how enjoyable it is to create interactive audio annotation tooling in ClojureScript. -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Pawe%C5%82+Stroi%C5%84ski&title=Building+Conversational+Speech+Annotation+Tool+in+Clojure&type=Talk ---- diff --git a/_talks/caution-jank-ahead.md b/_talks/caution-jank-ahead.md deleted file mode 100644 index 3b0bdd3..0000000 --- a/_talks/caution-jank-ahead.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Caution! jank ahead -type: Talk -speakers: -- name: Jeaye Wilkerson - biography: "Jeaye has a background in C++ systems programming, focusing on games and game engines. After several years of making games, he co-founded and built an e-sports tournament startup written in full-stack Clojure. These days, he’s writing Clojure at Electronic Arts (EA) to build tooling used for making some of the world’s top games.\r\n\r\nJeaye is the creator of the jank programming language, a Clojure dialect on LLVM with a native runtime and C++ interop." -abstract: "What would happen if we combine C++ with Clojure? Would the result be too dangerous for this world? Imagine a language that allows you to leverage Clojure's expressive, functional programming capabilities while tapping into the raw performance and system-level access of C++. That language is called jank. \r\n\r\nTogether, we'll discover how jank bridges the gap between the elegance of Clojure and the raw native power of C++ and why this seemingly dangerous combination might be the future of high-performance computing." -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Jeaye+Wilkerson&title=Caution%21+jank+ahead&type=Talk ---- diff --git a/_talks/cursive-office-hours.md b/_talks/cursive-office-hours.md deleted file mode 100644 index 3bb1ce2..0000000 --- a/_talks/cursive-office-hours.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Cursive office hours -type: Office Hours -speakers: -- name: Colin Fleming - biography: Colin is the developer of Cursive. He has programmed things for a long time now, in a bunch of different programming languages. When he's not hacking on Cursive, he's mostly climbing in the hills nearby. -abstract: Come with all your questions about Cursive! I have developed Cursive from the very start, and I'd love to hear your questions, see how you're using Cursive and (hopefully!) help you with any problems you're experiencing. Whether you're an experienced Cursive user, an experienced Emacs user curious about why anyone might want to use anything else, or anywhere in between those two points, I'd love to hear from you and help with any issues you're experiencing. -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Colin+Fleming&title=Cursive+office+hours&type=Office+Hours ---- diff --git a/_talks/demo.md b/_talks/demo.md deleted file mode 100644 index 22740f6..0000000 --- a/_talks/demo.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Amazing talk" -speaker: oxalorg -abstract: Mitesh is going to do a talk -twitter: oxalorg ---- - -Jane has worked on Jekyll for the past *five years*. diff --git a/_talks/ethics-of-ai-exact-title-tbd.md b/_talks/ethics-of-ai-exact-title-tbd.md deleted file mode 100644 index 4ef44d1..0000000 --- a/_talks/ethics-of-ai-exact-title-tbd.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Ethics of AI (Exact title TBD) -type: Talk -speakers: -- name: Anna Colom - biography: null -abstract: -TBD- -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Anna+Colom&title=Ethics+of+AI+%28Exact+title+TBD%29&type=Talk ---- diff --git a/_talks/klor-choreographic-programming-in-clojure.md b/_talks/klor-choreographic-programming-in-clojure.md deleted file mode 100644 index c7f075d..0000000 --- a/_talks/klor-choreographic-programming-in-clojure.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 'Klor: Choreographic Programming in Clojure' -type: Talk -speakers: -- name: Lovro - biography: null -- name: Sung-Shik Jongmans - biography: null -abstract: "Over the past five years, the European Commission has invested over 250M EUR in its **Next Generation Internet** initiative. As part of this ambitious program, we are developing a new free and open-source core technology for distributed systems -- in Clojure, of course.\r\n\r\nThe idea behind our project, called Klor (https://github.com/lovrosdu/klor), is to use a new domain-specific language (DSL) -- embedded in Clojure -- to write distributed systems as **choreographies**. A choreography is very similar to any \"normal\" Clojure program, except that it has a special message-passing primitive for processes to communicate: instead of the usual two `send` and `receive` primitives, there is just one `communicate` primitive that embodies a whole end-to-end transmission. The great thing about this is that bugs like communication mismatches and deadlocks -- very hard to diagnose and fix! -- become syntactically impossible to write in the first place. The choreography essentially acts as a single source of truth and is used to automatically generate the implementations of the processes in the system. `communicate` still compiles to a `send` and a corresponding `receive` behind the scenes, but it all happens completely transparently to the programmer.\r\n\r\nKlor is implemented on top of the `clojure.tools.analyzer` compiler framework and hooks into Clojure's macro system to perform all of its analysis and code generation at macroexpansion-time, imposing virtually no run-time cost on the user. It uses a lightweight \"type\" system to track the locations of values and knowledge shared between the processes, and supports standard higher-order features that help with composition and modularity. Still, Klor does not impose any hard restrictions and embraces the interactive and dynamically typed spirit of Clojure: there is seamless interoperability with external Clojure code and standard REPL-based development is highly encouraged. All in all, Clojure's excellent support for concurrency, host interop and mature tooling makes it a great foundation to use for Klor.\r\n\r\nThe aim of this talk is to demonstrate Klor's usage and highlight some of the interesting implementation challenges we faced." -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Lovro&title=Klor%3A+Choreographic+Programming+in+Clojure&type=Talk ---- diff --git a/_talks/living-with-legacy-code.md b/_talks/living-with-legacy-code.md index 8e6214e..45b9bce 100644 --- a/_talks/living-with-legacy-code.md +++ b/_talks/living-with-legacy-code.md @@ -4,6 +4,7 @@ type: Talk speakers: - name: James Reeves biography: A Clojure developer since 2008, and the maintainer of several prominent libraries such as Ring, Hiccup and Integrant. James currently works as a freelance contractor just outside of London. + avatar: http://cfp.heartofclojure.eu/media/avatars/photo_of_self_NDkKuUU.jpeg abstract: A look into maintaining backward compatibility in Clojure codebases. -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=James+Reeves&title=Living+With+Legacy+Code&type=Talk +image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=James+Reeves&title=Living+With+Legacy+Code&type=Talk&img=http%3A//cfp.heartofclojure.eu/media/avatars/photo_of_self_NDkKuUU.jpeg --- diff --git a/_talks/making-ui-great-again-with-humble-ui.md b/_talks/making-ui-great-again-with-humble-ui.md deleted file mode 100644 index 90d85d9..0000000 --- a/_talks/making-ui-great-again-with-humble-ui.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Making UI great again with Humble UI -type: Workshop -speakers: -- name: Nikita Prokopov - biography: Nikita (https://tonsky.me/) is a Clojure developer with an eye for desing and UX. He’s the author of DataScript, Humble UI, Rum, Clojure Sublimed, Tongue, Uberjars, clj-simple-router, and Fira Code. -abstract: "Humble UI is an ongoing project to build desktop-class UIs in Clojure without help of the browser.\r\n\r\nIn this talk, we’ll see how we approach things differently from other cross-platform UI frameworks, what fundamental problems can be fixed by starting from scratch, why Clojure is the best language for this, and see some demos." -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Nikita+Prokopov&title=Making+UI+great+again+with+Humble+UI&type=Workshop ---- diff --git a/_talks/native-clojure-time-jank.md b/_talks/native-clojure-time-jank.md deleted file mode 100644 index 7010c60..0000000 --- a/_talks/native-clojure-time-jank.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'Native Clojure time: jank' -type: Office Hours -speakers: -- name: Jeaye Wilkerson - biography: "Jeaye has a background in C++ systems programming, focusing on games and game engines. After several years of making games, he co-founded and built an e-sports tournament startup written in full-stack Clojure. These days, he’s writing Clojure at Electronic Arts (EA) to build tooling used for making some of the world’s top games.\r\n\r\nJeaye is the creator of the jank programming language, a Clojure dialect on LLVM with a native runtime and C++ interop." -abstract: "jank is a native Clojure dialect on LLVM with C++ interop. How does it work? How\r\ncan you help? Can it run Crysis? All your questions answered live and in person." -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Jeaye+Wilkerson&title=Native+Clojure+time%3A+jank&type=Office+Hours ---- diff --git a/_talks/open-hearts-for-diversity.md b/_talks/open-hearts-for-diversity.md deleted file mode 100644 index b69a7c1..0000000 --- a/_talks/open-hearts-for-diversity.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Open hearts for diversity -type: Other (describe clearly what you have in mind) -speakers: -- name: Katja Böhnke - biography: Katja Böhnke is a software engineer and psychology student. She values connection and learning. She loves to work on diverse teams and to create spaces where people can be themselves and connect with each other. -abstract: "As women in tech I am used to being the only women in the room. I am used to feeling different. At time this raises the question: Do I belong here?\r\n\r\nWorking on a team with people of different age, gender, sexual orientation, religion, physical and mental abilities, ethnic and social background helps me to realize that we are all different and we all belong. Unfortunately, many teams are less diverse and not all people get to make this experience. Therefore, it is important to create opportunities to learn about each other and to become aware of similarities and differences.\r\n\r\nIn this interactive session we share experiences and talk about challenges. The goal is to raise awareness for the topic, to hear each others stories and to support each other. The session is open for all! I invite you to open your hearts for diversity and connect with each other!" -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Katja+B%C3%B6hnke&title=Open+hearts+for+diversity&type=Other+%28describe+clearly+what+you+have+in+mind%29 ---- diff --git a/_talks/opening-keynote-tbd.md b/_talks/opening-keynote-tbd.md deleted file mode 100644 index b24573e..0000000 --- a/_talks/opening-keynote-tbd.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Opening Keynote (TBD) -type: Talk -speakers: -- name: Lu Wilson - biography: null -abstract: -abstract- -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Lu+Wilson&title=Opening+Keynote+%28TBD%29&type=Talk ---- diff --git a/_talks/richer-sql.md b/_talks/richer-sql.md deleted file mode 100644 index 4de1cf3..0000000 --- a/_talks/richer-sql.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Richer SQL -type: Talk -speakers: -- name: Jeremy Taylor - biography: Jeremy is the Head of Product at JUXT, with primary responsibility for XTDB. Jeremy has been digging into databases and "tools for thought" for much of his career. He was initially drawn to Clojure for the Datalog, but stayed for the parens. -abstract: "SELECT NAME FROM EMP WHERE DEPT = 'TOY'\r\n\r\n...SQL has been celebrating its 50th birthday this year, and this original query still runs flawlessly across countless implementations - an impressive milestone in the world of software that nobody could have predicted back in 1974. SQL is the most potent example of declarative programming and backwards compatibility.\r\n\r\nHowever SQL's continued dominance and legacy has not been without significant downsides. Mountains of complexity has been built, and continues to be built, upon its sprawling, anachronistic designs.\r\n\r\nIn search of some antidote to SQL's myriad issues the Clojure community has always been a vibrant melting pot of visions and attempts to tame SQL or surpass it entirely.\r\n\r\nThe XTDB team has spent the past 3 years working on _evolving_ SQL to make it more compatible with Clojure's philosophy and in this talk we will take a tour through how this is achieved and where it might lead." -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Jeremy+Taylor&title=Richer+SQL&type=Talk ---- diff --git a/_talks/sailing-with-scicloj-a-bayesian-adventure.md b/_talks/sailing-with-scicloj-a-bayesian-adventure.md deleted file mode 100644 index e90a140..0000000 --- a/_talks/sailing-with-scicloj-a-bayesian-adventure.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'Sailing with Scicloj: A Bayesian Adventure' -type: Talk -speakers: -- name: Sami Kallinen - biography: Sami is a full-stack Clojure developer, data scientist, and the founder of 8-bit-sheep.com, with experience in leading digital products and media strategy since the early 1990s. Sami has been working at KP System in Växjö, Sweden, for the past three years. -abstract: The presentation, created in collaboration with Daniel Slutsky and the Scicloj community, discusses the Scicloj project and the data science tools for Clojure. Sami Kallinen shares his personal journey of learning to sail during the Covid-19 pandemic. The main focus of the presentation is on Polar diagrams, which are crucial for assessing a boat's performance, important for racing tactics and choosing the optimal sailing routes. The speaker has collected and analyzes various data points to create these diagrams for a 46-year-old Finnish half-tonner cruising sailboat with a classic design. The primary focus is on showcasing how Clojure's data science tools are used to analyze data and construct models, especially through Bayesian analysis. -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Sami+Kallinen&title=Sailing+with+Scicloj%3A+A+Bayesian+Adventure&type=Talk ---- diff --git a/_talks/squint-a-taste-of-clojure-for-javascript-devs.md b/_talks/squint-a-taste-of-clojure-for-javascript-devs.md deleted file mode 100644 index 14d4006..0000000 --- a/_talks/squint-a-taste-of-clojure-for-javascript-devs.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'Squint: a taste of Clojure for JavaScript devs' -type: Talk -speakers: -- name: Felix - biography: Felix started his studies within biochemical technology but pivoted when his first software development course made him fall in love with programming. Since then he went through a Java bootcamp but was promptly thrown into the world of functional programming during his first employment using F# and Clojure. A brief dip into Golang for two years then cemented his views on functional paradigm that it was his way forward. -abstract: Diving head first into shadow-cljs and the surrounding ecosystem can be daunting. What if we could incrementally introduce Clojure into our existing JS applications from the safety of our favourite frontend frameworks like React or Svelte to tame its more complex logic - hopefully with the help of a trusted REPL -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Felix&title=Squint%3A+a+taste+of+Clojure+for+JavaScript+devs&type=Talk ---- diff --git a/_talks/staring-into-the-plfzabyss-from-the-ibm-as400-to-clojure-datomic.md b/_talks/staring-into-the-plfzabyss-from-the-ibm-as400-to-clojure-datomic.md deleted file mode 100644 index 3803862..0000000 --- a/_talks/staring-into-the-plfzabyss-from-the-ibm-as400-to-clojure-datomic.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Staring into the PLFZABYSS - From the IBM AS/400 to Clojure & Datomic -type: Talk -speakers: -- name: Philippa Markovics - biography: Philippa works as UI Designer and Frontend Lead at Nextjournal. Her main interests are in how we can make programming more tangible and data science more accessible. When she’s not working, you can find her planting food plots somewhere in the Austrian countryside. -- name: Martin Kavalar - biography: Martin Kavalar is a co-founder at Nextjournal, a hybrid between startup and research lab trying to improve programming. Nextjournal makes a polyglot computational notebook with a focus on reproducibility and a variety of open source tools, including Clerk, a programmer's assistant for Clojure. -abstract: "Starting in 2021, we naively took on the task of bringing mission-critical legacy systems in the automotive logistics sector into the modern era. \r\n\r\nThis experience report covers our eventually successful live migration from the IBM AS/400 to Clojure and Datomic. We look at both the technical and human organizational challenges we faced and share our failures and learnings along the way.\r\n\r\nThousands of globally unique 8-character column names, green-screen terminal UIs, skunk work projects and personal drama — this talk has it all!" -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Philippa+Markovics&title=Staring+into+the+PLFZABYSS+-+From+the+IBM+AS/400+to+Clojure+%26+Datomic&type=Talk ---- diff --git a/_talks/the-shoulders-of-giants-or-uncovering-the-foundational-ideas-of-lisp.md b/_talks/the-shoulders-of-giants-or-uncovering-the-foundational-ideas-of-lisp.md deleted file mode 100644 index 2c67573..0000000 --- a/_talks/the-shoulders-of-giants-or-uncovering-the-foundational-ideas-of-lisp.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: The Shoulders of Giants or Uncovering the Foundational Ideas of Lisp -type: Talk -speakers: -- name: Daniel Szmulewicz - biography: Functional programmer. Closet philosopher. Emacs meshugge. -abstract: "In the world of computer science, we often acknowledge that we are standing on the shoulders of giants. However, the identities and contributions of these giants are sometimes less known than we might expect. While many Lisp practitioners recognize John McCarthy as the inventor of Lisp, the story of the foundational ideas that enabled its discovery remains largely untold.\r\nThis talk aims to explore two essential questions: Why do we know so little about the foundational ideas that enable our practice, and what are those ideas and their connections?" -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Daniel+Szmulewicz&title=The+Shoulders+of+Giants+or+Uncovering+the+Foundational+Ideas+of+Lisp&type=Talk ---- diff --git a/_talks/the-wonders-of-abstraction.md b/_talks/the-wonders-of-abstraction.md deleted file mode 100644 index 12405cb..0000000 --- a/_talks/the-wonders-of-abstraction.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: The Wonders of Abstraction -type: Keynote -speakers: -- name: Eric Normand - biography: Eric Normand has been programming functionally since 2001. He teaches, speaks, and writes. He consults with companies to help them build better software one function at a time. He lives with his family in Madison, Wisconsin. You can find his writing and other projects at [ericnormand.me](https://ericnormand.me/). -abstract: "Fish are to water as programmers are to abstraction. We swim in it all day, barely aware of it. We say \"abstraction\" all the time, but have we thought about what it means? \r\n\r\nI've spent 20 years asking how computers--that move electrons around in a complex circuit--do work useful to humans. Abstraction is the key. In this philosophical talk, we explore this wonderous process called abstraction. We'll wade through the everyday uses of the term, paddle out to formal definitions, and dive into why some abstractions give us incredible leverage. Along the way, we'll see how abstraction is at the heart of getting computers to do useful work. I hope you leave with a deeper appreciation of the wonders of programming." -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Eric+Normand&title=The+Wonders+of+Abstraction&type=Keynote ---- diff --git a/_talks/timelines-crafting-a-live-coding-musical-instrument-with-out-of-clojure.md b/_talks/timelines-crafting-a-live-coding-musical-instrument-with-out-of-clojure.md deleted file mode 100644 index 844bce4..0000000 --- a/_talks/timelines-crafting-a-live-coding-musical-instrument-with-out-of-clojure.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'TimeLines: Crafting a Live Coding Musical Instrument with & out of Clojure' -type: Talk -speakers: -- name: Dimitris Kyriakoudis - biography: null -abstract: 'TimeLines is an ongoing PhD research project in the design and implementation of Live Coding musical instruments. Live Coding is a creative practice that, at its core, involves real-time Human-Computer Interaction (HCI) with a live and dynamic computational system - as much an instrument as an open-ended instrument-building workbench. TimeLines follows a purely functional approach to music, treating both the synthesis of sounds and of musical structure to be functions of just a single numerical argument: time itself. All time-varying behavior is encoded in those pure functions, enabling the potential for massive parallelization and static analyses. Clojure''s Lisp-heritage''s metaprogramming powers are greatly relied upon to make an instrument that is capable of creating and extending itself.' -og-image: https://dynogee.com/gen?id=xqxdvgzswovkl2c&speaker=Dimitris+Kyriakoudis&title=TimeLines%3A+Crafting+a+Live+Coding+Musical+Instrument+with+%26+out+of+Clojure&type=Talk ---- diff --git a/css/basics.css b/css/basics.css index 3460ab7..cdc8577 100644 --- a/css/basics.css +++ b/css/basics.css @@ -134,12 +134,3 @@ footer p { .people a { border-bottom: none !important; } .btn-cta a { border-bottom: .25rem solid #e25f7d !important; } .btn-cta a:hover, .people a:hover { box-shadow: none !important; } - -.talk-page { - max-width: 800px; - padding: 12px; - margin: auto; -} - -.talk-page > h1 { -} diff --git a/css/colors.css b/css/colors.css index b2aad48..a4aee58 100644 --- a/css/colors.css +++ b/css/colors.css @@ -1,44 +1,41 @@ -.grey { color: #2c3437; } -.grey-tint-80 { color: #414b4d; } -.grey-tint-60 { color: #676d6f; } -.grey-tint-40 { color: #5b6667; } -.grey-tint-20 { color: #8c9498; } - -.green { color: #46722b; } -.green-tint-80 { color: #588c38; } -.green-tint-60 { color: #83c05e; } -.green-tint-40 { color: #6ba845; } -.green-tint-20 { color: #99db70; } +:where(html) { + --black: hsl(196, 11%, 19%); + --pink-1: hsl(346, 67%, 72%); + --pink-2: hsl(346, 69%, 63%); + --pink-3: hsl(345, 84%, 64%); + --pink-4: hsl(347, 56%, 55%); + --pink-5: hsl(348, 50%, 50%); + --pink-6: hsl(348, 51%, 45%); + --pink-alpha: rgba(226, 96, 126, 0.05); + --pink: var(--pink6); + --purple: hsl(252, 51%, 17%); +} -.pink-tint-80 { color: #c0415b; } -.pink-tint-60 { color: #e25f7d; } -.pink-tint-40 { color: #cd4e6a; } -.pink-tint-20 { color: #e7879d; } /* Pink base */ -.pink { color: #ae3951; } -.bg-pink { background-color: #ae3951; } -.b--pink { border-color: #ae3951; } -.hover-pink:hover, .hover-pink:focus { color: #ae3951; } -.hover-bg-pink:hover, .hover-bg-pink:focus { background-color: #ae3951; } +.pink { color: var(--pink); } +.bg-pink { background-color: var(--pink-6); } +.b--pink { border-color: var(--pink-6); } +.hover-pink:hover, .hover-pink:focus { color: var(--pink-6); } +.hover-bg-pink:hover, .hover-bg-pink:focus { background-color: var(--pink-6); } /* Pink tint 60 */ -.pink-t60 { color: #e25f7d; } -.bg-pink-t60 { background-color: #e25f7d; } -.b--pink-t60 { border-color: #e25f7d; } -.hover-pink-t60:hover, .hover-pink-t60:focus { color: #e25f7d; } -.hover-bg-pink-t60:hover, .hover-bg-pink-t60:focus { background-color: #e25f7d; } +.pink-t60 { color: var(--pink-2); } +.bg-pink-t60 { background-color: var(--pink-2); } +.b--pink-t60 { border-color: var(--pink-2); } +.hover-pink-t60:hover, .hover-pink-t60:focus { color: var(--pink-2); } +.hover-bg-pink-t60:hover, .hover-bg-pink-t60:focus { background-color: var(--pink-2); } -.hoc-black { color: #2c3437; } -.bg-hoc-black { background-color: #2c3437; } -.b--hoc-black { border-color: #2c3437; } -.hover-hoc-black:hover, .hover-hoc-black:focus { color: #2c3437; } -.hover-bg-hoc-black:hover, .hover-bg-hoc-black:focus { background-color: #2c3437; } +.hoc-black { color: var(--black); } +.bg-hoc-black { background-color: var(--black); } +.b--hoc-black { border-color: var(--black); } +.hover-hoc-black:hover, .hover-hoc-black:focus { color: var(--black); } +.hover-bg-hoc-black:hover, .hover-bg-hoc-black:focus { background-color: var(--black); } .bg-translucent-pink { - background-color: rgba(226, 96, 126, 0.05) + background-color: var(--pink-alpha); } .bg-translucent-pink-05 { - background-color: rgba(226, 96, 126, 0.5) + background-color: var(--pink-alpha); } diff --git a/css/main.css b/css/main.css index 29f3a41..8c1f98a 100644 --- a/css/main.css +++ b/css/main.css @@ -6,6 +6,7 @@ @import url('typo.css'); @import url('util.css'); @import url('colors.css'); +@import url('talks.css'); html { margin: 0; @@ -23,4 +24,4 @@ body { ::selection { background-color: rgba(231,135,157,0.2); -} \ No newline at end of file +} diff --git a/css/talks.css b/css/talks.css new file mode 100644 index 0000000..61e3f74 --- /dev/null +++ b/css/talks.css @@ -0,0 +1,59 @@ +.talk-page { + max-width: 800px; + padding: 12px; + margin: auto; + + h1 { + margin-top: 0; + text-align: center; + & a:not(:hover) { + color: var(--black); + text-decoration: none; + } + } + .date-loc { + margin-bottom: 4rem; + text-align: center; + } + + h2 { + margin-bottom: 0; + color: var(--pink-3); + } + + .type { + margin-bottom: 2rem; + span { + font-size: 1rem; + background-color: var(--pink-3); + padding: 0.25rem 0.5rem; + line-height: 1em; + color: white; + } + } + + ul { + padding-left: 0; + margin-top: 3rem; + list-style: none; + } + .speakers { + padding: 2rem; + + h3 {text-align: center;} + img { + width: 10rem; + height: 10rem; + object-fit: cover; + border-radius: 100%; + flex-shrink: 0; + flex-grow: 0; + margin-right: 2rem; + border: .5rem solid var(--pink-3); + } + li { + display: flex; + } + h4 {margin-top: 0;} + } +} diff --git a/hoc-logo-2024-avatar.png b/img/hoc-logo-2024-avatar.png similarity index 100% rename from hoc-logo-2024-avatar.png rename to img/hoc-logo-2024-avatar.png diff --git a/index.html b/index.html index 2b8d2bb..84b0d43 100644 --- a/index.html +++ b/index.html @@ -137,61 +137,6 @@

Our Sponsors

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -