WORKSHOP - Crashkell
As part of Melbourne :: Compose 2019 I'm running - for the second time - a short introductory Haskell workshop called 'Crashkell'.
Over the last few years I've run previous versions of the workshop, but based on past feedback…
'Less Talking, More Typing!'
I reworked the content to…
- Be instantly accessible via the web, with no setup required
- Have no lecture material, being composed entirely of exercises
- Progressively teach concepts without requiring jumping around
- Be completely broken! Every exercise will crash, requiring debugging
Crashkell leverages Jupyter notebooks and the MyBinder platform to allow attendees to be up and running instantly. Jump directly into exercises with no section introductions and get immediate feedback inline, without the requirement to install any tools.
About the format of the workshop - The examples are broken by design. The flow of interaction is to run the exercise, look at the error, and work towards fixing the error while considering the meaning, and the motivation of the exercise. This is a great way to learn for a few reasons…
- It prevents you from skipping through the code without reading
- It teaches you how to interpret the languages error messages
- It removes anxiety about breaking the code, since it starts broken
- It facilitates discussion among groups of attendees
- And finally, It forces the content author to consider the order of the introduction of concepts
I look forward to seeing you there!
About Lyndon Maydwell
Lyndon is currently head of engineering at Silverpond. Having joined the company 6 years ago, over this time he has been instrumental in transforming the agency from a handful of software and technology experts to the leading AI delivery specialists in Melbourne. A large part of this has been due to his commitment to a full-stack competency within Silverpond - providing not only the ability to crack the core of difficult problems requiring the application of cutting edge research, but also the buildout of instrumentation, integration, interfaces, deployment, and support required to take ideas to market. He has a strong interest in the analysis of building software quickly and correctly and as such has been a central figure in the functional-programming community - helping organise Melbourne's first non-academic conference in this field. This focus is tempered with the necessary pragmatism to work with clients on aggressive timelines to deliver in make-or-break scenarios. His diverse experience across search, ontologies, ISP tech, graph problems, distributed systems, web, and AI make it likely that he will have a useful contributing perspective on any software technology problem. Lyndon is also an amateur cellist and finds inspiration from musicality in the art of the expressive construction of beautiful programs.