Skip to content

Instantly share code, notes, and snippets.

View fl034's full-sized avatar
💬

Frank Lehmann fl034

💬
View GitHub Profile
@peterfriese
peterfriese / Color+Codable.swift
Created March 19, 2021 11:00
Making Swift's Color codable
//
// Color+Codable.swift
// FirestoreCodableSamples
//
// Created by Peter Friese on 18.03.21.
//
import SwiftUI
// Inspired by https://cocoacasts.com/from-hex-to-uicolor-and-back-in-swift
@MarsMSJ
MarsMSJ / WebM_to_ProRes.md
Last active January 28, 2025 17:45
Convert your WebM (VP9) files to ProRes

Convert your WebM to ProRes

Like many of you lucky enough to purchase a PS5, I have been enjoying my time with the new console. One feature I started playing with is the video game capture feature via the "Create" button. I have been capturing my favorite clips here and there and selected the best ones to include a video I want to share. Unfortunately, I ran into trouble. None of my video editing applications (FCPX, DaVinci) support the WebM container. My favorite clips were all captured using WebM.

If you like me have all your favorite clips stuck in WebM then I have a solution for you. FFmpeg! This free software includes a ProRes encoder that simple enough to use works on Davinci Resolve (free version available) and Adobe Premiere! (FCPX of course supports ProRes.) See links below.

MacOS (and Linux)

On the MacOS, you can use the following command (Bash) to convert all WebM files in the current directory to ProRes.

@mattt
mattt / UIViewControllerPreview.swift
Last active December 3, 2024 07:42
Generic structures to host previews of UIView and UIViewController subclasses.
import UIKit
#if canImport(SwiftUI) && DEBUG
import SwiftUI
struct UIViewControllerPreview<ViewController: UIViewController>: UIViewControllerRepresentable {
let viewController: ViewController
init(_ builder: @escaping () -> ViewController) {
viewController = builder()
}
@nathan-fiscaletti
nathan-fiscaletti / symbolicate.sh
Last active May 20, 2025 10:25
A tool for symbolicating iOS crash reports.
#!/bin/bash
CRASH=$1
APP=$2
ARCH=$3
OUTPUT=$4
# This script will fully symbolicate an iOS Crash Report
# Usage: ./symbolicate.sh mycrash.crash MyApp.app arch64 output.crash
#
@SKempin
SKempin / Git Subtree basics.md
Last active June 9, 2025 12:11
Git Subtree basics

Git Subtree Basics

If you hate git submodule, then you may want to give git subtree a try.

Background

When you want to use a subtree, you add the subtree to an existing repository where the subtree is a reference to another repository url and branch/tag. This add command adds all the code and files into the main repository locally; it's not just a reference to a remote repo.

When you stage and commit files for the main repo, it will add all of the remote files in the same operation. The subtree checkout will pull all the files in one pass, so there is no need to try and connect to another repo to get the portion of subtree files, because they were already included in the main repo.

Adding a subtree

Let's say you already have a git repository with at least one commit. You can add another repository into this respository like this:

@tomkowz
tomkowz / AsyncBlockOperation.swift
Created May 9, 2017 06:48
Asynchronous NSBlockOperation
import Foundation
class AsyncBlockOperation: NSOperation {
typealias Block = (Void -> Void) -> Void
private let block: Block
private var _executing = false
private var _finished = false
init(block: Block) {
@algal
algal / ScaleAspectFitImageView.swift
Last active September 24, 2023 10:19
UIImageView subclass that works with Auto Layout to express its desired aspect ratio
import UIKit
// known-good: Xcode 8.2.1
/**
UIImageView subclass which works with Auto Layout to try
to maintain the same aspect ratio as the image it displays.
This is unlike the usual behavior of UIImageView, where the
@aprock
aprock / RoundedTransformation.java
Created August 12, 2013 18:08
Rounded Corner Image Transformation for square's Picasso
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Shader;
// enables hardware accelerated rounded corners
// original idea here : http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/
@sma
sma / Open In.md
Last active August 31, 2018 14:12
Open In... - Dateien senden in iOS-Apps

Open In... - Dateien senden in iOS-Apps

Eine iOS-Anwendung kann eine Datei an eine andere App übergeben, z.B. damit diese angezeigt oder anderweitig verarbeitet wird. Die Datei wird dabei allerdings kopiert, weil iOS es nicht erlaubt, dass sich Apps Ressourcen teilen.

Hier ist ein Beispiel, wie es geht:

@interface ViewController ()

@property (nonatomic, copy) NSURL *URL;
@spinogrizz
spinogrizz / UIImage+Trim.m
Created August 31, 2012 07:37
Trim transparent pixels around UIImage
- (UIImage *) imageByTrimmingTransparentPixels {
int rows = self.size.height;
int cols = self.size.width;
int bytesPerRow = cols*sizeof(uint8_t);
if ( rows < 2 || cols < 2 ) {
return self;
}
//allocate array to hold alpha channel