Introducing the HandAxe Collections Pattern Language by Maurice Rabb (Strange Loop 2022)  @StrangeLoopConf
Introducing the HandAxe Collections Pattern Language by Maurice Rabb (Strange Loop 2022)  @StrangeLoopConf
Strange Loop Conference | "Introducing the HandAxe Collections Pattern Language" by Maurice Rabb (Strange Loop 2022) @StrangeLoopConf | Uploaded 1 year ago | Updated September 28 2023
Often, the worst enemy of a better solution is an existing solution that's just good enough. New programming languages often borrow from prior languages, yet non-ideal choices from the past frequently live on. Haphazardly designed method protocols – method names, parameters, and return values – make core libraries harder to understand and limit their expressive power.

HandAxe is a pattern language for specifying collection protocols. It emphasizes consistency, composability, im|mutability, and mis|understandability. It begins by rigorously defining terms for referencing collection aspects: key, value, element, span, edge, index, etc. – aka “grips.”

Using a small grammar of operators and modifiers, HandAxe enables one to specify an ideal naming, protocol, and semantics for methods. Further, it enables method implementations to be autogenerated on demand. While implemented in JavaScript, HandAxe offers a unified approach for developing collection libraries in a wide range of languages.

Maurice Rabb
Spantree - Director of Pedagogy
@mauricerabb

I'm Director of Pedagogy at Spantree Technology Group LLC, and am passionate about mentoring junior engineers. I taught software engineering for 10 years, most recently as an instructor at Dev Bootcamp. When not waxing wistfully about the Smalltalk debugger, I enjoy playing board games with my daughter, exploring unusual maps, eating exotic fruits, and acting as the building super at our extended family compound on the South Side of Chicago.

-------- Sponsored by: --------

