Skip to content

Commit cf24105

Browse files
authored
Merge pull request #69 from SwiftFest/feature/speaker-james-graham
Fix missing speaker
2 parents a92097c + 713bbd9 commit cf24105

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

_data/sessions.yml

+17
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,23 @@
139139
speakers: [12]
140140
language: en
141141

142+
-
143+
id: 022
144+
title: "NSURLProtocol: Stupid Secrets, Scary Swizzling, Sorry Safety"
145+
description: |
146+
Known as “Apple-sanctioned man-in-the-middle attacks,” the `NSURLProtocol` class is a powerful Foundation abstraction that intercepts network requests at runtime before they hit the URL loading system. It has been used to implement proxy-like functionality, stub HTTP responses, eavesdrop on your 3rd party libraries’ network activity during production deployments, arbitrarily transform `URLRequest`s on the fly, or implement custom protocol schemes. Using this class well requires understanding of how it behaves at runtime, and there are a few runtime gotchas that you must know to handle!
147+
outcome: |
148+
- How to simplify test suites involving API calls by using `NSURLProtocol` to stub server responses
149+
- The ability to see HTTP data that 3rd party libraries and frameworks share with their hosts
150+
- A refresher on the few different method dispatch types in Swift
151+
- The dark magic that is method swizzling (exchanging method implementations of function pointers at runtime)
152+
- How to swizzle their way around a critical bug (Apple erroneously sets all HTTP Bodies to `nil`) in `NSURLProtocol`
153+
- The ability to implement API versioning, synthetic responses, remote cache invalidation, and API rerouting on the client (a lighter weight HAProxy or Varnish)
154+
subtype: presentation
155+
speakers: [26]
156+
language: en
157+
complexity: "Intermediate"
158+
142159
-
143160
id: 010
144161
title: "Swift's Future Belongs To Those Who Show Up"

_data/speakers.yml

+12-2
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,16 @@
300300
social:
301301
- {name: "twitter", link: "https://twitter.com/toddlovesthis"}
302302
- {name: "github", link: "https://github.com/tkburner"}
303+
-
304+
id: 26
305+
name: "James"
306+
surname: "Graham"
307+
bio: |
308+
James Graham is a software engineer who deeply enjoys starting and building businesses from scratch. He received a Thiel Fellowship last year for his work on Caffei.net, which is the fastest way to establish a TLS connection between iOS and your api (your commerce app can make a lot more money by becoming way faster!). Used by the largest freelancer marketplace, a large-Boston based travel company, and other commerce companies around the world, Caffeine improves security by making PFS and certificate pinning automatic and free, among others.
303309
304-
305-
310+
Recently he has become interested in empowering and better tooling the "small guys" that all SaaS has so far ignored: senior citizens, immigrants, and people who Just Don't Know by starting the Wallace Murry Phone Co. Wallace Murry is the only wireless phone provider based in MA. Wallace Murry doesn't sell your data to advertisers like AT&T et al, puts on events/sessions at low-income community centers that promote digital literacy (how to use a mouse, keyboard, email, google maps, etc), won't sell you an unlimited data plan if you don't need it, and is staffed with people from your local community who pick up the phone instantly if you call with any questions related to your phone (or beyond!).
311+
thumbnailUrl: jamesheadshot.jpg
312+
rockstar: false
313+
social:
314+
- {name: "twitter", link: "https://twitter.com/WittedHaddock"}
315+
- {name: "linkedin", link: "https://www.linkedin.com/in/wittedhaddock/"}

img/people/jamesheadshot.jpg

16.3 MB
Loading

0 commit comments

Comments
 (0)