blainehansen

Adaptive Grants, a crowdfunding structure for truly ambitious public goods 
November 7, 2023

By building more accountability into crowdfunding, we can make it safer to fund unknown creators and large projects.

Independent maintainers shouldn't be shamed for demanding financial support 
November 3, 2023

We could have genuinely open and sustainable open source, but we need to slightly tweak our social expectations.

My Favorite Syntax Ideas 
May 11, 2023

Easy but clear binary operators, chainable everything, and better whitespace sensitive concepts.

Can Shape Up make democratic product design work? 
April 17, 2023

Using the Shape Up methodology to balance the requests of community members and the contextual expertise of builders.

We could use bothersome licenses as an open source support incentive. Should we? 
April 16, 2023

What does the open source social contract demand?

Open Source Projects as Adaptive Democracy Cooperatives 
April 16, 2023

A new way to support open source work that fluidly allows any kind of community governance.

The internet town square doesn't have to suck 
October 28, 2022

The solution to broken social media is obvious: democratic cooperative ownership.

Iterative Media 
August 15, 2021

Iterative media could be a better way to think about meaningful ongoing work, and could improve personal blogs, research journals, and a lot more.

Red & blue functions are actually a good thing 
April 16, 2021

By avoiding effect aware functions a language hobbles engineers and makes programs sloppier than they could be.

News organizations should always have been democratically controlled member cooperatives. Now's our chance to make that happen. 
October 29, 2020

If we can figure out a new business model to support real journalism, we can create a better kind of journalism institution. And that could be just the start.

macro-ts: an ergonomic typescript compiler that enables typesafe syntactic macros 
August 20, 2020

Statically typed languages really feel incomplete without true macros, so I hacked that functionality together for typescript.

Adaptive Voting, aligning our voting systems with reality. 
March 2, 2020

We all implicitly assume that elections are events that begin and end. What happens if we get rid of that assumption?

To turn the tide of fascism and climate change, we have to stop preaching to the choir. 
February 25, 2019

By only focusing on making ourselves laugh and feel better, we're failing to actually make any progress. We have to start persuading conservatives, not just mocking them.

Sass Descend, a Simpler Rethink 
January 31, 2017

My first attempt used a recursive system that was too opaque and potentially confusing. By pulling apart the different qualities of the library it's much more clear now.

Sass Descend, Keeping it Simple. 
January 24, 2017

I got annoyed with the sass feature freeze, and decided to just implement retrievable properties myself. Here's my first try.

Devops Scripts 
December 9, 2016

Various scripts to solve various freelancing problems.

Skiracing Gear Guide 
December 9, 2016

The Gear Guide area of the skiracing.com needed to be updated and improved.

Skiracing Contact Us 
December 4, 2016

A page showcasing the background and role of each of the Skiracing.com team.

Skiracing Paywall and Reporting Tool 
December 3, 2016

The user paywall and reporting tool needed to be fixed and improved for the skiracing.com team.

Skiracing Sponsored Posts 
December 2, 2016

A system allowing the skiracing.com team to mark their articles with a sponsor.

Skiracing Subscribe Page Improvements 
December 1, 2016

A streamlined and intuitive subscription page to reduce complaints to the skiracing.com team.

Epics and Movies Don't Mix 
February 7, 2016

Our modern storytellers are trying to tell ever larger and more complicated stories in movies, but the genre isn't up to the task.

The Uncanny Galaxy 
December 18, 2015

Star Wars is different and special, and all because of the very first line.

Old Blog 
November 19, 2015

The first version of this blog was written in the Meteor framework.

Smart Starter: A Tool for Safe Sane Crowdfunding Budgets 
November 18, 2015

A small side project I did in response to the difficulty of putting together a crowdfunding budget that won't end up screwing the creators.

Current Piano Studio Website 
November 16, 2015

I built my current piano studio website with Meteor, and it has several interesting features.

Ember Piano Studio Website 
November 5, 2015

An Ember.js app I was building for my piano studio that I scrapped once I discovered Meteor.

Arcade Music Generator 
November 4, 2015

A Digital Systems Design class project I did in 2012.

Python Console Piano Studio Management 
November 3, 2015

A series of python scripts for managing my customers, website, and studio.

Tone Control Android App 
November 2, 2015

An android app I built out of irritation for how difficult it was to change my contacts' custom ringtones.

Old Meteor Toolbelt Package 
November 1, 2015

Before the simple-schema and autoform packages appeared in the Meteor ecosystem, I cobbled together a package to automate form validation, among other things.

Very First Website, Piano Studio 
November 1, 2015

The first website I ever built and deployed, when I was just barely learning about web development. It isn't well made, but I see myself in it.

School Report Website 
October 30, 2015

A school report I chose to write in html.

Facebook Hostages: Why doesn’t social networking work like email? 
October 10, 2015

Facebook and the other social media sites use your participation to hold you hostage to an ecosystem they (mostly) created: the closed social network. But it doesn't have to be that way.

Want to hear from me in the future?

Usual fine print, I won't spam you or sell your info.
Thank you! Come again.