Skip to main content

🌿 Second steps into the IndieWeb

· 17 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri

A few days ago I wrote about my first steps into the IndieWeb: making my HTML more semantic, turning my site into an identity hub (with rel="me" links, so that on the services that support it I can identify myself with my own domain instead of with accounts on platforms I do not control), referencing other sites with Webmentions sent by hand with curl, and a Micropub server that had just started working.

Since then I have kept adding new things, and I have changed so much that I wanted to write a second post before forgetting everything I did. The short version: publishing is almost solved, following is not.

POSSE: publish on my own site, syndicate everywhere else​

POSSE was the concept that hooked me into the IndieWeb, and I would say it is now genuinely working. Let's look at both halves, "POS" and "SE":

  • POS (Publish (on your) Own Site): publish first on your own site/domain.
  • SE (Syndicate Elsewhere): then push copies out (to the platforms where people already are).

In the following sections I explain how I am implementing it.

Publishing on my own site first​

I run a small private Indiekit server that acts as my Micropub endpoint for posting content.

When I create something there, it gets saved into a GitHub repository, and a GitHub Action takes care of parsing it and rendering it at posts.rauljimenez.info. That way my site becomes the "canonical" copy, and everything else is a copy of it.

The post types I have started experimenting with are: likes, replies, event attendances (RSVPs), events, photos, bookmarks, reviews, check-ins, and "read" and "watched" entries. There are more types configured, but I have not used them yet (e.g. reposts, articles and "listen").

Below you can see a screenshot of Indiekit's web publishing interface with the different post types:

Indiekit screen listing the available post types: Article, Bookmark, Check-in, Event, Like, Listen, Note, Photo, Read, Reply, Repost, Review, RSVP and Watch

Each type has a form with different fields that captures the information later translated into specific Microformats2 properties. That is what afterwards lets another website understand that what I published is a reply, a like or a review, and not simply a loose piece of text.

To publish, I first tried Quill as a Micropub client, but as I said, in the end I only use Indiekit's own interface, which I host myself and which I have customized to be able to publish post types that were not supported there (e.g. reviews, reads, watches and events).

Thanks to IndieAuth and my server's API, I can actually publish with any Micropub client. Here, for example, you can see how I log into Quill using my own domain:

The three steps of an IndieAuth login: I type my own site’s URL into Quill, my own server asks me to authorize the app and shows what it will be allowed to do, and after approving it Quill can publish to my domain

ℹ️ So who do I actually depend on for my identity?

Here the identity is the URL, not the account: my site declares which authorization endpoint it uses, and in my case that points to my own server, which is the one that authenticates me.

If instead I delegated verification to IndieLogin, I would indeed still depend on a third-party account (GitHub, my email, etc.), but on an interchangeable one: I swap it by editing the rel="me" links on my site and I am still the same identity.

The dependency that does not go away is the domain: registrar, DNS and hosting. And it is not a small one: if I lose rauljimenez.info, not only does every canonical URL of mine break, but whoever registers it next could publish their own rel="me" links and impersonate me. The difference with a platform is that here the risk is mine and preventable (long renewals, auto-renew, registrar lock) instead of depending on somebody else's unilateral decision — but if I let it slip, there is no support desk to appeal to.

Syndicating elsewhere: Mastodon and Bluesky​

I have configured Indiekit so that when I create a new post (content), I can syndicate/publish it to Mastodon and Bluesky.

While I am creating the post I have two checkboxes at the bottom of the form that I can tick. If I leave them unticked, the post stays only on my site. In case you were wondering, here I explain why it makes sense to publish something on my site and not distribute it. And if I do tick them, the copies are distributed a few minutes later.

Indiekit’s form for creating a photo post, with the ’Syndicate to’ section highlighted at the bottom, offering one checkbox for Mastodon and another for Bluesky

On top of that, for every post it distributes, Indiekit writes the URLs where it has been published back into the original post. Then, when posts.rauljimenez.info is rendered, those URLs are output as links marked up with the class="u-syndication" microformat, so that any website can tell that those copies on social networks and the original are the same thing.

The main limitation of this setup is that syndication happens only once: if I later edit the post on my own site, the copies already distributed stay as they were.

And then there is the elephant in the room: popular platforms like LinkedIn, X or Instagram, whose publishing APIs either do not exist or are restricted, and to which I currently syndicate nothing. That is one of the fronts I am considering tackling later on.

Letting websites talk to each other​

This is about being able to notify others when I link to them, and being notified when somebody links to me. Webmentions are the mechanism used for this.

Commenting on somebody else's site​

When one of my posts links somewhere, the "build" process discovers the target's endpoint and notifies it. This is the result: I write a reply on my own site, and my comment ends up appearing under somebody else's original article, without having created an account anywhere.

On the left, a reply published on posts.rauljimenez.info responding to swyx’s ’Learn In Public’. On the right, that same comment showing up in the Webmentions section of the original article on swyx.io

The regular articles I publish on this blog (using Docusaurus), like this one, are not automated yet, so for them I still have to send the mentions by hand (for now).

That said, no longer with the curl from the previous post: I now use webmention.app, which takes the article's URL, crawls every link in it, works out which ones support Webmentions and notifies them. I am still doing it manually, but once per article instead of once per target.

In fact, that is how the mention from my previous post ended up in the footer of my own links page.

On the left, the article ’First steps into the IndieWeb’ linking to the links page. On the right, links.rauljimenez.info showing that mention in its ’Mentions’ section

Receiving and displaying what arrives​

For incoming Webmentions I use webmention.io, a hosted service run by Aaron Parecki, and thanks to it likes, reposts and replies are now displayed:

All three domains use the same widget which, because of problems with webmention.io (which I will come back to later), uses a daily "archive" or "snapshot" of the mentions instead of fetching them in real time. After all, I do not get so many visits that anyone will miss it, and what I really want is to be able to keep a copy and unify this presence and interaction.

Pulling reactions back from social networks​

And the piece that closes the loop is Bridgy. It is connected to Mastodon and Bluesky in backfeed mode only. What it does is make sure that when somebody gives a like/fav, a repost, or replies to one of the copies syndicated on social networks, that reaction travels back (as a Webmention) to my original post. That way the conversation that used to stay inside a single network ends up on my own domain.

Here it is with a real case: Wojtek Powiertowski favourited on Mastodon the post announcing my previous article, and that heart ended up appearing in the article's header, on my own site.

On the right, the Mastodon post announcing ’First steps into the IndieWeb’ with one favourite. On the left, that same favourite shown as ’Reactions from the web’ in the article header on www.rauljimenez.info

Putting all of the previous pieces together, the full journey of, say, a photo looks like this: I publish it once on my own site, it gets distributed to Mastodon and to Bluesky, and the reactions those copies receive on social networks travel back to the original version on my site. One place to publish, one place to unify and read everything people reply.

The full journey of a photo post: it is published on posts.rauljimenez.info, distributed to Mastodon and Bluesky, and the likes received on those copies come back as Webmentions to the original post

And the comments too​

So far we have only talked about likes and reposts, but conversations come back as well.

For example, when I announced the talks I am going to give at the next Esri DevTech Summit on Mastodon and Bluesky, Iván Sánchez asked me a rather good question over on Mastodon, and it turned into a thread of several messages. All of those messages now sit under the event on my own site, in "Responses from around the web", next to the likes from Bluesky.

The full journey of an event post: it is published on posts.rauljimenez.info, distributed to Bluesky and Mastodon, and both the reactions and the comments from the Mastodon thread come back and are displayed under the original event

What I like most is that the conversation does not stay only on the platform where it happened: it also ends up archived on the site it came from, which is the only one I actually control.

Notifications​

And how do I find out about all this? Reactions that happen on Mastodon or Bluesky already reach me through their own apps; I do not need to build anything for that. But what about the ones that arrive as a Webmention from somebody else's website — like the reply I sent to swyx, only the other way round? There is no app to alert me there: they get stored on webmention.io, they would show up under my post, and I would only find out whenever I went in to look.

I have to admit that none has arrived from somebody else's site yet... everything I have comes from Bridgy or from myself 😅. But the day one does, I should find out 😜.

That is why I have set the system up so that, for every mention, I get a push notification on my phone and an email (which are my favourite channels). Both come from a webhook that webmention.io calls on a small self-hosted service (ntfy), which pushes to the ntfy Android app on my phone. Here is what it looks like:

On the left, push notifications on the phone titled ’New Webmention’ with the author of each reaction. On the right, those same mentions arriving as email, each with its source and target

Nothing is foolproof​

I think I should say this too. Webmentions are more fragile than I thought, and not because of any particular tool: whoever receives one fetches the source page and checks what it links to exactly against the target URL. If it does not match, there is no mention. And "does not match" covers a trailing slash too many, an http where it should be https, a www that is missing or spare, a redirect in the middle, or a path that no longer exists.

It happened to me replying to swyx's article. I had linked to https://swyx.io/learn-in-public, which is a perfectly valid URL: you open it in the browser and the article is right there. But the canonical one, the one his site actually publishes, is https://www.swyx.io/learn-in-public/ — with www and with a trailing slash. Two characters of difference and a redirect in the middle were enough to make verification fail and my comment show up nowhere, until I realized and copied the URL exactly as it appears on the original page.

And it keeps happening. Going through what I have published so far, I found six real reactions that never made it to my site, all variations of the same thing: three because the post linked to a page of mine that no longer exists, two because replies on social networks did not link to any page of mine (even though they were part of the conversation), and one that was not shown because Bridgy only collects from the moment you connect the account (although it does offer a Discover mechanism to re-check posts).

Not seeing them on my site is one problem, but what "worries" me most is that I never find out: notifications only fire when a mention arrives correctly. Nothing warns you about these failures.

On another note, webmention.io has been intermittently returning 502 errors this weekend, which reminded me that the receiving half of my setup depends on somebody else's server. So I asked myself whether I should self-host that piece.

After thinking about it for a while, I do not want to take that decision lightly and underestimate the work it could involve: if I did it, I would probably have to worry about spam, uptime and the maintenance of something that so far seems to have worked pretty well, run by people who know far more about this than I do. So for now I have decided to make the display more "resilient", and to keep using this hosted receiver.

So how do you follow someone on the IndieWeb?​

Publishing is nearly complete (I think). On the following side I still have a lot to learn.

From what I have read and seen, Microsub is what has been created for this, and I am going to explain what problem it solves, because it took me a while to get it 😅.

If we stop to think about it, in feed readers we normally have a client and a server bundled together, which between them let you do several things: manage the sources (RSS, people, ...), but also fetch and display what is new in each source, organize those sources, remember what you have already seen, etc.

With Microsub the separation is clearer:

  • A server (like Aperture) does the hard work of collecting all kinds of information from the sources: RSS/Atom feeds, the Microformats published on someone's personal site, Fediverse accounts, etc., and it keeps track of what you have already read.
  • A separate reader app (like Monocle on the web) connects to that server and shows everything as a single timeline. There used to be IndiePass as a mobile app, but it is no longer maintained.

One of the advantages of this model is that you can change apps without losing your subscriptions or what you have already read, and another is that there is no platform algorithm deciding for you "what is most relevant", or slipping ads in.

The obvious downside seems to be how volatile some tools in the ecosystem are 😅.

Another key piece of this puzzle is WebSub. Without it, reader clients have to ask "anything new?" every so often, with the well-known consequence of wasted requests and delayed updates.

With WebSub, a site can notify a hub the moment I publish, and the hub pushes it to everyone subscribed (more info). With this model you can "follow a website" and have it be as immediate as following an account on a social network — interesting, to say the least, isn't it?

In my case I already have the feeds (both RSS and Microformats), but I still have neither the hub nor the reader.

What's next​

And what are you going to do next, Raúl?

I am glad you asked, because I have not got the faintest idea 🤣🤣. I am still working out what I feel like exploring next. Options I am considering:

  • Microsub and a reader, to finally read the web the same way I publish to it. Maybe with a WebSub hub on top of the feeds I already have.
  • A newsletter, in case anyone is interested in getting what I publish on my site straight in their inbox. Slightly ironic in a post about decentralization... but people read where they read 😅.
  • A browser extension for platforms whose publishing APIs either do not exist or are restricted (LinkedIn, X, Instagram...). The idea would be for it to make it easy to pull in the content I have already published on my own site and republish it there, even if the last step still has to be done by hand.
  • A personal archive, which is the other face of POSSE: pulling back what I have been posting on other platforms for years (X, LinkedIn, Google products, ...) and then doing a backfill (importing part of that content here). It would also potentially be a way to keep feeding this site (every so often) with content from those platforms that offer no way to import it automatically.

