In a simplistic way, we can see web frameworks as convenient functions that take your app as input and return deployable artifacts. GatsbyJS generates static HTML, CSS, and Javascript that platforms like Netlify know how to deploy. Rails ge…
Recent writing
It's been a while since I started reading more about personal finances and investments. My primary motivation was to escape the tempting treadmill of scaling up costs as the income increases. It's never late to learn about it, but the earli…
I’ve been thinking a lot lately about the role React plays when building a web app. Companies like GitHub and Shopify , both very successful software companies, introduced React recently in areas where it makes sense . This led me to the qu…
Over time, my relationship with the Internet has turned me into a dopamine-dependent. I’ve reached a point when my body often has a physical presence in the offline world throughout the day, but my brain wanders in the online space. Should…
As you might know, I’m a curious person. That leads me to reading about challenges tech companies run into and the solutions that they come up with, and connecting them with similar problems with the aim of forming mental models. Why React…
If we think about how tech companies build products these days, we'll realize many present a single model that they push onto the world . Companies like Facebook and Twitter model for how social interactions happen on the Internet. Others l…
As some of you might know, we’ve been in Barcelona looking for a flat to relocate from Berlin for the past few weeks. A few things happened during the COVID19 pandemic that prompted us to think about whether we wanted to stay in Berlin long…
Every time I try to set up Omniauth on a Rails codebase I run into the same issue: Not found. Authentication passthru And every time I have to spend a fair amount of time understanding what's causing the error. Luckiy it won't have anymore…
One of the things that I appreciate as a developer is having a consistent experience across projects . As you probably know, this is often not the case when running a project locally. Some ask you to run yarn run ios . Others prefer an exec…
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…
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…