-
2025.05.12
Navigating anxiety
-
2025.05.06
Compiler optimizations or speed of delivery
-
2025.05.05
Remote macOS Containers as a Service
-
2025.04.30
~AI~Vibe-first businesses
-
2025.04.29
Full-time entertainers
-
2025.04.08
Inviting ecosystems
-
2025.04.02
Tuist's plans
-
2025.03.31
The commoditization trap: why software needs community to thrive
-
2025.03.25
Mobile CI is plateauing
-
2025.03.24
If a business can be open source, it'll be open source
-
2025.03.19
Nightly builds are the wrong solution to the right problem
-
2025.03.16
Setting up Docker DinD in Forgejo Actions
-
2025.03.12
Dogfood if you can
-
2025.03.10
Lynx is an invitation for UI frameworks to support mobile development
-
2025.03.09
AI as a tool to reduce OSS maintenance costs
-
2025.03.06
Own your community
-
2025.03.05
China is succeeding at what everyone else is failing at: localization
-
2025.03.04
From open source to open core business
-
2025.02.25
A Mise formula for Swift Package development
-
2025.02.25
If Swift app development teams had the data...
-
2025.02.24
CI is commoditizing
-
2025.02.19
Science macht besser
-
2025.02.14
Tuist’s vision for an open, cross-platform future
-
2025.02.06
The missing commoditization
-
2025.02.01
Where does the value lie in open-source businesses?
-
2025.01.28
Communities
-
2025.01.26
Tuist is evolving
-
2025.01.26
Whom do you trust?
-
2025.01.11
A convention for frictionless reproduction projects with Mise
-
2025.01.04
Reverting some social recent behavioural and emotional patterns
-
2024.12.30
From CLI to platform
-
2024.12.24
Learnings from logging in a Swift CLI
-
2024.12.19
Us or them
-
2024.12.16
The paradox of OSS
-
2024.12.11
If it can be open-source, it'll be open source
-
2024.12.02
Programming languages are just tools
-
2024.11.28
Growth, growth, growth
-
2024.11.24
Setting up a Forgejo runner in Hetzner
-
2024.11.22
Tuist is a product
-
2024.11.19
Whom do I trust?
-
2024.11.17
I am out of X
-
2024.11.05
Set up a Woodpecker CI in Hetzner server for your Codeberg account
-
2024.10.25
If system APIs where awaitable
-
2024.10.19
Concurrent work in non-concurrent brains
-
2024.10.19
Small but sexy
-
2024.10.15
Brains are complex
-
2024.10.13
Makers and takers
-
2024.10.08
Monkey brain
-
2024.10.05
Licenses, governance, and trademarks in the open-source world
-
2024.09.26
A non-concurrent design in a conrurrent world
-
2024.09.25
Should I join the show?
-
2024.09.19
The iPad as a creativity device
-
2024.09.15
On taking shortcuts to build communities
-
2024.09.08
The missing narrow waist in CI
-
2024.09.06
A different approach to building a software company
-
2024.09.04
About mental health
-
2024.08.24
An intrinsically motivated person in a extrinsically motivated environment
-
2024.08.20
Open design
-
2024.08.13
Fair Source: Sustainability with no customer risk
-
2024.08.05
DX vendor locking
-
2024.08.05
Where do I see myself in 10 years?
-
2024.08.04
Continuous releases with automated changelog generation
-
2024.08.02
Exploring commercial OSS
-
2024.07.31
What is urgent?
-
2024.07.22
Openness as a tool of trust
-
2024.07.20
How synchronized groups work at the .pbxproj level
-
2024.07.20
The specified item could not be found in the keychain
-
2024.07.15
The best products tell stories
-
2024.07.13
Does it need to be in JavaScript?
-
2024.07.13
Falling behind
-
2024.07.09
When you are open
-
2024.07.04
It's a marathon
-
2024.07.04
The technology does matter
-
2024.06.29
A different company
-
2024.06.25
BREAKME.md
-
2024.06.24
Parallelism and programming languages
-
2024.06.23
Lazy-learning
-
2024.06.22
Website redesign
-
2024.06.12
Emotional breakdowns
-
2024.06.04
Why you need the -ObjC flag
-
2024.05.25
Simplicity, standards, and the platform
-
2024.05.20
Meeting developers where they are
-
2024.05.16
The non-technological open source problem
-
2024.04.27
Layering Tuist
-
2024.04.26
When you become infrastructure
-
2024.04.25
Connecting App Signal with Incident.io using Cloudflare Workers
-
2024.04.04
Standards, standards, standards
-
2024.03.19
Thoughts on Open-Source
-
2024.03.14
Transitioning Tuist Cloud from Ruby to Elixir
-
2024.03.05
Elixir scales better
-
2024.03.04
Gain back attention
-
2024.02.29
If I could just parallelize my tests execution
-
2024.02.23
On protecting my creative energy
-
2024.02.15
Global state is future debt
-
2024.02.13
It takes a lot of determination
-
2024.02.10
It's not about what, but how
-
2024.02.07
JavaScript DX without JavaScript
-
2024.01.26
Incremental Xcode workflows across environments
-
2024.01.24
AirPods Max died after 2 years
-
2024.01.24
Xcode is too magic
-
2024.01.19
XCBundles
-
2024.01.16
Gifting OSS
-
2024.01.15
Global state, CLIs, and test scalability
-
2024.01.11
Deterministic tool versions across environments with Mise
-
2024.01.08
I'm allergic to complexities
-
2024.01.05
Starting therapy next week
-
2024.01.03
Open-source and the imposter syndrome
-
2023.12.28
I'm sick
-
2023.12.28
Type safety but at which cost?
-
2023.12.23
JavaScript-owned state and accessibility
-
2023.12.20
What if XCTest a concept akin to Elixir's processes?
-
2023.12.19
Learning to love the problem and not the solution
-
2023.12.19
Implicitness in Xcode and SPM. Why Apple?
-
2023.12.18
What I expect from a knowledge management app
-
2023.12.13
Swift Packages default to supporting all platforms
-
2023.12.13
Swinging back to positivity
-
2023.12.11
Open-sourcing the lightning_css Elixir package
-
2023.12.07
On mental health
-
2023.12.04
3 package managers + 2 build tools = One big mess
-
2023.11.21
Peeling layers
-
2023.11.17
Ensuring a smooth workshop experience
-
2023.11.14
Balancing mastery and sustainability
-
2023.11.10
Dear Bitrise
-
2023.11.08
Integrating Swift Macros with Xcodeproj native blocks
-
2023.11.07
Making Tuist easier to work with by saying goodbye to Ruby
-
2023.10.28
From side project to sustainable tool
-
2023.10.16
Empowering Development: The Journey and Vision of Tuist
-
2023.10.14
Recalibrating Mental Models in Elixir Programming
-
2023.10.06
We do it for the community
-
2023.09.29
Between Simplicity and Limitations: A Developer's Take on Apple's Tooling Strategy
-
2023.09.27
Reclaiming Mental Peace: My Personal Odyssey
-
2023.09.21
Exploring Mocking Solutions in Elixir: Introducing Modulex
-
2023.09.13
Passion vs. Profit: My Quest for Meaningful Craftsmanship in Tech
-
2023.08.19
Tuist: From Passion to Craftsmanship, Charting New Horizons
-
2023.08.06
Fixing request/2 is undefined or private with Ueberauth
-
2023.08.05
Abstracted complexity remains complexity
-
2023.07.26
The Power of Concurrency: My Journey Learning Elixir
-
2023.07.19
Fixing psych compilation error trying to install Ruby on an Apple M2 laptop
-
2023.07.14
An update on the entrepreneurship path
-
2023.06.18
Integrating Tailwind into your Swift projects
-
2023.06.09
Issues Dockerizing a Vapor project in M2
-
2023.06.08
Focusing on Swift
-
2023.06.08
Hitting memory limits deploying Vapor apps to Fly
-
2023.05.28
Embracing the Journey of an Indie Developer
-
2023.04.02
How to Configure VSCode to Use Alternative Shells
-
2023.03.27
Generating client secret from Apple's P8 key in Elixir
-
2023.03.09
Typescript not loading in Visual Studio Code
-
2023.02.14
Iterating on my learning system
-
2022.12.23
Static imports with ESM and startup time
-
2022.12.13
An explicit build graph with Nx for a better DX
-
2022.12.01
Hot-reloading and ESM
-
2022.11.01
Growing as a Staff Developer
-
2022.09.16
Typing file-system paths in Typescript
-
2022.08.25
On learning Elixir
-
2022.06.27
On finding passion in devising developer experiences
-
2022.06.23
Modular projects, Typescript, and developer experience
-
2022.05.27
On embracing my chaos
-
2022.05.06
Mitigating 'delete node_modules'
-
2022.05.05
But they are developers too
-
2022.05.04
CLIs are products too
-
2022.05.04
Javascript, ESM, and tools
-
2022.03.22
Users don't care about your web app's portable binary
-
2022.03.12
OSS and extrinsic motivators
-
2021.12.14
Platform-dependent CLIs
-
2021.12.08
On evolving opinions
-
2021.12.07
Migrated to SvelteKit
-
2021.11.08
Adapting to a platform
-
2021.10.25
I want to be rich
-
2021.10.13
The React chain
-
2021.10.11
On cutting off some dopamine dependency
-
2021.09.28
Great solutions for the wrong problems
-
2021.09.16
Developer platforms and diversity
-
2021.09.14
Spain, it's not time to be reunited (yet)
-
2021.08.20
A future note to self about Omniauth
-
2021.08.16
./dev
-
2021.08.10
Seabolt support for M1
-
2021.08.04
Some Rust thoughts
-
2021.07.30
Planning open-source work
-
2021.07.21
Contributors' first experience
-
2021.07.20
What I learned as a manager
-
2021.07.15
Propose, prototype, and build
-
2021.07.10
Back to Jekyll
-
2021.06.01
Swinging the pendulum back to engineering
-
2021.05.24
Focused Xcode projects
-
2021.05.19
On not having focus
-
2021.05.18
Tuist 2.0 and next
-
2021.05.10
Building mental models
-
2021.04.22
ViteJS and Rails
-
2021.04.18
Learning Rust
-
2021.04.12
Migrating documentation to Docusaurus
-
2021.04.12
TailwindCSS or Theme-UI
-
2021.04.06
Community-driven and organization-driven open source
-
2021.03.21
The role of flexibility in scaling up Xcode projects
-
2021.03.20
Open source, people, and happiness
-
2021.03.16
Data-driven open source
-
2021.03.12
Building Tuist as a platform
-
2021.03.10
Tuist and JS bundlers
-
2021.02.16
Owning your workflows
-
2021.02.09
Focusing on the problems
-
2021.02.05
Tuist and the Swift Package Manager
-
2021.02.04
Tackling technical debt in Tuist
-
2021.02.03
Decision records
-
2021.01.28
Scaling up an open-source project
-
2021.01.18
The beauty of a standard command line interface
-
2021.01.18
Reflecting on 3 years at Shopify
-
2021.01.07
My first RFC in the React Native project
-
2020.12.28
My tech stack in 2020
-
2020.12.10
Sparking joy working with Xcode
-
2020.11.11
Tree-shaking Xcode projects
-
2020.11.10
Module caching in Xcode projects
-
2020.10.31
Growing Tuist's community
-
2020.10.02
The exciting adventure of building a web app
-
2020.09.30
Generating Typescript code from a GraphQL schema
-
2020.09.30
What I like from Ruby and Rails
-
2020.09.29
Modularization in open source projects
-
2020.09.07
Finding focus
-
2020.08.22
Pairing sessions to introduce people to Tuist and open-source
-
2020.08.03
Thinking in terms of problems
-
2020.08.01
The beauty of not expecting something in return
-
2020.07.13
A shift towards product development
-
2020.07.01
Transitive React Native dependencies
-
2020.07.01
Streamlining app development
-
2020.06.25
WWDC's FOMO
-
2020.06.03
First thoughts on Sorbet
-
2020.05.18
Working on new features or tackling technical debt
-
2020.05.10
Add and remove footer using NSBox
-
2020.05.07
My first coding video on Youtube
-
2020.05.06
To build, or not to build
-
2020.05.02
Cognitive overhead
-
2020.05.02
Graphed knowledge
-
2020.04.20
Catching crashes at launch time on Android React Native apps
-
2020.04.17
Control and innovation
-
2020.04.15
Anxiety-free working
-
2020.04.11
Keeping it simple
-
2020.04.09
Diving into Nix
-
2020.03.28
We need more crafters
-
2020.03.08
A better signing experience in Xcode
-
2020.03.06
From iOS engineer to a T-profiled techie
-
2020.02.25
Generation of Swift interfaces to access resources
-
2020.02.19
A standard CLI for Xcode projects
-
2020.02.10
Evolving Tuist's architecture
-
2020.01.07
Seeking inmutability
-
2020.01.02
Social anxiety
-
2019.12.30
Wrapping up 2019
-
2019.12.27
Signing with Xcode on CI
-
2019.12.24
Moving Pods to Packages
-
2019.12.08
Adding bits of reactive programming to Tuist
-
2019.12.06
Working on a new website for Tuist
-
2019.12.03
Creating experiences
-
2019.11.24
I am X
-
2019.11.18
Module caching with Galaxy
-
2019.11.04
Static site generators
-
2019.10.31
Better relative paths
-
2019.10.10
Project description helpers
-
2019.10.03
Abstractions
-
2019.09.10
Keeping up with dependencies updates
-
2019.09.09
What's coming to Tuist
-
2019.08.29
A period of changes
-
2019.07.22
Project generation
-
2019.07.16
Adding error tracking to a CLI written in Swift
-
2019.07.12
Derived Info.plist files
-
2019.07.10
Running system tasks with Swift and Foundation
-
2019.07.09
All you need is tools (talk)
-
2019.07.03
How I feel working on Tuist
-
2019.06.23
The tale of Xcode projects' complexity
-
2019.06.20
The urge to be the first
-
2019.06.08
Speaking at AltConf
-
2019.05.08
Abstracting Info.plist files
-
2019.04.13
T-shaped engineers
-
2019.04.12
Xcode updates are fun
-
2019.04.06
Reliably installing Xcode
-
2019.03.29
macOS development and being comfortable
-
2019.03.15
Interacting with Xcode projects in Swift
-
2019.03.14
Open source and trust
-
2019.03.13
Automated tests for a Swift CLI tool with Cucumber
-
2019.03.01
Software and people
-
2019.02.21
Turning negativism into positivism
-
2019.02.13
Deep linking into macOS apps
-
2019.02.08
GitHub as an organization hub
-
2019.02.02
The motivations behind building Tuist
-
2018.12.23
Wrapping up 2018 📦
-
2018.11.25
All you need is tools 🛠
-
2018.10.06
What a psychologist helped me realize
-
2018.09.06
GitHub workspaces using email
-
2018.08.19
Open source mindfulness
-
2018.07.23
Why am I obsessed with developers being productive using Xcode?
-
2018.04.29
Open Source
-
2018.04.11
On having focus
-
2018.02.23
Hallo Ruby, wie geht's?
-
2018.02.14
Thoughtful usage of technology
-
2018.01.31
I gave up using Medium
-
2018.01.28
The hermeticism and rigidity of Xcode and its projects
-
2018.01.20
This app could not be installed at this time
-
2018.01.19
Random thoughts a Friday night in Ottawa
-
2017.12.25
Wrapping up 2017 📦
-
2017.11.02
Linting your Xcode projects with xclint
-
2017.10.30
Consistent vs convenient
-
2017.09.29
Modular Xcode projects
-
2017.09.13
Providing mocks and testing data from your frameworks.
-
2017.09.13
Conditionally embed your dynamic frameworks
-
2017.08.21
Little tweak to be more productive writing XCTest tests
-
2017.07.31
Introducing xcodeproj
-
2017.07.18
Moving back to Berlin
-
2017.03.02
Composable UIs
-
2017.02.16
Divide and conquer
-
2016.12.18
📦 Wrapping up 2016
-
2016.11.16
Extensions, dependency injection and frameworks
-
2016.11.12
Developing tools for developers
-
2016.11.09
Stepping off the social world
-
2016.07.12
Be Reactive my friend
-
2016.07.10
Micro Features Architecture for iOS
-
2016.06.22
Network Testing - Say hello to Szimpla
-
2016.06.21
A journey into Frameworks - Le Testing Framework
-
2016.06.20
Being disconnected in a connected world
-
2016.05.23
Boy Scouts rule with Danger
-
2016.03.23
Automating iOS review tasks with Danger
-
2016.02.28
Marcheta en la vida
-
2016.02.07
Xcode scripts to rule them all
-
2016.01.14
States - The source of truth
-
2015.12.29
Install the last Carthage version on CI services (Travis, Circle, ...)
-
2015.12.21
Rewriting SugarRecord, 2.0
-
2015.10.27
Functional is about functions (Swift)
-
2015.10.14
Implementing a Mutable Collection Property for ReactiveCocoa
-
2015.08.09
Programación Reactiva en Swift: Parte 1, Introducción
-
2015.06.18
Paginated API requests using Functional Reactive in Swift
-
2015.06.11
Why Open Source helps you to become a better developer
-
2015.06.07
My first Apple Watch impressions
-
2015.05.25
Full control in your hybrid mobile apps with a local server, 8fit
-
2015.01.28
Modularize your mobile projects
-
2014.12.10
Boosting your mobile app with Javascript and some mobile knowledge
-
2014.12.08
Swift and Objective-C playing together
-
2014.11.23
Codemotion experience
-
2014.11.16
VIPER, Looking for the perfect architecture
-
2014.11.04
Github as your project management tool
-
2014.10.29
Leaving Redbooth
-
2014.10.13
Setup your iOS Projects for testing