Skip to content

Instantly share code, notes, and snippets.

View kharmabum's full-sized avatar
💭
🧀

Juan-Carlos Foust kharmabum

💭
🧀
View GitHub Profile
@mmorey
mmorey / Location from NOAA String
Created February 1, 2013 03:22
Converts NOAA string into a CLLocationCoordinate2D coordinate
- (CLLocationCoordinate2D)locationFromString:(NSString *)locationString{
CLLocationCoordinate2D coordinate;
// Extract individual components
NSMutableArray *locationColumns = [NSMutableArray arrayWithArray:
[locationString componentsSeparatedByCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]]];
// Remove empty objects
@marinbenc
marinbenc / DebouncedAction.swift
Last active July 28, 2017 21:33
An action that will be debounced after a certain time in Swift.
import Foundation
/// An action that will get executed after a certain amount of
/// time, if the object is still alive. If the object gets
/// deinited before the provided time, the action will never
/// get executed.
class DebouncedAction {
private let action: ()-> Void
private var onCancel: (()-> Void)?
@yvbeek
yvbeek / acknowledgements.py
Created May 29, 2017 23:20
Acknowledgements Generator
#!/usr/bin/env python
import os
import sys
import re
import plistlib
from codecs import open
from copy import deepcopy
@ridiculousfish
ridiculousfish / SafeSet.m
Created June 26, 2012 09:22
A thread safe set written in Objective-C
#import <Foundation/Foundation.h>
@interface SafeSet : NSObject {
NSMutableSet *set;
dispatch_queue_t queue;
}
@end
@implementation SafeSet
@kharmabum
kharmabum / sf.md
Last active June 26, 2019 17:33
Welcome to SF

Abbreviations

  • Downtown = ~north of Market St
  • Richmond = ~north of Golden Gate Park
  • Mission = south of Market St to the West
  • SOMA - south of Market St to the East.

Food

@rdump
rdump / kubectl-multi-version-brews.md
Last active April 4, 2024 15:20
kubectl multi-version brews (kubernetes-cli formula)

kubectl multi-version brews

Applicability

The instructions below apply to older versions of Homebrew which still provide switch capability.

For current Homebrew, you'll likely need to keep Versions around, and build locally. Here's my versions repository https://github.com/rdump/homebrew-versions

MacPorts is now keeping versioned installations available as well, by default.

@msdotnetclr
msdotnetclr / redis-conditional-set.txt
Last active March 25, 2025 08:46
Redis LUA: set or update key if new value is higher/lower than current
# Basic benchmarks
# SET key val # 87489.06
# SETRANGE key2 6 "Redis" # 75757.58 req/s
# INCR key 245 # 70224.72 req/s
# INCRBY key 245 22 # 67114.09 req/s
# EVAL SET key val # 46296.29 req/s
# SETIFHIGHER (set or update key if new value is higher than current) # 41666.67 req/s
# if not exists return OK , if updated return the increment , if not updated return 0
SCRIPT LOAD "local c = tonumber(redis.call('get', KEYS[1])); if c then if tonumber(ARGV[1]) > c then redis.call('set', KEYS[1], ARGV[1]) return tonumber(ARGV[1]) - c else return 0 end else return redis.call('set', KEYS[1], ARGV[1]) end"

Build your own private, encrypted, open-source Dropbox-esque sync folder

Prerequisites:

  • One or more clients running a UNIX-like OS. Examples are given for Ubuntu 12.04 LTS, although all software components are available for other platforms as well (e.g. OS X). YMMV
  • A cheap Ubuntu 12.04 VPS with storage. I recommend Backupsy, they offer 250GB storage for $5/month. Ask Google for coupon codes.

Software components used:

  • Unison for file synchronization
  • EncFS for folder encryption
@powhu
powhu / GIF2MP4.swift
Last active April 20, 2026 09:06
Swift 5.0 GIF to MP4
//
// GIF2MP4.swift
//
// Created by PowHu Yang on 2020/4/24.
// Copyright © 2020 PowHu Yang. All rights reserved.
//
/* How to use
let data = try! Data(contentsOf: Bundle.main.url(forResource: "gif", withExtension: "gif")!)
let tempUrl = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("temp.mp4")