Doug Beardsley

Engineering, Management, Movement

Haskell

Haskell

An advanced, purely functional programming language

Haskell

Reflex FRP System

Build interactive web frontends in Haskell and get Android and iOS apps for free.

Nix

Nix

A purely functional package manager

Slacklining

The pinnacle of balance

Rock Climbing

You against gravity

Projects

Noteworthy software I've written

HExplore

A more powerful way to find the Haskell package you want.

Snap Framework

A Haskell web framework focusing on simplicity, robustness, and ease of use.

Monad Challenges

A set of challenges for jump starting your understanding of monads.

Nix REPL

Run nix expressions in your web browser.

Presentations

Slides and videos of presentations I've given over the years

Pact: Smart Contracts You Can Take To The Bank

A talk I gave at RethinkTrust 2018 about the Pact smart contract language.

Building Healthy Communities

Strategies for fostering communities that grow and thrive.

Three Essentials of a Modern Programming Language

I'm often asked what I think of various programming languages. This describes the things I look for to answer that question.

Doing More with Modules and Types

Leveraging modules and types to write code that can't go wrong.

Real World Reflex

A talk I gave at BayHac about things I learned using Reflex to build production web frontends in Haskell.

Coding and Reasoning with Purity, Strong Types, and Monads

A talk I gave at the New York Haskell Users Group.

In Pursuit of Production Minimalism

Do more and more with less and less until eventually you can do everything with nothing.

No Matter What You Work For Yourself

The only person you really work for is you.
I don’t distinguish between work and non-work because there is only one life.

Too Clever By Half

It’s always the meta-game that gets you.
They figure out a brilliant way to win at the mini-game that they’re immersed in, and they ignore the meta-game. Eventually the meta-game blows up on them, and they’re toast.

Code Complexity is a Design Problem

Think of code complexity as the opposite of a force multiplier. It’s a force diminisher. It imposes a tax on everything you might want to do with your product in the future.
Ideas are cheap and disposable; code is expensive and persistent.
If two ideas are equally impactful to the user, but engineering expresses real concerns about one, you should be able to it kill on the basis of being high-cost, even if engineering just has a gut feeling.