<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Carmen Diaz</title>
    <description>The latest articles on DEV Community by Carmen Diaz (@karmenatwork).</description>
    <link>https://dev.to/karmenatwork</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F618783%2Fac872325-1752-44e3-91bf-8d335e5ddb9f.png</url>
      <title>DEV Community: Carmen Diaz</title>
      <link>https://dev.to/karmenatwork</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/karmenatwork"/>
    <language>en</language>
    <item>
      <title>The "prose" class: my content best friend</title>
      <dc:creator>Carmen Diaz</dc:creator>
      <pubDate>Thu, 11 Jul 2024 19:34:25 +0000</pubDate>
      <link>https://dev.to/karmenatwork/the-prose-class-my-content-best-friend-40l0</link>
      <guid>https://dev.to/karmenatwork/the-prose-class-my-content-best-friend-40l0</guid>
      <description>&lt;h2&gt;
  
  
  The struggle is real
&lt;/h2&gt;

&lt;p&gt;Let's be honest: if you're a developer who would rather spend more time coding the business logic than designing (like me), you celebrated 🎉 big time when CSS frameworks came into our coding lives. I'm sure you have used some of the general-purpose frameworks such as&lt;a href="https://getbootstrap.com/" rel="noopener noreferrer"&gt;bootstrap&lt;/a&gt; or &lt;a href="https://bulma.io/" rel="noopener noreferrer"&gt;bulma&lt;/a&gt; or the utility-base &lt;a href="https://tailwindcss.com/" rel="noopener noreferrer"&gt;Tailwind CSS&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;I'm very feliz feliz como una lombriz 🐛-- aka very happy with these time-saving frameworks. However, styling long-form content like blog posts, articles, or documentation can be tedious. You need to consider headings, paragraphs, lists, quotes, code blocks – the list goes on, and if you aren't an expert, you can spend a lifetime! I used to spend hours tweaking CSS to make headings look not terrible and paragraphs consistent and readable. &lt;/p&gt;

&lt;h3&gt;
  
  
  Enter the Hero: The "prose" Class
&lt;/h3&gt;

&lt;p&gt;If you're a fan of Tailwind CSS's utility-first approach, you might have overlooked one of its most powerful plugins: &lt;code&gt;@tailwindcss/typography&lt;/code&gt;. Specifically, the plugin's &lt;code&gt;prose&lt;/code&gt; class can be a game-changer for making your web content look polished and professional with minimal effort. The "prose" class simplifies your journey by providing a predefined set of styles that adhere to Tailwind CSS's design principles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why "prose" Is My New Best Friend
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Plays Nice with Markdown:&lt;/strong&gt;: &lt;br&gt;
One of my clients heavily uses Markdown; the plugin's &lt;code&gt;prose&lt;/code&gt; class has given its website's content a makeover and made my job much more manageable. If you write in Markdown, &lt;code&gt;prose&lt;/code&gt; seamlessly works with the HTML output of your favorite Markdown parser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistent Styling&lt;/strong&gt;&lt;br&gt;
Say goodbye to the chaos of mismatched fonts and inconsistent formatting; &lt;code&gt;prose&lt;/code&gt; creates a unified visual language for your content. By applying the "prose" class to any container element, you instantly inherit a well-crafted typography scale that adjusts font sizes, line heights, margins, and other typographic styles. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's customizable!&lt;/strong&gt;&lt;br&gt;
While &lt;code&gt;prose&lt;/code&gt; defaults are great! You can easily override styles through Tailwind's config file and tweak colors, fonts, and styles to your heart's content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's responsive!&lt;/strong&gt; &lt;code&gt;prose&lt;/code&gt; adapts gracefully to different screen sizes, so your content looks fantastic on mobile phones and desktops.&lt;/p&gt;
&lt;h3&gt;
  
  
  When to Use prose
&lt;/h3&gt;

