As part of building Chimera , an AppleOS tool for capturing networked knowledge, thoughts, and ideas, I encountered an issue trying to set up Neo4j on an M1 laptop (i.e. arm64 architecture) . It turns out that Seabolt , the connector that n…
Writing
A while ago, I started reading about the Rust programming language out of curiosity. Many things fascinated me about the language. It has a powerful dependency manager similar to the Swift Package Manager but more thoroughly designed. Unlik…
One of the things that I find the hardest when building open-source software is planning the work . On one side, there are all these new features and improvements that you'd like to build. On the other side, there are PRs to review, tickets…
When building open-source software, getting external contributions is usually one of the most difficult things. Most of the times developers are busy working on their projects, and they are hesitant to devote time to another project. That's…
As you might know, Shopify allowed me to try the people management track and become an engineering manager. I've been doing that for the past two years. Along the process I learned a lot and made so many mistakes and I don't regret having g…
One of the things I like about Shopify is an internal tool called Vault . It's the backbone of the organization. You can find people, navigate the report structure, find answers for your questions, follow projects and share updates with the…
I recently changed my stand in regards to the technologies that I use when building software. In particular, I decided to minimize the amount of Javascript that I use in my projects. In my experience, Javascript is usually synonym of indire…
Over the past two years, I've been engineering manager at Shopify . I managed the Mobile Tooling and React Native Foundations teams over here. I'm grateful that Shopify allowed me to experience what being a manager is like. I learned that p…
A while ago, and inspired by Facebook's internal tooling, we added a new command to Tuist, tuist focus . As it names says, it's intended to be used when you want to work on a given target. If you have a project of, let's say 300 targets, yo…
One of the things that I struggle a lot with these days is focus . Because of that, I realized I cannot longer do deep and focused work. I spend my days context-switching all the time, and although I've got used to it, I don't like it. Ther…
As we are approaching the release of Tuist 2.0, I started thinking what's next for the project. The focus until 1.0 was around project generation. We provided developers with a graph-based project generation that abstracts away Xcode's intr…
As you probably know, I started building Buildify , an open-source and AGPL-3-based tool for deployments. Like I did with Tuist , I'm in the process of building mental models around the business domain. It's one of the hardest steps, and th…
I recently had to set up a React frontend for a Rails app, and I decided to use ViteJS instead of Webpack . What's interesting about ViteJS is that in development, it uses ES modules instead of smashing all your Javascript into a single fil…
I became weirdly excited for Rust lately. It's a programming language that I've been planning to learn for some time and I finally set out to learn it. It's just the beginning of my learning process but I have to say I like the openness of…
I’ve been using TailwindCSS a lot lately. I like the fact that styles are contained within the HTML elements through classes. You can copy and paste an element styled with Tailwind and you can be certain it’ll look the same. Unlike other st…
Writing a project's documentation is not as exciting as coding, but over the years I got to understand the key role of documentation in the developer experience. Shopify for instance has a team dedicated to maintain our internal documentati…
Yesterday, while reading about Rust and its package manager, Cargo , I realized how diverse the list of Crates (packages) for building CLIs is compared to Swift, and made me think about the connection between that and how Rust and Swift are…
I often wonder why Apple continues to build features that are closed into Xcode, for example Swift Package Manager's integration. While some developers might see that as something positive, because that means it can be seamlessly integrated…
When looked from the consumer standpoint, open source often reads as software publicly available that I can check out, use, and improve. However, there’s more than that. In a world where everyone seems to be obsessed with building the next…
Yesterday, we announced that Tuist has now stats that allows us to understand how users use the tool and therefore, invest our time working on Tuist more wisely. As expected, there were some negative reactions to this: Oh! I’m glad that I c…