41554 blogs · [ { "id": "01a087e2-93a8-71bc-842b-a3f55af49ab1", "title": "Bazel rule extensions", "url": "https://smileykeith.com/2025/10/31/bazel-rule-extensions/", "published_at": "2025-10-31T17:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f55bd9d65f", "title": "Understanding Apple Debug Info", "url": "https://smileykeith.com/2025/09/21/understanding-apple-debug-info/", "published_at": "2025-09-21T17:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f55cbfaf32", "title": "Finding unused targets with bazel", "url": "https://smileykeith.com/2025/03/24/unused-bazel-targets/", "published_at": "2025-03-24T18:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f55ce2aedf", "title": "Bazel caching and compressed debug info", "url": "https://smileykeith.com/2025/02/14/compressed-debug-info/", "published_at": "2025-02-14T18:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f55d1120e1", "title": "Printing rpaths with objdump", "url": "https://smileykeith.com/2022/03/16/objdump-rpaths/", "published_at": "2022-03-16T17:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f55e097cac", "title": "Debugging bazel actions", "url": "https://smileykeith.com/2022/03/02/debugging-bazel-actions/", "published_at": "2022-03-03T02:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f55e871992", "title": "Auto linking with Mach-O binaries", "url": "https://smileykeith.com/2022/02/23/lc-linker-option/", "published_at": "2022-02-24T02:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f55f7b9d6b", "title": "Silencing iOS simulator log noise", "url": "https://smileykeith.com/2021/11/16/simulator-log-spew/", "published_at": "2021-11-17T02:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56065a606", "title": "Reproducible codesigning on Apple Silicon", "url": "https://smileykeith.com/2021/10/05/codesign-m1/", "published_at": "2021-10-06T03:00:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f560668f5a", "title": "Switching Xcode versions without a password", "url": "https://smileykeith.com/2021/08/12/xcode-select-sudoers/", "published_at": "2021-08-12T20:40:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56137802b", "title": "Locking Xcode versions in bazel", "url": "https://smileykeith.com/2021/03/08/locking-xcode-in-bazel/", "published_at": "2021-03-08T16:40:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56230c2be", "title": "Supporting relative paths: XCTest failures in Xcode", "url": "https://smileykeith.com/2021/03/04/supporting-relative-paths/", "published_at": "2021-03-05T04:48:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f562818971", "title": "Editing rpaths for _InternalSwiftSyntaxParser", "url": "https://smileykeith.com/2021/03/03/editing-rpaths/", "published_at": "2021-03-04T03:48:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f563538be7", "title": "Cross compiling for Apple Silicon with Swift Package Manager", "url": "https://smileykeith.com/2020/12/24/swiftpm-cross-compile/", "published_at": "2020-12-24T22:32:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f5642531a4", "title": "LLDB Reproducers", "url": "https://smileykeith.com/2020/09/29/lldb-reproducers/", "published_at": "2020-09-30T02:39:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f564b670fe", "title": "NSProgress with Asynchronous Tasks", "url": "https://smileykeith.com/2015/03/14/nsprogress-with-asynchronous-tasks/", "published_at": "2015-03-15T01:57:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f564d12adf", "title": "ReactiveCocoa and Core Data", "url": "https://smileykeith.com/2015/03/14/reactive-cocoa-and-core-data/", "published_at": "2015-03-15T01:53:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f565820e06", "title": "Writing Vim Syntax Plugins", "url": "https://smileykeith.com/2015/03/14/writing-vim-syntax-plugins/", "published_at": "2015-03-15T01:48:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f565a28ec4", "title": "Clojure", "url": "https://smileykeith.com/2015/03/14/clojure/", "published_at": "2015-03-15T01:27:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f565b4ece2", "title": "Vim TagBar with Objective-C", "url": "https://smileykeith.com/2014/02/14/vim-tagbar-with-objective-c/", "published_at": "2014-02-14T21:53:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f565da7418", "title": "IPSEC/L2TP VPN on a Raspberry Pi running Arch Linux", "url": "https://smileykeith.com/2014/01/27/ipsec-l2tp-vpn-on-a-raspberry-pi-running-arch-linux/", "published_at": "2014-01-28T04:49:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f565eed672", "title": "iTerm theme based on the time of day", "url": "https://smileykeith.com/2013/09/03/iterm-theme-based-on-the-time-of-day/", "published_at": "2013-09-03T17:56:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56612ddf8", "title": "Global htaccess", "url": "https://smileykeith.com/2013/08/14/global-htaccess/", "published_at": "2013-08-14T20:12:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f5668a45be", "title": "OS X Crash Report Symbolication", "url": "https://smileykeith.com/2013/08/09/os-x-crash-symbolication/", "published_at": "2013-08-09T20:26:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f5677263f3", "title": "The 'Best' Text Editor", "url": "https://smileykeith.com/2013/05/22/the-best-text-editor/", "published_at": "2013-05-22T07:59:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f567e5f69d", "title": "Objective-C on Travis-CI", "url": "https://smileykeith.com/2013/04/11/objective-c-on-travis-ci/", "published_at": "2013-04-11T22:58:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f5682f8756", "title": "OS X + ZFS", "url": "https://smileykeith.com/2013/02/21/os-x-plus-zfs/", "published_at": "2013-02-21T19:28:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f568f19318", "title": "Terminal Shortcut in OS X", "url": "https://smileykeith.com/2013/02/08/terminal-shortcut-in-os-x/", "published_at": "2013-02-08T17:59:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f569e92012", "title": "Automated Google Reader Backups", "url": "https://smileykeith.com/2013/02/01/automated-google-reader-backups/", "published_at": "2013-02-01T20:30:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56ad27750", "title": "Boredom", "url": "https://smileykeith.com/2013/02/01/boredom/", "published_at": "2013-02-01T19:03:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56adf3376", "title": "Learning C", "url": "https://smileykeith.com/2013/01/27/learning-c/", "published_at": "2013-01-28T06:59:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56bc5fd94", "title": "NSTableView vim keys", "url": "https://smileykeith.com/2013/01/08/nstableview-vim-keys/", "published_at": "2013-01-09T00:19:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56c062ff5", "title": "Backing up with Capistrano", "url": "https://smileykeith.com/2013/01/05/backing-up-with-capistrano/", "published_at": "2013-01-05T20:12:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56c3db95d", "title": "Raking Podspecs", "url": "https://smileykeith.com/2013/01/04/raking-podspecs/", "published_at": "2013-01-04T19:09:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56cb97546", "title": "Spawning iTerm Windows", "url": "https://smileykeith.com/2013/01/03/spawn-iterm/", "published_at": "2013-01-03T20:34:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56d5ad30c", "title": "NSWindow Global Hotkey", "url": "https://smileykeith.com/2013/01/03/nswindow-global-hotkey/", "published_at": "2013-01-03T18:44:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56e4308c1", "title": "Linode Setup", "url": "https://smileykeith.com/2013/01/02/linode-setup/", "published_at": "2013-01-02T23:19:00+00:00" }, { "id": "01a087e2-93a8-71bc-842b-a3f56eb5ff5e", "title": "The fear of shipping", "url": "https://smileykeith.com/2012/12/12/the-fear-of-shipping/", "published_at": "2012-12-13T01:42:00+00:00" } ] posts Claim your blog
Back to smileykeith.com
Blog · corpus.blog/blogs/smileykeith.com/posts

smileykeith.com

smileykeith.com

2025

2022

2021

2020

2015

2014

2013

2012