Skip to content

Instantly share code, notes, and snippets.

@fstanis
fstanis / app.js
Created October 15, 2017 22:00
Webpack ProvidePlugin polyfill guard bug
console.log(mdl);
@fstanis
fstanis / index.html
Last active March 16, 2020 03:15
Webpack HTML entry
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="./style.css">
</head>
<body>
@fstanis
fstanis / bitset.go
Created January 21, 2018 21:28
Simple map-backed bitset in Go
package bitset
import "errors"
// BitSet represents a set of booleans.
type BitSet struct {
buckets map[int]byte
}
// New creates a new BitSet.
@fstanis
fstanis / upspin-drive-guide.md
Last active March 29, 2021 21:06
Upspin server backed by Google Drive on a Raspberry Pi

Set up an Upspin server backed by Google Drive

Overview

The purpose of this document is to explain how to deploy an Upspin server on a Debian or Ubuntu based machine - which can be a Raspberry Pi - and, optionally, use Google Drive to back the data.

Effectively, this will give you all the nifty advantages Upspin gives you in terms of file sharing without requiring a costly server.

Requirements

@fstanis
fstanis / pi-sound-guide.md
Created February 28, 2018 00:30
Setting up Speaker pHAT or pHAT DAC with pulseaudio

Setting up Speaker pHAT or pHAT DAC with pulseaudio

Overview

The purpose of this document if to provide a simple method of getting pulseaudio to work on Raspberry Pi with either Speaker pHAT or pHAT DAC.

Please see Software installer for Speaker pHAT or Setting up pHAT DAC for the more official guide / installer. The idea behind this guide is to provide you with a more manual alternative that lets you have a minimal setup.

Installation

Keybase proof

I hereby claim:

  • I am fstanis on github.
  • I am fstanis (https://keybase.io/fstanis) on keybase.
  • I have a public key whose fingerprint is F7FA 3DE1 71A3 478D AD6A 3C13 7750 9C4A 238E 5BA4

To claim this, I am signing this object:

@fstanis
fstanis / ffgif.sh
Last active July 5, 2021 12:05
Simple shell script for creating HQ gifs from videos using ffmpeg
#!/bin/bash
# Based on: https://medium.com/@colten_jackson/doing-the-gif-thing-on-debian-82b9760a8483
# Command line arguments:
# -i <input file> (required)
# -o <output file> (required)
# -s <start time>
# -t <duration in seconds>
# -f <output FPS>
@fstanis
fstanis / multipart_email.py
Created November 5, 2018 19:19
Sends a multipart/alternative email containing 3 parts: text/plain, text/html and text/x-other.
#!/usr/bin/python3
# Copyright 2018 Google LLC.
# SPDX-License-Identifier: Apache-2.0
# Sends a multipart/alternative email containing 3 parts: text/plain, text/html and text/x-other.
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
@fstanis
fstanis / audio2waveform.html
Last active March 7, 2023 01:42
Demo on creating SVG waveforms from an audio file.
<!--
Copyright 2018 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
@fstanis
fstanis / amp-validator-query.js
Created July 4, 2019 15:08
Query AMP HTML ⚡ Validator JSON rules
// Copyright 2019 Google LLC.
// SPDX-License-Identifier: Apache-2.0
/**
* This example demonstrates how to query the AMP validator rules hosted on the
* AMP CDN.
*
* It lists all tags allowed in the AMP4EMAIL spec.
*/