ZuriHac 2018, 8-10 June

About

Beginning of June 2018, the Zürich Friends of Haskell association will organize ZuriHac 2018, a three day Haskell Hackathon hosted at the HSR Hochschule für Technik Rapperswil. This is the seventh Haskell Hackathon organized in Zürich and and the second one which is hosted at the HSR. A fantastic venue located right at lake Zürich and providing space for 400 participants.

The Haskell Hackathon is a free (as in beer), international, grassroots collaborative coding festival whose goal is to expand the community and to build and improve Haskell libraries, tools, and infrastructure.

This is a great opportunity to learn more about Haskell, meet fellow Haskellers in real life, find new contributors for your project, improve existing libraries and tools or even start new ones!

This event is open to any experience level, from beginners to gurus. In fact, one of the goals is to bring beginners in contact with experts so that the former can get a quick start in the Haskell community. This year, we will have a dedicated beginners' course, and there will be mentors on site whom you can directly approach during the whole event with any Haskell-related question you have.

Supported by

Adjoint LogoDigital Asset LogoDFINITY LogoGoogle Open Source Programs Office, Google LogoHSR LogoTweag Logo

Speakers

Niki Vazou

Niki Vazou

Niki Vazou is a post-doc scholar at PLUM of University of Maryland, focusing mostly on refinement types, static program verification, and type systems. She is the author of Liquid Haskell, a type system extension to GHC that lets you add sophisticated predicates to type signatures.
Stephen Diehl

Stephen Diehl

Stephen is a Haskell developer, entrepreneur, and financial systems architect from Boston. His open source work is around numerical computing, compilers, security, and improving Haskell documentation. Author of the amazing What I Wish I Knew When Learning Haskell.
Edward Kmett

Edward Kmett

Prolific Haskell programmer, mathematician, lapsed graphics guru and demo scener, defense contractor, financial toolsmith, author of the widely-known lens library.
Gabriel Gonzalez

Gabriel Gonzalez

Haskell Enthusiast and programmer at Awake Security. Author of a host of Haskell libraries and tools including pipes and Dhall, and writer behind the Haskell for all blog.
Joachim Breitner

Joachim Breitner

Post-doc researcher at the University of Pennsylvania and one of the core contributors to the Glasgow Haskell Compiler. Author of The Incredible Proof Machine and not afraid to try funky ideas.

Schedule

All talks and keynotes take place in the aula (building 4). Lunch is served in the mensa (building 4). Pizza and BBQ will be consumed outside (in front of building 1).

9:0021:00
Friday
June 8
Doors open
9:00
Keynote
10:00 – 11:00
Project presentation
11:00 – 12:00
Lunch
12:30 – 14:00
Keynote
14:00 – 15:00
Beginner track
15:00 – 18:00
Pizza
18:00 – 21:00
Saturday
June 9
Keynote
10:00 – 11:00
Lunch
12:00 – 14:00
Keynote
14:00 – 15:00
Beginner track
15:00 – 18:00
BBQ
18:00 – 21:00
Sunday
June 10
Keynote
10:00 – 11:00
Lunch
12:00 – 14:00
Project demos
15:00 – 16:00
End of event
17:00

Food

Lunch coupons are sold during registration. A coupon costs CHF 30 and includes lunch for three days. Vegetarian options are available during every lunch. Of course, you are always free to go to nearby restaurants and/or supermarkets, like the past years.

The exact menu will be announced here before the event.

On Friday evening, a mobile pizzeria will visit the venue. Pizzas will cost around CHF 15.

On Saturday evening, there is a bring-your-own meat BBQ. Meat (or vegetarian/vegan alternatives) can be obtained from nearby supermarkets.

C++ Standardisation Committee

The HSR is also hosting the spring session of the C++ standardisation committee from 04.06.2018 - 09.06.2018. In order to promote the cross-fertilisation of ideas between the two communities, the attendees of the C++ standardisation committee meeting will be welcome to attend the ZuriHac2018 keynote speeches and the Pizza dinner on Friday 08.06.2017. In turn, ZuriHac2018 attendees are welcome to take a peek at the meetings of the C++ standardisation committee. For more information on the C++ standardisation committee meeting, please refer to this link. In case you plan on attending a session, please send a short email to Peter Sommerlad (peter.sommerlad at hsr.ch).

Projects

In between the talks you can join one of these projects and help the maintainers out with bug fixes or new features. We have plenty of space available in 10 separate rooms where you can team up with your peers and work on your favourite project.

To submit your project, please open a pull request.

