Skip to content

Instantly share code, notes, and snippets.

View guss77's full-sized avatar

Oded Arbel guss77

View GitHub Profile
@guss77
guss77 / Makefile
Created September 22, 2020 20:57
MariaDB update table with UUID
COMPOSE := docker-compose -p demouuid
start:
$(COMPOSE) up -d
sleep 3
while $(COMPOSE) ps | grep -q database; do \
$(COMPOSE) logs 2>/dev/null| grep -q 'MySQL init process done.' && break;\
$(COMPOSE) logs 2>/dev/null| grep -i error && break;\
$(COMPOSE) ps | grep -q Exit && break;\
done
@guss77
guss77 / build-ffmpeg.Dockerfile
Created July 4, 2020 18:51
Build alternative FFMPEG for Jellyfin
FROM debian:10
# install Debian dependencies
RUN apt-get update && \
apt-get install -qy subversion git gcc g++ cmake nasm pkg-config \
libgmp-dev gnutls-dev libass-dev libfreetype6-dev libbluray-dev libfribidi-dev libdrm-dev libmp3lame-dev libopus-dev libtheora-dev libvorbis-dev libwebp-dev libx264-dev libx265-dev libzvbi-dev libva-dev && \
rm -rf /var/lib/apt
# Install NV codec support
WORKDIR /ffmpeg
@guss77
guss77 / reset-tb
Last active April 11, 2024 05:11
Script to reset the XHCI of a Thunderbolt connection in case the kernel stops it
#!/bin/bash
# As described in https://bugs.launchpad.net/bugs/1766076
### Installation Instructions:
# 1. Install file into `/usr/local/bin/reset-tb`
#
# 2. Optional: allow password less sudo by creating a file `/etc/sudoers.d/allow-reset-tb` with the following content:
# ----8<-----
# <your username> ALL = NOPASSWD: /usr/local/bin/reset-tb
# ----8<-----
#
@guss77
guss77 / VertxBufferOutputStream.java
Created September 20, 2018 12:32
An output stream implementation over a Vert.x `Buffer` instance - like `ByteArrayOutputStream` but a bit Vert.xified.
import java.io.IOException;
import java.io.OutputStream;
import io.vertx.core.buffer.Buffer;
public class VertxBufferOutputStream extends OutputStream {
private Buffer buffer;
public BufferOutputStream() {
this.buffer = Buffer.buffer();
#!/bin/bash
function usage() {
(
echo "usage: $0 <auth-token> <group-address> <mbox-dir>"
echo "To generate an auth token go to https://developers.google.com/oauthplayground/ and get an access token for Google Groups migration"
) >&2
exit 5
}
@guss77
guss77 / Futures.java
Created March 26, 2018 04:52
CompletableFuture helper class
package tech.greenfield.util.concurrent;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import java.util.function.Function;
public class Futures {
static class Thrower {
static Throwable except;
@guss77
guss77 / update-coreos-amis.sh
Created December 6, 2017 12:33
Create a YAML mapping file for CloudFormation to select a CoreOS AMI
#!/usr/bin/ruby
require 'yaml'
require 'json'
require 'net/http'
def get_releases
JSON[Net::HTTP.get_response(URI.parse "https://coreos.com/dist/aws/aws-stable.json").body.gsub(/,\s*\]/,"]")]
end
@guss77
guss77 / update-centos-amis.sh
Created December 6, 2017 12:21
Create a YAML mapping file for CloudFormation to select a CentOS AMI
#!/bin/bash
(
cat <<EOF
Mappings:
CentOSRegionImages:
EOF
curl -s 'https://wiki.centos.org/Cloud/AWS' | xmllint -html --xpath '//table[1]/tbody/tr' - | perl -nle '
m|CentOS Linux (\d+)| and $version=$1;
@guss77
guss77 / update-ubuntu-amis.sh
Last active December 6, 2017 12:22
Create a YAML mapping file for CloudFormation to select an Ubuntu AMI
#!/usr/bin/ruby
require 'yaml'
require 'json'
require 'net/http'
def get_releases
JSON[Net::HTTP.get_response(URI.parse "https://cloud-images.ubuntu.com/locator/ec2/releasesTable").body.gsub(/,\s*\]/,"]")]["aaData"]
end
@guss77
guss77 / cloud-formation-computed-variables.yaml
Last active February 18, 2022 15:45
Computed variables for CloudFormation using an identity function, as by @claude on StackOverflow (https://serverfault.com/a/812040/6438)
##
#
# Custom resource setup to provide an identity function that can be used to
# implement "custom variables".
# See: https://serverfault.com/a/812040/6438
#
# Usage:
#
# After deploying the below code to your stack, you can define computed
# variables thus: