Adventures building Open Source software

2022.05.09 Weekly update

I’ll start sharing weekly updates around random things in my life with no concrete format. Writing is fun, so I want to do it more frequently.

Burst in New York

Teams at Shopify can organize in-person get-together events called Bursts. They happen in ports set up by the company or in any location you wish. In the case of the former, most things are taken care of for you (e.g., space, catering, activity suggestions). If you decide on the latter, it’s a DIY type of experience for team leads.

This week it was my team’s in New York, which is a port, but we had to organize it ourselves because the port was already booked by another team. It was a blast meeting the entire team in person for the first time and getting to know them at a personal level. I think it’ll make a huge difference going forward in my online work relationship with them.

Elixir and Phoenix

I listened to a Podcast recently by Jose Valim, the creator of Elixir, and got me very excited about the ideas behind the language and the Phoenix framework. In particular, the bet on immutability and functional programming on top of Erlang makes it possible to use computer resources efficiently, and build real-time applications with minimal effort and complexity. I might give it a shot in some open source project just for fun.

What do I build with Rust?

On the topic of learning, the idea of consolidating and deepening the knowledge of Rust keeps coming back, but I still haven’t found a project where a Rust makes sense. Using it for a project where Typescript or Ruby make more sense just feels odd. I guess I could forget about that oddness and just do it for fun.

I continue to pour energy into coming up with the mental models and building blocks that will form the foundation of the framework. In particular, since we’ll allow users to choose the UI solution, I’ve been trying to find common denominators across all UI frameworks that I can codify on the integration abstraction. I think I might have found the abstraction so I started prototyping it on top of the Rollup plugin’s API.

Languages

My wife’s love for languages and localization made me more aware of the connection between languages and building solutions that are accessible, and how little frameworks and platforms care about languages. If you look around, it’s uncommon to see web frameworks providing localization primitives; they usually treat that as a second-class citizen. Shopify’s platform could be better, so I’m creating awareness within my area of impact. I think this is a natural consequence of technological solutions being born in an environment where English is the predominant language of its maintainers.

Platforms and frameworks

And continuing with frameworks, as part of my work at Shopify, I got to think a lot about what makes a platform a great and diverse platform, and I realized frameworks play an important role in it. Especially if the platform is dynamic and you want projects to evolve with it. Apple’s ecosystem would have ended up very fragmented if they didn’t provide developers with frameworks like UIKit or SwiftUI. I’m excited that Shopify is moving towards a similar direction in the storefronts space with a framework like Hydrogen, and I’m pushing hard for exploring a similar direction for apps too.

I’m trying to use Mastodon more actively since Elon Musk announced his interest in buying Twitter. I just don’t like where the popular social networks are headed and want to make sure I start protecting against direction shifts that might have a negative impact on my mental health. The problem is that my dependency on Twitter is very strong. I have many professional connections there and being on Mastodon can feel very lonely.

As part of this transition, I read about the idea of federated servers and the Fediverse. I in fact started using a photo-sharing tool, Pixelfed, that resembles Instagram, but without all the addiction-oriented features and is powered by a federated server.

The decentralization nature of federated servers makes me think a lot about the decentralization many crypto-bros claims is now finally possible thanks to blockchain. Well... NO!

Crypto

I continue to read posts here and there and more and more I want this whole scam to finish for the sake of protecting the planet, distributing wealth as equally as we can, and supporting the social systems that made it possible to go a long way for society, and to remain humans. F***ck putting tokens on interactions. Conflicts are part of being humans and we don’t need tokens to eliminate them.

That was it for this week. I wrote this one on my flight back from New York. I have a layover in Berlin and then I’ll take another flight to Alicante and spend the next week with the family.

Cheers!