Beginner
Advanced
Expert
Bas van Dijk

haskell-opencv

 — 
opencv is a Haskell library providing a binding to the OpenCV-3.x C++ library. It binds directly with the C++ API using the inline-c Haskell library.
Dierk König

Frege - a Haskell for Java Programmers

 — 
Learn how to use Haskell in your Java projects, incl. type-safe interaction with Java libraries.
Andrew Lelechenko

arithmoi

 — 
arithmoi is a Haskell library for number theory: modular arithmetic, primes, elliptic curves, etc. It is also an excellent tool for Project Euler.
Alexey Kuleshevich

massiv

 — 
massiv is a Haskell library for manipulating multi-dimensional Arrays. It features fusion, stencils and parallel computation.
Lucas DiCioccio

http2-client-grpc

 — 
A native gRPC client for Haskell. Needs some updating to a more recent proto-lens, helpers, and some CI-runnable examples.
Leon Coto Rodriguez

Labyrinth

 — 
WIP: A clone of Ravensburger's Labyrinth.
Tobias Dammers

Ginger

 — 
Jinja2-style HTML template engine
Alexander Diemand

Secure Haskell Programming with LiquidHaskell

 — 
Let's dig into Haskell code (libraries, apps or yours) and have a look at how we can prove termination and correct behaviour with LiquidHaskell. Beyound 'head', there are a lot of pitfalls. A vivid discussion and hands-on coding is envisaged.
Vaibhav Sagar

IHaskell

 — 
A Haskell kernel for Jupyter notebooks
Mikhail Glushenkov

Cabal

 — 
Common Architecture for Building Applications and Libraries
Tommaso Piazza

Rome

 — 
Binary dependency cache specialized for macOS/tvOS/watchOS/iOS
Corentin

Nomyx

 — 
The game in which you can change the rules!
Enzo Haussecker

Enzo Haussecker

 — 
We have developed a cryptographic protocol that allows a network of computers to reach a consensus on a stream of random values. A probabilistic mechanism for leader ranking is applied to these random values, which drives the production of blocks for a public blockchain.
Dmitry Bushev

stackage2nix

 — 
Generate Nix build instructions from a Stack file
Dmitrii Kovanikov

life-sync

 — 
CLI tool which helps you to synchronize dotfiles repositories
Matt Parsons

Haskell Project Project

 — 
Are you curious about doing Haskell, but not sure where to start? This is a Haskell project that is designed to connect beginners, mentors, and ideas.
Pasqualino Titto Assini

Quid2

 — 
Open, evolvable, consistent and efficient distributed systems
Vidas Pleta

News Engine

 — 
Self driving news engine that would help to personalize user content.
Nikola Henezi

Basic

 — 
Database first database library with focus on: type safety, ease of use, flexibility and user friendly error messages
Luka Horvat

Basic

 — 
Database first database library with focus on: type safety, ease of use, flexibility and user friendly error messages
Dominic Steinitz

Differential Equation Solvers

 — 
Small project for different ODE solvers for haskell, in particular symplectic solvers.
Csaba Hruska

GRIN

 — 
The name GRIN is short for Graph Reduction Intermediate Notation, and it is an intermediate language for graph reduction. It can be used as a Haskell backend replacing STG.
Juan Carlos Saenz-Carrasco

Purely functional data structures

 — 
Since Okasaki's book and PhD thesis, few efforts have been done towards the design and analysis of purely data structures, specifically the field of dynamic environment
Anthony Sheldon

Haskell-wasm

 — 
Haskell compiler infastructure for WebAssembly
Pawel Szulc

Quasar-lite

 — 
It's an abstraction for a File System build with Free. Attendees will write interpreters for storages of their choice (like HDFS, Elasticsearch, PostgreSQL). At the end of hackhaton we will get a nice website that allows you to connect (mount) to specific storage, list, write and read its content
Adrian Sieber

Transity

 — 
The plain text accounting tool of the future
Drew Krause

Building music types

 — 
Modeling compositional forms (pitch &/or rhythm) using algebraic data types
Marco Zocca

sparse-linear-algebra

 — 
A native linear algebra library with multiple backends
Mauro Bieg

pandoc

 — 
Nicolas Mattia

butler

 — 
just-add-water session types for safe and easy protocols and state machines
Oskar Wickström

Motor

 — 
Motor is an experimental Haskell library for building finite-state machines with type-safe transitions and effects. It draws inspiration from the Idris ST library. I'd be interested in working with others on this, exploring the design space further.
Sergey Mironov

