41554 blogs · [ { "id": "01a087bf-7b85-701f-af62-f98560d3ce0a", "title": "Finding focus", "url": "https://pepicrft.me/blog/focus/", "published_at": "2020-09-07T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98561429554", "title": "Pairing sessions to introduce people to Tuist and open-source", "url": "https://pepicrft.me/blog/pairing-tuist/", "published_at": "2020-08-22T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98561691dcb", "title": "Thinking in terms of problems", "url": "https://pepicrft.me/blog/thinking-in-terms-of-problems/", "published_at": "2020-08-03T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98561a3c024", "title": "The beauty of not expecting something in return", "url": "https://pepicrft.me/blog/the-beauty-of-doing-things-for-people/", "published_at": "2020-08-01T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f985621eb3f6", "title": "A shift towards product development", "url": "https://pepicrft.me/blog/shifting-towards-product/", "published_at": "2020-07-13T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98562e0d036", "title": "Streamlining app development", "url": "https://pepicrft.me/blog/streamlining-app-development/", "published_at": "2020-07-01T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f985639e9611", "title": "Transitive React Native dependencies", "url": "https://pepicrft.me/blog/react-native-transitive-dependencies/", "published_at": "2020-07-01T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98563b80a35", "title": "WWDC's FOMO", "url": "https://pepicrft.me/blog/wwdc-fomo/", "published_at": "2020-06-25T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f9856486f593", "title": "First thoughts on Sorbet", "url": "https://pepicrft.me/blog/first-thoughts-on-sorbet/", "published_at": "2020-06-03T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f985656d4e25", "title": "Working on new features or tackling technical debt", "url": "https://pepicrft.me/blog/new-features-technical-debt/", "published_at": "2020-05-18T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98566560ae8", "title": "Add and remove footer using NSBox", "url": "https://pepicrft.me/blog/adding-an-add-remove-bar/", "published_at": "2020-05-10T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f9856705dc9e", "title": "My first coding video on Youtube", "url": "https://pepicrft.me/blog/my-first-coding-youtube/", "published_at": "2020-05-07T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98567a431b2", "title": "To build, or not to build", "url": "https://pepicrft.me/blog/to-build-or-not-to-build/", "published_at": "2020-05-06T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98567f2a625", "title": "Graphed knowledge", "url": "https://pepicrft.me/blog/graphed-knowledge/", "published_at": "2020-05-02T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f985689fd939", "title": "Cognitive overhead", "url": "https://pepicrft.me/blog/cognitive-overhead/", "published_at": "2020-05-02T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f98568c87481", "title": "Catching crashes at launch time on Android React Native apps", "url": "https://pepicrft.me/blog/catching-react-native-launch-crashes-on-android/", "published_at": "2020-04-20T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f985695cbe3d", "title": "Control and innovation", "url": "https://pepicrft.me/blog/control-innovation/", "published_at": "2020-04-17T12:00:00+00:00" }, { "id": "01a087bf-7b85-701f-af62-f9856a4c657a", "title": "Anxiety-free working", "url": "https://pepicrft.me/blog/anxiety-free-working/", "published_at": "2020-04-15T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86c99805de", "title": "Keeping it simple", "url": "https://pepicrft.me/blog/keeping-it-simple/", "published_at": "2020-04-11T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86c9e5f271", "title": "Diving into Nix", "url": "https://pepicrft.me/blog/nix/", "published_at": "2020-04-09T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86ca970177", "title": "We need more crafters", "url": "https://pepicrft.me/blog/we-need-more-crafters/", "published_at": "2020-03-28T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86cabe136b", "title": "A better signing experience in Xcode", "url": "https://pepicrft.me/blog/signing-tuist/", "published_at": "2020-03-08T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86cbab6cfa", "title": "From iOS engineer to a T-profiled techie", "url": "https://pepicrft.me/blog/t-profile/", "published_at": "2020-03-06T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86cc2851a0", "title": "Generation of Swift interfaces to access resources", "url": "https://pepicrft.me/blog/generate-swift-interfaces/", "published_at": "2020-02-25T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86cc95f76f", "title": "A standard CLI for Xcode projects", "url": "https://pepicrft.me/blog/standard-cli-for-xcode-projects/", "published_at": "2020-02-19T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86ccdf34a2", "title": "Evolving Tuist's architecture", "url": "https://pepicrft.me/blog/evolving-tuists-architecture/", "published_at": "2020-02-10T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86cd1c8b25", "title": "Seeking inmutability", "url": "https://pepicrft.me/blog/path-to-inmutability/", "published_at": "2020-01-07T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86cd4e4392", "title": "Social anxiety", "url": "https://pepicrft.me/blog/social-anxiety/", "published_at": "2020-01-02T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86ce43ca23", "title": "Wrapping up 2019", "url": "https://pepicrft.me/blog/wrapping-up-2019/", "published_at": "2019-12-30T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86cf076628", "title": "Signing with Xcode on CI", "url": "https://pepicrft.me/blog/signing-xcode-app-on-ci/", "published_at": "2019-12-27T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86cfa7bcea", "title": "Moving Pods to Packages", "url": "https://pepicrft.me/blog/moving-pods-to-packages/", "published_at": "2019-12-24T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d056a404", "title": "Adding bits of reactive programming to Tuist", "url": "https://pepicrft.me/blog/reactive-tuist/", "published_at": "2019-12-08T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d0923d9d", "title": "Working on a new website for Tuist", "url": "https://pepicrft.me/blog/new-tuist-website/", "published_at": "2019-12-06T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d0966ccc", "title": "Creating experiences", "url": "https://pepicrft.me/blog/creating-experiences/", "published_at": "2019-12-03T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d10bd138", "title": "I am X", "url": "https://pepicrft.me/blog/i-am-x/", "published_at": "2019-11-24T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d10e92ca", "title": "Static site generators", "url": "https://pepicrft.me/blog/static-site-generators/", "published_at": "2019-11-04T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d1edfdfc", "title": "Better relative paths", "url": "https://pepicrft.me/blog/better-relative-paths/", "published_at": "2019-10-31T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d290551d", "title": "Project description helpers", "url": "https://pepicrft.me/blog/manifest-helpers/", "published_at": "2019-10-10T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d33a7e13", "title": "Abstractions", "url": "https://pepicrft.me/blog/abstractions/", "published_at": "2019-10-03T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d420a701", "title": "Keeping up with dependencies updates", "url": "https://pepicrft.me/blog/auto-updating-dependencies/", "published_at": "2019-09-10T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d4624d0a", "title": "What's coming to Tuist", "url": "https://pepicrft.me/blog/whats-coming-to-tuist/", "published_at": "2019-09-09T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d49a184a", "title": "A period of changes", "url": "https://pepicrft.me/blog/a-period-of-changes/", "published_at": "2019-08-29T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d4be9db7", "title": "Project generation", "url": "https://pepicrft.me/blog/project-generation/", "published_at": "2019-07-22T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d5aabe74", "title": "Adding error tracking to a CLI written in Swift", "url": "https://pepicrft.me/blog/adding-error-tracking-to-a-swift-cli/", "published_at": "2019-07-16T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d5ff7fc3", "title": "Derived Info.plist files", "url": "https://pepicrft.me/blog/derived-info-plist/", "published_at": "2019-07-12T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d6482255", "title": "Running system tasks with Swift and Foundation", "url": "https://pepicrft.me/blog/running-system-tasks-on-macos/", "published_at": "2019-07-10T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d7038137", "title": "All you need is tools (talk)", "url": "https://pepicrft.me/blog/all-you-need-is-tools-talk/", "published_at": "2019-07-09T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d7ef082e", "title": "How I feel working on Tuist", "url": "https://pepicrft.me/blog/how-i-feel-working-on-tuist/", "published_at": "2019-07-03T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d8c6e709", "title": "The tale of Xcode projects' complexity", "url": "https://pepicrft.me/blog/the-tale-xcode-projects-complexity/", "published_at": "2019-06-23T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86d9650431", "title": "The urge to be the first", "url": "https://pepicrft.me/blog/the-urge-to-be-the-first/", "published_at": "2019-06-20T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86da1708e4", "title": "Speaking at AltConf", "url": "https://pepicrft.me/blog/altconf-2019/", "published_at": "2019-06-08T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86da2fba02", "title": "Abstracting Info.plist files", "url": "https://pepicrft.me/blog/infoplists/", "published_at": "2019-05-08T12:00:00+00:00" }, { "id": "01a087bf-7b86-7117-af59-4c86da36ad76", "title": "Xcode updates are fun", "url": "https://pepicrft.me/blog/xcode-updates-are-fun/", "published_at": "2019-04-12T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a526a92f6", "title": "Reliably installing Xcode", "url": "https://pepicrft.me/blog/reliably-install-xcode-versions/", "published_at": "2019-04-06T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a534955e9", "title": "macOS development and being comfortable", "url": "https://pepicrft.me/blog/macos-development/", "published_at": "2019-03-29T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a54400f1f", "title": "Interacting with Xcode projects in Swift", "url": "https://pepicrft.me/blog/xcodeproj/", "published_at": "2019-03-15T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a54c62e6a", "title": "Open source and trust", "url": "https://pepicrft.me/blog/open-source-and-trust/", "published_at": "2019-03-14T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5566b12e", "title": "Automated tests for a Swift CLI tool with Cucumber", "url": "https://pepicrft.me/blog/cucumber/", "published_at": "2019-03-13T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a55be396c", "title": "Software and people", "url": "https://pepicrft.me/blog/software-and-people/", "published_at": "2019-03-01T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a56304bd7", "title": "Turning negativism into positivism", "url": "https://pepicrft.me/blog/turning-negativism-into-positivism/", "published_at": "2019-02-21T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a56e5c142", "title": "Deep linking into macOS apps", "url": "https://pepicrft.me/blog/deep-linking-into-macos-apps/", "published_at": "2019-02-13T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a57a09d16", "title": "The motivations behind building Tuist", "url": "https://pepicrft.me/blog/tuist-motivations/", "published_at": "2019-02-02T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a57b67e96", "title": "Wrapping up 2018", "url": "https://pepicrft.me/blog/wrapping-up-2018/", "published_at": "2018-12-23T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a57f6c0c6", "title": "All you need is tools", "url": "https://pepicrft.me/blog/all-you-need-is-tools/", "published_at": "2018-11-25T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a58cfe64f", "title": "What a psychologist helped me realize", "url": "https://pepicrft.me/blog/what-psychologist-helped-me-realize/", "published_at": "2018-10-06T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a59182542", "title": "GitHub workspaces using email", "url": "https://pepicrft.me/blog/github-workspaces-using-email/", "published_at": "2018-09-06T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a596492bd", "title": "Open source mindfulness", "url": "https://pepicrft.me/blog/open-source-mindfulneess/", "published_at": "2018-08-19T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5a0b7b13", "title": "Open Source", "url": "https://pepicrft.me/blog/open-source/", "published_at": "2018-04-29T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5a398bed", "title": "On having focus", "url": "https://pepicrft.me/blog/on-having-focus/", "published_at": "2018-04-11T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5a8f0987", "title": "Hallo Ruby, wie geht's?", "url": "https://pepicrft.me/blog/hallo-ruby/", "published_at": "2018-02-23T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5b8c9d8b", "title": "Thoughtful usage of technology", "url": "https://pepicrft.me/blog/thoughtful-usage-of-technology/", "published_at": "2018-02-14T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5c46a8be", "title": "I gave up using Medium", "url": "https://pepicrft.me/blog/gave-up-medium/", "published_at": "2018-01-31T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5c9b0267", "title": "The hermeticism and rigidity of Xcode and its projects", "url": "https://pepicrft.me/blog/xcode-rigidity-hermeticism/", "published_at": "2018-01-28T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5ccd9bd1", "title": "This app could not be installed at this time", "url": "https://pepicrft.me/blog/watchapp-and-xcode-nightmare/", "published_at": "2018-01-20T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5d09ac3a", "title": "Random thoughts a Friday night in Ottawa", "url": "https://pepicrft.me/blog/random-reflection/", "published_at": "2018-01-19T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5d5de1fa", "title": "Wrapping up 2017", "url": "https://pepicrft.me/blog/wrapping-up-2017/", "published_at": "2017-12-25T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5d6ee610", "title": "Linting your Xcode projects with xclint", "url": "https://pepicrft.me/blog/xclint/", "published_at": "2017-11-02T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5d785566", "title": "Consistent vs convenient", "url": "https://pepicrft.me/blog/consistent-vs-convenient/", "published_at": "2017-10-30T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5d8df3f5", "title": "Modular Xcode projects", "url": "https://pepicrft.me/blog/modular-xcode-projects/", "published_at": "2017-09-29T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5e47ce41", "title": "Conditionally embed your dynamic frameworks", "url": "https://pepicrft.me/blog/xcodembed/", "published_at": "2017-09-13T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5e61094c", "title": "Providing mocks and testing data from your frameworks.", "url": "https://pepicrft.me/blog/frameworks-testing/", "published_at": "2017-09-13T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5ede75c8", "title": "Little tweak to be more productive writing XCTest tests", "url": "https://pepicrft.me/blog/tweak-xctest/", "published_at": "2017-08-21T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5f76236d", "title": "Introducing xcodeproj", "url": "https://pepicrft.me/blog/introducing-xcodeproj/", "published_at": "2017-07-31T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a5fcc401b", "title": "Moving back to Berlin", "url": "https://pepicrft.me/blog/moving-back-to-berlin/", "published_at": "2017-07-18T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a60785443", "title": "Composable UIs", "url": "https://pepicrft.me/blog/composable-uis/", "published_at": "2017-03-02T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a60f2a88d", "title": "Divide and conquer", "url": "https://pepicrft.me/blog/divide-and-conquer/", "published_at": "2017-02-16T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a61bf669c", "title": "Wrapping up 2016", "url": "https://pepicrft.me/blog/wrapping-up-2016/", "published_at": "2016-12-18T12:00:00+00:00" }, { "id": "01a087bf-7b87-73e1-8715-de6a620488f9", "title": "Extensions, dependency injection and frameworks", "url": "https://pepicrft.me/blog/extensions-frameworks/", "published_at": "2016-11-16T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca58cba273", "title": "Developing tools for developers", "url": "https://pepicrft.me/blog/developing-tools-for-developers/", "published_at": "2016-11-12T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca58e479ed", "title": "Stepping off the social world", "url": "https://pepicrft.me/blog/off-the-social/", "published_at": "2016-11-09T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca59815a07", "title": "Be Reactive my friend", "url": "https://pepicrft.me/blog/be-reactive-my-friend/", "published_at": "2016-07-12T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5a299aa0", "title": "Micro Features Architecture for iOS", "url": "https://pepicrft.me/blog/microfeatures/", "published_at": "2016-07-10T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5a38191e", "title": "Network Testing - Say hello to Szimpla", "url": "https://pepicrft.me/blog/testing-networking/", "published_at": "2016-06-22T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5aca410f", "title": "A journey into Frameworks - Le Testing Framework", "url": "https://pepicrft.me/blog/a-journey-into-frameworks/", "published_at": "2016-06-21T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5b775a02", "title": "Being disconnected in a connected world", "url": "https://pepicrft.me/blog/being-disconnected-in-a-connected-world/", "published_at": "2016-06-20T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5c0c7400", "title": "Boy Scouts rule with Danger", "url": "https://pepicrft.me/blog/danger-and-boyscout-rule/", "published_at": "2016-05-23T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5c135b0f", "title": "Automating iOS review tasks with Danger", "url": "https://pepicrft.me/blog/automating-review-tasks/", "published_at": "2016-03-23T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5d07d22a", "title": "Marcheta en la vida", "url": "https://pepicrft.me/blog/marcheta-en-la-vida/", "published_at": "2016-02-28T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5df3b3f1", "title": "Xcode scripts to rule them all", "url": "https://pepicrft.me/blog/xcode-scripts-that-rule-them-all/", "published_at": "2016-02-07T12:00:00+00:00" }, { "id": "01a087bf-7b88-704f-a9f3-0fca5e2b0769", "title": "States - The source of truth", "url": "https://pepicrft.me/blog/states-the-source-of-truth/", "published_at": "2016-01-14T12:00:00+00:00" } ] posts Claim your blog
Back to pepicrft.me
Blog · corpus.blog/blogs/pepicrft.me/posts

pepicrft.me

pepicrft.me

2020

2019

2018

2017

2016