<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Ariel Pozo]]></title><description><![CDATA[Geek. Python. Containers. Interesting misc. Solving puzzles at Eventbrite.]]></description><link>https://www.arielpozo.com/</link><image><url>https://www.arielpozo.com/favicon.png</url><title>Ariel Pozo</title><link>https://www.arielpozo.com/</link></image><generator>Ghost 5.40</generator><lastBuildDate>Thu, 30 Mar 2023 19:03:38 GMT</lastBuildDate><atom:link href="https://www.arielpozo.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[My dream job]]></title><description><![CDATA[An evolving concept.]]></description><link>https://www.arielpozo.com/my-dream-job/</link><guid isPermaLink="false">6062046e13ef4d000105fc2d</guid><category><![CDATA[tips]]></category><category><![CDATA[ideas]]></category><dc:creator><![CDATA[Ariel Pozo]]></dc:creator><pubDate>Mon, 29 Mar 2021 18:15:52 GMT</pubDate><media:content url="https://www.arielpozo.com/content/images/2021/03/pexels-aadil-1730337.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.arielpozo.com/content/images/2021/03/pexels-aadil-1730337.jpg" alt="My dream job"><p>Dream jobs are an evolving concept.</p><p>I remember growing up, looking up at my parents, who used to work with IBM hardware and software. Every now and then a technician or sales men would come to their office and I&apos;d be left amazed by them. <strong>IBMers</strong>, a selected few who worked for this prestigious company and were always up to date with bleeding edge stuff.</p><p>I was further hooked up on the whole IBMer concept with the marketing campaign they launched for their centennial.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/atjPROSOSDs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></figure><p>If people asked me what my dream job was, I would have answered &quot;<strong>to be an IBMer</strong>&quot; without skipping a heartbeat.</p><p>Time went by, I started college, deviated heavily from the tech industry by studying industrial engineering and never revisited this old dream of mine.</p><p>I eventually ended up working in the tech industry, but never really cared for or remembered this IBM dream, up until a recent conversation I had.</p><p>I was encouraged to pursue this old dream of mine and apply for a position at IBM. I gave it a quick thought and realized I <strong>would not want to work</strong> there anymore. The reasons? <a href="https://open.spotify.com/track/6suRRwX61xSMfU7wJuCVdy?ref=arielpozo.com">Unkown</a>. </p><p>Maybe it is because I know more about the company&apos;s culture now. Maybe it is because I have grown up to better discern what I really want, from what is being sold to me.</p><p>But most definetley, it is because I am no longer the same person that I was when I first envisioned this dream.</p><p>All of that reminded me of this tweet, which I 100% support.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">I don&#x2019;t plan long term because I want to do what I think, not what I thought.</p>&#x2014; Jason Fried (@jasonfried) <a href="https://twitter.com/jasonfried/status/1362876378136207361?ref_src=twsrc%5Etfw&amp;ref=arielpozo.com">February 19, 2021</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>Everything just leds me to one conclusion:</p><!--kg-card-begin: markdown--><p>Dream(s) <s>jobs</s> are an evolving concept.</p>
<!--kg-card-end: markdown--><p>For more updates make sure to follow me on twitter <a href="https://twitter.com/arielpozo?ref=arielpozo.com"><strong>@arielpozo</strong></a></p><p><em>Picture by <strong><a href="https://www.pexels.com/@aadil?utm_content=attributionCopyText&amp;utm_medium=referral&amp;utm_source=pexels">AaDil</a></strong> from <strong><a href="https://www.pexels.com/photo/man-standing-between-stairway-on-pathway-1730337/?utm_content=attributionCopyText&amp;utm_medium=referral&amp;utm_source=pexels">Pexels</a></strong></em></p>]]></content:encoded></item><item><title><![CDATA[A simple webhooks introduction]]></title><description><![CDATA[Webhooks are at the core of lots of systems integrations. If you've never heard of them or found them daunting, this post is for you!]]></description><link>https://www.arielpozo.com/a-simple-webhooks-introduction/</link><guid isPermaLink="false">6041387f175d740001c1af46</guid><category><![CDATA[programming]]></category><category><![CDATA[tips]]></category><dc:creator><![CDATA[Ariel Pozo]]></dc:creator><pubDate>Fri, 05 Mar 2021 20:42:21 GMT</pubDate><media:content url="https://www.arielpozo.com/content/images/2021/03/pexels-joetography-6524411-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.arielpozo.com/content/images/2021/03/pexels-joetography-6524411-1.jpg" alt="A simple webhooks introduction"><p>Last week during retro with my team, one team member told us that he was not fully aware about how webhooks worked or which value they brought to the table. So I decided to write a little bit about them.</p><p><a href="https://en.wikipedia.org/wiki/Webhook?ref=arielpozo.com">According to Wikipedia</a>, <em>Webhooks are &quot;user-defined HTTP callbacks&quot;. They are usually triggered by some event, such as pushing code to a repository or a comment being posted to a blog. When that event occurs, the source site makes an HTTP request to the URL configured for the webhook. Users can configure them to cause events on one site to invoke behavior on another.</em></p><p>In simpler terms, webhooks are the <strong>counterpart to an API</strong>. In the sense that they provide you information by pushing, relieving you of the responsibility of pulling.</p><p>Let&apos;s take a look at the following schema:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.arielpozo.com/content/images/2021/03/Webhooks-post-api.png" class="kg-image" alt="A simple webhooks introduction" loading="lazy" width="856" height="491" srcset="https://www.arielpozo.com/content/images/size/w600/2021/03/Webhooks-post-api.png 600w, https://www.arielpozo.com/content/images/2021/03/Webhooks-post-api.png 856w" sizes="(min-width: 720px) 720px"><figcaption>A regular API call representation</figcaption></figure><p>In this example there is an API that can be called with a <strong>movie_id</strong>, the response contains some meta data about the movie itself and also the places where it is currently streaming at. If you were really big on that movie and wanted to know as soon as it shows up in whichever streaming service, you&apos;d need to be calling the API constantly. </p><p>Sometimes you might even forget about it. Maybe you decide to create a script to fetch that information for you. For this one case, that might be plausible, but now picture needing that same information for <strong>thousands and thousands</strong> of movies. The script would probably get rate limited. You would have wasted compute and networking resources <strong>in vain</strong>, because there might not be a change at all. Not to mention API fees if the API has some sort of pricing attached to it.</p><p>Now let&apos;s look at this same problem, but supposing there is a Webhooks API as well as the regular API:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.arielpozo.com/content/images/2021/03/Webhooks-post-webhooks-api.png" class="kg-image" alt="A simple webhooks introduction" loading="lazy" width="856" height="491" srcset="https://www.arielpozo.com/content/images/size/w600/2021/03/Webhooks-post-webhooks-api.png 600w, https://www.arielpozo.com/content/images/2021/03/Webhooks-post-webhooks-api.png 856w" sizes="(min-width: 720px) 720px"><figcaption>A Webhooks API subscription</figcaption></figure><p>Notice that we are providing an <strong>endpoint_url</strong> that is a specific endpoint within our domain that will handle whatever payload the movie service decides to send. We are asking to be subscribed to changes on the <strong>streaming_on</strong> field for a specifc <strong>movie_id</strong>.</p><p>Now, whenever there is a change to the <strong>streaming_on</strong> field we will get a <strong>payload</strong> to the provided <strong>endpoint_url</strong>. That url will be an endpoint of ours that has the business logic to handle whichever information the payload provides.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.arielpozo.com/content/images/2021/03/Webhooks-Post-Payload-1.png" class="kg-image" alt="A simple webhooks introduction" loading="lazy" width="856" height="491" srcset="https://www.arielpozo.com/content/images/size/w600/2021/03/Webhooks-Post-Payload-1.png 600w, https://www.arielpozo.com/content/images/2021/03/Webhooks-Post-Payload-1.png 856w" sizes="(min-width: 720px) 720px"><figcaption>A Webhooks API Payload</figcaption></figure><p>So that&apos;s webhooks in a nutshell. The business applications are endless, since there are lots of different events that one might be interested on monitoring for different purposes.</p><p>If you want to play around here are some well documented Webhooks APIs:</p><p><a href="https://docs.github.com/en/developers/webhooks-and-events/webhooks?ref=arielpozo.com">Github</a><br><a href="https://mailchimp.com/developer/transactional/api/webhooks?ref=arielpozo.com">Mailchimp</a><br><a href="https://dev.twitch.tv/docs/api/webhooks-reference?ref=arielpozo.com">Twitch</a></p><p>Another handy link is <a href="https://webhook.site/?ref=arielpozo.com">https://webhook.site</a> . It provides you with a disposable <strong>endpoint_url </strong>for you to use when subscribing to webhooks. There you can see payloads as they are posted to you from which ever webhooks api you subscribed, it also has a 500 request log.</p><p>I hope you found this basic introduction interesting and insightful, thanks for reading !</p><p>For more updates make sure to follow me on twitter <a href="https://twitter.com/arielpozo?ref=arielpozo.com">@arielpozo</a></p><p><em>Picture by <strong><a href="https://www.pexels.com/es-es/@joetography-9043542?utm_content=attributionCopyText&amp;utm_medium=referral&amp;utm_source=pexels">Joetography</a></strong> on <strong><a href="https://www.pexels.com/es-es/foto/madera-sucio-industria-vintage-6524411/?utm_content=attributionCopyText&amp;utm_medium=referral&amp;utm_source=pexels">Pexels</a></strong></em></p>]]></content:encoded></item></channel></rss>