vindinium-rage

 — 
Game agent for vindinium.org on-line AI competition
Pepe Iborra

Debug

 — 
A debugging toolkit for Haskell
Artem Chirkin

easytensor

 — 
Strongly-typed multidimensional numerical data and operations
Philip Kamenarsky

Refract

 — 
Optical Purescript UI library based on React and the Elm architecture, but without the boilerplate.
Pawel Kruszewski

Haskell CodingBat

 — 
CodingBat like website for exercising Haskell.
Phil de Joux

Flare Timing

 — 
Scoring for Free Flight Competition
Stephen Diehl

Compiler Development

 — 
We will informally hack on various tooling on llvm-hs toolchain and related projects.
Gabriel Gonzalez

Dhall

 — 
Non-Turing-complete configuration language
Jeremy Barisch-Rooney

Distributed Algorithms Framework

 — 
It's all in the homepage :)

Beginner track

Mentor T-Shirt

We want to make the event accessible to Haskellers at all levels, which is why we will have dedicated mentors, and an introductory course by Julie Moronuki. and beginner-level Haskell exercises.

You can identify mentors from the black Zurihac shirt. They welcome any questions you may have, so please grab them if you have any issues or questions.

Beginner course

Julie Moronuki

Julie Moronuki, the author of both Haskell Programming from first principles and The Joy of Haskell, has kindly agreed to teach a beginners course for people who are just getting started with Haskell. This beginner track will run on Friday and Saturday afternoon and will not conflict with any keynotes.

In case you are interested in the beginners track, we kindly ask you to fill in this very short poll so we have a better idea of how many people will attend the track and what the level of the audience is.

GHC DevOps track

It's hard to overstate how important GHC is to the Haskell ecosystem. That's why we are extremely proud that we will have a special GHC DevOps track at ZuriHac 2018.

This track is all about getting new contributors into GHC's code and the surrounding tooling. You do not need to bring any experience in working on GHC, we will introduce you to it and show that working on GHC is not as hard as you might expect.

Some GHC contributors will be present to help you find your way around the projects, and there will be hacking sessions to improve the tooling in particular.

Manuel Chakravarty

Long-time GHC contributor Manuel Chakravarty will be present, and we'll have a few talks about GHC internals.

If you are interested, then please consider filling out this poll to help the track organizers prepare.

Venue

This year the hackathon takes place at the HSR Hochschule für Technik Rapperswil. The location is about 40 minutes outside of the Zurich city.

HSR campus

We'll have plenty of space available to us: One large auditorium with enough seats for all the participants, 10 separate rooms for up to 28 people each, and a large open space.

HSR Hochschule für Technik Rapperswil
Oberseestrasse 10
8640 Rapperswil-Jona

The venue is located right next to the lake, and weather is predicted to be superb (25°C, 77℉), so feel free to bring your swimming gear.

Getting there

You can take the S7 or S15 to get from the Zurich main station to Rapperswil. These trains run regularly in 30 minute and 60 minute intervals, respectively.

If you arrive at the Zurich airport, first take the train to the Zurich main station and then continue with S7 or S15. Trains from the airport towards the city run every few minutes.

Tickets: If you stay in Zurich city, get a day pass for all zones. It's good for all public transportation around Zurich, up to Rapperswil. A one-way ticket costs 17.20CHF, the day pass 34.40CHF. If you want to stay closer to the venue and save on transportation, please see the section further below with accomodation suggestions around Rapperswil.

Getting around

See this map for more information on accomodation, grocery stores, and other useful places.

VenueVenueVenueVenueVenueVenue

Registration

To the registration form

Once we reach maximum capacity you will be queued into a wait list. In case that somebody cancels we will fill up the seats from the wait list in first come first serve order and let you know. Do not book anything before we have confirmed a seat for you (in a confirmation email) though. Confirmation emails are sent out in batches and this is a manual process, so expect some delay there.

Contact

If you have any questions before the event, please reach out to Jasper Van der Jeugt, Simon Meier or Farhad Mehta.

Before the event, and in particular during the event, you can find us and other participants on our (attendees only) mailing list, the Zurihac Slack or on the #zurihac channel on freenode (open in your IRC client. In addition, feel free to post on Twitter and Google+ using the hashtag #ZuriHac2018.

Who are we?

Organizing ZuriHac would not be possible without the help of all volunteers involved.

Terms and Conditions

Each participant will retain ownership of any and all intellectual and industrial property rights to his or her work created or used during the Hackathon.