Stream is the # 1 Chat API for custom messaging apps. Activate your free 30-day trial to explore Stream Chat. https://gstrm.io/tsl
Introducing the HandAxe Collections Pattern Language by Maurice Rabb (Strange Loop 2022) @StrangeLoopConfPolymorphism Unbound by Bruce Eckel (Strange Loop 2022) @StrangeLoopConfThe Lemniscate by Ann Johnson, Charles Comstock @StrangeLoopConfThere Are No Shortcuts in Organizing, but Technology Sure Does Help by Vicki Crosson, Shane Moore @StrangeLoopConfDiagrammar: Simply Make Interactive Diagrams by Pontus Granström (Strange Loop 2022) @StrangeLoopConfSniffing the Metaverse by Benjamin Cabé (Strange Loop 2022) @StrangeLoopConfModern B-Tree techniques by Dmitrii Dolgov (Strange Loop 2022) @StrangeLoopConfThe Education of a Civic Technologist by Alex Allain (Strange Loop 2022) @StrangeLoopConfReviving 1990s Digital Dress-Up Dolls with Smooch by Libby Horacek (Strange Loop 2022) @StrangeLoopConfKalDB: A cloud native log search platform by Suman Karumuri (Strange Loop 2022) @StrangeLoopConfThe Evolution of a Planetary-scale Distributed Database by Kevin Scaldeferri (Strange Loop 2022) @StrangeLoopConfData Driven Investigation in Defense of Human Rights by Christo Buschek (Strange Loop 2022) @StrangeLoopConfInteractive Debugging and Testing Support for Deep Learning by Tianyi Zhang @StrangeLoopConfFinding Bugs in Deep Learning Programs by Foutse Khomh @StrangeLoopConfHow to Recommend Tools for Finding and Fixing Software Errors by Chris Brown @StrangeLoopConfHow Automated Tools Can Communicate Effective Strategies for Fixing Bugs by Justin Smith @StrangeLoopConfIts Not You, Its the API: Automatically Avoiding API Misuses by Sarah Nadi @StrangeLoopConfChoose Wisely: Code Smells in Automatically Generated Code by Joanna Cecilia da Silva Santos @StrangeLoopConfOne Thousand and One Stories: a Large-scale Survey of Software Refactoring by Mohamed Wiem Mkaouer @StrangeLoopConfIts Like Coding in the Dark: the Need for Learning Culture in Engineering Teams - Catherine Hicks @StrangeLoopConfMachine Learning for Developer Productivity by Satish Chandra (Strange Loop 2022) @StrangeLoopConfDemystifying Privacy Preserving Computing by Tejas Chopra (Strange Loop 2022) @StrangeLoopConfOf JavaScript Ahead-Of-Time Compilation Performance by Manuel Serrano (Strange Loop 2022) @StrangeLoopConfTime Travel Debugging JavaScript Applications by Cecelia Martinez (Strange Loop 2022) @StrangeLoopConfAVIF: Creating a new image format in the open by Jon Bauman (Strange Loop 2022) @StrangeLoopConfIf only I owned my data: Architecting decentralized data by Katharine Jarmul, Nimisha Asthagiri @StrangeLoopConfBlueprints for a Universal Reasoning Machine by Zenna Tavares (Strange Loop 2022) @StrangeLoopConfArt you can make by spying on yourself with your phone by Kate Hollenbach (Strange Loop 2022) @StrangeLoopConfDisaster Recovery Options running Apache Kafka in Kubernetes by Geetha Anne (Strange Loop 2022) @StrangeLoopConfAn IPC Language For The Whole Operating System by Ian McKellar (Strange Loop 2022) @StrangeLoopConfMonad I Love You Now Get Out Of My Type System by Gjeta Gjyshinca (Strange Loop 2022) @StrangeLoopConfHow live music is evolving in a post pandemic world by Ben Michel (Strange Loop 2022) @StrangeLoopConfFormally Verifying Everybodys Cryptography by Mike Dodds, Joey Dodds (Strange Loop 2022) @StrangeLoopConfHodor: Detecting and Addressing Overload in LinkedIn Microservices by Bryan Barkley @StrangeLoopConfA Hipster History of CORS by Devdatta Akhawe (Strange Loop 2022) @StrangeLoopConfThe Skip Ratchet by Brooklyn Zelenka (Strange Loop 2022) @StrangeLoopConfHedy: A Gradual programming language by Felienne Hermans (Strange Loop 2022) @StrangeLoopConfLevel Up Your Machine Learning Lifecycle by Yaqi Chen (Strange Loop 2022) @StrangeLoopConfWhat We Learned Dissecting the Worlds Most Popular Containers by Ayse Kaya (Strange Loop 2022) @StrangeLoopConfBeyond Blockchain: Convergent Consensus by Mike Anderson (Strange Loop 2022) @StrangeLoopConfPowering Spotifys Audio Personalization Platform by Josh Baer (Strange Loop 2022) @StrangeLoopConfThe Vera C. Rubin Observatory Legacy Survey of Space and Time by Andrés Plazas Malagón @StrangeLoopConfLiveViewJS is the anti-SPA library for reactive app development in NodeJS and Deno by Donnie Flood @StrangeLoopConfIn the Land of the Sizing, the One-Partition Kafka Topic is King by Ricardo Ferreira @StrangeLoopConfFormal Modeling and Analysis of Distributed Systems by Ankush Desai (Strange Loop 2022) @StrangeLoopConfResillient Microservices without the Chaos by Christopher Meiklejohn (Strange Loop 2022) @StrangeLoopConfWorkflows, a new abstraction for distributed systems by Dominik Tornow (Strange Loop 2022) @StrangeLoopConfDont Get Owned by Your Dependencies by Shravan Narayan (Strange Loop 2022) @StrangeLoopConfHow to Avoid Safety Hazards when using Closures in Scala by Philipp Haller (Strange Loop 2022) @StrangeLoopConfAvoiding the Pitfalls of Autoscaling with Constant Work by David Grizzanti (Strange Loop 2022) @StrangeLoopConf

"Introducing the HandAxe Collections Pattern Language" by Maurice Rabb (Strange Loop 2022) @StrangeLoopConf