41554 blogs · [ { "id": "01a087a8-2842-708d-8eaf-8b2a26195832", "title": "Why Implicitly Unwrapping Swift Optionals Is Dangerous", "url": "https://mokacoding.com/blog/why-implicitly-unwrapping-swift-optionals-is-dangerous", "published_at": "2016-07-26T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2627b47c", "title": "Swift Either enum", "url": "https://mokacoding.com/blog/swift-either", "published_at": "2016-07-18T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a26d4dba3", "title": "Strong Opinions Loosely Held", "url": "https://mokacoding.com/blog/strong-opinions-loosely-held", "published_at": "2016-07-08T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a27884842", "title": "Writing your own Swift \"if let\"", "url": "https://mokacoding.com/blog/writing-your-own-swift-if-let", "published_at": "2016-07-07T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a27e932f6", "title": "What is an optional value in Swift", "url": "https://mokacoding.com/blog/what-is-an-optional-value-in-swift", "published_at": "2016-06-30T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a28c0353e", "title": "Maintaining Sanity with Multiple Versions of Xcode", "url": "https://mokacoding.com/blog/maintaining-sanity-with-multiple-versions-of-xcode", "published_at": "2016-06-20T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a295314bf", "title": "How to make Swift methods unavailable", "url": "https://mokacoding.com/blog/swift-unavailable-how-to", "published_at": "2016-06-07T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2a4fd7be", "title": "Functional Core Reactive Shell", "url": "https://mokacoding.com/blog/functional-core-reactive-shell", "published_at": "2016-06-01T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2b04bc01", "title": "Language Agnostic Automation Setup", "url": "https://mokacoding.com/blog/language-agnostic-automation-setup", "published_at": "2016-05-17T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2b38c393", "title": "NSDateFormatter format for JSON dates", "url": "https://mokacoding.com/blog/nsdateformatter-json-date", "published_at": "2016-05-12T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2bb1262b", "title": "\"Functional Core, Reactive Shell\" Resources", "url": "https://mokacoding.com/blog/functional-core-reactive-shell-resources", "published_at": "2016-04-15T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2c9561bb", "title": "Getting Started With Automation", "url": "https://mokacoding.com/blog/getting-started-with-automation", "published_at": "2016-03-29T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2d537048", "title": "Using Swift protocols to abstract third party dependencies and improve testability", "url": "https://mokacoding.com/blog/using-swift-protocols-to-improve-testability", "published_at": "2016-03-02T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2d895f2f", "title": "How to update all plug-ins for the latest version of Xcode and Xcode-beta", "url": "https://mokacoding.com/blog/update-all-xcode-plugins-for-latest-version", "published_at": "2016-02-24T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2dc90049", "title": "Getting Started With OHHTTPStubs", "url": "https://mokacoding.com/blog/ohhttpstubs", "published_at": "2016-02-23T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2ea623ff", "title": "Why hitting the network is bad for your test, and what to do about it", "url": "https://mokacoding.com/blog/why-hitting-the-network-is-bad-for-your-tests", "published_at": "2016-02-16T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2eef4da1", "title": "Ruby for iOS Developers - Managing Ruby Tools with Bundler", "url": "https://mokacoding.com/blog/ruby-for-ios-developers-bundler", "published_at": "2016-02-10T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2f646e86", "title": "Ruby for iOS Developers - Managing Ruby Versions", "url": "https://mokacoding.com/blog/ruby-for-ios-developers", "published_at": "2016-02-02T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a2fcf14a5", "title": "How To Fix Fabric Crashing On Startup When Installed Via CocoaPods", "url": "https://mokacoding.com/blog/how-to-fix-fabric-startup-crash", "published_at": "2016-01-28T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3095d99c", "title": "Async Testing with Quick and Nimble", "url": "https://mokacoding.com/blog/async-testing-with-quick-and-nimble", "published_at": "2016-01-27T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a316296ee", "title": "Testing Delegates in Swift with XCTest", "url": "https://mokacoding.com/blog/testing-delegates-in-swift-with-xctest", "published_at": "2016-01-19T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3199962f", "title": "Testing callbacks in Swift with XCTest", "url": "https://mokacoding.com/blog/testing-callbacks-in-swift-with-xctest", "published_at": "2016-01-12T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a32457048", "title": "Prevent Unit Tests from Loading AppDelegate in Swift", "url": "https://mokacoding.com/blog/prevent-unit-tests-from-loading-app-delegate-in-swift", "published_at": "2016-01-08T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3307b349", "title": "How to use a double slash in xcconfig files", "url": "https://mokacoding.com/blog/double-slash-xcconfig", "published_at": "2016-01-02T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3358f3bb", "title": "2015 Retrospective", "url": "https://mokacoding.com/blog/2015-retrospective", "published_at": "2015-12-30T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3360acff", "title": "Opening a PR to Bitbucket from the terminal", "url": "https://mokacoding.com/blog/bitbucket-pr-from-command-line", "published_at": "2015-11-26T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a33da27e7", "title": "How to update an Xcode plug-in for the latest version of Xcode", "url": "https://mokacoding.com/blog/xcode-plugins-update", "published_at": "2015-11-25T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a34aaae18", "title": "Hacker News Button", "url": "https://mokacoding.com/blog/hacker-news-button", "published_at": "2015-11-24T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3551e8d9", "title": "Installing Xcode plugins from the terminal with Fastlane", "url": "https://mokacoding.com/blog/install-xcode-plugin-with-fastlane", "published_at": "2015-11-17T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a36444ae4", "title": "Injecting environment variables from a file with xargs", "url": "https://mokacoding.com/blog/env-xargs", "published_at": "2015-11-13T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a36686036", "title": "How to configure Travis CI for iOS testing", "url": "https://mokacoding.com/blog/travis-ci-ios-testing", "published_at": "2015-11-10T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a372c0e26", "title": "How to use Homebrew in CI", "url": "https://mokacoding.com/blog/homebrew-in-ci-script", "published_at": "2015-11-04T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3817e63f", "title": "How to configure CircleCI for iOS testing", "url": "https://mokacoding.com/blog/circle-ci-ios-testing", "published_at": "2015-11-03T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a38fa2493", "title": "Fixing Bugs Driven By Tests in Swift", "url": "https://mokacoding.com/blog/fixing-bugs-driven-by-tests-in-swift", "published_at": "2015-10-28T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a399d4e3c", "title": "How To Sharpen Your Software Developer Tools", "url": "https://mokacoding.com/blog/tools-sharpening", "published_at": "2015-10-20T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3a300bc9", "title": "Xcodebuild Destination Cheatsheet", "url": "https://mokacoding.com/blog/xcodebuild-destination-options", "published_at": "2015-10-13T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3a94f854", "title": "The best free RSS reader app ever: IFTTT + Pocket", "url": "https://mokacoding.com/blog/ifttt-pocket-rss", "published_at": "2015-10-08T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3af60df6", "title": "When to use map, flatMap, or for loops in Swift", "url": "https://mokacoding.com/blog/when-to-use-map-flatmap-for", "published_at": "2015-10-05T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3bdf0b6a", "title": "How to display relative line numbers in NERDTree", "url": "https://mokacoding.com/blog/NERDTree-relative-numbers", "published_at": "2015-10-01T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3c55a163", "title": "Automated Xcode version and build numbering via Git", "url": "https://mokacoding.com/blog/automatic-xcode-versioning-with-git", "published_at": "2015-09-29T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3d35e911", "title": "How to always use the latest Simulator with Xcodebuild", "url": "https://mokacoding.com/blog/how-to-always-run-latest-simulator-cli", "published_at": "2015-09-25T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3d94ca9a", "title": "Swift Optionals, Functional Programming, and You", "url": "https://mokacoding.com/blog/demistifying-swift-functor", "published_at": "2015-09-22T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3e83a511", "title": "An even lighter way to use Carthage", "url": "https://mokacoding.com/blog/carthage-no-build", "published_at": "2015-09-15T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3ea66a8c", "title": "How to install Xcode Command Line Tools without GUI or Xcode", "url": "https://mokacoding.com/blog/how-to-install-xcode-cli-tools-without-gui", "published_at": "2015-09-09T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3efe2b25", "title": "/dev/world/2015 notes of a testing fanboy", "url": "https://mokacoding.com/blog/devworld2015-notes-of-a-testing-fanboy", "published_at": "2015-09-08T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a3fae93fb", "title": "Enhancing XCTest test cases with Nimble matchers", "url": "https://mokacoding.com/blog/xctest-nimble", "published_at": "2015-08-25T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a400a85b2", "title": "AFNetworking custom response serializer to add error information", "url": "https://mokacoding.com/blog/custom-afnetworking-response-serializer-for-errors", "published_at": "2015-08-19T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a40f78478", "title": "Explicit Dependencies, Swift Edition", "url": "https://mokacoding.com/blog/explicit-dependencies-swift", "published_at": "2015-08-18T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a41644fa1", "title": "How to have multiple iTunes Connect accounts, and submit apps", "url": "https://mokacoding.com/blog/itunes-connect-multiple-accounts", "published_at": "2015-08-15T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a420a1397", "title": "Swift array of characters from String", "url": "https://mokacoding.com/blog/swift-array-string-characters", "published_at": "2015-08-12T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a428e6a88", "title": "Explicit Dependencies for Code with No Surprises", "url": "https://mokacoding.com/blog/explicit-dependencies", "published_at": "2015-08-11T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a4358b6c3", "title": "How to reuse the last parameter in a terminal command", "url": "https://mokacoding.com/blog/terminal-reusing-last-command-parameter", "published_at": "2015-08-05T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a43f05562", "title": "Keep Your Bench Clean", "url": "https://mokacoding.com/blog/keep-your-bench-clean", "published_at": "2015-08-04T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a441d9909", "title": "Packaging an ipa with Swift files from the terminal", "url": "https://mokacoding.com/blog/packaging-swift-ipa", "published_at": "2015-08-03T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a44bfaf08", "title": "How to test UI changes in Xcode 7", "url": "https://mokacoding.com/blog/xcode-ui-test-view-changes", "published_at": "2015-07-25T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a44f62ae1", "title": "How to add testing dependencies using Carthage, with Swift 2 and Xcode 7", "url": "https://mokacoding.com/blog/setting-up-testing-libraries-with-carthage-xcode7", "published_at": "2015-07-21T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a459dc46c", "title": "Swift Functors, Applicatives, and Monads in Pictures", "url": "https://mokacoding.com/blog/functor-applicative-monads-in-pictures", "published_at": "2015-07-14T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a46407f25", "title": "XVim, harnessing the king of text editor's power in Xcode", "url": "https://mokacoding.com/blog/xvim", "published_at": "2015-07-07T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a46b8c98a", "title": "Testing Realm apps", "url": "https://mokacoding.com/blog/testing-realm-apps", "published_at": "2015-06-30T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a475a5960", "title": "The value of acceptance testing for mobile projects", "url": "https://mokacoding.com/blog/the-value-of-acceptance-testing", "published_at": "2015-06-23T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a482b1758", "title": "Xcode 7 UI testing, a first look", "url": "https://mokacoding.com/blog/xcode-7-ui-testing", "published_at": "2015-06-16T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a4860be82", "title": "MailChimp automated workflow for mokacoding weekly", "url": "https://mokacoding.com/blog/automating-mokacoding-weekly", "published_at": "2015-06-09T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a48cf13fb", "title": "Automation with pre-commit hooks", "url": "https://mokacoding.com/blog/pre-commit-hooks", "published_at": "2015-06-03T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a48d11870", "title": "xUnique: a tool to avoid Xcode project merge conflicts", "url": "https://mokacoding.com/blog/xunique", "published_at": "2015-05-12T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a49cf37d2", "title": "Writing an Expecta custom matcher", "url": "https://mokacoding.com/blog/expecta-custom-matchers", "published_at": "2015-05-05T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a4a49ab57", "title": "Expecta, a matcher library that speaks English", "url": "https://mokacoding.com/blog/expecta", "published_at": "2015-04-28T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a4a53cccc", "title": "Specta global before and after each hooks (Updated)", "url": "https://mokacoding.com/blog/specta-global-before-after-each-updated", "published_at": "2015-04-24T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a4b490820", "title": "Job stories acceptance tests using KIF and Specta", "url": "https://mokacoding.com/blog/job-stories-acceptance-tests-with-KIF-and-specta", "published_at": "2015-04-21T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a4bb81dd5", "title": "Better tests with Specta", "url": "https://mokacoding.com/blog/better-tests-with-specta", "published_at": "2015-04-14T00:00:00+00:00" }, { "id": "01a087a8-2842-708d-8eaf-8b2a4c5e7f4f", "title": "Xcode keyboard shortcuts for testing", "url": "https://mokacoding.com/blog/xcode-testing-shortcuts", "published_at": "2015-04-07T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108dfeb63ead", "title": "Setting up KIF for iOS acceptance testing", "url": "https://mokacoding.com/blog/setting-up-KIF-for-ios-acceptance-testing", "published_at": "2015-03-31T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108dff851164", "title": "The state of iOS testing in 2015", "url": "https://mokacoding.com/blog/ios-testing-in-2015", "published_at": "2015-03-24T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108dffbbd3fc", "title": "Specta global before and after each hooks", "url": "https://mokacoding.com/blog/specta-global-before-after-each", "published_at": "2015-03-19T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e00136604", "title": "How to run Xcode tests from the terminal", "url": "https://mokacoding.com/blog/running-tests-from-the-terminal", "published_at": "2015-03-09T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e006b7ab6", "title": "How to simplify Calabash acceptance testing with Rake", "url": "https://mokacoding.com/blog/simpler-calabash-testing-with-rake", "published_at": "2015-02-25T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e013af7a8", "title": "Git-iquette", "url": "https://mokacoding.com/blog/gitiquette", "published_at": "2015-02-15T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e01919ec6", "title": "Setting up Calabash for iOS projects with Cocoapods and Build Configurations", "url": "https://mokacoding.com/blog/calabash-ios-with-cocoapods-and-build-configurations", "published_at": "2015-01-25T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0222e9f1", "title": "5 habits that will make you a better software developer", "url": "https://mokacoding.com/blog/5-habits-that-will-make-you-a-better-software-developer", "published_at": "2015-01-07T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e02ff4ec3", "title": "Security Tips for Freelance Software Developers", "url": "https://mokacoding.com/blog/security-tips-for-freelance-software-developers", "published_at": "2014-10-29T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e032c6ed0", "title": "Why I don't work on Fridays", "url": "https://mokacoding.com/blog/why-i-dont-work-on-friday", "published_at": "2014-08-29T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e04141769", "title": "In-App Purchase Debugging Lessons", "url": "https://mokacoding.com/blog/in-app-purchase-debugging-lessons", "published_at": "2014-08-26T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e04c53f11", "title": "Why I (shouldn't have) stopped blogging with Jekyll", "url": "https://mokacoding.com/blog/why-i-shouldnt-have-stopped-blogging-with-jekyll", "published_at": "2014-08-08T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e059dd294", "title": "CocoaPods and custom Build Configurations", "url": "https://mokacoding.com/blog/cocoapods-and-custom-build-configurations", "published_at": "2014-04-16T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e069ce9b3", "title": "2014 resolutions review", "url": "https://mokacoding.com/blog/2014-resolutions-review", "published_at": "2014-04-09T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e06d7d22d", "title": "Gradient Backgrounds Studio: Lessons Learned", "url": "https://mokacoding.com/blog/gradient-backgrounds-studio", "published_at": "2014-04-03T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e06f29e7e", "title": "A caveat when upgrading a Podfile", "url": "https://mokacoding.com/blog/upgrading-podfile", "published_at": "2014-03-28T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0761b1bb", "title": "Sharing assets across iOS projects with CocoaPods, Resource Bundle, and dynamically loaded fonts", "url": "https://mokacoding.com/blog/sharing-assets-with-cocoapods-resource-bundle-and-dynamically-loaded-fonts", "published_at": "2014-02-13T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e07a7e4ea", "title": "Automating iOS Enterprise Deployment with shenzhen", "url": "https://mokacoding.com/blog/automating-ios-enterprise-deployment", "published_at": "2014-01-06T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e07f9d1fc", "title": "2013 retrospectives... and 2014 propositions", "url": "https://mokacoding.com/blog/2013-retrospectives-and-2014-propositions", "published_at": "2014-01-02T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e08e3ab61", "title": "Podcasts, grow your brain through soundwaves", "url": "https://mokacoding.com/blog/podcasts", "published_at": "2013-11-20T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e09a0ffc2", "title": "Rails: adding a new has_many association to an existing model", "url": "https://mokacoding.com/blog/rails-add-has_many-association-to-existing-model", "published_at": "2013-11-13T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e09dcdcb3", "title": "Some things I learned in October", "url": "https://mokacoding.com/blog/things-learned-in-october", "published_at": "2013-11-12T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0a2fa25b", "title": "A dive into Xcode projects and workspaces", "url": "https://mokacoding.com/blog/Xcode-projects-and-workspaces", "published_at": "2013-10-31T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0ad2748c", "title": "October's Questions", "url": "https://mokacoding.com/blog/october-questions", "published_at": "2013-10-06T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0af8729c", "title": "Some things I learned in September", "url": "https://mokacoding.com/blog/things-learned-in-september", "published_at": "2013-10-02T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0baf5a97", "title": "Sharing some thoughts on iOS 7", "url": "https://mokacoding.com/blog/ios7-ux-designers-verdict", "published_at": "2013-09-24T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0bb922e7", "title": "Setting a Mac for Development", "url": "https://mokacoding.com/blog/setup-a-dev-machine", "published_at": "2013-09-23T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0ca34011", "title": "Bringing font icons in iOS with MTFontIcon", "url": "https://mokacoding.com/blog/mtfonticon", "published_at": "2013-09-17T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0ce1bc57", "title": "A workaround to Xcode 5 GM crash on app submission", "url": "https://mokacoding.com/blog/xcode5-crash-on-submission", "published_at": "2013-09-16T00:00:00+00:00" }, { "id": "01a087a8-2843-73f7-9015-108e0d5b0835", "title": "Some things I learned in August", "url": "https://mokacoding.com/blog/things-learned-in-august", "published_at": "2013-09-03T00:00:00+00:00" } ] posts Claim your blog
Back to mokacoding
Blog · corpus.blog/blogs/mokacoding.com/posts

mokacoding

mokacoding.com

2016

2015

2014

2013