Thanks for reading! I hope you found it interesting and that it helped you understand a bit better how all this IndieWeb stuff works.

If you want to help me, you can give me your opinion: for example, if you have any advice, or you have built something similar and know exactly where I am about to crash, I would appreciate you telling me.

And if you have your own site, I encourage you to reply from it: this page advertises its Webmention endpoint, so your response would show up right below. You would be the first person to send me one from their own site, and that would honestly make my day 😜. Otherwise, Mastodon or Bluesky work fine too.

P.S.: I get the feeling publishing turned out to be "the easy half", and that the other half is where the interesting problems/challenges live 😅.

🌱 First steps into the IndieWeb

· 8 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri

Over the last few weeks, while working on OpenTechEvents, I ended up pulling a thread I had only touched lightly before: the IndieWeb.

And, honestly, it makes a lot of sense that I got there from a project about open tech events.

An idea that is not new​

The funny thing is that the IndieWeb is not new at all. The movement started around 2010, but some of its ideas feel even more relevant now than they probably did back then.

OpenTechEvents is making me think again about how we publish information on the web, how we connect communities, and how we make things discoverable without depending on a single platform.

Some IndieWeb ideas resonate a lot with me: owning your identity, publishing on your own domain, making content more interoperable, and letting websites talk to each other again.

I still have a lot to learn, but I have already started taking my first steps.

First steps​

I added more semantic data to this website using JSON-LD and Microformats2, so my homepage describes me a bit better as a person, not just as a collection of HTML elements. I also updated my links page so it can act as a clearer identity hub, with rel="me" links and better compatibility with IndieLogin.

POSSE and owning what I share​

One concept that especially resonates with me is POSSE: publish on your own site, then syndicate elsewhere. In a way, it is similar to what I already do with Buffer: publishing from one place and distributing to different platforms. The important difference is that, with POSSE, my own website becomes the source of truth, and the rest of the platforms become copies or distribution channels. Understanding it properly can get technical quite quickly, but the idea is very attractive to me: use my own domain as the canonical place for my content and activity, and then distribute copies to the platforms where most people already are.

That does not mean leaving social platforms entirely. If I want to interact with most people, I still need to be present where most people are. But I do like the idea of finding ways to keep using them while adopting more IndieWeb principles, without adding too much friction.

In essence, I like the idea of not being completely tied to platforms that may close, start charging, restrict APIs, or change the rules. I have already seen versions of that story with Meetup.com, Twitter/X, LinkedIn, Flickr, and other services.

There is another angle that bothers me too: when I write a review to help people looking for geolocated information on Google Maps, or upload a photo of a menu so other people can make better decisions, Google locks those data behind a paid API and I cannot say that I want my contribution to be freely available for anyone to use.

That example comes to mind often, but it applies to many other platforms too. We should be the owners of what we share, even if we still participate in other people's platforms.

Aaron Parecki as a reference​

If you have never heard of Aaron Parecki, he is one of the people behind IndieWebCamp. He is also a geogeek: he co-founded Geoloqi, a location platform acquired by Esri, where he later worked from 2012 to 2016 according to his LinkedIn experience. Beyond his IndieWeb work, I have learned a lot about OAuth from his courses and material, which I credited in my 2023 Commit Conf talk, OAuth, OpenID Connect and JWT para dummies.

If someone wants to understand what joining the IndieWeb can look like in practice, Aaron's website is a living example of what it means to own your content on your own domain.

Webmentions​

And now I have also enabled Webmentions.

I think the first time I saw a reference to this concept was while reading something by swyx, probably his post about learning in public. At the time it sounded interesting, but I did not really get my hands dirty enough to understand how it worked.

While testing this, I also realized that receiving a Webmention is only a small piece of the IndieWeb. If I want other tools to understand the context properly, my posts need to include useful metadata too. So I started marking articles with Microformats2 values such as h-entry, p-name, dt-published, p-author, u-url, and e-content, so services can extract the title, author, date, canonical URL, and the actual content mentioning another page. I still need to extend this more consistently across the rest of the site, including my digital brain.

That means that, at least in theory, if someone writes a post linking to one of my articles, that mention can be discovered and shown here. It feels small, but I like the direction: instead of conversations being trapped only inside social networks, a personal website can receive signals from the rest of the web.

I'm not pretending this is a finished migration to the IndieWeb. It is more like opening a door and putting one foot inside.

Pending pieces​

There is also one important piece I have not solved yet: automating the outgoing Webmentions. For now, when I link to a site that supports Webmentions, I still have to send the notification manually, usually with a small curl command. Not ideal, but good enough for a first experiment.

For example, this very article links to my links landing page, links.rauljimenez.info. After publishing it, I can manually send a Webmention like this:

curl -i -X POST https://webmention.io/links.rauljimenez.info/webmention \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "source=https://www.rauljimenez.info/blog/first-steps-into-the-indieweb" \
--data-urlencode "target=https://links.rauljimenez.info/"

And with that, a mention appears in the footer of links.rauljimenez.info. Right now it feels a bit tedious, but I understand that with other tools, such as Micropub, this kind of flow can become much less manual.

I also want to find time to experiment with other pieces of the IndieWeb ecosystem, such as Micropub and Microsub.

And, related but different, I also want to finally understand the Fediverse properly. The IndieWeb and the Fediverse are not the same thing, although both are part of a broader movement towards a more decentralized internet and more control over our own data. I see them as sibling ecosystems, with very similar philosophies, but different technologies and approaches. I had never gone deep enough into the Fediverse, but this has definitely woken up that curiosity again, and I like what both represent.

Towards a digital twin​

Since 2023 I have treated this site as my digital brain. Maybe, little by little, it can also become a kind of digital twin of my online presence: a more faithful representation of what I publish, when I write a review, mark something as a favorite, save something, RSVP to an event, or share things across the web.

Let's see where this path leads 😅.

Update: Micropub is live​

Well, this moved faster than expected. Since writing this post, I have already set up Micropub for real, with a private Indiekit server, helped a lot by AI along the way. In this new flow, publishing no longer depends on manual curl commands, although this integration is not connected to Docusaurus yet.

The flow now stores notes, bookmarks, likes, and replies in a public GitHub repository, hhkaos/posts.rauljimenez.info. From there, a GitHub Action renders the public feed at posts.rauljimenez.info, showing only the items marked as visible.

For now, I am treating this as an explicitly public space: I only plan to publish things I actually want to share in the open, fully aware of what that means. In practice, I do not expect to share anything here that I would not already be publishing in other silos today.

And this is no longer just theoretical: I have already sent a real outgoing Webmention to swyx's learn in public post, as a reply. It was verified by webmention.io and is visible there, which felt like a very satisfying first end-to-end test.

There are still several pieces pending: receiving Webmentions properly, experimenting with Microsub, and deciding whether this new public feed should appear in the main navigation of this site. But the foundations are now much more real than they were when I started writing this post.

Continued in Second steps into the IndieWeb.

🤔 Talking to children about certain topics

· 9 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri

If you have preteens, you have probably wondered when to talk to them about certain delicate topics. In every home those topics may be different: the Three Wise Men, Santa Claus, the Tooth Fairy, where babies come from...

Family having an awkward conversation during dinner

When is the right time to talk about these things? How long does it make sense to keep a little white lie alive to preserve the magic? And how much detail should we share?

The answer is not simple. In fact, even at home my wife and I often find it hard to agree 😅.

So I wanted to write this article, not to give anyone advice, but to share our experience and a reflection: not talking about certain things at the right time could also carry a risk, don't you think?

Note: Of course, the article has also been reviewed by my favorite editor, my wife 😜.

Our children don't live in a bubble​

I think we often find it hard to talk about certain topics because, in a way, it means acknowledging that our children are growing up... and wow, they grow up so fast! 😭

But one thing is what we would like, and another is reality.

As much as we might want it, our children don't live in a bubble. In the end:

  • they spend a lot of time with their friends
  • with older children at school, after-school activities, siblings, cousins, etc.
  • they find things on the Internet, or another child does
  • and so on

That is why it is inevitable that, sooner or later, they will hear or see things. Sometimes those things reach them without them looking for them. Other times, they ask others or look for answers by themselves.

On the other hand, it is also normal for them to end up repeating things, often by imitation, and sometimes without really understanding what they mean.

In short, we often don't know exactly what they know or what they have understood, and that can lead us to misinterpret things 😕.

In any case, there is an undeniable truth that my son's tutor once told me:

Regardless of what we parents do or say, when one child "knows something", it is only a matter of time before the rest also "know it".

Because as soon as that topic comes up again, and one child sees that another child knows less, they may feel tempted to show off and "teach them a lesson", not only to prove that they know more, but also that they are "more grown up".

Children don't live in a bubble

And whether we like it or not, let's accept it... it is inevitable. Hasn't it happened to us too? 😅

The risks of not talking soon enough​

Our concern, as I imagine happens to many parents, is that postponing these conversations, telling "half-truths", or giving incomplete answers because we think they are still too young also has risks.

For example:

  • they may feel that they cannot talk to us about certain topics, and gradually lose trust and end up looking for answers elsewhere
  • they may receive or interpret information incorrectly and form mistaken ideas

Loss of trust

Talking with other families​

But there is something I think is even harder: talking about these topics with other parents, because sometimes they feel like "taboo" subjects.

I don't know if this happens to you too, but we find it difficult to bring up these topics with other families. Sometimes because of:

  • fear of making someone uncomfortable
  • fear of creating conflict
  • fear that, simply by mentioning it, someone might think something has happened

And this is not about all families having to think alike or explain things in the same way. Every home has its own timing, values, and way of explaining things.

But we do believe it helps to be able to talk about these topics more naturally with other parents, sharing what conversations are appearing in our homes and how we are approaching them.

Talking openly with other families

Not so that we all agree on everything or impose one criterion, but so we have a bit more context.

If our children hear something from other children, we can explain why in our family we have approached the topic differently, without them feeling that we have hidden the truth from them or that we are treating them as if they were younger than their friends.

And if we are the ones who talk about something at home, it may also help other families to know that this conversation might come up.

It is better that they hear it from us, calmly and with context, than through an incomplete version told by children. Because that is where the telephone game effect can easily appear: one child tells something halfway, another interprets it as best they can, a confusing version reaches home, and we parents end up worrying or misinterpreting what happened.

Talking about it among adults should be about paving the way and being a little more prepared if the conversation comes up.

And we often wonder: are there more parents in this same situation, wanting to talk about it but not daring to take the first step?

How we approach it​

I am not saying this is the right way, only the best way we have come up with at home.

We are all learning​

Since they were little, we have repeated to them that:

  • adults are not taught how to be parents, and that, although we do the best we know and can, we also make mistakes
  • they are the most important thing in our lives, and almost everything we do is done thinking about helping them grow into good people and be happier

One example is the books we read with them, with the goal of giving them tools to understand themselves better and better understand the world. Some are more emotional books, such as 'De mayor quiero ser feliz' or 'El emocionario'; other times, they are books about the body, such as "Tu cuerpo es tuyo", financial education, or other topics. We also try to help them understand that behind those books there are important "life lessons".

In the same way, when we read parenting books such as 'The Whole-Brain Child' or 'No-Drama Discipline', we also tell them about it. We want them to see that we are still learning how to be parents and that, if they ever think we are wrong, they should tell us, because they may very well be right.

Parents and children learning at the same time

It doesn't depend on just one person​

For example, I have had to explain to my eldest son once or twice that, although perhaps I would have told him some things earlier, it is not always that simple.

I want him to understand that I also need to agree with his mother and that, even then, there may be other people in the family, such as grandparents, who don't share our opinion, and we try to find a balance.

White lies​

At home, since they were little, we have explained the concept of a 'white lie': those harmless or well-intentioned lies that are sometimes told with the other person's wellbeing in mind, for example, to make them feel good, to "protect" them, or to avoid hurting their feelings.

