Things I've Learned Contributing to Dogecoin.

Apr 15, 2023

Make Transactions Count (PR 3248)

What if you want to add a feature, skimp on your homework, and do it the hard way three times? How to count transactions in Dogecoin Core, the easy way, with PR 3248.

Dec 20, 2022

Super Likes Implementation Idea

Billy Markus proposed a 'Super Likes' Twitter feature, powered by Dogecoin. Here's how you might implement it off-platform, and how that could help design it on the platform.

Nov 22, 2022

A Standard for Site Tips

What if there were a standard for web site owners to provide wallet addresses for automated Dogecoin address discovery? Let's make one!

Nov 5, 2022

Trust No One. Seriously. No One.

Want to keep your wallet safe? The network safe? Think really hard about who and what you trust and why.

Oct 26, 2022

Thinking About Coopetition

If we agree on shared values for the Dogecoin network, what kind of changes can we consider to the protocol?

Oct 1, 2022

What Do You Want in Proof

Proof of Work? Proof of Stake? Proof of SOMETHING is important, but how do we know what that is? First we have to know what we want from it.

Sep 13, 2022

Repeat Yourself but Only Exactly (PR 3102)

Repetition is risky. Duplicate code may cause harm. Similar things offer opportunities to get things wrong in different ways. But I repeat myself.

Sep 1, 2022

Weighted Contributions for Tips

Generous shibes fund tipjars to pay Core contributors for their work making regular Dogecoin releases. How are those tips disbursed to contributors?

Aug 15, 2022

Inside Perl's Libdogecoin Bindings

The first release of libdogecoin is starting to get bindings for several languages. Here's how Perl's work.

Aug 7, 2022

A Little Free Library for Every Language

The first release of libdogecoin is really important. Here's what a little free library means, and what it enables.

Aug 1, 2022

Squashy Squashy (PR 3084)

Doing the right thing in the right way is important. Good developers make it easy for other developers (including their future selves) to figure out just what they were thinking.

Jul 23, 2022

How to Earn Passive Income With Dogecoin in 2022

Want to earn passive income with Dogecoin in 2022? Beware; most options are scams. Here's how Dogecoin actually works.

Jul 17, 2022

The Network Has Notes (PR 3047)

Why do release notes need testing? Why do they matter? The answer may surprise you.

Jun 26, 2022

Let the Circle Buffer Be Unbroken (PR 2934)

Before you can make something better, sometimes you have to figure out what makes it worse, and then stop doing that. Here's now Dogecoin PR 2934 came about.

Jun 19, 2022

Developers Should Have Less Power

What kind of power should cryptocurrency developers have? Who gets to decide what happens where? Also: why?

Jun 11, 2022

What are You Waiting For? (PR 2986)

Doctor Who has power over space and time. What can the TARDIS teach us about testing code?

Jun 4, 2022

One Transaction, Two Transaction, Three Ah-Ah-Ah (PR 2974)

One rule of optimization: avoid needless work. Another rule: sometimes only a human can tell what's needless. Why PR 2974 matters.

May 21, 2022

Why So Negative (PR 2959)

Some changes suggest other changes, whether by exposing limitations of the existing design or revealing small improvements. Here's work in progress for managing maximum network connections.

May 14, 2022

Limit Yourself (PR 2698)

Sometimes an easy change is a lot harder than it looks. Creating a setmaxconnections RPC command definitely was.

May 8, 2022

Keep the Change (

When you pay someone and they give you change, it goes back in your pocket. Right? Unless you wrote an embarrassing bug.

May 6, 2022

What Took You So Long (PR 2698)

Uncertainty is the enemy, and sometimes it takes a long time to figure it out. What testing PR 2698 can teach you.

Apr 30, 2022

Be The Worst Person in the Band

If you want to grow as a developer, let other people be better than you are. This goes double for working on community-based projects.

Apr 23, 2022

High DPI Scaling (PR 2778)

Warnings can seem annoying, but sometimes they point to mistakes. Other times, they point out missing improvements.

Apr 20, 2022

Processor Intrinsics

Building generic software that runs faster on specific hardware is tricky, but it's important.

Apr 16, 2022

Backporting Block Pruning Pr 2923

The Dogecoin Core is a code fork of Bitcoin, via a couple of routes. Sometimes we can get new features from Bitcoin, but they're not free.

Apr 13, 2022

Removing Misleading Sync Screen Data

Misleading or wrong information is worse than missing data. It's better to show nothing than to confuse users.

Apr 10, 2022

How Branches Work and How to Think About Them

Git uses Merkle trees just like blockchains do. Let's demystify what that exactly means for Dogecoin developers though: explaining branches to new developers.

Apr 6, 2022

About Translations

A brief introduction to translations in the Dogecoin core.

Apr 2, 2022

Micropayments With Tipping

Imagine a good micropayments system. What would we need? What if we already have one, just waiting for a little bit of glue?

Mar 31, 2022

Sharing Code in PR 1856

Let's dig into the implementation of the new private key GUI import dialog in Dogecoin Core's PR 1856, and learn a few things along the way.

Mar 29, 2022

Why Do Developers... Develop?

People often ask how to get started contributing to projects. It's better to ask why.

Mar 27, 2022

Compiler Warnings Are Interesting (PR 2503)

Smart developers get the computer to warn them if something looks wrong. Excellent developers make a habit of listening.

Mar 25, 2022

Code Reviews Make Good Code

Why do code reviews matter? Things you can learn by looking at how projects decide what changes to include.

Mar 23, 2022

Freezing the GUI in PR 1856

My Dogecoin PR to allow users to import private keys from the GUI had a flaw; it froze the GUI. That was fixable... eventually.

Mar 21, 2022

Background to PR 1856

My first substantial contribution was a GUI change that was more work than it seemed. Here's some background on PR 1856.

Mar 20, 2022

My First Dogecoin PR (1835)

Creating my first Dogecoin core PR, a small RPC command help text update.