Skip to content

Instantly share code, notes, and snippets.

@hfossli
hfossli / ffmpeg_split.sh
Last active December 27, 2020 21:47
A bash / shell script for splitting videos / movies into several / multiple files using ffmpeg
#!/bin/bash
# Created by Håvard Fossli <hfossli@gmail.com> in 2013
# Derived from Alexis Bezverkhyy <alexis@grapsus.net> in 2011
# This is free and unencumbered software released into the public domain.
# For more information, please refer to <http://unlicense.org/>
#
# Description
# A bash script for splitting videos into several files using ffmpeg.
#
@hfossli
hfossli / HideableView.swift
Created October 22, 2020 12:25
HideableView
extension View {
func hide(_ hide: Bool) -> some View {
HideableView(isHidden: .constant(hide), view: self)
}
func hide(_ isHidden: Binding<Bool>) -> some View {
HideableView(isHidden: isHidden, view: self)
}
}
@hfossli
hfossli / Display.swift
Last active July 13, 2020 16:22
Display mode
import UIKit
public enum DisplayType {
case unknown
case iphone4
case iphone5
case iphone6
case iphone6plus
static let iphone7 = iphone6
static let iphone7plus = iphone6plus
@hfossli
hfossli / AppDelegate.swift
Last active February 29, 2020 02:01
AppVersion
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
AppVersion.activateAndSaveCurrentVersion()
application.onFirstLaunch {
showWelcomeMessage()
}
application.onUpgrade { (previousVersion, currentVersion) in
migrateData(from: previousVersion, to: currentVersion)
const https = require("https");
function fetchStatusCode(url) {
return new Promise(function(resolve, reject) {
const req = https.request(url, res => {
resolve(res.statusCode);
});
req.on("error", error => {
reject(error);
});
@hfossli
hfossli / CGFloatEqual.m
Created May 14, 2014 11:24
CGFloatEqual
BOOL CGFloatEqual(CGFloat a, CGFloat b, CGFloat accuracy)
{
#if CGFLOAT_IS_DOUBLE
if (fabs(a-b) < accuracy * DBL_EPSILON * fabs(a+b) || fabs(a-b) < DBL_MIN)
{
return YES;
}
#else
if (fabs(a-b) < accuracy * FLT_EPSILON * fabs(a+b) || fabs(a-b) < FLT_MIN)
{
import binascii, base64
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives.serialization import Encoding, PublicFormat, load_pem_public_key, PrivateFormat, load_pem_private_key, NoEncryption
from cryptography.hazmat.primitives.kdf.x963kdf import X963KDF
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
@hfossli
hfossli / switch.swift
Last active January 28, 2019 12:49
Switch constants easily with this swift CLI
#!/usr/bin/swift
import Foundation
struct Config {
enum Environment: String {
case dev
case prod
}
var environment: Environment = .prod
@hfossli
hfossli / swiff.swift
Last active January 15, 2019 20:56
Blazing fast and human readable time diffs lines of output when running build commands like fastlane
#!/usr/bin/env xcrun swift
import Darwin
import Foundation
struct ANSIColors {
static let clear = "\u{001B}[0m"
static let red = "\u{001B}[38;5;160m"
static let orange = "\u{001B}[38;5;202m"
static let yellow = "\u{001B}[38;5;220m"
@hfossli
hfossli / date-compare.sh
Last active October 17, 2018 11:35
Get notified when new booking hours is available at Politihuset Grønland or Politihuset Sandvika
#!/bin/bash
first_is_earlier() {
y1=$(date -jf '%d.%m.%y%y' "$1" +'%Y' 2> /dev/null)
y2=$(date -jf '%d.%m.%y%y' "$2" +'%Y' 2> /dev/null)
m1=$(date -jf '%d.%m.%y%y' "$1" +'%m' 2> /dev/null)
m2=$(date -jf '%d.%m.%y%y' "$2" +'%m' 2> /dev/null)
d1=$(date -jf '%d.%m.%y%y' "$1" +'%d' 2> /dev/null)
d2=$(date -jf '%d.%m.%y%y' "$2" +'%d' 2> /dev/null)
if [ $y2 -gt $y1 ] ; then