Image for post
Image for post
Undraw’s “The world is mine”

We are all currently witness to a world shaped and delivered by capitalists. When left unconstrained, as they largely have been, (except in the U.S. during the period of economic prosperity brought on largely by New Deal interventions and eviscerated by the neoliberal response) capitalists follow, as John Bellamy Foster uncovers, an inherent tendency to “degrade the environment that sustains life”.¹

Surveillance capitalists are cut from the same cloth as their late 18th — 19th century brethren but with a frightening and, as Shoshana Zuboff has established, unprecedented new pattern.² Much as coal-powered steam usurped water-powered technologies due to steam’s ability to open up capitalists’ access to exploitable labor, the surveillance capitalist logic has usurped the original dream of the digital age (in fact runs contrary to it),³ not because it is inevitable, but because of its ability to open up surveillance capitalists’ access to an exploitable public. …

Image for post
Image for post
Metamorphic logo © 2020 Core Theory, Inc. All rights reserved.


I’ve been working on a new web app for connecting with people socially using Elixir and Phoenix, and adding a live view flow to the registration experience for people was something high on my to do list.

**UPDATE — 1/14/2021 **

Nicole and Mike over at Pragmatic Bookshelf have released their early access Phoenix Live View course, the paid Pro course covers authentication (also with phx_gen_auth). I highly recommend you check it out for a more in-depth understanding and tutorial.

** END UPDATE — 1/14/2021 **

So, I spent some time looking at Chris McCord’s phoenix_live_view_example repo and managed to successfully swap over phx_gen_auth’s standard registration page for a live view one. …

Image for post
Image for post
Elixir and Phoenix logos.

Why Argon2?

Argon2 is a key derivation function that won the 2015 Password Hashing Competition (Wikipedia). “argon2_elixir” is an Elixir wrapper for the Argon2 function — kind of like a Ruby gem only for your Elixir/Phoenix application (if you’re coming from the world of Ruby and Ruby on Rails).

The Elixir argon2_elixir wrapper defaults to Argon2id which is a hybrid of Argon2’s other variants (Argon2d and Argon2i). For the sake of simplicity, it is typically a “more secure” method for hashing passwords with Argon2.

So, the fact that the Argon2id variant is the default with argon2_elixir is a big thumbs up because it means less configuration on your end (unless you want or need to use the other implementations). …

Image for post
Image for post
Fathom Analytics.

Why Fathom Analytics?

Fathom Analytics is a privacy focused, non-surveillance capitalism, analytics solution that enables your business to have actionable insights without sponsoring the obliteration of humanity (curious to learn more then check out Shoshana Zuboff’s latest book).

  • Simple, privacy focused analytics
  • Simple uptime monitoring included
  • No cookie notices on your website
  • Unlimited websites and monitoring included
  • Surge-proof (they are ready to handle viral-level surges in your website traffic)
  • They pledge 2% of gross revenues to the planet

That should be all you need to know to make the switch from that other one.

How to add Fathom Analytics to your website

  1. Sign up for an account -> use our referral link to save…

Image for post
Image for post
Storyboard scene of Prin from Paper Space® (catching the meteoroid by the grains)


Our startup has been undergoing a lot of change over the past few months (as I mention briefly in my Everything I wish I Knew post). Part of that change has been switching from Python + Django to Ruby + Ruby on Rails to build out our vision for a re-imagined social media experience, as well as a new version of Sara’s website to support her design + architecture work.

It’s felt a bit like Prin up there catching hold of a meteoroid and trying to hang on for dear life.

Like a ride through the galaxy, our pivots have been full of discovery, inspiration, and learning. …

Image for post
Image for post
Paper Space® concept of a Guppy Tree

On 5/14/2019, my co-founder and I officially started a public benefit corporation. After just over 1 year in business, we partnered with 4 renowned non profit organizations, the UN Framework Convention on Climate Change (UNFCCC), offset our estimated carbon emissions (to a theoretical negative impact), attempted to pioneer a new fundraising system, launched a podcast, launched a job search website for architects, a 2D PC game of our future Paper Space® release, got the ®, worked with a top-class executive coach, and decided to switch almost everything that we’re doing.

But, let’s break this down a little bit more and get to the heart of the reason why I’m writing this piece… which is an introduction to: Everything I Wish I Knew (Before I Knew How to Start a Better Business)­™. …

Image for post
Image for post
hCaptcha logo

Why hCaptcha?

hCaptcha is a privacy oriented, non-surveillance capitalism captcha solution that pays you.

That should be all you need to know to make the switch from that other one.

Below is a quick overview of how I figured out how to add hCaptcha to one of our Django sites.

We’re going to make a few assumptions for this post since it’s not intended to be a deep dive:

  1. You have a Django site up and running.
  2. You are not using a front-end JavaScript framework.
  3. You have a Django Crispy Form up and running.
  4. You have an hCaptcha account up and running.
  5. You know how to use django-environ.

1st thing you’re going to want to do is add your sites and hostnames in your hCaptcha dashboard (add “” if your form is on a page like “”). …



Co-founder @ Core Theory

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store