And we have already explained one of them to our eldest.

More complicated topics​

For more complicated topics, which need to be introduced little by little, such as "where babies come from", we do two things.

1) Try to help him become aware of how his tastes change

For example, we sometimes use comments he makes to his younger brother, such as when he says that a game his brother suggests is "for little kids", to remind him that, although he now likes other games, not so long ago he also liked that kind of game.

Similarly, there was a time when he felt uncomfortable seeing two adults kissing on TV. We used that moment to explain to him that it was normal, that sometimes there are things that make us uncomfortable at certain ages and that this can change later on.

Feeling embarrassed when seeing a kiss

2) Try to help him become aware of how his maturity level changes

We help him see that there are things you only understand when you are older, and to do that we try to find examples from situations he has already experienced.

For example, we helped him see the impact it could have on his younger brother's behavior, vocabulary, etc., if he watched content or played games that our eldest liked, but that were not appropriate for his brother's age.

And we also helped him see that, even if we try to explain to his younger brother why he should not watch or play that, he is still not able to understand why it is not good for him.

Age-inappropriate content

And the same rule applies to both of them when it comes to content, games, etc. that we do not consider appropriate for certain ages at home: not because they are bad in themselves, but because they have not yet reached the maturity level needed to understand them properly.

What matters most to us​

Above all, what we always try to convey to them is that they can trust that we are doing what we believe is best for them, and that we want them to feel confident talking to us about any topic. Even if they notice that we are avoiding something, we would rather they insist and ask us why.

We try to make them feel that home is a safe space to talk, open up, and ask questions, and that when they do, we acknowledge and value it.

Shall we talk?​

Although we hope all of this helps us maintain trust with our children, we still feel that an important piece of the puzzle is missing: being able to talk about these things with other parents.

Shall we talk?

🕶️ Gafas con IA de Meta y Ray-ban

· One min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri

