Skip to content

Instantly share code, notes, and snippets.


Greg Slepak taoeffect

View GitHub Profile
F1LT3R /
Last active Sep 11, 2020
Split long YouTube Videos into 5min MP3 Segments
# USAGE: ytm3\?v\=rQLBitV69Cc
# DESCRIPION: Download Audio from YouTube videos, Convert to split MP3s (5 Min)
# PURPOSE: Studying w/ iPod shuffle
# Author:
for URL in $@
View Wallet.swift
import SwiftUI
import PlaygroundSupport
// constants
let cardWidth: CGFloat = 343
let cardHeight: CGFloat = 212
let spacing = 36
let animation = Animation.spring()
let cardColors = [


This document was originally written several years ago. At the time I was working as an execution core verification engineer at Arm. The following points are coloured heavily by working in and around the execution cores of various processors. Apply a pinch of salt; points contain varying degrees of opinion.

It is still my opinion that RISC-V could be much better designed; though I will also say that if I was building a 32 or 64-bit CPU today I'd likely implement the architecture to benefit from the existing tooling.

Mostly based upon the RISC-V ISA spec v2.0. Some updates have been made for v2.2

Original Foreword: Some Opinion

The RISC-V ISA has pursued minimalism to a fault. There is a large emphasis on minimizing instruction count, normalizing encoding, etc. This pursuit of minimalism has resulted in false orthogonalities (such as reusing the same instruction for branches, calls and returns) and a requirement for superfluous instructions which impacts code density both in terms of size and

jfet97 / _objectsFlattening.js
Last active Jun 12, 2019
objects flattening
View _objectsFlattening.js
const obj = { a: { b: 1, c: 2, d: { e:4 , f:[1,2,3,4,5,6,7,8,9,0]} }, g:42 };
const res = Object.fromEntries(flatProps(objectRecursiveEntries(obj)));
"a.b": 1,
"a.c": 2,
"a.d.e": 4,
"a.d.f.0": 1,
"a.d.f.1": 2,

How do I verify the Sapling MPC?

What you'll need

  1. Install the Rust compiler. A version from a year ago will work but the recent one is fine too.
  2. Download the transcript from the Powers of Tau MPC. (See the links here.)
  3. Download the params file from the Sapling MPC.
  4. Check out the attestations for the Powers of Tau MPC. (Similar can be found for the Sapling MPC but participants chose various ways to distribute their attestations, they have not been coalesced into a single repository.)

Step 1: Verify Powers of Tau

andyrbell /
Last active Apr 23, 2021
Make a pdf look scanned using ImageMagick
# use ImageMagick convert
# the order is important. the density argument applies to input.pdf and resize and rotate to output.pdf
convert -density 90 input.pdf -rotate 0.5 -attenuate 0.2 +noise Multiplicative -colorspace Gray output.pdf
angristan /
Last active Aug 24, 2019 block list
View block list

Reminder on block types

Block type Explanation
Reject media Removes locally stored media files and refuses to download any in the future.
Silence Makes the account's/instance's posts invisible to anyone who isn't following them
Silence + reject media Combination of the two above
Suspend Removes all of the account's content, media, and profile data
yogthos / gallery.cljs
Last active Feb 5, 2020
script to download walpapers from
View gallery.cljs
View "Instantly" Understand U.S. Monetary

"Instantly" Understand U.S. Monetary Policy

Well, maybe. If any of this is confusing, see the Resources section at the bottom.

U.S. Economic Policy In A Nutshell

Quick terms (might differ a bit from other sources):

  • "T-bills"/"treasuries"/"bonds" (there are multiple types) = a promise (from the US government) to repay an amount of cash at a specific future date, with interest. These are not intended to be used as money to buy goods/services, but are a mechanism for "the fed" to manipulate interest rates, the amount of cash flowing through the economy, and the amount of cash that the government has to spend on things.
  • "Reserves" = cash (typically cash that a bank actually has).

Clarifying The "Free ETC" Coinbase Confusion

I do not work for Coinbase and do not in any way speak for or represent them. This post was hastily written and is probably full of typos!

This is my attempt to clarify the possibilities that might be going on, based on various Coinbase employee statements.

First, I should highlight that there has been a good amount of confusion created by the replay attacks going on between the "two" Ethereum chains. So much so that it seems to have confused just about everyone, including me, as to the details of what's going on with Coinbase's ETH/ETC (and other ETH/ETC).

I put "two" in quotes because at the moment it's more like there are "1.25 Ethereum chains" because of the replay attacks, which are causing almost every transaction to get mirrored on the other chain. Replay attacks are possible because Ethereum's hard fork did not take steps to make Ethereum transactions invalid on the original chain. Instead, all transactions are valid on both chains unless specia