Skip to content

Instantly share code, notes, and snippets.

View iccir's full-sized avatar

Ricci Adams iccir

View GitHub Profile
@iccir
iccir / SimStatusBar.sh
Last active May 13, 2024 05:15
iOS Simulator Status Bars
# iPhone with home button
xcrun simctl status_bar booted clear
xcrun simctl status_bar booted override \
--time "9:41 AM" \
--wifiBars 3 --cellularBars 4 --operatorName ""
xcrun simctl spawn booted defaults write com.apple.springboard SBShowBatteryPercentage 1
# iPhone X
xcrun simctl status_bar booted clear
xcrun simctl status_bar booted override --time "9:41" --wifiBars 3 --cellularBars 4
@iccir
iccir / PiRoomCorrection.md
Last active February 24, 2020 04:31
Raspberry Pi for Room Correction

Prepare The Device

  1. Download Ubuntu 18.04 LTS
  2. Download Balena Etcher
  3. Launch Etcher and burn image to SD card.
  4. After burning, remove and reinsert the SD card so macOS mounts it. A system-boot partition will appear.
  5. In Terminal: touch /Volumes/system-boot/ssh to enable SSH access.
  6. Safely eject the volume, remove the SD card, insert into Raspberry Pi.
  7. Connect Raspberry Pi to power and ethernet.
@iccir
iccir / gist:2363d00cadac3eb6c26aa8762e718c09
Last active January 7, 2020 08:49
Embrace's code for handling drops from Catalina's Music app, due to Apple not following the API contract for file promises. You will need to register for the kPasteboardTypeFileURLPromise drag type.
- (NSArray<NSURL *> *) parsePasteboard:(NSPasteboard *)pasteboard
{
NSMutableDictionary *trackIDToMetadataMap = [NSMutableDictionary dictionary];
NSMutableArray *orderedTrackIDs = [NSMutableArray array];
NSMutableArray *metadataFileURLs = [NSMutableArray array];
NSMutableArray *otherFileURLs = [NSMutableArray array];
auto parsePlaylist = ^(NSDictionary *playlist) {
if (![playlist isKindOfClass:[NSDictionary class]]) {
@iccir
iccir / openScreenRecordingPreferences.m
Created October 13, 2019 09:21
Open "Screen Recording" preferences on macOS Catalina
static void sOpenScreenRecordingPreferences()
{
CFDataRef passThruData = CFBridgingRetain([@"Privacy_ScreenCapture" dataUsingEncoding:NSUTF8StringEncoding]);
CFArrayRef itemURLs = CFBridgingRetain(@[ [NSURL fileURLWithPath:@"/System/Library/PreferencePanes/Security.prefPane"] ]);
OSStatus err = noErr;
AEDesc passThruDesc = {0};
BOOL needsDispose = NO;
@iccir
iccir / darkmode.m
Last active May 6, 2021 00:47
iOS Dark Mode Toggle
/*
During Dark Mode migration for macOS, I found it helpful to have a global hotkey
which toggled between Light/Dark Mode.
This hack attempts to do something similar for iOS.
1) Add your main window in -applicationDidFinishLaunching:
2) Triple tap the window (I tend to do this near the title bar) to flip between light and dark.
*/
@iccir
iccir / BuildPython3.py
Created May 21, 2019 12:04
Python 3 build system for Sublime Text 3
import Default.exec
ExistingCommandMap = { }
class build_python3(Default.exec.ExecCommand):
def run(self, cmd=None, kill=False, **kwargs):
file = cmd
if file in ExistingCommandMap:
existing = ExistingCommandMap[file]
@iccir
iccir / Envelope.js
Created March 12, 2019 12:19
Envelope in Javascript
class Envelope {
constructor(type, strength, fromValue, toValue, sampleCount)
{
this._generate(type, strength, fromValue, toValue, sampleCount);
}
@iccir
iccir / SemanticColors.txt
Last active February 27, 2019 19:57
macOS Semantic Colors
Note:
1) These may change in future versions of macOS.
2) Apple may also add more appearances or control accent colors in the future.
3) You probably don't want to hardcode color values.
4) Watch:
https://developer.apple.com/videos/play/wwdc2018/210
https://developer.apple.com/videos/play/wwdc2018/218
All colors specified in the sRGB color space.
#include <math.h>
#include <Accelerate/Accelerate.h>
/* filter signal x with filter h and store the result in output.
* output must be at least as long as x
*/
void
fft_fir_filter( const float *x,
unsigned x_length,
@iccir
iccir / ninfo.rb
Created August 10, 2017 10:32
ninfo
#!/usr/bin/ruby
s = ARGV[0]
if s =~ /^0x/ then
n = s.hex
else
n = s.to_i
end