Errores​

  • A veces: (sin saber cómo solucionarlo)
    • “Lo siento, no puedo reproducir musica en Spotify”
    • "No se han encontrado contactos" / “No puedo acceder a contactos”
    • “Se ha producido un error, vuelve a intentarlo dentro de un rato”
    • “No he encontrado contenido reciente, para compartir contenido anterior usa Meta AI” (intentando enviar un mensaje por WhatsApp”
  • “Audible aún no está disponible en tus gafas”
  • “La aplicación calendario no está disponible con las gafas”
  • A veces, dice que se ha enviado el mensaje de audio (nota de voz) por WhatsApp pero y no se ha enviado

👪 Nobody taught us how to be parents

· 20 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri
Note on the language used in this article

In this article, I use “parents” to refer to both mothers and fathers, and “kids” to include both boys and girls. While I value inclusive language, I’m sharing our personal experience—my wife María and I are raising two sons—and we're comfortable with these terms to describe our family.

That said, everything I share here is intended for anyone raising, teaching, or caring for children, regardless of role, identity, or family structure.

I hope the language used doesn’t create a barrier for anyone.

⚠️ Content warning: this article contains a disturbing video and a minor spoiler from the miniseries Adolescence.

Fair warning: this is a long read—but parenting is a deep topic, and I wanted to explore it properly 😅.

Nobody taught us how to be parents social image

Today I’ll explain how I use ChatGPT as support in trying to be a better dad.

And I say “as support,” not “as the main tool,” because I also lean on books, my wife, our families, people in our close circle, teachers, etc.

Example: You can see an example of this in the article Learn to Teach (at Home), which I wrote last year.

I’m sharing this after doing a bit of retrospection and reviewing all my ChatGPT conversations on this topic, hoping that my experience might be useful to you.

Just for context: I created my ChatGPT account in February 2023, and from that very first month, I’ve had questions about parenting.

Initial reflection​

When everything changes​

I think most people would agree that when you have kids, your priorities shift—they become the most important thing in your life (spoiler... I’ll come back to this at the end).

I take it for granted that we all want to be good parents and do our best with what we know. But we also need to acknowledge that we make mistakes, like everyone. That said, there’s no need for self-flagellation—we also get a lot of things right, like reading articles like this to learn more 😜.

We’re imperfect​

I really like something the author of the book "Guide for Imperfect Parents Who Understand Their Kids Are Imperfect Too" says (a gift from our sister-in-law a few Christmases ago): "Parenting is a beautiful opportunity to grow as a person, always remembering that we are NOT perfect, and our children don’t need to be either."

The guilt factor​

As if that weren’t enough, last week I finished watching the miniseries Adolescence, based on real events. It’s about a child who commits a crime and the guilt his parents feel, highlighting some of the modern-day challenges of parenting, especially those linked to technology.

Note: It dives into modern bullying, where social media plays a huge role. I’d argue most of today’s parents aren’t ready for this, because this wasn’t part of our own childhood. That’s why last year, Gabriel Zabal and I decided to organize a community talk for families on this topic. And we’re planning to do it again, because it’s essential to stay up to date.

Adolescence, dad crying on pillow

Eddie Miller, played by Stephen Graham (the father in the show), breaking down in tears.

I admit I couldn’t hold back tears when the father says, "Forgive me, son. I should have done better." It’s impossible not to empathize with a devastated parent in that situation.

The parenting license​

As I often tell my kids, we parents make mistakes too, but I also remind them that everyone has to take ownership of their part.

Because parenting is hard, right?

Just a few weeks ago, I told my eldest that there’s no school for parenting, that there’s no license you have to pass to become a parent.

Although, come to think of it... if you need a license to drive a car, maybe we should consider requiring something similar to raise a child—since, let’s face it, the responsibility is even greater 😅.

Let’s lighten the mood​

If you haven’t seen it and want a laugh, here’s the trailer for Idiocracy, a satire that takes things to the extreme (or maybe not so much?)—a future where intelligence has been replaced by collective stupidity 😂😂😂.

Parenting doubts​

Alright, back to serious mode 😐.

As parents, we constantly face doubts. Some are about our actions, others about what our children experience. Here are just a few of the questions that run through my head now and then. You might find them familiar:

  • About our actions:
    • Am I doing this right? Could I do it better?
    • Am I setting a good example?
    • Do I work too much? Do I spend enough time with them?
    • Did I overreact? How should I have responded?
    • Am I too impatient?
    • Am I too permissive? Or too strict?
    • Should I step in more? Or less?
    • Should I influence this? Or let them decide?
    • Am I being overprotective?
    • What am I doing wrong? Is this my fault?
    • How can I prevent them from going through what I did? Should I let them make their own mistakes?
  • About boundaries and autonomy:
    • Should I let them do this?
    • Should I give more freedom? Or less?
    • Do I let them do/watch this or not?
    • To what extent should I supervise? And how much trust should I place?
  • About what they go through:
    • Why are they doing this? Or why is this happening to them?
    • Are they doing it on purpose? Or unknowingly?
    • Why do they behave differently at home and at school?
    • How can I help them understand what happened?
  • About communication and values:
    • How do I talk about this without making things worse?
    • How do I explain it in a way they understand?
    • How do I instill certain values?
    • How do I achieve this without forcing, threatening, pressuring, or guilt-tripping them?
  • About development:
    • Is it too early to explain this?
    • How do I help them when they’re stuck? Do I let them try on their own?
    • How do I introduce this new routine or habit?
    • How do I handle their frustrations?
  • About motivation:
    • Should I encourage them to explore this? Or am I projecting my own interests?
    • Is it better to observe and support only if they show interest?
  • etc.

Sometimes we follow advice (whether we asked for it or not). Other times, we default to how we were raised, or we consciously choose a different path because times have changed or because we believe it's for the best.

But no matter what we do, it’s hard to shake the guilt when we feel we’ve done something wrong.

And that’s exactly why I’ll explain next how I’ve used ChatGPT to help navigate these parenting challenges.

But before that, let’s talk about something I think we shouldn’t overlook when using tools like ChatGPT in parenting: our children’s privacy.

Privacy and children​

Even if we use tools like ChatGPT in private and personal ways, that doesn’t eliminate the risks. In fact, by discussing our kids there, we could be engaging in a form of private digital sharenting—with consequences we don’t always consider.

Consider this:

  • Everything we share with ChatGPT is stored on their servers (in the U.S., under U.S. law).
  • Situations like the New York Times lawsuit against OpenAI have shown that some conversations may not be fully deletable from servers (More info: OpenAI’s response).
  • Accounts can be hacked, or the servers themselves could suffer a data breach.

And I doubt you’d want that kind of sensitive information falling into the wrong hands—or ending up exposed online.

So my recommendation is to avoid sharing anything sensitive or easily traceable back to your child.

That said, I’ve spoken to both my wife and my eldest son about this. I not only asked for their consent to publish this article, but I also plan to continue doing so whenever I want to discuss personal topics using ChatGPT (or any other tool), as long as I believe the benefit outweighs the risk.

If this topic interests you, I’ve added more details in the Privacy Annex.

Why do I use ChatGPT?​

In my case, I use it for various topics—always when I feel the benefits outweigh the risks.

For me, ChatGPT has become a very useful and complementary tool in parenting.

Why?

  • Because doubts often arise at inconvenient times.
  • Because sometimes I don’t know who to turn to for a particular topic.
  • Because the issue may seem minor, and I don’t want to bother people around me.
  • Because I want a "second opinion" or a more neutral perspective.
  • Because sometimes I’m looking for more ideas.
  • Because not everyone has the time or willingness to talk about certain topics.
  • And so on.

How have I used it?​

First, I used the free version for the first year, and since May 2024 I’ve subscribed to ChatGPT Plus (€23/month), which among other features, allows you to create Custom GPTs.

This feature came in handy to customize the AI with info about the values and attitudes we want to instill in our children. I also added other references related to the educational and parenting approaches we aim to follow at home.

And then, what did I use it for?

  • To explore educational topics and resources:

    • Educational methodologies (Bloom’s Taxonomy, PBL, Service-Learning...)
    • Types of attachment (secure, anxious, avoidant...)
    • Skills to reinforce at home based on developmental stage (household skills, time management, financial education, critical thinking, problem-solving, open culture...)
    • How to talk about the body, emotions, and relationships (what to say and how, depending on age)
  • To reflect on my parenting style:

    • Am I being too strict in some areas?
    • Are my reactions over the top?
  • To better understand certain behaviors or situations:

    • Why is it so hard for them to get up in the morning?
    • Why don’t they listen when I talk (e.g., if they’re watching TV)?
    • Why do they ignore me sometimes?
    • Why do they tell obvious little lies from such a young age?
    • Why do some fears appear (e.g., fear of someone breaking in, seeing themselves in a mirror at night...)?
    • Where does shyness come from, and how to work on it?
  • To adapt content to their age:

    • Rephrasing complex questions I don’t know how to explain well (e.g., the value of money: comparing $ vs € vs £)
    • Helping explain abstract concepts: terms (e.g., metaphor), differences (e.g., selfish vs greedy), medical conditions (e.g., epilepsy)
    • Explaining totally new topics (electricity, electronics, finance...)
    • Adapting techniques or methods (e.g., Pomodoro technique)
    • Finding or creating stories/fables with a specific moral
    • Explaining Spanish sayings in kid-friendly ways
  • To find ideas, strategies, and tools:

    • Resolving conflicts (e.g., anger, jealousy, frustration from losing, from the younger sibling always being attended to first, etc.)
    • Finding new ways to introduce routines when the current one doesn’t work
    • Introducing or maintaining good habits (e.g., meditation)
    • Explaining how to do certain tasks well (e.g., highlighting or summarizing)
    • Coming up with ideas to make a school subject more appealing
    • Offering different ways to explain difficult concepts (e.g., reading analog clocks)
    • Tackling co-living challenges like when one child wants something just because the other one has it
    • Studying a subject (e.g., creating practice exercises—supervised)
    • Improving fine motor skills (e.g., creating dot-to-dot drawings)
  • To foster attitudes and skills:

    • Encouraging critical thinking from a young age
    • Sparking curiosity
    • Helping them become more assertive
    • Boosting self-confidence, autonomy, and love of self-learning
  • To explore science as a family in a fun and accessible way:

    • Ideas for robotics, 3D printing, and electronics projects
    • DIY experiments (like homemade bubble soap, etc.)

And yes, I know I could search for many of these things on Google too 😜—and I do.

That said, I’ve also occasionally used Perplexity, a handy tool for quickly getting up to speed on unfamiliar topics (e.g., I once used it to gather info about the game Fortnite before making a decision).

What does it offer me?​

The benefits I get from it can mostly be summed up as:

  • It helps me answer my kids’ questions in ways I might not come up with on the spot1.
  • It makes me reflect, like I’m chatting (confidentially) with a stranger about the topic.
  • It gives me information I can cross-check with a professional (teacher, psychologist, etc.).
  • It helps me brainstorm.
  • It gives me new vocabulary to explore on my own.
  • It provides context on different topics.

(1) I always tell my kids: (1) you shouldn’t blindly trust ChatGPT, (2) you should only ask about topics you understand at least a little, and (3) it’s not a tool for them to use on their own just yet. But I do use it in front of them, read the answers out loud, and clarify when needed, so they can begin to grasp its biases and current limitations.

At home, ChatGPT doesn’t make the parenting decisions—we do, as a family.

A parenting mentor​

Lastly, before wrapping up, I wanted to share a custom GPT I created in February this year, called Parenting Mentor, AI Expert. It’s designed to offer families a tool to help deal with some of the parenting challenges I’ve mentioned.

More specifically, it’s meant to guide moms and dads in problem-solving by analyzing root causes and exploring possible solutions.

💬 Note: it’s not intended for assigning it a task, but rather for having a dialogue.

⚠️ Reminder: for serious issues, always consult professionals.

How does it work?​

It’s configured to try and follow a logical, structured thought process:

  1. It should ask questions until it clearly understands the problem.
  2. It should ask about the child’s age (to tailor the response).
  3. It should try to identify root causes (context).
  4. It should ask what parenting method or philosophy you identify with.
  5. It should explore and suggest potential solutions.

That said, while I believe it’s useful, it doesn’t always follow this flow... generative AI still has a mind of its own.

ℹ️ More info about the configuration

Here’s the document I used to configure this custom GPT in case you want to take a closer look or use it as a base for your own custom version.

I already have ideas for improvements, like adding resources we enjoy: books like “Learn to Learn” by José Jiménez Ortega, educational shows like Once Upon a Time..., “When I Grow Up I Want to Be Happy” by Anna Morató, or classic tales with morals we can link to real-life experiences.

Conclusions​

About privacy​

Here’s my key takeaway:

  • As adults, it’s our responsibility to protect and weigh the risks vs benefits, especially when it comes to children under 14 (though my wife believes teens may need even more supervision and guidance).
  • Kids are more vulnerable in the digital world. We must act with extra caution, especially when using technologies like AI.
  • With tools like ChatGPT, it’s easy to share personal, emotional, or sensitive details without considering future consequences.
  • Even when using private accounts, the risk is never zero. Digital traces last, and what seems harmless today could be problematic tomorrow.
  • Even if a platform seems secure, no system is foolproof. Our accounts could be hacked—and we ourselves are often the weakest link.
  • We should avoid exposing our kids to real (or potential) harm:
    • Don’t share their full name, photos, voice, or any other identifiable data.
    • Avoid describing scenes that might be embarrassing, intimate, or sensitive.
  • We have to think long-term: What if this comes out when they’re older?
  • We must teach our kids the value of privacy and how to handle their own data. Involve them once they’re old enough.
  • If they’re mature enough, we should ask their opinion: check if they’re okay with us sharing certain info about them—even if it’s just to ask an AI for advice.
  • We should only share when the goal is to protect, educate, or address a real need.

And throughout all of this, we must remember: the best interest of the child always comes first.

So if you’re thinking of using any tool for parenting, my advice is: do it cautiously.

If you’re using ChatGPT, remember:

We’re lucky​

Despite everything, I believe that today, as parents, we have more resources and information than ever before to raise our kids well—books, videos, games, studies, AI tools like ChatGPT, and many others.

At the same time, we live in an era where things change at lightning speed, and while that brings opportunities, it also brings risks.

Let’s use what we have to stay informed, improve as parents, and reduce those risks.

Times have changed. It’s easy to fall behind and miss what might be affecting our kids.

Priorities​

As I said earlier, it’s true that from the moment they’re born, our children become the most important thing in our lives.

But remember: just like they tell you on a plane to put on your oxygen mask first before helping others, in life, we also need to take care of ourselves in order to care for them.

We need to be well—physically and mentally—because if we’re not, we can’t be good parents.

That means:

  • Don’t confuse "they’re the most important" with "they must be the top priority at all times."
  • If you mess up, if you stumble, get back up and keep going. Don’t beat yourself up with guilt: we all make mistakes.

They also need to understand that just like them, we need self-love and self-care to be present for others.

The future is uncertain​

And even so, we’ll keep making mistakes. As someone close told me not long ago: “Raúl, no matter what you do, when they grow up, they’ll always have something to blame you for.”

And honestly? I believe it. I did the same with my own parents 😓.

That said, I won’t worry too much about the future. I’ll focus on enjoying the present—because that’s all we really have, and doing my best (with all my flaws and limitations). I’ll try, as much as I can, to keep learning and improving.

What’s next​

For now, I’ll continue exploring how AI can help my kids (and others) grow and thrive. I’ll keep sharing updates with other families through the AI and Education Podcast and in events at my kids’ school.

And I also want to:

  • Publish an article I’ve been working on—co-created with my son’s teacher and ChatGPT—on dealing with “little white lies” in early childhood.
  • Finish a "plan" I’m creating with the help of AI to use at home:
    • To understand and remind ourselves what skills and knowledge to focus on at each stage of parenting, based on our kids’ maturity level.
    • To know what we can do to put those ideas into practice.
    • To reflect on how to instill values and attitudes throughout the process.

If anything I’ve shared here resonated with you, I’d love to hear from you. Have you considered using AI in parenting? What questions or insights have come up for you? Feel free to reach out or share in the comments.

Annex: Privacy​

Sharenting​

Let’s start with sharenting—something increasingly common in today’s society. Even if done with the best intentions, many parents don’t realize what it really means (and it’s not our fault if no one taught us about it).

A picture is worth a thousand words, so I’ll share a video on this topic—a tough watch, but important:

It’s a powerful reminder that we parents have a duty to protect our children’s image and privacy—especially when they don’t yet have the cognitive tools to understand the consequences of data sharing or how to defend themselves against more complex threats.

María and I have always tried to be very cautious about what personal info is shared about our kids online (on social media, etc.), and we’ve decided to deny consent by default for third parties to share their image.

Spanish law​

I’m not a lawyer, but here’s a brief summary of what the Spanish Constitution Article 18, the Spanish Data Protection Agency, and the Personal Data Protection and Digital Rights Law say:

It’s our responsibility to protect children’s right to privacy and image.

Depending on their age:

  • For children under 14:

    • We must protect their personal data, prevent its use without permission, and be cautious when sharing.
    • Give or deny consent on their behalf (though I think it’s best to talk it through with them and get their opinion).
    • Ensure we share only on platforms where we can request deletion of their data.
    • Avoid any form of profiling or influence.
  • For children 14 and older:

    • Help them understand the consequences of what they share and with whom.
    • Remind them they can delete their data or ask not to be tracked.
    • Teach them to recognize when their attention or data is being exploited.
    • Respect their space and privacy.

In any case, it is forbidden to share content that exposes, ridicules, embarrasses, or puts a child at risk—because that could lead to bullying, anxiety, or other negative effects down the line.

🤩 My Experience at Commit Conf 2025

· 9 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri

A couple of months ago, I attended Commit Conf, one of my favorite conferences in Spain (and I never get tired of saying it).

Around 1,000 of us gathered (including 80 speakers) to talk about:

  • Development (e.g., programming languages, databases, web & mobile development)
  • User Experience design (e.g., UX/UI design, accessibility)
  • Development practices (e.g., Agile and Lean methodologies, DevOps practices)
  • Artificial Intelligence and data science (e.g., machine learning, LLMs, data science)
  • Infrastructure (e.g., cloud computing, IoT)
  • Information security and privacy (e.g., cybersecurity, data protection)
  • And much more (e.g., power skills, blockchain, etc.).

Photo collage of the opening session

As expected... I loved the SWAG this year, the design was A MAP created with GitHub Commit contributions! (Amazing work 😍):

Screenshot of GitHub commit summary

GitHub contribution activity screenshot.

Once again, dozens of tech communities joined forces to help promote the event and select talks. In our case, through the Geo Developers community. 

In this post, I want to highlight three main things:

The Billion Dollar Code 🤑​

We named our talk after the Netflix miniseries (which we also used as a storytelling thread). Although my talk titles are usually more descriptive, this one had the intended effect — we exceeded my expectations for attendance, and apparently those of the organizers too, because the room was packed.

Juanma and I counted around 70 people:

Photo collage from our talk

As stated in the abstract, this talk focused on the technical challenges and complexities of implementing map services at a global scale.

Our goals were:

  • Spark interest in the topic: Show some lesser-known but fascinating aspects of these services. 

  • Highlight technical complexity: Reveal just how intricate these technologies are, and the level of software and data engineering required.

  • Value continuous effort: Emphasize the ongoing work involved in maintaining, improving, and innovating within map APIs, and hint at what’s coming next.

  • Help people make better tech decisions: Raise awareness of the variety of providers out there and improve the ability to choose the right mapping tech for future projects.

I usually don’t co-present, but after this experience, I think I should do it more often.

This time I really wanted it to be Juanma and me. Not just because we’ve had a great relationship for years, but also because we work at two of the most established companies in the industry (with over 100 years of combined experience). Plus, we complement each other really well — we cover the challenges from both a software and data perspective, not just for creating, but especially for keeping these services up to date.

The feedback we received both via the platform and in the hallways was excellent. In short:

  • What worked well:

    • People loved the content and many said it surprised them.

    • Several folks mentioned they had never stopped to consider the technical complexity behind these services.

    • Visual examples were especially appreciated — they helped people understand the concepts and challenges better.

  • Areas for improvement:

    • Consider the timing (it was the last talk of the day) and adjust pacing and depth accordingly.

    • Break the session into multiple parts next time to go into more detail.

Quite a few people told us they were feeling tired as it was the final talk of the day. Even so, the response was very positive (we scored 4.5 out of 5), despite the very fast pace (around 33 seconds per slide on average 😅).

You can find the presentation here (in Spanish):

And the recording is available on Commit Conf’s YouTube channel (also in Spanish, but you can activate English subtitles 🤷):

Reconnecting with Communities​

Another reason I love Commit is that it brings together a lot of us who organize and run tech communities.

For the third year in a row, the organizers accepted our Open Spaces proposal, which is always a great opportunity to meet new people and learn from their experiences.

Note: In case you didn’t know, the “meta-community” we launched last year — Community Builders — was born from the idea of keeping these kinds of conversations going after events like this. 😍

Collage of community meetups

We even recorded audio from the open space session, and shared the materials and notes here (again, everything is in Spanish 😅). 

At the closing session, I was invited onstage with the other communities to introduce each one. I took the chance to briefly explain what Community Builders is.

To wrap up, we had a post-conference dinner at Casa Mingo, where Álvaro and I brought together around 20 people who help run communities (including some who couldn’t attend the conference). A perfect way to end the event.

No doubt about it — these activities help us connect on a human level, something much harder to achieve remotely. Bonds are formed, relationships are strengthened, and there's a real sense of closeness that just doesn’t translate through video calls.

Lessons Learned About AI​

No offense to the other topics (there were some excellent talks, many of which are now on YouTube), but this year’s big star was AI. Of the 70 sessions, 17 focused on it — so pretty much at any given time, you could find a talk on Machine Learning or LLMs.

Here’s a quick rundown of themes and the interest I observed:

  • Practical AI integration in real-world apps
    People are eager to understand how to embed AI into existing apps using commercial or open-source models without switching tech stacks.

  • Autonomous AI agent development
    High curiosity around building agents that can learn and act on their own.

  • Security and auditing in generative models (LLMs)
    Rising concern over the risks of generative AI — from running unknown code to accidentally introducing vulnerabilities. There's growing demand for tools that provide auditing and control.

  • Observability and performance (in production)
    More and more interest in understanding LLM behavior in real time, with tools that offer metrics, logs, and traces to improve stability and performance.

  • Advancements in RAG architectures (RAG 2.0)
    Curiosity around new variants that improve contextual retrieval.

  • AI on mobile devices
    Moderate interest in running AI directly on phones without relying on the cloud.

  • AI applications in real-world scenarios
    Less buzz overall, but still some interest in learning about how AI is being used in everyday situations.

I also had a bunch of hallway conversations worth sharing:

  • AI is replacing traditional platforms like Stack Overflow, Reddit, and Google Search for developers — tools like GitHub Copilot, Cursor.ai, and Windsurf are seen as faster, more tailored, and more efficient.

  • Vibe coding seems to be mostly well-received — as long as it's for small utilities, side projects, or low-risk tools (e.g., a command-line client for an API).

  • AI-assisted coding is becoming widespread (even among senior devs), often used for inspiration or to explore alternatives — though the code is always double-checked.

  • Some people pointed out how tempting it is to use AI with unfamiliar tech — the danger being that you may not catch mistakes or bad practices in the generated code.

  • Jon Vila shared a great insight: the risk of empowering less technical roles, like product managers, who start generating code with AI and then challenge development estimates.

  • AI is creeping into every phase of software development — from writing tests and documentation to generating test data and even creating pull requests.

  • People are really interested in tools like:

Final Thoughts​

As long as I can, I’ll keep going to Commit — because to me, it’s one of those rare events where you learn, connect, and leave with a full dose of community spirit. It’s intense, sure, but it’s an event where:

  • You learn a ton (in talks and in the hallways)
  • You meet new people
  • You reconnect with old friends
  • And it’s a meeting point for tons of tech communities

Thanks, thanks, and a thousand thanks to Laura, Abraham, Nacho, Kini, and all the volunteers and sponsors who made this event possible once again.

If you’re still hungry for more, check out the piece I wrote last year: Why Attend Developer Conferences

🗣️ Dad learns to speak up without fear

· 5 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri

For much of my life, I’ve avoided sharing my opinions in public on controversial topics. Not because I don’t have any (I do, sometimes contradictory, politically incorrect, or evolving), but because I’ve been afraid of being misunderstood, judged, disliked, or disappointing people.

What I struggle with​

I’ve always felt uncomfortable with conflict. I’ve never liked picking sides or arguing about who’s right. I think I’ve tried to get along with everyone, often avoiding confrontation.

Maybe that’s why I’ve stayed quiet at times when sharing my thoughts could have brought value (even if it was uncomfortable).

While reflecting on this, I remembered something my dad used to tell me when I was a kid:

"Raúl, you should have friends even in hell." 👹🔥

It’s actually a pretty good piece of advice, though maybe I took it a bit too seriously. Or just misunderstood it 🤷.

What got me thinking​

Not long ago, I had a conversation with Francesc Puigvert that made me realize I’ve never really experienced the kind of “healthy rivalry” many people feel around football/soccer (since I’m not into it 😅). I’m not used to choosing sides. I shy away from confrontation.

Thinking it through, I came to a tough realization:
Silencing my opinions isn’t just a disservice to myself, it’s also, in part, cowardice. And more importantly, it’s not the example I want to set for my kids.

A controversial opinion​

So this time, I’m going to be braver and share one of my “controversial” opinions (respectfully):

I believe in equality between men and women, and I believe feminism has been, and continues to be, necessary. But I also think that some aspects of modern feminism have strayed from the original goal of equality.

This is hard for me to say publicly, because I feel it’s one of those “politically incorrect” views that some might misinterpret as sexism.

Whenever I’ve shared this opinion with close friends, the response is almost always the same:

"Raúl, you’re not a beer 🍺. You can’t please everyone." 😂

What I’ve learned​

I am who I am because of my experiences (just like everyone else). But I’ve learned that it’s important to express my ideas and opinions (with respect).

Fortunately, I don’t consider myself someone with fixed dogmas. What I believe today might shift tomorrow. I enjoy hearing solid arguments. I enjoy learning from people who see things differently. And when I share an opinion, it’s not because I think I hold the ultimate truth, but because I want others to understand me better, so we can understand each other better.

What I want to teach my kids​

I’m also writing this because I want to lead by example. I want my kids to learn the same lessons I try to teach them with words:

  • They should be assertive, and not be afraid to express what they think, feel, or need, clearly and respectfully, without attacking others and without letting anyone disrespect them.

  • They should listen to, respect, and tolerate people who think differently, even if they disagree.

  • Changing your mind isn’t a weakness; it’s a sign of maturity and intelligence.

  • You can have a deep friendship with someone who sees the world completely differently.

And I say this because I live it (and I’m sure you do too 😉).

Many of the people I’m closest to hold opinions that are completely different from mine (on politics, religion, etc.), but that doesn’t stop us from loving each other.

Because a true friend is someone who really knows you, loves you for who you are (including your quirks), and even if they don’t always agree with you, they respect you, care about you, and are there when you need them.

What I'm committing to​

That’s why I’ve decided to be more open, even in public. So people can get to know me better. And with a bit of luck, this will help me build more meaningful friendships.

Yes, some of my ideas might sound strange, naive, politically incorrect, or even uncomfortable. But all I want is to talk about them openly and respectfully, not to convince anyone, just so people can understand me a little better.

Mental note 🧠: If someone can’t appreciate me because we think differently... maybe it’s just not worth wasting time on, right? 🤷

If we want a better society, we need to show up as we are, listen more, judge less, and be more tolerant. If we only surround ourselves with people who think like us, we’re headed toward a more polarized and divided world. And that helps no one.

To wrap up​

I’m still reflecting on my thoughts and ideas, and I hope to keep writing and sharing them here soon.

And if I ever say or do something you don’t agree with or don’t understand, I genuinely invite you to tell me (with kindness 😉). Really. Over a beer if needed... or a soft drink. I’ve come to accept not everyone likes 🍺 😜.


What about you? Is there an opinion you’ve kept to yourself for fear of not fitting in?
How do you deal with it? I hope I’m not the only one 😅.

🥤 We created a soda machine

· 30 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri
José Jimenez Cano
José Jimenez Cano
Elementary school student

As I mentioned on social media a few weeks ago, José and I, father and son, have joined La Jaquería, a HackSpace in Almería, to:

  1. Surround ourselves with curious minds, people with a hacker and maker mindset.
  2. Encourage ourselves to create more things together ☺️.

And the first thing we made, which we are going to talk about today, is this soda machine.

Homemade soda machine

Although we are quite strict at home with YouTube usage... we have to thank the "The Q Español" channel for the inspiration for this project, as that’s where José found the video that guided us.

Here is the presentation video we made as a keepsake. And to make it more challenging for José...😂 we did it in English:

note

As you can probably tell, we didn’t rehearse more than a couple of times 😂. After all the waiting... he was already impatient to try his new machine.

With that said, in this article, we will share: our experience, the materials and tools used, and the steps we followed, for those of you who want to recreate it at home.

note

You could say that we used project-based learning (PBL) to spend time as a family and create something cool while learning and having fun.

Although initially, the idea was for José to learn basic concepts of electricity and physics, I must admit that I also refreshed and learned things I had forgotten.

What We Learned​

Through this project, we covered many concepts about:

  • ⚡ Basic Electricity:

    • What electricity is and what it is used for.
    • Some ways to generate it.
    • Storage and transportation methods.
    • Types of electricity: static and dynamic.
    • What atoms are, positive charges (protons), and negative charges (electrons).
    • Electrical units: volts, amperes, ohms, and watts.
    • Differences between battery types: shapes, sizes, rechargeable vs. non-rechargeable.
    • What an electrical circuit is.
    • What a power source, supply, or battery is.
    • Conductive and insulating materials.
    • AC vs. DC current.
    • The purpose of chargers and transformers.
    • How to graphically represent an electrical circuit with basic components.
    • How to select the proper voltage and wire gauge for the circuit.
    • The difference between connecting batteries in series and parallel.
    • How to calculate the battery life of a power source.
  • ⚙️ Basic Physics:

    • What a pneumatic pressure extraction system is.
    • Basic concepts of how pressure works.
    • How an air pump functions.
  • 📦 Other Skills:

    • Learning the names of various materials.
    • Using different work tools.
    • The approximate price of various materials.
    • Basic notions of product design.

Before You Start​

Disclaimer

This tutorial must be carried out under constant adult supervision. It is meant to be educational and fun, but accidents can happen if tools and materials are not used carefully.

Therefore, we assume no responsibility for any accidents, injuries, or damages that may occur during the construction or use of this machine.

Requirements​

Let's start by reviewing the knowledge, time, materials, and tools you will need.

Knowledge​

Do you need to be handy to follow this tutorial? Or particularly skilled with technology? Our goal is to make it accessible for any family, regardless of prior knowledge or experience.

That’s why we divided it into several sections, explaining each step in detail, including theoretical concepts to help understand how each part functions.

Time​

Is a lot of time required? Once you have all the materials, it took us about 6 hours to make our machine, but:

  1. A lot of time was spent designing the cardboard templates. We are providing you with a template with measurements.
  2. We wasted time making and remaking some electrical connections. By following this tutorial’s step-by-step process, you won’t have the same issue.

We estimate that it should take about 3 to 4 hours.

Materials​

Regarding materials, the ones we recommend here don’t match exactly with the machine we made (as seen in the photos).

Instead, this article suggests the materials we would buy today based on our lessons learned.

The estimated budget for materials is around €35. If you already have some of these, it may cost less.

Here is an image showing the required materials:

Materials for building a soda machine

Here is a list of the materials with an approximate price:

  • 3 x air pumps (6V): ~12€.
  • PVC hoses.
    • 1 x inside-outside diameter (4mm-5mm) x 1 meter: 1€.
    • 2 x Inner-outer diameter (6mm-8mm) x 1 meter: 2,66€.
  • Hot melt glue sticks (2): ~2€.
  • 3 x Push buttons: ~3€.
  • 4 x AAA batteries: 1,5€ or ~11€ rechargeable.
  • 1 x Battery box (AAA): 0,20€.
  • 1 x Insulating tape: ~1,5€.
  • Paper fasteners (~20): ~2,5€ .
  • 1 x Packing tape: ~$3.
  • 3 x soft drink bottles (~1.25 liters each): ~$3.
  • 1 x roll of electrical cable: ~$1.5 (~1.5 meters >=22/24 AWG).
  • 1 cardboard box: free, if you take it from a recycling garbage can.

Tools​

  • Hot glue gun: ~€13 (example).
  • Needle-nose pliers.
  • Cutter and/or scissors.
  • 1 awl or knife.
info

Compared to the YouTube video, we replaced the soldering iron and tin with electrical tape, which is easier to handle and less dangerous.

Steps​

If you're like us, you like to do things first. That’s why we’ve included the steps to build the machine first, and along the process, we’ve added some references to theory that will help understand how everything works. But if you prefer, you can check them at the end.

1) Structure​

