Today is my last day of being 42, my last day of being the answer to life the universe and everything 😭 Really I can’t say I pulled that off, but I sure did give it a go!
In the past year I made 12 trips to 5 different countries. I did two talks en español!
I definitely prefer the messier moments and the messier photos. Life just is messy, you make yourself miserable trying to be perfect and polished.

Evergreen April Fools meme

Buen dia. I already fell victim to one cruel April Fools joke 😢

The biggest way in which men fail to protect is by not believing that there is a threat to protect against.
Affirmative action for white men has been a part of the states for the entirety of it’s existence.
That has been fading a lot in my life time, but it amuses me how people get so angry about the evil “DEI” and don’t realize that in a lot of places DEI is simply a process for removing the affirmative action for white men. It’s a process for making the hiring process more fair… making it more of a meritocracy.
The key to the whole inner peace thing is to not have any desires or attachments that your sense of self is dependent upon.
20+ years ago I spent a few weeks studying Buddhism in a world religions class at Oakton Community College. I don't remember a lot accept that I didn't like it. I'm not supposed to desire anything? What's the point of being alive then?
Years latter I came to understand the concept more as you're not supposed to be attached to things and that made a lot more sense to me.
...But I am attached to things! I have to un-attach from my kids in order to have inner peace? Nah that's BS
But now I get it. It goes back to this 'outcome pressure' thing that I deal with a lot and the idea of not taking on responsibility for things outside my control. It's about a sense of what you are and are not responsible for.
The attachment thing is mostly right. But it doesn't mean don't care, or don't strive, it means don't lose your sense of self to an attachment to something external.
“Only the people can save the people” 🫶 #NoKings

I'm such a middle aged bitch.
It's fabulous✨
Someone: "how do you do it all?"
Me: "I don't, I have a partner who does it all with me."
Ladies, don't marry a man that wants a wife and kids. Marry a man that wants to be a husband and father!
Sometimes I hear that macaroons are confusing, and that bums me out as I find them to be so elegant and simple. So let me see if I can effectively communicate how beautiful this little piece of tech is…
Let’s imagine that you have a server that has some data to serve up and you want to gate your content and perhaps charge for it.
Step one, create a secret. Here we’ll use just the word “secreto”, which is of course “secret” in Spanish. The tricky part for you is that you have to know what a hash function is, and the tricky part for your server is that it has to hold on to and protect this secret.
Now perhaps you want to give your users ID’s. Something complex and official looking like “id12345678id”.
To make a very simple macaroon for your user you simple hash “secreto” together with that ID “id12345678id”. You can try this yourself on the command line if you like.
$ echo "secreto;id12345678id" | sha256sum
The result is “55413cca2fbc3a31f5ef5ab7b18390c926dd7f9d466034ea8ec2a0867e19e26d” and congratulations you created a macaroon! (Kinda)
You then hand your user this data:
id12345678id
55413cca2fbc3a31f5ef5ab7b18390c926dd7f9d466034ea8ec2a0867e19e26d
You don’t have to hold on to any data at all besides that secret. You can hold on to that ID data if you like. But tomorrow when the holder of this macaroon shows back up to access your services, how can you validate them?
Very simply as you know the secret!
You take that ID “id12345678id” and hash it together with your secret [$ echo "secreto;id12345678id" | sha256sum] to see if you get the hash that they showed up with, “55413cca2fbc3a31f5ef5ab7b18390c926dd7f9d466034ea8ec2a0867e19e26d”. If you do, then you know that your server created that macaroon and you can let them right in.
Easy peasy lemon squeezy.
Well, ackchyually 🤓 ...
What I’ve described above is really more of an HMAC(Hash-based Message Authentication Code) than a macaroon. What macroons are really for is chaining hashes and adding attenuations. So let’s add in one more step.
You don’t want this user to have access to your server forever, so you want to add an expiration date to this authentication token. Let’s say April 27th 2027.
So let’s add that to our HMAC thus turning it into a proper macaroon! Right now we have:
id12345678id
55413cca2fbc3a31f5ef5ab7b18390c926dd7f9d466034ea8ec2a0867e19e26d
How do we add our new attenuation? With another hash of course!!! We take our existing hash, and hash it with our new data, “expires:2027-04-27”.
$ echo "55413cca2fbc3a31f5ef5ab7b18390c926dd7f9d466034ea8ec2a0867e19e26d;expires:2027-04-27" | sha256sum
We now have a new hash! “bf41dee1dacfe63e1d917c46d024e6ceb13506632e092fa218bd96df041f7b0e”
This is now the macaroon that we give our user:
id12345678id
expires:2027-04-27
bf41dee1dacfe63e1d917c46d024e6ceb13506632e092fa218bd96df041f7b0e
And still, only we know the secret. And so, this user can’t change this macaroon as doing so would alter that hash thus making our validation of it fail.
So how can we validate it? Also, very, very simply with just that secret and a few hash functions!
As we have the secret, all we need to do is recreate the macaroon and see if we get the final hash that the user showed up with.
Hash together the secret with the ID. Take that result and hash it together with the expiration data. If the result is the same hash as the user presented to us then we know that macaroon was created using our secret. So either someone has stolen our secret, or we created that macaroon!
Don’t trust, verify. Try it yourself on your machine.
$ echo "secreto;id12345678id" | sha256sum
This produces 55413cca2fbc3a31f5ef5ab7b18390c926dd7f9d466034ea8ec2a0867e19e26d. Then…
$ echo "55413cca2fbc3a31f5ef5ab7b18390c926dd7f9d466034ea8ec2a0867e19e26d;expires:2027-04-27" | sha256sum
Which produces bf41dee1dacfe63e1d917c46d024e6ceb13506632e092fa218bd96df041f7b0e.
The hashes match, authentication complete!
...one more ackchyually. A real HMAC function is slightly more complicated than demonstrated above. HMAC functions handle the data more carefully than just taking a string, and there lots of details in formatting, and there are details on how third party caveats are added, etc.
However, if you’ve made it this far, congratulations, you understand macaroons! 🥳
The relationship is the prize.
It’s my sincere guess about the universe that the most important things in life are…(in this order)
1. Who you are. What you chose to be. Your values.
2. Your loving connections with others. Your relationships.
3. How you impact the world. The ripple effects that your behavior has.
When deciding who to deal with, who to be close with, you gotta get an idea of what they think to be the most important things in life. If fame, power, fortune, etc. are on their list then you are at risk of being used for those ends.
If whoever you’re dealing with doesn’t see the relationship as the prize, then you are a tool to achieve a different prize.
There is no utopia, everywhere has it's problems. You gotta pick the set of problems you prefer.
...like today, my office in San Juan is far too sunny. So sunny I put sun glasses on over my computer glasses.
These are my kind of problems ☀️😎😉
There is a variety of misogyny that I run into a lot in the crypto community. It's very nice sounding hippie dippie misogyny and it goes like this... male leadership is simply natural, it's what we see all throughout the animal kingdom. That's just the way nature is.
Two things here:
1. This is just plain false. For example, Bonobos are one of humans closest relatives in the animal kingdom, and Bonobos are matriarchal.
2. Let's say that the animal kingdom were entirely patriarchal, do we want to be like the animals? Do we aspire to be like Chimpanzees, or do we aspire to be more enlightened creatures? And I'd argue that more enlightened creatures aren't interested in suppressing half of their species.
“SaaS is dead” they say. AI killed it, we’ll all just use Claude to write our own custom apps.
*ahem* Claude is SaaS.