Skip to content

Instantly share code, notes, and snippets.

@rdhyee
rdhyee / radixmagazine.audio.xml
Last active December 30, 2022 13:57
Radix Magazine Podcast feed (Prototype)
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0" xmlns="http://www.w3.org/2005/Atom">
<channel>
<title>Radix Magazine</title>
<link>https://www.radixmagazine.com</link>
<itunes:author>Radix Magazine</itunes:author>
<itunes:subtitle>Where Christian Faith Meets Contemporary Culture</itunes:subtitle>
<itunes:summary>The tagline for Radix Magazine has long been “Where Christian Faith Meets
Contemporary Culture.” For nearly half a century this compact but bursting magazine has
piquantly explored art, literature, education, economics, family, health, and media.</itunes:summary>
<description>The tagline for Radix Magazine has long been “Where Christian Faith Meets
@rdhyee
rdhyee / enct2.py
Created December 17, 2020 15:37 — forked from tryone144/enct2.py
Implementation of the AES protocol as used by https://encipher.it
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# implementation of the AES protocol as used by https://encipher.it
#
# (c) 2018 Bernd Busse
from cryptography.hazmat.primitives.ciphers import Cipher
from cryptography.hazmat.primitives.ciphers.algorithms import AES
from cryptography.hazmat.primitives.ciphers.modes import ECB, CTR
@rdhyee
rdhyee / gmail-compose-encoder.js
Created October 15, 2020 03:06 — forked from danrouse/gmail-compose-encoder.js
gmail `compose` query parameter encoder/decoder
const fullAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
const restrictedAlphabet = 'BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz';
const threadPrefix = 'thread-';
const messagePrefix = 'msg-';
const isWhitespace = str => /^[\s\xa0]*$/.test(str);
const isInvalidString = str => str ? (str.indexOf(threadPrefix) !== -1 || str.indexOf(messagePrefix) !== -1) : false;
const encode = function(str) {
if (isWhitespace(str)) return str;
@rdhyee
rdhyee / minecraft_do.yml
Last active June 9, 2020 03:44
Ansible playbook to launch a digitalocean droplet and then configure it to run Minecraft based on instructions from https://www.digitalocean.com/community/articles/how-to-set-up-a-minecraft-server-on-linux Note that some things are hardwired: the name of the droplet, the version of minecraft
# http://www.ansibleworks.com/docs/modules.html#digital-ocean
# Create a new Droplet
# Will return the droplet details including the droplet id (used for idempotence)
- name: launch DO droplet
hosts: local
gather_facts: False
tasks:
- name: pwd
@rdhyee
rdhyee / AlbanyCERT_20200208.md
Last active February 8, 2020 15:31
a description of Albany CERT for an East Bay CERT gathering

Albany CERT

  • I (Raymond Yee, raymond.yee@gmail.com) am a resident of Albany. After taking the CERT training in Spring 2017, I started to organize the community of CERT folks living in Albany so that we can have a longer term community. (What can we do after our training? How can we work together between major disasters?)
  • Biannual CERT course: CERT Program & Courses | City of Albany, CA -- next course is March 24-May 19, 2020
  • CERT Program manager is Michael Raab of the Albany Fire Dept. We get the day-to-day support of Neighborhood Services Manager Sid Schoenfeld
  • We have a Google Group to facilitate some communication: https://bit.ly/albanycertlist
  • Albany CERT Community Meeting happens on the 5th Wednesday of the month meetings -- last one was Jan 29, 2020.
  • We have an organizi
@rdhyee
rdhyee / handsondataframe.ipynb
Created March 31, 2014 17:21
This notebook is a slight rewrite of [Cyrille Rossant](https://github.com/rossant)'s [Excel-like data grid editor for Pandas in the IPython notebook](http://nbviewer.ipython.org/gist/rossant/9463955) (which I learned about via Fernando Perez's [tweet](https://twitter.com/fperez_org/status/448636988858454016). I wanted to see whether I could use …
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
from __future__ import print_function
import httplib2
import os
from apiclient import discovery
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage
try:
PARIS — France’s presidential election on Sunday has already broken all kinds of barriers in a country whose politics seemed frozen for decades. The two candidates are outsiders. The political establishment has been elbowed aside. The tone of the race between the insurgents has shocked many for its raw anger and insolence.
Then, barely an hour before the official close of campaigning at midnight Friday, the staff of the presumed front-runner, Emmanuel Macron, a 40-year-old former investment banker, announced that his campaign had been the target of a “massive and coordinated” hacking operation.
Internal emails and other documents, some real, some fake, according to the campaign, were posted on 4chan, an online message board favored by white nationalists, in an apparent effort to aid his rival, Marine Le Pen, 48, the far-right leader.
@rdhyee
rdhyee / elected_reps_Albany_CA.md
Created January 17, 2017 20:06
contact info for elected representatives for Albany, CA (2017)