You will start by building the cardboard structure, which consists of three pieces.

TO MAKE THE STRUCTURE YOU WILL NEED

Approximate time: 1 hour.

Tools:

  • Scissors or cutter.
  • Ruler (or measuring tape).
  • Awl (optional).
  • Set square (or something to make right angles).
    We used a large hardcover book, specifically "The Very Hungry Caterpillar" 😂.

Materials:

  • Cardboard to make three pieces: one of 140cm x 60cm, and two of 46cm x ~36cm.
  • Packing tape.
  • 3 push buttons.
  • ~20 paper fasteners (optional).

MAIN PIECE

Start by taking a piece of cardboard that you can cut into a rectangular shape of 140cm x 60cm. Ideally without folds, but if it has them, draw the template on the cardboard and try to align the folds with those shown in the image:

Soda box template

The folds should be at the following distances from the origin: 30cm, 70cm, 85cm, 110cm, and 125cm.

Next, cut the cardboard with scissors or a cutter, and then make the folds. To ensure that the fold is perpendicular to the cardboard's edge, use any sturdy, straight object like a set square, a hardcover book, etc.

info

After making the folds, do not glue anything yet, as this part will be the lid that must remain open later to insert the drinks.

SIDE PANELS

Next, you will make the two side pieces that will help the structure maintain the desired shape.

