Skip to content

Instantly share code, notes, and snippets.

View nuthatch's full-sized avatar

Stephen Ryner Jr. nuthatch

View GitHub Profile
@nuthatch
nuthatch / iOS 7 dynamic font mappings
Last active January 9, 2023 13:55
What is UIFontTextStyleHeadline *really*? Dump out preferredFontForTextStyle for UIFontTextStyleHeadline, UIFontTextStyleSubheadline, UIFontTextStyleBody, UIFontTextStyleFootnote, UIFontTextStyleCaption1, UIFontTextStyleCaption2 to examine the font name, weight, and point size.
+ (void)describePreferredFonts
{
static NSArray *textStyles;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
textStyles = @[UIFontTextStyleHeadline,
UIFontTextStyleSubheadline,
UIFontTextStyleBody,
UIFontTextStyleFootnote,
UIFontTextStyleCaption1,
@nuthatch
nuthatch / preferred Content Size description
Created November 22, 2013 03:46
Map preferredContentSizeCategory into a human-readable string, e.g. UIContentSizeCategoryAccessibilityMedium becomes "Accessibility Medium"
+ (NSString *)preferredContentSizeDescription
{
// see http://johnszumski.com/blog/implementing-dynamic-type-on-ios7
NSString *contentSize = [UIApplication sharedApplication].preferredContentSizeCategory;
NSString *description;
if ([contentSize rangeOfString:@"Accessibility"].location != NSNotFound)
{
// Accessibility Content Size Category Constants
@nuthatch
nuthatch / describeAllFonts
Created November 22, 2013 04:07
method to describe all fontName in iOS 7, ordered alphabetically. Also: all the fonts found in 7.0.3.
+ (void)describeAllFonts
{
NSMutableArray *fonts = [NSMutableArray array];
NSArray *familyNames = [UIFont familyNames];
for (NSString *familyName in familyNames)
{
NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
for (NSString *fontName in fontNames)
{
UIFont *font = [UIFont fontWithName:fontName size:14];
@nuthatch
nuthatch / bad-traceroute.txt
Created December 1, 2013 17:00
ping times at 10:57 CST on Sunday, December 1st
~ $ traceroute comcast.net
traceroute: Warning: comcast.net has multiple addresses; using 69.252.80.75
traceroute to comcast.net (69.252.80.75), 64 hops max, 52 byte packets
1 10.0.1.1 (10.0.1.1) 1.005 ms 0.632 ms 0.664 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
Chinese (Simplified)
China (CN)
Chinese (Traditional)
Taiwan (TW)
Macau (MO)
Danish
Denmark (DK)
Pretty empty out here.
Here comes our first planet…
As it turns out, things are pretty far apart.
We’ll be coming up on a new planet soon.
Sit tight.
Most of space is just space.
Halfway home.
Destination: Mars!
It would take about seven months to travel this distance in a spaceship.
Better be some good in-flight entertainment.
@nuthatch
nuthatch / iOS 9 Dynamic Font Mappings
Last active June 14, 2016 08:40
iOS 9 replaces Helvetica Nue with the new San Francisco font
- (void)describePreferredFonts
{
static NSArray *textStyles;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
textStyles = @[UIFontTextStyleTitle1, // iOS 9
UIFontTextStyleTitle2, // iOS 9
UIFontTextStyleTitle3, // iOS 9
UIFontTextStyleHeadline,
UIFontTextStyleSubheadline,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>shortcut</key>
<string>:smile:</string>
<key>phrase</key>
<string>😄</string>
</dict>
@nuthatch
nuthatch / fix macOS.bash
Created August 11, 2019 20:25
The three macOS preferences I always set on a new machine: no desktop, no drop shadows in screenshots, and clicking app in Dock hides all other apps
#!/bin/bash
# hide Desktop clutter (Desktop is just a folder in Finder)
defaults write com.apple.finder CreateDesktop false
killall Finder
# enable "Purple Button Mode"
# see https://tidbits.com/2009/10/06/revealing-mac-os-xs-hidden-single-application-mode/
defaults write com.apple.dock single-app -bool true
killall Dock