<?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:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Ldmarz on Medium]]></title>
        <description><![CDATA[Stories by Ldmarz on Medium]]></description>
        <link>https://medium.com/@lenin.martinez123?source=rss-a4f26786948f------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*wXrr8V0WNhY298Al04cLow.png</url>
            <title>Stories by Ldmarz on Medium</title>
            <link>https://medium.com/@lenin.martinez123?source=rss-a4f26786948f------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 05:09:05 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@lenin.martinez123/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[What’s SRE ?]]></title>
            <link>https://medium.com/@lenin.martinez123/whats-sre-24d4e908f3ce?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/24d4e908f3ce</guid>
            <category><![CDATA[sre]]></category>
            <category><![CDATA[site-reliability-engineer]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Mon, 29 Apr 2024 00:41:04 GMT</pubDate>
            <atom:updated>2024-04-29T00:41:04.256Z</atom:updated>
            <content:encoded><![CDATA[<h3>What’s SRE ?</h3><p>Hey, how are you? ldmarz here, and you’re about to read about SRE (Site Reliability Engineering), a role I’ve been in for not too long and that I still find a bit hard to understand what it’s all about. Spoiler: I’m still trying to figure it out.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*naE0-5OU9-w6CjgA" /></figure><h3>The Essential Role of Site Reliability Engineering</h3><p>Think about the last time you were ready to buy the latest video game online. Excitement is high, you&#39;re just a click away, and then... the website crashes. It&#39;s more than a little frustrating, right? This is a common scenario when online platforms lack a crucial element: <strong>Site Reliability Engineering, or SRE</strong>.</p><p>It&#39;s not that developers and IT staff don&#39;t care about keeping things running. In fact, many of them do a bit of SRE work without even realizing it, ensuring their part of the service is reliable. But as a system grows—more features, more users, more data—the complexity increases. This is where the SRE team shines, specializing in keeping the entire ecosystem stable and efficient.</p><h3>SRE: Beyond Just &quot;Keeping the Lights On&quot;</h3><p>SRE is more than just making sure a website is up and running. They are the guardians of the user experience, ensuring that every interaction with the site is smooth, even during high traffic times like game launches or big sales.</p><h3>Comparing with other roles</h3><ul><li><strong>Developers</strong> focus on building features and fixing bugs in the software. While they care about reliability, their main goal is to add new capabilities to the product.</li><li>IT and Operations teams ensure that the hardware and networks that the software runs on are functioning correctly. They’re the ones who make sure the servers are up and the networks are fast.</li><li><strong>SREs</strong>, on the other hand, sit at the intersection of development and operations. They use their coding skills to automate responses to common problems, like a sudden spike in traffic or a service going down. They also make data-driven decisions, analyzing errors, measuring the cost and efficiency of solutions, and constantly looking for ways to improve reliability.</li></ul><h3>The SRE Toolbox</h3><p>SREs have a variety of tools and practices at their disposal:</p><ul><li><strong>Automation</strong>: This is key to handling repetitive tasks efficiently, like setting up new servers or responding to common errors.</li><li><strong>Monitoring and Alerting</strong>: SREs set up systems to constantly check the health of services. If something goes wrong, they know about it immediately and can start fixing it before most users even notice a problem.</li><li><strong>Error Budgets and SLOs (Service Level Objectives)</strong>: These are agreements on how reliable a service needs to be. If a service is too reliable, it might mean the team is being too cautious and not releasing new features quickly enough. If it’s not reliable enough, users get frustrated. SREs use error budgets to find the right balance, allowing for innovation without sacrificing user experience</li><li><strong>Efficiency and Cost Measurement</strong>: They constantly evaluate the cost-effectiveness of their infrastructure and operations, ensuring the company gets the most bang for its buck.</li></ul><h3>The Impact of SRE</h3><p>By focusing on reliability, automation, and efficiency, SRE teams free up developers to work on new features, knowing that the infrastructure will support them. They help companies move fast without breaking things, allowing for rapid growth and improvement.</p><h3><strong>In Conclusion</strong></h3><p>Returning to our game store example, imagine it&#39;s equipped with a robust SRE team. When you go to buy that game, the process is seamless. The page loads quickly, the transaction goes through without a hitch, and you&#39;re ready to play. That&#39;s the goal of SRE: to make sure that as systems grow and evolve, they remain stable, efficient, and user-friendly. It&#39;s about enabling progress without compromising on quality, ensuring that everyone, from the developers to the end-users, has a great experience.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=24d4e908f3ce" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Elevate Your Text Searches with OpenAI Embeddings]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://blog.gopenai.com/elevate-your-text-searches-with-openai-embeddings-a14db56913b3?source=rss-a4f26786948f------2"><img src="https://cdn-images-1.medium.com/max/640/1*2LHP3_gTcWkSa8g41xSCeA.png" width="640"></a></p><p class="medium-feed-snippet">Dive into a step-by-step guide that transforms words into meaningful vectors, making your search systems smarter and more intuitive.</p><p class="medium-feed-link"><a href="https://blog.gopenai.com/elevate-your-text-searches-with-openai-embeddings-a14db56913b3?source=rss-a4f26786948f------2">Continue reading on GoPenAI »</a></p></div>]]></description>
            <link>https://blog.gopenai.com/elevate-your-text-searches-with-openai-embeddings-a14db56913b3?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/a14db56913b3</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[embedding]]></category>
            <category><![CDATA[naturallanguageprocessing]]></category>
            <category><![CDATA[openai]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Sat, 12 Aug 2023 16:36:12 GMT</pubDate>
            <atom:updated>2023-08-17T15:06:20.812Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Understanding Embeddings: A Key to Search with artificial intelligence]]></title>
            <link>https://blog.gopenai.com/understanding-embeddings-a-key-to-better-search-queries-3a2073270c53?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/3a2073270c53</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[natural-language-process]]></category>
            <category><![CDATA[embedding]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Tue, 25 Jul 2023 16:45:37 GMT</pubDate>
            <atom:updated>2023-08-08T16:12:14.694Z</atom:updated>
            <content:encoded><![CDATA[<p>Imagine you’re building a product search engine. A user types in a super natural language query like, <em>“I want a spaceship of the latest model to zip around the city at top speed.”</em> As a human, you understand that they’re looking for a sporty city car from the latest year. But how do you translate that into a query your search engine can understand? This could be a real issue because while we as humans can understand this phrase, a machine in a typical relational database cannot due to the information being normalized for computers and not how we express.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*kB7atw8zQV_Zpmhc" /><figcaption>Photo by <a href="https://unsplash.com/@dadaben_?utm_source=medium&amp;utm_medium=referral">Benjamin Dada</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><h3>The Challenge of Natural Language Queries</h3><p>In the world of programming, we often structure our data in a way that makes it easy for machines to understand. We categorize, label, and normalize data to fit into neat tables that can be queried with precision. But this isn’t how humans express themselves.</p><p>When a user types in a super natural language query like, “I want a spaceship of the latest model to zip around the city at top speed,” they’re not thinking about product categories or specific labels. They’re expressing a desire based on their experiences, feelings, and the way they perceive the world. As a human, you understand that they’re looking for a sporty city car from the latest year. But how do you translate that into a query your search engine can understand?</p><h3>The Magic of Embeddings</h3><p>This is where the power of embeddings comes into play. Just as our brains sort information in a complex, multi-dimensional space based on our experiences and associations, embeddings represent words in a high-dimensional space where the semantic similarity between words corresponds to the geometric distance in the space.</p><p>So, how can we teach a machine to understand the meaning of “spaceship of the latest model to zip around the city at top speed”? An embedding is a simple concept that can help us achieve this. Imagine the word “red” being converted into a vector that signifies “color”, “blood”, and “danger” in different contexts. This is the magic of embeddings. They capture the essence of a word and its meaning in a form that machines can understand and process.</p><p>To truly appreciate the power of embeddings, it can be helpful to visualize them. The following GIF, created using TensorFlow’s Projector, provides a visual representation of a word embedding. Each point in this space represents a different word. Words that are semantically similar are closer together, while words that are semantically different are farther apart.</p><figure><img alt="This is a representation from https://projector.tensorflow.org/ of a multidimensional embedding" src="https://cdn-images-1.medium.com/max/722/0*C6WuGHM9HDgFxoIg" /></figure><p>In this visualization, you can see how the word ‘red’ might be positioned in relation to words like ‘blue’, ‘yellow’, ‘rainbow’, etc. This gives us a glimpse into how embeddings capture the semantic relationships between words. It’s like a map of human language, charting the subtle nuances and associations that give our words meaning.</p><h3>The Power and Versatility of Embeddings</h3><p>Embeddings offer a range of powerful features:</p><ul><li><strong>Storage</strong>: These vectors can be stored in special types of databases, making them easy to access and use in various applications.</li><li><strong>Versatility</strong>: Not only text, but virtually any multimedia element (videos, images, texts) can be vectorized. This allows for a wide range of data to be processed and understood by machines.</li><li><strong>Multimodal</strong>: These embeddings can be multimodal, meaning they can represent multiple types of data simultaneously. This feature is particularly useful when dealing with complex data sets that include various types of data.</li><li><strong>Multilingual</strong>: Embeddings can be created for text in any language, making them a powerful tool for multilingual applications and global services.</li><li><strong>Improved Query Handling</strong>: The use of embeddings opens up a world of possibilities for handling complex queries and delivering more accurate results.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YwDrhiwI2UnRzL3ECYouQQ.jpeg" /></figure><h3>A Closer Look at Different Types of Embeddings</h3><p>There are several types of embeddings, each with their own pros and cons:</p><h4>Word2Vec</h4><p>Developed by Google, Word2Vec represents words in a high-dimensional space where the semantic similarity between words corresponds to the geometric distance in the space. Word2Vec is great for capturing the semantic meaning of words. It’s simple and computationally efficient.</p><ul><li>Pros: Captures the semantic meaning of words very well.</li><li>Cons: Does not account for the context of words. For example, the word “bank” would have the same vector representation in “river bank” and “financial bank”.</li><li>Use Case: Ideal for tasks where the semantic meaning of words is important, such as semantic search, recommendation systems, and sentiment analysis.</li></ul><h4>GloVe (Global Vectors for Word Representation)</h4><p>Developed by Stanford, GloVe excels at creating a global word-word co-occurrence matrix from a corpus. It combines the benefits of two major methods in the field, count-based methods and predictive methods. GloVe captures both the global statistics and local semantics of a corpus. It is also efficient to train.</p><ul><li>Pros: Captures both the global statistics and local semantics of a corpus.</li><li>Cons: Like Word2Vec, GloVe does not consider the context of words.</li><li>Use Case: Useful for tasks that require understanding the global semantic co-occurrence of words, such as document classification and clustering.</li></ul><h4>BERT (Bidirectional Encoder Representations from Transformers)</h4><p>Developed by Google, BERT understands the context in which a word is used, making it powerful for a variety of NLP tasks. BERT considers the context of words, capturing nuances that other models miss. It has achieved state-of-the-art results on a variety of NLP tasks.</p><ul><li>Pros: Captures the context of words, capturing nuances that other models miss.</li><li>Cons: BERT is computationally intensive and requires a lot of resources to train. It is also not as interpretable as models like Word2Vec or GloVe.</li><li>Possible Use Case: Ideal for tasks that require a deep understanding of the context, such as question answering, named entity recognition, and sentiment analysis.</li></ul><p>You can find a comprehensive comparison of these models in the <a href="https://huggingface.co/spaces/mteb/leaderboard">MTEB leaderboard</a>.</p><h3>Querying Vectors: The Key to Unlocking the Power of Embeddings</h3><p>Once we have our embeddings, we can perform queries on them. For example, we can use the dot product to find the similarity between two vectors. The higher the dot product, the more similar the vectors are. Alternatively, we can use cosine similarity, which measures the cosine of the angle between two vectors. This method is particularly useful when the length of the vectors doesn’t matter, and we’re only interested in the direction they’re pointing.</p><p><strong>Note:</strong> If the thought of working with vectors seems daunting, don’t worry! Nowadays, there are numerous libraries like <a href="https://numpy.org/">NumPy</a>, and even databases like <a href="https://github.com/pgvector/pgvector">PostgreSQL with vector plugins</a>, that make these calculations straightforward and manageable. So, you can leverage the power of embeddings without needing to become a mathematician.</p><h3>The Wide World of Use Cases</h3><p>Embeddings can be used in a variety of applications, each with its unique benefits and challenges. Here are a few examples:</p><ul><li><strong>Building Smarter Search Engines</strong>: With embeddings, search engines can understand the intent behind a user’s query, not just the specific words they use. For example, a user might search for “spaceship to zip around the city,” and the search engine could understand that they’re looking for a fast, city-friendly car.</li><li><strong>Creating a Q&amp;A System</strong>: Embeddings can be used to build a Q&amp;A system for your product that can handle complex queries. For instance, a user might ask, “How do I increase the speed of my spaceship?” and the system could understand that they’re asking about improving their car’s performance.</li><li><strong>Developing a Chatbot</strong>: A chatbot powered by embeddings can engage in natural, human-like conversations. It could understand a wide range of inputs and respond appropriately. For example, if a user says, “I’m looking for a spaceship that’s good for city driving,” the chatbot could respond with, “It sounds like you’re looking for a compact, efficient car. Here are a few options…”</li><li><strong>Generating Posts from Multimedia</strong>: With multimodal embeddings, you could generate posts from an image or video. For example, a user could upload a picture of a car, and the system could generate a post saying, “Check out my new spaceship! It’s perfect for zipping around the city.”</li></ul><h3>Exploring Further</h3><p>If you’re interested in diving deeper into the world of NLP and embeddings, I invite you to check out my <a href="https://github.com/ldmarz/nlp-scripts">GitHub repository</a> where I share various scripts for testing different NLP techniques.</p><h3>Wrapping Up</h3><p>I hope this post has given you a good understanding of the power and versatility of embeddings. They are an incredible tool that can help us bridge the gap between human language and machine understanding, opening up a world of possibilities for more natural and intuitive user experiences.</p><p>If you found this post helpful, please give it a clap and share it with others who might find it useful. And as always, feel free to reach out to me on <a href="https://www.linkedin.com/in/ldmarz/">LinkedIn</a> if you have any questions or just want to chat about all things NLP!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3a2073270c53" width="1" height="1" alt=""><hr><p><a href="https://blog.gopenai.com/understanding-embeddings-a-key-to-better-search-queries-3a2073270c53">Understanding Embeddings: A Key to Search with artificial intelligence</a> was originally published in <a href="https://blog.gopenai.com/">GoPenAI</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Exploring Zero-Shot Classification with Python and Transformers]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://blog.gopenai.com/exploring-zero-shot-classification-with-python-and-transformers-9ecf7ee749d5?source=rss-a4f26786948f------2"><img src="https://cdn-images-1.medium.com/max/1150/1*12rdtAY8pSmcOEVcof0ZYA.png" width="1150"></a></p><p class="medium-feed-snippet">A Practical Guide to Implementing Zero-Shot Classification Locally with Python and Transformers</p><p class="medium-feed-link"><a href="https://blog.gopenai.com/exploring-zero-shot-classification-with-python-and-transformers-9ecf7ee749d5?source=rss-a4f26786948f------2">Continue reading on GoPenAI »</a></p></div>]]></description>
            <link>https://blog.gopenai.com/exploring-zero-shot-classification-with-python-and-transformers-9ecf7ee749d5?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/9ecf7ee749d5</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[python]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Sun, 09 Jul 2023 22:36:45 GMT</pubDate>
            <atom:updated>2023-07-14T11:45:20.588Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Text Extraction and Interpretation with OpenAI’s]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://blog.gopenai.com/text-extraction-and-interpretation-with-openais-5946f83351b4?source=rss-a4f26786948f------2"><img src="https://cdn-images-1.medium.com/max/1024/1*sNAASvh2IxHwUdqhNDrX7Q.jpeg" width="1024"></a></p><p class="medium-feed-snippet">Text Extraction and Interpretation with OpenAI&#x2019;s GPT-3.5 Turbo</p><p class="medium-feed-link"><a href="https://blog.gopenai.com/text-extraction-and-interpretation-with-openais-5946f83351b4?source=rss-a4f26786948f------2">Continue reading on GoPenAI »</a></p></div>]]></description>
            <link>https://blog.gopenai.com/text-extraction-and-interpretation-with-openais-5946f83351b4?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/5946f83351b4</guid>
            <category><![CDATA[langchain]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[openai]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Wed, 31 May 2023 04:23:56 GMT</pubDate>
            <atom:updated>2023-07-14T17:19:28.024Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Sácale provecho a tu tiempo en el transporte publico]]></title>
            <link>https://medium.com/@lenin.martinez123/s%C3%A1cale-provecho-a-tu-tiempo-en-el-transporte-publico-d1c08248217f?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/d1c08248217f</guid>
            <category><![CDATA[español]]></category>
            <category><![CDATA[medium-en-español]]></category>
            <category><![CDATA[castellano]]></category>
            <category><![CDATA[productividad]]></category>
            <category><![CDATA[productivity]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Mon, 14 Jan 2019 13:43:50 GMT</pubDate>
            <atom:updated>2019-01-14T13:43:50.538Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Tas8NidNvaQ3e32KClM5JA.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/photos/2TlAsvhqiL0?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Eutah Mizushima</a> on <a href="https://unsplash.com/search/photos/subway?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>Este año nuevo comenzó con unos datos bastante interesantes, Google sólo para molestar me envió mi reporte anual de lugares visitados.</p><p>Reporte con muchísima información como cuantos lugares he visitado, cuantas veces, incluso cuanto tiempo he pasado en movimiento(caminando, metro etc) esto me llevó a la conclusión de dos cosas.</p><ul><li><strong>Lo mucho que sabe sobre mi: </strong>esto ya no es un secreto para nadie pero igual es alarmante 😨 pero creo que esto podría hablarlo en otro post.</li><li><strong>El tiempo que gasto en transportea: </strong>ya esto había leído un poco sobre esto, estadísticas, conspiraciónes etc cosas así.</li></ul><p>Y es justamente sobre este segundo punto es que trata este post y es que si bien es cierto que gasto gran parte de mi vida en el metro he conseguido la forma de hacer este tiempo un poco más útil. No sin antes aclarar que yo ODIO EL TRANSPORTE PÚBLICO.</p><p>Y antes que me digas la típica frase “comprate un auto” sinceramente creo que es peor porque toda mi concentración se va directo a solo conducir 😕.</p><h3>¿Que hacer?</h3><p>Mantente ocupado. Si es así de simple, en el transporte público invierto el tiempo en escribir este post por ejemplo. Depende del estado de ánimo un día podría dedicarlo a hacer un buen momazo o atacar a un clan rival en el clash royale.</p><p>Tampoco es que ando descubriendo la cura al cáncer mientras me hago espacio para poder entrar al transporte. Pero si que hay distintas actividades que se podrían hacer.</p><p>Tengo amigos que escuchan conferencias, cursos, leen un buen libro y te puedo asegurar que su viaje no es un sufrimiento y pérdida de tiempo como lo era para mi hasta hace poco.</p><p>Finalmente se trata es de aprender o crear algo en ese tiempo, que quieras o no, tendrás que gastarlo. Esto por supuesto hasta que inventen la teletransportacion o todos vivamos en una utopía donde tooodo el mundo trabaje desde casa.</p><p>Créeme el viaje pasa de ser un momento donde el stress tiene la mesa servida a convertirse en un momento que esperas. Dejan de importarte cosas como el particular olor que tiene la persona de al lado o de escuchar quien empujó a quien esta vez.</p><p>Entonces, ¿Vas pendiente de hacer algo productivo mientras viajas?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d1c08248217f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Como hacer una exposición efectiva]]></title>
            <link>https://medium.com/hackernoon/como-hacer-una-exposici%C3%B3n-efectiva-46388a0dcedc?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/46388a0dcedc</guid>
            <category><![CDATA[castellano]]></category>
            <category><![CDATA[personal-development]]></category>
            <category><![CDATA[personal-growth]]></category>
            <category><![CDATA[historia]]></category>
            <category><![CDATA[español]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Tue, 08 Jan 2019 12:51:39 GMT</pubDate>
            <atom:updated>2019-01-14T11:36:46.445Z</atom:updated>
            <content:encoded><![CDATA[<h3>Como mejorar una reunion/exposicion de forma efectiva</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5_SwLzKItA_t-_8Uep-HZw.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/photos/MYbhN8KaaEc?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Hunters Race</a> on <a href="https://unsplash.com/search/photos/business?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>Me atrevo a pensar que todos hemos estado en esa reunión tediosa aburrida ya sea como expositor o público y sin tomar en cuenta la importancia de la misma no logramos encontrar el porque seguimos allí.</p><p>Hace unos días tuve un día tan pesado y con tantas reuniones que mi cerebro como una mala broma me colocó de expositor mientras soñaba.</p><p>Tenía todos los ingredientes para ser una pésima reunión, me nombraron expositor de un tema el cual no tengo idea, sobre ZAPATOS, ¿es en serio? un auditorio esperando que yo haga un discurso sobre zapatos.</p><p>Esto por supuesto no tenía buena pinta. ¿Y como lo tendría? Si me avisan 2h antes, no tengo idea sobre zapatos, excepto lo que el publico en general conoce y sobre todo, es de zapatos, que tema tan extraño para hablar.</p><h3>La solución</h3><p>Entonces me vino una idea a la cabeza(estando aún en el sueño) escribamos un stand up sobre esto. Agreguemos un poco de humor a esta exposición.</p><p>Y así comencé, lo primero al hablar sobre zapatos seria el ¿por qué usarlos?</p><p>Y allí podia hablar un montón de cosas aburridas, pero en vez de eso dividí la exposición en estos puntos.</p><ul><li>Se ven bien: recuerdo haber dicho algo como “ en la mayoría de los casos son más atractivos que esos pies de Hobbit que tienen la mayoría.</li><li>Protección: Díganme a cuantos les encantaría caminar descalzos por un piso lleno de vidrios o tan caliente que podrías cocinar sobre el.</li><li>Personalidad: no hay que negar que cuando ves a alguien con unos zapatos anaranjado fosforescente ese pana debe tener una personalidad suuper original.</li></ul><p>Fíjense que seguimos hablando de un tema ultra aburrido pero con un pequeño cambio. El sueño era extraño (como todos) porque era oyente y al mismo tiempo también era expositor y definitivamente disfrute en los dos roles.</p><p>Esto por supuesto es porque fue una especie de stand up al que asistí y me mantuve entretenido todo el rato, lástima que acá me cuesta expresar cosas adicionales que sucedieron como el lenguaje corporal, preguntas que por la natureza cómica de la reunión eran graciosas.</p><h3>Poniendo en práctica</h3><p>Tenía el clásico sprint review, donde están invitados actores importantes para el proyecto como el owner, usuarios inversionistas personas que por defecto asumimos que quieren que les hables de forma super formal debido a su “importancia”.</p><p>Empecé haciendo pequeñas bromas como “esperemos que nada explote”, mencionando objetivos completados para el sprint que no son directamente del proyecto o que ellos le tengan importancia como “ Compramos un filtro de agua”.</p><p>En medio de la demo recuerdo que hubo un menú que tenía un brinco raro, funcionaba, pero se sentía raro y comenté algo colo Bueh “acá tenemos una feature nuevo”.</p><p>Por primera vez tuvimos una review corta, con gente interesada, donde estoy seguro que todos entendieron como esta la salud del proyecto y su avance, esto sin duda me dejó una gran satisfacción y es el porqué traigo este post.</p><h3>Conclusión</h3><p>Ahora la pregunta es ¿por qué no cambiamos la manera en que presentamos avances, reportes incluso problemas. Introducir un poco de humor suavizaria un poco la formalidad del asunto.</p><p>Aquí dejo una lista de posibles beneficios:</p><ul><li>Atención: si tu reu logra captar la atención del público por un chiste en el momento adecuado tendrás al público atento en busca de otro.</li><li>Originalidad: no serás el típico expositor aburrido sino al contrario un expositor que quieres ir a escuchar lo que tiene que decir.</li><li>Tiempo: si tienes la atención del público es muy probable que no pierdas tiempo explicando una y otra vez lo mismo.</li></ul><p>¿Te atreverías a aplicar esto en tu siguiente reunión?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=46388a0dcedc" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hackernoon/como-hacer-una-exposici%C3%B3n-efectiva-46388a0dcedc">Como hacer una exposición efectiva</a> was originally published in <a href="https://medium.com/hackernoon">HackerNoon.com</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What if we compare a Football team with a Programming team?]]></title>
            <link>https://medium.com/@lenin.martinez123/what-if-we-compare-a-football-team-with-a-programming-team-82c6702e7ba5?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/82c6702e7ba5</guid>
            <category><![CDATA[storytelling]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[sports]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[humor]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Mon, 24 Dec 2018 14:21:44 GMT</pubDate>
            <atom:updated>2018-12-24T14:21:44.290Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1Y-djx_fBY4GWJoNR6pVAw.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/photos/h7EIo10-yrQ?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">rawpixel</a> on <a href="https://unsplash.com/search/photos/computer?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>As a fanatic of the king of the sports and that at some point as many of you, I used to play until the point of fatigue, and nowadays I can only remember those times.</p><p>This is due to the fact that my current hobbies have to do more with trying the latest available JS Framework and with a frequency of at least one per day.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2Fd2lcHJTG5Tscg%2Ftwitter%2Fiframe&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2Fd2lcHJTG5Tscg%2Fgiphy-downsized.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2Fd2lcHJTG5Tscg%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="244" frameborder="0" scrolling="no"><a href="https://medium.com/media/f5d896ce54a3b6c0fb17a5fb36b23925/href">https://medium.com/media/f5d896ce54a3b6c0fb17a5fb36b23925/href</a></iframe><p>I was, as usual, making <a href="https://www.facebook.com/ldmarzBlog/">programming memes</a> and I couldn’t help but notice the similarities between a programming team and a Football team.</p><p>Yes, that’s what happened, so you guys can save your torches, scythes and those posters that says athletes and programmers are different beings since I’ll give you a comparison of all the roles in both teams and you’ll notice I’m not as crazy as it seems.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FxT5LMPPZ8IFKUpfgUo%2Ftwitter%2Fiframe&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FxT5LMPPZ8IFKUpfgUo%2Fgiphy.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2FxT5LMPPZ8IFKUpfgUo%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="328" frameborder="0" scrolling="no"><a href="https://medium.com/media/69884ccb08aaea00985588668a51fe9d/href">https://medium.com/media/69884ccb08aaea00985588668a51fe9d/href</a></iframe><p><strong>Fans</strong><br>Now tell me why would we do a system if there was no audience. This audience are our beloved users.</p><p>They will <strong>watch</strong> our success or failure of the project.</p><p>They will be relentless if we fail and they will praise us if the goals are accomplished, my dear friends this a relationship without middle terms. No one says wow this app is great it closes itself 6 times in 10 minutes but I keep loving it.</p><h3><strong>Defense</strong></h3><p>Every good team and project must have good grounds because it all gives the same if your project looks like a 5 star but it’s full of issues, drops itself, has a ton of security flaws. It will be very simple for the opposite team to score a 7–1 on you.</p><p>Here’s where born backends have they protagonism, they will be in charge of keeping our goal keep safe.</p><p>Unfairly for most users and fans this is not a very showy position but its importance in the team is undeniable, or are we going to deny the fact of how many matches has Sergio Ramos put on his back?</p><p>Plays like make the rival go offside are easily comparable with a middleware which only allows authorized players.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2F3oKIPyqTWsP720AOXe%2Ftwitter%2Fiframe&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2F3oKIPyqTWsP720AOXe%2Fgiphy-downsized.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2F3oKIPyqTWsP720AOXe%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="331" frameborder="0" scrolling="no"><a href="https://medium.com/media/d824a1470eab4ee54ccbb699c6c8c797/href">https://medium.com/media/d824a1470eab4ee54ccbb699c6c8c797/href</a></iframe><h3><strong>Midfielder</strong></h3><p>Midfielder are the equivalent of a full stack, they possess the perfect balance between attack and defense without becoming experts.</p><p>It’s very likely that these players have some preference, this being a determining factor when defining their position on the field.</p><p>E.g if the team is weak in the offensive you can take your full stack that has preference over the attack and putting him as a deep-lying midfielder during the whole match, this could be your Messi, even though he’s not a forward how many goals hasn’t he dedicated to us?</p><h3><strong>Forward</strong></h3><p>What’s a good product worth if you can’t show it to the world? If your fans won’t be able to celebrate it with you?</p><p>Here’s where the frontends have their protagonism, inverse to defense this position is criticized by the team for supposedly being easier and at the same time loved by the users because for most people this is the part of the game they like the most because they can understand it.</p><h3><strong>Manager</strong></h3><p>I’ve heard many times that this is an unnecessary position because just the players talent is enough to win, well I don’t think the same way as this person is responsible for seeing the macro project and knowing when a change is necessary just in the right time.</p><p>In most scenarios, these decisions don’t take enough credit but I consider that there must always be someone who’s watching the whole picture and that can look beyond of what’s in the surface, and this is the project manager.</p><p>They also have great ideas like promising the whole fans that we can score 8 goals in 5 minutes.</p><h3><strong>Team’s captain</strong></h3><p>Best known as a tech lead, this partner who’s always training a bit more than the other in the field, can take a decision in almost real time, always having into account your team’s capabilities.</p><p>An indispensable position because in the middle of the game someone has to be there taking care that everyone follows the good practices that they have studied a lot during training.</p><h3><strong>Conclusion</strong></h3><p>What do you think now? Apparently, we have much more in common than what it looks like, we could even compare a match.</p><p>Just imagine if every team were two famous technology companies that dedicate to the same business, uber vs cabify for instance, in this sense, it is convenient to have the best team.</p><p>So, tell me, what position do you play?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=82c6702e7ba5" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Using raw queries in vapor3 with fluent]]></title>
            <link>https://medium.com/@lenin.martinez123/using-raw-queries-in-vapor3-with-fluent-228cd75daf29?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/228cd75daf29</guid>
            <category><![CDATA[vapor]]></category>
            <category><![CDATA[swift]]></category>
            <category><![CDATA[tutorial]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Mon, 19 Nov 2018 20:57:25 GMT</pubDate>
            <atom:updated>2018-11-28T20:47:43.645Z</atom:updated>
            <content:encoded><![CDATA[<h3>Using raw queries in vapor 3 with fluent</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*AS86d1uGISCyFqJr.png" /></figure><p>Fluent it’s a nice ORM but sometimes we want features not currently supported by the ORM, for this case I leave you a little example of how you can use the raw query</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/dc67d5aac42ba67f07cee29c356c21cd/href">https://medium.com/media/dc67d5aac42ba67f07cee29c356c21cd/href</a></iframe><p><strong><em>If you have a problem implemented or a simpler way to do this work please leave a comment below, Regards.</em></strong></p><p><em>Originally published at </em><a href="http://ldmarz.com/using-raw-queries-in-vapor3-with-fluent/"><em>Ldmarz blog</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=228cd75daf29" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How create a field with default value in vapor 3 with fluent]]></title>
            <link>https://medium.com/@lenin.martinez123/how-create-a-field-with-default-value-in-vapor-3-with-fluent-2fcc09dc105e?source=rss-a4f26786948f------2</link>
            <guid isPermaLink="false">https://medium.com/p/2fcc09dc105e</guid>
            <category><![CDATA[swift]]></category>
            <category><![CDATA[vapor]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Ldmarz]]></dc:creator>
            <pubDate>Tue, 13 Nov 2018 12:17:40 GMT</pubDate>
            <atom:updated>2018-11-13T18:01:25.603Z</atom:updated>
            <content:encoded><![CDATA[<h3>How set a default value in vapor 3 with fluent</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*oz9JCjy8W3Ufmu8u.png" /></figure><p>I have the following migration in <a href="https://vapor.cloud/">vapor 3</a></p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/e64b8b7b2c355cd88bbccf9f8afdecbb/href">https://medium.com/media/e64b8b7b2c355cd88bbccf9f8afdecbb/href</a></iframe><p>But maybe we want some default value for the field password… Something like the classic “123456” to do that we must update a little our migration</p><pre>builder.field(for: \.password, type: .varchar, .default(.literal(&quot;123456&quot;)))</pre><p>You can use this syntax to multiples cases like those</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/f3626907c3431b44f6f41179e8b85c0e/href">https://medium.com/media/f3626907c3431b44f6f41179e8b85c0e/href</a></iframe><p><a href="http://disq.us/p/1v40539">Source</a></p><p><em>Originally published at </em><a href="http://ldmarz.com/how-create-a-field-with-default-value-in-vapor-3-with-fluent/"><em>Ldmarz blog</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2fcc09dc105e" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>