Thinking in Properties (and Beyond), Testing edition
Slide deck from conference talk discussing how property-based testing offers a launchpad to discover and practice thinking in properties in your software development activities to test your software smarter.
From Zero to Haskell: Lessons Learned (ZuriHac)
Embarking on functional programming within an established software organization is a daunting task, but this talk reveals some secrets and wisdom acquired from experience trying to build a team this way. Discover how to manage existing systems while incorporating a functional mindset and building expertise. Learn approaches to reduce risks, foster a learning …
Dynamically scaling a news and activism hub (5x traffic in 20 mins)
On any given day this news discussion site can receive traffic peaks up to five times our base traffic, sometimes requiring us to scale out to double our backend app server capacity within a 10-20 minutes window (sometimes at unpredictable times). In this talk, Susan Potter will discuss DailyKos's use of autoscaling in EC2 from the essential components …
Functional Operations (Functional Programming at Comcast Labs Connect)
Maintaining configurations for different nodes and cloud resources in a [micro]service architecture has been an absolute nightmare in the past. The separation between CI/CD environments and production configuration has led to unpredictable results and false positives. Deploying code to staging and production has often resulted in unforeseen consequences that …
Functional and Reactive Operations
If we were starting greenfield development of a service or web application today we would likely employ a number of practices and design choices that are known to optimise application responsiveness, resiliency, elasticity, and/or composability. Delivering our reactive applications on top of predictable infrastructure will set our project up for success. …
Put a Type On It: Idris Types as Propositions
Note from a talk I gave at Strangeloop showing how Curry-Howard can be applied to structuring types to represent logical propositions using Idris as the teaching language.
From Zero To Production (NixOS, Erlang)
This talk will introduce the audience to the Nix packaging, NixOS, and related ecosystem tools for Erlang/Elixir developers. By reviewing common development, testing, and deployment problems we will look at what Nix has to offer to aid Erlang/Elixir developers in these areas. From seamless developer environment bootstrapping to consistent CI environments and …
Scalaz By Example (An IO Taster)
Explore the building blocks in Scala using Scalaz that offer enormous benefits of algebraic thinking from domain modeling, validation, data types, and even the intricate realm of distributed systems. Wield the power of Scala's implicits, unleashing ad-hoc polymorphism to support functional programming abstractions like monoids, functors, applicatives and …
Functional Algebra: Monoids Applied
In functional programming, words from Category Theory are thrown around, but how useful are they really? This session looks at applications of monoids specifically and how using their algebraic properties offers a solid foundation of reasoning in many types of business domains and reduces developer error as computational context complexity increases. This …
Why Haskell? Embrace Correctness
Discover the hidden gems of pure functional programming, immutability, and static typing, as we delve into the realm of elegance, robustness, and concise code. Challenge the status quo and embrace a new paradigm to unlock a world of limitless possibilities.
Dynamo: Not just for datastores
Find out how to build decentralized, fault-tolerant, stateful application services using core concepts and techniques from the Amazon Dynamo paper using riak_core as a toolkit.
Distributed Developer Workflows using Git
This meetup I will be walking the audience through how to setup, configure and maintain distributed development workflows using Git (the distributed VCS developers either love or hate). Much of the workflows suggested here will be applicable to other dVCSes like Mercurial, Darcs and Bazaar.
Deploying Distributed Software to the Cloud (w/o Breaking a Sweat)
The promise of cloud computing provides business benefits from reduced costs to increased flexibility. One struggle organizations face as they move to run on cloud infrastructure is automating complex dsitributed deployments.
Designing for Concurrency
Presenting traditional and less traditional approaches to designing concurrent systems in the 2010s using approaches that can be used across many languages and some runtimes.