Blog
-
Adding iOS Dynamic Type Support to Better
Making Better more accessible using Dynamic Type in the app and browser.
-
Better Styles Through ems
Using
em
s, reducing repetition, and improving SVG icons. -
A note about client-side-only JavaScript in Set templates
Separating client-side and server-side functionality.
-
Update to GitLab Admin
Useful if you’re working with the GitLab API and need quick access to group, project, and milestone IDs.
-
Swift libraries update
All our Swift libraries now support Swift 2.2.1, 2.3, and 3.
-
Running Fastlane Boarding on Dokku
Boarding is a Ruby on Rails app for setting up a TestFlight sign-up page for your app…
-
Setting up GitHub single sign-on
Via OmniAuth on GitLab (Omnibus package)
-
New Handle (v2.0.7) and Delay (v1.0.7) Swift micro-library releases
Both libraries are now fat frameworks that build seamlessly for iOS and OS X and are Carthage compatible.
-
Caching page view controllers in UIPageViewController
I’ve seen a number of tutorials on the web where a…
-
Applying Flexbox to the Video Player
Using CSS Flexbox to make the video player layout more robust.
-
Set 2.0 release
I just released version 2.0 of Set, my unobtrusive JavaScript template engine for Node.js and browsers.
-
Using System Headers In Swift
CocoaPods to the rescue.
-
Handle
A Swift micro-library for easily and expressively handling and posting notifications.
-
Delay
A Swift micro-library for easily and expressively delaying execution of code.
-
Gracefully running node as an NSTask in Cocoa
Tasks created by your app should be automatically terminated if your app crashes or when you kill your app by pressing the stop button in Xcode. They’re not. This sample app shows one way around the problem by having your child task terminate itself if its parent dies.
-
Animating Cocoa Window Size When Using Auto Layout
A simple example showing you how to cleanly change the window size when your views use auto layout.
-
NSSplitViewController Auto Layout Bug and Workaround
Setting one of the two split view items in an NSSplitViewController as collapsed in Interface Builder can cause a runtime constraints error.
-
SecRandomCopyBytes, or: Playing Unsafe with Swift
There are many ways to generate random data on iOS and OS X, but I wanted to use this one because it is suitable for cryptographic purposes.
-
Avoiding double-wrapped optionals with conditional downcasting
Cast away your double-wrapped optionals in Swift.
-
App Sandbox: Updating NSUserDefaults fails after deleting app’s container directory
TL;DR: You didn’t empty the trash.
-
Universal Video Player Update
Small tweaks to button icons and order of sound buttons.
-
Expand and collapse accessibility on the Ind.ie manifesto
Using WAI-ARIA attributes can make expanding and collapsing content more accessible.
-
Node 0.12.0 and native add-on modules
If your Node projects depend on native add-on modules, they might break in Node 0.12.0.
-
Installing NPM packages from GitLab repositories
If you want to install an NPM package from a GitLab repository, use the git+https (or git+http) protocol, not git:// or https://.
-
Build-time optimisation with Xcode build scripts
Running a shell script during the Xcode build process lets you do some powerful things. I’m using it to cut down the size of the Heartbeat binary.
-
Firing on all cylinders
Pulse Swift Hack Weekend and Heartbeat pre-alpha