Cut two pieces of cardboard with the shape and dimensions shown in the first image:

Soda box template

Once done, you need to make a small cut along the red dotted line and then fold the blue tabs (6cm) that will serve as reinforcements. To ensure straight folds, you can use a ruler or book.

Now, join the three pieces, placing the tabs inside the main piece, and secure them with packing tape to hold the shape.

Recommendation

Optionally, if you want, you can reinforce the connection of the three pieces by making small holes and using paper fasteners as shown below:

Soda box template

Note: We added them a few days later 😜.

To finish the structure, use the awl (or scissors) to make three small holes where the push buttons will be placed on the front panel.

If you want them to be evenly spaced and centered, they should be 15cm apart from each other and also from the sides.

Next, unscrew and place the three push buttons on the front panel, as shown in the image:

Soda box button openings

Similarly, on the bottom panel and at the same distance, make three holes where the thick flexible PVC tube will later be placed. But before doing so, I recommend covering that cardboard with packing tape to prevent it from getting wet when inserting and removing the PVC tubes.

Sealed cap photo

ANOTHER TIP

Use scissors or something similar to enlarge the hole gradually, and keep checking with the PVC tube itself that the size is as tight as possible. You don’t want the tube to move too much when dispensing the soda.

Congratulations, with this, you have finished making the structure!

tip

If you look closely, at the base where the sodas will go, the reinforcements create a small step. If you have extra cardboard, you could cut a piece to place on the base to smooth out that step; otherwise, when placing the bottles, they may be a bit unstable.

2) Circuit​

Next, you will assemble the electrical circuit that will activate a different air pump when each button is pressed.

TO MAKE THE CIRCUIT YOU WILL NEED

Approximate time: 45 minutes.

Tools:

  • Needle-nose pliers or scissors.

Materials:

  • Electrical wire roll (~1.5 meters).
  • 3 Air pumps.
  • 4 AAA batteries.
  • 1 Battery holder box.
  • Electrical tape roll (not packing tape).

And the three push buttons that are already installed in the structure.

Start by cutting the electrical wire into 9 pieces. The wire does not need to be black and red, but this is a good opportunity to explain that there is a convention where black represents the negative (-) pole and red represents the positive (+) pole in direct current circuits.

📚 If you want to review some concepts such as: electric current, the function of conductive wires, power sources, ... expand this section.

To avoid excess wire and keep the power source centered, the wire lengths should be approximately:

  • 3 x 9cm (🔴 red)
  • 2 x 20cm (🔴 red)
  • 1 x 10cm (🔴 red)
  • 2 x 15cm (⚫️ black)
  • 1 x 20cm (⚫️ black)

Now strip about 1cm from each wire end to make the connections.

Since the push buttons are already installed in the structure, you will now work on the box. The first thing you need to do is place some counterweight inside, such as the beverage bottles themselves.

Demonstration

Start by assembling a simple circuit for an easy demonstration.

Make the two connections with the push button (1) and (2), between the button and the motor (3), with the motor (4), and connect wires (5) and (6) to the battery holder box (represented by a battery in the diagram).

Now place the batteries inside the battery holder and press the button. You will see how the motor turns on and blows air:

Take this opportunity to review the theory and observe how electric charges move through the conductor when the circuit is closed, how the circuit diagram is drawn, and how components like the button, power source, and motor are represented.

Remember, all of this is explained in the resources we shared in the Theory > Circuit section.

Everything is now ready to complete the circuit assembly.

The following image shows how to do it and where to place each wire:

  • 🔴 Red: 9cm (1) (2) (3), 20cm (4) (5), and 10cm (6).
  • ⚫️ Black: 15cm (7) (8), and 20cm (9).

Soda dispenser circuit

The wires connected to the battery in the diagram should be connected to the battery holder.

Lesson Learned

In our case, we made a mistake and used excessively thick wire (1.5mm thick), along with a 9V battery, which required us to use a connector like the one in the image to easily remove and replace the batteries:

Battery connector

Finally, we recommend applying electrical tape to any weak connections.

As you can see in the images above and below, we applied it to all the terminals of the push buttons and air pumps, as well as the connections with the battery connector:

Connection insulation reinforcement

Clarification

The red plastic seen at the junction of the electrical wire with the battery connector was a later "improvement," where we soldered with tin and then applied heat shrink tubing for protection.

Although both electrical tape and heat shrink tubing are used to insulate and protect electrical connections, there are subtle differences:

  • Heat shrink tubing better resists moisture and temperature and does not peel off over time.
  • Electrical tape is easier and quicker to apply and can be removed later.

3) Dispensers​

You're almost there! Only the beverage dispensers are left! 🥳.

TO MAKE THE DISPENSERS YOU WILL NEED

Approximate time: 20 minutes.

Materials:

  • 3 Flexible PVC tubes.
  • 3 Beverage/soda bottles.
  • 1 Hot glue stick.

Tools:

  • Scissors or cutter.
  • Awl or knife.
  • Needle-nose pliers (or something to widen the hole).
  • Hot glue gun.

Start by cutting the two large PVC tubes (6mm-8mm) in half so you have four parts of approximately 50cm each. These will be the tubes through which the beverage will flow.

Next, cut the small tube (4mm-5mm) into three 25cm pieces, which will be used to introduce air into the bottle.

Then, without removing the bottles from their place, unscrew the caps. Each cap will need two holes: one for the large tube and one for the small tube.

Our advice is to start by making a small hole with an awl, knife, small screwdriver, or something similar. Then gradually enlarge each hole until both tubes fit, ensuring there isn’t too much looseness.

We first tried using a drill, but it seemed dangerous, so we switched to an awl. Then, we carefully widened the holes using the tip of needle-nose pliers until each tube could fit through.

Finally, insert the tubes and screw the caps back onto the bottles. The thick tubes should reach the bottom of the bottles, while the thin ones should only pass through the caps.

Then, use the hot glue gun to seal the openings, preventing air from escaping through the cap holes, like this:

Sealed cap photo

4) Assembly​

Everything is ready for the final connections.

TO ASSEMBLE YOU WILL NEED

Approximate time: 5 minutes.

Materials:

  • Electrical tape.

Tools:

  • Your hands 😜.

Now, simply connect the thin PVC tubes to the air pump outlets as shown below:

Soda machine dispenser

caution

Be careful! If you connect the tube to the air inlet instead of the outlet, soda could enter the air pump. We say this from experience 😜, so make sure it’s the outlet. The easiest way to check is to turn on the circuit by pressing the button—you'll feel where the air is coming out.

Finally, place the end of the thicker PVC tube into the hole in the cardboard box.

As you can see in the following photo, we decided to secure the motors to the cardboard box with electrical tape to prevent them from moving due to vibration, resulting in this setup:

Congratulations! You’re now finished! If everything worked correctly, you should be able to place a glass under one of the tubes and dispense your drink just like this:

tip

To avoid annoying drips after releasing the button, it’s best to add a 6mm fluid retention valve. This is especially important when spills might stain the table, like with red grape juice (we also say this from experience xD).

Theory​

In this section, you will find all the resources and explanations to understand how the soda machine works.

Circuit​

Here is the index for this section again:

WHAT IS ELECTRICITY?​

This 13-minute video from "Smile and Learn" explains what electricity is, its uses, ways to generate it, how it is stored and transported, types of electricity (static and dynamic), what atoms are, positive charges (protons) and negative charges (electrons), etc.

MEASUREMENT UNITS: VOLTS, AMPERES, OHMS, AND WATTS​

Next, we will describe some important electrical units:

  • 🔌 VOLTS (V) - Volts can be understood as the water pressure in a hose. If the pressure is high, the water comes out with more force. In electricity, volts represent the force pushing current through wires. A small battery has 1.5 volts (like a soft stream), while an outlet in Spain has 220 volts (like a strong jet).
  • 💧 AMPERES (A) - Amperes measure how much water is flowing through the pipe. If the pipe is large and allows a lot of water through, there are many amperes. In electricity, more amperes mean more current flowing through the wire. For high-consumption appliances like an oven, proper wiring is essential to prevent overheating.
  • 🚧 OHMS (Ω) - Ohms are like the resistance in a pipe. If the hose is very narrow, water struggles to pass through. In electricity, ohms indicate how difficult it is for current to pass through a material. A copper wire has low resistance (like a wide hose), whereas a poor conductor like plastic has high resistance.
  • ⚡ WATTS (W) - Watts are like the strength of the water coming out of a hose. If you have high pressure (volts) and high flow (amperes), the stream will be strong and move more things. In electricity, watts indicate how much energy a device uses, such as a light bulb or motor. They are calculated by multiplying volts × amperes.

Amperage Voltage Resistance Water chart

It’s good to know the following about these units:

  • 🚨 If you connect a device designed to operate at a specific voltage to a power supply with a higher voltage, you could burn it out.
  • 🔥 If a thin wire has to support a high current (high amperage), it will heat up a lot and may burn out.
  • 🪫 When a battery gets depleted, its voltage drops until it can no longer properly power devices. For example, most devices stop working correctly if the battery drops below 1.1V or 1.0V. Some more demanding devices may need at least 1.2V to function correctly. So if a 1.5V battery:
    • Has more than 1.3V → It still has charge.
    • Is between 1.0V and 1.2V → It is nearly depleted.
    • Has less than 1.0V → It is dead.

DIFFERENCES BETWEEN TYPES OF BATTERIES​

Alkaline vs. Rechargeable Batteries​

Alkaline and rechargeable batteries both provide energy to toys, remotes, and other devices, but they function differently.

When we talk about energy, we refer to the amount of electricity required to operate over a given period. Energy is measured in watt-hours (Wh) and depends on the power of the device (W) and the time it is in use (h). For example, a remote control consumes very little energy since it only uses the battery for a few seconds when you press a button, whereas a battery-operated Scalextric track consumes much more energy because it is used more intensively.

Alkaline batteries are single-use: when they run out, they must be discarded and replaced. On the other hand, rechargeable batteries can be recharged many times with a special charger, reducing the need to buy new ones frequently.

An important difference is the voltage. Alkaline batteries usually have 1.5V, while most rechargeable batteries have 1.2V.

Although this may seem like a small difference, as we mentioned earlier, some devices need higher voltage to function properly, meaning alkaline batteries might last longer in those cases. However, rechargeable batteries can be better for frequently used items since they can be recharged and reused multiple times.

Thus, it’s better to use alkaline batteries in devices that are used infrequently or require more voltage (higher potential difference), whereas rechargeable batteries are ideal for daily-use devices that don’t require high voltages to function well, such as flashlights or remote controls. This way, you save money and help the environment by generating less waste.

Battery Shapes and Sizes​

Batteries come in different shapes and sizes because each is designed for various devices and needs. The difference is not just in shape but also in voltage, capacity, and intended use.

  • Cylindrical Batteries (e.g., AA, AAA, AAAA, C, and D): These are the most common and have a voltage of 1.5V in alkaline versions and 1.2V in rechargeables. The difference between them lies in capacity, meaning how much energy they can store. For example, a D battery lasts much longer than a AAA because it is larger and has more capacity.

  • Button Batteries (such as those in watches or hearing aids): These are tiny and have voltages ranging from 1.5V to 3V, depending on the type. They are used in devices that need little energy but for extended periods, such as clocks or calculators.

  • Square and rectangular batteries: The most common is the 9V battery, used in devices like smoke detectors or wireless microphones. These batteries can provide higher voltage because they contain multiple smaller batteries inside the casing.

Here is an example of different battery shapes and sizes:

6 most common battery types-1

Batteries: D, C, AA, AAA, AAAA, and 9V // Attribution: Hohum, CC BY-SA 3.0, via Wikimedia Commons.

WHAT IS DIRECT AND ALTERNATING CURRENT?​

For electronic devices like the one we are going to build, we will use direct current, but what exactly is that? What other types of current exist, and what are they used for?

There are two types of electrical current: direct current (DC) and alternating current (AC). Understanding the difference is important because each type is used in different devices and situations. Direct current is ideal for electronic devices like mobile phones, computers, and battery-powered toys, while alternating current is what powers our homes, supplying electricity for lights, appliances, and outlets.

