{"version":"https://jsonfeed.org/version/1.1","title":"GNDX — Español","home_page_url":"https://gndx.dev/","feed_url":"https://gndx.dev/feed.json","description":"Artículos de Oscar Barajas sobre JavaScript, React, inteligencia artificial, agentes de IA, desarrollo web y carrera profesional.","language":"es","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/","avatar":"https://gndx.dev/gndx.webp"}],"items":[{"id":"https://gndx.dev/blog/230526-creadores-medellin-joven-2026/","url":"https://gndx.dev/blog/230526-creadores-medellin-joven-2026/","title":"Creadores Medellín Joven 2026: IA para la nueva generación","summary":"Mi segundo año consecutivo apoyando Creadores Medellín Joven, llevando inteligencia artificial y agentes de IA a jóvenes de la ciudad donde vivo y creo futuro.","content_text":"Este tipo de espacios que propician desde la Alcaldía de Medellín son la forma de llevar la tecnología a los jóvenes. Es mi segundo año consecutivo apoyando para llevar la educación y la inteligencia artificial a los jóvenes de Medellín, ciudad que hoy en día es donde vivo, donde mi hijo disfruta su cultura, y donde vemos mucho potencial para ser una gran ciudad innovadora, llena de jóvenes con talento y ganas de aprender.\n\nÓscar Barajas en Creadores Medellín Joven 2026\n¿Qué es Creadores Medellín Joven?\n\nCreadores Medellín Joven es una convocatoria y experiencia formativa impulsada en Medellín para jóvenes interesados en la creación de contenido, comunicación digital, tecnología y creatividad. El programa combina formación práctica, recorridos urbanos, laboratorios creativos, mentorías con profesionales, networking juvenil, cultura digital y comunicación.\n\nLa iniciativa busca fortalecer las habilidades de jóvenes creadores y comunicadores mediante experiencias inmersivas enfocadas en creación de contenido, comunicación digital, inteligencia artificial, producción audiovisual, narrativas digitales, cultura juvenil y tecnología aplicada a medios. Además, conecta a los participantes con expertos y líderes de distintas áreas creativas.\nLaboratorio: Agentes de IA\n\nUno de los componentes principales del evento son los Laboratorios Creativos, donde especialistas acompañan procesos prácticos de aprendizaje. Este año tuve el honor de impartir el laboratorio de Agentes de IA.\n\nEl objetivo del laboratorio fue claro: aprender a construir asistentes y agentes de IA para automatizar, potenciar y mejorar procesos creativos y digitales. No teoría vacía, sino práctica real con herramientas que los jóvenes pueden aplicar desde el primer día.\n\nTrabajamos desde cero, construyendo agentes que puedan resolver tareas concretas, conectar herramientas y ejecutar flujos de trabajo creativos. La idea fue siempre la misma que me mueve en todos mis proyectos: la IA no debe ser magia reservada para unos pocos. Debe ser una herramienta accesible para cualquier persona con curiosidad y disposición para aprender.\nLo que recibe cada participante\n\nEl evento es mucho más que un taller. Los asistentes viven una experiencia completa:\nRecorrido urbano: conocen historias y procesos de transformación de Medellín.\nFormación práctica: participan en talleres y laboratorios enfocados en comunicación juvenil y creación digital.\nCertificación: al finalizar el proceso formativo, cada joven recibe su certificado.\nActividades culturales: el encuentro incluye programación artística en el barrio Carlos E. Restrepo.\n\nRecorrido urbano por Medellín en Creadores Medellín Joven 2026\nMedellín como ciudad de oportunidades\n\nJóvenes participantes en Creadores Medellín Joven 2026\n\nVer a jóvenes entre 14 y 28 años llegando a las 8:30 de la mañana un sábado, con su teléfono en mano y con genuinas ganas de construir algo nuevo con IA, no es un dato menor. Es la prueba de que el talento existe y solo necesita espacio, acceso y dirección.\n\nMedellín me ha demostrado que puede ser esa ciudad. La Alcaldía, Medellín Joven, el Sistema de Bibliotecas Públicas, EPM, INDER y los aliados culturales que sostienen esta iniciativa están haciendo algo importante: crear infraestructura de oportunidades para quienes más lo necesitan.\n\nVolver este año fue una decisión fácil. No hay manera más directa de aportar que estar presente, enseñar desde la práctica y demostrarle a un joven que sí puede construir tecnología, no solo consumirla.\n\nEl futuro de Medellín está en esas manos.","date_published":"2026-05-23T08:30:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["ia","comunidad","educacion","medellin","jovenes","inteligencia-artificial","agentes"],"image":"https://gndx.dev/og/blog/230526-creadores-medellin-joven-2026.png","language":"es","_markdown_url":"https://gndx.dev/blog/230526-creadores-medellin-joven-2026.md"},{"id":"https://gndx.dev/blog/140426-openclaw-del-hype-a-la-practica/","url":"https://gndx.dev/blog/140426-openclaw-del-hype-a-la-practica/","title":"OpenClaw: del hype a la práctica","summary":"En mi última conferencia expliqué cómo pasar del ruido sobre agentes de IA a una arquitectura real, útil, segura y operable con OpenClaw.","content_text":"En mi última conferencia quise poner una idea sobre la mesa con total claridad: el problema no es el hype alrededor de los agentes de IA. El verdadero problema es quedarse mirando el hype mientras otros ya están construyendo sistemas que trabajan, responden, ejecutan tareas y generan valor real.\n\nPor eso titulé esta charla OpenClaw: del hype a la práctica. Mi intención no era vender una fantasía futurista ni repetir el discurso de siempre sobre agentes autónomos. Quise mostrar algo mucho más útil: cómo diseñar, desplegar y operar agentes de IA que sí puedan vivir en producción con criterios concretos de costo, arquitectura, identidad, seguridad y ejecución.\nDel ruido mediático a una arquitectura operativa\n\nHoy vivimos en un mercado saturado de promesas. Por un lado están los titulares que presentan a los agentes como si fueran magia. Por el otro, están los equipos que necesitan sistemas estables, predecibles, baratos y gobernables.\n\nEsa tensión fue el punto de partida de mi charla.\n\nMi tesis es simple: un agente no debe entenderse como una demo bonita ni como un truco de marketing. Un agente útil debe entenderse como una infraestructura operativa.\n\nEn la presentación lo expliqué con una arquitectura muy sencilla de visualizar:\nVPS en la nube como espacio operativo\nOpenClaw como framework\nLLM como motor de razonamiento\nTelegram como interfaz conversacional\n\nLo importante aquí no es la herramienta específica, sino el cambio de mentalidad. Cuando una persona entiende esta separación, deja de pensar en “un bot” y empieza a pensar en un sistema que puede vivir 24/7, recibir instrucciones, ejecutar acciones y evolucionar con nuevas capacidades.\nEmpezar bien no significa empezar complejo\n\nUno de los mensajes más importantes que quise dejar es que no se necesita hardware costoso ni una infraestructura absurda para comenzar con agentes.\n\nMi recomendación es empezar en la nube, con una complejidad mínima y con disponibilidad permanente. Eso obliga a tomar mejores decisiones desde el primer día: aislar entornos, reducir superficie de ataque, controlar credenciales y definir fronteras de confianza.\n\nEse enfoque coincide con la propia documentación de OpenClaw, donde se recomienda separar entornos y límites de confianza cuando existen usuarios o credenciales con distintos niveles de riesgo, en vez de asumir que todo debe convivir en un solo espacio compartido. OpenClaw Security\nLa identidad del agente también se diseña\n\nOtro punto que trabajé mucho en la conferencia fue la identidad.\n\nCreo que una de las ideas más subestimadas en el mundo de los agentes es pensar que todo se resuelve solo con código. No es así. Un agente también se redacta, se orienta y se entrena desde el lenguaje.\n\nArchivos como SOUL.md, IDENTITY.md y USER.md permiten definir:\nel tono del agente,\nsu rol,\nsus prioridades,\nel contexto del usuario,\ny la forma en que debe tomar decisiones.\n\nPara mí, esa capa es lo que transforma al agente en algo más cercano a un colaborador operativo que a un simple asistente reactivo. No basta con darle herramientas; también hay que definir cómo piensa, qué considera importante y cómo responde cuando la realidad no es perfecta.\nSkills: enseñar tareas, no solo conectar funciones\n\nTambién dediqué una parte importante de la charla a explicar las skills de una forma menos abstracta.\n\nMi manera de verlo es muy simple: una skill no es solo una integración técnica. Una skill es una instrucción empaquetada que le enseña al agente a ejecutar una tarea concreta, casi como cuando entrenamos a una persona nueva dentro de un equipo.\n\nEso hace toda la diferencia, porque nos obliga a pensar menos en features aisladas y más en capacidades operativas reutilizables.\n\nLa documentación oficial de OpenClaw lo aterriza muy bien: las skills funcionan como unidades instruccionales empaquetadas en carpetas con SKILL.md, y pueden cargarse o filtrarse según configuración, entorno o allowlists. OpenClaw Skills\nEl valor real no está en reemplazar humanos\n\nEn esta conferencia también quise mover la conversación hacia un lugar más honesto.\n\nNo me interesa vender la narrativa del reemplazo humano. Me interesa hablar de ampliación de capacidad operativa.\n\nCuando una persona o un equipo incorpora agentes bien diseñados, no está “desapareciendo trabajo humano”. Lo que está haciendo es absorber trabajo repetitivo, delegar ejecución y liberar tiempo para decisiones estratégicas, creatividad, dirección y criterio.\n\nEsa es la razón por la que en la charla insisto en que hoy una sola persona, con pocos dólares al mes y una buena arquitectura de agentes, puede alcanzar una capacidad operativa que antes exigía equipos mucho más grandes.\n\nNo porque la IA sea magia, sino porque la automatización bien gobernada multiplica enfoque.\nDel agente individual a un sistema distribuido\n\nUno de los momentos más importantes de la presentación fue mostrar la arquitectura distribuida del Dragons Team.\n\nAhí ya no estamos hablando de “qué es un agente”, sino de cómo construir un sistema multiagente con especialización por contexto, orquestación centralizada, costos controlados e inferencia híbrida.\n\nEn este modelo:\nNia opera como orquestador principal\nMajisto se enfoca en infraestructura y automatización de bajo consumo\nAstra se especializa en señales, scraping y síntesis\n\nLo valioso de esta topología no es solo que funcione, sino que cada nodo tiene una responsabilidad clara y una carga cognitiva proporcional a su rol. Eso hace posible combinar nube e inferencia local sin disparar costos ni perder gobernanza.\nCostos bajos, decisiones inteligentes\n\nOtra idea central de la charla fue desmontar el mito de que trabajar con agentes exige presupuestos enormes.\n\nCuando el procesamiento pesado se deriva solo donde realmente hace falta, y los nodos periféricos operan con APIs ligeras o funciones delimitadas, el costo operativo puede mantenerse sorprendentemente bajo.\n\nEse punto fue clave para demostrar que la conversación sobre agentes ya no es un lujo de laboratorio. Es una posibilidad real para creadores, developers, startups y equipos pequeños que quieren construir sistemas útiles sin hipotecar su operación.\nSeguridad: donde la conversación se vuelve seria\n\nSi hubo un segundo acto en mi conferencia, fue este: la seguridad.\n\nEn el momento en que conectamos un LLM al mundo real mediante herramientas, APIs, filesystem o ejecución de comandos, dejamos de hablar solo de generación de texto. Empezamos a operar una superficie de riesgo completamente nueva.\n\nPor eso insistí en que las aplicaciones con LLM no pueden protegerse únicamente con controles tradicionales. Riesgos como la prompt injection directa o indirecta, el abuso de herramientas y la escalación de privilegios ya están documentados por OWASP como amenazas centrales para agentes y aplicaciones basadas en LLM. OWASP Prompt Injection Prevention OWASP AI Agent Security\n\nMi propuesta de defensa en profundidad se organiza en varias capas:\narquitectura y aislamiento,\nidentidad y accesos,\nejecución y red,\namenazas de contenido,\nvisibilidad operativa.\n\nEse enfoque también se alinea con el marco del NIST para IA generativa, donde la gestión del riesgo no se limita al modelo sino que cubre gobernanza, operación, monitoreo, controles técnicos y contexto de uso. NIST AI RMF\nTres principios que considero no negociables\n\nSi tuviera que resumir la parte más madura de la conferencia, la dejaría en tres principios.\n1. Mínimo privilegio y separación de entornos\n\nUn agente compartido, con demasiados accesos y sin fronteras claras, es una mala idea.\n\nPor eso defiendo contenedores, gateways separados, usuarios dedicados del sistema y credenciales segmentadas. La seguridad real empieza cuando dejamos de asumir que todo puede convivir en el mismo espacio sin consecuencias.\n2. La aprobación humana no reemplaza el sandboxing\n\nPedir confirmación al usuario no es suficiente.\n\nEse es uno de los errores de diseño más comunes en sistemas agentic: creer que un clic de aprobación compensa una mala arquitectura de aislamiento. No lo hace. El control real está en el host, el sistema operativo, la red, los permisos y las herramientas expuestas.\n3. Todo input externo debe tratarse como potencialmente malicioso\n\nUna página web, un correo, un archivo adjunto o un bloque de texto pueden contener instrucciones ocultas o maliciosas que alteren el comportamiento del agente.\n\nPor eso insisto en no confiar ciegamente en contenido externo, mantener protecciones activas y redactar secretos en logs y trazas. La seguridad de agentes no es un tema teórico; es una disciplina operativa.\nPor qué esta charla importa ahora\n\nLo que quise construir con esta conferencia fue un puente.\n\nUn puente entre el entusiasmo y la implementación.\nUn puente entre el agente individual y la arquitectura distribuida.\nUn puente entre la promesa de productividad y la responsabilidad de operar IA con seguridad.\n\nCreo que ahí está la relevancia real de esta conversación. Los agentes ya no son solo una curiosidad de laboratorio ni una demo para redes sociales. Se están convirtiendo en una nueva capa operativa del software.\n\nY si vamos a construir esa capa, tenemos que hacerlo bien: con identidad, con skills, con topologías pensadas para el mundo real, con costos sostenibles y con principios serios de seguridad.\nMi conclusión\n\nPara mí, OpenClaw: del hype a la práctica no trata únicamente sobre OpenClaw.\n\nTrata sobre una forma de pensar la IA aplicada con más criterio y menos espectáculo.\n\nTrata sobre dejar de consumir el futuro como narrativa y empezar a operarlo como arquitectura.\n\nEse fue el mensaje de mi conferencia, y sigue siendo el mensaje que más me interesa defender: los agentes de IA no valen por parecer inteligentes. Valen cuando son útiles, gobernables, escalables y seguros.","date_published":"2026-04-14T15:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["ia","agentes","openclaw","arquitectura","seguridad"],"image":"https://gndx.dev/og/blog/140426-openclaw-del-hype-a-la-practica.png","language":"es","_markdown_url":"https://gndx.dev/blog/140426-openclaw-del-hype-a-la-practica.md"},{"id":"https://gndx.dev/blog/260406-instalar-gemma-4-en-tu-telefono/","url":"https://gndx.dev/blog/260406-instalar-gemma-4-en-tu-telefono/","title":"Cómo instalar Gemma 4 en tu teléfono (iPhone y Android)","summary":"Guía paso a paso para descargar y correr Gemma 4 de forma local en tu iPhone o teléfono Android usando Google AI Edge Gallery.","content_text":"Gemma 4 en tu bolsillo: instalación rápida en iPhone y Android \n\nGemma 4 ya puede correr offline en teléfonos modernos gracias a la app oficial Google AI Edge Gallery. En esta guía aprenderás a ponerla a funcionar tanto en iPhone como en Android, sin cables ni pasos complejos.\n🧠 ¿Por qué importa? Entrenar y ejecutar modelos localmente te da privacidad total, cero costos por token y la libertad de usar IA incluso sin señal.\n\n---\nRequisitos rápidos\niPhone con iOS 17 o superior, chip A16 o Apple Silicon para el mejor desempeño.\nAndroid con Android 14, procesador Tensor, Snapdragon 8 Gen 2 o equivalente.\n6 GB libres y conexión Wi-Fi para la primera descarga.\n👨‍💻 Puede correr en telefonos con menos caracteristicas, pero saldra la adverencia de memoria insuficiente y sera mas lento al responder.\n\n---\niPhone: Gemma 4 en Google AI Edge Gallery\n\n1. Abre la App Store desde tu iPhone.\n2. Busca Google AI Edge Gallery y toca Obtener.\n3. Inicia la app, acepta permisos locales y entra en la pestaña AI Chat.\n4. Localiza el modelo Gemma 4 (versión \"Edge Optimized\").\n5. Toca Download y espera a que termine. Una vez listo, selecciona Probar.\n6. Inicia una conversación como lo harias en ChatGPT.\n\nEnlace directo: Google AI Edge Gallery – App Store\n\n---\nAndroid: activar Gemma 4 paso a paso\n\n1. Abre Google Play y descarga Google AI Edge Gallery (requiere Google Play Services actualizado).\n2. Concede permisos de almacenamiento para guardar modelos.\n3. Inicia la app, acepta permisos locales y entra en la pestaña AI Chat.\n4. Localiza el modelo Gemma 4 (versión \"Edge Optimized\").\n5. Toca Download y espera a que termine. Una vez listo, selecciona Probar.\n6. Inicia una conversación como lo harias en ChatGPT.\n\nEnlace directo: Google AI Edge Gallery – Google Play\n\n---\nTips para obtener la mejor experiencia\nActualiza la app cuando recibas nuevas optimizaciones de Gemma 4.\nCarga el teléfono por encima del 40% antes de sesiones prolongadas.\nDesactiva Modo de bajo consumo (iPhone) o Ahorro de batería (Android) para evitar caídas de rendimiento.\n\nTu teléfono ahora es un mini servidor de IA listo para ejecutar Gemma 4 cuando quieras.","date_published":"2026-04-06T15:33:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["IA","gemma4","edge-ai","iphone","android","google"],"image":"https://gndx.dev/og/blog/260406-instalar-gemma-4-en-tu-telefono.png","language":"es","_markdown_url":"https://gndx.dev/blog/260406-instalar-gemma-4-en-tu-telefono.md"},{"id":"https://gndx.dev/blog/020426-lego-copa-mundo/","url":"https://gndx.dev/blog/020426-lego-copa-mundo/","title":"CREA tu Propia IMAGEN con la COPA del MUNDO en LEGO","summary":"Aprende a crear una imagen hiperrealista de ti mismo junto a la Copa del Mundo hecha con LEGO usando inteligencia artificial. Solo necesitas tu foto y el prompt especializado.","content_text":"¿Quieres tener una foto profesional tuyo junto a la Copa del Mundo en versión LEGO? Con la inteligencia artificial ahora es posible crear imágenes espectaculares que combinan tu rostro con la icónica Copa del Mundo construida con bloques LEGO.\n¿Qué necesitas?\n\nSolo requieres 2 elementos:\n\n1. La imagen de la Copa del Mundo LEGO: Ya tengo la imagen perfecta para ti.\n\n Copa del Mundo LEGO\n\n2. Tu fotografía: Una foto clara de tu rostro para que la IA reconozca tus características.\nHerramientas que puedes usar\n\nPuedes usar cualquiera de estas inteligencias artificiales generativas:\nChatGPT / DALL-E 3\nGoogle Gemini\nMidjourney\nLeonardo.AI\nIdeogram\nFlux\nO cualquier otra IA generativa que prefieras\nEl Prompt (Cópialo y pégalo sin alterar)\n\n[IMAGEPERSON] [IMAGETROPHY] A hyperrealistic cinematic studio portrait of the SAME man from IMAGEPERSON, maintaining exact facial features, skin tone, head shape, and likeness. wearing a fitted black long sleeve shirt, sitting at a dark matte table. In front of him, perfectly centered, is the LEGO FIFA World Cup trophy from IMAGETROPHY, preserving its exact structure, proportions, colors (golden bricks with green base), and LEGO texture (visible studs, block geometry). The man is carefully placing a small LEGO minifigure (yellow jersey, blue shorts, football player style) on top of the trophy using his right hand, with precise finger positioning. His gaze is directed downward at the figure with a serious, focused, introspective expression. Composition is symmetrical, with a strong vertical axis aligning the man's face and the trophy. Medium shot, slightly high angle. Lighting is dramatic cinematic low-key: soft top light with subtle side falloff, deep shadows, controlled highlights on skin and LEGO surfaces, high contrast, studio quality lighting. Background is completely dark with a soft gradient (deep black to dark teal), minimalistic, no distractions. Shallow depth of field: sharp focus on face, hand, and LEGO trophy, soft bokeh background. Color grading: rich blacks, warm skin tones, saturated gold on trophy, subtle teal shadows, cinematic contrast. Shot on 85mm lens, f/2.0, ultra-detailed textures, photorealistic, 8k, HDR, editorial photography style. --style raw --ar 1:1 --v 6 negative: blurry, low resolution, noise, grain, washed colors, flat lighting, overexposed, underexposed, cartoon, anime, illustration, painting, 3d render, CGI look, plastic skin, unrealistic face, extra fingers, missing fingers, deformed hands, mutated hands, bad anatomy, duplicate face, distorted face, wrong identity, different person, incorrect LEGO structure, smooth surfaces (no studs), melted shapes, floating objects, misaligned objects, bad perspective, cluttered background, bright background, messy scene, text, watermark, logo, borders, frame, cropped head, cropped object, out of frame, multiple people, extra limbs\n¿Cómo usar el prompt?\n\n1. Sube tu foto personal a la IA que elijas.\n2. Sube la imagen de la Copa del Mundo LEGO (la que está arriba).\n3. Pega el prompt completo en el chat.\n4. Espera unos segundos y ¡listo!\nResultado esperado\n\nObtendrás una imagen profesional de estudio donde apareces tú con una expresión seria y concentrada, colocando una minifigura LEGO en la Copa del Mundo, con una iluminación cinematográfica de alto nivel.\n\n¡Comparte tu resultado en redes sociales y etiquétame! Me encantaría ver tu creación.","date_published":"2026-04-02T23:47:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["ia","imágenes","tutorial","lego","copadelmundo"],"image":"https://gndx.dev/og/blog/020426-lego-copa-mundo.png","language":"es","_markdown_url":"https://gndx.dev/blog/020426-lego-copa-mundo.md"},{"id":"https://gndx.dev/blog/190226-la-historia-del-proyecto-openclaw/","url":"https://gndx.dev/blog/190226-la-historia-del-proyecto-openclaw/","title":"La historia del proyecto conocido hoy como OpenClaw","summary":"De Clawdbot a Moltbot y finalmente OpenClaw: el recorrido de uno de los proyectos de agentes de IA open source con mayor crecimiento reciente.","content_text":"En noviembre de 2025, Peter Steinberger, desarrollador austriaco y fundador de PSPDFKit, inició un experimento de fin de semana que terminaría convirtiéndose en uno de los proyectos de IA open source más comentados del momento.\n\nSu idea era simple de explicar, pero compleja de ejecutar: crear un asistente autónomo y autoalojado que no solo contestara mensajes, sino que pudiera actuar por ti en tareas reales.\nEl inicio: más que un chatbot\n\nDesde el principio, el objetivo no era construir otro bot de texto. El proyecto buscaba operar en canales reales como WhatsApp, Telegram, iMessage, Discord o Slack, y ejecutar acciones como:\ncorrer comandos en tu sistema,\ngestionar calendario y recordatorios,\nleer y procesar correo,\ncoordinar tareas con servicios externos.\n\nTodo esto apoyado por modelos como Claude, GPT, Gemini u otros, mientras la lógica y el estado persistente vivían de forma local.\nLínea de tiempo del proyecto\nNoviembre 2025: Clawdbot\n\nEl primer lanzamiento público llegó bajo el nombre Clawdbot, con un asistente llamado Clawd, inicialmente vinculado al ecosistema de Claude.\nDiciembre 2025: viralización\n\nEn muy pocos días el repositorio explotó en popularidad: miles de estrellas en 24 horas, fuerte tracción entre desarrolladores y gran cobertura en redes y medios tecnológicos.\n27 de enero de 2026: cambio a Moltbot\n\nTras una solicitud por posible confusión de marca entre Clawd/Clawdbot y Claude, el proyecto se renombró como Moltbot y el asistente pasó a llamarse Molty.\n\nEl concepto de \"molt\" (muda del caparazón) mantenía la temática de langosta, pero con identidad renovada.\n\nDurante esta transición ocurrió un incidente delicado: el antiguo handle en redes fue secuestrado por estafadores para promocionar un token falso relacionado con Clawd, que alcanzó un pico aproximado de 16 millones de dólares antes de desplomarse.\nFinales de enero de 2026: nace OpenClaw\n\nPoco después, el creador decidió volver a iterar el naming. Así apareció OpenClaw, nombre que se mantiene hasta ahora.\nFilosofía técnica\n\nOpenClaw no es un modelo fundacional propio. Es un framework de agente autónomo que prioriza ejecución real, memoria y proactividad.\n\nSu arquitectura se entiende por tres bloques principales:\nGateway: recibe eventos desde apps de mensajería y otros canales.\nAgent Loop: toma decisiones, planea y ejecuta acciones.\nHeartbeat: mantiene estado, continuidad y persistencia del agente.\n\nEsa separación ha permitido crecer en capacidades sin perder foco: integrar varios proveedores de IA y operar en entornos locales o auto-hospedados.\nComunidad y ecosistema\n\nOtra pieza clave ha sido la comunidad. Alrededor del proyecto surgieron \"skills\" y módulos extensibles, incluyendo colecciones comunitarias tipo awesome-openclaw-skills y ecosistemas relacionados como VoltAgent.\n\nTambién apareció Moltbook, una red social orientada a agentes de IA, donde estas instancias pueden comunicarse y coordinarse de forma autónoma.\n2026 y lo que viene\n\nCon más de 100,000 a 200,000 estrellas en GitHub en tiempo récord, OpenClaw se convirtió en referencia de crecimiento dentro del software abierto para agentes.\n\nA mediados de febrero de 2026, se anunció que Peter Steinberger se uniría a OpenAI, mientras OpenClaw evolucionaría bajo una fundación open source para sostener su desarrollo de largo plazo.\n\nLa pregunta ahora no es si este tipo de herramientas seguirán creciendo, sino a qué velocidad llegarán al usuario final.\n\nSi 2026 marca el despegue, 2027 podría consolidar una nueva categoría de asistentes: agentes personales capaces de operar de verdad en nuestros sistemas, no solo de conversar sobre ellos.","date_published":"2026-02-19T18:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["inteligencia-artificial","open-source","agentes","openclaw","clawdbot","moltbot","ia","openai"],"image":"https://gndx.dev/og/blog/190226-la-historia-del-proyecto-openclaw.png","language":"es","_markdown_url":"https://gndx.dev/blog/190226-la-historia-del-proyecto-openclaw.md"},{"id":"https://gndx.dev/blog/que-es-vibecodear-y-por-que-esta-tan-de-moda/","url":"https://gndx.dev/blog/que-es-vibecodear-y-por-que-esta-tan-de-moda/","title":"¿Qué es vibecodear y por qué está tan de moda?","summary":"Vibecodear es crear software en modo flujo con IA para prototipar rápido, validar ideas y construir sin fricción inicial, pero con retos reales al pasar a producción.","content_text":"Vibecodear es crear software en modo flujo: partir de una idea, describirla con texto o voz y usar herramientas de IA para construir rápido, prototipar y probar sin clavarte desde el inicio en reglas rígidas. Suena liberador, pero también abre dilemas reales cuando quieres llevarlo a producción.\n¿Qué significa “vibecodear” y por qué está tan de moda?\n\nVibecodear (vibecoding) se entiende como una forma informal y creativa de programar. La prioridad no es seguir al pie de la letra arquitecturas formales o mejores prácticas, sino:\nentrar en el flow\nexperimentar rápido\nconstruir guiado por intuición y velocidad\nlanzar algo para ver qué pasa en el mundo real\n\nLa moda viene de algo muy concreto: hoy puedes pedirle a una IA “hazme una app”, “hazme un juego” o “protótame esto” y obtienes resultados iterables en minutos.\n¿Qué relación tiene el vibecoding con el low-code y el no-code?\n\nEsto conecta con una discusión que ya vivimos: low-code/no-code. La lógica es parecida:\nson herramientas para crear más rápido\npermiten que más gente construya cosas\nincomodan a quienes sienten que “si eres programador, no deberías usarlas”\n\nLa idea clave es simple: son herramientas. El conflicto aparece cuando se confunde “hacerlo funcionar” con “hacerlo bien”.\n¿Se puede vibecodear sin saber programar?\n\nSí. Con ChatGPT o herramientas similares, alguien puede construir con:\ntexto\naudio\niteración por prueba y error\n\nIncluso con ejemplos cotidianos: pedir una app o un juego, recibir un resultado, iterarlo y componer un producto. Esto baja muchísimo la barrera de entrada.\n¿Dónde aparece el “dolor” cuando vibecodeas para usuarios reales?\n\nEl problema no es crear. El problema empieza cuando lo usará gente.\n\nCuando lanzas una app, aparecen factores que el prototipo no te revela:\nel usuario encuentra casos raros\nsurgen fricciones y expectativas\nel problema real a veces no se resuelve, aunque se vea bien\n\nY ahí entra el dilema: muchas apps vibecodeadas pueden quedarse en demo, o llegar a producción con bases débiles para crecer.\n¿Qué pasa con la escalabilidad y la arquitectura en el vibecoding?\n\nVibecodear a lo loco funciona para probar ideas, pero puede fallar cuando necesitas:\nescalar\nsostener una base técnica sólida\ntener decisiones arquitectónicas con intención\n\nLa app puede construirse por construirse, solo porque el prompt lo pidió, pero sin responder preguntas como:\n¿cómo se va a almacenar la información?\n¿podrá el usuario tener múltiples paletas?\n¿se podrá iterar una paleta?\n¿qué estructura soporta eso mañana?\n¿Cómo vibecodea alguien con experiencia técnica sin perder buenas prácticas?\n\nTambién se puede vibecodear con un enfoque más disciplinado. Antes de pedir código, conviene hacer trabajo previo:\nbajar y entender requerimientos\nvalidarlos y probar ideas con otras herramientas\narmar un developer plan por fases\nacompañar a la IA para que respete arquitectura y buenas prácticas\n\nAsí no solo fluyes, sino que fluyes de forma técnica y correcta, buscando un resultado escalable.\n¿Por qué trabajar por fases mejora los resultados al vibecodear?\n\nUna regla práctica útil: dividir el trabajo en fases y que cada fase tenga máximo 4 tareas o subtareas.\n\nEl beneficio es directo:\nreduces caos\npuedes validar cada entrega\nanalizas resultados antes de seguir\nno dejas que la IA haga todo de una\n\nEsto convierte el vibecoding en un proceso más controlado, sin matar la velocidad.","date_published":"2026-02-17T00:03:58.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["inteligencia artificial","vibecoding","desarrollo de software","vibecodear","chat gpt","low code","no code","codex app"],"image":"https://gndx.dev/og/blog/que-es-vibecodear-y-por-que-esta-tan-de-moda.png","language":"es","_markdown_url":"https://gndx.dev/blog/que-es-vibecodear-y-por-que-esta-tan-de-moda.md"},{"id":"https://gndx.dev/blog/200126-fiebre-del-oro-de-la-ia/","url":"https://gndx.dev/blog/200126-fiebre-del-oro-de-la-ia/","title":"Fiebre del Oro de la IA","summary":"La llamada “Fiebre del Oro de la IA” promete dinero fácil, resultados rápidos y cero esfuerzo.","content_text":"La llamada “Fiebre del Oro de la IA” promete dinero fácil, resultados rápidos y cero esfuerzo. Pero el negocio real no está en aplicar la inteligencia artificial, sino en vender la ilusión de que cualquiera puede enriquecerse con un clic. En este escenario, muchos no son mineros: son la mina.\n\nEsto luego de ser bombardeado por publicidad de supuestos gurús que prometen resultados rápidos y cero esfuerzo y que prometen que cualquier persona puede enriquecerse con un clic, así que los puse a prueba, entré a uno de esas clases que ofrecen y es donde me doy cuenta de la realidad, comenten errores, no dan resultados, no dan valor, solo prometen resultados rápidos y cero esfuerzo y hasta meten la religión para que crean que son los verdaderos gurús.\n¿Qué es realmente la “Fiebre del Oro de la IA”?\n\nEs un fenómeno impulsado por supuestos gurús que presentan la IA como un atajo hacia la libertad financiera, y no están mal, pero prometen resultados rápidos usando herramientas automáticas, juegan con la promesa de las personas y si enseñan a las personas cosas, si tienen metodologías y estas pueden funcionar, pero el problema radica en prometer resultados rápidos y cero esfuerzo, es decir, prometen que cualquier persona puede enriquecerse con un clic.\n\nEstos gurús prometen ingresos rápidos usando herramientas automáticas, venden la idea de que el conocimiento ya no importa y ocultan que el verdadero negocio es el curso, no el método.\n¿Por qué no eres el minero, sino la mina?\n\nEn esta fiebre, el recurso explotado es la atención y el dinero de quienes compran. Los vendedores no ganan aplicando los sistemas, sino ganando vendiendo la promesa de que funcionan, mientras el comprador financia el ciclo con su expectativa.\n¿Qué falla en los modelos de “copiar y pegar” de Aplicar IA?\n\nCuando la barrera de entrada es cero, el valor desaparece y la saturación es inevitable y lo vemos, hoy en día, hasta YouTube ha dejado de monetizar videos de IA, porque la saturación es inevitable.\n\nEl resultado es la creación de libros en minutos, canales automatizados sin criterio y negocios sin conocimiento real detrás, lo que inevitablemente lleva a saturación y rendimientos que se desploman.\n¿Cómo funciona el ciclo de los falsos gurús?\n\nEl patrón se repite con precisión: exageran resultados iniciales, culpan al comprador cuando fracasa, reinvierten las ventas en más publicidad y utilizan la religión para que crean que son los verdaderos gurús.\n\nAsí, la ilusión se mantiene viva aunque el modelo no funcione o supongamos que funciona, pero volvemos al tema central, no es que el método sea bueno o malo, es la promesa de resultados rápidos y cero esfuerzo.\n¿La inteligencia artificial es inútil o una estafa?\n\nNo. La IA es poderosa, pero no es mágica y requiere de conocimiento real para funcionar, no solo un prompt, un custom GPT de ChatGPT usando un prompt mediocre, y esto lo digo porque accediendo a los recursos que compartían se filtró el prompt y en verdad venden esto como la solución mágica.\n\nEs importante entender que la IA no crea valor desde cero, no sustituye el conocimiento real y no convierte la nada en algo valioso.\n¿Cuál es la decisión clave frente a esta fiebre?\n\nLa decisión clave frente a esta fiebre es entender el juego antes de pagar el precio. Esto significa no perseguir atajos irreales, no comprar libertad financiera instantánea y no convertirse en el recurso explotado.\n\nSé inteligente: no seas la mina de nadie.","date_published":"2026-01-20T16:03:23.100Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["IA","robot","inteligencia artificial"],"image":"https://gndx.dev/og/blog/200126-fiebre-del-oro-de-la-ia.png","language":"es","_markdown_url":"https://gndx.dev/blog/200126-fiebre-del-oro-de-la-ia.md"},{"id":"https://gndx.dev/blog/070825-como-crear-una-pagina-web-en-minutos/","url":"https://gndx.dev/blog/070825-como-crear-una-pagina-web-en-minutos/","title":"¿Cómo crear una página web en minutos?","summary":"Crear tu propia página web con inteligencia artificial ya no es un proceso complejo ni costoso. Hoy, gracias a herramientas como HostGator y WordPress con IA integrada, es posible lanzar un sitio funcional, visualmente atractivo y económico en minutos, sin escribir una sola línea de código.","content_text":"Crear tu propia página web con inteligencia artificial ya no es un proceso complejo ni costoso. Hoy, gracias a herramientas como HostGator y WordPress con IA integrada, es posible lanzar un sitio funcional, visualmente atractivo y económico en minutos, sin escribir una sola línea de código.\n\nHoy quiero explicarte paso a paso cómo crear tu página web en minutos, sin enredos, sin miedo a romper nada y con herramientas que están hechas justo para que nadie se complique la vida.\n¿Por qué necesitas una página web?\n\nPiénsalo: ¿Qué es lo primero que hace alguien cuando le hablas de tu proyecto, negocio o lo que sea? Exacto, ¡te googlea!\nUna web es tu carta de presentación en internet. Es el espacio donde tú decides qué mostrar y cómo hacerlo.\nNo importa si vendes empanadas, eres ilustrador, psicóloga, streamer o simplemente quieres poner tu portafolio en línea.\nTener tu propio dominio (tu nombre o el de tu negocio) ya no es lujo, es básico y necesario.\n¿Qué rayos es un dominio .com y para qué sirve?\n\nEs simple, el dominio es tu dirección en internet de fácil acceso y que es recordable entre las personas.\n\n¿Quieres que te encuentren fácil? Necesitas algo así como tunegocio.com.\nUn buen dominio es como un apodo pegajoso, fácil de recordar, nada de “negociosuperpro789-especial.com” (¡no te compliques!).\n\nTip: Antes de enamorarte de un nombre, revisa si está libre. No hay nada más triste que imaginar tu marca y ver que alguien más ya lo usa. Ten opciones A, B, C y D, prepárate para tener estas opciones o busca un dominio de internet más regional como .mx, .co, u otro.\n¿Dónde vive tu web? Contratar un Hospedaje Web\n\n¿Ya tienes nombre? Ahora necesitas un lugar donde tu página exista.\nEso es el hospedaje web.\n\nImagina que tu dominio es la dirección, pero el hospedaje es la casa donde guardas todo lo que vas a mostrar: fotos, textos, productos, servicios o tus memes favoritos, lo que quieras.\n\nAquí es donde Hostgator.mx es tu principal aliado. ¿Por qué lo recomiendo? Porque es de las plataformas más amigables y menos “técnicas” que hay para empezar. Literal, compras tu hospedaje y te llevan de la mano para que no te pierdas, soporte en español, herramientas de Inteligencia Artificial y diferentes métodos de pago.\nContrata tu Plan Emprendedor de Hospedaje en HostGator\n\nSé que suena a muchos pasos, pero la verdad es que todo está diseñado para que hasta tu abuelita pueda activarlo.\nEntras, compras tu dominio y hospedaje pueden ser juntos con el Plan Emprendedor, y Hostgator te va guiando, paso por paso. Si tienes dudas, el soporte es rápido, en español y hasta tienen tutoriales en video.\n\nNo te asustes: ningún botón va a explotar tu computadora, ni perderas tu Página Web.\nTu Página Web, Rapida y Disponible siempre.\n\nUna de las principales características que incluye HostGator es un CDN (Content Delivery Network). Es como una red de autopistas por todo el mundo que hace que tu web cargue rápido, estés donde estés (sí, aunque te visiten desde Japón o Argentina).\n\n¿Es necesario? Hoy en día, sí. A nadie le gusta esperar 10 segundos a que cargue una página. Los planes de HostGator lo incluyen y esto te permite tener una página web, rápida y siempre disponible.\n¿Vale la pena tener un correo profesional?\n\nSeamos honestos, cuando recibes un correo de “hola.negocio@gmail.com” versus “hola@tunegocio.com”, ¿cuál te da más confianza?\n\nEl correo profesional es ese pequeño detalle que le da seriedad a tu proyecto. Y sí, lo puedes configurar fácil desde Hostgator. Nada de configuraciones imposibles ni tutoriales de 1 hora. Solo sigue los pasos y estará listo tu correo, para conectarlo con las principales aplicaciones de correo electrónico y poder conectar con el mundo.\n¿WordPress es para mí si no sé programar?\n\n¡100% sí!\nWordPress es como el Lego de las páginas web. Arrastras, sueltas, cambias texto, colores, y listo. En HostGator lo instalas con un solo clic y, con ayuda de Inteligencia Artificial, puedes configurarlo, mejorarlo, crear imágenes, editar texto, lo que quieras, todo tan simple y fácil desde las herramientas que incluye HostGator para ti.\n\nLo mejor: no tienes que escribir ni una línea de código (de verdad).\nConsejos para que tu web sea un hit (sin morir en el intento)\nUsa fotos claras (nada de pixeladas de 2008).\nVe al grano, la gente no lee enciclopedias.\nAgrega tus redes y formas de contacto.\nActualiza seguido, no la abandones como MySpace.\n¿Cómo crear una página web en minutos?\n\nAhora que sabes los principales elementos que debes tener presente para tener una página web, es momento de empezarlo. En este video te explico paso a paso cómo crear una página web, con todo lo que tienes que hacer en HostGator: desde elegir tu nombre de dominio, contratar un plan de hospedaje, crear tu página web con inteligencia artificial y empezar a vender, escribir o simplemente ser parte de internet.","date_published":"2025-06-09T02:41:45.897Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["hostgator","hospedaje","web","pagina-web"],"image":"https://gndx.dev/og/blog/070825-como-crear-una-pagina-web-en-minutos.png","language":"es","_markdown_url":"https://gndx.dev/blog/070825-como-crear-una-pagina-web-en-minutos.md"},{"id":"https://gndx.dev/blog/extensiones-para-cursor-ai/","url":"https://gndx.dev/blog/extensiones-para-cursor-ai/","title":"Extensiones para Cursor AI","summary":"Cursor AI se transforma por completo con las extensiones adecuadas. Desde potenciar tu flujo de trabajo hasta evitar errores comunes y ganar velocidad","content_text":"Cursor AI se transforma por completo con las extensiones adecuadas. Desde potenciar tu flujo de trabajo hasta evitar errores comunes y ganar velocidad, esta selección cubre lo esencial para desarrolladores modernos que buscan un entorno ágil, ordenado y visualmente atractivo.\n📦 Lista de Extensiones para Cursor AI 2025\n\n1. Astro\n Soporte completo para el framework Astro, incluyendo resaltado de sintaxis, diagnósticos y autocompletado.\n 🔗 Astro - Visual Studio Marketplace\n\n2. Code Runner\n Ejecuta fragmentos de código en múltiples lenguajes directamente desde el editor.\n 🔗 Code Runner - Visual Studio Marketplace\n\n3. DotENV\n Proporciona resaltado de sintaxis y otras características para archivos .env.\n 🔗 DotENV - Visual Studio Marketplace\n\n4. Error Lens\n Mejora la visibilidad de errores y advertencias directamente en el editor.\n 🔗 Error Lens - Visual Studio Marketplace\n\n5. ES7 React/Redux/GraphQL/React-Native snippets\n Snippets para acelerar el desarrollo con React, Redux y GraphQL.\n 🔗 ES7 React/Redux/GraphQL/React-Native snippets - Visual Studio Marketplace\n\n6. ESLint\n Integración de ESLint para mantener un código limpio y consistente.\n 🔗 ESLint - Visual Studio Marketplace\n\n7. GitLens — Git supercharged\n Potente herramienta para visualizar y comprender la historia de tu código con Git.\n 🔗 GitLens — Git supercharged - Visual Studio Marketplace\n\n8. Image preview\n Muestra una vista previa de imágenes directamente en el editor.\n 🔗 Image preview - Visual Studio Marketplace\n\n9. Import Cost\n Muestra el tamaño de los paquetes importados en tiempo real.\n 🔗 Import Cost - Visual Studio Marketplace\n\n10. indent-rainbow\n Colorea las indentaciones para mejorar la legibilidad del código.\n 🔗 indent-rainbow - Visual Studio Marketplace\n\n11. Material Icon Theme\n Aplica un tema de iconos basado en Material Design para una mejor visualización de archivos.\n 🔗 Material Icon Theme - Visual Studio Marketplace\n\n12. MDX\n Soporte para archivos MDX, combinando Markdown con JSX.\n 🔗 MDX - Visual Studio Marketplace\n\n13. Nextjs snippets\n Snippets para acelerar el desarrollo con Next.js.\n 🔗 Nextjs snippets - Visual Studio Marketplace\n\n14. npm Intellisense\n Autocompletado para módulos npm en tus archivos de código.\n 🔗 npm Intellisense - Visual Studio Marketplace\n\n15. Prettier - Code formatter\n Formatea tu código automáticamente para mantener un estilo consistente.\n 🔗 Prettier - Code formatter - Visual Studio Marketplace\n\n16. Rainbow CSV\n Colorea y facilita la edición de archivos CSV.\n 🔗 Rainbow CSV - Visual Studio Marketplace\n\n17. Tailwind CSS IntelliSense\n Autocompletado y sugerencias para clases de Tailwind CSS.\n 🔗 Tailwind CSS IntelliSense - Visual Studio Marketplace\n\n18. Trailing Spaces\n Resalta y elimina espacios en blanco innecesarios al final de las líneas.\n 🔗 Trailing Spaces - Visual Studio Marketplace\n\n19. YAML\n Soporte mejorado para archivos YAML, útil en configuraciones y Kubernetes.\n 🔗 YAML - Visual Studio Marketplace\n\nEstas extensiones están disponibles en el Marketplace oficial de Visual Studio Code y son compatibles con Cursor AI, ya que este editor se basa en la plataforma de VS Code.","date_published":"2025-06-04T01:32:14.086Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["ia","CursorAI","inteligencia artificial"],"image":"https://gndx.dev/og/blog/extensiones-para-cursor-ai.png","language":"es","_markdown_url":"https://gndx.dev/blog/extensiones-para-cursor-ai.md"},{"id":"https://gndx.dev/blog/260225-instalar-warp-terminal-con-inteligencia-artificial-en-windows-11/","url":"https://gndx.dev/blog/260225-instalar-warp-terminal-con-inteligencia-artificial-en-windows-11/","title":"Warp terminal con inteligencia artificial en Windows 11","summary":"Warp es un terminal reinventado que combina herramientas colaborativas y una potente integración con inteligencia artificial para mejorar la productividad de los equipos de desarrollo. Con una interfaz moderna y funciones avanzadas, facilita el trabajo en la línea de comandos como nunca antes.","content_text":"Warp es un terminal reinventado que combina herramientas colaborativas y una potente integración con inteligencia artificial para mejorar la productividad de los equipos de desarrollo. Con una interfaz moderna y funciones avanzadas, facilita el trabajo en la línea de comandos como nunca antes.\n\nLo mejor de todo es que Warp, Ya esta disponible en todos los Sistemas Operativos, tanto MacOS, GNU/Linux y Recientemente en Windows.\nInstalar Warp en Windows 11\n\n \n\n \n\nAhora permíteme contarte algunas características que convierten a WARP en la terminal número uno para los desarrolladores.\n¿Cómo mejora Warp la edición en la terminal?\n\nWarp ofrece un editor de entrada similar a un IDE, lo que permite una experiencia más eficiente y fluida al escribir comandos. A diferencia de las terminales tradicionales, Warp permite seleccionar y editar varias líneas al mismo tiempo, facilitando la modificación de comandos complejos. Además, el uso del mouse mejora la navegación, proporcionando una alternativa intuitiva para los desarrolladores acostumbrados a entornos gráficos.\n¿Cómo optimiza Warp la escritura de comandos?\n\nWarp integra autocompletado inteligente directamente en la terminal, lo que ayuda a reducir errores y aumentar la velocidad al escribir comandos. Esta función sugiere opciones relevantes basadas en el contexto, lo que facilita tareas como la formateación de archivos de configuración sin necesidad de recordar sintaxis complejas. Gracias a esta capacidad, los usuarios pueden ahorrar tiempo y evitar frustraciones al ejecutar comandos repetitivos o complicados.\n¿Qué son los bloques en Warp?\n\nUna de las características más innovadoras de Warp es la agrupación de entrada y salida en bloques. Estos bloques permiten organizar mejor el historial de comandos, facilitando la navegación y la revisión de resultados previos sin perder el contexto. Con atajos de teclado, los usuarios pueden desplazarse rápidamente entre diferentes bloques o saltar al inicio o final de una salida extensa, mejorando la eficiencia en el uso diario del terminal.\n¿Cómo funciona el filtrado de bloques?\n\nWarp ofrece una función avanzada de filtrado de bloques que permite buscar información clave dentro de los resultados del terminal sin necesidad de recurrir a herramientas externas como cat o grep. Esta funcionalidad facilita la localización de información relevante y permite expandir el contexto de búsqueda según las necesidades del usuario. Gracias a este enfoque, la revisión de logs y la depuración de errores se vuelven mucho más rápidas y precisas.\n¿Qué papel juega la inteligencia artificial en Warp?\n\nA diferencia de los terminales tradicionales, Warp integra inteligencia artificial para asistir al usuario en múltiples tareas. Detecta automáticamente consultas en inglés y activa el \"modo agente\", lo que permite ejecutar tareas complejas, como la gestión de procesos y migraciones de bases de datos. Además, los usuarios pueden solucionar errores de terminal sin necesidad de buscar en Google o Stack Overflow, simplemente adjuntando la salida de su terminal para recibir sugerencias y soluciones precisas.\n¿Qué es Warp Drive y cómo ayuda a la productividad?\n\nWarp Drive es una de las funciones más poderosas de Warp, ya que permite almacenar comandos frecuentes como flujos de trabajo reutilizables. Esto resulta especialmente útil para tareas repetitivas, como la configuración de autenticaciones o la ejecución de procesos complejos en Docker. Warp también permite definir variables de entorno dinámicas y conectarlas con gestores de contraseñas como LastPass o 1Password, facilitando la ejecución segura de comandos.\n¿Cómo facilita Warp el trabajo en equipo?\n\nWarp no solo mejora la experiencia individual, sino que también potencia la colaboración en equipo. Con la función de \"notebooks\", los usuarios pueden documentar y compartir flujos de trabajo utilizando Markdown. Esto permite mantener actualizados los manuales de onboarding y los protocolos de incidentes dentro del terminal, mejorando la eficiencia operativa del equipo. Además, Warp Drive facilita la importación de documentación existente, asegurando un acceso rápido a la información relevante para todos los miembros del equipo.\n¿Qué opciones de personalización ofrece Warp?\n\nWarp es altamente personalizable, permitiendo a los usuarios ajustar la apariencia y funcionalidad del terminal según sus preferencias. Se pueden modificar temas y diseños a través de archivos YAML o imágenes personalizadas. Además, Warp facilita la importación de configuraciones desde otros terminales como iTerm2, evitando la necesidad de configurar todo desde cero. También permite personalizar atajos de teclado y la posición de la entrada de texto, adaptándose a diferentes estilos de trabajo.\n¿En qué plataformas está disponible Warp?\n\nActualmente, Warp está disponible para macOS y GNU/Linux y Windows, ofreciendo una experiencia optimizada para desarrolladores en estas plataformas.","date_published":"2025-02-26T20:25:36.661Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["warp","terminal","windows","herramientas"],"image":"https://gndx.dev/og/blog/260225-instalar-warp-terminal-con-inteligencia-artificial-en-windows-11.png","language":"es","_markdown_url":"https://gndx.dev/blog/260225-instalar-warp-terminal-con-inteligencia-artificial-en-windows-11.md"},{"id":"https://gndx.dev/blog/0912-personalizar-tu-terminal-warp-oh-my-zsh/","url":"https://gndx.dev/blog/0912-personalizar-tu-terminal-warp-oh-my-zsh/","title":"Personaliza tu terminal de 0 a PRO 😎 Warp + Oh My Zsh","summary":"La personalización de la terminal puede transformar por completo tu experiencia como desarrollador, pasando de una interfaz básica y poco atractiva a una herramienta potente y visualmente impresionante. Con Warp, una terminal inteligente que incorpora IA, junto con algunas configuraciones específicas, podrás crear un entorno de desarrollo más eficiente y agradable.","content_text":"Personalizar tu terminal puede transformar por completo tu experiencia como desarrollador, haciéndola más funcional, atractiva y eficiente. En este artículo, aprenderás cómo configurar una terminal moderna y poderosa utilizando herramientas como Warp, Zsh y Oh My Zsh, además de aprovechar la inteligencia artificial integrada.\n\n \n¿Qué terminal deberías usar para personalizarla?\n\nAunque puedes usar cualquier terminal, Warp.dev es altamente recomendada. Es una terminal que incorpora inteligencia artificial, lo que la hace ideal para desarrolladores. Si aún no la tienes, instálala antes de continuar. \n\nWarp está disponible para macOS y Linux, y próximamente en Windows.\n\nInstalar Warp \n¿Cómo instalar Zsh + Oh My Zsh?\n\nEl primer paso para personalizar tu terminal es instalar Zsh, un intérprete de comandos avanzado y flexible. Luego, complementa Zsh con Oh My Zsh, una herramienta que facilita la personalización mediante temas, plugins y configuraciones. Sigue estos pasos:\n\n \n1. Instalar Zsh:\nEn macOS, usa Homebrew:\n\nbrew install zsh\nEn Linux, utiliza el gestor de paquetes de tu distribución.\nEn Windows, asegúrate de tener WSL configurado y utilizar el gestor de paquetes de Ubuntu.\n\nsudo apt install zsh -y\n\n \n\n2. Instalar Oh My Zsh:\n\nLo único que tienes que hacer es copiar y pegar el siguiente código en tu terminal para instalar Oh My Zsh.\n\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n\n¿Cómo elegir y configurar un tema para Zsh?\n\n Un tema bien diseñado mejora la apariencia y funcionalidad de tu terminal. Para instalar un tema en Oh My Zsh:\n\n1. Descarga el tema de P10k el repositorio oficial de powerlevel10k\n2. Configura el tema editando el archivo .zshrc:\nAbre el archivo con tu editor de código favorito.\nBusca la línea ZSHTHEME y reemplázala con el nombre del tema que descargaste que en este caos es \"powerlevel10k/powerlevel10k\".\nGuarda los cambios y reinicia Zsh con el comando exec zsh para aplicar la configuración.\nEjecuta el comando p10k configure Para iniciar el proceso de configuración.\n \n¿Cómo ajustar la apariencia y funcionalidad de tu terminal?\n\nWarp y Oh My Zsh permiten personalizar detalles como colores, separadores y estructuras visuales. Durante la configuración inicial, sigue estos pasos:\nSelecciona el estilo de los iconos y separadores.\nConfigura el número de líneas en el prompt.\nAjusta la visualización de información como el tiempo y el estado de conexión.\n\n \n¿Cómo aprovechar la inteligencia artificial en Warp?\n\nWarp incluye una función de inteligencia artificial que puedes activar con el símbolo #. Esto te permite realizar consultas directamente desde la terminal, como:\nEliminar carpetas de nodemodules:\n\nfind . -name \"nodemodules\" -type d -prune -exec rm -rf '{}' +\nObtener explicaciones de comandos o sugerencias para optimizar tu flujo de trabajo.\n¿Qué ventajas ofrece esta configuración para desarrolladores?\n\nCon una terminal personalizada, no solo tendrás una interfaz más atractiva, sino también herramientas avanzadas que optimizan tu productividad. Desde la gestión de proyectos hasta la ejecución de comandos complejos, esta configuración te permitirá trabajar de manera más eficiente y profesional.\n\nTe dejo un video Paso a Paso para lograr esta configuración y personalización de tu terminal.","date_published":"2024-12-09T02:28:42.232Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["youtube","warp","terminal","ohmyzsh"],"image":"https://gndx.dev/og/blog/0912-personalizar-tu-terminal-warp-oh-my-zsh.png","language":"es","_markdown_url":"https://gndx.dev/blog/0912-personalizar-tu-terminal-warp-oh-my-zsh.md"},{"id":"https://gndx.dev/blog/101124-como-liberar-espacio-eliminando-las-carpetas-nodemodules-de-tus-proyectos/","url":"https://gndx.dev/blog/101124-como-liberar-espacio-eliminando-las-carpetas-nodemodules-de-tus-proyectos/","title":"¿Cómo liberar espacio eliminando las carpetas node_modules de tus proyectos?","summary":"Las dependencias de tus proyectos pueden ocupar MUCHO espacio considerable en tu disco duro. Las carpetas `node_modules` en proyectos con JavaScript suelen llegar a consumir cientos de MB e incluso superar el GB. ","content_text":"Las dependencias de tus proyectos pueden ocupar MUCHO espacio considerable en tu disco duro. Las carpetas nodemodules en proyectos con JavaScript suelen llegar a consumir cientos de MB e incluso superar el GB. Si tienes muchos proyectos acumulados, borrar solo las carpetas de nodemodules puede ayudarte a liberar una cantidad significativa de espacio.\n¿Por qué ocupan tanto espacio las carpetas nodemodules?\n\nCada vez que instalas dependencias en un proyecto JavaScript, la carpeta nodemodules se llena de archivos y sub carpetas necesarios para ejecutar el proyecto. Esto incluye paquetes que el propio proyecto requiere y, a su vez, todas las dependencias de esos paquetes, resultando en un árbol de dependencias que puede llegar a ser muy extenso y pesado.\n¿Cómo revisar cuánto espacio ocupan las carpetas nodemodules en macOS y Linux?\n\nSi tienes tus proyectos organizados en una carpeta específica, puedes revisar cuánto espacio ocupan las carpetas nodemodules en tu sistema. Para usuarios de macOS o Linux, los comandos a continuación ayudarán a localizar estas carpetas y sumar el espacio que están ocupando.\n\n1. Dirígete a la carpeta principal donde se almacenan tus proyectos, en mi caso utilizo /Dev para todos mis proyectos:\n\n2. Listar el tamaño de cada carpeta nodemodules:\n\n find . -name \"nodemodules\" -type d -prune | xargs du -chs\n \n¿Cómo verificar el espacio ocupado en Windows?\n\nPara usuarios de Windows, el proceso es similar, aunque el comando difiere:\n\n1. Ejecuta este comando en CMD para encontrar las carpetas nodemodules:\n FOR /d /r . %d in (nodemodules) DO @IF EXIST \"%d\" echo %d\n \n¿Cómo eliminar definitivamente las carpetas nodemodules?\n\nSi has decidido liberar espacio, ten en cuenta que al eliminar las carpetas nodemodules deberás reinstalar las dependencias de cualquier proyecto en el que desees trabajar en el futuro usando npm install. También importante asegurar que tus proyectos están almacenado y al dia en GitHub.\nEn Linux o macOS\n\n1. Asegúrate de estar en la carpeta que contiene tus proyectos en mi caso /Dev\n\n2. Eliminar todas las carpetas nodemodules de tu computadora:\n find . -name 'nodemodules' -type d -prune -print -exec rm -rf '{}' \\;\n \nEn Windows (CMD)\n\n1. Dirígete a la carpeta principal de tus proyectos:\n\n2. Usa este comando para eliminar las carpetas nodemodules:\n FOR /d /r . %d in (nodemodules) DO @IF EXIST \"%d\" rd /s /q \"%d\"\n \nCon estos pasos, puedes liberar espacio de manera significativa en tu disco duro. En algunos casos, usuarios han logrado recuperar varios GB de almacenamiento como lo puedes apreciar en mi caso, lo cual es especialmente útil si tienes múltiples proyectos acumulados y no los estás utilizando regularmente. Recuerda que es importante tener tus proyectos conectados a un repositorio en la nube como GitHub y utilizar el archivo .gitignore para no enviar todos esos cientos de megas a un repositorio.","date_published":"2024-11-11T00:41:23.150Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["github","JavaScript","node","javascript"],"image":"https://gndx.dev/og/blog/101124-como-liberar-espacio-eliminando-las-carpetas-nodemodules-de-tus-proyectos.png","language":"es","_markdown_url":"https://gndx.dev/blog/101124-como-liberar-espacio-eliminando-las-carpetas-nodemodules-de-tus-proyectos.md"},{"id":"https://gndx.dev/blog/041024-crear-subtitulos-en-videos-de-youtube-con-whisper/","url":"https://gndx.dev/blog/041024-crear-subtitulos-en-videos-de-youtube-con-whisper/","title":"Crear Subtítulos en VIDEOS de YouTube con WHISPER","summary":"Aprende a usar Whisper, la Inteligencia Artificial gratuita y libre de OpenAI para transcribir el audio de cualquier video de YouTube desde un script en Python y desde tu computadora.","content_text":"Aprende a usar Whisper, la Inteligencia Artificial gratuita y libre de OpenAI, para transcribir el audio de cualquier vídeo de YouTube desde un script en Python y desde tu computadora.\nCrear Subtítulos en VIDEOS de YouTube con WHISPER\n\nComo creador de contenido, nos enfrentamos a muchas tareas en la realización de un vídeo. Una de ellas es crear los subtítulos del vídeo. Existen múltiples herramientas, tanto gratuitas como de pago. Incluso algunos editores de vídeo incluyen en su versión de pago la posibilidad de crear estos subtítulos.\n¿Cómo crear subtítulos de tus vídeos GRATIS?\n\nPrimero, vamos a utilizar Whisper, la IA de OpenAI que nos permite convertir cualquier audio a texto. Con la misma librería, podemos crear subtítulos en el formato \"SRT\". En simples palabras, un SRT (SubRip Subtitle) es el formato de archivo de subtítulos más popular para contenido de vídeo y es el que utiliza YouTube para cargar subtítulos en cada vídeo.\n\nAntes de comenzar, quiero compartir un vídeo donde creamos un script en Python que permite utilizar Whisper desde nuestras computadoras para convertir de audio a texto. Si ya tienes experiencia, puedes omitir el vídeo y pasar directamente al código.\n\nDescargar youTubeTranscribe en GitHub.\n\nUna vez descargado, tenemos el siguiente código:\n\ndef downloadandtranscribeyoutubevideo(videourl):\n model = whisper.loadmodel(\"large\")\n\n datenow = datetime.datetime.now()\n dateformat = \"%Y-%m-%d%H-%M-%S\"\n datestring = datenow.strftime(dateformat)\n\n yt = pt.YouTube(videourl)\n stream = yt.streams.filter(onlyaudio=True)[0]\n stream.download(filename=\"audiospanish.mp3\")\n\n result = model.transcribe(\"audiospanish.mp3\", fp16=False)\n\n filename = f\"file{datestring}.txt\"\n\n with open(filename, \"w\") as file:\n file.write(result[\"text\"])\n print(result[\"text\"])\n\nif name == \"main\":\n if len(sys.argv) != 2:\n print(\"Usage: python scriptname.py \")\n sys.exit(1)\n\n youtubevideourl = sys.argv[1]\n downloadandtranscribeyoutubevideo(youtubevideourl)\n\nLo que realiza es utilizar la librería pytube para descargar el audio de un vídeo de YouTube y pasarlo por el modelo de Whisper, creando un archivo en txt con el contenido del audio del vídeo.\n\nAhora, lo que queremos es que este mismo archivo tenga el formato de SRT y las marcas de tiempo del formato.\n\nfrom whisper.utils import getwriter\n\ndef downloadandtranscribeyoutubevideo(videourl):\n model = whisper.loadmodel(\"large\")\n\n outputdirectory = \"./output\"\n datenow = datetime.datetime.now()\n dateformat = \"%Y-%m-%d%H-%M-%S\"\n datestring = datenow.strftime(dateformat)\n\n yt = pt.YouTube(videourl)\n stream = yt.streams.filter(onlyaudio=True)[0]\n stream.download(filename=f\"audio{datestring}.mp3\")\n\n result = model.transcribe(f\"audio{datestring}.mp3\", fp16=False)\n\n filename = f\"file{datestring}.txt\"\n\n with open(filename, \"w\", encoding=\"utf-8\") as file:\n file.write(result[\"text\"])\n\n txtwriter = getwriter(\"srt\", outputdirectory)\n txtwriter(result, f\"audio{datestring}.mp3\")\n\nif name == \"main\":\n if len(sys.argv) != 2:\n print(\"Usage: python scriptname.py \")\n sys.exit(1)\n\n youtubevideourl = sys.argv[1]\n downloadandtranscribeyoutubevideo(youtubevideourl)\n\nEste nuevo script cuenta con una utilería que nos permite crear este formato SRT y las marcas de tiempo, y poder subirlo directamente a YouTube. Si analizas el código, puedes apreciar que se ha agregado la función getwriter en la línea 92 y 93, y una referencia al output del archivo en la línea 76.\n\nLo único que tienes que hacer es ejecutar el script con el siguiente comando:\n\npython src/main.py \n\nEste proceso puede tardar un par de minutos, pero el resultado será un archivo en formato SRT con las marcas de tiempo y el contenido del audio del vídeo, y otro archivo en formato TXT.\n¿Cómo traducir los Subtítulos de tus Vídeos?\n\nSi deseas traducir los subtítulos de tus vídeos, puedes utilizar desde Google Translate hasta herramientas como subtitlestranslator.com, y de esta forma, agregar múltiples idiomas a las traducciones de tu vídeo.\n\nCon estos pasos, podrás crear subtítulos para tus vídeos de YouTube de forma gratuita y desde tu computadora.","date_published":"2024-04-11T02:28:42.232Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["youtube","python","scripts"],"image":"https://gndx.dev/og/blog/041024-crear-subtitulos-en-videos-de-youtube-con-whisper.png","language":"es","_markdown_url":"https://gndx.dev/blog/041024-crear-subtitulos-en-videos-de-youtube-con-whisper.md"},{"id":"https://gndx.dev/blog/040924-5-herramientas-gratis-para-crear-paginas-web-con-tailwindcss/","url":"https://gndx.dev/blog/040924-5-herramientas-gratis-para-crear-paginas-web-con-tailwindcss/","title":"5 Herramientas gratis para crear paginas web con Tailwindcss","summary":"¿Estás buscando acelerar el proceso de desarrollo de tus páginas web? Aquí tienes cinco recursos indispensables que te ayudarán a mejorar la velocidad y la calidad de tus proyectos creados con TailwindCSS.","content_text":"¿Cómo crear páginas web más rápido?\n\n¿Estás buscando acelerar el proceso de desarrollo de tus páginas web? Aquí tienes cinco recursos indispensables que te ayudarán a mejorar la velocidad y la calidad de tus proyectos creados con TailwindCSS.\n¿TailwindUI y cómo puede acelerar tu proceso de diseño?\n\nSi ya estás familiarizado con TailwindCSS, ¡Presta atención a TailwindUI.com! Esta plataforma ofrece una amplia gama de componentes y templates diseñados para complementar perfectamente el flujo de trabajo de TailwindCSS. Desde headers, menus, seccion de testimonios, ecommerce y encontrarás una variedad de elementos listos para integrar en tus proyectos. Aunque es una opción de pago, ofrece una excelente relación calidad-precio al proporcionar una biblioteca completa de recursos listos para usar y podras encontrar recursos gratuitos disponibles para integrar.\nHyperUI.dev\n\nSi buscas una alternativa gratuita y de código abierto, HyperUI.dev es tu respuesta. Esta herramienta ofrece una colección de elementos gratuitos divididos en categorías como aplicaciones, marketing y comercio electrónico. Lo mejor es que proporciona múltiples versiones de cada recurso, permitiéndote elegir la más adecuada para tu proyecto. Con su enfoque en la accesibilidad y la usabilidad, HyperUI es una excelente opción para acelerar tu flujo de trabajo sin comprometer la calidad.\n¿Qué ofrece HeadlessUI para aquellos que necesitan funcionalidades interactivas?\n\nSi estás listo para llevar tus proyectos al siguiente nivel con interacciones dinámicas, HeadlessUI es tu aliado ideal. Esta biblioteca, diseñada específicamente para trabajar con Tailwind CSS, ofrece una variedad de componentes interactivos listos para implementar en tus aplicaciones web. Aunque se centra en React, proporciona una solución sólida para integrar elementos de interfaz de usuario interactivos de manera eficiente y efectiva.\n¿Dónde encontrar iconos compatibles con TailwindCSS?\n\nPara aquellos que buscan una amplia gama de iconos compatibles con TailwindCSS, HeroIcons.com es la solución perfecta. Esta biblioteca ofrece una extensa colección de iconos en formatos SVG y JSX, lo que facilita su integración en tus proyectos. Con opciones de personalización y una interfaz elegante, HeroIcons agiliza el proceso de diseño al proporcionar una amplia variedad de opciones para cada necesidad.\n¿Cuál es la mejor fuente de iconos en SVG para proyectos de diseño web?\n\nSi necesitas aún más opciones de iconos en SVG para tus proyectos, SVGRepo.com es la respuesta. Con una amplia selección de iconos en monocolor y multicolor, esta plataforma te permite encontrar el icono perfecto para tus necesidades de diseño. Además, ofrece opciones de personalización y descarga directa, lo que facilita la integración de iconos personalizados en tus proyectos de manera rápida y sencilla.\n\nCon estas herramientas lograras crear paginas web con TailwindCSS de forma fluida, rapida y profesional.","date_published":"2024-04-10T02:26:27.919Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["css","tailwindcss","herramientas"],"image":"https://gndx.dev/og/blog/040924-5-herramientas-gratis-para-crear-paginas-web-con-tailwindcss.png","language":"es","_markdown_url":"https://gndx.dev/blog/040924-5-herramientas-gratis-para-crear-paginas-web-con-tailwindcss.md"},{"id":"https://gndx.dev/blog/190324-palindromos-en-javascript/","url":"https://gndx.dev/blog/190324-palindromos-en-javascript/","title":"Palíndromos en JavaScript","summary":"Palíndromos y cómo resolver este problema con JavaScript puede ser parte de las pruebas técnicas más comunes que suelen hacer para un profesional en el desarrollo de Software en JavaScript. Este artículo explora un método para identificar los patrones que componen un palíndromo.","content_text":"Palíndromos y cómo resolver este problema con JavaScript puede ser parte de las pruebas técnicas más comunes que suelen hacer para un profesional en el desarrollo de Software en JavaScript. Este artículo explora un método para identificar los patrones que componen un palíndromo.\n¿Qué es un palíndromo?\nUn palíndromo es una palabra, frase, número u otras secuencias de caracteres que se leen igual hacia adelante y hacia atrás. Esta sección cubre las estrategias para determinar si una entrada determinada es un palíndromo, mostrando su capacidad para trabajar con cadenas y lógica.\n¿Cómo determinar si una cadena es un palíndromo en JavaScript?\nCrearemos un algiritmo para determinar si una entrada determinada es un palíndromo, trabajando la capacidad para trabajar con cadenas y lógica.\n¿Cómo resolver un Palindromo en JavaScript?\n\nfunction isPalindrome(string) {\n // Normalizamos el texto, convirtierndo a minusculas y luego, se eliminan todos los caracteres no alfanuméricos, incluido el guion.\n var normalizedString = string.toLowerCase().replace(/[\\W]/g, '');\n\n // Compararán la cadena normalizada con su versión invertida.\n var reversedString = normalizedString.split('').reverse().join('');\n\n // Devolverá true si las cadenas son iguales.\n return normalizedString === reversedString;\n}\n\nEste enfoque demuestra que con conocimientos básicos de JavaScript y una comprensión clara de los palíndromos, podemos crear soluciones eficientes para problemas aparentemente complejos. Antes de escribir una linea de código es importante comprender el problema, las soluciones no tienen que ser complejas.","date_published":"2024-03-20T03:09:25.305Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["javascript","palindromo","programacion"],"image":"https://gndx.dev/og/blog/190324-palindromos-en-javascript.png","language":"es","_markdown_url":"https://gndx.dev/blog/190324-palindromos-en-javascript.md"},{"id":"https://gndx.dev/blog/121223-comprar-un-dominio-com/","url":"https://gndx.dev/blog/121223-comprar-un-dominio-com/","title":"¿Cómo Comprar un Dominio .com?","summary":"comprar dominios en NameCheap: descubre ofertas exclusivas, protege tu privacidad y gestiona DNS fácilmente.","content_text":"Comprar un nombre de dominio puede parecer una tarea ardua, pero con la guía correcta, el proceso se vuelve sencillo y accesible. Este artículo te mostrará paso a paso cómo elegir y adquirir tu dominio ideal, utilizando namecheap.com, y compartiendo trucos para hacerlo de manera eficiente y económica.\n¿Cómo Elegir la Mejor Plataforma para Comprar un Dominio?\nLa elección de la plataforma es crucial. Pero Namecheap.com se destaca por su facilidad de uso y las ofertas atractivas para nuevos usuarios utiliza el cupon: HOLIDAYCOM para obtener un dominio .com a $5.98 USD. Además, ofrece una amplia gama de productos y servicios a precios variados, lo que la convierte en una opción versátil para distintas necesidades.\n¿Qué Consideraciones Debes Tener al Elegir un Nombre de Dominio?\nAl seleccionar un dominio, es vital tener en mente la palabra, frase o nombre que deseas. Los dominios .com son populares y fáciles de recordar, pero a menudo es difícil encontrar uno disponible sin combinaciones de palabras ya utilizadas. Alternativas como .net, .org, .dev, y extensiones por países como .co, .mx, .es entre otras, ofreciendo un abanico de posibilidades.\n¿Cómo Puedes Aprovechar Descuentos y Ofertas en NameCheap?\nPara los nuevos usuarios, Namecheap tiene ofertas tentadoras como descuentos hasta un 50% en la primera compra. Además, tiene una sección de dominios a $2 USD o menos, ideal para proyectos pequeños o de bajo presupuesto. Es importante recordar que estos precios suelen ser promocionales y pueden cambiar en las renovaciones.\n\nAdquiere tu .com a precio especial: https://namecheap.pxf.io/21YNQa\n¿Qué Beneficios Ofrece NameCheap en la Gestión de la Privacidad del Dominio?\nNameCheap se destaca por incluir, sin costo adicional, la opción de privacidad de dominio, lo que significa que tus datos personales permanecen ocultos en los registros públicos. Esta característica es crucial para proteger tu información personal y la de tu proyecto y en otras plataformas esto suele tener un precio desde 5 USD o más.\n¿Cómo Gestionar el Dominio una Vez Adquirido?\nUna vez completada la compra, el siguiente paso es configurar los DNS (Servidores de Nombre de Dominio), que conectan tu dominio con la dirección IP del servidor donde estará alojado tu sitio. Este proceso es fundamental para que tu dominio sea funcional y dirija a los visitantes a tu sitio web.\nConclusión\nCon estos pasos, la compra de un dominio se convierte en una tarea manejable y menos intimidante. Recuerda que la elección de la plataforma y el dominio correctos son fundamentales para el éxito de tu proyecto en línea. NameCheap ofrece una ruta accesible y económica, especialmente para aquellos que se inician en el mundo digital.","date_published":"2023-12-13T00:27:34.300Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["productos","namecheap","dominios","ofertas"],"image":"https://gndx.dev/og/blog/121223-comprar-un-dominio-com.png","language":"es","_markdown_url":"https://gndx.dev/blog/121223-comprar-un-dominio-com.md"},{"id":"https://gndx.dev/blog/061223-gemini-la-nueva-ia-de-google/","url":"https://gndx.dev/blog/061223-gemini-la-nueva-ia-de-google/","title":"GEMINI la nueva IA de Google","summary":"En un mundo donde la inteligencia artificial (IA) está dando pasos grandes continuamente, Google DeepMind ahora introduce Gemini, su modelo de Inteligencia Artificial más avanzado y versátil hasta la fecha.","content_text":"En un mundo donde la inteligencia artificial (IA) está dando pasos grandes continuamente, Google DeepMind ahora introduce Gemini, su modelo de Inteligencia Artificial más avanzado y versátil hasta la fecha. Con la promesa de un mundo mejorado por la IA, este innovador desarrollo representa un salto significativo en la manera en que entendemos y utilizamos la inteligencia artificial en diversas aplicaciones.\n¿Qué es Gemini y cuáles son sus características?\n\nGemini es un modelo de IA multimodal diseñado por Google DeepMind, capaz de entender y operar con distintos tipos de información como texto, código, audio, imagen y video. Esta capacidad multimodal le permite abordar una gama de tareas con un nivel de flexibilidad y eficiencia sin precedentes. Algunas características clave de Gemini son:\nMultimodalidad: Capacidad de procesar y combinar diferentes tipos de datos.\nFlexibilidad: Funcionamiento eficiente en diferentes plataformas, desde centros de datos hasta dispositivos móviles.\nRendimiento avanzado: Supera los modelos anteriores en benchmarks académicos y prácticos.\n¿Cómo se compara Gemini con ChatGPT?\n\nGemini se destaca por su rendimiento superior en una amplia gama de tareas. Algunos aspectos destacados son:\nRendimiento en MMLU: Gemini Ultra es el primer modelo que supera a expertos humanos en comprensión de lenguaje multitarea masiva (MMLU).\nCapacidades multimodales: Sobresale en benchmarks que requieren razonamiento multimodal y complejo, destacándose en tareas que involucran imágenes, audio y video.\n¿Qué capacidades avanzadas ofrece Gemini?\n\nGemini 1.0 muestra capacidades de razonamiento multimodal sofisticadas, permitiéndole:\nEntender información compleja: Puede procesar y sintetizar información escrita y visual de manera eficiente.\nGenerar insights: Capaz de extraer conocimientos de grandes volúmenes de datos.\n¿Cómo contribuye Gemini al avance en la programación?\n\nEl modelo Gemini ha mostrado habilidades excepcionales en el campo de la programación, con capacidades que incluyen:\nComprensión y generación de código: Entiende y genera código de alta calidad en varios lenguajes de programación.\nRendimiento en benchmarks de codificación: Excelente desempeño en evaluaciones estándar de la industria.\n¿Qué mejoras trae Gemini en términos de escalabilidad y eficiencia?\n\nGemini 1.0 se ha optimizado para ser un modelo altamente escalable y eficiente, destacándose por:\nUso de infraestructura optimizada para IA: Entrenado en TPUs de Google, lo que le permite un rendimiento rápido y eficiente.\nEscalabilidad y confiabilidad: Diseñado para ser el modelo más confiable y escalable de Google.\n¿Cómo asegura Google la seguridad y responsabilidad en el desarrollo de Gemini?\n\nLa seguridad y la responsabilidad son fundamentales en el desarrollo de Gemini, con enfoques que incluyen:\nEvaluaciones de seguridad exhaustivas: Pruebas rigurosas para identificar y mitigar riesgos potenciales.\nColaboración con expertos externos: Para identificar y abordar puntos ciegos en la evaluación del modelo.\n¿Cuáles son las aplicaciones prácticas de Gemini y su disponibilidad?\n\nGemini se está implementando en una variedad de productos y plataformas de Google, con aplicaciones que incluyen:\nIntegración en productos de Google: Como Bard y dispositivos Pixel.\nDisponibilidad para desarrolladores: Acceso a través de Google AI Studio y Google Cloud Vertex AI.\n\nLa introducción de Gemini marca un hito en el campo de la IA, ofreciendo capacidades avanzadas y multimodales que prometen transformar la forma en que interactuamos con la tecnología en nuestro día a día. Con un enfoque en la seguridad y la responsabilidad, Gemini se perfila como un catalizador de innovación y progreso en múltiples campos.","date_published":"2023-12-06T20:28:08.628Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["ia","google","gemini","inteligencia artificial"],"image":"https://gndx.dev/og/blog/061223-gemini-la-nueva-ia-de-google.png","language":"es","_markdown_url":"https://gndx.dev/blog/061223-gemini-la-nueva-ia-de-google.md"},{"id":"https://gndx.dev/blog/061223-gitmoji-personaliza-tus-commits/","url":"https://gndx.dev/blog/061223-gitmoji-personaliza-tus-commits/","title":"Haz tus mensajes de GIT Commit con GitMoji","summary":"Crea los mejores mensajes para GIT Commit y ponle estilo e intención, utiliza gitmoji como un estándar para tus mensajes.","content_text":"\"Crea los mejores mensajes para GIT Commit y ponle estilo e intención, utiliza gitmoji como un estándar para tus mensajes en tus proyectos.\n\n¿Qué es GitMoji y Cómo Mejora la Comunicación en Proyectos?\nGitMoji es una herramienta que introduce un estándar visual único para los mensajes de tus commits. Su función principal es la de proporcionar una forma clara y eficiente de comunicar las intenciones y los cambios en un proyecto. Esta herramienta se ha vuelto fundamental en muchos entornos, tanto profesionales como personales, debido a su capacidad para simplificar y clarificar la comunicación en los equipos de trabajo.\n\n¿Cómo Instalar GitMoji?\n\nCon un simple comando en tu terminal puedes agregarlo a tu sistema como un paquete global.\n\nnpm i -g gitmoji-cli\n\n¿Cómo Funciona GitMoji en la Práctica?\nEl proceso de utilizar GitMoji es sencillo pero poderoso. Los usuarios pueden acceder a una amplia gama de emojis y elementos visuales en su sitio web, lo que les permite seleccionar los más adecuados para representar distintos aspectos de su trabajo, como actualizaciones, nuevas características, correcciones críticas, y más. Estos elementos visuales facilitan la identificación rápida de la naturaleza de cada cambio o adición en el proyecto.\n\nInicializar GitMoji antes de enviar un commit:\n\ngitmoji -c\n\n¿Cuáles son los Beneficios de Usar GitMoji en Proyectos?\nEl uso de GitMoji en proyectos trae consigo múltiples beneficios. Permite una comunicación más eficiente y efectiva dentro de los equipos, facilita la identificación y seguimiento de cambios específicos, y mejora la gestión de proyectos. Además, su uso se ha extendido a varios ámbitos, demostrando su versatilidad y efectividad en diferentes tipos de proyectos, desde desarrollos open source hasta iniciativas personales.\n\nGitMoji representa una herramienta invaluable en el ámbito de la programación y los commits, demostrando cómo los elementos visuales pueden mejorar significativamente la comunicación y gestión en diversos proyectos. Su facilidad de uso y los beneficios que aporta lo convierten en un estándar digno de consideración para cualquier equipo de trabajo.","date_published":"2023-12-06T17:51:59.193Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["git","github","gitmoji"],"image":"https://gndx.dev/og/blog/061223-gitmoji-personaliza-tus-commits.png","language":"es","_markdown_url":"https://gndx.dev/blog/061223-gitmoji-personaliza-tus-commits.md"},{"id":"https://gndx.dev/blog/121123-instalar-phython-en-macos-sonoma/","url":"https://gndx.dev/blog/121123-instalar-phython-en-macos-sonoma/","title":"Instalar Phython en MacOS Sonoma","summary":"Aprender a instalar Python con Pyenv usando Brew en macOS Sonoma. Sigue estos pasos para potenciar tu flujo de trabajo de desarrollo.","content_text":"¿Listo para Potenciar tu Ambiente de Desarrollo en macOS Sonoma?\n\nSi eres un apasionado del desarrollo en Python, optimizar tu entorno es clave. Aprender a instalar Python con Pyenv usando Brew en macOS Sonoma. Sigue estos pasos para potenciar tu flujo de trabajo de desarrollo.\n¿Por qué Pyenv y Brew?\n\nPyenv te permite gestionar versiones de Python de manera eficiente, mientras que Brew simplifica la instalación de herramientas en macOS. Juntos, ofrecen un combo poderoso para tener un control total sobre tu entorno de desarrollo.\n¿Qué es Brew y por qué Deberías Usarlo?\nHomebrew, es un gestor de paquetes para macOS que simplifica la instalación y gestión de herramientas y software. Descubre por qué esta herramienta es esencial para optimizar tu experiencia de desarrollo en macOS.\n\nAntes de comenzar, asegúrate de tener Brew instalado. Si aún no lo tienes, ejecuta el siguiente comando en tu terminal:\n\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n## Paso 2: Instalando Pyenv\n\nCon Brew instalado, instala Pyenv con un simple comando:\n\nbrew install pyenv\n\nLuego, agrega estas líneas a tu archivo de perfil (como .zshrc o .bashrc):\n\neval \"$(pyenv init --path)\"\neval \"$(pyenv virtualenv-init -)\"\n## Paso 3: Instalando Python con Pyenv\n\nAhora que Pyenv está configurado, instala la versión de Python que necesitas. Por ejemplo, para Python 3.9.7:\n\npyenv install 3.12\n\nEstablece esta versión como la predeterminada:\n\npyenv global 3.12\n## Paso 4: Verificación\n\nAsegúrate de que la instalación fue exitosa:\n\npython --version\n\nDeberías ver la versión que acabas de instalar. ¡Listo! Ahora tienes un entorno Python gestionado con Pyenv y Brew en tu macOS Sonoma.","date_published":"2023-11-12T22:43:17.223Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["python","pyenv","homebrew"],"image":"https://gndx.dev/og/blog/121123-instalar-phython-en-macos-sonoma.png","language":"es","_markdown_url":"https://gndx.dev/blog/121123-instalar-phython-en-macos-sonoma.md"},{"id":"https://gndx.dev/blog/041123-volver-a-empezar-desde-cero/","url":"https://gndx.dev/blog/041123-volver-a-empezar-desde-cero/","title":"Volver a empezar desde cero en Programación","summary":"La programación informática es un mundo masivo y en constante cambio. Como principiante, puede ser desalentador e intimidante sólo el hecho de saber por dónde empezar a aprender. Pero no estás solo o sola.","content_text":"La programación informática es un mundo masivo y en constante cambio. Como principiante, puede ser desalentador e intimidante sólo el hecho de saber por dónde empezar a aprender. Pero no estás solo o sola. Con más de 22 años de experiencia en el desarrollo de software, compartiré algunos consejos esenciales para aquellos que desean adentrarse en esta fascinante disciplina.\n¿Por qué es importante practicar y mejorar constantemente tus habilidades?\n\nLa práctica equipa al individuo con habilidades y conocimientos esenciales para convertirse en un experto en su campo. Hoy en día, tiene acceso a internet, libros, cursos y diversas plataformas educativas. Pero también puedes mejorar tus habilidades y conocimientos a través de la prueba y error, la experiencia práctica y la resolución de desafíos en tiempo real.\n¿Cómo puede ayudar la comunidad?\n\nAl interactuar con otros en la comunidad, puedes obtener valiosos conocimientos, experiencias y recursos. Puedes aprender de los errores y éxitos de otros, inspirarte en sus logros y obtener su apoyo y orientación. A veces, puedes encontrar mentores en la comunidad que te pueden guiar y ofrecer una perspectiva sólida.\n¿Por qué desaprender es a veces necesario para aprender nuevas habilidades?\n\nEl concepto de 'desaprender' es fundamental en el viaje de aprendizaje de un individuo. A medida que las tecnologías evolucionan, puede ser necesario deshacerse de viejas prácticas y conceptos para abrazar nuevas técnicas y formas de pensar. De esta manera, puedes mantener tus habilidades y conocimientos actualizados y relevantes.\n¿Por qué el fracaso no siempre es un paso atrás?\n\nEl fracaso no siempre es sinónimo de retroceso. A menudo, es una oportunidad para aprender y crecer. Al enfrentar desafíos y experimentar fracasos, puedes identificar áreas de debilidad y oportunidades para mejorar. Recuerda, un solo error, un despido o un mal día no son razones para darte por vencido.\n¿Cómo puedes poner a prueba tus habilidades?\n\nUna forma efectiva de poner a prueba tus habilidades es a través de proyectos. Los proyectos te permiten aplicar lo que has aprendido de una manera práctica. También te desafían a emplear tus habilidades en la toma de decisiones, la solución de problemas y el desarrollo de soluciones viables.\n¿Por qué nunca debes dejar de aprender?\n\nEl aprendizaje constante es crucial para mantenerse al día con las últimas tecnologías y mejores prácticas en la industria de la tecnología. Al mantener un enfoque de aprendizaje continuo, puedes estar por delante de los cambios y las tendencias emergentes en tu campo. Nunca debes limitarte a los conocimientos y habilidades que ya posees, sino que debes buscar activamente nuevas ideas y enfoques para ampliar tus horizontes.\n\nFinalmente, recuerda que no estás solo en tu camino de aprendizaje. Como Oscar menciona, puedes pedir ayuda a las comunidades, aprender de los demás y, a su vez, convertirte en un mentor para otros. Al final del día, cada desafío, cada fracaso y cada éxito son pasos hacia tu objetivo final de convertirte en un gran guerrero del desarrollo de software.","date_published":"2023-11-04T21:49:06.560Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["conferencias","empleo","tecnologia","programacion"],"image":"https://gndx.dev/og/blog/041123-volver-a-empezar-desde-cero.png","language":"es","_markdown_url":"https://gndx.dev/blog/041123-volver-a-empezar-desde-cero.md"},{"id":"https://gndx.dev/blog/231007-como-empezar-tu-blog-o-portafolio-con-astro/","url":"https://gndx.dev/blog/231007-como-empezar-tu-blog-o-portafolio-con-astro/","title":"¿Cómo Empezar tu Blog o Portafolio con Astro?","summary":"¿Quieres comenzar tu blog o portafolio en línea?, pero te sientes perdido en el proceso, has llegado al lugar adecuado. te guiaré a través de los pasos para iniciar tu proyecto utilizando Astro, una herramienta poderosa que simplificará todo el proceso.","content_text":"¿Quieres comenzar tu blog o portafolio en línea?, pero te sientes perdido en el proceso, has llegado al lugar adecuado. te guiaré a través de los pasos para iniciar tu proyecto utilizando Astro, una herramienta poderosa que simplificará todo el proceso.\n¿Qué es Astro y por qué deberías usarlo?\n\nAstro es una de las herramientas más populares para la creación de sitios web. ¿Por qué? Porque te permite aprovechar al máximo todas sus ventajas de manera rápida y sencilla. Con un enfoque en el contenido y una velocidad de carga impresionante, Astro se convierte en tu aliado perfecto.\nDescubre la Plantilla Minimalista\n\nPara comenzar, te presentaré una plantilla que he creado específicamente para ayudarte a lanzar tu blog o portafolio de manera efectiva. Esta plantilla se centra en el diseño minimalista, priorizando la presentación de quién eres, qué haces y tus redes sociales.\n\nEV0 Astro Theme\n\nCaracterísticas Clave de la Plantilla EV0 Astro Theme\n\nEsta plantilla está diseñada pensando en las siguientes características:\nEstilo Minimalista: Su diseño se enfoca en la información esencial.\nSEO Friendly: Está optimizada para motores de búsqueda y URL amigables.\nTotalmente Responsive: Se adapta a cualquier dispositivo y resolución.\nIntegración con YouTube: Puedes mostrar tus últimos videos si lo deseas.\nComandos Sencillos: Incluye un comando de línea de comandos para agregar nuevos bloques fácilmente.\n100/100 Lighthouse\nPWA Ready\nClonar el Repositorio\n\nAntes de empezar, necesitas clonar el repositorio de esta plantilla.\n\nRepositorio: https://github.com/gndx/ev0-astro-theme\nPersonaliza y Configura\n\nUna vez clonado, mueve a la carpeta del proyecto y ejecuta npm install para instalar las dependencias. En el archivo config, podrás personalizar la información de tu sitio, habilitar características como YouTube y definir tus redes sociales.\n\nEn el repositorio encontraras toda la documentación para personalizarla:https://github.com/gndx/ev0-astro-theme\nCrear tu Contenido\n\nLa estructura del contenido de tu blog o portafolio se encuentra en la sección \"blog\". Cada archivo representa una página o sección de tu sitio web y contiene información relevante como título, descripción, fecha, imagen, categoría, etiquetas y autor.\n¡Comienza a Escribir!\n\nLa mejor parte es que puedes empezar a crear tu contenido directamente en este archivo, sin necesidad de bases de datos ni herramientas de terceros. Todo estará dentro de este mismo proyecto.\nEntorno de desarrollo Local\n\nUna vez que hayas personalizado tu sitio y creado tu contenido, es hora de probarlo. Ejecuta npm run dev en tu terminal y abre tu sitio localmente en tu navegador. ¡Tu blog o portafolio estará listo para funcionar!\n¿Quieres Aprender Más sobre Astro?\n\nSi deseas profundizar en el uso de Astro, te recomiendo mi curso en línea. Aprenderás a sacar el máximo provecho de esta herramienta y todas sus características.\n\nEn resumen, con Astro.build y esta plantilla minimalista (EV0 Astro Theme), podrás lanzar tu blog o portafolio de manera efectiva y personalizada. ¡Anímate a explorar y compartir tus conocimientos con el mundo!\n\nRecuerda que esta plantilla es totalmente open source, por lo que puedes adaptarla, modificarla y enviar tus mejoras al repositorio principal. ¡Espero que esta guía te ayude en tu camino hacia la creación de tu sitio web!\nVideo Paso a Paso:","date_published":"2023-10-07T01:55:35.668Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["themes","open-source","youtube"],"image":"https://gndx.dev/og/blog/231007-como-empezar-tu-blog-o-portafolio-con-astro.png","language":"es","_markdown_url":"https://gndx.dev/blog/231007-como-empezar-tu-blog-o-portafolio-con-astro.md"},{"id":"https://gndx.dev/blog/231006-como-encontrar-inspiracion-para-tu-portafolio/","url":"https://gndx.dev/blog/231006-como-encontrar-inspiracion-para-tu-portafolio/","title":"¿Cómo Encontrar Inspiración para Tu Portafolio?","summary":"Estás a punto de construir un portafolio y no tienes inspiración. No te preocupes, aquí te mostraremos cómo aprovechar diversas herramientas y recursos para dar vida a tu primer proyecto de manera efectiva.","content_text":"Estás a punto de construir un portafolio y no tienes inspiración. No te preocupes, aquí te mostraremos cómo aprovechar diversas herramientas y recursos para dar vida a tu primer proyecto de manera efectiva.\n¿Dónde Encontrar Inspiración?\n\nMi primera recomendación es visitar dribble.com, una plataforma rica en inspiración. En su sección de inspiración, encontrarás una amplia colección de proyectos creados por profesionales de diversas áreas. Aquí, puedes explorar ideas y conceptos que impulsarán tu proyecto, ya sea un portafolio, una idea o cualquier creación.\n¿Por Qué Dribbble.com es Ideal?\n\nDribbble.com ofrece mucho más que simple inspiración. Además, te brinda acceso a paletas de colores, lo que te permite encontrar la combinación perfecta para tu proyecto. Ya sea en diseño, formas, elementos o colores, esta plataforma es un tesoro de ideas.\n¿Cómo Usar Dribbble?\n\nUtilizar Dribbble es sencillo. Solo tienes que visitar la sección de inspiración y explorar diferentes elementos a través de su buscador. Puedes encontrar elementos relacionados, como páginas de inicio y sitios web completos, para identificar el proyecto que deseas construir o inspirarte.\n¿Buscas Proyectos con Código?\n\nSi buscas un proyecto listo para modificar y llevar a producción, te recomiendo explorar repositorios con más de 100 proyectos de código libre. Esto significa que puedes utilizarlos, personalizarlos y adaptarlos según tus necesidades. Algunos de estos proyectos incluso vienen con demostracion y las tecnologías utilizadas.\n\nDescargar los proyectos: github.com/Evavic44/portfolio-ideas\n¿Qué Hacer con los Proyectos?\n\nNo te preocupes por construir todo desde cero. Simplemente elige el proyecto que más te guste, cópialo y ajústalo según tus requisitos. No olvides dar créditos al autor original. Tómate tu tiempo para analizarlos y encontrar el que mejor se adapte a ti.\n¿Más Recursos?\n\nPara cerrar, aquí tienes dos proyectos adicionales, creados por mí, que podrías utilizar y disfrutar.\n1. Linkree Gratis\n\nSi deseas tener una página que agrupe tus enlaces, redes sociales y sea tu punto de entrada para tus redes sociales, te ofrezco una adaptación de Linkree. Este proyecto está basado en HTML y CSS, lo que lo hace fácil de editar y personalizar.\n\ngndx: github.com/gndx/gndx.io\n2. Blog de Diseño Minimalista\n\nSi buscas un sitio web más robusto con características como diseño minimalista, compatibilidad con RSS, y un enfoque en el trabajo con Markdown, PWA, entre otras características. Este es el mismo template que utilizo en este blog y puedes clonarlo y adaptarlo según tus necesidades.\n\nAstro Blog Theme: github.com/gndx/ev0-astro-theme\n¡Manos a la Obra!\n\nCon estos recursos y herramientas, estás listo para comenzar tu proyecto de portafolio. ¡No dudes en explorarlos y personalizarlos según tus necesidades!\nVideo","date_published":"2023-10-06T20:19:02.615Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["themes","youtube","open-source"],"image":"https://gndx.dev/og/blog/231006-como-encontrar-inspiracion-para-tu-portafolio.png","language":"es","_markdown_url":"https://gndx.dev/blog/231006-como-encontrar-inspiracion-para-tu-portafolio.md"},{"id":"https://gndx.dev/blog/230920-ev0-astro-theme/","url":"https://gndx.dev/blog/230920-ev0-astro-theme/","title":"EV0 Astro Theme","summary":"Descubre EV0 Astro Theme, la plantilla de diseño web que revolucionará la forma en que construyes tu blog o portafolio en línea.","content_text":"Soy un apasionado por la creación de productos y proyectos que impacten en la comunidad y las personas, por ese motivo quiero presentarte EV0 Astro Theme, una plantilla diseñada para blogs y portafolios.\n\nDurante mucho tiempo, he estado construyendo y liberando recursos open source, como plantillas en HTML/CSS/React, y en esta ocasión, mi enfoque se centro en trabajar con diferentes recursos para Astro.Build.\n\nEV0 Astro Theme\n¿Qué hace que EV0 Astro Theme se destaque?\n\nEV0 Astro Theme es el resultado de mi deseo de cambiar y mejorar mi blog. A lo largo del tiempo, he utilizado plantillas de otros profesionales y recursos preconstruidos en mi blog, También he probado plataformas como Wordpress, Ghost, Next.JS, entre otras. Ahora, es el turno de Astro.build, un framework poderoso para la construcción de páginas web. Hoy eso se acaba y construí un recurso totalmente desde cero.\n\nEV0 Astro Theme es una plantilla base de Astro, está diseñada para servir como un punto de partida ideal para tu propio blog o portafolio, con características que destacan:\n✅Estilo minimalista: Utiliza Tailwind CSS para un diseño limpio y elegante.\n✅Rendimiento excepcional: Logra una calificación 100/100 en Lighthouse, la herramienta de Google que mide el rendimiento web.\n✅Amigable con SEO: Cuenta con URLs canónicas y datos OpenGraph para una mejor optimización en motores de búsqueda.\n✅Soporte para sitemaps: Facilita la indexación de tu sitio por los motores de búsqueda.\n✅Compatibilidad con feeds RSS: Permite a tus seguidores mantenerse actualizados fácilmente.\n✅Compatibilidad con Markdown y MDX: Escribe contenido de manera sencilla y efectiva.\n✅Preparado para PWA: Proporciona una experiencia progresiva para usuarios de dispositivos móviles.\n✅Totalmente responsive: Garantiza que tu sitio se vea y funcione de manera óptima en todos los dispositivos.\n✅Robots.txt & Humans.txt: Control total sobre la indexación de motores de búsqueda y la comunicación con los visitantes.\n✅Soporte para TypeScript: Facilita el desarrollo con este lenguaje de programación.\n✅Resaltado de sintaxis: Hace que tu código y contenido sean más legibles.\n✅Integración de YouTube: Incrusta fácilmente videos de YouTube en tus publicaciones.\n✅CLI para agregar nuevas publicaciones: Simplifica la creación de contenido.\n¿Por qué enfocarse en una calificación 100/100 en Lighthouse?\n\nUno de los aspectos más destacados de EV0 Astro Theme es su excepcional calificación 100/100 en Lighthouse, una herramienta crucial de Google para medir factores clave de una página web, como el rendimiento, accesibilidad, mejores prácticas, SEO y PWA. Esta plantilla ha sido diseñada meticulosamente para cumplir con cada uno de estos criterios, lo que garantiza una experiencia de usuario óptima y un rendimiento excepcional.\n¿Cómo puedes utilizar EV0 Astro Theme?\n\nMi objetivo al crear EV0 Astro Theme es proporcionarte una plantilla versátil y de alto rendimiento que puedas utilizar, mejorar y adaptar según tus necesidades. La comunidad es fundamental, así que te animo a que aproveches esta plantilla, la personalices y contribuyas a su desarrollo continuo. Espero que te entusiasme tanto como a mí y que la compartas con otros apasionados de la creación en la web.\n\nDescargar \"Evo Astro Theme\"\n\nEV0 Astro Theme es el inicio de un viaje emocionante hacia la construcción de blogs y portafolios excepcionales. ¡Aprovecha esta oportunidad y comienza a crear hoy mismo!","date_published":"2023-09-20T02:19:01.176Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["themes","open-source","astro","blog","portfolio"],"image":"https://gndx.dev/og/blog/230920-ev0-astro-theme.png","language":"es","_markdown_url":"https://gndx.dev/blog/230920-ev0-astro-theme.md"},{"id":"https://gndx.dev/blog/230915-conseguir-tu-primer-empleo/","url":"https://gndx.dev/blog/230915-conseguir-tu-primer-empleo/","title":"¿Cómo Conseguir tu Primera Oportunidad Laboral?","summary":"Estás en tu quinto semestre de carrera y te encuentras en la búsqueda incansable de tu primera oportunidad laboral en el campo tecnológico. A pesar de tus esfuerzos, a veces te sientes desmotivado al no ver resultados. ¿Qué puedes hacer para lograrlo?","content_text":"¿Cómo Conseguir tu Primera Oportunidad Laboral en el Mundo Tecnológico?\n\nEstás en tu quinto semestre de carrera y te encuentras en la búsqueda incansable de tu primera oportunidad laboral en el campo tecnológico. A pesar de tus esfuerzos, a veces te sientes desmotivado al no ver resultados. ¿Qué puedes hacer para lograrlo?\n¿Has Evaluado tus Estrategias?\n\nLo primero que debes preguntarte es: ¿Qué estrategias has utilizado hasta ahora? A veces, nos enfocamos en actividades que no nos llevan al objetivo deseado. ¿Has reflexionado sobre esto?\nEl Poder del Networking\n\nUna de las estrategias más efectivas es el networking. Conectar con personas que comparten tus intereses puede abrir puertas inesperadas. Participar en eventos, charlas, hackathons, o simplemente entablar conversaciones con profesionales del campo puede generar oportunidades reales.\nDefine tu Objetivo\n\nEs esencial definir claramente tus objetivos. ¿Qué área específica te interesa? ¿Qué tecnologías deseas dominar? Establecer un objetivo concreto te ayudará a enfocar tus esfuerzos de manera más efectiva.\nInvestiga y Adáptate\n\nInvestiga las empresas y startups que se relacionan con tu objetivo. Conoce las tecnologías que demandan y busca oportunidades laborales en ellas. Asegúrate de adaptar tu perfil, currículum y LinkedIn para destacar en estos aspectos.\nAdquiere las Habilidades Necesarias\n\nSi notas que te faltan habilidades específicas, no dudes en aprenderlas. No pierdas tiempo en aplicar a puestos para los que no estás preparado. Enfócate en adquirir lo que se necesita para tu objetivo.\nMantén la Realidad en Mente\n\nSé realista en cuanto a tus tiempos y expectativas. Si un puesto lleva mucho tiempo vacante, es posible que ya no esté disponible cuando estés listo. Asegúrate de que tu objetivo sea alcanzable en el tiempo que te has propuesto.\n\nEn resumen, conseguir tu primera oportunidad laboral en el mundo tecnológico requiere estrategia, enfoque y adaptabilidad. Conecta con personas, define tu objetivo, investiga y adáptate, y adquiere las habilidades necesarias. Mantén la realidad en mente y trabaja de manera constante hacia tu objetivo. ¡El éxito está al alcance de tu mano!\n\nEspero que estos consejos te sean de utilidad, y te animo a seguir buscando con determinación. ¡Mucho éxito en tu búsqueda, Mike Wolf!","date_published":"2023-09-15T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["youtube","empleo","tecnologia"],"image":"https://gndx.dev/og/blog/230915-conseguir-tu-primer-empleo.png","language":"es","_markdown_url":"https://gndx.dev/blog/230915-conseguir-tu-primer-empleo.md"},{"id":"https://gndx.dev/blog/crear-youtube-shorts-con-inteligencia-artificial/","url":"https://gndx.dev/blog/crear-youtube-shorts-con-inteligencia-artificial/","title":"Crear YouTube Shorts con Inteligencia Artificial","summary":"La inteligencia artificial ya está aquí y ha demostrado que nos permite ser más eficientes hasta un 50% en nuestras actividades de nuestro día a día.","content_text":"¿Cómo usar la inteligencia artificial para crear contenido de calidad en redes sociales?\n\nLa inteligencia artificial ya está aquí y ha demostrado que nos permite ser más eficientes hasta un 50% en nuestras actividades de nuestro día a día. En este artículo, te mostraré cómo he mezclado más de 5 herramientas de inteligencia artificial para crear contenido que puedas publicar en tu TikTok, reels, Shorts o cualquier red social.\n¿Qué herramientas de inteligencia artificial necesitas?\n\nAntes de comenzar con este proceso, es esencial que conozcas las herramientas que utilizaremos para crear contenido de calidad. Estas son:\nChatGPT para crear scripts\n\nPara generar los guiones de tus videos, Chat GPT es una herramienta clave. Te permite obtener un texto preciso y conciso, perfecto para tus contenidos en redes sociales.\n11ElevenLabs para la generación de audio\n\nCon Eleven Labs, puedes convertir los scripts en audio de alta calidad. Aunque puede requerir algunas correcciones, es una parte esencial para darle voz a tu contenido.\nMidJourney para crear tu propio avatar\n\nMidJourney es una solución para crear imágenes con Inteligencia Artificial. La utilizaremos para crear nuestro avatar. Esto agrega un toque único a tus videos y atrae la atención de tu audiencia.\nD-ID para la generación de videos con avatares\n\nD-ID es la herramienta final para combinar tus avatares con los guiones y el audio para crear videos convincentes. Esta plataforma te ofrece una amplia gama de opciones para la creación de videos.\nCapCut para añadir subtítulos\n\nCapCut es una aplicación gratuita que te permite añadir subtítulos a tus videos de forma sencilla. Esto es crucial para hacer tu contenido más accesible y atractivo.\n¿Cómo funciona el proceso?\n\nEl proceso consta de cinco pasos esenciales:\n\n1. Genera el guión con ChatGPT: Utiliza ChatGPT para obtener un guión claro y conciso para tu video. Asegúrate de que sea breve y atractivo.\n\n2. Convierte el guión en audio: Utiliza Eleven Labs para convertir el guión en audio. Ajusta y corrige el audio según sea necesario.\n\n3. Crea tu avatar con MidJourney: Crea un avatar personalizado utilizando MidJourney. Esto añadirá un toque único a tu contenido.\n\n4. Combina el audio y el avatar con D-ID: Utiliza D-ID para combinar el audio y el avatar y crear un video convincente.\n\n5. Añade subtítulos con CapCut: Finaliza tu video añadiendo subtítulos con CapCut. Esto mejorará la accesibilidad y el atractivo de tu contenido.\nCostos y consideraciones\n\nEs importante tener en cuenta los costos asociados con estas herramientas. Se estima un costo de $75 mensuales aproximadamente, en el uso de herramientas como Eleven Labs, MidJourney y D-ID que requieren suscripciones mensuales.\n\nD-ID, en particular, puede ser costoso si planeas generar una gran cantidad de contenido. Considera cuidadosamente si la inversión en estas herramientas se alinea con tus objetivos y estrategia de contenido en redes sociales.\n\nEn resumen, la inteligencia artificial ofrece una poderosa forma de crear contenido de alta calidad para tus redes sociales. Si estás dispuesto a invertir tiempo y dinero en estas herramientas, puedes aprovechar al máximo su potencial para aumentar tu presencia en línea y llegar a una audiencia más amplia.\n\n¡Empieza a crear contenido único y atractivo con inteligencia artificial hoy mismo!","date_published":"2023-09-11T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","inteligencia-artificial","YouTube","internet"],"image":"https://gndx.dev/og/blog/crear-youtube-shorts-con-inteligencia-artificial.png","language":"es","_markdown_url":"https://gndx.dev/blog/crear-youtube-shorts-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/blog/crear-miniaturas-de-youtube-con-inteligencia-artificial/","url":"https://gndx.dev/blog/crear-miniaturas-de-youtube-con-inteligencia-artificial/","title":"Cómo hacer miniaturas para YouTube con Inteligencia Artificial","summary":"Si estás buscando aumentar la visibilidad y el atractivo de tus videos en YouTube, no puedes pasar por alto el poder de las miniaturas. Estas imágenes destacadas son la primera impresión que los espectadores tendrán de tu contenido","content_text":"Si estás buscando aumentar la visibilidad y el atractivo de tus videos en YouTube, no puedes pasar por alto el poder de las miniaturas. Estas imágenes destacadas son la primera impresión que los espectadores tendrán de tu contenido, por lo que es crucial que sean llamativas y profesionales.\n\nTe mostramos cómo crear miniaturas de YouTube con IA, utilizando Canva + Midjourney.","date_published":"2023-07-20T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","ia","youtube","inteligencia artificial"],"image":"https://gndx.dev/og/blog/crear-miniaturas-de-youtube-con-inteligencia-artificial.png","language":"es","_markdown_url":"https://gndx.dev/blog/crear-miniaturas-de-youtube-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/blog/warp-terminal-con-inteligencia-artificial/","url":"https://gndx.dev/blog/warp-terminal-con-inteligencia-artificial/","title":"WARP TERMINAL con INTELIGENCIA ARTIFICIAL 🤖","summary":"Descubre la potencia de Warp.dev, la terminal con Inteligencia Artificial para mejorar tu productividad en el desarrollo de software.","content_text":"¿Qué es Warp? Una Terminal Revolucionaria\n\nSi eres un profesional del desarrollo de software o simplemente un entusiasta de la informática, es probable que estés familiarizado con el uso de la terminal en tu sistema operativo. Pero, ¿te has preguntado si estás aprovechando al máximo esta herramienta? te presentaremos Warp, una terminal moderna que está redefiniendo la forma en que trabajamos con la línea de comandos. ¿Estás listo para descubrir una nueva y eficiente forma de trabajar en tu día a día?\n¿Qué Hace a Warp Tan Especial?\n\nWarp es una terminal construida con Rust que incorpora inteligencia artificial para mejorar tu flujo de trabajo. Lo que la hace especial es su enfoque en la eficiencia y la organización de tus tareas dentro de la terminal. Warp se ha reimaginado por completo, denominando \"bloques\" a las secciones de comandos que ejecutas y presentando el prompt en la parte inferior, lo que permite una mejor organización de tus acciones.\nPersonalización y Características Únicas\n\nUna de las características que destacan en Warp es su capacidad de personalización. Puedes elegir entre diferentes templates y configurar opciones como la opacidad, el comportamiento de los paneles y la fuente, entre otras. Además, Warp viene con una serie de features que puedes habilitar o deshabilitar según tus necesidades. El equipo de Warp sigue trabajando en la adición de nuevas funciones, lo que la convierte en una herramienta en constante evolución.\n¿Cómo Te Ayuda la Inteligencia Artificial?\n\nUna de las ventajas más destacadas de Warp es su inteligencia artificial integrada. Puedes preguntarle a la IA sobre comandos, buscar archivos, solucionar errores e incluso obtener explicaciones detalladas sobre problemas específicos. Esto te permite trabajar de manera más eficiente, ya que no tienes que salir de la terminal para buscar soluciones en la web.\n¿Disponible para Todos los Sistemas Operativos?\n\nPor desgracia, Warp solo está disponible para MacOS y es, por ahora, incompatible con sistemas GNU/Linux y Windows. Sin embargo, puedes mantenerte al tanto de su desarrollo visitando su sitio web y completando un formulario para que te notifiquen cuando esté disponible en otros sistemas operativos.\n¿Cómo Puedes Ganarte una Camiseta y Stickers?\n\nSi estás emocionado por Warp y deseas ganarte una camiseta y stickers exclusivos, tenemos buenas noticias. Warp tiene un sistema de referidos que te permite acumular recompensas por invitar a otras personas a utilizar esta increíble terminal. Puedes obtener desde temas exclusivos hasta maletas y gorras.\n\nEn resumen, Warp es una terminal que está revolucionando la forma en que trabajamos con la línea de comandos. Con su enfoque en la organización, personalización y la incorporación de inteligencia artificial, se ha convertido en una herramienta imprescindible para los profesionales del desarrollo de software. Aunque todavía no está disponible en todos los sistemas operativos, su prometedor futuro seguramente sorprenderá a muchos usuarios en el futuro. ¿Estás listo para darle a Warp una oportunidad y mejorar tu productividad en la terminal?\n\nDescargar WARP: https://gndx.link/warp","date_published":"2023-07-20T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","ia","youtube","inteligencia artificial","terminal"],"image":"https://gndx.dev/og/blog/warp-terminal-con-inteligencia-artificial.png","language":"es","_markdown_url":"https://gndx.dev/blog/warp-terminal-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/blog/crear-contenido-con-inteligencia-artificial/","url":"https://gndx.dev/blog/crear-contenido-con-inteligencia-artificial/","title":"CREAR CONTENIDO con inteligencia artificial","summary":"La inteligencia artificial ofrece a los creadores de contenido, desde la generación de ideas hasta clonar la voz y la creación de imágenes y videos completamente con IA.","content_text":"Cómo Utilizar la Inteligencia Artificial para Crear Contenido en Redes Sociales\n\nLa inteligencia artificial ya está aquí, y su impacto en la eficiencia de nuestras actividades diarias es innegable. En este artículo, te mostraré cómo he combinado más de 5 herramientas de inteligencia artificial para crear contenido que puedes publicar en tu TikTok u otras redes sociales.\n¿Qué es la inteligencia artificial?\n\nLa inteligencia artificial es un campo de la informática que se centra en desarrollar sistemas capaces de realizar tareas que requieren inteligencia humana. En este caso, estamos hablando de cómo la IA puede ayudarte a crear contenido de manera eficiente.\nChatGPT: Creación de Scripts\n\nLa primera herramienta que vamos a utilizar es ChatGPT, preferiblemente en su versión Plus con el modelo GPT4. Esta herramienta nos permite generar scripts de manera rápida y efectiva. Solo necesitas proporcionarle una breve descripción de lo que deseas y te entregará un script que puedes utilizar.\nElevenLabs: De Texto a Voz\n\nUna vez que tengas tu script, la siguiente herramienta es ElevenLabs. Aquí convertiremos el texto en un archivo de audio. Es importante revisar y ajustar el texto para garantizar una lectura fluida y natural, ya que las IA pueden tener pequeñas limitaciones con ciertas palabras o nombres técnicos.\nMidJourney: Creación de imágenes\n\nMidJourney es una herramienta que te permitirá crear un avatar personalizado. Puedes utilizar una foto tuya o generar un avatar totalmente nuevo. La calidad de los avatares generados es asombrosa.\nD-ID: Creación de Videos con Avatar\n\nD-ID es la plataforma donde vamos a combinar nuestro avatar y el audio generado para crear un video. Puedes personalizar la apariencia y la duración del video. Ten en cuenta que D ID tiene opciones gratuitas, pero también opciones de pago que pueden ser útiles si planeas crear contenido con regularidad.\nCapCut: Añadir Subtítulos\n\nPara darle el toque final a tu video, utilizaremos CapCut. Esta herramienta te permite añadir subtítulos a tu video de manera sencilla. Puedes personalizar el estilo y el color de los subtítulos para que se vean atractivos.\nEl Costo de la Creación de Contenido con IA\n\nEs importante tener en cuenta que muchas de estas herramientas tienen costos asociados. Por ejemplo, Chat GPT tiene un costo de $20 USD mensuales, ElevenLabs se basa en tokens que cuestan alrededor de $5 USD por 30-40 minutos de audio, Mid Journey tiene un costo de $10 USD mensuales, y D-ID puede ser costoso si deseas generar mucho contenido, pero tiene planes desde $10 USD al mes.\n\nSin embargo, si aprovechas estas herramientas de manera efectiva, podrías generar contenido que se vuelva viral y te proporcione ingresos. Considera si la inversión de alrededor de $75 al mes vale la pena para ti, ya que podrías generar contenido de alta calidad que llegue a un público amplio.\n\nEn resumen, la inteligencia artificial ofrece herramientas poderosas para la creación de contenido en redes sociales. Si estás dispuesto a invertir en estas herramientas y trabajar en tus scripts, podrías ver un retorno significativo en tu inversión. ¿Te animarías a utilizar la IA para crear contenido? ¡Déjame saber tu opinión en los comentarios!","date_published":"2023-07-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","ia","youtube","inteligencia artificial"],"image":"https://gndx.dev/og/blog/crear-contenido-con-inteligencia-artificial.png","language":"es","_markdown_url":"https://gndx.dev/blog/crear-contenido-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/blog/comprar-en-aliespress/","url":"https://gndx.dev/blog/comprar-en-aliespress/","title":"comprar en AliExpress y NO PERDER DINERO","summary":"Descubre los secretos que los grandes vendedores NO quieren que sepas. En este video, te enseñaré cómo encontrar las MEJORES OFERTAS en AliExpress","content_text":"Cómo Comprar con Éxito en Páginas Web Chinas\n\nSi estás interesado en comprar en páginas web chinas y deseas asegurarte de que los productos que elijas sean de calidad y lleguen a tu puerta sin complicaciones, estás en el lugar correcto. Con tres años de experiencia en compras en línea y cientos de paquetes recibidos, puedo ofrecerte algunos consejos valiosos para que tu experiencia de compra sea satisfactoria.\n¿Cómo Investigar el Producto?\n\nEl primer consejo es obvio pero fundamental: investiga el producto antes de comprarlo. Ya sea en Amazon, Mercado Libre, Aliexpress o cualquier otra página, asegúrate de entender los factores que garantizarán que tu compra sea exitosa. Examina los costos, el proveedor, las calificaciones y los comentarios de otros compradores. No te dejes llevar por el precio más bajo, ya que la calidad y la legitimidad del producto son esenciales.\n¿Por qué Leer la Descripción del Producto?\n\nEs crucial leer detenidamente la descripción del producto que estás considerando comprar. En ocasiones, lo que parece ser un producto específico resulta ser diferente en la realidad. La descripción y los comentarios de otros compradores pueden revelar información valiosa sobre el producto, evitando decepciones.\n¿Cómo Aprovechar las Diferencias de Precio?\n\nLos precios varían entre vendedores en diferentes páginas web. Realiza una búsqueda exhaustiva del mismo producto para encontrar descuentos o promociones. En mi experiencia, he conseguido descuentos significativos al comparar precios y buscar ofertas. No te limites a pagar el primer precio que veas; investiga y ahorra.\n¿Qué Debes Saber sobre el Envío?\n\nCuando compras en páginas chinas, presta especial atención a los detalles del envío. Los costos de envío varían según el lugar de origen del producto. Ten en cuenta que algunos envíos pueden involucrar impuestos de aduana. Asegúrate de conocer los plazos de entrega y considera si necesitas el producto de forma urgente. La paciencia es clave en compras internacionales.\n¿Cómo Identificar Productos de Calidad?\n\nEn páginas chinas como Aliexpress, puedes encontrar productos de buena calidad a precios competitivos. A menudo, estos productos son réplicas de marcas conocidas. Aunque los detalles pueden ser engañosos, muchas veces los productos son sorprendentemente similares a los originales. Presta atención a pequeños detalles, como la costura y los acabados, para distinguir la calidad. Aunque parezcan similares a simple vista, un examen más detenido puede revelar las diferencias.\nConclusiones Finales\n\nComprar en páginas web chinas puede ser una experiencia gratificante si sigues estos consejos. Investiga el producto, lee la descripción, busca ofertas, comprende los costos de envío y aprende a distinguir la calidad de los productos. Con estos conocimientos, estarás mejor preparado para disfrutar de tus compras en línea y recibir productos de calidad en la comodidad de tu hogar. ¡No olvides suscribirte, activar la campanita y compartir tu experiencia en los comentarios!","date_published":"2023-07-09T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","aliespress","youtube"],"image":"https://gndx.dev/og/blog/comprar-en-aliespress.png","language":"es","_markdown_url":"https://gndx.dev/blog/comprar-en-aliespress.md"},{"id":"https://gndx.dev/blog/curiosidades-de-internet/","url":"https://gndx.dev/blog/curiosidades-de-internet/","title":"Curiosidades de Internet - Podcast #Error418","summary":"Descubre cómo un accidentado mensaje, un simple símbolo y una fotografía histórica sentaron las bases para la revolución digital que transformó el mundo.","content_text":"¿Cómo Surgió Internet?\n\nInternet, un vasto universo digital que ha transformado la forma en que vivimos, comunicamos y compartimos información. Pero, ¿alguna vez te has preguntado cómo comenzó Internet? En esta exploración, te llevaré a través de los orígenes y momentos cruciales que dieron forma a la web tal como la conocemos hoy.\n¿Qué Ocurrió en 1969?\n\nNuestro viaje nos lleva a 1969, cuando el equipo de ARPANET intentó enviar el primer mensaje en línea. La anécdota es sorprendente, ya que el primer mensaje se truncó después de solo enviar la letra \"L\" debido a un error. Tuvieron que reiniciar la máquina y, después de aproximadamente una hora, finalmente se completó el mensaje. ¿Qué habría sucedido si el mensaje se hubiera enviado completo? Este fue un inicio accidentado para una revolución tecnológica, gracias al proyecto ARPANET del Departamento de Defensa de los Estados Unidos en la década de los 60.\n¿Quién Fue el Creador del Primer Sitio Web?\n\nAvanzamos hasta 1991 y nos encontramos con Tim Berners-Lee, el creador del primer sitio web de la historia. Este sitio web simple, alojado en un servidor, explicaba el concepto de la World Wide Web. Aunque hoy en día no está disponible, este sitio web marcó el comienzo de una era que revolucionaría la forma en que navegamos por la web.\n¿De Dónde Proviene el Símbolo \"@\" en los Correos Electrónicos?\n\nEl símbolo \"@\" en nuestras direcciones de correo electrónico tiene un origen interesante. Fue elegido por Ray Tomlinson simplemente porque era el único símbolo no utilizado en el teclado. Este aparentemente insignificante detalle cambió la forma en que nos comunicamos, permitiendo separar el usuario del dominio y dando lugar a la construcción de los correos electrónicos tal como los conocemos hoy.\n¿Cuándo se Registró el Primer Nombre de Dominio en Internet?\n\nEn 1985, se registró el primer nombre de dominio en Internet: \"symbolics.com\". Este evento marcó el inicio de la era de los dominios y la competencia por nombres atractivos. Hoy en día, encontrar un dominio \".com\" disponible con una palabra clave es todo un desafío, y si lo encuentras, es probable que tenga un alto precio.\n¿Cuál Fue la Primera Fotografía en Internet?\n\nNuestro viaje nos lleva a 1992, cuando se compartió la primera fotografía en Internet. La imagen en cuestión mostraba a un grupo de investigadores del CERN posando frente a un laboratorio. Esta imagen aparentemente simple abrió la puerta a un mundo de posibilidades visuales en Internet, donde las imágenes se han convertido en un elemento fundamental.\n\nAsí concluye nuestro recorrido por los orígenes de Internet, un viaje marcado por pequeños errores y decisiones aparentemente insignificantes que dieron forma a momentos históricos. Estos datos curiosos pueden no parecer revolucionarios, pero fueron los cimientos de lo que hoy conocemos como Internet. Espero que hayas disfrutado de este recorrido por el tiempo y los detalles que contribuyeron a forjar la web tal como la conocemos. ¡Hasta la próxima aventura en el mundo digital!","date_published":"2023-07-09T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","podcast","youtube","internet"],"image":"https://gndx.dev/og/blog/curiosidades-de-internet.png","language":"es","_markdown_url":"https://gndx.dev/blog/curiosidades-de-internet.md"},{"id":"https://gndx.dev/blog/alternativas-a-twitter-threads/","url":"https://gndx.dev/blog/alternativas-a-twitter-threads/","title":"Alternativa a TWITTER: Meta Lanza Threads","summary":"Meta lanzará Threads, la nueva app de Meta para competir con Twitter basada en Instagram.","content_text":"¿Qué Alternativa a Twitter ha Llegado?\n\nSi eres un usuario activo de las redes sociales, es probable que hayas notado los problemas y cambios en la popular plataforma de Twitter en los últimos tiempos. Desde la adquisición de Elon Musk, Twitter ha estado en un constante declive, con despidos, modificaciones importantes y cambios que han afectado a la experiencia de los usuarios. Uno de los problemas más recientes que ha generado controversia es la limitación en el acceso a la línea de tiempo, lo que ha llevado a muchos a explorar otras opciones.\n¿Qué Limitaciones Está Experimentando Twitter?\n\nLa última controversia en torno a Twitter se centra en las restricciones de acceso a la plataforma. Los usuarios de Twitter se han enfrentado a límites en la visualización de los tweets, lo que ha afectado tanto a los que pagan por el servicio como a los usuarios antiguos y nuevos. La experiencia de usuario se ha visto comprometida, ya que no pueden acceder a su línea de tiempo como solían hacerlo. Esto ha llevado a la pregunta de si Twitter está en problemas.\n¿Cuál es la Alternativa que se Ofrece?\n\nSin embargo, una alternativa a Twitter ya está en camino. Meta, la empresa detrás de plataformas como Facebook e Instagram, ha anunciado el lanzamiento de su propia aplicación de microblogging el 6 de julio. Esta aplicación estará basada en texto y estará conectada a tus cuentas de Instagram, lo que permite a los usuarios utilizar sus identificadores de Instagram. Esta movida de Meta promete una experiencia única y podría convertirse en una competencia seria para Twitter.\n¿Qué Sabemos Hasta Ahora sobre la Aplicación de Meta?\n\nAunque aún no tenemos muchos detalles sobre esta nueva aplicación, ya puedes encontrarla en la App Store. Las capturas de pantalla disponibles muestran que esta aplicación estará separada de Instagram, pero utilizará las cuentas de esta plataforma. Además, en el sitio web de la aplicación, encontrarás un contador regresivo que marca el lanzamiento tentativo. También hay un código QR que te llevará directamente a la App Store para que puedas estar pendiente de su lanzamiento.\n¿Cuál es el Truco para Acceder a la Aplicación?\n\nPero aquí está el truco: si no puedes esperar para probarla, simplemente ve a la aplicación de Instagram y busca \"seymore\" en el buscador. Verás un ícono que te permitirá acceder a la aplicación y generar un recordatorio para descargarla el 6 de julio. Esta nueva aplicación de Meta promete ser una emocionante alternativa a Twitter y ha generado un gran interés en la comunidad de usuarios de redes sociales.\n\nEn resumen, mientras Twitter enfrenta problemas y limitaciones, Meta está a punto de presentar una alternativa que podría cambiar el panorama de las redes sociales basadas en texto. ¿Estás emocionado por esta nueva opción? Cuéntanos en los comentarios qué piensas sobre esta aplicación que se perfila como un competidor de Twitter.","date_published":"2023-07-04T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","twitter","threads","instagram"],"image":"https://gndx.dev/og/blog/alternativas-a-twitter-threads.png","language":"es","_markdown_url":"https://gndx.dev/blog/alternativas-a-twitter-threads.md"},{"id":"https://gndx.dev/blog/como-ganar-dinero-con-inteligencia-artificial/","url":"https://gndx.dev/blog/como-ganar-dinero-con-inteligencia-artificial/","title":"GANAR DINERO Con Inteligencia Artificial","summary":"Se puede ganar Dinero aplicando los consejos de YouTube + Inteligencia Artificial","content_text":"¿Se Puede Ganar Dinero con la Inteligencia Artificial?\n\nLa búsqueda de formas innovadoras de ganar dinero en línea ha llevado a un auge en la creación de contenido generado por Inteligencia Artificial (IA). En este artículo, exploraremos si es factible obtener ingresos utilizando la IA y cómo funciona este proceso. Acompáñame en este viaje para descubrirlo.\nEl Uso de la Inteligencia Artificial en la Creación de Contenido\n\nSi has estado explorando YouTube últimamente, es probable que hayas visto una gran cantidad de videos que promocionan la idea de ganar dinero con la ayuda de la Inteligencia Artificial, como \"ChatGPT\". La premisa detrás de estos videos es utilizar la IA para generar contenido de manera automática. Pero, ¿realmente funciona?\nExperimento 1: Finanzas desde Cero\n\nEl primer intento consistió en crear un canal desde cero dedicado a las finanzas. Se utilizaron herramientas como Canva y la API de GPT para generar scripts de video. Luego, estos scripts se convirtieron en contenido de video utilizando Eleven Labs para clonar la voz del creador. Sin embargo, los resultados fueron decepcionantes. Después de dos semanas, el canal tenía solo dos suscriptores y prácticamente ninguna ganancia.\nExperimento 2: Otra Aproximación\n\nEl segundo experimento se llevó a cabo en un canal secundario con cierta audiencia existente. Los videos generados con IA obtuvieron más atención, pero aún no alcanzaron los resultados deseados. A pesar de tener más suscriptores, las ganancias eran mínimas y la monetización estaba lejos de ser alcanzada.\nExperimento 3: Un Canal Establecido\n\nEl tercer intento se realizó en un canal principal con más seguidores. Aunque se generaron mejores resultados, la ganancia sigue siendo modesta. Los videos creados con la ayuda de la IA no generaron un ingreso significativo.\nReflexiones y Conclusiones\n\nLa idea de utilizar la IA para crear contenido es atractiva, pero los resultados hasta ahora han sido desalentadores. Aunque la IA puede ser útil para generar scripts y contenido básico, no parece ser la solución mágica para ganar dinero en línea. Además, los canales que involucran la presencia del creador tienden a ser más efectivos.\n\nEn resumen, la IA puede ser una herramienta útil para la creación de contenido, pero no sustituye la calidad, autenticidad y la participación del creador. Si estás considerando utilizar la IA para ganar dinero, ten en cuenta que los resultados pueden no ser tan lucrativos como algunos videos de YouTube sugieren.\n\nEn definitiva, el camino hacia ganar dinero en línea con la IA es un experimento en evolución, y los resultados varían según muchos factores. Si decides aventurarte en este mundo, mantén tus expectativas realistas y prepárate para trabajar duro en la construcción de tu audiencia y la calidad de tu contenido. La IA puede ser una herramienta valiosa, pero no es una fórmula mágica para el éxito financiero en línea.","date_published":"2023-07-03T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","ia","dinero","ganar"],"image":"https://gndx.dev/og/blog/como-ganar-dinero-con-inteligencia-artificial.png","language":"es","_markdown_url":"https://gndx.dev/blog/como-ganar-dinero-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/blog/setup-oscar-barajas-gndx/","url":"https://gndx.dev/blog/setup-oscar-barajas-gndx/","title":"Mi Espacio de Trabajo Remoto y Streaming - Setup 2022","summary":"Características de los dos espacios de trabajo que actualmente utilizo, macOS, Windows y GNU/Linux.","content_text":"Cada que inicio una transmisión es tradición subir una foto de mi setup ejecutando un Platzi Live, a lo largo del tiempo he mejorado mi espacio de trabajo y de transmisiones, tanto para la empresa que actualmente trabajo (Platzi) así como para mi canal de YouTube o Twitch.\n\nTe comparto a las características de los dos espacios de trabajo que actualmente tengo, macOS, Windows y GNU/Linux.\nmacOS Setup 2022\n\nOscar Barajas @gndx setup macOS\n\nMacBook Pro M1 Pro\nCPU de 8 núcleos con 6 núcleos de rendimiento y 2 de eficiencia\nGPU de 14 núcleos\nNeural Engine de 16 núcleos\nMemoria unificada de 16 GB\nSSD de 512 GB\n\n2 Samsung led 27\" Dark Blue\nModelo: C27R500FHL\nPantalla led de 27\"\nResolución: 1920 x 1080 Píxeles\n\nSoporte de escritorio de doble monitor\n\nCámara Canon EOS M200\nResolución: 24.1 MP\nModelo: EF-M 0.591-1.772 in IS STM Kit (negro)\n\nElgato Cam Link 4K\nTarjeta de captura de cámara externa, transmite y graba con DSLR\n\n2 Elgato Key Light Air\nLuz de escritorio profesional de 1400 lúmenes para transmisión\n\nElgato Wave XLR\nMezclador de audio y preamplificador de 75 db para micrófono XLR a USB-C\n\nMicrófono Shure MV7\nMicrófono USB para podcasting, grabación, transmisión en vivo\n\nElgato Stream Deck\n15 teclas LCD: toque para cambiar escenas\n\nTeclado Logitech MX Keys\nTeclado bluetooth Logitech Master Series MX Keys QWERTY\n\nLogitech MX Master 3 Mac\nMouse inalámbrico avanzado para Mac\n\nElgato Facecam\n\nEXTRAS:\nStanding Desk \niPad Pro M1 11\"\nAirPods Max\nAirPods Pro\nSoporte de teléfono MagSafe\nHub USB C\niPhone 12 Mini\niPhone 13\nMotorola Edge 30 PRO\n\nOscar Barajas @gndx Setup 2022\nWindows 11 setup 2022\n\nOscar Barajas @gndx Windows 11 Setup\n\nPC Custom Windows\nCPU: AMD Ryzen™ 5 3600X 6 núcleos 4.4 GHz\nGPU: NVIDIA GeForce GTX 1660 Super 6 GB\nPlaca: Gigabyte AM4 B450M DS3H\nCaja: iCUE 220T RGB Airflow Tempered Glass Mid-Tower Smart Case White\nRAM: 32 GB SPECTRIX D60G RGB DDR4 3200 2x16GB\nRefrigeración: 3 SP120 RGB LED de 120 mm\nRefrigeración Líquida: Cooler Master MasterLiquid\nFuente XPG Core Reactor 80 Plus Gold Modular\nSSD: XPG SPECTRIX S40G RGB PCIE GEN3X4 M.2 2280 - 256 GB\nHDD: 3 TB SATA3\n\nEXTRAS\nMicrófono: HyperX QuadCast\nTeclado: Asus ROG Falchion 60%\nMouse: Razer Mamba Elite\nCámaras: Logitech C922 Pro Stream 1080p X2\nLuces: Philips Hue\nGNU/Linux Setup 2022\n\nOscar Barajas @gndx Ubuntu Setup 2022\n\nMacBook Pro (Retina, 13 pulgadas, finales de 2013).\nSistema Operativo: Ubuntu 22.04.1 LTS\nTeclado: Keychron K6\nMouse: Microsoft Ratón ergonómico\nMouse Pad: Razer Reposa muñecas ergonómica\n\nEspero estos recursos sean de inspiración para mejorar tu espacio de trabajo o revisar referencias para adquirir productos similares. Todos los enlaces de \"Comprar\" envían a Amazon con mi enlace de referido.","date_published":"2022-10-26T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","setup","gndx"],"image":"https://gndx.dev/og/blog/setup-oscar-barajas-gndx.png","language":"es","_markdown_url":"https://gndx.dev/blog/setup-oscar-barajas-gndx.md"},{"id":"https://gndx.dev/blog/introduccion-a-solidity/","url":"https://gndx.dev/blog/introduccion-a-solidity/","title":"Introducción a Solidity - Como crear un contrato inteligente","summary":"Solidity es un lenguaje de alto nivel orientado a objetos para implementar contratos inteligentes,Estos contratos se ejecutan en la red Ethereum, una red descentralizada que permite a los usuarios ejecutar contratos sin la necesidad de un intermediario.","content_text":"ETH Latam Bogotá fue un evento totalmente en español de un día con charlas y workshops para personas que quieren aprender sobre Ethereum. Permite ser la puerta de entrada para quienes deseen conocer los principios, valores, usos y el impacto de la tecnología, se llevó a cabo durante las actividades previas a la DEVCON 2022 en Bogotá, Colombia.\n\noscar barajas introduccion a solidity\n\nDurante este evento, presente un Workshop donde explico como crear un contrato inteligente en Solidity, el lenguaje de programación para crear contratos inteligentes en la red Ethereum.\n\n Introducción a Solidity - Como crear un contrato inteligente \n\nDurante los próximos minutos aprenderás la sintaxis de un contrato inteligente, entender las particulares que tienen el lenguaje de programación Solidity, el lenguaje de programación para Ethereum. Para esto vamos a entender las particularidades, utilizaremos Remix, un IDE (Entorno de desarrollo integrado) que nos permite compilar y desplegar contratos inteligentes en la red de Ethereum y recursos que te permitirán seguir aprendiendo Solidity.\n\nDisfruta este Workshop que fue presentado en ETHLatam en Bogotá el pasado 10 de octubre de 2022.\n\n \n \nComentarios acerca del Workshop de Solidity\n\n \n Tweet @SolangeSoifer - Workshop Solidity\n ETHLatam\nmariandrea 🦋\ncangreja533.eth 🖖\nGrumysh.eth 🇨🇴\nAlfredo - brolag.eth - brolag.lens\nDanielValdivv\nSury B","date_published":"2022-10-23T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","conferencias","solidity","ethereum"],"image":"https://gndx.dev/og/blog/introduccion-a-solidity.png","language":"es","_markdown_url":"https://gndx.dev/blog/introduccion-a-solidity.md"},{"id":"https://gndx.dev/blog/hola-cdmx/","url":"https://gndx.dev/blog/hola-cdmx/","title":"Hola, #CDMX","summary":"Que gusto volver a encontrarnos, tenemos mucho que hablar, ver, escuchar y si, comer esos ricos taquitos...","content_text":"Hola, #CDMX\n\nQué gusto volver a encontrarnos, tenemos mucho que hablar, ver, escuchar y si, comer esos ricos taquitos de maciza.\n\nTacos de la ciudad de México\n\nLa última vez que nos vimos, aún no nacía el bebeloper y si bien nos acompañó en ese viaje cuando estábamos embarazados, él aún no descubre tu magia. Sé que algún día lo hará y disfrutaremos juntos todo lo bueno y malo que puedes dar.\n\nEsa última vez que te visite, recuerdo que anunciaban los primeros casos de ese bicho del cual no vale la pena mencionar más, pero era necesario en esta única ocasión y solo espero que todo siga bien para todos y todas.\n\nHoy nuevamente estoy aquí, en el país que me vio nacer y en la ciudad que me vio partir, a una aventura de la cual jamás imagine que me llevaría a una aventura formando una familia, y el nacimiento de mi primogénito \"El Bebeloper\".\n\nNo seas ansiosa, pronto lo conocerás, espero para cuando ambos celebramos nuestro cumpleaños en septiembre, falta poco, en esta ocasión vengo de trabajo.\n\nTe cuento que me involucre más en el tema de las cryptocositas, sin entrar en estafas o pirámides, Mi trabajo es enseñar a las personas a entender la tecnología detrás de todos esos conceptos raros, que entiendan sus finanzas y puedan ver valor en la tecnología blockchain y es por lo cual vengo a visitarte, para hablar en diferentes conferencias, actividades y seguir evangelizando la tecnología que ha permitido a países como Ucrania, Cuba, Venezuela y recientemente Argentina a que sus ciudadanos tengan el control de sus activos, puedan enviar y recibir sin dinero de forma segura y sin perder su valor sobre el tiempo.\n\nMientras trabajo trataré de disfrutarte y cuidarte y si visitare tanta taquería pueda, solo estaré unos días, prometo no alejarme tanto, pero entenderás que no era fácil con un embarazo, su nacimiento y ese bicho.\n\nNo te preocupes, ya te visitaré muy pronto para disfrutar de tus paisajes, museos, y toda esa comida que tanto extraño y sí, conocerás al bebeloper, ese colombianito con sangre mexicana. Te prometo que te va a caer muy bien, no puedo garantizar que se portara bien, pero sé que se llevaran muy bien.\n\nHasta pronto...","date_published":"2022-08-21T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","historias","gndx","viajes"],"image":"https://gndx.dev/og/blog/hola-cdmx.png","language":"es","_markdown_url":"https://gndx.dev/blog/hola-cdmx.md"},{"id":"https://gndx.dev/blog/curso-gratis-de-programacion-en-platzi/","url":"https://gndx.dev/blog/curso-gratis-de-programacion-en-platzi/","title":"🚀 NUEVO Curso GRATIS de Programación","summary":"Aprende a programar y aumenta tus ingresos con el curso gratis de programción en Platzi","content_text":"Aprende a programar y aumenta tus ingresos con el Curso gratis de programación en Platzi, Muchos y muchas creerán que no es posible cambiar de carrera profesional y obtener mejores ingresos, pero déjame contarte un par de historias de personas que aprendieron programación.\n\n¿Por qué aprender a programar te ayuda a aumentar tus ingresos?\nEs muy simple la respuesta, es una de las profesionales que no requiere un título universitario para ejercer, la industria valora las habilidades obtenidas y la capacidad de resolver problemas con la programación, Hoy en día la tecnología avanza muy rápido y requiere mucho talento que pueda resolver, crear, innovar, dar mantenimiento a productos y servicios basados en tecnología. Los salarios en el ecosistema son muy buenos, con opción de cambiarte de país y si sabes inglés puedes ganar mucho más, Te imaginas ganar $3,000, $5,000 o $10,000 USD mensuales, esto es posible aprendiendo programación(1).\n\nenter image description here\n\nAprender programación es mucho más fácil de lo que crees.\nCuando yo inicie en la programación tenía la edad de 12 en el año 2000, no existían plataformas de educación en línea, ni tantos recursos como hoy en día, comprar un libro que te enseñara, programación no era barato y acceder al contenido era más difícil y en inglés.\n\nHoy tienes plataformas de educación, YouTube, Libros gratuitos en tu idioma, creadores de contenido que comparten sus conocimientos, redes sociales y a un mensaje privado conectar con expertos.\n\nCurso GRATIS para aprender Programación.\n\nenter image description here\n\nPlatzi ha lanzado un curso gratuito para que todos y todas puedan aprender a programar con más de 15 horas de video, 6 profesores y profesoras que te enseñan sus habilidades para dominar esta profesión.\n\nQue aprenderás en el curso gratis de programación:\nDiseña algoritmos\nDesarrolla software con funciones, objetos y eventos\nEscribe código fluido en HTML, CSS y JavaScript\nPrograma un videojuego para la web\n\nY si NO necesitas conocimientos previos, todo lo aprenderás en el curso.\n\nNo esperes más y aprende a programar y cambia tu carrera profesional:\nCurso Gratis de Programación. 🚀\n\nFuente: 1: Los perfiles tecnológicos cobran un 42% más que la media","date_published":"2022-07-22T18:30:25.894Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","javascript","platzi","programacion"],"image":"https://gndx.dev/og/blog/curso-gratis-de-programacion-en-platzi.png","language":"es","_markdown_url":"https://gndx.dev/blog/curso-gratis-de-programacion-en-platzi.md"},{"id":"https://gndx.dev/blog/web3-se-construye-con-typescript/","url":"https://gndx.dev/blog/web3-se-construye-con-typescript/","title":"La WEB 3 se construye en TypeScript","summary":"Imparti la charla \"La WEB 3 se construye en TypeScript\" en el evento TypeScript Day de la comunidad de Angular Bolivia.","content_text":"Fui invitado a impartir la charla \"La WEB 3 se construye en TypeScript\" en el evento TypeScript Day de la comunidad de Angular Bolivia.\n\nMi experiencia en el tema de la Web3 inicia en agosto del 2021 cuando decido enfocarme en entender a detalle las tecnologías detrás del Blockchain, Las criptomonedas y entender los conceptos que son fundamentales para comprenderles y poder un día no muy lejano enseñar a implementar estas tecnologías.\n\nQuiero compartirte parte de mi experiencia y lo que he aprendido, cave mencionar que en ningún momento estás obligado a comprar ninguna criptomoneda, aquí no hablaremos de inversiones, ni de obtener beneficios monetarios, los temas que trato de enseñar o mostrar con mi experiencia es para que puedas crear tu propia opinión y tengas un camino que seguir.\n\nEs importante entender donde nace todo, es importante entender la historia y la motivación de quienes fueron visionarios en proponer estas tecnologías, como arranco todo, quien es Satoshi Nakamoto y porque hoy en día no sabemos de su paradero, que significa implementar tecnologías blockchain y las matemáticas detrás de la criptografía. Estas preguntas te llevarán al camino correcto, al camino que te permitirá entender hacia donde vamos.\n\nMi primer paso fue leer las propuestas iniciales mejor conocidas como \"White Paper\" donde podemos entender cada particularidad y entender el porqué. Bitcoin: Un Sistema de Efectivo Electrónico Usuario-a-Usuario (ES)\n\nAhora llego el momento de entender algunas otras particularidades como los diferentes proyectos existentes entre ellos Ethereum y Solana.\n\nEsto me permitió entender que lo que hacemos en la considerada Web 2.0 es lo mismo que podemos hacer en la Web3, seguimos utilizando las mismas tecnologías como React, Desplegar en servidores como Vercel, pero debemos de ponerle atención a nuevos conceptos como la tecnología detrás del blockchain, descentralización, utilizar nuevos protocolos como iPFS (InterPlanetary File System) aprender a trabajar con la EVM (Ethereum Virtual Machine) para programar nuestros contratos inteligentes, integrar protocolos JSON-RPC y utilizar las librerías como Web3.js, Ethers.js o utilizar herramientas de desarrollo como Hardhat o truffle.\n\nUna de mis mayores sorpresas es que la mayoría de las herramientas para implementar en nuestros desarrollos usan TypeScript, es por esto que la Web3 se está construyendo con TS.\n\nQuiero dejarte mi video donde explico un poco a detalle mi aprendizaje en Web3 y te recomiendo las principales herramientas para entender estos nuevos conceptos.","date_published":"2022-02-20T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","gndx","typescript","youtube"],"image":"https://gndx.dev/og/blog/web3-se-construye-con-typescript.png","language":"es","_markdown_url":"https://gndx.dev/blog/web3-se-construye-con-typescript.md"},{"id":"https://gndx.dev/blog/como-aprender-a-programar/","url":"https://gndx.dev/blog/como-aprender-a-programar/","title":"¿Cómo empezar a PROGRAMAR?","summary":"Al inicio puede ser abrumador, más porque encontrarás mucha informacion en internet, recursos, libros, cursos, videos, entre mucha otra informacion, pero con objetivos claros, una planeación sencilla donde dedicas tiempo y práctica, lograras entender la programación","content_text":"¿Quieres empezar a programar?\n\nMuchas veces dar el primer paso puede llegar a ser difícil y complicado, por eso te propongo una serie de consejos para que puedas empezar a programar, Lo primero que debes de tener en cuenta es que la programación es toda una ciencia, una serie de metodologías y entendimientos sobre el mundo de la computación.\n\nAl inicio puede ser abrumador, más porque encontrarás mucha informacion en internet, recursos, libros, cursos, videos, entre mucha otra informacion, pero con objetivos claros, una planeación sencilla donde dedicas tiempo y práctica, lograras entender la programación y lograr tus objetivos ya sea cambiando de carera o iniciando una nueva.\n\nTe dejo mi video donde encontraras toda la informacion que te guiara a lograr tu objetivo, ser un programador o programadora.","date_published":"2022-02-08T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","gndx","programador","youtube"],"image":"https://gndx.dev/og/blog/como-aprender-a-programar.png","language":"es","_markdown_url":"https://gndx.dev/blog/como-aprender-a-programar.md"},{"id":"https://gndx.dev/blog/inicios-de-internet-web-3/","url":"https://gndx.dev/blog/inicios-de-internet-web-3/","title":"El inicio de Internet y la WEB 3.","summary":"Web3 no solo son NFTs, va a haber mucho más allá y se trata de PROPIEDAD. Podemos llevarlo a otras áreas, pero son puntos frágiles","content_text":"¿Alguna vez té has preguntado como inicio internet? Porque utilizamos la tecnología que tenemos actualmente, donde se originaron todos esos aciertos para disfrutar de todo lo que nos ofrece internet. Hoy en día Internet es parte de la vida de muchas personas, aquellas que trabajamos por medio de esta herramienta podemos estar agradecidos con todos y todas quienes han formado parte de lo que hoy en día conocemos como internet.\nARPANET (1969)\n\nLos inicios de internet se remontan a los inicios de las comunicaciones entre computadoras, ARPAnet (advanced research projects agency network) fue una red de computadoras construida para enviar datos militares y conectar a los principales grupos de investigación en Estados Unidos. Si, nuevamente la guerra nos llevó a crear innovaciones que marcaron la humanidad, puesto que los esfuerzos de crear computadoras existieron desde los inicios del siglo XX, no fue hasta que las guerras libradas aceleraron la investigación y financiamiento para tener computadoras que hicieran cálculos matemáticos más avanzados para calcular la trayectoria de misiles, pero esto sería otra historia.\n\nEn los siguientes 30 años surgieron muchas más innovaciones al rededor de ARPAnet, pero no es hasta 1990 que Tim Berners-lee un empleado del CERN (Consejo Europeo para la Investigación Nuclear) creo en una computadora NeXTcube lo que hoy conocemos como WWW (World Wide Web) y le dio inicio a una nueva era para internet.\nWeb 1.0\n\nEste término es una forma amigable de llamarle a los inicios de WWW y la revolución que se vendría, las tecnologías que nacerían y la creación de los cimientos que hoy permiten tener conexión en múltiples dispositivos y podemos tener nuestra nevera conectada a internet o controlar toda una casa de forma remota.\n\nEn los inicios de la WWW, teníamos acceso a las páginas web y también fue el inicio de la adopción de internet por las personas, esto sumado a esfuerzos de hackers que tenían la mentalidad de llevar una computadora personal a cada hogar, gracias a que todo se unió en una época de constante avance tecnológico, se logró generar nuevas maneras en las que los humanos podríamos conectarnos, ahora teníamos una herramienta poderosa que nos llevaría a estar más conectados, no solo para temas científicos, académicos, militares, sino para divertirnos, leer y hacer más cómoda nuestras vidas.\n\nPuedo decir que me toco vivir parte de la WEB 1.0, mis inicios en internet se remontan a 1997 con tan solo 10 años de edad y donde me toco acceder a una computadora que aún no tenía interfaz gráfica, una pantalla negra con un cursor verde que permitía acceder a distintos programas hasta que la curiosidad me llevo a conocer las páginas web y adentrarme en los inicios de la web 2.0.\nWEB 2.0\n\nPuedo decir que viví la experiencia de ser parte de los inicios de la Web 2.0, mis inicios fueron en el 2001 con mis primeras páginas web y no fue hasta el 2003 que empece a pública los primeros sitios web, mis blogs, particularmente compartiendo mi conocimiento en GNU/Linux, formar parte de la tecnología y compartir con más personas que apostaron por igual a esta revolución en internet. Me toco ver el nacimiento y la muerte de tecnologías, propuestas que se mantienen al día de hoy y la evolución de otras tecnologías que hoy utilizamos, Ya no es lo mismo hacer una página web hoy en día que hace 20 años. Lo que queremos rescatar de la WEB 2.0 es forma en que podemos compartir fácilmente informacion y es por esto que dio al nacimiento de las redes sociales las cuales nos permitían compartir, crear y estar comunicados, por lo tanto, definimos a la WEB 2.0 como \"Lectura y Escritura\".\nWEB 3\n\nNada esta escrito y esto es lo más genial de todo, puesto que estamos en una etapa donde podemos construir las bases que darán el impulso a WEB3. Recapitulando podemos decir que la WEB 1.0 era de solamente lectura, con la llegada de la WEB 2.0 tendríamos lectura y escritura y ahora con WEB 3 tendremos \"Propiedad\".\n\nQuiero terminar mencionando algo muy importante: Web3 no solo son NFTs, va a haber mucho más allá y se trata de PROPIEDAD. Podemos llevarlo a otras áreas, pero son puntos frágiles. Nos llevará a hacer cosas sorprendentes si lo vemos como una oportunidad de incorporar tecnologias como Blockachin, criptografia y el potencial que nos ofrecen las criptomonedas.\n\nLo vuelvo a repetir, WEB 3 no es solo NFTs, Bitcoin, Ethereum, Blockchain, es mucho más grande, es el inicio de una nueva forma de ver internet y la forma en que podemos incorporar tecnología a nuestro día a día.\n\nRecientemente, participe en una entrevista junto a otros entusiastas del tema de WEB 3 y en un directo me preguntaron al aspecto y acá te comparto un breve resumen de lo leído previamente.","date_published":"2022-01-31T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","web3","gndx","historia"],"image":"https://gndx.dev/og/blog/inicios-de-internet-web-3.png","language":"es","_markdown_url":"https://gndx.dev/blog/inicios-de-internet-web-3.md"},{"id":"https://gndx.dev/blog/vale-la-pena-comprar-un-oculus-quest-2/","url":"https://gndx.dev/blog/vale-la-pena-comprar-un-oculus-quest-2/","title":"¿Vale la pena comprar un Oculus Quest 2?","summary":"Oculus Quest 2, analisis, revision de las caracteristicas principales, precio, accesorios, juegos, ventajas y desventajas y si vale la pena comprar uno en pleno 2022.","content_text":"¿En simples palabras es un NO, no vale la pena comprar uno en pleno 2022.\n\n¿Pero te preguntarás por qué? Es un dispositivo que tiene un precio de 299 USD algo económico considerando las características que tiene, pero también debemos de considerar que debemos de adquirir otros elementos para aprovecharlo al máximo, entre ello se encuentra adaptadores para jugar desde la PC, un buen estuche para tenerlos bien cuidados, considerar que los juegos rondan los 9.99 USD hasta los 39.99 USD y algunos requieren adquirir complementos extra para complementar el juego.\n\nOtro motivo por el cual no considero que valga la pena, es que no es fácil de adquirir en Latinoamérica, debemos de adquirirlo por medio de Amazon o con casilleros y aun así debemos de pagar los impuestos necesarios, pagar el derecho de importación y costos de envío. Esto limita la posibilidad de interactuar con tus amigos y conocidos, también considerar que es un dispositivo de uso personal y no es posible compartirlo al mismo tiempo o jugar en familia con el mismo dispositivo como podrías hacerlo con una consola de videojuegos.\n¿Por qué si me lo compraría?\n\nSi quieres experimentar en la creación de las nuevas interfaces que nos puede proveer este tipo de dispositivos, para probar las nuevas tecnologías que están implementando y si no quieres quedarte fuera del metaverso, es una buena opción. En mi caso personal quiero entender como se realizan los desarrollos para esta plataforma así como la construcción de juegos para Oculus Quest 2.\n\nSi tienes un Oculus Quest y quieres que compartamos un momento, agrégame mi usuario es \"gndx\" En el siguiente video hago una reseña más a detalle y te cuento mi experiencia con la Oculus Quest 2.","date_published":"2022-01-27T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","oculus","metaverso","reviews"],"image":"https://gndx.dev/og/blog/vale-la-pena-comprar-un-oculus-quest-2.png","language":"es","_markdown_url":"https://gndx.dev/blog/vale-la-pena-comprar-un-oculus-quest-2.md"},{"id":"https://gndx.dev/blog/que-es-la-web-3/","url":"https://gndx.dev/blog/que-es-la-web-3/","title":"¿Por qué todos hablan de WEB 3?","summary":"Es una moda, una tendencia, que está pasando en el ecosistema de desarrollo web que todos hablan de WEB 3","content_text":"Hablemos de Web3 \n\nDesde hace tiempo que estoy aprendiendo sobre el tema, leyendo, jugando, rompiendo proyectos y he llegado a una conclusión:\n\nUno de los caminos para ser desarrollador Web 3 es tomar tus habilidades de HTML/CSS/JS (Frameworks y Librerías) y aplicarlas a Web 3.\n¿Pero qué es web 3?\n\nEl principal concepto a entender sobre web 3 es la forma en que vamos a acceder a una internet descentralizada y para eso se utilizará la tecnología de blockchain. En el ámbito del desarrollo Web, #Web3 + JavaScript es una serie de librerías escritas en JavaScript/TypeScript para acceder a la red blockchain independiente de la tecnología empleada (Ethereum/Solana/etc.).\n\nNo estamos reinventando la rueda, la web sigue siendo la web, entender como se mueve el ecosistema de desarrollo sobre web 3 es fundamental para lo que viviremos en un futuro.\n\nTe dejo mi video donde abordo más a detalle el tema:","date_published":"2022-01-25T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","ethereum","web3","blockchain","criptomonedas"],"image":"https://gndx.dev/og/blog/que-es-la-web-3.png","language":"es","_markdown_url":"https://gndx.dev/blog/que-es-la-web-3.md"},{"id":"https://gndx.dev/blog/revision-portafolios-octubre-2021/","url":"https://gndx.dev/blog/revision-portafolios-octubre-2021/","title":"Revisando portafolios de suscriptores [Octubre 2021]","summary":"Revisión de portafolio, blog o páginas web de mis suscriptores, revisamos a detalle, recomendamos mejoras, o hablamos de lo bien que han implementado sus sitios en internet.","content_text":"Revisando portafolios a Suscriptores\n\nUna de las dinámicas más divertidas que tenemos en mi canal de YouTube es la revisión de portafolio, blog, páginas web de mis suscriptores, donde revisamos a detalle las propuestas enviadas, recomendamos mejoras, o hablamos de lo bien que han implementado sus sitios en internet.\n\nRegresamos la dinámica este viernes 22 de octubre donde tendremos la revisión de 10 proyectos y de forma aleatoria también revisaremos el código fuente de un proyecto con la finalidad de aprender.\n¿Como Participar?\n\nDebes de tener tu proyecto desplegado y con el código abierto y seguir las siguientes instrucciones.\n\nEnvía tu Portafolio/Blog/Website\n\n1. Realiza un Fork de este repositorio. portfolio-review\n2. Agrega tu URL a la lista.\n3. Envía tu Pull Request, No olvides llenar el formato requerido.\n4. Nos vemos en el LIVE.\nLIVE\n\nViernes 22 de octubre del 2021 9:45 P.M. en YouTube.com/oscarbarajas","date_published":"2021-10-18T20:01:44.503Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","youtube","comunidades","gndx"],"image":"https://gndx.dev/og/blog/revision-portafolios-octubre-2021.png","language":"es","_markdown_url":"https://gndx.dev/blog/revision-portafolios-octubre-2021.md"},{"id":"https://gndx.dev/blog/instalar-nvm-en-ubuntu-20-04/","url":"https://gndx.dev/blog/instalar-nvm-en-ubuntu-20-04/","title":"Instalar NVM en Ubuntu 20.04","summary":"Node Versión Manager (NVM) es una herramienta que nos permite administrar múltiples versiones de Node.js, aprende a instalarlo en WSL2 en Windows 11.","content_text":"Node Versión Manager (NVM) es una herramienta que nos permite administrar múltiples versiones de Node.js. Gracias a NVM podemos instalar las versiones más recientes de node.js incluido npm o instalar una versión especifica y poder cambiar entre versiones fácilmente desde la línea de comandos.\n\nPreviamente aprendimos a instalar WSL2 en Windows 11 ahora vamos a instalar Node.js por medio de NVM para trabajar nuestros proyectos construidos en JavaScript dentro de la configuración de Ubuntu 20.04 que instalamos con WSL2 en Windows 11.\nInstalar NVM en Ubuntu 20.04\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash\n\nAhora vamos a activar la variable de entorno para NVM con el siguiente comando:\n\nsource /.bashrc\n\nAhora vamos a verificar que tengamos instalado NVM y funcionando.\n\nnvm --version\nInstalar Node.js en su última versión\n\nnvm install node\n\ninstalar node.js en Ubuntu\n\nAhora comprobamos que tengamos Node.js y npm instalados.\n\nnode --version | npm --version\ninstalar una versión especifica de Node.js\n\nnvm install 14.18.1 // Node LTS\nListar las versiones instaladas\n\nnvm ls\nCambiar entre versiones de Node.js\n\nnvm use 14.18.1 | 16.11.1\nEliminar una versión de Node.js\n\nnvm uninstall 14.18.1\n\nNVM nos permite instalar y administrar correctamente las versiones de Node.js que necesitemos para nuestros proyectos.\n\ninstalar nvm en Ubuntu\n\nNota: Si estás trabajando con zsh o algún otro perfil en tu sistema operativo GNU/Linux debes de activar la variable de entorno de NVM.\n\nMás informacion en el repositorio de GitHub: nvm-sh/nvm","date_published":"2021-10-14T02:33:37.383Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","ubuntu","javascript","recursos"],"image":"https://gndx.dev/og/blog/instalar-nvm-en-ubuntu-20-04.png","language":"es","_markdown_url":"https://gndx.dev/blog/instalar-nvm-en-ubuntu-20-04.md"},{"id":"https://gndx.dev/blog/instalar-wsl2-en-windows-11/","url":"https://gndx.dev/blog/instalar-wsl2-en-windows-11/","title":"Instalar WSL2 en Windows 11","summary":"Como instalar Windows Subsystem Linux (WSL 2) en Windows 11","content_text":"Windows SubSystem Linux mejor conocido como WSL o WSL2 es una herramienta que permite a los usuarios de Windows 10 y Windows 11 ejecutar distribuciones GNU/Linux sin necesidad de instalar software adicional de terceros o cambiar de sistema operativo, actualmente soporte distribuciones GNU/Linux como Ubuntu, Debian, Fedora, Suse entre otros que puedes encontrar en la tienda de aplicaciones.\n\ngndx instalar wsl2 en windows 11\n\nLa última versión de Windows SubSystem Linux es conocida como WSL2 entre las principales características que nos ofrece WSL2 se encuentran:\nIntegración entre Windows - GNU/Linux\nInicio rápido de la instancia\nVM Administrada\nKernel completo de GNU/Linux\nCompatibilidad con el sistema operativo\n\nWSL2 permite a los desarrolladores ejecutar un entorno GNU/Linux con la mayoría de sus aplicaciones, utilidades y acceso a la línea de comandos. Parte fundamental para trabajar con nuestros proyectos escritos en JavaScript.\nComo Instalar WSL2 en Windows 11\n\nCon el recién lanzamiento de Windows 11, debemos de configurar nuestro entorno de trabajo, en mi uso personal así como en mi día a día como Frontend Developer, requiero tener un entorno de trabajo optimizado para trabajar con JavaScript, ejecutar progrmas desde la terminal, entre otras tareas importantes.\n\nLo primero que tenemos que realizar es iniciar la aplicación \"Windows Terminal\" la cual está instalada por defecto en Windows 11. (Anteriormente en Windows 10 debíamos instalarla desde la tienda de aplicaciones.).\n\n1. Ejecutar Windows Terminal como administrador.\n2. Ejecutar el comando:\n\nwsl --install\n\ninstalar wsl2 en windows 11\n\nSigue las instrucciones en pantalla y espera a que termine la instalación.\n\n3. Instalar una distribución GNU/Linux de las disponibles en la tienda de aplicaciones de Microsoft.\n\nDistribuciones que recomiendo utilizar:\nUbuntu 20.04 LTS\nDebian GNU/Linux\n\nEn mi configuración utilizo \"Ubuntu 20.04 LTS\" instalado desde \"Microsoft Store\". (Puedes instalar la version de GNU/Linux de tu eleccion.)\n\ninstalar ubuntu 20.04 en windows 11\n\n4. Una vez instalado es necesario reiniciar nuestra computadora para poder iniciar la instalación de Ubuntu y configurar nuestro usuario.\n\n5. Ejecutar la aplicación Ubuntu, Nos abrirá una terminal en la cual seguiremos las instrucciones y asignaremos un usuario y su contraseña.\n\n6. Una vez finalizado este proceso podrás ejecutar Ubuntu desde Windows Terminal.\n\nenter image description here\n\nWindows 11 nos permite trabajar mucho más fácil, con una instalación y configuración más amigable con Windows SubSystem Linux y tener un entorno de desarrollo potente para trabajar nuestras aplicaciones.\n\nPara concluir te invito a instalar mi \"Tema personalizado para ZSH\" y los plug-ins que utilizo.","date_published":"2021-10-12T03:26:17.542Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","Windows","Programacion","recursos"],"image":"https://gndx.dev/og/blog/instalar-wsl2-en-windows-11.png","language":"es","_markdown_url":"https://gndx.dev/blog/instalar-wsl2-en-windows-11.md"},{"id":"https://gndx.dev/blog/nuevo-curso-platzi-jamstack/","url":"https://gndx.dev/blog/nuevo-curso-platzi-jamstack/","title":"Mi nuevo curso en Platzi: JAMStack","summary":"Aprende a crear sitios web y aplicaciones que ofrece un mejor rendimiento con JAMStack.","content_text":"Una nueva forma de crear sitios web y aplicaciones que ofrece un mejor rendimiento ha empezado a tener bastante popularidad por ser la combinación de tecnología que buscan los desarrolladores y que permite crear aplicaciones como sitios web con mejor rendimiento, agregando una capa de seguridad, una forma más amigable de escalar nuestros proyectos y una experiencia que envuelve al desarrollador y lo hace parte del proceso mezclando las tecnologías que más utiliza y que son clave en su día a día como profesional.\n\nJAMStack\n\nEl pasado 17 de septiembre se lanzo mi mas reciente curso en Platzi donde aprenderás a crear un blog utilizando el concepto de JAMStack, identificaras que tienen de importantes los conceptos de “No-code” y “Low-code” y como sacarle provecho a la tecnología para crear sorprendentes aplicaciones que mezclan las tecnologías del momento con simples clics o llevarlos al ámbito del desarrollo si así lo necesitas.\n\ncurso de Introducción a Jamstack\n\nTe invito a pasar a mi curso de Introducción a Jamstack en Platzi.","date_published":"2021-09-21T03:45:59.407Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","jamstack","cursos","javascript"],"image":"https://gndx.dev/og/blog/nuevo-curso-platzi-jamstack.png","language":"es","_markdown_url":"https://gndx.dev/blog/nuevo-curso-platzi-jamstack.md"},{"id":"https://gndx.dev/blog/tema-oh-my-zsh-gndx/","url":"https://gndx.dev/blog/tema-oh-my-zsh-gndx/","title":"Tema personalizado para ZSH","summary":"Tema personalizado para ZSH inspirado en la configuración que utilizo en mis cursos de JavaScript en Platzi.","content_text":"Actualmente tengo más de 18 cursos en la plataforma de educación online Platzi donde enseño JavaScript, el uso de la terminal es muy importante en mis cursos cuando estamos trabajando con NodeJS o JavaScript con algún Framework o Librería.\n\nUna de las preguntas que más me hacen es cual es mi configuración de mi terminal/consola/bash/promt, A la cual siempre respondía que era un tema personalizado creado basándome en los temas por defecto que incluye Oh My Zsh.\n\nNo es hasta ahora que prepare el tema, lo optimice y adapte para que todos puedan instalarlo en sus configuraciones de Oh My Zsh.\nVista Previa de gndx-zsh-theme\n\ngndx zsh theme\nInstalación\n\n1. En tu terminal escribe lo siguiente: git clone https://github.com/gndx/gndx-zsh-theme/ $ZSHCUSTOM/themes/gndx-zsh-theme\n\n2. Abre tu configuración de: .zshrc\n\n3. Cambia el valor de ZSHTHEME por gndx-zsh-theme/gndx\n\nMás información: Oh-My-Zsh External themes\nExtras\n\nActualmente utilizo los plugins zsh-autosuggestions y zsh-syntax-highlighting que me permiten tener una mejor experiencia utilizando los comandos.\n\nFuente recomendada: FiraCode\nContribuir\n\nSi alguien quiere agregar o mejorar algo, te invito a colaborar directamente en este repositorio: gndx-zsh-theme\nLicencia\n\ngndx-zsh-theme se lanza bajo la MIT License.","date_published":"2021-06-08T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","open-source","recursos"],"image":"https://gndx.dev/og/blog/tema-oh-my-zsh-gndx.png","language":"es","_markdown_url":"https://gndx.dev/blog/tema-oh-my-zsh-gndx.md"},{"id":"https://gndx.dev/blog/curso-de-webpack/","url":"https://gndx.dev/blog/curso-de-webpack/","title":"Curso de Webpack 5","summary":"Aprende Webpack desde cero, prepara tu desarrollo web para hacerlo más ágil, rápido y optimizado.","content_text":"Curso de Webpack 2021\n\nWebpack es un module bundler o empaquetador de módulos para JavaScript. En el curso dominarás el uso de loaders y plugins e integrar la herramienta que permitirán tener un entorno de desarrollo o producción óptimo para trabajar tu desarrollo web. Aprenderás a optimizar tus proyectos con compresión y minificación de CSS, JavaScript, Configurar y preparar todos los cursos para enviar a producción tu proyecto.\nProyecto\n\nDurante el curso desarrollamos una tienda en línea, preparamos cada elemento para optimizar las imágenes utilizadas, implementar el uso de preprocesadores, minificar nuestras imágenes, integrar los principales plug-ins de Webpack para optimizar JavaScript y preparar el proyecto para desplegarlo en producción en Netlify.\n\nToma el curso ahora: https://platzi.com/webpack","date_published":"2021-05-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","webpack","cursos","platzi"],"image":"https://gndx.dev/og/blog/curso-de-webpack.png","language":"es","_markdown_url":"https://gndx.dev/blog/curso-de-webpack.md"},{"id":"https://gndx.dev/blog/error418-s01e03-programador-saludable/","url":"https://gndx.dev/blog/error418-s01e03-programador-saludable/","title":"Consejos para convertirte en un programador saludable","summary":"Muchas veces no le damos la importancia a nuestra salud física y mental, hasta que llega el síndrome de desgaste profesional o mejor conocido como burnout.","content_text":"S01E03\n\nMuchas veces no le damos la importancia a nuestra salud física y mental, hasta que llega el síndrome de desgaste profesional o mejor conocido como burnout, un estado de agotamiento mental, emocional y físico que se presenta como resultado de exigencias agobiantes, estrés crónico y resultado de la pandemia que estamos viviendo.","date_published":"2021-04-05T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","salud","podcast","error418"],"image":"https://gndx.dev/og/blog/error418-s01e03-programador-saludable.png","language":"es","_markdown_url":"https://gndx.dev/blog/error418-s01e03-programador-saludable.md"},{"id":"https://gndx.dev/blog/error418-s01e02-comunidades-crear-contenido/","url":"https://gndx.dev/blog/error418-s01e02-comunidades-crear-contenido/","title":"Hablemos de comunidades y crear contenido","summary":"El segundo episodio, crear comunidades y crear contenido, mi experiencia a lo largo de los años.","content_text":"S01E02\n\nFormar parte de una comunidad siempre te va a dejar grandes beneficios, como puedes aprovechar al máximo tu comunidad o crear una comunidad que impacte personas, creciendo juntos profesionalmente.","date_published":"2021-03-29T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","comunidades","podcast","error418"],"image":"https://gndx.dev/og/blog/error418-s01e02-comunidades-crear-contenido.png","language":"es","_markdown_url":"https://gndx.dev/blog/error418-s01e02-comunidades-crear-contenido.md"},{"id":"https://gndx.dev/blog/mi-setup-2021/","url":"https://gndx.dev/blog/mi-setup-2021/","title":"Mi primer año creando contenido educativo","summary":"Un breve recorrido por el primer año creando contenido educativo, y la evolución de mi espacio utilizo para livestreams, grabar, editar, jugar y trabajar.","content_text":"Iniciando...\n\nHoy se cumple un año desde que inicie en el mundo de los streamings y creación de contenido en YouTube/Twitch, A lo largo de todo este tiempo he invertido en tener la mejor calidad en cuanto a la creación de contenido, es por eso que he invertido bastante en adquirir cada una de las piezas que conforman mi setup para seguir creando contenido con mayor calidad.\n\nTe dejo un breve resumen de algunos eventos importantes y la evolución del setup final.\nMarzo 2020\n\nMi primera transmisión por YouTube sin esperar nada, se fue dando y la verdad me termino gustando bastante.\nComo puedes apreciar casi no tenía ningún aditamento para transmitir, una cámara y un micrófono sencillo, esos fueron mis inicios.\n\nenter image description here\nJunio 2020\n\nLogramos obtener el Partner en Twitch lo cual nos permitió verificar la cuenta y crear el Team para la comunidad de creadores en Español #EStreamerCoders.\n\nenter image description here\nAgosto 2020\n\nPara este entonces mi esposa @anabelisam\\ se inició en los Streamings, creando contenido de management y backend.\n\nenter image description here\nSeptiembre 2020\n\nYa con un espacio más organizado, con aditamentos para crear contenido, ya contaba con mejor calidad en luz, audio y video. Tuve la oportunidad de ser uno de los streamers de la Platzi CONF 2020, poniendo en práctica mi conocimiento y mis herramientas que había creado para streamers. Aquí el Bebeloper ya era parte del Staff.\n\nenter image description here\nNoviembre 2020\n\nAhora tenía un programa en Platzi, donde entrevistaba a profesores y profesionales de la industria del desarrollo de software, en esta ocasión me toco ser el host y streamer para la comunidad de Microsoft en Platzi.\n\nenter image description here\nEnero 2021\n\nLuego de una pausa por vacaciones y una mudanza, estrenando un nuevo espacio de trabajo, una habitación para el estudio dedicado a la creación de contenido.\n\nenter image description here\nMarzo 2021\n\nFinalmente hemos completado la versión 1.0.0 del estudio en la nueva casa ubicada en Sopó Cundinamarca, conectando la naturaleza y la tecnología.\n\nenter image description here\n\nAcá puedes ver mi video de YouTube donde muestro a detalle cada elemento de este espacio de trabajo, diversión y creación de contenido.\n\nSi quieres adquirir el equipo que tengo te dejo las principales caracteristicas y sus respectivos enlaces a Amazon donde adquiri estos productos.\n\nPC\nCPU: AMD Ryzen™ 5 3600X 6 nucleos 4.4GHz https://amzn.to/2PnA9pi=\nGPU: NVIDIA GeForce GTX 1660 Super 6GB https://amzn.to/317aJP0\nPLACA: Gigabyte AM4 B450M DS3H https://amzn.to/395Q9mJ\nCAJA: iCUE 220T RGB https://amzn.to/399R31E\nRAM: 32GB SPECTRIX D60G RGB DDR4 3200 2x16GB https://amzn.to/3tFrg9c\nREFIGERACIÓN: CoolerMaster MLW-D24M https://amzn.to/3d23WvC\nFUENTE: XPG Core Reactor 80 Plus Gold Modular https://amzn.to/316TKN5\nSSD: XPG SPECTRIX S40G RGB PCIE GEN3X4 M.2 2280 - 256GB https://amzn.to/3f6vEKr\n\nStreaming:\nShure MV7 https://amzn.to/3f6xZFi\nMicro: HyperX QuadCast https://amzn.to/394QVQO\nCanon EOS M200 https://amzn.to/2Qx13vp\nLogitech C922 Pro Stream 1080p X2 https://amzn.to/3tDN5Gi\nElgato Cam Link 4K : https://amzn.to/3cWXaax\nElgato Stream Deck: https://amzn.to/3vU4T1Y\n\nIluminación:\nElgato Key Light: https://amzn.to/319hIHy\nPhilips Hue https://amzn.to/3d23jCg\n\nExtras:\nEcho Show 5: https://amzn.to/3rhkwN3\nKeychron K6 65% Wireless Mechanical Keyboard: https://amzn.to/3vTJhT2\nRazer Mamba: https://amzn.to/3cceJV1\nLG 29\" Ultrawide: https://amzn.to/397AKCq\n\nEspero te sirvan las referencias a los productos y equipos que utilizo para las transmisiones y seguiremos creando contenido para llevar la tecnología a más personas.","date_published":"2021-03-22T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","setup","streaming","gndx"],"image":"https://gndx.dev/og/blog/mi-setup-2021.png","language":"es","_markdown_url":"https://gndx.dev/blog/mi-setup-2021.md"},{"id":"https://gndx.dev/blog/error418-s01e01-hola-mundo-oscar-barajas/","url":"https://gndx.dev/blog/error418-s01e01-hola-mundo-oscar-barajas/","title":"Hola Mundo, Conociendo a Oscar Barajas.","summary":"El primer episodio, donde te cuento mis inicios y quien es Oscar Barajas, mejor conocido como @gndx","content_text":"S01E01\n\nError 418 un podcast que debió existir desde el 2017, pero hoy luego de 4 largos años estamos comenzando con el primer episodio, donde te cuento mis inicios y quien es Oscar Barajas, mejor conocido como @gndx.","date_published":"2021-03-21T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","gndx","podcast","error418"],"image":"https://gndx.dev/og/blog/error418-s01e01-hola-mundo-oscar-barajas.png","language":"es","_markdown_url":"https://gndx.dev/blog/error418-s01e01-hola-mundo-oscar-barajas.md"},{"id":"https://gndx.dev/blog/primeros-pasos-con-webpack-5/","url":"https://gndx.dev/blog/primeros-pasos-con-webpack-5/","title":"Primeros pasos con Webpack 5","summary":"Webpack es un module bundler, o en simples palabras Una librería que nos permite gestionar todos los recursos de un proyecto","content_text":"Este mes se lanzó mi curso de Webpack 5 en Platzi donde te explico a detalle las ventajas de utilizar esta herramienta para preparar nuestros proyectos creados con JavaScript. El proyecto es totalmente vanilla JavaScript, creamos un portafolio donde mostramos la informacion principal, aprendemos a optimizar nuestro proyecto y desplegarlo a producción. En este video te cuento los primeros pasos que debes de seguir para iniciarte en Webpack antes de tomar mi curso.","date_published":"2021-03-18T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","webpack","cursos","platzi"],"image":"https://gndx.dev/og/blog/primeros-pasos-con-webpack-5.png","language":"es","_markdown_url":"https://gndx.dev/blog/primeros-pasos-con-webpack-5.md"},{"id":"https://gndx.dev/blog/vale-la-pena-aprender-nodejs/","url":"https://gndx.dev/blog/vale-la-pena-aprender-nodejs/","title":"¿Vale la pena aprender Node.js?","summary":"Recientemente me preguntaron que opinaba de aprender Node.js, la importancia que tiene y como empezar, te dejo este video donde te cuento mi punto de vista y como puedes iniciar tu aprendizaje.","content_text":"Muchas veces me han preguntado, ¿Vale la pena aprender Node.js? Me preocupa un poco que los desarrolladores que están iniciando en JavaScript, no tengan claro lo que es Node.js y lo ven como otra tecnología para aprender y les abruma saber que tienen que aprenderlo. En este video te explico lo que debes de saber para empezar con Node.js.","date_published":"2021-03-16T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","nodejs","javascript","youtube"],"image":"https://gndx.dev/og/blog/vale-la-pena-aprender-nodejs.png","language":"es","_markdown_url":"https://gndx.dev/blog/vale-la-pena-aprender-nodejs.md"},{"id":"https://gndx.dev/blog/alguien-dijo-svelte/","url":"https://gndx.dev/blog/alguien-dijo-svelte/","title":"¿Alguien dijo Svelte?","summary":"Quiero aprender Svelte, ¿por dónde empiezo? Svelte es el framework de JavaScript para construir interfaces de usuario.","content_text":"Quiero aprender Svelte, ¿por dónde empiezo?\n\nEs una de las principales preguntas que me suelen hacer en mis directos, por mensajes en Discord y hasta en mensajes privados.\n\nenter image description here\n\nLa respuesta es muy fácil, si tienes tiempo trabajando con algún otro framework o librería o té has apasionado tanto por JavaScript, ya estás listo para empezar con Svelte.\n\nSvelte es un Framework de JavaScript pensado para construir interfaces de usuario, muy similar a React, Angular o Vue, pero con notables características que lo hacen destacar, entre ellas su cambio de paradigma, ya que se ejecuta en tiempo de compilación y no utilizar el concepto de Virtual DOM.\nPrimeros pasos\n\nEl mejor lugar para aprender una tecnología, librería, framework o lo que desees aprender es su documentación o sitio oficial, este te guiara por el camino para entender cada particularidad y como han resuelto los problemas a los que se enfrentaron para dar la solución o proponer nuevas alternativas para crear sorprendes interfaces web.\n\nQuítate el miedo de leer la documentación, esta será tu mejor herramienta de trabajo, No esperas a que esté en tu idioma, o encontrar el contenido en español, si aún no dominas el inglés, usa el traductor de Google, pero siempre ten en mente que la única fuente de la verdad es la documentación.\nEl otro camino...\n\nUna vez que pasaste por la documentación, entendiste que particulares son importantes y como puedes sacar mayor provecho de lo aprendido, mi siguiente recomendación es leer el código fuente, esta práctica te permitirá entender cada fase esencial del proyecto, como es que resuelve los problemas e iniciar a colaborar aportando líneas de código que mejoren el proyecto.\n¿Por qué Svelte podría ser el mejor framework de JavaScript?\n\nEste video lo realicé a inicios del 2020 donde te cuento las principales particularidades de Svelte y lograr sacarle el mayor provecho y entender el porqué sera mejor framework.\n\n \n \nCursos\n\nSi lo que deseas es aprender con un proyecto, ir tocando las principales características y llevando a cabo tu aprendizaje con ejemplos, mientras construyes un proyecto genial.\n\nTengo tres cursos en Platzi donde creamos diferentes proyectos entre ellos pugstagram una red social para pugs creada en su totalidad con Svelte y desplegada en producción, mezclando varias tecnologías.\nCurso de\n Svelte\nCurso de\n Sapper\nCurso de Desarrollo Web con\n Svelte\n\nAhora estás listo para aprender Svelte y poner en práctica tu conocimiento con proyectos.","date_published":"2021-01-18T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","svelte","cursos","javascript"],"image":"https://gndx.dev/og/blog/alguien-dijo-svelte.png","language":"es","_markdown_url":"https://gndx.dev/blog/alguien-dijo-svelte.md"},{"id":"https://gndx.dev/blog/retos-para-desarrolladores-web/","url":"https://gndx.dev/blog/retos-para-desarrolladores-web/","title":"Retos para desarrolladores Web","summary":"Quieres retarte y trabajar con grandes proyectos, te dejo mis recomendaciones de retos que te ayudaran a mejorar tu portafolio.","content_text":"Hace tiempo realicé un video explicando como puedes retarte y trabajar con proyectos profesionales que te ayudaran a crear portafolio, poner en práctica tus habilidades de frontend o backend, así como también trabajar en equipo o salir de tu zona de confort. La mayoría de los proyectos incluyen una descripción o material de apoyo que te permitirá entender mejor el reto a realizar.\n\n10 Retos para desarrolladores Web\n\n \n \n \n\nParticipar en el reto: https://github.com/gndx/gndx-challenges.","date_published":"2021-01-16T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","retos","javascript","youtube"],"image":"https://gndx.dev/og/blog/retos-para-desarrolladores-web.png","language":"es","_markdown_url":"https://gndx.dev/blog/retos-para-desarrolladores-web.md"},{"id":"https://gndx.dev/blog/adios-svelte-hola-hugo/","url":"https://gndx.dev/blog/adios-svelte-hola-hugo/","title":"Adios Svelte, Hola Hugo.","summary":"Por que le dije adios a Svelve, el framework prometedor que permite crear sorprentes aplicaciones web.","content_text":"---\n\ntitle: \"¿Cómo Conseguir tu Primera Oportunidad Laboral en el Mundo Tecnológico?\"\ndescription: \"Estás en tu quinto semestre de carrera y te encuentras en la búsqueda incansable de tu primera oportunidad laboral en el campo tecnológico. A pesar de tus esfuerzos, a veces te sientes desmotivado al no ver resultados. ¿Qué puedes hacer para lograrlo?\"\npubDate: \"Jul 08 2022\"\nheroImage: \"/blog-placeholder-3.jpg\"\n\n---\n\nSé que para muchos será algo extraño este adiós, Pero he pasado por la mayoría de los frameworks y librerías de JavaScript, entre ellas Svelte, todo el 2020 me dedique a evangelizarlo, hablar muy bien de sus ventajas y como aprovecharlo al máximo, crear videos impartir charlas en la comunidad crear tres cursos en Platzi y tener varios proyectos en producción con Svelte.\n\nAdiós Svelte...\n\nNo es el adiós que todo creen simplemente le he dicho adiós como la tecnología que utilizaba para este blog \"gndx.dev\" he tomado la decisión de migrar a otra plataforma con la finalidad de aprender. También la decisión fue acompañada del anuncio de deprecar \"Sapper\" quien junto a Svelte lograban crear sorprendes sitios estáticos y si, mi blog gndx.dev en su momento fue creado con esta tecnología.\n\nMe gusto lo aprendido, me gusto crear el blog e integrar mis herramientas, aprender a crear cada pieza necesaria y lograr desplegarlo junto a una serie de artículos y secciones importantes en este sitio. Pero ahora toma otro sentido y vamos a enfocarlo en crear mejor contenido, enfocarlo a mi contenido en directo y una serie de proyectos que tengo en mente, necesitaba tener un sitio estable, que me permitiera enfocarme en escribir y compartir amigablemente el contenido creado.\n\nHola, Hugo!\n\nComo uno de mis objetivos personales para este año 2021, es aprender un nuevo lenguaje de programación, el cual me permita seguir creciendo como profesional y lograr mejorar mis habilidades como desarrollador, durante el 2020 me enfoque en aprender, practicar y crear proyectos con Python, me siento cómodo y sé que puedo iniciar un proyecto o líneas de código con este lenguaje de programación.\n\nEn la mira estaban dos grandes, Rust o Go, La decisión fue fácil pues en parte necesitaba encontrar una forma de migrar mi blog a una plataforma estable y se unió con la necesidad de aprendizaje, cuando encontré el proyecto gohugo.io el cual es un framework para crear sitios web estáticos, utilizando la arquitectura JAMStack y escrito en GO.\n\nCuestión de investigar, probar y lanzarme al ruedo con esta tecnología que me permitirá aprender GO (Jugando más con el Framework) crear mi blog y continuar cumpliendo con dos de mis principales metas de este año, Aprender un nuevo lenguaje de programación y escribir más.","date_published":"2021-01-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","svelte","go","blog"],"image":"https://gndx.dev/og/blog/adios-svelte-hola-hugo.png","language":"es","_markdown_url":"https://gndx.dev/blog/adios-svelte-hola-hugo.md"},{"id":"https://gndx.dev/blog/como-conseguir-tu-primer-empleo-como-programador/","url":"https://gndx.dev/blog/como-conseguir-tu-primer-empleo-como-programador/","title":"¡Como conseguir tu primer empleo como programador!","summary":"Que necesitas saber para conseguir tu primer empleo como programador.","content_text":"Basado en mi experiencia y resumido en 10 puntos, te explico lo que necesitas saber para conseguir tu primer empleo como programador.","date_published":"2020-06-07T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","empleo","programador","youtube"],"image":"https://gndx.dev/og/blog/como-conseguir-tu-primer-empleo-como-programador.png","language":"es","_markdown_url":"https://gndx.dev/blog/como-conseguir-tu-primer-empleo-como-programador.md"},{"id":"https://gndx.dev/blog/que-es-deno/","url":"https://gndx.dev/blog/que-es-deno/","title":"¿Qué es Deno?","summary":"Deno un runtime Multiplataforma basado en el motor V8 de Chrome e implementa TypeScript como lenguaje por defecto","content_text":"Deno un runtime Multiplataforma basado en el motor V8 de Chrome e implementa TypeScript como lenguaje por defecto. Deno utiliza la misma arquitectura de Node (even driven, asincronía etc.). En el siguiente video entramos un poco a detalle sobre la caracteristicas incorporadas y las ventajas que tendria frente a NodeJS.","date_published":"2020-06-07T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","deno","youtube","javascript"],"image":"https://gndx.dev/og/blog/que-es-deno.png","language":"es","_markdown_url":"https://gndx.dev/blog/que-es-deno.md"},{"id":"https://gndx.dev/blog/typescript-vs-javascript/","url":"https://gndx.dev/blog/typescript-vs-javascript/","title":"TypeScript VS. JavaScript","summary":"Te cuento mi experiencia como Frontend Developer aprendiendo TypeScript que ventajas y desventajas","content_text":"Te cuento mi experiencia como Frontend Developer aprendiendo TypeScript que ventajas y desventajas, cuál fue el reto de aprender y como he logrado implementar TS en mis proyectos.","date_published":"2020-06-07T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","typescript","javascript","youtube"],"image":"https://gndx.dev/og/blog/typescript-vs-javascript.png","language":"es","_markdown_url":"https://gndx.dev/blog/typescript-vs-javascript.md"},{"id":"https://gndx.dev/blog/que-es-svelte-js/","url":"https://gndx.dev/blog/que-es-svelte-js/","title":"¿Qué es Svelte.js?","summary":"Svelte un nuevo framework de JavaScript que nos permite construir interfaces de usuario.","content_text":"Charla para Eventloop MX, miércoles 4 de Marzo del 2019 en la ciudad de México.\n\nSvelte un nuevo framework de JavaScript que nos permite construir interfaces de usuario. Es considerado el nuevo competidor en la batalla de los frontends donde compiten React, Angular o Vue.  Svelte ha cambiado la forma en que trabajan los frameworks o librerías populares del momento, Svelte se ejecuta en tiempo de compilación convirtiendo sus componentes en código imperativo altamente eficiente.\n\n \n \n \n\nGithub: https://github.com/gndx/svelte-workshop\nSlides: https://go.aws/2xicuNG.","date_published":"2020-03-27T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","svelte","javascript","conferencias"],"image":"https://gndx.dev/og/blog/que-es-svelte-js.png","language":"es","_markdown_url":"https://gndx.dev/blog/que-es-svelte-js.md"},{"id":"https://gndx.dev/blog/facebook-developer-circles-opensource/","url":"https://gndx.dev/blog/facebook-developer-circles-opensource/","title":"Facebook Developer Circles : Contribuir a proyectos Open Source como reto profesional","summary":"Contribuir a proyectos Open Source como reto profesional  Una charla donde abordamos la importancia de aportar a proyectos open source","content_text":"Contribuir a proyectos Open Source como reto profesional  Una charla donde abordamos la importancia de aportar a proyectos open source, una historia desde mis inicios en la comunidad de GNU/Linux hasta aportar a proyectos open source enfocados en mi carrera actual.\n\n \n \n \n\nSlides: https://bit.ly/2Ub5PxW","date_published":"2020-03-25T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","youtube","open source"],"image":"https://gndx.dev/og/blog/facebook-developer-circles-opensource.png","language":"es","_markdown_url":"https://gndx.dev/blog/facebook-developer-circles-opensource.md"},{"id":"https://gndx.dev/blog/introduccion-a-ecmascript/","url":"https://gndx.dev/blog/introduccion-a-ecmascript/","title":"¿Qué es ECMAScript?","summary":"ECMAScript es el estándar en el que esta basado JavaScript y lo encontraras en documento, libros o recursos en internet con la abreviación \"ES\" o simplemente ECMAScript.","content_text":"Cuando estamos iniciándonos cómo \"Desarrolladores Web con JavaScript\" nos encontramos con términos, nomenclaturas y abreviaciones que pueden confundirnos, entre los que encontramos: ES5, ES6, ES2015, ECMAScript 2017 y así una gran cantidad de estos mismos.\n\n¿Que es ECMAScript?\n\nECMAScript es el estándar en el que esta basado JavaScript y lo encontraras en documento, libros o recursos en internet con la abreviación \"ES\" o simplemente ECMAScript.\n\nNo solo JavaScript utiliza el estándar propuesto por ECMAScript, también lo implementan, ActionScript el lenguaje utilizado por Flash y JScript una adaptación de JavaScript para Internet Explorer.\n\n¿Quieres aprender la importancia de ECMAScript?\nTe invito a mi curso en Platzi donde aprenderás a identificar las características que cada año se añaden a ECMAScript y son parte del lenguaje JavaScript.\n\nEste curso esta disponible con tu suscripción de Platzi. Si no tienes una cuenta puedes crea una cuenta en Platzi. Ver el curso completo: Curso de ECMAScript 6+","date_published":"2020-02-02T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","javascript","cursos","platzi"],"image":"https://gndx.dev/og/blog/introduccion-a-ecmascript.png","language":"es","_markdown_url":"https://gndx.dev/blog/introduccion-a-ecmascript.md"},{"id":"https://gndx.dev/blog/curso-de-asincronismo-con-javascript/","url":"https://gndx.dev/blog/curso-de-asincronismo-con-javascript/","title":"Curso de Asincronismo con JavaScript","summary":"En este curso abordamos los principales métodos que nos permite utilizar JavaScript para trabajar con el Asincronismo","content_text":"En este curso abordamos los principales métodos que nos permite utilizar JavaScript para trabajar con el Asincronismo. Aprende los conceptos fundamentales de asincronismo con JavaScript, aplica sus diferentes estructuras y desarrolla soluciones asíncronas.\n\nTrabajaremos con Callbacks, Promises y Async/await, resolveremos un reto donde consumimos una API y traemos la información para presentarla en consola. Aprenderás las diferencias entre cada una de estas estructuras disponibles en JavaScript.\n\nEste curso esta disponible con tu suscripción de Platzi.\nCrea una cuenta en Platzi\n\nVer el curso completo: Curso de Asincronismo con JavaScript","date_published":"2020-01-31T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","javascript","cursos","platzi"],"image":"https://gndx.dev/og/blog/curso-de-asincronismo-con-javascript.png","language":"es","_markdown_url":"https://gndx.dev/blog/curso-de-asincronismo-con-javascript.md"},{"id":"https://gndx.dev/blog/por-que-utilizar-react/","url":"https://gndx.dev/blog/por-que-utilizar-react/","title":"¿Por qué utilizar React?","summary":"¿Cuál es la importancia de utilizar  React, cuando debemos elegir React para nuestra aplicación?","content_text":"Hace unas semanas me invitaron a participar en un live \"MaestriaJS\" donde tocan temas de interés dentro del ecosistema del desarrollo de Software en JavaScript. En esta ocasión era el turno de hablar de \"React JS\".\n\nQuiero dejar el video donde junto a Carlos Rojas y Nicolas Molina, compartimos nuestra experiencia, nos divertimos hablando del tema y te contamos \"El por qué utilizar React\".\n\n¿Quieres escuchar más temas de \"MaestriaJS\"?\nTe invito a su sitio web: https://podcast.maestriajs.com/","date_published":"2020-01-26T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","react","javascript"],"image":"https://gndx.dev/og/blog/por-que-utilizar-react.png","language":"es","_markdown_url":"https://gndx.dev/blog/por-que-utilizar-react.md"},{"id":"https://gndx.dev/blog/curso-de-pruebas-unitarias-con-jest-2/","url":"https://gndx.dev/blog/curso-de-pruebas-unitarias-con-jest-2/","title":"Curso de Testing en Javascript con JEST","summary":"Las pruebas unitarias nos permiten poner a prueba bloques de código para comprobar qué funcionan correctamente.","content_text":"Las pruebas unitarias nos permiten poner a prueba bloques de código para comprobar qué funcionan correctamente.  El \"Curso de Pruebas Unitarias con Jest\" el cual grabe en el septiembre del 2018, es el primero de los cursos que grabe en Platzi.\n\nEn el 2019 he grabado una actualización donde nos enfocamos en añadir pruebas unitarias a un proyecto construido en React, React Router, Redux.\n\nAprenderás a configurar tu entorno de trabajo, probar componentes, actions, reducers, generar stapshots, crear mocks para probar una API y al final implementaremos las pruebas en un flujo de integración continua con travis.\n\nEste curso esta disponible con tu suscripción de Platzi.\n\nCrea una cuenta en Platzi\nVer el curso completo: \"Curso de Unit Testing con Jest en React\"","date_published":"2020-01-20T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","cursos","platzi","jest"],"image":"https://gndx.dev/og/blog/curso-de-pruebas-unitarias-con-jest-2.png","language":"es","_markdown_url":"https://gndx.dev/blog/curso-de-pruebas-unitarias-con-jest-2.md"},{"id":"https://gndx.dev/blog/crear-sitio-web-estatico-con-ghost-gatsby-js/","url":"https://gndx.dev/blog/crear-sitio-web-estatico-con-ghost-gatsby-js/","title":"Crear sitio web estático con Ghost + Gatsby.js","summary":"Crea tu blog con un frontend completamente personalizado, creado con Ghost y con todo el poder de Gatsby.js.","content_text":"Crea tu blog con un frontend completamente personalizado, creado con Ghost y con todo el poder de Gatsby.js.\ngatsby en heroku\nImplementando la API de contenido podemos aprovechar Ghost para gestionar el contenido, lo que permite a los desarrolladores crear y personalizar el frontend con tecnologías modernas como Gatsby.js.\n\nAnteriormente en este blog aprendimos como instalar \"Ghost en Heroku\" lo que nos permite tener un blog funcionando con Ghost y nos permitirá usarlo como \"El Backend\" de nuestro blog.\n\nAprenderás:\n\n1. ¿Que es Gatsby.js?\n2. Instalar Gatsby.js\n3. Crear Blog con Gastby.js\n4. Configurar Ghost + Gastby.js\n5. Servidor de desarrollo local\n6. Personalizar blog\n7. Desplegar con Netlify\n¿Que es Gatsby?\n\nGatsby es un generador de sitios web estáticos, utiliza React e implementa en su núcleo JAMStack lo que nos permite crear sitios web rápidos y seguros, que son entregados mediantes archivos preparados previamente y se sirven directamente desde un CDN eliminando los requisitos de administrar o ejecutar servidores web complejos.\n\nGatsby.js utiliza la ultima tecnología implementando ReactJS, Webpack, GraphQl, CSS y Javascript moderno. Teniendo en cuenta esto, Gastby.js aprovecha al máximo los beneficios de React, Progresive Web Apps y PRPLPattern (Push, Render, Pre-cache, Lazy-Load).\n\nEs por esto que Gatsby.js tiene muchas ventajas entre las que destacan, rapidez, facilidad, estabilidad, fácilmente para hospedarlos.\nInstalar Gatsby.js\n\nPara instalar gatsby y poder crear sitios estáticos rápidamente debemos de instalarlo como una dependencia global.\n\n npm install -g gatsby-cli\n\nLos paquetes globales se deben instalar con permisos de administrador.\nCrear Blog con Gastby.js\n\nUtilizando gatsby-cli vamos a instalar una nueva instancia del Gatsby preparado para trabajar con ghost.\n\nEjecuta el siguiente comando en tu espacio de trabajo, donde puedas identificar la carpeta ya que deberemos configurar nuestro blog con un editor de código.\n\n gatsby new BLOGNAME https://github.com/TryGhost/gatsby-starter-ghost.git\n\nReemplaza BLOGNAME por el nombre de tu blog o la carpeta del proyecto.\n\nCuando la instalación termine debes de instalar las dependencias del proyecto.\n\n npm install\nConfigurar Ghost + Gastby.js\n\nEs importante que para este punto debas tener ejecutándose un blog con Ghost.\nUsar API de Ghost.\n\nEn al administrador de tu sitio creado en Ghost en el apartado de \"Integrations\" crearemos una nueva integración.\n\nDebemos de tener los datos de \"ContentAPIKey\" y \"API URL\" ya que serán necesarios para configurar nuestro sitio web.\nConectar API de Ghost a Gatsby.js\n\nDebemos de abrir la carpeta del proyecto que recién instalamos para personalizar nuestro sitio web.\n\nEn la raíz del sitio encontraras el archivo \"ghost.json\" donde debemos agregaremos la API que generamos.\n\n{\n \"development\": {\n \"apiUrl\": \"https://sitebuild.herokuapp.com\",\n \"contentApiKey\": \"J4325d9e8d2385ba3547119e1d06\",\n \"version\": \"v2\"\n },\n \"production\": {\n \"apiUrl\": \"https://sitebuild.herokuapp.com\",\n \"contentApiKey\": \"J4325d9e8d2385ba3547119e1d06\",\n \"version\": \"v2\"\n }\n}\n\nEstamos trabajando con la versión 3.x de Ghost por lo cual debemos de agregar al json version: \"v2\".\nConfigurar sitio\n\nPara configurar nombre del dominio, numero de post por página, Seo, entre otras configuraciones es necesario editar el archivo siteConfig.js.\n\nmodule.exports = {\n siteUrl: https://gatsby.ghost.org,\n postsPerPage: 12,\n siteTitleMeta: Ghost Gatsby Starter,\n siteDescriptionMeta: Ghost and Gatsby,\n shareImageWidth: 1000,\n shareImageHeight: 523,\n shortTitle: Ghost,\n siteIcon: favicon.png,\n backgroundColor: #e9e9e9,\n themeColor: #15171A,\n};\nServidor de desarrollo local\n\nUna que añadimos la configuración necesaria podemos desplegar un servidor de desarrollo local donde podemos personalizar nuestro sitio web a nuestro antojo.\n\n npm run dev\n\nAhora ya tienes un sitio estático con los recursos de tu blog creado en Ghost.\nPersonalizar blog\n\nEn este momento ya podemos personalizar el frontend de tu blog, Gatsby.js está construido en react y dentro de la carpeta \"src/\" podrás encontrar la estructura del sitio la cual podrás personalizar a tu gusto.\n\nTe dejo el repositorio de este blog donde podrás revisar las personalizaciones que le he realizado.\n\nArepa.dev en Github.\nPersonalizar con Plugins.\n\nGatsby.js cuenta con una gran cantidad de plugins que sé incorporar en tu sitio web, algunos plugins que utiliza esta blog.\n\n1. gatsby-plugin-sentry\n2. gatsby-plugin-google-analytics\n3. gatsby-remark-prismjs\n\nDirectorio de Plugins de Gatsby.\nDesplegar en Netlify\n\nNetlify es un servicio de hospedaje de sitios web estáticos, muy similar a GithubPages o Firebase Hosting. La principal ventaja de Netlify es su simpleza para desplegar los sitios, solo requiere conectarse con un repositorio en la nube para crear una integración continua y un despliegue continuó.\n\nNOTA: Es necesario subir tu proyecto a un repositorio para poder crear la integración con Netlify.\n\n1. Crear una cuenta en Netlify\n2. Conectar un repositorio\n3. Configurar despliegue\n\nAprende más de Netlify en la documentación oficial.\nCrear webhook para conectar Ghost + Netlify\n\nPara que cada cambio que hacemos en nuestro blog creado en Ghost debemos de crear una integración para ejecutar un nuevo despliegue de nuestro sitio en Netlify.\nObtener API de Netlify\n\nEn el dashboard de Netlify seleccionamos el sitio y vamos a la sección de \"Deploys\" > \"Deploy Settings\" y dentro de esta sección buscamos la sección \"Build Hooks\".\n\nAñadimos una nueva configuración lo que nos entregara una URL la cual añadiremos en nuestro sitio con ghost.\n\nEn el administrador de tu sitio Ghost en \"Integrations\" debemos crear una nueva integración.\n\nEn el apartado de \"Webhooks\" agregaremos una nueva integración con los siguientes datos:\n\n¡Listos! Ya tenemos la integración completa, cada que creemos una página nueva, blogpost, tag, enlace etc. etc. automáticamente se ejecutara una nueva compilación en Netlify.\nRendimiento\n\nAnaliza tu sitio con la herramienta de Google PageSpeed Insights para que puedas comprobar la optimización que cuenta tu nuevo sitio.\nConclusiones\n\nAprendiste a crear un sitio web estático utilizando Gatsby.js usando ghost como un manejador del contenido y aprovechando todas las ventajas que nos provee gatsby.js creaste una cuenta en Netlify y configuraste los hooks necesarios para desplegar de forma continua tu sitio web.\n\nAhora que tienes tu sitio web estático con Gatsby.js, deja un comentario con la url de tu sitio web estático.","date_published":"2020-01-12T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","javascript","tutoriales","gatsby"],"image":"https://gndx.dev/og/blog/crear-sitio-web-estatico-con-ghost-gatsby-js.png","language":"es","_markdown_url":"https://gndx.dev/blog/crear-sitio-web-estatico-con-ghost-gatsby-js.md"},{"id":"https://gndx.dev/blog/contribuir-a-proyectos-open-source-como-reto-profesional/","url":"https://gndx.dev/blog/contribuir-a-proyectos-open-source-como-reto-profesional/","title":"Contribuir a proyectos Open Source como reto profesional","summary":"Hoy en día, con mas de 30 años desde la primera computadora personal, seguimos compartiendo nuestro conocimiento a través del código libre.","content_text":"Desde los inicios de la computación los Hackers de la época, tenían clara una misión, compartir su conocimiento, Hoy en día, con mas de 30 años desde la primera computadora personal, seguimos compartiendo nuestro conocimiento a través del código libre.\n\nEn esta charla en formato \"ignite\" donde tenemos 5 minutos y debemos de tener 20 diapositivas que se van mostrando cada 15 segundos fue presentada en la pasada Platzi Conf Colombia 2019.","date_published":"2020-01-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","conferencias","platzi","open source"],"image":"https://gndx.dev/og/blog/contribuir-a-proyectos-open-source-como-reto-profesional.png","language":"es","_markdown_url":"https://gndx.dev/blog/contribuir-a-proyectos-open-source-como-reto-profesional.md"},{"id":"https://gndx.dev/blog/instalar-ghost-en-heroku/","url":"https://gndx.dev/blog/instalar-ghost-en-heroku/","title":"Instalar Ghost en Heroku","summary":"Ghost es una plataforma para creación de Blogs de código abierto escrita en JavaScript y se distribuye con una licencia MIT. Desde su lanzamiento en el 2013 ha tomado bastante popularidad por su simpleza y rendimiento.","content_text":"Hace tiempo me preguntaron como esta construido este blog por lo cual escribiré una seria de recursos para ayudarte a crear un blog con las mismas tecnologías que utilizo.\n\nArepa.dev utiliza Ghost para crear y manejar el contenido que escribo y utilizo Gatsby para crear un sitio estático, personalizar el frontend y obtener todo el poder de Gatsby.\n\nEn esta entrega nos centraremos en instalar Ghost en Heroku y dejar funcionando la primer parte del blog a la cual le llamaremos \"El Backend\".\nInstalar Ghost en Heroku\n\nGhost es una plataforma para creación de Blogs de código abierto escrita en JavaScript y se distribuye con una licencia MIT. Desde su lanzamiento en el 2013 ha tomado bastante popularidad por su simpleza y rendimiento.\n\nPara esta sección es necesario tener presente los siguientes elementos para crear un blog con ghost.\n\n1. Cuenta en Heroku\n2. Cuenta en Amazon Web Services\n\nUna vez creada tu cuenta en Amazon Web Services debes de obtener los siguientes elementos:\n\n1. AWS Access Key\n2. AWS Secret Key\n3. Crear un Bucket en S3\n\nAhora que tienes todos los requisitos necesarios podemos proceder a instalar Ghost en Heroku  para este paso he creado un repositorio donde esta toda la configuración necesaria para instalar Ghost en su última versión en Heroku.\n\nLo único que tienes que hacer es utilizar el siguiente botón de deploy en Heroku y seguir las instrucciones necesarias.\n\nDeploy\n\nAhora deberas elegir un nombre de usuario para la App que crearas en Heroku la cual será la url que obtendrás para tu blog.\n\nEsta configuración utilizara una base de datos en MySql y el servicio de mailgun para el manejo de correo electrónico dentro de tu proyecto.\n\nUna vez que hemos llenado todos los datos necesarios procedemos a darle click en \"Deploy App\" para crear nuestra aplicación.\n\nCuando termine el proceso podrás visualizar en la URL elegida la bienvenida de Ghost. Ahora es necesario ir al https:///ghost/ para configurar tu usuario y empezar a crear contenido.\n\nAhora tienes un nuevo blog con Heroku.\n\nAhora que tienes tu blog funcionando con Ghost, es momento de personalizarlo y crear tu primer blogpost.","date_published":"2020-01-06T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","tutoriales","javascript","heroku"],"image":"https://gndx.dev/og/blog/instalar-ghost-en-heroku.png","language":"es","_markdown_url":"https://gndx.dev/blog/instalar-ghost-en-heroku.md"},{"id":"https://gndx.dev/blog/hola-mundo-en-svelte-webpack-babel/","url":"https://gndx.dev/blog/hola-mundo-en-svelte-webpack-babel/","title":"Hola Mundo en Svelte + Webpack +  Babel","summary":"Svelte es un nuevo framework de JavaScript con el cual podemos crear interfaces de usuario.","content_text":"Svelte es un nuevo framework de JavaScript con el cual podemos crear interfaces de usuario. Svelte ha cambiado la forma en que trabajan los frameworks o librerías populares del momento, Svelte se ejecuta en tiempo de compilación convirtiendo sus componentes en código imperativo altamente eficiente.\n\nOtro de los puntos a considerar de Svelte es que no utiliza un Virtual DOM, escribe el código que actualiza minuciosamente el DOM cuando es necesario actualizar el estado de la aplicación.\n\nEn este recurso aprenderemos a instalar, configurar y dejar un proyecto funcional para empezar con Svelte configurando paso a paso cada detalle que necesita.\n\nAprenderemos:\n\n1. Configurar Proyecto\n2. Instalar Svelte\n3. Configurar Babel\n4. Configurar Webpack\n5. Crear Aplicación con Svelte\n6. Compilar proyecto\n\nAhora ha llegado el momento de la diversión...\nConfigurar proyecto\n\nLo primero que tenemos que crear e Inicializar el proyecto que vamos a utilizar.\n\nmkdir svelte-base && cd svelte-base\n\nInicializar el repositorio git\n\ngit init\n\nInicializar proyecto con npm para las dependencias y configuraciones.\n\nnpm init -y\ninstalar Svelte\n\nYa que tenemos el proyecto Inicializado con git y npm vamos a instalar Svelte y crear la estructura necesaria para trabajar con el proyecto.\nInstalar Svelte\n\nnpm install svelte --save\n\nEstructura del proyecto\nsrc/ : Carpeta donde vive el código del proyecto\nsrc/components/ : Carpeta donde almacenaremos los componentes\npublic/index.html : Archivo HTML base para la construcción del proyecto\nsrc/index.js Documento principal de la aplicación\nConfigurar Babel\n\nPara trabajar con todas las bondades de Svelte y JavaScript moderno vamos a utilizar Babel para transpilar nuestro proyecto.\n\n npm install @babel/core @babel/preset-env @babel/polyfill babel-loader svelte-loader --save-dev\n\nMás adelante explicare a detalle y su implementación en el proyecto cuando configuremos Webpack.\n\nCrear archivo de configuración de Babel en la raíz del proyecto y le asignamos el nombre \".babelrc\"\n\n {\n \"presets\": [\n \"@babel/preset-env\"\n ],\n }\nConfigurar Webpack\n\nWebpack nos permite añadir la configuración necesaria para compilar el proyecto y todos los recursos necesarios.\n\nnpm install webpack webpack-cli html-webpack-plugin --save-dev\n\nCreamos el archivo \"webpack.config.js\" donde vamos a añadir la configuración necesaria.\n\nconst path = require(\"path\");\nconst HtmlWebpackPlugin = require(\"html-webpack-plugin\");\nmodule.exports = {\n entry: \"./src/index.js\", // Elegimos nuestro punto de entrada\n output: {\n path: path.resolve(dirname, \"dist\"),\n filename: \"bundle.js\",\n }, // Añadimos nuestro punto de salida\n resolve: {\n extensions: [\"\", \".mjs\", \".js\", \".svelte\"],\n }, // Añadimos el soporte para las extensiones que utiliza svelte\n module: {\n rules: [\n {\n test: /\\.js?$/,\n exclude: /nodemodules/,\n use: {\n loader: \"babel-loader\",\n },\n }, // Creamos la regla para nuestros archivos JS\n {\n test: /\\.svelte$/,\n exclude: /nodemodules/,\n use: {\n loader: \"svelte-loader\",\n },\n }, // Utilizamos svelte-loader para trabajar con los archivos .svelte\n ],\n },\n plugins: [\n new HtmlWebpackPlugin({\n inject: true,\n template: \"./public/index.html\",\n filename: \"./index.html\",\n }),\n ], // utilizamos este plugin para añadir el recurso compilado al documento HTML\n};\nCrear Aplicación con Svelte\n\nCon la configuración previa tenemos todos los recursos necesarios para crear un proyecto con Svelte.\n\nEn nuestro archivo \"index.js\" creamos la configuración necesaria.\n\n// Creamos una app que extiende del App compoenente que creamos con la lógica de nuestra aplicación.\nconst app = new App({\n target: document.querySelector(\"main\"), // punto de entrada\n props: {\n name: \"Svelte\",\n }, // props de la aplicación\n});\n\n// Exportamos por defecto app.\n\nDentro de la carpeta \"components\" creamos el archivo App.svelte y añadimos los recursos necesarios para nuestra aplicación.\n\n // Asignamos la logica de nuestra aplicación\n \n\n \n\n // Creamos los estilos de la aplicación.\n \n :global(body) {\n background-color: #676778;\n color: white;\n }\n .main {\n display: flex;\n justify-content: center;\n }\n \n\n // Llamamos el HTML de nuestro sitio.\n \n Hello {name}! \n \n\nYa por último dentro de la carpeta \"public/\" vamos a crear el archivo \"index.html\" para crear el punto de entrada de nuestra aplicación.\n\n \n \n \n \n \n Svelte Base \n \n\n \n \n \n \n\nAhora que tenemos los recursos necesarios para nuestro proyecto vamos a compilar nuestro proyecto para verlo funcionando en nuestro navegador.\n\nEn \"package.json\" en la sección de \"scripts\" creamos el script de \"build\" con la configuración necesaria para compilar el proyecto.\n\n \"scripts\": {\n \"build\": \"webpack --mode production\",\n },\n\nAhora podemos ejecutar en la terminal nuestro script para compilar.\n\nnpm run build\n\nSe ha creado una carpeta \"dist/\" en la cual encontraremos los archivos \"index.html\" y \"bundle.js\" con nuestra aplicación.\n\nAhora ejecutamos el archivo \"index.html\" en nuestro navegador y podemos visualizar la aplicación creada.\nRepositorio\n\nEn este repositorio de GitHub puedes encontrar el proyecto completo \"Svelte Base\".\nEn Conclusión\n\nAprendiste a crear la estructura para un proyecto, configurar Webpack e implementar Babel para transpilar Svelte y crear los archivos necesarios para crear una simple aplicación con Svalte.\n\nAhora puedes compartir este proyecto configurando a detalle cada uno de los puntos necesarios para implementar un sitio con Svelte.\n\nQuieres aprender más de Svelte, te invito al sitio oficial donde encontraras toda la información, documentación y ejemplos. Visita: Svelte.dev\n\nHe creado un grupo en Facebook: \"Svelte JS Español\" con la finalidad de compartir más recursos y unir a todos los desarrolladores de habla hispana.","date_published":"2020-01-03T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","svelte","javascript","tutoriales"],"image":"https://gndx.dev/og/blog/hola-mundo-en-svelte-webpack-babel.png","language":"es","_markdown_url":"https://gndx.dev/blog/hola-mundo-en-svelte-webpack-babel.md"},{"id":"https://gndx.dev/blog/curso-de-react-router-y-redux/","url":"https://gndx.dev/blog/curso-de-react-router-y-redux/","title":"Curso de React Router y Redux","summary":"En este curso continuamos el aprendizaje obtenido en Curso Práctico de React JS","content_text":"En este curso continuamos el aprendizaje obtenido en \"Curso Práctico de React JS\" donde seguimos construyendo el proyecto Platzi Video creando especialmente para el proyecto en conjunto de #EscuelaJS de Platzi.\n\nAprendemos a instalar, configurar y dejar las rutas que necesita nuestro proyecto construyéndolo con \"React Router\" una vez establecidos los elementos necesarios para que la aplicación funcione se implementa \"React Redux\" para conectar el backend del proyecto en toda la aplicación.\n\nEste curso esta disponible con tu suscripción de Platzi.\nCrea una cuenta en Platzi\nVer el curso completo: \"Curso de React Router y Redux\"","date_published":"2020-01-02T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","React","Javascript","cursos"],"image":"https://gndx.dev/og/blog/curso-de-react-router-y-redux.png","language":"es","_markdown_url":"https://gndx.dev/blog/curso-de-react-router-y-redux.md"},{"id":"https://gndx.dev/blog/curso-practico-de-react-js/","url":"https://gndx.dev/blog/curso-practico-de-react-js/","title":"Curso Práctico de React JS","summary":"React es una librería desarrollada por Facebook que nos ayuda a construir interfaces de usuario interactivas para todo tipo de aplicaciones web, móviles o de escritorio.","content_text":"React es una librería desarrollada por Facebook que nos ayuda a construir interfaces de usuario interactivas para todo tipo de aplicaciones: web, móviles o de escritorio.\n\nEn este curso convertimos un sitio web creado con HTML/CSS a React, donde entendemos cómo crear paso a paso un proyecto de React donde configuramos nuestro entorno de trabajo, webpack, babel, entorno de desarrollo local y luego creamos todos los componentes necesarios para crear Platzi Video.\n\nProyecto final:\n\nEste curso esta disponible con tu suscripción de Platzi.\n\nCrea una cuenta en Platzi \nCurso completo \"Curso Práctico de React JS\"","date_published":"2019-12-31T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","react","cursos","platzi"],"image":"https://gndx.dev/og/blog/curso-practico-de-react-js.png","language":"es","_markdown_url":"https://gndx.dev/blog/curso-practico-de-react-js.md"},{"id":"https://gndx.dev/blog/crear-servidor-de-desarrollo-con-webpack-hot-reload-en-react/","url":"https://gndx.dev/blog/crear-servidor-de-desarrollo-con-webpack-hot-reload-en-react/","title":"Crear servidor de desarrollo con Webpack (Hot Reload) en React","summary":"Uno de los recursos más importantes a la hora de desarrollar en React es poder probar nuestro código en el navegador sin estar compilando cada cambio realizado.","content_text":"Uno de los recursos más importantes a la hora de desarrollar en React es poder probar nuestro código en el navegador sin estar compilando cada cambio realizado. Para esto vamos a recurrir de preparar nuestro proyecto anterior: \"Hola mundo en React + Babel + Webpack\"\n\n¿Que aprenderemos? Preparar nuestro proyecto para tener un servidor de desarrollo, Además, cada vez que guarde un archivo después de una modificación, el servidor de webpack actualizará automáticamente la ventana del navegador.\n\nVamos a actualizar nuestro proyecto, lo primero que debemos de realizar es instalar las dependencias de desarollo que requiere webpack para añadir esta característica a nuestro proyecto:\n\nnpm i webpack-dev-server --save-dev\n\nUna vez instalada las dependencias necesarias, en nuestro archivo de package.json añadiremos el siguiente script debajo del que tenemos para compilar el proyecto:\n\n\"start\": \"webpack-dev-server --open --mode development\",\n\nGuardamos y ejecutamos el comando el la terminal/consola:\n\nnpm run start\n\nWebpack nos abrirá una ventana del navegador en el puerto 8080 de tu localhost donde podrás ver tu proyecto listo para probar, también en caso de haber un error la consola te ayudara mostrando un mensaje.\n\nEn conclusión\n\nAprendimos a preparar nuestros proyectos con un servidor de desarrollo para agilizar nuestro trabajo, optimizando el proceso de compilar cada que necesitemos guardar nuestro código.\n\nSi quieres aprender mas sobre este paquete y sus multiples uso te recomiendo leer en detalle la documentación: Webpack DevServer\"","date_published":"2019-12-29T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","react","javascript","tutoriales"],"image":"https://gndx.dev/og/blog/crear-servidor-de-desarrollo-con-webpack-hot-reload-en-react.png","language":"es","_markdown_url":"https://gndx.dev/blog/crear-servidor-de-desarrollo-con-webpack-hot-reload-en-react.md"},{"id":"https://gndx.dev/blog/hola-mundo-en-react-babel-webpack/","url":"https://gndx.dev/blog/hola-mundo-en-react-babel-webpack/","title":"Hola mundo en React + Babel + Webpack","summary":"En este recurso vamos a aprender a crear un proyecto desde cero configurando todos los elementos necesarios para la construcción de un “Hola Mundo” pasando por todos los elementos necesarios.","content_text":"En este recurso vamos a aprender a crear un proyecto desde cero configurando todos los elementos necesarios para la construcción de un “Hola Mundo” pasando por todos los elementos necesarios.\n\nAprenderemos:\n\n1. Configurar un proyecto\n2. Instalar React\n3. Crear un Hola Mundo en React\n4. Instalar y configurar Babel\n5. Instalar y configurar Webpack\n6. Compilar nuestro proyecto\n\nComencemos con la diversión...\nConfigurar proyecto\n\nLo primero que necesitamos es crear e inicializar nuestro proyecto desde la consola o terminal.\n\nmkdir hello-world && cd hello-world\n\nInicializar proyecto en git (Siempre lo recomiendo sin importar si sera compartido).\n\ngit init\n\nInicializar proyecto con npm para instalar las dependencias necesarias.\n\nnpm init -y\nInstalar React\n\nUna vez inicializado nuestro proyecto vamos a proceder a instalar React y crear la estructura necesaria para trabajar con react.\n\nInstalar React\n\nnpm i react react-dom --save-dev\n\nEstructura organizacional del proyecto:\nsrc/ - Carpeta donde colocaremos todo el código del proyecto.\nsrc/components/ - Carpeta donde almacenaremos los componentes.\nindex.html - Archivo HTML donde insertaremos la construcción del proyecto.\nindex.js - Documento principal de la aplicación.\n\nSi quieres leer más acerca de como estructurar tus proyectos te recomiendo esta lectura: \"File Structure - React\".\nHola Mundo en React\n\nAhora que tenemos instalado React y comprendemos como estructuraremos el proyecto, vamos a crear nuestras primeras lineas de código.\n\nCreamos las carpetas necesarias para la estructura del proyecto:\n\nmkdir src && mkdir src/components\n\nCreamos el componente HelloWorld:\n\ntouch src/components/HelloWorld.jsx\n\nAñadimos el siguiente código:\n\n// Creamos un componente presentacional que recibe la propiedad \"text\"\nconst HelloWorld = ({ text }) => {text} ;\n\nAhora creamos la entrada principal donde vivirá la aplicación en React.\n\ntouch index.js\n\nAñadimos el siguiente código:\n\n// insertamos nuestro componente en nuestro documento HTML utilizando ReactDOM\nReactDOM.render(\n ,\n document.getElementById(\"app\")\n);\n\nCreamos el documento HTML para la aplicación.\n\ntouch index.html\n\nAñadimos el siguiente código:\n\n \n \n \n \n React Base \n \n \n \n \n \n\nHasta este momento ya tenemos el código base de una aplicación en React, pero debemos compilar el código y crear una rutina que nos permita optimizar el proceso.\nInstalar y configurar Babel\n\nBabel es una herramienta que nos permite transformar nuestro código Javascript ES6 a JavaScript que cualquier navegador soporte. Lo que nos permite tener las nuevas funcionalidad de Javascript en la construcción de nuestros proyectos.\n\nInstalar las dependencias necesarias:\n\nnpm i @babel/core babel-loader @babel/preset-env @babel/preset-react --save-dev\n\nCreamos el documento \".babelrc\" donde añadiremos la configuracion de Babel.\n\ntouch .babelrc\n\nAñadimos la siguiente configuración:\n\n {\n \"presets\": [\n \"@babel/preset-env\", // Compila ES5 y ES6\n \"@babel/preset-react\" // Compila JSX y sintaxis de React\n ]\n }\nInstalar y configurar Webpack\n\nWebpack es una herramienta de compilación que nos permite añadir en un archivo todas las dependencias a los elementos que forman parte de tu proyecto de desarrollo: como el código de nuestra aplicación en React, HTML, CSS, imágenes entre otros recursos. Nos permite tener una tarea programada para optimizar la construcción y la ágil puesta en producción de nuestros proyectos.\n\nInstalando Webpack\n\nnpm i webpack webpack-cli html-webpack-plugin html-loader --save-dev\n\nCreamos webpack.config.js\n\ntouch webpack.config.js\n\nAñadimos la configuración necesaria:\n\nconst path = require(\"path\");\nconst HtmlWebPackPlugin = require(\"html-webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\", // Elegimos nuestro punto de entrada\n output: {\n path: path.resolve(dirname, \"dist\"),\n filename: \"bundle.js\",\n }, // Añadimos nuestro punto de salida\n resolve: {\n extensions: [\".js\", \".jsx\"], // Añadimos el soporte para la extencion de JSX\n },\n module: {\n rules: [\n {\n test: /\\.(js|jsx)$/,\n exclude: /nodemodules/, // Ignora la carpeta de nodemodules\n use: {\n loader: \"babel-loader\", // Utiliza la configuracion de Babel\n },\n },\n {\n test: /\\.html$/,\n use: [\n {\n loader: \"html-loader\",\n },\n ],\n },\n ],\n },\n plugins: [\n // utilizamos este plugin para añadir el compilado al documento HTML\n new HtmlWebPackPlugin({\n template: \"./src/index.html\",\n filename: \"./index.html\",\n }),\n ],\n};\nCompilar nuestro proyecto\n\nPara que nuestro proyecto funcione y este listo para ser ejecutado en un navegador o enviarlo a producción tenemos que añadir la siguiente configuración a \"package.json\".\n\n \"scripts\": {\n \"build\": \"webpack --mode production\"\n }\n\nAhora podemos utilizar el comando \"build\" para construir el proyecto.\n\nnpm run build\n\nEl cual nos construirá un proyecto en la carpeta \"dist/\" donde encontraremos un archivo index.html y bundle.js, ejecutamos el documento index.html en tu navegador de preferencia para ver nuestra aplicación funcionando.\nBuenas practicas\n\nYa para finalizar te recomiendo añadir el archivo .gitignore en la raíz de tu proyecto e ignorar /nodemodules/ así como la carpeta /dist/ donde se almacena el proyecto compilado. Y por ultimo guardar los cambios en Git.\n\nTe comparto el repositorio de Github: React Base.\nEn Conclusion\n\nAprendimos a crear un proyecto utilizando la configuración mínima para React, aprendimos sobre Babel y sus configuraciones así como utilizar WebPack para preparar nuestro proyecto.","date_published":"2019-12-29T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","react","javascript","tutoriales"],"image":"https://gndx.dev/og/blog/hola-mundo-en-react-babel-webpack.png","language":"es","_markdown_url":"https://gndx.dev/blog/hola-mundo-en-react-babel-webpack.md"},{"id":"https://gndx.dev/blog/bogotajs-react-hooks/","url":"https://gndx.dev/blog/bogotajs-react-hooks/","title":"BogotaJS: React Hooks","summary":"Explicaremos a detalle que son los Hooks en React, prepararemos un proyecto desde cero, crearemos custom hooks, consumiremos una api y entenderemos cómo funciona el ciclo de vida y el estado de los componentes con React Hooks.","content_text":"Explicaremos a detalle que son los Hooks en React, prepararemos un proyecto desde cero, crearemos custom hooks, consumiremos una api y entenderemos cómo funciona el ciclo de vida y el estado de los componentes con React Hooks.\n\nRepositorio del ejemplo: https://github.com/gndx/react-hooks\nUrl del evento: https://ti.to/bogotajs/react-hooks-nestjs","date_published":"2019-06-05T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","conferencias","react","hooks"],"image":"https://gndx.dev/og/blog/bogotajs-react-hooks.png","language":"es","_markdown_url":"https://gndx.dev/blog/bogotajs-react-hooks.md"},{"id":"https://gndx.dev/blog/entendiendo-map-en-javascript/","url":"https://gndx.dev/blog/entendiendo-map-en-javascript/","title":"Entendiendo \"map()\" en Javascript","summary":"Cuando tenemos que trabajar con Arreglos en JavaScript, hay varias opciones disponibles con los cuales podemos iterar, transformar o manipular nuestros arreglos.","content_text":"Cuando tenemos que trabajar con Arreglos en JavaScript, hay varias opciones disponibles con los cuales podemos iterar, transformar o manipular nuestros arreglos. En esta ocasión vamos a hablar de cómo funciona \"Array.prototype.map()\" este método que podemos usar en los arreglos en JavaScript.\n\nEl sitio de MDN de Mozilla nos explica su funcionalidad de la siguiente forma:\nEl método map() crea un nuevo array con los resultados de la llamada a la función indicada aplicados a cada uno de sus elementos.\n\n¿Pero qué significa esto puesto en la practica? El método map() nos permite devolver un nuevo arreglo de datos partiendo de un arreglo, dicho así, no mutamos los datos del arreglo original, ahora tenemos un nuevo arreglo con los valores resultantes.\n\nPongamos un problema y solucionemos con el método map(). \nTenemos una lista de productos que comprara un usuario y queremos obtener solamente los nombres de los productos a comprar.\n\nPara entender un poco más el ejemplo vamos a resolverlo sin el método map(), para ello utilizaremos el método for().\n\nconst products = [\n { id: \"1\", name: \"shirt\", category: \"clothing\" },\n { id: \"2\", name: \"Sports Tennis\", category: \"accessories\" },\n { id: \"3\", name: \"Casual shoes\", category: \"footwear\" },\n { id: \"4\", name: \"skirt\", category: \"clothing\" },\n { id: \"5\", name: \"tie\", category: \"clothing\" },\n];\n\nlet nameOfProducts = [];\n\nfor (let i = 0; i {\n // Cómo solo queremos los nombres, retornamos \"name\".\n return product.name;\n })\n\n console.log(nameOfProducts2); // [\"shirt\", \"Sports Tennis\", \"Casual shoes\", \"skirt\", \"tie\"]\n\nEn Conclusión:\n\nCómo podemos apreciar hemos reducido nuestro código, ahora es más legible, fácil de entender y simplificado.  La funcionalidad de .map() se puede ampliar con otros métodos y utilizarse poderosamente, te dejo la documentación de MDN por si quieres ver mas ejemplos prácticos.\n\nTe invito a ponerte algunos retos y resolverlos utilizando el método map(). Si tienes dudas, deja tus comentarios o preguntas. ¡siempre serán apreciados!","date_published":"2019-05-27T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","javascript","tutoriales","recursos"],"image":"https://gndx.dev/og/blog/entendiendo-map-en-javascript.png","language":"es","_markdown_url":"https://gndx.dev/blog/entendiendo-map-en-javascript.md"},{"id":"https://gndx.dev/blog/talend-land-2019/","url":"https://gndx.dev/blog/talend-land-2019/","title":"Talend Land 2019 - React vs Angular vs Vue","summary":"La batalla de los Frontends, El dilema nace a la hora de elegir entre “Vue”, “Angular” o “React”","content_text":"La batalla de los Frontends, El dilema nace a la hora de elegir entre “Vue”, “Angular” o “React”. ¿Cuál es realmente mejor? ¿Cuál debo aprender? ¿Cuál es mejor pagado? En esta charla exponemos los pros y contras de los principales frameworks y librerías para el desarrollo web, nos enfocaremos en los datos actuales del mercado laboral así como el apoyo de la comunidad y todo lo que hay que saber sobre vue, angular y React.","date_published":"2019-05-27T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","conferencias","react","vue","angular"],"image":"https://gndx.dev/og/blog/talend-land-2019.png","language":"es","_markdown_url":"https://gndx.dev/blog/talend-land-2019.md"},{"id":"https://gndx.dev/blog/formulario-de-contacto-con-react-firebase/","url":"https://gndx.dev/blog/formulario-de-contacto-con-react-firebase/","title":"Formulario de contacto con React + Firebase","summary":"Vamos a crear un formulario de contacto hecho con ReactJS y almacenaremos las solicitudes de contacto en Firebase Database.","content_text":"Vamos a crear un formulario de contacto hecho con ReactJS y almacenaremos las solicitudes de contacto en Firebase Database.\n\n¿Que es Firebase Realtime Database?\n\nEs un servicio que almacena y sincroniza los datos con nuestra base de datos NoSQL alojada en la nube. Los datos se sincronizan con todos los clientes en tiempo real y se mantienen disponibles cuando tu app está sin conexión.\n\nUna de las grandes cualidades de Firebase RealTime Database es que trabaja sin conexión, el SDK de Firebase RealTime Database almacena en disco los datos y cuando se restablece la conexión el cliente recibe los datos faltantes y sincroniza con el estado actual del servidor. (Característica que me encanta).\n\nNuestro proyecto ejemplo está construido con \"create-React-app\", así que vamos a omitir toda la configuración inicial y nos enfocaremos en trabajar en el archivo \"App.js\" donde crearemos el formulario.\n\nConfigurar Firebase dentro de nuestro proyecto en React\n\nPara usar Firebase RealTime Database en nuestra aplicacion React debemos importar la libreria de \"Firebase\" la cual instalaremos dentro de nuestro proyecto desde el npm con el siguiente comando:\n\n npm install --save firebase\n\nVamos a nuestra \"Consola de Firebase\" elegimos o creamos un proyecto y en la opcion de \"Agregar Firebase a tu app web\" copiamos la configuracion que incluye el apiKey, authDomain, projectId, databaseURL, storageBucket necesarios para conectarnos con el servicio.\n\nCreamos un archivo dentro de \"src/\" y lo llamaremos \"Firebase.js\" donde añadiremos nuestra configuración de la siguiente manera:\n\nCreando nuestro formulario de contacto dentro de nuestro archivo App.js\n\nTe dejo el repositorio con el proyecto: react-form-firebase\n\nDemo del formulario: https://gndx-projects.firebaseapp.com/","date_published":"2017-12-08T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","firebase","reactJS","recursos","javascritpt"],"image":"https://gndx.dev/og/blog/formulario-de-contacto-con-react-firebase.png","language":"es","_markdown_url":"https://gndx.dev/blog/formulario-de-contacto-con-react-firebase.md"},{"id":"https://gndx.dev/blog/react-en-produccion-firebase-hosting/","url":"https://gndx.dev/blog/react-en-produccion-firebase-hosting/","title":"React en producción con Firebase Hosting","summary":"Firebase Hosting es un servicio de Google de almacenamiento de contenido a nivel de producción orientado a los desarrolladores para que puedan implementar aplicaciones Web con contenido estático de una forma rápida y simple.","content_text":"Firebase Hosting es un servicio de Google de almacenamiento de contenido a nivel de producción orientado a los desarrolladores para que puedan implementar aplicaciones Web con contenido estático de una forma rápida y simple.\n\nEn este pequeño manual vamos a ir paso a paso para enviar a producción tu desarrollo creado en React. Para esto vamos a utilizar un proyecto que previamente he construido con React “gresume-react” una plantilla gratuita para crear un portafolio profesional con react.\n\nConfiguración de proyecto en Firebase\n\nEn este momento es donde necesitaremos tener una cuenta de Firebase (firebase.google.com) y habilitar un nuevo proyecto eligiendo un nombre para tu nueva aplicación.\n\nReact Firebase\n\nRecuerda que Firebase creara una URL en base al nombre de tu aplicación y es donde tu aplicación se encontrara disponible.\n\nConstruyendo nuestro proyecto\n\nNuestro proyecto esta construido con “create-react-app” este paquete nos permite olvidarnos de las configuraciones de un proyecto inicial y enfocarnos en desarrollar con React.\n\nPor lo tanto construir nuestro proyecto para enviar a producción solo es necesario ejecutar el siguiente comando: “npm run build” nos creara una carpeta dentro de nuestro proyecto llamada “build/” la cual contiene todo nuestro proyecto listo para desplegarse en un servidor de producción.\n\nConfigurando Firebase Hosting\n\nPara subir nuestro proyecto a Firebase Hosting es necesario tener instalado Firebase Command Line Interface (CLI) lo instalamos con el siguiente comando en consola:\n\nnpm install -g firebase-tools\n\nUna vez instalado es necesario iniciar sesión desde la consola para poder acceder a nuestros proyectos. Ejecutamos el siguiente comando:\n\nfirebase login\n\nEste comando nos abrirá una ventana donde iniciaremos sesión con nuestra cuenta de Firebase la cual le dará los permisos necesarios para trabajar desde consola con nuestros proyectos.\n\nReact Firebase\n\nConfigurando Firebase dentro de nuestro proyecto, ejecutamos el siguiente comando:\n\nfirebase init\n\nVamos a seguir las instrucciones que nos muestra el cliente por medio de consola, para hacer uso solo de Firebase Hosting es necesario seleccionar la opción de “Hosting: Configure and deploy Firebase Hosting sites” o en su defecto las opciones que necesites para tu proyecto.\n\nElegimos nuestro proyecto que creamos previamente en Firebase.google.com seleccionándolo dentro de la lista de proyectos que disponemos\n\nSeleccionar la carpeta donde se encuentra nuestro proyecto, en nuestro caso es la carpeta “build/” la cual contiene nuestro proyecto en react listo para producción.\n\nFirebase nos preguntará si desea que nuestra aplicación se configure como una “single-page-app”. La opción por defecto es “no” en nuestro caso, podríamos realmente beneficiarnos de la configuración, así que teclearemos “y”.\n\nFirebase nos advertirá que ya tenemos generado un archivo “index.html”, que no queremos ser sobrescritos. Escriba “n” y presione enter para mantener nuestro propio “index.html”, generado por nuestro proceso de compilación anterior.\n\nUna vez que completamos la configuración inicial, es hora de hacer deploy.\n\nReact Firebase\n\nDeploy\n\nCorremos el siguiente comando:\n\nfirebase deploy\n\nEste comando tomara todo lo que se encuentra en “build/” y lo hospedara en Firebase, y nos mostrara la URL que nos genera para visualizar nuestro proyecto en producción.\n\nLa URL que nos ha generado para este ejemplo es la siguiente: https://barajas-mx.firebaseapp.com/\n\nReact Firebase\n\n\\\\Bonus\n\n\\\\\n\nConfigurar deploy\n\nPodemos seguir trabajando en nuestro proyecto y si necesitamos hacer algún cambio a nuestro proyecto, solo corremos el comando “npm run build” para generar nuevamente todo nuestros archivos listos para producción y en seguida corremos “firebase deploy“.\n\nPuedes agregar este comando a nuestros scripts dentro de “package.json” llamando a nuestro script deploy: “firebase deploy”.\n\nLo cual nos permitirá ejecutar el siguiente comando en consola:\n\nnpm run build && npm run deploy\n\nConfigurar un dominio en Firebase Hosting\n\nConfigurar un dominio es sumamente fácil en Firebase, si ya contamos con uno podemos ir al apartado de “Hosting” y elegir “Conectar un dominio” seguir las instrucciones las cuales validaran nuestro dominio con un registro TXT y una vez que ha sido validado procederemos a agregar los registros principales tipo “A” para nuestro dominio y en cuestión de minutos podremos ver en https://tudominio.com tu proyecto funcionando.\n\nEn mi caso utilice mi dominio https://barajas.mx donde se encuentra mi portafolio.\n\nVoy a preparar otro manual de como integrar Firebase Database para desplegar la información del portafolio.\n\nPróximamente…","date_published":"2017-10-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","firebase","react","recursos"],"image":"https://gndx.dev/og/blog/react-en-produccion-firebase-hosting.png","language":"es","_markdown_url":"https://gndx.dev/blog/react-en-produccion-firebase-hosting.md"},{"id":"https://gndx.dev/blog/aprende-css3/","url":"https://gndx.dev/blog/aprende-css3/","title":"Libro gratis aprende CSS3","summary":"Para todos aquellos que quieran aprender CSS, les recomiendo el siguiente libro online creado por Javier Eguiluz","content_text":"Para todos aquellos que quieran aprender CSS (Cascading Style Sheets), les recomiendo el siguiente libro online creado por Javier Eguiluz, donde nos muestra su historia, soporte, especificaciones, los fundamentos básicos de CSS, así como entender paso a paso cada una de las propiedades, ventajas y todo lo que podemos realizar con este lenguaje que enriquece nuestros proyectos web dando una vista más elegante a nuestros documentos HTML.\n\nTe recomiendo seguir este recurso tema por tema y completar los ejercicios con los cuales podrás dominar CSS3 a la perfección.\n\nAutor: Javier Eguiluz\n\nLicencia: Creative Commons No comercial – Atribución – Compartir igual (CC BY-NC-SA) 3.0\n\nDescarga Libro gratis de CSS3","date_published":"2017-04-11T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/about/"}],"tags":["others","css3","libros","recursos"],"image":"https://gndx.dev/og/blog/aprende-css3.png","language":"es","_markdown_url":"https://gndx.dev/blog/aprende-css3.md"}]}