Doug Beardsley

Engineering, Management, Movement

Interests

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

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.

Chainweaver

A developer-focused crypto wallet / IDE.

Chainweb Block Explorer

A visualization of block production in a braided proof of work chain.

kda-tool

A convenient command-line UX for the Kadena blockchain.

Zeus CI

No fuss, production quality CI for Nix projects.

International Obfuscated C Code Contest (IOCCC)

Won Best AI in 2001.

Programmer Of The Month Competition

Wrote AI that used a genetic algorithm to go undefeated in the LOAPS game.

Presentations

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

Solving the Trilemma: Scaling Proof of Work

A talk I gave at DCentral about how Kadena scaled proof of work blockchains.

Intro to Blockchain

Basic introduction to proof of work, mining, public/private key crypto, and securing cryptocurrency.

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.

Clean Up Your Mess

A Guide to Visual Design for Everyone

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.