DevOps Hardening Your SSH ServersJoeNovember 24, 20170 Why Hardening Hardening, as I define it, is the process of applying best practices to make it harder for others to...
Swift Building Swift 3.0 on an ARMv7 SystemJoeSeptember 24, 20164 Editor's Note: This post supercedes our other posts on building Swift 3.0 for the BeagleBone Black or Raspberry Pi...
Swift Working with MySQL Databases using Swift 3.0JoeSeptember 24, 20160 If you've read our other Swift articles you'll know that we're big proponents of Swift on the server. Today we'll keep...
Swift Handling Dates with Swift 3.0JoeSeptember 20, 20160 When you take on a goal as ambitious as the Great Renaming it is a challenge to ensure that all of the reference...
Apple Faster Carthage BuildsJoeSeptember 18, 20160 I love Carthage for managing external dependencies in my Xcode projects. What I don't care for is that most READMEs...
Swift Notifications and userInfo with Swift 3.0JoeSeptember 17, 20162 Swift 3.0 has brought a number of changes to the Swift language, including the Great Renaming which brought about...
Raspberry Pi Xenial Xerus Ethernet Fixup for the Raspberry PiJoeSeptember 12, 20160 Xenial Xerus has a peculiar bug that can cause a Raspberry Pi to lose Ethernet connectivity after a reboot. Several...
Swift error: invalid inferred toolchainJoeJuly 9, 20160 Invalid inferred toolchain? What?! You've installed swiftenv on your shiny new Ubuntu system, obtained one of the...
Linux MQTT Last Will and TestamentJoeJuly 4, 20160 This is another post in a series on writing MQTT clients using Swift on Linux. In this post we'll look at the MQTT...
Swift Compiling Open Source Swift FoundationJoeJune 30, 20160 I recently came across an issue with the NSThread implementation in open source Swift Foundation. I wouldn't have ever...