Here’s a short but comprehensive video from "The Engineering Mindset" explaining it further:

Additionally, using the wrong type of current can damage devices or make them malfunction, so it’s crucial to understand which type is needed and how to convert one to the other if necessary.

Electrical Current Abbreviations
  • Direct Current (DC)
  • Alternating Current (AC)

HOW IS AN ELECTRICAL CIRCUIT GRAPHICALLY REPRESENTED?​

This short 3-minute video by Learn Science with B, although not featuring the same components as our circuit, will help explain the basic concepts of electrical circuit representation:

HOW TO CALCULATE THE POWER SOURCE'S LIFESPAN?​

Next, we will calculate the lifespan of our power source.

We need to consider that:

  • Standard AAA alkaline batteries have an electrical charge capacity of ~1200 mAh.
    • If we use rechargeable NiMH batteries, they usually range between 800-1000 mAh.
  • As we saw in the air pump specification sheet, our 6V air pump requires a maximum of 300 mA.

To estimate the duration, we simply divide the capacity by the consumption.

If using standard alkaline batteries (1200 mAh):

  • Duration = Capacity (mAh) / Consumption (mA) = 1200/300 = 4 hours

If using NiMH rechargeable batteries (800-1000 mAh), the duration would be:

  • Duration = 800/300 = 2.6 hours
  • Duration = 1000/300 = 3.3 hours

HOW TO KNOW HOW MUCH ENERGY A DEVICE CONSUMES IN AN HOUR?​

To calculate energy consumption in kilowatt-hours (kWh), which is what the electricity bill measures:

kWh = (Watts × Hours of use) / 1000

Example: A 100W television turned on for 5 hours:

(100W × 5) / 1000 = 0.5 kWh

Dispensers​

HOW DOES THE AIR PUMP WORK?​

The mechanism is simple:

  • The motor spins like a wheel. When you close the circuit and electricity flows, the motor starts spinning, just like when you pedal a bicycle and the wheels move.
  • The motor moves a small "arm" that, in turn, moves flexible rubber pieces that go up and down each time the motor rotates. This part is called a diaphragm, as it functions similarly to the human body's diaphragm, which helps the lungs take in and expel air.
  • Air enters on one side and exits on the other. When the rubber moves up, it draws air in through a small hole. When the rubber moves down, it pushes the air out.

This creates a continuous airflow. Since the motor never stops spinning, the air keeps entering and exiting continuously.

The following video shows the inside of one of the air pumps we used for this machine:

WHY DOES THE LIQUID COME OUT?​

Our system uses air pressure to force the liquid out of the bottle.

Technically, this is called a pressure extraction mechanism, and it works as follows:

  • When the air pump is turned on, as we saw, it generates movement that allows air to enter through one nozzle and exit through another, to which a PVC tube is connected.
  • The air flows through this tube and enters the top of the bottle through the cap.
  • Since there is no way for the air to escape (because the cap is sealed), the pressure increases, pushing the liquid down.
  • The only exit is through the other PVC tube (the thicker one). Since it is not sealed, the liquid is pushed out through it.

In short, it's like trying to inflate a balloon filled with water, and at the bottom of the balloon, there's a tiny hole through which the water exits when you blow into it.

Lessons Learned​

We wanted to summarize the things we would change if we had to do the project again:

  • Be careful when folding the main box piece to ensure that no advertising is visible.
  • Analyze the required wiring more thoroughly before purchasing.
  • Use a AAA battery holder instead of a 9V battery.
  • Use less packing tape and more paper fasteners.
  • Ignore suggestions to use a drill and soldering iron (due to the potential risks).
  • Purchase a fluid retention valve or consider adding something to catch annoying drips.

Next Steps​

This has been the first project we have documented, although we had done some smaller projects before.

Expand if you're interested in seeing other things we've done 😊.

That I can remember right now:

Although I’m sure I’m forgetting some things... 😅

Sometimes I think about documenting previous experiences, but the truth is, work keeps piling up, and we have to decide whether to document the past or focus on the future. Documenting this one in particular was not quick. So, we’ll see!

Moreover, in this playlist, we keep saving some ideas, and we have already purchased materials for more projects, such as:

Besides printing models created by others with our new 3D printer, we also want to design and print our own creations...

So, in short... the future is uncertain 😂.

If any family follows this tutorial, please 🙏 let me know. You can contact me through any of my networks or by email (hhkaos@gmail.com).

Comments​

🎓 AI and education, a holistic approach

· 11 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri

Are you reading about Artificial Intelligence again?? Seriously, wasn’t the 912,673,140 articles, news reports, podcasts, videos, or reels, and tiktoks out there enough? I love it, that means you're really into this topic 😜😂.

The root of everything I’m going to share started with a proposal I received at the beginning of the school year from the guidance counselor at my children's school. She suggested that the AMPA collaborate with the school to organize an activity to educate students on AI usage. And since I’m easy to convince… here I am, months later and many "brain cycles" later, sharing the progress.

In this article, I will talk about:

  • Traditional AI vs. Generative AI: key differences.
  • Generative AI: what makes it "special".
  • AI in education: the current situation as I see it.
  • My contribution: a new project I’ve embarked on.
  • Protecting ourselves from the hype: my advice to avoid falling for misinformation.

Traditional vs. GenAI​

As we know, AI is not new*. It has been used in search engines, recommendation engines (Netflix, social media, ...), virtual assistants (Google Home, Siri, Alexa, ...), automatic translators, facial recognition, spam filters, text predictors, CAPTCHAs, etc.

🧠 Did you know...

However, that doesn’t take away from the fact that generative AI has arrived with incredible momentum, and it’s now “everywhere.”

The following table summarizes some key differences:

AspectTraditional AIGenerative AI
PurposeAnalyze, predict, and/or classifyCreate and generate "original" content
Work modelBased on specific rulesContextual understanding-based
Training dataStructured and/or labeled data (by humans)Large volumes of diverse data
TasksSolving specific problemsCreative and adaptive tasks
Dependency on past dataHigh, based on previous patternsLower, capable of innovating and creating new things

Generative AI​

But why give it so much importance? What makes generative AI different from other disruptive technologies? Or as Bugs Bunny would say, What's up, doc?.

There have been many other technological advances that have had a radical impact on humanity and transformed us: the printing press, the steam engine, electricity, the Internet...

However, in recent years, we’ve seen an increase in the speed at which these changes occur, likely due to globalization and new communication technologies.

The following chart from Harvard Business Review illustrates how the time needed to adopt new technologies has decreased over the years, based on data from the United States:

The Pace of Technology Adoption is Speeding Up, Image Harvard Business Review

Although I have not yet found highly reliable data on the adoption of generative AI tools, we’ve heard that ChatGPT (launched in 2022) has already reached an incredible 300 million weekly active users.

To put this number into context, here’s a comparison showing other well-known applications and how long they took to reach 100 million monthly active users:

Source: CNBC TV18, data provided by Similar Web

For me, the importance isn’t just in the speed of adoption. What concerns me is that it is being used massively without a solid knowledge base, leading to content being generated and shared that appears to be high quality, but often are not.

Unlike widely used tools like Word or Excel, which require some training and come with an instruction manual, most AI tools do not provide clear guidelines.

Furthermore, they are so intuitive that anyone can enter a request and receive a response. However, what a new user might not realize is that if the request is not well defined, if they are unaware of the types of instructions AI can process, its limitations, biases, and other key characteristics, the chances of getting an inaccurate or misleading answer are significantly high.

And one of the biggest problems is that there are still aspects of generative AI that even its own creators don’t fully understand, such as how exactly prompts, meaning input instructions, influence responses.

Ultimately, this puts us in a situation where, as Ramón Besonías says:

  • Everyone is a novice when it comes to using AI (even its creators), with some of us having a few more months of experience than others.
  • There is still no clear methodology on how to teach AI.

This is why I believe it is especially important for adults to gain a basic understanding, experiment with AI, and do their best to stay up to date—understanding how it can be used and sharing both good and bad experiences with others.

We Live in Exponential Times

The first time I heard the phrase "we live in exponential times" was when I watched the video "Did You Know" (2008). A quote that stuck with me was: "We are preparing students for jobs that do not yet exist," and these jobs will be highly demanded in just a few years.

I couldn’t agree more. If this felt accurate to me back then, 17 years ago, it’s even clearer now that this exponential growth hasn’t slowed down. And maybe it’s just me, but at times, it’s almost dizzying.

AI in Education​

There are many debates around AI: intellectual property, ethics, regulation, job displacement... But what I take for granted is that this technology is here to stay, that it is already redefining education and learning, and that those who can use it correctly will have an advantage and stand out.

Did you know that according to a survey by Statista, the education sector could be the second most impacted by this technology? Below is an infographic with the results:

But it’s not just educators using it—students are also leveraging AI to do their work for them (surprise!! 😜).

But you know what? I don’t blame them. One of AI’s promises is that it helps us with tasks we don’t like or find less important. And I think that, deep down, even if we don’t admit it, many adults started using AI for the same reason.

The biggest issue I’ve encountered, however, is that even if you try to find it, there is no good content* to guide how AI should be used for studying—meaning content that is accessible, comprehensive, structured, high-quality, and free.

note

Or at least I haven’t found it. I’m looking for resources that explain how to use AI correctly for studying, developing new skills, improving cognitive development, strengthening critical thinking, boosting creativity, increasing productivity... If you know of any, please leave them in the comments 🙏😊.

It’s becoming increasingly clear that we will need to develop new skills.

Just as the advent of computing, the Internet, and search engines required us to develop new skills—such as knowing how to search online—now, it will be more important than ever to enhance other competencies, such as language skills and critical thinking, to make good use of generative AI.

For example, we will need to understand the differences between various AI tools and models at a high level or learn how to craft effective prompts to get useful results.

And while I hope this won’t happen, if we don’t develop these skills, I fear society could face a dystopian future where new generations are less prepared and surrounded by misinformation that is difficult to identify.

That’s why we must use this technology as just another tool to assist us in our work and skill development—not misuse it in a way that hinders our growth and intelligence.

Repeatedly, it’s clear that AI, like anything else, can do great things if used well, but it can also create problems if misused.

Evaluate Your AI Usage

How do you use AI? Here’s an article and a self-evaluation sheet 😉. I agree with Ramón Besonías that ideally, most of the times you should score between 70% and 90%.

My Contribution​

You might be wondering, after all this discussion, what am I doing to address this issue?

Beyond doing my best to educate my children at home and support their school, I’ve embarked on a new documentation project in the section "My Digital Brain > Artificial Intelligence."

Since I’m neither a teacher nor an AI expert, I’ve reached out for help through interviews with teachers in Spain, AI specialists, and experts in related fields to gather information on this topic: ideas, experiences, resources, insights, etc.

note

If you know someone who I should definitely interview, please ask her/him to reach out to me through any of my channels.

The goal is to create educational material that fills the gap I found. Content on how to use AI (for students) with a holistic approach that is accessible, structured, comprehensive, high-quality, and free. I hope this resource will not only support the activities we are organizing at our Parents' Association but also be useful for other educational communities.

For now, just can find the working doc in Spanish: Using AI in Education, but I encourage you to check the following resource:

Protect Yourself from the "Hype"​

We can't deny that although AI has great potential, the "hype" surrounding it is overwhelming.

Every technological innovation brings this effect, as shown in the following graph, which you can find in all "Gartner Hype Cycle for Emerging Technologies" reports:

Hype cycle
Hype cycle, Image by Jeremykemp, Wikipedia

But let’s not forget why this happens. It’s a mix of:

  • The optimism and passion of some innovators.
  • The eagerness of many people to believe in it.
  • The vast media attention and publicity.
  • The "hidden" (economic) interests of the companies behind these innovations, competing non-stop to lead these revolutions.

This often leads to inflated expectations, sometimes at the cost of spreading misleading information.

To protect yourself from manipulation and misinformation, not just about AI, I recommend:

  1. Be wary of emotional language: Anything that sounds too good to be true, exaggerated promises, or alarmist headlines. These are usually signs of manipulation. By the way, this applies to everything.
  2. Be critical: Evaluate the source of the information and check for economic interests.
  3. Do your research: Look for expert opinions and reliable sources.
  4. Diversify your sources: Consult multiple perspectives for a more complete view.
