All Posts

Career Advice From People I Admire

Career Advice From People I Admire

I am incredibly grateful to the people who have helped shape me into who I am today. Their support and guidance have been invaluable. But advice, like wisdom, can be tricky. It’s not always suitable for everyone, and any phrase can become wisdom with the right context. Generic advice from sources like LinkedIn can often be too broad or superficial, and should be taken with a grain of salt. While I have a wealth of wisdom to share, I will save that for my one-on-one conversations.

If someone copies your content, it's a good sign.

If someone copies your content, it's a good sign.

“Imitation is the sincerest form of flattery,” I often say when someone tells me they’re mad because someone stole their idea or post. It’s a poor consolation, I know. There’s real anger when you pour effort into something, and someone else takes credit. I’ve felt that anger many times. Just a few weeks ago, I saw someone on LinkedIn lamenting that another person had stolen their idea, got 40k likes, and then blocked the original author. It’s unfair, yes—a reflection of the world’s inherent unfairness.

Do not prioritize efficiency over nuance, fuck Gen-AI

Do not prioritize efficiency over nuance, fuck Gen-AI

I used to write a lot when I was younger, even as a kid. There was no Gen-AI, no Grammarly, no advanced tools to assist with spelling or grammar. It was just me, a pen, and paper, pouring out my thoughts. I would lose myself in the worlds I created, and I would revisit some of them. I used to write speeches, poems, and essays. Words were my world, a tiny one-person world. Code became a form of expression. Writing has always been my sanctuary, a place where thoughts can flow freely, and ideas can take shape.

A Historic Shift: How Mexico's First Woman President Challenges Toxic Masculinity

A Historic Shift: How Mexico's First Woman President Challenges Toxic Masculinity

Today was a historic day for Mexico, as the country elected its first woman president. I love Mexico—the culture, food, friends, and family—but it has always been a country with deep-rooted toxic masculinity. This event is truly historic and unexpected. I don’t expect much to change immediately in terms of politics, although I hope for significant progress. It won’t erase machismo overnight. Women all over Mexico are not only still underpaid and undervalued but also face violence and disappearances. They are getting killed and mistreated. I am not physically violent, but I used to embrace that toxic masculinity without realizing it. Each time I return to Mexico, it becomes evident to me how normalized such behaviors are, sometimes even among my close friends and family, in work settings, and in general society.

A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 6

A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 6

You can find the index and other parts of this series here. Let’s dig in into the most controversial part of my guide: the inbox. As far as I know, there is no way to make this inbox static. However, thanks to the fact that ActivityPub does not require the inbox to share the same domain as the other elements, we can host it anywhere. I believe it could be controversial for two reasons. First, it is not truly static; you require a backend somewhere running on some kind of server. The second reason is that I am using Azure, and I know from the get-go that will put some of you off. But I believe this guide is still valid, as you can easily deploy to AWS, GCP, or even Vercel. I am writing this in .NET, but as you may already know, translating the logic should be trivial for most modern languages. I will actually encourage people to contribute these implementations to my repo and make it our repo.

Every engineer needs to know a Silicon Valley

Every engineer needs to know a Silicon Valley

Reflecting on Seven Years: A Revisited Perspective I’ve chosen to revisit this post, originally published in 2017, which was likely the second entry on this blog. Much has unfolded since then: it was my first year in the US (still thinking in getting back to Mexico), my brother was still in Mexico, the onset of Trump’s presidency, and the world was not expecting a pandemic yet. Seven years later, I’m appending Part 2 following a recent visit to San Francisco. What changes have transpired, and what might I have overlooked? Let’s delve into it.

Advocating for Accessibility at 11: A Story of Limited Means

Advocating for Accessibility at 11: A Story of Limited Means

I was 11 years old when I became an accessibility advocate in software products thanks to Bill Gates. I did not know the term at the time, and it certainly was not planned. My parents bought a second-hand (or maybe third?) computer from a relative (thank you tío Rafa!), a fragrant IBM PS1 that now included screen colors. This was my second computer; the first one had a retina-damaging green monitor (verde chinga-pupila in Mexico), hacker-style, running DOS and Pascal.

Implementing Subscribing to Your Site Feature with Mastodon/Fediverse Accounts

Implementing Subscribing to Your Site Feature with Mastodon/Fediverse Accounts

We will take a break from discussing ActivityPub concepts, and I’ll explain how I implemented a very simple “Subscribe” feature for this blog using Mastodon/Fediverse accounts. You don’t need to have your site/blog ActivityPub enabled for this; you will only need a Fediverse account and basic html/css knowledge. You can also navigate the other parts of this series here. The Motivation The motivation behind this simple feature is quite strong: Increasing awareness of the Fediverse/Mastodon: By treating subscriptions from the Fediverse as a first-class citizen, rather than using email or other mechanisms, we can increase awareness and potentially drive more users to the Fediverse.

Demystifying LLMS From Zero to Raccoon-Hero, with Azure and DotNet, Part 2: Adding the OpenAI magic with Semantic Kernel

Demystifying LLMS From Zero to Raccoon-Hero, with Azure and DotNet, Part 2: Adding the OpenAI magic with Semantic Kernel

There is a video version of this post in my YouTube Channel. So we have our boilerplate app, and we are ready to start adding fun stuff. If you do not have that, check the part 1 of this series. We will start by making sure we have Semantic.Kernel in our usings: using Microsoft.SemanticKernel; Now we will configure the “Kernel”, which as the name says is the heart of SK (Semantic Kernel). We will add this to our services configuration helper method:

Large Language Models Demystified: Are LLMs Artificial Intelligence? Harnessing Their Power Responsibly

Large Language Models Demystified: Are LLMs Artificial Intelligence? Harnessing Their Power Responsibly

I’ll keep this short and sweet since there’s already gazillions of information about Large Language Models (LLMs) and artificial intelligence (AI), and I doubt I’ll contribute anything novel to the discussion. This post aims to put in words this interlude video about LLMs and AI before adding the magic AI bits into our app. I will argue two things: 1) LLMs are a form of artificial intelligence, 2) They represent a rather limited form of intelligence that requires constant supervision. Following this, I’ll include a link on how to install these models locally.