Skip to content

Instantly share code, notes, and snippets.

View autonome's full-sized avatar

Dietrich Ayala autonome

View GitHub Profile

Always Already Programming

Everyone who interacts with computers has in important ways always already been programming them.

Every time you make a folder or rename a file on your computer, the actions you take through moving your mouse and clicking on buttons, translate into text-based commands or scripts which eventually translate into binary.

Why are the common conceptions of programmer and user so divorced from each other? The distinction between programmer and user is reinforced and maintained by a tech industry that benefits from a population rendered computationally passive. If we accept and adopt the role of less agency, we then make it harder for ourselves to come into more agency.

We've unpacked the "user" a little, now let's look at the "programmer." When a programmer is writing javascript, they are using prewritten, packaged functions and variables in order to carry out the actions they want their code to do. In this way, the programmer is also the user. Why is using pre-made scripts seen

import asyncio
from hippius_sdk import HippiusClient
# Initialize the client with default connections to Hippius network
client = HippiusClient()
# Or specify custom endpoints
client = HippiusClient(
ipfs_gateway="https://ipfs.io", # For downloads (default)
ipfs_api_url="https://store.hippius.network", # For uploads (default)
# list features, sorted by size
alias wf="wc -l features/*.dist | sort"
# list spec-generated draft, sorted by size
alias wfd="wc -l features/draft/spec/*.dist | sort"
# count number of keys in a feature
#
# pass a feature path (from repo root)
# eg:
@autonome
autonome / airtable2pullrequest.yaml
Created June 28, 2024 09:17
Airtable2PullRequest
name: Airtable2PullRequest
on:
workflow_dispatch:
repository_dispatch:
types:
- webhook
permissions:
contents: write
jobs:
checkout-update-and-pr:
/*
Zapier provides the `inputData` global.
This script assumes you've passed in three params:
- text: the post text
- url: a url to attach to the post
- status: `${text} ${url}`
@autonome
autonome / hover-tab-close.js
Created June 10, 2024 09:08
Firefox userChrome.css for showing tab close button on hover, even tho tab is inactive
/* move favicon, throbber and text to the right so that the close button appears on the left */
.tabbrowser-tab .tab-icon-image {
-moz-box-ordinal-group: 2 !important;
}
.tabbrowser-tab .tab-throbber {
-moz-box-ordinal-group: 2 !important;
}
@autonome
autonome / 01_Radicle_in_containers.md
Created March 28, 2024 11:30 — forked from gsaslis/01_Radicle_in_containers.md
Running Radicle Nodes in Containers

Running in Containers

In case you want to run radicle in containers, on the same host (e.g. your laptop), you can use the docker-compose.yml file provided within this repo.

1. Create a profile

  1. Create a folder where you will store the data of your node. e.g. mkdir -p ~/radicle/profiles/bob/.radicle
  2. Set RAD_HOME : export RAD_HOME=~/radicle/profiles/bob/.radicle
  3. Create a key:
  • Pick a good passphrase and store it in your password manager
@autonome
autonome / unmagic.py
Created November 26, 2023 09:20
Firefox profile lz4 de-magicker from mossop
#!/usr/bin/env python
import io
import sys
import lz4.block
MAGIC = b'mozLz40\0'
for path in sys.argv[1:]:
with io.open(path, 'rb') as f:
@autonome
autonome / thingfinder.js
Created March 17, 2023 16:03
script to dump IPFS Thing airtable to local toml files ready for a GHA to make a PR w/ those changes
const https = require('https');
const token = process.env.AIRTABLE_TOKEN;
const url = 'https://api.airtable.com/v0/apptAzTf0HPbYkCbn/Responses'
const options = {
headers: {
'Authorization': 'Bearer ' + token
@autonome
autonome / camera-test.html
Created October 31, 2019 19:59
getUserMedia camera test
<style>
html, body, div, a-scene {
background-color: transparent;
}
#video {
/* overrule a-frame default styles */
width: 100% !important;
max-width: 100% !important;