&lt;p&gt;Say no more, the &lt;code&gt;prose&lt;/code&gt; class is perfect for any Situation &lt;em&gt;Where Readability Matters&lt;/em&gt; such as: Blog Posts, Articles and Documentation.&lt;/p&gt;
&lt;h3&gt;
  
  
  How to Use prose
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Install the Plugin: Add &lt;code&gt;@tailwindcss/typography&lt;/code&gt; to your project.&lt;/li&gt;
&lt;li&gt;Configure (Optional): Tailwind's configuration file lets you customize the prose styles to your liking.&lt;/li&gt;
&lt;li&gt;Apply the Class: Simply add the prose class to the container element that wraps your content.
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;article&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"prose"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Feliz Feliz como una lombriz! Blog Post&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Now 100% visual pleasant!&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;For example, you could write a React component to wrap all your &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; tags.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;clsx&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;clsx&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;ProseWrapperProps&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;children&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ReactNode&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;ProseWrapper&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;children&lt;/span&gt; &lt;span class="p"&gt;}:&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ComponentPropsWithoutRef&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;div&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;ProseWrapperProps&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;wrapperClasses&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;clsx&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;prose&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;wrapperClasses&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;ProseWrapper&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adding the class &lt;code&gt;prose&lt;/code&gt; to your content's website adjusts font sizes and line heights for easy reading, adds the right amount of spacing between elements, styles headings, lists, blockquote, and code blocks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There is more!&lt;/strong&gt; The "prose" class comes in different sizes, like a perfect t-shirt:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;prose-sm&lt;/code&gt;: For a more intimate, cozy read&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;prose-lg&lt;/code&gt;: When you want your words to stand tall&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;prose-xl&lt;/code&gt;: For making a big impression&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;prose-2xl&lt;/code&gt;: When you need your text to be the star of the show&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Wrapping Up&lt;/strong&gt;&lt;br&gt;
The &lt;code&gt;prose&lt;/code&gt; class from &lt;code&gt;@tailwindcss/typography&lt;/code&gt; is the secret sauce that'll make your content shine 💫. It's easy to use, powerful, and will make your typography look so good,&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Mi primera vez en Google I/O 2024</title>
      <dc:creator>Carmen Diaz</dc:creator>
      <pubDate>Sat, 01 Jun 2024 03:49:00 +0000</pubDate>
      <link>https://dev.to/karmenatwork/mi-primer-google-io-experience-1d4k</link>
      <guid>https://dev.to/karmenatwork/mi-primer-google-io-experience-1d4k</guid>
      <description>&lt;p&gt;Recientemente tuve la increíble oportunidad de asistir a Google I/O 2024 por primera vez en persona! Mi hermano, un experimentado Data Scientist, me sugirió compartir mis impresiones clave con su grupo de Data Science en Paraguay. &lt;/p&gt;

&lt;p&gt;Google I/O es un conferencia anual organizado por Google conocido por su enfoque a desarrolladores de todo el mundo. Profesionales en tecnología como programadores, científicos e ingenieros asisten a esta conferencia para conocer los avances más recientes que Google ofrece en Android, Chrome, Cloud Platform y una amplia gama de otras herramientas para desarrolladores, así como para hacer networking y aprender de los expertos de la compañía. Durante el evento, se llevan a cabo diversas sesiones, paneles, talleres, laboratorios prácticos y presentaciones magistrales que abarcan las últimas innovaciones de Google en diversas áreas.&lt;/p&gt;

&lt;p&gt;¡Google I/O es como Disneylandia para los amantes de la tecnología! &lt;br&gt;
¡Me sentí como un niña de cuatro años queriendo entrar a todos los juegos y comiendo dulces todo el día! ¡Es imposible no querer verlo todo y aprender de todo!&lt;/p&gt;

&lt;p&gt;Google I/O 2024: Lo más relevante (desde mi perspectiva)&lt;/p&gt;

&lt;h2&gt;
  
  
  The Gemini Era
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;I/O Google's version of the Eras Tour, but with fewer costume changes. &lt;br&gt;
&lt;em&gt;Sundar Pichai&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Este año se enfocó en sus avances significativos en IA (Inteligencia Artificial), especialmente, en una serie de novedades en la familia del modelo &lt;strong&gt;Gemini&lt;/strong&gt; - su revolucionario modelo IA- y en la integración de IA en todos sus productos:  herramientas para desarrolladores (Google AI Studio, Android studio, etc), Gemini en Google workspace, etc.&lt;/p&gt;

&lt;p&gt;🎶🎶&lt;strong&gt;Gemini, Gemini, Here And There, Gemini Everywhere&lt;/strong&gt; 🎶 🎶 &lt;br&gt;
Me recuerda al Preschool Rhymes "Bubbles, Bubbles, Here And There" 🎶&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini, La nueva familia del modelos de IA de Google
&lt;/h3&gt;

&lt;p&gt;La capacidad del modelo para comprender y generar texto, imágenes y código es impresionante. Para entender el impacto de Gemini, es fundamental comprender dos conceptos: ventana de contexto y multimodal.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Multimodal y multilingüe&lt;/em&gt;, significa que puede aprender de datos que van más allá del texto, o sea incluyendo comprensión de imágenes y sonidos en multilenguas. Gemini fue desarrollado multimodal desde sus inicios.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;La ventana de contexto&lt;/em&gt; se refiere a la cantidad máxima de tokens (palabras o caracteres) que el modelo puede procesar simultáneamente para generar una respuesta. Esta limitación afecta directamente la capacidad del modelo para comprender y generar respuestas. Seria como la memoria a corto plazo de una IA para las conversaciones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini 1.5 Flash&lt;/strong&gt; &lt;br&gt;
Entrenado por 1.5 Pro a través de un proceso llamado "destilación". Este modelo es más &lt;strong&gt;&lt;em&gt;liviano&lt;/em&gt;&lt;/strong&gt; que el 1.5 Pro, diseñado para ser rápido y eficiente, a un bajo costo. Está optimizado para tareas de gran volumen y es capaz de realizar multimodal con resultadas de alta calidad.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini 1.5 Pro&lt;/strong&gt;&lt;br&gt;
La clave aqui es:&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwil98fwpu5ir986c0npc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwil98fwpu5ir986c0npc.png" alt="2 Millons" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
Además de ampliar su ventana de contexto a 2 millones de tokens, el modelo ha mejorado exponencialmente a través de la optimización de algoritmos y datos: comprensión y análisis de imágenes y audio para videos, generación de código, conversación de múltiples turnos, razonamiento en materias complejas como matemáticas y física, etc han mejorado significativamente en Gemini 1.5 Pro.&lt;/p&gt;

