Skip to content

Instantly share code, notes, and snippets.

Shavit shavit

  • USA
View GitHub Profile
View CoreImageFilters.swift
/*
Change the opacity of a CIFilter.
*/
func changeOpacity(to opacity: CGFloat, on filter: CIFilter, original image: UIImage) -> CIImage? {
guard let backgroundImage: CIImage = CIImage(image: image) else { fatalError() }
// The CIColorMatrix filter, will contain the requested filter and control its opacity
guard let overlayFilter: CIFilter = CIFilter(name: "CIColorMatrix") else { fatalError() }
let overlayRgba: [CGFloat] = [0, 0, 0, opacity]
let alphaVector: CIVector = CIVector(values: overlayRgba, count: 4)
@shavit
shavit / broadcast_udp.swift
Created Nov 14, 2016
Send a message using UDP in Swift 3
View broadcast_udp.swift
//: Playground - noun: a place where people can play
import Cocoa
import Darwin
func htons(value: CUnsignedShort) -> CUnsignedShort {
return (value << 8) + (value >> 8)
}
let INADDR_ANY = in_addr(s_addr: 0)
@shavit
shavit / mass_video_importer_1.rb
Created Jan 14, 2016
Mass video importer from *.csv files to tube sites.
View mass_video_importer_1.rb
#
# Import videos from CSV
#
# CSV row:
# 0 - embedded_video
# 1 - link
# 2 - categories (Funny;Euro;Cam)
# 3 - rating
# 4 - author username
@shavit
shavit / export.sh
Created Oct 30, 2018
Convert video to HLS
View export.sh
#!/bin/sh
video_file=${VIDEO_FILE:-video.mov}
mkdir out
ffmpeg -hide_banner -y -i $video_file \
-vf scale=w=640:h=360:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 48 -keyint_min 48 -hls_time 4 -hls_playlist_type vod -b:v 800k -maxrate 856k -bufsize 1200k -b:a 96k -hls_segment_filename out/360p_%03d.ts out/360p.m3u8 \
-vf scale=w=842:h=480:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 48 -keyint_min 48 -hls_time 4 -hls_playlist_type vod -b:v 1400k -maxrate 1498k -bufsize 2100k -b:a 128k -hls_segment_filename out/480p_%03d.ts out/480p.m3u8 \
-vf scale=w=1280:h=720:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 48 -keyint_min 48 -hls_time 4 -hls_playlist_type vod -b:v 2800k -maxrate 2996k -bufsize 4200k -b:a 128k -hls_segment_filename out/720p_%03d.ts out/720p.m3u8 \
@shavit
shavit / go-revel.service
Created Apr 25, 2017
Go Revel Systemd script
View go-revel.service
[Unit]
Description=API web app
[Service]
PIDFile=/tmp/app.pid-0000
User=
Group=
WorkingDirectory=
ExecStart=PATH-TO-APP/bin/app/start.sh
@shavit
shavit / mime_types.ex
Created May 26, 2018
A list of file extensions and mime types
View mime_types.ex
[{".323", "text/h323"},
{".3g2", "video/3gpp2"},
{".3gp", "video/3gpp"},
{".3gp2", "video/3gpp2"},
{".3gpp", "video/3gpp"},
{".7z", "application/x-7z-compressed"},
{".aa", "audio/audible"},
{".AAC", "audio/aac"},
{".aaf", "application/octet-stream"},
View test_helper.rb
#
# If you are working with the foreman gem and .env files, you are probably need to load
# the environment varialbes from the .env file.
#
# Load the environment variables from the .env file in development.
open('.env', 'r').readlines.each {|l| kv = l.split('='); ENV[kv[0]] = kv[1];}
@shavit
shavit / haiku.ex
Created Sep 20, 2016 — forked from friggeri/haiku
random heroku-like name generator in Elixir
View haiku.ex
def generate_name do
# [[64][64]]
[["autumn", "hidden", "bitter", "misty", "silent", "empty", "dry", "dark",
"summer", "icy", "delicate", "quiet", "white", "cool", "spring", "winter",
"patient", "twilight", "dawn", "crimson", "wispy", "weathered", "blue",
"billowing", "broken", "cold", "damp", "falling", "frosty", "green",
"long", "late", "lingering", "bold", "little", "morning", "muddy", "old",
"red", "rough", "still", "small", "sparkling", "throbbing", "shy",
"wandering", "withered", "wild", "black", "young", "holy", "solitary",
"fragrant", "aged", "snowy", "proud", "floral", "restless", "divine",
@shavit
shavit / create_swarm.sh
Created Aug 15, 2017
Create swarm of Docker servers
View create_swarm.sh
#!/bin/sh
#
# Create a swarm manager and consul
#
# 1. Create 7 servers
# CONSUL_ADDRESS=
# SWARM_MANAGER_1_ADDRESS=
# SWARM_MANAGER_2_ADDRESS=
# LOAD_BALANCER_1_ADDRESS=
@shavit
shavit / generate_crt.sh
Created Aug 1, 2017
Create protobuf server with go
View generate_crt.sh
openssl genrsa -out server.key 2048
openssl req -new -x509 -sha256 -key server.key -out server.crt -days 365
You can’t perform that action at this time.