Fix Apple Watch Auto Unlock

Fix Apple Watch Auto Unlock

Stolen from here from LongZheng I’ve finally fixed it! I found a bunch of errors related to “AutoUnlock” in the Console that was hinting to me that there was some invalid state on my Mac with keys and plists not being reset properly. After clearing/resetting them, I can now successfully pair my watchOS 7 Series […]


UIWindow* window = [[UIApplication sharedApplication] keyWindow]; UIView* snapshotView = [[UIView alloc] init]; snapshotView.translatesAutoresizingMaskIntoConstraints = false; [window addSubview:snapshotView]; [NSLayoutConstraint activateConstraints:@[ [snapshotView.topAnchor constraintEqualToAnchor:window.topAnchor], [snapshotView.leadingAnchor constraintEqualToAnchor:window.leadingAnchor], [snapshotView.trailingAnchor constraintEqualToAnchor:window.trailingAnchor], [snapshotView.bottomAnchor constraintEqualToAnchor:window.bottomAnchor] ]]; snapshotView.backgroundColor = [UIColor blueColor]; [UIView animateWithDuration:0.2 animations:^{ snapshotView.alpha = 0; } completion:^(BOOL finished) { [snapshotView removeFromSuperview]; }];

Rebase without re-checkout

TL;DR: when using multiple branches, prefer to use “git rebase –onto origin/master origin/master ${branch}” if you want to checkout and then rebase a branch. Let’s say you have the working history: /-*-* A *-*-*-*-*-*-* origin/master \-*-*-* B and you want to push the branch A because your CL has been approved. You have to rebase […]

How to print Chromium string16 values from lldb using python scripts

I found this here: with a minor tweak of if -> elif Thanks stack overflow! Python file: $ cat ~/work/lldbscripts/ import lldb def unsignedshortptr_SummaryProvider(valobj, dict): e = lldb.SBError() s = u'”‘ if valobj.GetValue() != 0: i = 0 newchar = -1 while newchar != 0: # read next wchar character out of memory data_val […]

Git clean. No seriously, clean it.

Working on Chrome, there are lots of dependencies that get pulled, and when I make untracked temporary changes in those dependancies sometimes I just want everything back to normal. So, here’s the scorched earth method: git clean -f -f -x -d This blows away everything git doesn’t know about. Then I do another clean dependency […]

mach.h, dumping vm info

#import “mach/mach.h” …. – (void)logTimer { task_basic_info info; mach_msg_type_number_t size = sizeof(info); kern_return_t kerr = task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)&info, &size); if ( kerr == KERN_SUCCESS ) { NSLog(@”task_info: %d.2MB\n”, info.resident_size / 1048576); } else { NSLog(@”task_info failed with error %d ( 0x%08d ), ‘%s’\n”, kerr, kerr, mach_error_string(kerr)); } }

Another weird git problem

Lately whenever I have to rebase I get a weird error about how I have a dirty tree and need to commit files. Falling back to patching base and 3-way merge… error: Your local changes to the following files would be overwritten by merge: Please, commit your changes or stash them before you can merge. […]

Recent git branches

Sometimes I forget to delete my old git branches, and I forget which is what and who is how. And so on and so forth. So I do this!: git reflog –date=local –all This outputs a nifty list of all the recent commits and which branches they were too. w00t.

iOS timing

Again, do as I say not as I do. Here’s a quick thing I like to do: NSTimeInterval start = CACurrentMediaTime(); [stuff…] NSTimeInterval end = CACurrentMediaTime(); NSLog(@”%f”, end-start);

git format-patch and git am

Occasionally I need to send a git patch between computers. Yes, I know there are more efficient ways of doing this, but occasionally it needs to happen. So here’s how I do it: git format-patch –binary master.. –stdout > the.patch and how to apply it: git am –signoff < the.patch