&lt;p&gt;Gemini 1.5 Pro and Flash estan disponibles en Google AI Studio y Vertex AI con hasta 1 millón de tokens. Y desarrolladores pueden registrarse a la lista de espera para probar el modelo con 2 millones de tokens. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini Nano&lt;/strong&gt;&lt;br&gt;
No soy una desarrolladora móvil pero según entendí este modelo se ejecuta directamente en los dispositivos móviles, lo que garantiza una baja latencia y privacidad de datos. Además de las entradas de texto, ahora es posible incluir sonidos e imágenes. Un dato interesante es que también funciona sin red celular.&lt;br&gt;
A partir de Chrome 126, Gemini Nano se integra al desktop client Chrome, habilitando funciones como "Ayúdame a escribir" para generar contenido de formato corto utilizando IA.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La familia Gemma&lt;/strong&gt;&lt;br&gt;
Gemma, la familia de modelos abiertos creada a partir de la misma investigación y tecnología utilizada para crear los modelos de Gemini, ha integrado dos miembros más al clan. &lt;em&gt;Gemma2&lt;/em&gt;, modelo abierto para la innovación responsable en IA y &lt;em&gt;PaliGemma&lt;/em&gt; un modelo ligero de lenguaje de visión abierta (VLM) inspirado en PaLI-3,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Proyecto Astra&lt;/strong&gt; &lt;br&gt;
Google reveló sobre el futuro de los asistentes de IA, un agente será útil en la vida cotidiana. El prototipo mostrado fue abrumador e impresionante al mismo tiempo! Este agente entiende y responde nuestro complejo mundo al igual que nosotros! Necesita comprender y recordar, para responder en tiempo real.&lt;/p&gt;

&lt;h3&gt;
  
  
  Herramientas de desarrollos, integración de Gemini
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Code becomes content, and coders become creators&lt;br&gt;
Jeanine Banks&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Google I/O'24 también se centro en su misión de poner Generative AI al alcance de todos los programadores. Hoy, Gemini es accesible para nosotros en: &lt;br&gt;
Android Studio, Chrome DevTools, Project IDX, Colab, VS Code, IntelliJ y Firebase &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85apallp2e9473d9jezt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85apallp2e9473d9jezt.png" alt="DevTools" width="800" height="221"&gt;&lt;/a&gt;&lt;br&gt;
Sinceramente este tópico merece unos cuantos posts dedicados exclusivamente, asi que los tengo etiquetados como "proximamente" en mi TODO list, una vez que experimente con ellos. Sin embargo, como pincelada, les puedo compartir lo &lt;/p&gt;

&lt;p&gt;Mi experiencia profesional se ha enfocado en el desarrollo web en su mayor parte, asi que asistí más bien a todo lo relacionado a Firebase y Google AI Studio&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Firebase&lt;/strong&gt;&lt;br&gt;
Además de improvisar su logo, Firebase nos presentó avances bastante interesantes como Firebase App Hosting&lt;/p&gt;

&lt;h3&gt;
  
  
  Modelos Generativos en la Media
&lt;/h3&gt;

&lt;p&gt;No puedo terminar este post, sin mencionar los increibles avances hechos en los modelos de generación de media.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modelo Imagen 3,&lt;/strong&gt; &lt;br&gt;
Un modelo más fotorrealista con menos imágenes distorcionadas. Lo más increíble es que entiende prompts escritos como las personas lo hacen!, incorporando pequeños detalles. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Music AI tool&lt;/strong&gt; &lt;br&gt;
Está en mi TODO list probarlo. Me llamó mi atención ya que mi hijo tiende una tendencia hacia la música (canta, baila, inventa músicas, etc) pero mucho no pude ver en persona sobre ello.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modelo Veo&lt;/strong&gt;&lt;br&gt;
De acuerdo al demo, Veo crea videos de alta calidad basados en los detalles dados en los prompts en una forma que es bien realista. &lt;/p&gt;

</description>
      <category>googleio</category>
    </item>
  </channel>
</rss>
