About me

Hello there! My name is Alejandro Martinez, a.k.a @alexito4 since the MSN Messenger days.

By day I’m a Software Developer currently based in the beautiful city of Girona in Catalonia, Spain. I’m currently working as the Mobile Captain of Workangel now called Lifeworks now called TELUS Health.

By earlier-in-the-day I’m an aspiring Fantasy Author, writing stories that happen in the fictional universe of the Pulubi.

By later-in-the-day you can find me sharing my knowledge and love for technology in this blog or in other channels. I’ve always loved to share what I know so I can’t resist sharing something about my various interests for too long!

If you’re mildly interested in what I have to share, check out my profiles on the socials:

When not busy

I’m a lucky guy with a beautiful woman and cat by my side so usually you will find us enjoying the time together, probably watching some TV Show.

But when I get some free time, I love to spend it in fantasy worlds. Usually that means playing video games to enrich me with their mechanics and stories, but I love a good story no matter from where it comes so I also devour books and films. And I love to create my own stories too, so occasionally I will write some short story and even run a D&D campaign if the stars and planets align.

About this website

This is my personal website, first and foremost. The content here is about all the things I love, so obviously the vast majority is about development and Swift concretely. But these are not the exclusive topics of the site, so I hope you stick around for the rest ^^.


Appearances

Podcast

Unicode(U+00D1) Podcast - Swift Evolution (in Spanish) Listen

Guest post

Parsing Beyond JSON with swift-parsing - 23/09/2024

Mentions

Using Binaries as LibrariesWhile many developers typically integrate open-source projects directly into their codebase, there are cases where calling executable binaries can be a more efficient approach. In this article, Alejandro Martinez demonstrates how to use Swift to call the ffmpeg binary to render video, avoiding the need to link it as a source code dependency or a static/dynamic library. This approach not only simplifies the integration process but also eliminates the maintenance overhead that comes with external codebases, making it a good fit for certain specific tasks.

GenesisThis new tool from Alejandro Martínez is not the first static site generator for Swift. Not by a long way! But it is the newest, and it takes quite a different approach to the alternatives in that it’s a very bare bones approach. Everything is just a String! There’s also a lengthy post explaining some details and the thought process behind it, which you’ll want to read, too!

Backport SwiftUI modifiersThere are some APIs that are easy to backport if we disregard the old versions of the operative system. This may sound awful but is a valid option that is worth considering.

Swift Package Manager Dependency OwnersThis post from Alejandro Martinez is an interesting glimpse into what might one day be possible with package manifests. The specific example will only be of use to those of you on large teams with apps that have plenty of dependencies, but the concept is interesting. It’s not what I’d call usable at the moment, but maybe one day?

Swift Package Manager Dependency Owners

Swift Package Manager Dependency Owners

Backport SwiftUI modifiers I liked this very pragmatic advice from Alejandro Martinez as he considers SwiftUI version compatibility: “Remember that this code is for you. It’s likely that you are not trying to make a full featured framework for the entire world, so if you don’t need some functionality right now, just skip it. By the time you need it, you will use the native solution already.” It’s great to release packages that others can use, but it’s always worth remembering that you don’t have to.

On the new Point-Free swift-dependencies library Why am I linking to Alejandro Martinez’s articles on the new Point-Free dependencies library over the official announcement post? When someone takes the time to write about someone else’s work, that’s always a great indication that it’s worth checking out. 👍 I wish it happened more often!

Limit Swift Concurrency’s cooperative pool One of the nice things about Swift Concurrency is its cooperative thread pool. When writing concurrent code you should not think about threads but is still good to know how things work under the hood.

Quotes from Limit Swift Concurrency’s cooperative pool

Limit Swift Concurrency’s cooperative pool The great thing about using the new concurrency APIs is that we no longer have to think about the number of threads we spawn. However, sometimes you still want to debug scenarios in which threads are limited, for which Alejandro Martinez wrote this great article.

Generating this site with Netlify and GitHub Actions by Alejandro Martinez I found this blog post from Alejandro, and it immediately caught my eye, since next year I am going to be working on the new SwiftlyRush website, did I just say that out loud? 👀

Fluent syntax extensions in Swift by Alexito’s Martinez I am in favour of simple code beats over-engineered. It’s easier to maintain and easier to digest when that engineer inevitably moves on. However, I am also a huge fan of making sure the code is readable, this article by Alexito is interesting using the framework Then, which enables initialisers easier to instantiate, I am not sure I would run too quickly to adopt this, but perhaps it could work for you?

FlowThis package from Alejandro Martínez looks great, especially when you need to make a UIKit view in code. There’s also a complimentary blog post, if you want more details or some of the history behind this problem.swiftpackageindex.com

iOS App Architecture in 2022 In my opinion, there’s no one architecture to use. At WeTransfer, we use a combination of MVC, MVVM, and Coordinators in which we try to use the pattern that best fits the problem we’re solving. Alejandro Martinez shines a light on App Architecture in 2022.

iOS App Architecture in 2022 Since we’re about to start a new year, I thought it would be good to write about what I think it’s the best approach for building iOS apps nowadays.

iOS App Architecture in 2022 A detailed post touching code base structure, modularity, UI, architecture and more.

The importance of cooperative cancellation I’m assuming that everyone here has read between one and ten posts on async/await or Actors this week, so I’m not going to link to any posts on that topic. Instead, I’ll link to this fascinating article on cooperative cancellation of asynchronous tasks from Alejandro Martinez. You really should read this one.

The importance of cooperative cancellation with async tasks It’s great to see many articles being published around the new concurrency changes that arrived in Swift 5.5. One important aspect of using async/await is handling cancellation correctly. Alejandro Martinez is here to explain.

Better Dictionary literals with Result Builders I’m really not sure how I feel about this use of result builders from Alejandro Martinez. On the one hand, it’s cute and does enable cleaner code in some circumstances. On the other, do you want to put another layer of code behind the process of creating a dictionary? Interesting article, though!

Point-Free Composable Architecture

From a first look at this new architecture framework from Brandon Williams and Stephen Celis, I like it. I’ve also heard several good things from people who have been beta testing it. It’s too much even to attempt to summarise it here, so the best way to get up to speed is with this walkthrough video or the example apps. It’s also worth looking through this post from Alejandro Martinez on it.

That said, I think it’s worth mentioning a couple of points before you jump in with both feet. First of all, this is an opinionated framework, and it’s strict about how you use it. So if you adopt it, don’t try and fight it. Secondly, building your app on top of a third-party architecture framework is a big decision, and it’s usually hard to back out of once an app is in progress. I do thoroughly recommend you check it out though as everything about it is exceptionally well thought out.

To learn details about building reusable buttons,I recommend reading Alejandro’s tutorial, which is comprehensive and useful.

Books