Who Has Economic Interests?

Companies. The biggest stakeholders are the companies providing the technology driving this innovation, such as OpenAI, NVIDIA, Microsoft, Amazon (AWS), Meta, etc. These publicly traded companies need to maintain and increase their stock value, and many do so by making announcements that fuel the "hype."

Content creators who make money through ads or affiliate links, like news media, YouTubers, Instagram influencers, TikTokers, etc.

Well, what do you think? What do you disagree with? What am I missing? Or did you find it interesting?

Comments​

2️⃣ [1992-2003] The rise of online communities

· 16 min read
Raul Jimenez Ortega
Principal Product Engineer, DevRel @ Esri
Details

⚠️ Notices and acknowledgments I would like to start by clarifying that:

Acknowledgments: to JJ Merelo, and José Luis Orihuela for their contributions and resources.

This is the second article in the series "History of Technical Communities," in which we are reviewing the history of technical communities in Spain. In this one, we will focus specifically on the era when the Internet became popular, reaching many households, and we will continue to get nostalgic with some of the innovations that were introduced.

We are in the years of:

And a year before Intel Pentium began flooding the market (1993).

note

On the radio, and in our Discman, songs like "Experiencia Religiosa" by Enrique Iglesias (1995), "Wannabe" by the Spice Girls (1996), "La Raja de Tu Falda" by Estopa (1999), or "Livin' la Vida Loca" by Ricky Martin were playing.

Linux and LUGs​

A year earlier, in 1991, the Linux operating system was created, which in 1992 adopted a GPL license. This technology not only transformed the Internet and many other things, but it was also the seed of many important communities of the time, such as the Linux user groups (LUGs). Among other things, they held “Linux install parties” to help install systems like SUSE (1992), Debian (1993), Red Hat (1993), Mandrake (1998), ... which were not easy to get working at that time.

Years later, in ~1997, the Association of Spanish Linux Users (Hispalinux) was formed in Spain, an important community whose goals can be read in their statutes. In 2024 it has more than 7,000 members.

Internet​

This is the era of the early days of the Internet in Spain (1996), when Web 1.0 arrives, static pages created with HTML 2.0, practically without user systems or comments, and which we browse with browsers like Netscape or Opera.

note

Due to the limitations of JavaScript in 1996, there were technologies like Microsoft's ActiveX, Sun Microsystems' JavaBeans, and Macromedia Flash, which allowed for more advanced experiences.

The first Spanish Internet Service Providers like Goya (1992) and InfoVía (1995) were born, charging for Internet (per minute connected) at the price of a local phone call. Yes, because at that time, you had to pay for local calls. That's when 28.8 kbps modems, the routers of that time, were more than a thousand times slower than today's.

With these connections, we could chat and browse Web. At that time, websites almost had no images, and of course, no multimedia files, because downloading a 4 MB file could take many hours, and if you were lucky that someone didn't cut off your connection by calling your house.

note

Soon after, audio and video compression algorithms, or audio codecs and video codecs improved significantly, facilitating access to these files online (e.g. MP3 1993, AAC 1997, DivX 1998, MP4 2001, ...).

Also in 1992, party lines emerged, multi-conferences with strangers via telephone. Although personally, I wouldn't include this in the community initiatives.

In 1998, another community was born, the Association of Internauts, whose can be read here.

That same year, 1998, Netscape created the Mozilla organization, which led to the creation of the Mozilla Foundation in 2003.

And in 2000, the Spanish chapter of the Internet Society was founded.

note

Did you know that at the beginning of the Internet, it was the Internet providers themselves who usually provided us with our email accounts? Before Microsoft launched Hotmail in 1996 (now known as Outlook), or Yahoo! created Yahoo Mail in 1998, or Google inaugurated Gmail in 2004, which by the way, you could only access by invitation.

Hosting and Search Engines​

When the Internet was arriving in Spain, the first web hosting providers, like GeoCities (1994), or later Galeon.com (1999), began offering free web hosting as well.

This greatly reduced the barrier to entry for communities that wanted to collaborate by creating and sharing tutorials, news, etc. Especially for those of us who were teenagers and couldn't afford a paid one.

It should also be noted that the first search engines did not appear until the mid-90s (e.g. Lycos ‘94, Yahoo! Search ‘95, AltaVista ‘95, Olé ‘96, Hispavista ‘96, Google ‘97…). Therefore, there were not only far fewer manuals and tutorials, but until then, it had been very difficult to find them.

As a result of some of these collaborations, older people will remember the famous Rincón del Vago (~1998), a website mainly used by students to share academic papers and notes. But to give an example of a technical community, I will leave one that I was lucky enough to be a part of, HackHispano (~1999).

IRC and Other Chats​

It was also when the IRC protocol became popular, and programs like mIRC (1995) allowed us to connect to public servers like IRC-Hispano, freenode, undernet, etc. For the first time in history, it allowed real-time chatting with people from other parts of the world, I repeat, at the cost of a local call, something totally disruptive.

note

For the new generations; IRC is similar to Slack, Discord, etc. But where public servers gathered tens or hundreds of thousands of people, where anyone could create a "Room," and whoever arrived first automatically became an IRC operator with moderation permissions. By the way, there are still communities that continue to use IRC as a communication tool 😉.

There were many channels about #linux, #programming, #networks, ... but also #humor, #madrid, #manga, etc. However, it is true that many historic hacker communities like !Hispahack/#hispahack (~1996) also started to gather here. In this interview with Antonio Fernandes (in The Wild Project), you can hear about his beginnings in hacking at that time, and how he mentions other hacker communities/groups like Apóstols or La Vieja Guardia.

info

The movie Hackers released in 1995, explores the hacker and cyberpunk subcultures and shows black hat hackers involved in a corporate extortion conspiracy.

In 1996, the newsgroup es.comp.os.linux was born, dedicated to discussing the Linux operating system in Spain, and according to hackstory.net, one of the main initiatives of Spanish Linux hackers.

note

During this time, other messaging and VoIP tools like ICQ (1996), Terra chats (1999), MSN Messenger (1999), Skype (2003) also became popular in Spain. Although I wouldn't say many community communications emerged around them.

Conferences​

At that time, the main technological conferences in Spain were:

In the international scene, other popular conferences started:

Mailing Lists​

Also at that time, communities that gathered around mailing lists increased considerably:

note

At that time, there were already mailing lists software like LISTSERV. In 1992, Majordomo was created as freeware, and later GNU Mailman (1999). It wasn't until 2001 that Google Groups was launched, another system that gave a strong boost to mailing lists among communities.

LAN Parties​

This is the era of the first LAN parties, groups of friends who gathered at someone's house to play network games and sometimes see things we shouldn't 🤣.

Also, macro gatherings like the Euskal Party (1993) or Campus Party (1996) began, where many of us took our desktop computers, got on a bus, and traveled across Spain to spend a few days surrounded by hundreds or thousands of technology enthusiasts playing games, burning CDs, etc.

note

In 1994, the first CD burners arrived, causing an unprecedented increase in piracy in Spain. Years later, Napster (1999), eDonkey (2000), eMule (2002), ... and other technologies that would further boost it emerged.

A few years later, in 1998, the video game and multimedia developer community Stratos emerged.

note

In 1999, the program Roger Wilco appeared, software that revolutionized VoIP communications among the gaming community.

Cybercafés​

With the arrival of ISDN, which significantly improved Internet connection speeds, the first Internet cafés (~1995) began to emerge. These became other meeting points where groups of friends would gather to play, talk, and share things they had discovered on the Internet, etc., and where some “hackers” 😜 took advantage of installing keyloggers and trojan horses for somewhat illicit purposes.

note

Around 1999, Wi-Fi (or 802.11 protocol) became popular in Spain, which was the year the Wi-Fi Alliance registered the brand.

Bloggers​

At the end of the millennium, in 1999, blogs, formerly also called weblogs, began to gain popularity, perhaps triggered by the launch of Blogger.com.

In that same year, Barrapunto (1999) was born, a news website related to free software, technology, and digital rights. In 2001, it began offering a weblog system called MiBarrapunto.

A famous blog that started talking about free culture at that time was Ignacio Escolar's (~2001).

Then Blogalia (~2001/2002) was born, another weblog server in Spanish.

What I would like to comment on here is the fact that the comments on some blogs almost became community chats.

info

In 2003, WordPress was created, and Blogger.com was acquired and relaunched by Google.

End of the Era​

According to the Scientific Computing Society of Spain, it is estimated that by the end of the century, a total of about 68,705 people had graduated in computing in Spain (~2450 per year).

It is also when the first Official Colleges of Computer Engineers (e.g. Murcia, Catalonia, Asturias, ...) (1998-2002) began to be formed, and when the Association of Women Researchers and Technologists (2001) emerged.

note

At this time, phone booths were still being used, although Internet and GSM coverage was growing rapidly. Operators like Telefónica, Airtel, Amena, ... opened the telecommunications market in Spain, and Nokia launched the popular Nokia 3310. But despite everything, SMS and voice calls still dominated communications.

It is also when we experienced the dot-com bubble burst (~2001). A year later, Amazon would start the cloud revolution by creating AWS.

International Scene​

Now let's review other events that happened internationally and later had an impact on technical communities in Spain.

Hackerspaces​

Around 1992, hackerspaces began to emerge, physical spaces where people interested in new technologies, electronics, digital arts, etc. met, socialized, and collaborated.

I wrote about HackSpace / HackLab / MakerSpace / Fab Lab in this page.

Other Communities​

In 1993, the IBM community appears.

The same year the first version of Java was released (1995), one of the first Java Users Group (the Denver one) was formed.

Then in 2001, many things happened:

note

According to Wikipedia, these attacks led to the creation of Meetup.com in 2002, a platform that originally aimed to bring together people with common hobbies and interests, and which would later be widely used by technical communities.

Recognitions​

I found that around 1993, Microsoft was already recognizing some developers' contributions, which could be considered the precursor to the Microsoft MVP program, and what in the future would likely lead to other programs of "champions", "ambassadors", etc.

note

These programs recognizing developers' contributions would be seen as highly useful by professionals to develop personal branding, a concept introduced by Tom Peters in 1997 and which would become popular in Spain a few years later.

Open Culture​

Twelve years after the founding of the Free Software Foundation (in 1997), developer Bruce Perens created The Open Source Definition, and a year later co-founded the Open Source Initiative, which popularized the term "open source" and advocated for open-source software from a pragmatic and business-friendly perspective.

note

To date, the most iconic example of a company based on free software is Red Hat, although years later, around 2008, other (controversial) models like open-core would become popular.

Early initiatives focused on open-source hardware, such as the "Open Hardware Certification Program" and the "Open Hardware Specification Project" were also launched around that time.

In 1999, the Apache Software Foundation was created to support various open-source software projects. And one of the first websites offering free hosting for the developer community to share open-source projects, Sourceforge, was launched.

In 2000, the Open Source Development Labs was founded to promote Linux in enterprise computing, which years later (in 2007) would become the Linux Foundation.

It was also during this time (2001) that Lawrence Lessig, a lawyer and political activist, created Creative Commons, an organization dedicated to facilitating access to educational content and increasing the amount of creative works available for others to legally build upon and share.

info

In 2001, the documentary "Revolution OS" was released, which tells the story of Linux, open source and the free software movement.

Social Networks​

We could say that the beginnings of social networks also occurred at the end of this era with the birth of:

Although out of all these, I would say the only well-known ones in Spain were MySpace and perhaps Last.fm, mainly for communities around music.

Conclusions​

In this era, we can undoubtedly say that online communities exploded, mainly with text interactions, mailing lists, and blog comments. Although voice calls (among gamers primarily) also began.

Professional associations and those around different technologies continued to be created, but now they were not necessarily local. Some new conferences emerged, but they were still not very common.

Some communities emerged around topics like Internet, Linux, hacking, game programming, women in technology, digital journalism, hardware (e.g. overclocking, open hardware, ...), etc.

Based on this information, I would say that at this time, a community was understood as: a group of people who gathered (online or in person), voluntarily and on their own initiative, sharing an interest in technology, to collaborate with each other.

And you, what do you think?

If you liked it, I will soon publish the next article in the series: “2004-2012: The emergence of modern conferences and tech meetups”