{"version":"https://jsonfeed.org/version/1.1","title":"GNDX — English","home_page_url":"https://gndx.dev/en/","feed_url":"https://gndx.dev/en/feed.json","description":"Articles by Oscar Barajas about JavaScript, React, artificial intelligence, AI agents, web development and tech careers.","language":"en","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/","avatar":"https://gndx.dev/gndx.webp"}],"items":[{"id":"https://gndx.dev/en/blog/230526-creadores-medellin-joven-2026/","url":"https://gndx.dev/en/blog/230526-creadores-medellin-joven-2026/","title":"Creadores Medellín Joven 2026: AI for the Next Generation","summary":"My second consecutive year supporting Creadores Medellín Joven, bringing artificial intelligence and AI agents to the youth of the city where I live and build my future.","content_text":"Programs like this one, driven by the Medellín city government, are exactly how technology reaches young people. This is my second consecutive year supporting the initiative, bringing education and artificial intelligence to the youth of Medellín — the city where I now live, where my son enjoys growing up, and where I see enormous potential for becoming a truly innovative city, full of talented young people with a hunger to learn.\n\nÓscar Barajas at Creadores Medellín Joven 2026\nWhat Is Creadores Medellín Joven?\n\nCreadores Medellín Joven is a call for applications and a training experience driven in Medellín for young people interested in content creation, digital communication, technology, and creativity. The program combines hands-on training, urban tours, creative labs, mentoring sessions with professionals, youth networking, digital culture, and communication skills.\n\nThe initiative aims to strengthen the skills of young creators and communicators through immersive experiences focused on content creation, digital communication, artificial intelligence, audiovisual production, digital storytelling, youth culture, and technology applied to media. It also connects participants with experts and leaders from different creative fields.\nWorkshop: AI Agents\n\nOne of the main components of the event is the Creative Labs, where specialists guide practical learning processes. This year I had the honor of leading the AI Agents lab.\n\nThe goal of the lab was straightforward: learn to build AI assistants and agents to automate, enhance, and improve creative and digital processes. No empty theory — real practice with tools that young people can apply from day one.\n\nWe built from scratch, creating agents capable of solving concrete tasks, connecting tools, and running creative workflows. The idea was always the same one that drives all my projects: AI should not be magic reserved for a privileged few. It should be an accessible tool for anyone with curiosity and the willingness to learn.\nWhat Each Participant Receives\n\nThe event is much more than a workshop. Attendees live a full experience:\nUrban tour: they discover stories and transformation processes from Medellín's history.\nHands-on training: workshops and labs focused on youth communication and digital creation.\nCertification: every young person receives a certificate upon completing the program.\nCultural activities: the event includes artistic programming in the Carlos E. Restrepo neighborhood.\n\nUrban tour through Medellín at Creadores Medellín Joven 2026\nMedellín as a City of Opportunity\n\nYoung participants at Creadores Medellín Joven 2026\n\nSeeing young people between 14 and 28 years old arriving at 8:30 on a Saturday morning, phone in hand, with a genuine desire to build something new with AI — that is not a small thing. It is proof that the talent is there and only needs space, access, and direction.\n\nMedellín has shown me it can be that city. The Mayor's office, Medellín Joven, the Public Libraries System, EPM, INDER, and the cultural partners that sustain this initiative are doing something important: building infrastructure of opportunity for those who need it most.\n\nComing back this year was an easy decision. There is no more direct way to contribute than to show up, teach from practice, and show a young person that they can build technology, not just consume it.\n\nThe future of Medellín is in those hands.","date_published":"2026-05-23T08:30:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["ai","community","education","medellin","youth","artificial-intelligence","agents"],"image":"https://gndx.dev/og/en/blog/230526-creadores-medellin-joven-2026.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/230526-creadores-medellin-joven-2026.md"},{"id":"https://gndx.dev/en/blog/140426-openclaw-del-hype-a-la-practica/","url":"https://gndx.dev/en/blog/140426-openclaw-del-hype-a-la-practica/","title":"OpenClaw: From Hype to Practice","summary":"In my latest conference, I explained how to move from the noise around AI agents to a real architecture that is useful, secure, and operable with OpenClaw.","content_text":"In my latest conference, I wanted to make one idea completely clear: the problem is not the hype around AI agents. The real problem is standing still and watching the hype while others are already building systems that work, respond, execute tasks, and create real value.\n\nThat is why I titled this talk OpenClaw: From Hype to Practice. My goal was not to sell a futuristic fantasy or repeat the usual narrative around autonomous agents. I wanted to show something much more useful: how to design, deploy, and operate AI agents that can actually live in production with clear criteria around cost, architecture, identity, security, and execution.\nFrom media noise to operational architecture\n\nRight now we live in a market overloaded with promises. On one side, there are headlines that present agents as if they were magic. On the other, there are teams that need stable, predictable, affordable, and governable systems.\n\nThat tension became the starting point of my talk.\n\nMy thesis is simple: an agent should not be understood as a flashy demo or a marketing trick. A useful agent should be understood as operational infrastructure.\n\nIn the presentation, I explained that idea through a very simple architecture:\nA cloud VPS as the operational space\nOpenClaw as the framework\nAn LLM as the reasoning engine\nTelegram as the conversational interface\n\nWhat matters is not the specific tool choice. What matters is the mental shift. Once someone understands this separation, they stop thinking about “a bot” and start thinking about a system that can run 24/7, receive instructions, execute actions, and evolve by gaining new capabilities.\nStarting well does not mean starting with complexity\n\nOne of the most important messages I wanted to leave behind is that you do not need expensive hardware or absurdly complex infrastructure to start working with agents.\n\nMy recommendation is to start in the cloud, keep complexity low, and aim for permanent availability. That forces better architectural decisions from day one: isolate environments, reduce attack surface, control credentials, and define trust boundaries.\n\nThat approach aligns with OpenClaw’s own documentation, which recommends separating environments and trust boundaries when users or credentials carry different risk levels instead of assuming everything should live inside one shared space. OpenClaw Security\nAgent identity must be designed too\n\nAnother topic I emphasized in the conference was identity.\n\nI think one of the most underestimated ideas in the agent space is the assumption that everything can be solved with code alone. It cannot. An agent must also be written, framed, and trained through language.\n\nFiles such as SOUL.md, IDENTITY.md, and USER.md can define:\nthe tone of the agent,\nits role,\nits priorities,\nthe user context,\nand the way it should make decisions.\n\nTo me, that layer is what transforms an agent into something closer to an operational collaborator instead of a reactive assistant. Giving it tools is not enough. You also have to define how it thinks, what it values, and how it responds when reality is messy.\nSkills: teaching tasks, not just wiring functions\n\nI also spent a meaningful part of the talk explaining skills in a less abstract way.\n\nMy view is straightforward: a skill is not just a technical integration. A skill is a packaged instruction set that teaches the agent how to execute a specific task, almost the same way we train a new person joining a team.\n\nThat changes everything because it pushes us to think less about isolated features and more about reusable operational capabilities.\n\nThe official OpenClaw documentation describes this well: skills act as instructional units packaged inside folders with SKILL.md, and they can be loaded or filtered according to configuration, environment, and allowlists. OpenClaw Skills\nThe real value is not human replacement\n\nI also wanted to move the conversation to a more honest place.\n\nI am not interested in selling the narrative of replacing humans. I am interested in talking about expanding operational capacity.\n\nWhen a person or team adopts well-designed agents, they are not “eliminating human work.” They are absorbing repetitive execution, delegating routine operations, and freeing time for strategy, judgment, creativity, and direction.\n\nThat is why I insist that today one person, with a few dollars per month and a strong agent architecture, can reach an operational capacity that previously required much larger teams.\n\nNot because AI is magic, but because well-governed automation multiplies focus.\nFrom a single agent to a distributed system\n\nOne of the most important moments in the presentation was showing the distributed architecture of the Dragons Team.\n\nAt that point, the conversation is no longer about “what an agent is,” but about how to build a multi-agent system with contextual specialization, centralized orchestration, controlled costs, and hybrid inference.\n\nIn this model:\nNia acts as the main orchestrator\nMajisto focuses on infrastructure and low-consumption automation\nAstra specializes in signals, scraping, and synthesis\n\nThe real value of this topology is not only that it works. It is that every node has a clear responsibility and a cognitive load proportional to its role. That makes it possible to combine cloud and local inference without exploding costs or losing governance.\nLow costs, smarter decisions\n\nAnother core message of the talk was breaking the myth that agents require enormous budgets.\n\nWhen heavy processing is routed only where it is truly needed, and peripheral nodes operate with lightweight APIs or tightly scoped functions, operating costs can remain surprisingly low.\n\nThat point mattered because it proves the conversation around agents is no longer a luxury for labs. It is a real possibility for creators, developers, startups, and small teams that want to build useful systems without mortgaging their operation.\nSecurity: where the conversation gets serious\n\nIf the talk had a second act, this was it: security.\n\nThe moment we connect an LLM to the real world through tools, APIs, filesystems, or command execution, we stop talking only about text generation. We begin operating an entirely new risk surface.\n\nThat is why I insisted that LLM applications cannot be protected only with traditional controls. Risks such as direct and indirect prompt injection, tool abuse, and privilege escalation are already documented by OWASP as central threats for agents and LLM-powered applications. OWASP Prompt Injection Prevention OWASP AI Agent Security\n\nMy defense-in-depth proposal is organized in layers:\narchitecture and isolation,\nidentity and access,\nexecution and network,\ncontent-borne threats,\noperational visibility.\n\nThat approach also aligns with the NIST framework for generative AI, where risk management is not limited to the model itself but includes governance, operations, monitoring, technical controls, and context of use. NIST AI RMF\nThree principles I consider non-negotiable\n\nIf I had to summarize the most mature part of the conference, I would reduce it to three principles.\n1. Least privilege and environment separation\n\nA shared agent with broad access and unclear boundaries is a bad idea.\n\nThat is why I advocate for containers, separated gateways, dedicated system users, and segmented credentials. Real security begins when we stop assuming everything can coexist safely in the same place.\n2. Human approval does not replace sandboxing\n\nAsking the user for confirmation is not enough.\n\nThis is one of the most common design mistakes in agentic systems: assuming a confirmation click makes up for weak isolation. It does not. Real control lives in the host, the operating system, the network, the permissions, and the tools exposed to the agent.\n3. Every external input must be treated as potentially malicious\n\nA webpage, an email, an attachment, or a block of text can contain hidden or malicious instructions capable of altering an agent’s behavior.\n\nThat is why I insist on never blindly trusting external content, keeping protections active, and redacting secrets from logs and traces. Agent security is not a theoretical concern. It is an operational discipline.\nWhy this talk matters right now\n\nWhat I wanted to build with this conference was a bridge.\n\nA bridge between enthusiasm and implementation.\nA bridge between the individual agent and distributed architecture.\nA bridge between the promise of productivity and the responsibility of operating AI securely.\n\nThat is where I believe the real relevance of this conversation lives. Agents are no longer just a lab curiosity or a social-media demo. They are becoming a new operational layer of software.\n\nAnd if we are going to build that layer, we need to do it well: with identity, with skills, with topologies designed for the real world, with sustainable costs, and with serious security principles.\nMy conclusion\n\nFor me, OpenClaw: From Hype to Practice is not only about OpenClaw.\n\nIt is about a way of thinking about applied AI with more judgment and less spectacle.\n\nIt is about stopping the habit of consuming the future as narrative and starting to operate it as architecture.\n\nThat was the message of my conference, and it is still the message I care most about defending: AI agents do not matter because they look intelligent. They matter when they are useful, governable, scalable, and secure.","date_published":"2026-04-14T15:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["ai","agents","openclaw","architecture","security"],"image":"https://gndx.dev/og/en/blog/140426-openclaw-del-hype-a-la-practica.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/140426-openclaw-del-hype-a-la-practica.md"},{"id":"https://gndx.dev/en/blog/260406-instalar-gemma-4-en-tu-telefono/","url":"https://gndx.dev/en/blog/260406-instalar-gemma-4-en-tu-telefono/","title":"How to install Gemma 4 on your phone (iPhone & Android)","summary":"Step-by-step guide to download and run Gemma 4 locally on your iPhone or Android device using Google AI Edge Gallery.","content_text":"Gemma 4 in your pocket: fast install for iPhone and Android \n\nGemma 4 now runs offline on modern phones thanks to the official Google AI Edge Gallery app. This guide walks you through the setup on both iPhone and Android with zero cables or complicated steps.\n🧠 Why it matters: Running models locally gives you full privacy, no per-token fees, and the freedom to use AI even when you have no signal.\n\n---\nQuick requirements\niPhone on iOS 17 or newer, ideally with an A16 chip or Apple Silicon for best performance.\nAndroid on Android 14, powered by a Tensor, Snapdragon 8 Gen 2, or similar flagship SoC.\n6 GB of free storage and Wi-Fi for the initial download.\n\n---\niPhone: Gemma 4 inside Google AI Edge Gallery\n\n1. Open the App Store on your iPhone.\n2. Search for Google AI Edge Gallery and tap Get.\n3. Launch the app, grant local permissions, and open the AI Chat tab.\n4. Locate Gemma 4 (\"Edge Optimized\" build).\n5. Tap Download and wait for completion, then select Run locally.\n📲 On iPhone you’ll see a \"Thinking\" mode to visualize reasoning steps and a \"Battery Saver\" toggle to trade speed for longer sessions.\n\nDirect link: Google AI Edge Gallery – App Store\n\n---\nAndroid: enable Gemma 4 in minutes\n\n1. Head to Google Play and install Google AI Edge Gallery (requires up-to-date Play Services).\n2. Allow storage permissions so models can be stored locally.\n3. In the Model Hub tab, search Gemma 4 → tap Download.\n4. When finished, press Set as default inside AI Chat.\n5. Craft your first prompt. Example: \"Brainstorm productivity app ideas in Spanish.\"\n🤖 On Android you can toggle GPU Acceleration under Settings → Performance. If the phone heats up, switch the profile to Balanced.\n\nDirect link: Google AI Edge Gallery – Google Play\n\n---\nUseful features on both platforms\n\n| Feature | iPhone | Android |\n| --- | --- | --- |\n| Thinking Mode | ✅ | ✅ |\n| Agent Skills (Wikipedia, Docs) | ✅ | ✅ |\n| Ask Image (photo analysis) | ✅ | ✅ |\n| Audio Scribe (speech to text) | ✅ | ✅ |\n| Battery Saver / Thermal guard | ✅ | ✅ |\n\n---\nTips to get the best experience\nUpdate the app whenever new Gemma 4 optimizations drop.\nUse Bluetooth headphones for long audio interactions (Audio Scribe).\nKeep battery above 40% before running extended sessions.\nDisable Low Power Mode (iPhone) or Battery Saver (Android) to avoid throttling.\n\n---\nCommon issues and quick fixes\nSlow downloads: switch to Wi-Fi 5/6 and keep the screen awake.\nAndroid app crashes: clear cache via App Info → Storage & cache.\nShort replies on iPhone: enable Extended Context in Settings → Labs.\n\n---\nNext steps for power users\n\n1. Enable Agent Skills and connect Google Drive to query documents.\n2. Create Shortcuts (iOS) or Assistant Routines (Android) to launch prompts by voice.\n3. Integrate Gemma 4 with your stack (for example Next.js + Supabase) via the local API exposed by Edge Gallery at http://localhost:8288.\n\n---\nTL;DR\nInstall Google AI Edge Gallery on iPhone or Android.\nDownload the Gemma 4 model inside the app and mark it as local.\nStart chatting offline while keeping your data private.\n\nYour phone is now a mini AI server ready to run Gemma 4 anytime.","date_published":"2026-04-06T15:33:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["ai","mobile","gemma","edge-ai","guide"],"image":"https://gndx.dev/og/en/blog/260406-instalar-gemma-4-en-tu-telefono.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/260406-instalar-gemma-4-en-tu-telefono.md"},{"id":"https://gndx.dev/en/blog/020426-lego-copa-mundo/","url":"https://gndx.dev/en/blog/020426-lego-copa-mundo/","title":"CREATE Your Own IMAGE with the WORLD CUP in LEGO","summary":"Learn how to create a hyper-realistic image of yourself with the World Cup made of LEGO using artificial intelligence. You just need your photo and the specialized prompt.","content_text":"Want to have a professional photo of yourself with the World Cup in LEGO version? With artificial intelligence, it's now possible to create spectacular images that combine your face with the iconic World Cup trophy built with LEGO bricks.\nWhat do you need?\n\nYou only need 2 elements:\n\n1. The LEGO World Cup image: I already have the perfect image for you.\n\n LEGO World Cup\n\n2. Your photograph: A clear photo of your face so the AI can recognize your features.\nTools you can use\n\nYou can use any of these generative AI tools:\nChatGPT / DALL-E 3\nGoogle Gemini\nMidjourney\nLeonardo.AI\nIdeogram\nFlux\nOr any other generative AI you prefer\nThe Prompt (Copy and paste without altering)\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\nHow to use the prompt?\n\n1. Upload your personal photo to the AI of your choice.\n2. Upload the LEGO World Cup image (the one above).\n3. Paste the complete prompt in the chat.\n4. Wait a few seconds and you're done!\nExpected result\n\nYou'll get a professional studio image where you appear with a serious and concentrated expression, placing a LEGO minifigure on top of the World Cup trophy, with high-level cinematic lighting.\n\nShare your result on social media and tag me! I'd love to see your creation.","date_published":"2026-04-02T23:47:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["ai","images","tutorial","lego","worldcup"],"image":"https://gndx.dev/og/en/blog/020426-lego-copa-mundo.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/020426-lego-copa-mundo.md"},{"id":"https://gndx.dev/en/blog/190226-the-story-behind-openclaw/","url":"https://gndx.dev/en/blog/190226-the-story-behind-openclaw/","title":"The story behind the project now known as OpenClaw","summary":"From Clawdbot to Moltbot and finally OpenClaw: the journey of one of the fastest-growing open-source AI agent projects.","content_text":"In November 2025, Austrian developer and PSPDFKit founder Peter Steinberger started a weekend experiment that quickly became one of the most talked-about open-source AI projects.\n\nThe core idea was easy to describe, but difficult to build: create a self-hosted autonomous assistant that could do more than reply with text and actually perform real tasks for you.\nThe beginning: beyond a chatbot\n\nFrom day one, this was not meant to be another chat interface. The project aimed to work through channels like WhatsApp, Telegram, iMessage, Discord, or Slack, while handling actions such as:\nrunning system commands,\nmanaging calendar and reminders,\nreading and processing email,\ncoordinating workflows with external services.\n\nAll of this could be powered by models like Claude, GPT, Gemini, or others, while logic and persistent state stayed local.\nTimeline and naming evolution\nNovember 2025: Clawdbot\n\nThe first public release came under the name Clawdbot, with an assistant called Clawd, initially linked to the Claude ecosystem.\nDecember 2025: rapid viral growth\n\nWithin days, the repository surged: thousands of GitHub stars in 24 hours, massive developer interest, and broad media attention.\nJanuary 27, 2026: renamed to Moltbot\n\nAfter a brand-confusion concern between Clawd/Clawdbot and Claude, the project was renamed Moltbot, and the assistant became Molty.\n\nThe \"molt\" concept kept the lobster theme while establishing a different identity.\n\nDuring that transition, an old social handle was hijacked by scammers promoting a fake Clawd-related token, reportedly peaking near $16M before collapsing.\nLate January 2026: OpenClaw\n\nSoon after, Steinberger decided to iterate once more on branding. The project became OpenClaw, the name it keeps today.\nTechnical philosophy\n\nOpenClaw is not a proprietary foundation model. It is an autonomous-agent framework focused on real execution, memory, and proactive behavior.\n\nIts architecture is often described through three core parts:\nGateway: handles inbound messaging and channel events.\nAgent Loop: the planning and execution brain.\nHeartbeat: persistent state and continuity management.\n\nThis separation enabled rapid feature growth while keeping a practical direction: multi-model support and self-hosted operation.\nEcosystem and community\n\nCommunity momentum became a major driver. Around the core project, contributors built extensible skills and modules, including collections in the spirit of awesome-openclaw-skills and related ecosystems such as VoltAgent.\n\nThe team also introduced Moltbook, a social network concept for AI agents to communicate and coordinate with each other.\n2026 and what comes next\n\nWith 100,000 to 200,000 GitHub stars reached in record time, OpenClaw became a reference point for open autonomous-agent software.\n\nIn mid-February 2026, it was announced that Peter Steinberger would join OpenAI, while OpenClaw would continue under an open-source foundation for long-term development.\n\nThe key question is no longer whether this category will grow, but how fast it will become a mainstream user product.\n\nIf 2026 is the launch year, 2027 may be the year autonomous personal agents become a daily layer of computing, not just a demo.","date_published":"2026-02-19T18:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["artificial-intelligence","open-source","agents","openclaw","clawdbot","moltbot","ai","openai"],"image":"https://gndx.dev/og/en/blog/190226-the-story-behind-openclaw.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/190226-the-story-behind-openclaw.md"},{"id":"https://gndx.dev/en/blog/que-es-vibecodear-y-por-que-esta-tan-de-moda/","url":"https://gndx.dev/en/blog/que-es-vibecodear-y-por-que-esta-tan-de-moda/","title":"What Is Vibecoding and Why Is It So Trendy?","summary":"Vibecoding means building software in flow mode with AI to prototype fast and validate ideas quickly, but it brings real tradeoffs when moving to production.","content_text":"Vibecoding means creating software in flow mode: start from an idea, describe it with text or voice, and use AI tools to build fast, prototype, and test without locking yourself into rigid rules from day one. It sounds liberating, but it also introduces real dilemmas when you want to ship to production.\nWhat does “vibecoding” mean and why is it so trendy?\n\nVibecoding is often understood as an informal and creative way to code. The priority is not strictly following formal architecture rules or best practices, but:\ngetting into flow\nexperimenting fast\nbuilding guided by intuition and speed\nshipping something to see what happens in the real world\n\nThe trend comes from something very concrete: today you can ask an AI “build me an app,” “build me a game,” or “prototype this,” and get iterable results in minutes.\nHow is vibecoding related to low-code and no-code?\n\nIt connects with a discussion we already know: low-code/no-code. The logic is similar:\nthey are tools to build faster\nthey let more people create things\nthey bother people who believe “if you are a programmer, you should not use them”\n\nThe key idea is simple: they are tools. Conflict appears when “making it work” is confused with “building it well.”\nCan you vibecode without knowing how to program?\n\nYes. With ChatGPT or similar tools, someone can build with:\ntext\naudio\ntrial-and-error iteration\n\nEven with everyday examples: ask for an app or a game, get a result, iterate, and compose a product. This drastically lowers the barrier to entry.\nWhere does the pain show up when vibecoding for real users?\n\nThe problem is not creating. The problem starts when real people will use it.\n\nOnce you launch an app, factors appear that a prototype does not reveal:\nusers find edge cases\nfriction and expectations show up\nthe real problem is sometimes not solved, even if it looks good\n\nThat is the dilemma: many vibecoded apps can remain as demos, or reach production with weak foundations for growth.\nWhat about scalability and architecture in vibecoding?\n\nVibecoding in an unstructured way can work for testing ideas, but it can fail when you need to:\nscale\nsustain a solid technical foundation\nmake intentional architectural decisions\n\nThe app can be built just for the sake of building it, only because the prompt asked for it, without answering questions like:\nhow will data be stored?\ncan the user have multiple palettes?\ncan a palette be iterated?\nwhat structure supports that tomorrow?\nHow can someone with technical experience vibecode without losing best practices?\n\nYou can vibecode with a more disciplined approach. Before asking for code, it helps to do prior work:\nbreak down and understand requirements\nvalidate them and test ideas with other tools\ncreate a phased developer plan\nguide the AI so it respects architecture and best practices\n\nThis way you do not only flow, you flow in a technically correct way, aiming for a scalable result.\nWhy does working in phases improve vibecoding results?\n\nA practical rule that works: split work into phases and keep each phase to a maximum of 4 tasks or subtasks.\n\nThe benefit is direct:\nyou reduce chaos\nyou can validate each delivery\nyou analyze outcomes before moving on\nyou avoid letting AI do everything at once\n\nThis turns vibecoding into a more controlled process without killing speed.","date_published":"2026-02-17T00:03:58.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["artificial intelligence","vibecoding","software development","vibecodear","chat gpt","low code","no code","codex app"],"image":"https://gndx.dev/og/en/blog/que-es-vibecodear-y-por-que-esta-tan-de-moda.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/que-es-vibecodear-y-por-que-esta-tan-de-moda.md"},{"id":"https://gndx.dev/en/blog/200126-fiebre-del-oro-de-la-ia/","url":"https://gndx.dev/en/blog/200126-fiebre-del-oro-de-la-ia/","title":"AI Gold Rush","summary":"The so-called “AI Gold Rush” promises easy money, quick results and zero effort.","content_text":"The so-called “AI Gold Rush” promises easy money, quick results and zero effort. But the real business is not in applying artificial intelligence, but in selling the illusion that anyone can get rich with a click. In this scenario, many are not miners: they are the mine.\n\nThis after being bombarded by advertising from supposed gurus who promise quick results and zero effort and who promise that anyone can get rich with one click, so I put them to the test, I entered one of those classes they offer and that is where I realize the reality, they make mistakes, they do not give results, they do not give value, they only promise quick results and zero effort and they even introduce religion so that they believe that they are the true gurus.\nWhat really is the “AI Gold Rush”?\n\nIt is a phenomenon driven by supposed gurus who present AI as a shortcut to financial freedom, and they are not wrong, but they promise quick results using automatic tools, they play with the promise of people and if they teach people things, if they have methodologies and these can work, but the problem lies in promising quick results and zero effort, that is, they promise that anyone can get rich with a click.\n\nThese gurus promise quick income using automated tools, sell the idea that knowledge no longer matters, and hide that the real deal is the course, not the method.\nWhy are you not the miner, but the mine?\n\nIn this fever, the exploited resource is the attention and money of those who buy. Sellers do not earn by applying the systems, but rather by selling the promise that they work, while the buyer finances the cycle with his expectation.\nWhat's wrong with Apply AI's “copy and paste” models?\n\nWhen the barrier to entry is zero, value disappears and saturation is inevitable and we see it, today, even YouTube has stopped monetizing AI videos, because saturation is inevitable.\n\nThe result is book creation in minutes, automated channels without judgment, and deals with no real knowledge behind them, which inevitably leads to saturation and plummeting returns.\nHow does the cycle of false gurus work?\n\nThe pattern repeats itself precisely: they exaggerate initial results, blame the buyer when they fail, reinvest sales in more advertising, and use religion to make them believe they are the real gurus.\n\nThus, the illusion remains alive even if the model does not work or we assume it works, but we return to the central theme, it is not that the method is good or bad, it is the promise of quick results and zero effort.\nIs artificial intelligence useless or a scam?\n\nNo. AI is powerful, but it is not magical and requires real knowledge to work, not just a prompt, a custom GPT from ChatGPT using a mediocre prompt, and I say this because accessing the resources they shared, the prompt was leaked and they actually sell this as the magic solution.\n\nIt is important to understand that AI does not create value from scratch, it does not replace real knowledge, and it does not turn nothing into something valuable.\nWhat is the key decision in the face of this fever?\n\nThe key decision in the face of this fever is to understand the game before paying the price. This means not chasing unrealistic shortcuts, not buying instant financial freedom, and not becoming the exploited resource.\n\nBe smart: don't be anyone's mine.","date_published":"2026-01-20T16:03:23.100Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["AI","robot","artificial intelligence"],"image":"https://gndx.dev/og/en/blog/200126-fiebre-del-oro-de-la-ia.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/200126-fiebre-del-oro-de-la-ia.md"},{"id":"https://gndx.dev/en/blog/070825-como-crear-una-pagina-web-en-minutos/","url":"https://gndx.dev/en/blog/070825-como-crear-una-pagina-web-en-minutos/","title":"How to create a website in minutes?","summary":"Creating your own website with artificial intelligence is no longer a complex or expensive process. Today, thanks to tools like HostGator and WordPress with integrated AI, it is possible to launch a functional, visually attractive and affordable site in minutes, without writing a single line of code.","content_text":"Creating your own website with artificial intelligence is no longer a complex or expensive process. Today, thanks to tools like HostGator and WordPress with integrated AI, it is possible to launch a functional, visually attractive and affordable site in minutes, without writing a single line of code.\n\nToday I want to explain to you step by step how to create your website in minutes, without tangles, without fear of breaking anything and with tools that are made just so that no one's life becomes complicated.\nWhy do you need a website?\n\nThink about it: What is the first thing someone does when you talk to them about your project, business or whatever? Exactly, it googles you!\nA website is your letter of introduction on the Internet. It is the space where you decide what to show and how to do it.\nIt doesn't matter if you sell empanadas, are an illustrator, psychologist, streamer or just want to put your portfolio online.\nHaving your own domain (your name or that of your business) is no longer a luxury, it is basic and necessary.\nWhat the heck is a .com domain and what is it for?\n\nIt's simple, the domain is your Internet address that is easy to access and that is memorable among people.\n\nDo you want to be found easily? You need something like tunegocio.com.\nA good domain is like a catchy nickname, easy to remember, nothing like “negociosuperpro789-especial.com” (don't complicate things!).\n\nTip: Before you fall in love with a name, check if it is free. There is nothing sadder than imagining your brand and seeing that someone else already uses it. Have options A, B, C and D, be prepared to have these options or look for a more regional internet domain like .mx, .co, or another.\nWhere does your website live? Hire Web Hosting\n\nDo you already have a name? Now you need a place where your page exists.\nThat's web hosting.\n\nImagine that your domain is the address, but the hosting is the home where you keep everything you are going to show: photos, texts, products, services or your favorite memes, whatever you want.\n\nThis is where Hostgator.mx is your main ally. Why do I recommend it? Because it is one of the friendliest and least “technical” platforms there is to start with. Literally, you buy your accommodation and they take you by the hand so you don't get lost, support in Spanish, Artificial Intelligence tools and different payment methods.\nHire your Entrepreneurial Hosting Plan at HostGator\n\nI know it sounds like a lot of steps, but the truth is that everything is designed so that even your grandmother can activate it.\nYou enter, buy your domain and hosting can be together with the Entrepreneur Plan, and Hostgator guides you, step by step. If you have questions, the support is fast, in Spanish and they even have video tutorials.\n\nDon't be scared: no button is going to explode your computer, nor will you lose your Website.\nYour Website, Fast and Always Available.\n\nOne of the main features that HostGator includes is a CDN (Content Delivery Network). It's like a network of highways around the world that makes your website load quickly, wherever you are (yes, even if they visit you from Japan or Argentina).\n\nIs it necessary? Today, yes. Nobody likes waiting 10 seconds for a page to load. HostGator plans include it and this allows you to have a website, fast and always available.\nIs it worth having a professional email?\n\nLet's be honest, when you receive an email from “hello.business@gmail.com” versus “hello@yourbusiness.com”, which one gives you more confidence?\n\nProfessional email is that small detail that gives seriousness to your project. And yes, you can easily configure it from Hostgator. No impossible configurations or 1-hour tutorials. Just follow the steps and your email will be ready, to connect it with the main email applications and be able to connect with the world.\nIs WordPress for me if I don't know how to program?\n\n100% yes!\nWordPress is like the Lego of websites. You drag, drop, change text, colors, and that's it. In HostGator you install it with a single click and, with the help of Artificial Intelligence, you can configure it, improve it, create images, edit text, whatever you want, all so simple and easy from the tools that HostGator includes for you.\n\nThe best thing: you don't have to write a single line of code (really).\nTips to make your website a hit (without dying trying)\nUse clear photos (no pixelated ones from 2008).\nGet to the point, people don't read encyclopedias.\nAdd your networks and forms of contact.\nUpdate often, don't abandon it like MySpace.\nHow to create a website in minutes?\n\nNow that you know the main elements that you must keep in mind to have a website, it is time to get started. In this video I explain step by step how to create a website, with everything you have to do in HostGator: from choosing your domain name, hiring a hosting plan, creating your website with artificial intelligence and starting to sell, write or simply be part of the internet.","date_published":"2025-06-09T02:41:45.897Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["hostgator","lodging","web","Web page"],"image":"https://gndx.dev/og/en/blog/070825-como-crear-una-pagina-web-en-minutos.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/070825-como-crear-una-pagina-web-en-minutos.md"},{"id":"https://gndx.dev/en/blog/extensiones-para-cursor-ai/","url":"https://gndx.dev/en/blog/extensiones-para-cursor-ai/","title":"Cursor AI Extensions","summary":"Cursor AI is completely transformed with the right extensions. From boosting your workflow to avoiding common mistakes and gaining speed","content_text":"Cursor AI is completely transformed with the right extensions. From boosting your workflow to avoiding common mistakes and gaining speed, this selection covers the essentials for modern developers looking for an agile, uncluttered, and visually appealing environment.\n📦 List of Extensions for Cursor AI 2025\n\n1. Star\n Full support for the Astro framework, including syntax highlighting, diagnostics, and autocompletion.\n 🔗 Astro - Visual Studio Marketplace\n\n2. Code Runner\n Run code snippets in multiple languages ​​directly from the editor.\n 🔗 Code Runner - Visual Studio Marketplace\n\n3. DotENV\n Provides syntax highlighting and other features for .env files.\n 🔗 DotENV - Visual Studio Marketplace\n\n4. Lens error\n Improves visibility of errors and warnings directly in the editor.\n 🔗 Lens Error - Visual Studio Marketplace\n\n5. ES7 React/Redux/GraphQL/React-Native snippets\n Snippets to accelerate development with React, Redux and GraphQL.\n 🔗 ES7 React/Redux/GraphQL/React-Native snippets - Visual Studio Marketplace\n\n6. ESLint\n ESLint integration to maintain clean and consistent code.\n 🔗 ESLint - Visual Studio Marketplace\n\n7. GitLens — Git supercharged\n Powerful tool to visualize and understand the history of your code with Git.\n 🔗 GitLens — Git supercharged - Visual Studio Marketplace\n\n8. Image preview\n Preview images directly in the editor.\n 🔗 Image preview - Visual Studio Marketplace\n\n9. Import Cost\n Shows the size of imported packages in real time.\n 🔗 Import Cost - Visual Studio Marketplace\n\n10. indent-rainbow\n Color indentations to improve code readability.\n 🔗 indent-rainbow - Visual Studio Marketplace\n\n11. Material Icon Theme\n Applies a Material Design-based icon theme for better file viewing.\n 🔗 Material Icon Theme - Visual Studio Marketplace\n\n12. MDX\n Support for MDX files, combining Markdown with JSX.\n 🔗 MDX - Visual Studio Marketplace\n\n13. Nextjs snippets\n Snippets to speed up development with Next.js.\n 🔗 Nextjs snippets - Visual Studio Marketplace\n\n14. npm Intellisense\n Autocompletion for npm modules in your code files.\n 🔗 npm Intellisense - Visual Studio Marketplace\n\n15. Prettier - Code formatter\n Automatically format your code to maintain a consistent style.\n 🔗 Prettier - Code formatter - Visual Studio Marketplace\n\n16. Rainbow CSV\n Colorize and make editing CSV files easy.\n 🔗 Rainbow CSV - Visual Studio Marketplace\n\n17. Tailwind CSS IntelliSense\n Autocompletion and suggestions for Tailwind CSS classes.\n 🔗 Tailwind CSS IntelliSense - Visual Studio Marketplace\n\n18. Trailing Spaces\n Highlights and removes unnecessary whitespace at the end of lines.\n 🔗 Trailing Spaces - Visual Studio Marketplace\n\n19. YAML\n Improved support for YAML files, useful in configurations and Kubernetes.\n 🔗 YAML - Visual Studio Marketplace\n\nThese extensions are available on the official Visual Studio Code Marketplace and are compatible with Cursor AI, since this editor is based on the VS Code platform.","date_published":"2025-06-04T01:32:14.086Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["ia","CursorAI","artificial intelligence"],"image":"https://gndx.dev/og/en/blog/extensiones-para-cursor-ai.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/extensiones-para-cursor-ai.md"},{"id":"https://gndx.dev/en/blog/260225-instalar-warp-terminal-con-inteligencia-artificial-en-windows-11/","url":"https://gndx.dev/en/blog/260225-instalar-warp-terminal-con-inteligencia-artificial-en-windows-11/","title":"Warp terminal with artificial intelligence in Windows 11","summary":"Warp is a reinvented terminal that combines collaborative tools and powerful integration with artificial intelligence to improve the productivity of development teams. With a modern interface and advanced features, it makes working on the command line easier than ever before.","content_text":"Warp is a reinvented terminal that combines collaborative tools and powerful integration with artificial intelligence to improve the productivity of development teams. With a modern interface and advanced features, it makes working on the command line easier than ever before.\n\nBest of all, Warp is now available on all Operating Systems, both MacOS, GNU/Linux and recently on Windows.\nInstall Warp on Windows 11\n\n \n\n \n\nNow let me tell you some features that make WARP the number one terminal for developers.\nHow does Warp improve editing in the terminal?\n\nWarp offers an IDE-like input editor, allowing for a more efficient and fluid experience when typing commands. Unlike traditional terminals, Warp allows you to select and edit multiple lines at the same time, making it easy to modify complex commands. In addition, the use of the mouse improves navigation, providing an intuitive alternative for developers accustomed to graphical environments.\nHow does Warp optimize command writing?\n\nWarp integrates intelligent autocompletion right into the terminal, helping to reduce errors and increase speed when typing commands. This feature suggests relevant options based on context, making it easy to do tasks like formatting configuration files without needing to remember complex syntax. Thanks to this capability, users can save time and avoid frustration when executing repetitive or complicated commands.\nWhat are blocks in Warp?\n\nOne of the most innovative features of Warp is the grouping of input and output into blocks. These blocks allow you to better organize the command history, making it easier to navigate and review previous results without losing context. With keyboard shortcuts, users can quickly move between different blocks or jump to the start or end of a long output, improving efficiency in daily use of the terminal.\nHow does block filtering work?\n\nWarp offers an advanced block filtering feature that allows you to search for key information within the terminal output without resorting to external tools such as cat or grep. This functionality makes it easier to locate relevant information and allows you to expand the search context according to the user's needs. Thanks to this approach, log review and error debugging become much faster and more accurate.\nWhat role does artificial intelligence play in Warp?\n\nUnlike traditional terminals, Warp integrates artificial intelligence to assist the user in multiple tasks. It automatically detects English queries and activates \"agent mode\", allowing you to execute complex tasks such as process management and database migrations. Additionally, users can troubleshoot terminal errors without needing to search Google or Stack Overflow by simply attaching their terminal output to receive precise hints and solutions.\nWhat is Warp Drive and how does it help productivity?\n\nWarp Drive is one of the most powerful features of Warp, allowing you to store frequent commands as reusable workflows. This is especially useful for repetitive tasks, such as setting up authentication or running complex processes in Docker. Warp also allows you to define dynamic environment variables and connect them to password managers such as LastPass or 1Password, facilitating the secure execution of commands.\nHow does Warp facilitate teamwork?\n\nWarp not only improves the individual experience, but also enhances team collaboration. With the notebook feature, users can document and share workflows using Markdown. This allows onboarding manuals and incident protocols within the terminal to be kept updated, improving the operational efficiency of the equipment. Additionally, Warp Drive makes it easy to import existing documentation, ensuring quick access to relevant information for all team members.\nWhat customization options does Warp offer?\n\nWarp is highly customizable, allowing users to adjust the appearance and functionality of the terminal to their preferences. Themes and layouts can be modified through YAML files or custom images. Additionally, Warp makes it easy to import configurations from other terminals such as iTerm2, avoiding the need to configure everything from scratch. It also allows you to customize keyboard shortcuts and the position of text entry, adapting to different working styles.\nWhat platforms is Warp available on?\n\nWarp is currently available for macOS and GNU/Linux and Windows, offering an optimized experience for developers on these platforms.","date_published":"2025-02-26T20:25:36.661Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["warp","terminal","windows","tools"],"image":"https://gndx.dev/og/en/blog/260225-instalar-warp-terminal-con-inteligencia-artificial-en-windows-11.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/260225-instalar-warp-terminal-con-inteligencia-artificial-en-windows-11.md"},{"id":"https://gndx.dev/en/blog/0912-personalizar-tu-terminal-warp-oh-my-zsh/","url":"https://gndx.dev/en/blog/0912-personalizar-tu-terminal-warp-oh-my-zsh/","title":"Customize your terminal from 0 to PRO 😎 Warp + Oh My Zsh","summary":"Terminal customization can completely transform your developer experience, going from a basic and unappealing interface to a powerful and visually stunning tool. With Warp, a smart terminal that incorporates AI, along with some specific configurations, you will be able to create a more efficient and pleasant development environment.","content_text":"Customizing your terminal can completely transform your experience as a developer, making it more functional, attractive and efficient. In this article, you'll learn how to set up a modern, powerful terminal using tools like Warp, Zsh, and Oh My Zsh, as well as taking advantage of built-in artificial intelligence.\n\n \nWhat terminal should you use to customize it?\n\nAlthough you can use any terminal, Warp.dev is highly recommended. It is a terminal that incorporates artificial intelligence, which makes it ideal for developers. If you don't have it yet, install it before continuing.\n\nWarp is available for macOS and Linux, and coming soon to Windows.\n\nInstall Warp\nHow to install Zsh + Oh My Zsh?\n\nThe first step to customize your terminal is to install Zsh, an advanced and flexible command interpreter. Then, complement Zsh with Oh My Zsh, a tool that makes it easy to customize through themes, plugins, and settings. Follow these steps:\n\n \n1. Install Zsh:\nOn macOS, use Homebrew:\n\nbrew install zsh\nOn Linux, use your distribution's package manager.\nOn Windows, make sure you have WSL configured and use the Ubuntu package manager.\n\nsudo apt install zsh -y\n\n \n\n2. Install Oh My Zsh:\n\nAll you have to do is copy and paste the following code into your terminal to install Oh My Zsh.\n\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n\nHow to choose and configure a theme for Zsh?\n\n A well-designed theme improves the appearance and functionality of your terminal. To install a theme on Oh My Zsh:\n\n1. Download the P10k theme from the official powerlevel10k repository\n2. Configure the theme by editing the .zshrc file:\nOpen the file with your favorite code editor.\nFind the line ZSHTHEME and replace it with the name of the theme you downloaded, which in this chaos is \"powerlevel10k/powerlevel10k\".\nSave the changes and restart Zsh with the exec zsh command to apply the configuration.\nRun the command p10k configure to start the configuration process.\n \nHow to adjust the appearance and functionality of your terminal?\n\nWarp and Oh My Zsh allow you to customize details such as colors, separators, and visual structures. During initial setup, follow these steps:\nSelect the style of the icons and separators.\nSet the number of lines in the prompt.\nSets the display of information such as time and connection status.\n\n \nHow to take advantage of artificial intelligence at Warp?\n\nWarp includes an artificial intelligence feature that you can activate with the # symbol. This allows you to make queries directly from the terminal, such as:\nDelete folders from nodemodules:\n\nfind . -name \"nodemodules\" -type d -prune -exec rm -rf '{}' +\nGet command explanations or tips to optimize your workflow.\nWhat advantages does this setup offer for developers?\n\nWith a custom terminal, you will not only have a more attractive interface, but also advanced tools that optimize your productivity. From managing projects to executing complex commands, this setup will allow you to work more efficiently and professionally.\n\nI leave you a Step by Step video to achieve this configuration and customization of your terminal.","date_published":"2024-12-09T02:28:42.232Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["youtube","warp","terminal","ohmyzsh"],"image":"https://gndx.dev/og/en/blog/0912-personalizar-tu-terminal-warp-oh-my-zsh.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/0912-personalizar-tu-terminal-warp-oh-my-zsh.md"},{"id":"https://gndx.dev/en/blog/101124-como-liberar-espacio-eliminando-las-carpetas-nodemodules-de-tus-proyectos/","url":"https://gndx.dev/en/blog/101124-como-liberar-espacio-eliminando-las-carpetas-nodemodules-de-tus-proyectos/","title":"How to free up space by deleting the node_modules folders from your projects?","summary":"Your project dependencies can take up a LOT of considerable space on your hard drive. The `node_modules` folders in JavaScript projects usually consume hundreds of MB and even exceed one GB.","content_text":"Your project dependencies can take up a LOT of considerable space on your hard drive. nodemodules folders in JavaScript projects usually consume hundreds of MB and even exceed GB. If you have a lot of backlogged projects, deleting just the nodemodules folders can help you free up a significant amount of space.\nWhy do nodemodules folders take up so much space?\n\nEvery time you install dependencies on a JavaScript project, the nodemodules folder is filled with files and subfolders necessary to run the project. This includes packages that the project itself requires and, in turn, all the dependencies of those packages, resulting in a dependency tree that can become very extensive and heavy.\nHow to check how much space nodemodules folders take up on macOS and Linux?\n\nIf you have your projects organized in a specific folder, you can check how much space the nodemodules folders take up on your system. For macOS or Linux users, the commands below will help locate these folders and add up the space they are taking up.\n\n1. Go to the main folder where your projects are stored, in my case I use /Dev for all my projects:\n\n2. List the size of each nodemodules folder:\n\n find . -name \"nodemodules\" -type d -prune | xargs du -chs\n \nHow to check the occupied space in Windows?\n\nFor Windows users, the process is similar, although the command differs:\n\n1. Run this command in CMD to find the nodemodules folders:\n FOR /d /r . %d in (nodemodules) DO @IF EXIST \"%d\" echo %d\n \nHow to permanently delete the nodemodules folders?\n\nIf you've decided to free up space, keep in mind that deleting the nodemodules folders will require you to reinstall the dependencies of any projects you want to work on in the future using npm install. It is also important to ensure that your projects are stored and up to date on GitHub.\nOn Linux or macOS\n\n1. Make sure you are in the folder that contains your projects in my case /Dev\n\n2. Delete all nodemodules folders from your computer:\n find . -name 'nodemodules' -type d -prune -print -exec rm -rf '{}' \\;\n \nOn Windows (CMD)\n\n1. Go to your main projects folder:\n\n2. Use this command to delete the nodemodules folders:\n FOR /d /r . %d in (nodemodules) DO @IF EXIST \"%d\" rd /s /q \"%d\"\n \nWith these steps, you can significantly free up space on your hard drive. In some cases, users have managed to recover several GB of storage as you can see in my case, which is especially useful if you have multiple projects accumulated and you are not using them regularly. Remember that it is important to have your projects connected to a cloud repository like GitHub and use the .gitignore file to avoid sending all those hundreds of megabytes to a repository.","date_published":"2024-11-11T00:41:23.150Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["github","JavaScript","node","javascript"],"image":"https://gndx.dev/og/en/blog/101124-como-liberar-espacio-eliminando-las-carpetas-nodemodules-de-tus-proyectos.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/101124-como-liberar-espacio-eliminando-las-carpetas-nodemodules-de-tus-proyectos.md"},{"id":"https://gndx.dev/en/blog/041024-crear-subtitulos-en-videos-de-youtube-con-whisper/","url":"https://gndx.dev/en/blog/041024-crear-subtitulos-en-videos-de-youtube-con-whisper/","title":"Create Subtitles on YouTube VIDEOS with WHISPER","summary":"Learn how to use Whisper, OpenAI's free Artificial Intelligence to transcribe the audio of any YouTube video from a Python script and from your computer.","content_text":"Learn how to use Whisper, the free Artificial Intelligence from OpenAI, to transcribe the audio of any YouTube video from a Python script and from your computer.\nCreate Subtitles on YouTube VIDEOS with WHISPER\n\nAs a content creator, we face many tasks in making a video. One of them is to create the video subtitles. There are multiple tools, both free and paid. Some video editors even include the possibility of creating these subtitles in their paid version.\nHow to create subtitles for your videos for FREE?\n\nFirst, we are going to use Whisper, OpenAI's AI that allows us to convert any audio to text. With the same library, we can create subtitles in the \"SRT\" format. Simply put, an SRT (SubRip Subtitle) is the most popular subtitle file format for video content and is what YouTube uses to load subtitles on each video.\n\nBefore starting, I want to share a video where we created a Python script that allows us to use Whisper from our computers to convert audio to text. If you are already experienced, you can skip the video and go directly to the code.\n\nDownload youTubeTranscribe on GitHub.\n\nOnce downloaded, we have the following code:\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\nWhat it does is use the pytube library to download the audio from a YouTube video and pass it through the Whisper model, creating a txt file with the audio content of the video.\n\nNow, what we want is for this same file to have the SRT format and the format timestamps.\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\nThis new script has a utility that allows us to create this SRT format and timestamps, and upload it directly to YouTube. If you analyze the code, you can see that the getwriter function has been added on lines 92 and 93, and a reference to the file output on line 76.\n\nAll you have to do is run the script with the following command:\n\npython src/main.py \n\nThis process may take a couple of minutes, but the result will be a file in SRT format with the timestamps and audio content of the video, and another file in TXT format.\nHow to translate the Subtitles of your Videos?\n\nIf you want to translate the subtitles of your videos, you can use from Google Translate to tools like subtitlestranslator.com, and in this way, add multiple languages ​​to the translations of your video.\n\nWith these steps, you can create subtitles for your YouTube videos for free and from your computer.","date_published":"2024-04-11T02:28:42.232Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["youtube","python","scripts"],"image":"https://gndx.dev/og/en/blog/041024-crear-subtitulos-en-videos-de-youtube-con-whisper.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/041024-crear-subtitulos-en-videos-de-youtube-con-whisper.md"},{"id":"https://gndx.dev/en/blog/040924-5-herramientas-gratis-para-crear-paginas-web-con-tailwindcss/","url":"https://gndx.dev/en/blog/040924-5-herramientas-gratis-para-crear-paginas-web-con-tailwindcss/","title":"5 Free Tools to Create Websites with Tailwindcss","summary":"Are you looking to speed up the development process of your web pages? Here are five essential resources that will help you improve the speed and quality of your projects created with TailwindCSS.","content_text":"How to create web pages faster?\n\nAre you looking to speed up the development process of your web pages? Here are five essential resources that will help you improve the speed and quality of your projects created with TailwindCSS.\nTailwindUI and how it can speed up your design process?\n\nIf you're already familiar with TailwindCSS, pay attention to TailwindUI.com! This platform offers a wide range of components and templates designed to perfectly complement the TailwindCSS workflow. From headers, menus, testimonials section, ecommerce and you will find a variety of elements ready to integrate into your projects. Although it is a paid option, it offers excellent value for money by providing a complete library of ready-to-use resources and you will be able to find free resources available to integrate.\nHyperUI.dev\n\nIf you are looking for a free and open source alternative, HyperUI.dev is your answer. This tool offers a collection of free items divided into categories such as apps, marketing, and e-commerce. The best thing is that it provides multiple versions of each resource, allowing you to choose the most suitable one for your project. With its focus on accessibility and usability, HyperUI is a great option to speed up your workflow without compromising quality.\nWhat does HeadlessUI offer for those who need interactive functionalities?\n\nIf you're ready to take your projects to the next level with dynamic interactions, HeadlessUI is your ideal ally. Designed specifically to work with Tailwind CSS, this library offers a variety of interactive components ready to implement in your web applications. Although it focuses on React, it provides a solid solution for integrating interactive UI elements efficiently and effectively.\nWhere to find icons compatible with TailwindCSS?\n\nFor those looking for a wide range of TailwindCSS compatible icons, HeroIcons.com is the perfect solution. This library offers an extensive collection of icons in SVG and JSX formats, making them easy to integrate into your projects. With customization options and a sleek interface, HeroIcons streamlines the design process by providing a wide variety of options for every need.\nWhat is the best source of SVG icons for web design projects?\n\nIf you need even more SVG icon options for your projects, SVGRepo.com is the answer. With a wide selection of icons in monochrome and multicolor, this platform allows you to find the perfect icon for your design needs. Additionally, it offers customization and direct download options, making it easy to integrate custom icons into your projects quickly and easily.\n\nWith these tools you will be able to create web pages with TailwindCSS in a fluid, fast and professional way.","date_published":"2024-04-10T02:26:27.919Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["css","tailwindcss","tools"],"image":"https://gndx.dev/og/en/blog/040924-5-herramientas-gratis-para-crear-paginas-web-con-tailwindcss.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/040924-5-herramientas-gratis-para-crear-paginas-web-con-tailwindcss.md"},{"id":"https://gndx.dev/en/blog/190324-palindromos-en-javascript/","url":"https://gndx.dev/en/blog/190324-palindromos-en-javascript/","title":"Palindromes in JavaScript","summary":"Palindromes and how to solve this problem with JavaScript can be part of the most common technical tests that a professional in JavaScript software development usually does. This article explores a method for identifying the patterns that make up a palindrome.","content_text":"Palindromes and how to solve this problem with JavaScript can be part of the most common technical tests that a professional in JavaScript software development usually does. This article explores a method for identifying the patterns that make up a palindrome.\nWhat is a palindrome?\nA palindrome is a word, phrase, number, or other sequence of characters that reads the same backwards and forwards. This section covers strategies for determining whether a given input is a palindrome, showing its ability to work with strings and logic.\nHow to determine if a string is a palindrome in JavaScript?\nWe will create an algorithm to determine if a given input is a palindrome, working on the ability to work with strings and logic.\nHow to solve a Palindrome in JavaScript?\n\nfunction isPalindrome(string) {\n // We normalize the text, converting it to lowercase and then removing all non-alphanumeric characters, including the hyphen.\n var normalizedString = string.toLowerCase().replace(/[\\W]/g, '');\n\n// Will compare the normalized string with its inverted version.\n var reversedString = normalizedString.split('').reverse().join('');\n\n// Will return true if the strings are equal.\n return normalizedString === reversedString;\n}\n\nThis approach demonstrates that with basic knowledge of JavaScript and a clear understanding of palindromes, we can create efficient solutions to seemingly complex problems. Before writing a line of code it is important to understand the problem, the solutions do not have to be complex.","date_published":"2024-03-20T03:09:25.305Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["javascript","palindrome","programming"],"image":"https://gndx.dev/og/en/blog/190324-palindromos-en-javascript.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/190324-palindromos-en-javascript.md"},{"id":"https://gndx.dev/en/blog/121223-comprar-un-dominio-com/","url":"https://gndx.dev/en/blog/121223-comprar-un-dominio-com/","title":"How to Buy a .com Domain?","summary":"buy domains at NameCheap: discover exclusive offers, protect your privacy and manage DNS easily.","content_text":"Buying a domain name may seem like an arduous task, but with the right guidance, the process becomes simple and accessible. This article will show you step by step how to choose and purchase your ideal domain, using namecheap.com, and sharing tricks to do it efficiently and economically.\nHow to Choose the Best Platform to Buy a Domain?\nThe choice of platform is crucial. But Namecheap.com stands out for its ease of use and attractive offers for new users. Use the coupon: HOLIDAYCOM to get a .com domain for $5.98 USD. In addition, it offers a wide range of products and services at varied prices, making it a versatile option for different needs.\nWhat Considerations Should You Have When Choosing a Domain Name?\nWhen selecting a domain, it is vital to keep in mind the word, phrase or name you want. .com domains are popular and easy to remember, but it's often difficult to find one available without word combinations already used. Alternatives such as .net, .org, .dev, and country extensions such as .co, .mx, .es among others, offering a range of possibilities.\nHow Can You Take Advantage of Discounts and Offers on NameCheap?\nFor new users, Namecheap has tempting offers like discounts up to 50% on the first purchase. In addition, it has a section of domains for $2 USD or less, ideal for small or low-budget projects. It is important to remember that these prices are usually promotional and may change upon renewals.\n\nGet your .com at a special price: https://namecheap.pxf.io/21YNQa\nWhat Benefits Does NameCheap Offer in Domain Privacy Management?\nNameCheap stands out by including, at no additional cost, the domain privacy option, which means that your personal data remains hidden in public records. This feature is crucial to protect your personal information and that of your project and on other platforms this is usually priced from $5 or more.\nHow to Manage the Domain Once Acquired?\nOnce the purchase is complete, the next step is to configure the DNS (Domain Name Servers), which connect your domain to the IP address of the server where your site will be hosted. This process is essential for your domain to be functional and direct visitors to your website.\nConclusion\nWith these steps, purchasing a domain becomes a manageable and less intimidating task. Remember that choosing the right platform and domain are essential for the success of your online project. NameCheap offers an accessible and affordable route, especially for those new to the digital world.","date_published":"2023-12-13T00:27:34.300Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["products","namecheap","domains","offers"],"image":"https://gndx.dev/og/en/blog/121223-comprar-un-dominio-com.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/121223-comprar-un-dominio-com.md"},{"id":"https://gndx.dev/en/blog/061223-gemini-la-nueva-ia-de-google/","url":"https://gndx.dev/en/blog/061223-gemini-la-nueva-ia-de-google/","title":"GEMINI the new Google AI","summary":"In a world where artificial intelligence (AI) is continually making strides, Google DeepMind now introduces Gemini, its most advanced and versatile Artificial Intelligence model to date.","content_text":"In a world where artificial intelligence (AI) is continually making strides, Google DeepMind now introduces Gemini, its most advanced and versatile Artificial Intelligence model to date. With the promise of a world enhanced by AI, this innovative development represents a significant leap in the way we understand and use artificial intelligence in various applications.\nWhat is Gemini and what are its characteristics?\n\nGemini is a multimodal AI model designed by Google DeepMind, capable of understanding and operating with different types of information such as text, code, audio, image and video. This multi-modal capability allows it to tackle a range of tasks with an unprecedented level of flexibility and efficiency. Some key features of Gemini are:\nMultimodality: Ability to process and combine different types of data.\nFlexibility: Efficient operation on different platforms, from data centers to mobile devices.\nAdvanced performance: Outperforms previous models in academic and practical benchmarks.\nHow does Gemini compare to ChatGPT?\n\nGemini stands out for its superior performance in a wide range of tasks. Some highlights are:\nPerformance on MMLU: Gemini Ultra is the first model to outperform human experts in massively multitasking language understanding (MMLU).\nMultimodal capabilities: Excels in benchmarks that require multimodal and complex reasoning, excelling in tasks that involve images, audio and video.\nWhat advanced capabilities does Gemini offer?\n\nGemini 1.0 displays sophisticated multimodal reasoning capabilities, allowing you to:\nUnderstand complex information: Can process and synthesize written and visual information efficiently.\nGenerate insights: Able to extract knowledge from large volumes of data.\nHow does Gemini contribute to the advancement of programming?\n\nThe Gemini model has shown exceptional abilities in the field of programming, with capabilities including:\nCode understanding and generation: Understand and generate high-quality code in various programming languages.\nPerformance in coding benchmarks: Excellent performance in industry standard evaluations.\nWhat improvements does Gemini bring in terms of scalability and efficiency?\n\nGemini 1.0 has been optimized to be a highly scalable and efficient model, standing out for:\nUsing AI-optimized infrastructure: Trained on Google TPUs, allowing for fast and efficient performance.\nScalability and reliability: Designed to be Google's most reliable and scalable model.\nHow does Google ensure security and responsibility in the development of Gemini?\n\nSafety and accountability are critical in Gemini development, with approaches including:\nComprehensive security assessments: Rigorous testing to identify and mitigate potential risks.\nCollaboration with external experts: To identify and address blind spots in model evaluation.\nWhat are the practical applications of Gemini and its availability?\n\nGemini is rolling out to a variety of Google products and platforms, with applications including:\nIntegration into Google products: Such as Bard and Pixel devices.\nDeveloper availability: Access through Google AI Studio and Google Cloud Vertex AI.\n\nThe introduction of Gemini marks a milestone in the field of AI, offering advanced, multi-modal capabilities that promise to transform the way we interact with technology in our daily lives. With a focus on safety and responsibility, Gemini is emerging as a catalyst for innovation and progress in multiple fields.","date_published":"2023-12-06T20:28:08.628Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["ia","Google","gemini","artificial intelligence"],"image":"https://gndx.dev/og/en/blog/061223-gemini-la-nueva-ia-de-google.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/061223-gemini-la-nueva-ia-de-google.md"},{"id":"https://gndx.dev/en/blog/061223-gitmoji-personaliza-tus-commits/","url":"https://gndx.dev/en/blog/061223-gitmoji-personaliza-tus-commits/","title":"Make your GIT Commit messages with GitMoji","summary":"Create the best messages for GIT Commit and add style and intent, use gitmoji as a standard for your messages.","content_text":"\"Create the best messages for GIT Commit and add style and intent, use gitmoji as a standard for your messages in your projects.\n\nWhat is GitMoji and How Does it Improve Communication in Projects?\nGitMoji is a tool that introduces a single visual standard for your commit messages. Its primary function is to provide a clear and efficient way to communicate intentions and changes to a project. This tool has become essential in many environments, both professional and personal, due to its ability to simplify and clarify communication in work teams.\n\nHow to Install GitMoji?\n\nWith a simple command in your terminal you can add it to your system as a global package.\n\nnpm i -g gitmoji-cli\n\nHow GitMoji Works in Practice?\nThe process of using GitMoji is simple but powerful. Users can access a wide range of emojis and visual elements on your website, allowing them to select the most appropriate ones to represent different aspects of their work, such as updates, new features, critical fixes, and more. These visual elements make it easy to quickly identify the nature of each change or addition to the project.\n\nInitialize GitMoji before submitting a commit:\n\ngitmoji -c\n\nWhat are the Benefits of Using GitMoji in Projects?\nUsing GitMoji in projects brings multiple benefits. It allows for more efficient and effective communication within teams, facilitates the identification and tracking of specific changes, and improves project management. Furthermore, its use has extended to various areas, demonstrating its versatility and effectiveness in different types of projects, from open source developments to personal initiatives.\n\nGitMoji represents an invaluable tool in the field of programming and commits, demonstrating how visual elements can significantly improve communication and management in various projects. Its ease of use and the benefits it provides make it a standard worthy of consideration for any work team.","date_published":"2023-12-06T17:51:59.193Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["git","github","gitmoji"],"image":"https://gndx.dev/og/en/blog/061223-gitmoji-personaliza-tus-commits.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/061223-gitmoji-personaliza-tus-commits.md"},{"id":"https://gndx.dev/en/blog/121123-instalar-phython-en-macos-sonoma/","url":"https://gndx.dev/en/blog/121123-instalar-phython-en-macos-sonoma/","title":"Install Python on MacOS Sonoma","summary":"Learn how to install Python with Pyenv using Brew on macOS Sonoma. Follow these steps to supercharge your development workflow.","content_text":"Ready to Boost your Development Environment in macOS Sonoma?\n\nIf you are passionate about Python development, optimizing your environment is key. Learn how to install Python with Pyenv using Brew on macOS Sonoma. Follow these steps to supercharge your development workflow.\nWhy Pyenv and Brew?\n\nPyenv lets you manage Python versions efficiently, while Brew simplifies installing tools on macOS. Together, they offer a powerful combo to have complete control over your development environment.\nWhat is Brew and Why Should You Use It?\nHomebrew is a package manager for macOS that simplifies the installation and management of tools and software. Discover why this tool is essential to optimize your development experience on macOS.\n\nBefore you begin, make sure you have Brew installed. If you don't have it yet, run the following command in your terminal:\n\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n## Step 2: Installing Pyenv\n\nWith Brew installed, install Pyenv with a simple command:\n\nbrew install pyenv\n\nThen, add these lines to your profile file (such as .zshrc or .bashrc):\n\neval \"$(pyenv init --path)\"\neval \"$(pyenv virtualenv-init -)\"\n## Step 3: Installing Python with Pyenv\n\nNow that Pyenv is configured, install the version of Python you need. For example, for Python 3.9.7:\n\npyenv install 3.12\n\nSet this version as the default:\n\npyenv global 3.12\n## Step 4: Verification\n\nMake sure the installation was successful:\n\npython --version\n\nYou should see the version you just installed. Ready! You now have a managed Python environment with Pyenv and Brew on your macOS Sonoma.","date_published":"2023-11-12T22:43:17.223Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["python","pyenv","homebrew"],"image":"https://gndx.dev/og/en/blog/121123-instalar-phython-en-macos-sonoma.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/121123-instalar-phython-en-macos-sonoma.md"},{"id":"https://gndx.dev/en/blog/041123-volver-a-empezar-desde-cero/","url":"https://gndx.dev/en/blog/041123-volver-a-empezar-desde-cero/","title":"Start over from scratch in Programming","summary":"Computer programming is a massive and ever-changing world. As a beginner, it can be daunting and intimidating just knowing where to start learning. But you are not alone.","content_text":"Computer programming is a massive and ever-changing world. As a beginner, it can be daunting and intimidating just knowing where to start learning. But you are not alone. With over 22 years of experience in software development, I will share some essential tips for those who want to delve into this fascinating discipline.\nWhy is it important to constantly practice and improve your skills?\n\nThe practice equips the individual with essential skills and knowledge to become an expert in their field. Today, you have access to the internet, books, courses and various educational platforms. But you can also improve your skills and knowledge through trial and error, hands-on experience, and solving challenges in real time.\nHow can the community help?\n\nBy interacting with others in the community, you can gain valuable knowledge, experiences, and resources. You can learn from the mistakes and successes of others, be inspired by their achievements, and get their support and guidance. Sometimes you can find mentors in the community who can guide you and offer a solid perspective.\nWhy is unlearning sometimes necessary to learn new skills?\n\nThe concept of 'unlearning' is fundamental in an individual's learning journey. As technologies evolve, it may be necessary to shed old practices and concepts to embrace new techniques and ways of thinking. This way, you can keep your skills and knowledge up to date and relevant.\nWhy isn't failure always a step back?\n\nFailure is not always synonymous with setback. Often, it is an opportunity to learn and grow. By facing challenges and experiencing failures, you can identify areas of weakness and opportunities for improvement. Remember, a single mistake, a layoff, or a bad day are not reasons to give up.\nHow can you test your skills?\n\nAn effective way to test your skills is through projects. Projects allow you to apply what you have learned in a practical way. They also challenge you to employ your skills in decision-making, problem-solving, and developing viable solutions.\nWhy you should never stop learning?\n\nConstant learning is crucial to staying up to date with the latest technologies and best practices in the technology industry. By maintaining a continuous learning approach, you can stay ahead of changes and emerging trends in your field. You should never limit yourself to the knowledge and skills you already possess, but rather actively seek out new ideas and approaches to broaden your horizons.\n\nFinally, remember that you are not alone on your learning path. As Oscar mentions, you can ask communities for help, learn from others, and in turn become a mentor to others. At the end of the day, every challenge, every failure, and every success are steps towards your ultimate goal of becoming a great software development warrior.","date_published":"2023-11-04T21:49:06.560Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["conferences","employment","technology","programming"],"image":"https://gndx.dev/og/en/blog/041123-volver-a-empezar-desde-cero.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/041123-volver-a-empezar-desde-cero.md"},{"id":"https://gndx.dev/en/blog/231007-como-empezar-tu-blog-o-portafolio-con-astro/","url":"https://gndx.dev/en/blog/231007-como-empezar-tu-blog-o-portafolio-con-astro/","title":"How to Start your Blog or Portfolio with Astro?","summary":"Do you want to start your blog or online portfolio? But you feel lost in the process, you have come to the right place. I will guide you through the steps to start your project using Astro, a powerful tool that will simplify the entire process.","content_text":"Do you want to start your blog or online portfolio? But you feel lost in the process, you have come to the right place. I will guide you through the steps to start your project using Astro, a powerful tool that will simplify the entire process.\nWhat is Astro and why should you use it?\n\nAstro is one of the most popular tools for website creation. Because? Because it allows you to take full advantage of all its advantages quickly and easily. With a focus on content and impressive loading speed, Astro becomes your perfect ally.\nDiscover the Minimalist Template\n\nTo get started, I'll introduce you to a template I've created specifically to help you launch your blog or portfolio effectively. This template focuses on minimalist design, prioritizing the presentation of who you are, what you do, and your social networks.\n\nEV0 Astro Theme\n\nKey Features of EV0 Astro Theme Template\n\nThis template is designed with the following features in mind:\nMinimalist Style: Its design focuses on essential information.\nSEO Friendly: It is optimized for search engines and friendly URLs.\nFully Responsive: Adapts to any device and resolution.\nIntegration with YouTube: You can show your latest videos if you want.\nSimple Commands: Includes a command line command to easily add new blocks.\n100/100 Lighthouse\nPWA Ready\nClone the Repository\n\nBefore you start, you need to clone the repository of this template.\n\nRepository: https://github.com/gndx/ev0-astro-theme\nCustomize and Configure\n\nOnce cloned, move to the project folder and run npm install to install the dependencies. In the config file, you can customize your site information, enable features like YouTube, and define your social networks.\n\nIn the repository you will find all the documentation to customize it:https://github.com/gndx/ev0-astro-theme\nCreate your Content\n\nThe structure of the content of your blog or portfolio is found in the \"blog\" section. Each file represents a page or section of your website and contains relevant information such as title, description, date, image, category, tags, and author.\nStart Writing!\n\nThe best part is that you can start creating your content directly in this file, without the need for databases or third-party tools. Everything will be within this same project.\nLocal development environment\n\nOnce you've customized your site and created your content, it's time to test it. Run npm run dev in your terminal and open your site locally in your browser. Your blog or portfolio will be ready to go!\nDo you want to learn more about Astro?\n\nIf you want to go deeper into using Astro, I recommend my online course. You will learn how to get the most out of this tool and all its features.\n\nIn short, with Astro.build and this minimalist template (EV0 Astro Theme), you will be able to launch your blog or portfolio in an effective and personalized way. Dare to explore and share your knowledge with the world!\n\nRemember that this template is completely open source, so you can adapt it, modify it and submit your improvements to the main repository. I hope this guide helps you on your path to creating your website!\nStep by Step Video:","date_published":"2023-10-07T01:55:35.668Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["themes","open source","youtube"],"image":"https://gndx.dev/og/en/blog/231007-como-empezar-tu-blog-o-portafolio-con-astro.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/231007-como-empezar-tu-blog-o-portafolio-con-astro.md"},{"id":"https://gndx.dev/en/blog/231006-como-encontrar-inspiracion-para-tu-portafolio/","url":"https://gndx.dev/en/blog/231006-como-encontrar-inspiracion-para-tu-portafolio/","title":"How to Find Inspiration for Your Portfolio?","summary":"You're about to build a portfolio and you're out of inspiration. Don't worry, here we will show you how to take advantage of various tools and resources to effectively bring your first project to life.","content_text":"You're about to build a portfolio and you're out of inspiration. Don't worry, here we will show you how to take advantage of various tools and resources to effectively bring your first project to life.\nWhere to Find Inspiration?\n\nMy first recommendation is to visit dribble.com, a platform rich in inspiration. In its inspiration section, you will find a wide collection of projects created by professionals from various areas. Here, you can explore ideas and concepts that will drive your project, whether it is a portfolio, an idea, or any creation.\nWhy is Dribbble.com Ideal?\n\nDribbble.com offers much more than just inspiration. Plus, it gives you access to color palettes, allowing you to find the perfect combination for your project. Whether in design, shapes, elements or colors, this platform is a treasure trove of ideas.\nHow to Use Dribbble?\n\nUsing Dribbble is simple. You just have to visit the inspiration section and explore different elements through its search engine. You can find related elements, such as home pages and entire websites, to identify the project you want to build or get inspiration from.\nAre you looking for Projects with Code?\n\nIf you are looking for a project ready to modify and take to production, I recommend exploring repositories with more than 100 open source projects. This means that you can use, customize and adapt them according to your needs. Some of these projects even come with demonstration and the technologies used.\n\nDownload the projects: github.com/Evavic44/portfolio-ideas\nWhat to do with the projects?\n\nDon't worry about building everything from scratch. Simply choose the project you like the most, copy it and adjust it according to your requirements. Don't forget to give credits to the original author. Take your time to analyze them and find the one that best suits you.\nMore Resources?\n\nIn closing, here are two additional projects, created by me, that you could use and enjoy.\n1. Free Linkree\n\nIf you want to have a page that groups your links, social networks and is your entry point for your social networks, I offer you an adaptation of Linkree. This project is based on HTML and CSS, making it easy to edit and customize.\n\ngndx: github.com/gndx/gndx.io\n2. Minimalist Design Blog\n\nIf you are looking for a more robust website with features like minimalist design, RSS support, and a focus on working with Markdown, PWA, among other features. This is the same template that I use on this blog and you can clone it and adapt it according to your needs.\n\nAstro Blog Theme: github.com/gndx/ev0-astro-theme\nLet's get to work!\n\nWith these resources and tools, you are ready to start your portfolio project. Don't hesitate to explore them and customize them according to your needs!\nVideo","date_published":"2023-10-06T20:19:02.615Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["themes","youtube","open source"],"image":"https://gndx.dev/og/en/blog/231006-como-encontrar-inspiracion-para-tu-portafolio.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/231006-como-encontrar-inspiracion-para-tu-portafolio.md"},{"id":"https://gndx.dev/en/blog/230920-ev0-astro-theme/","url":"https://gndx.dev/en/blog/230920-ev0-astro-theme/","title":"EV0 Astro Theme","summary":"Discover EV0 Astro Theme, the web design template that will revolutionize the way you build your blog or online portfolio.","content_text":"I am passionate about creating products and projects that impact the community and people, for that reason I want to present EV0 Astro Theme, a template designed for blogs and portfolios.\n\nFor a long time, I have been building and releasing open source resources, such as HTML/CSS/React templates, and this time, my focus was on working with different resources for Astro.Build.\n\nEV0 Astro Theme\nWhat makes EV0 Astro Theme stand out?\n\nEV0 Astro Theme is the result of my desire to change and improve my blog. Over time, I have used templates from other professionals and pre-built resources on my blog. I have also tried platforms such as Wordpress, Ghost, Next.JS, among others. Now, it's the turn of Astro.build, a powerful framework for building web pages. Today that is over and I built a resource completely from scratch.\n\nEV0 Astro Theme is a base Astro template, it is designed to serve as an ideal starting point for your own blog or portfolio, with features that stand out:\n✅Minimalist style: Uses Tailwind CSS for a clean and elegant design.\n✅Exceptional performance: Achieve a 100/100 rating on Lighthouse, Google's tool that measures web performance.\n✅SEO Friendly: Features canonical URLs and OpenGraph data for better search engine optimization.\n✅Support for sitemaps: Facilitates the indexing of your site by search engines.\n✅RSS feed support: Allow your followers to easily stay up to date.\n✅Markdown and MDX Compatibility: Write content simply and effectively.\n✅PWA Ready: Provides a progressive experience for mobile users.\n✅Fully Responsive: Ensures your site looks and functions optimally on all devices.\n✅Robots.txt & Humans.txt: Full control over search engine indexing and communication with visitors.\n✅Support for TypeScript: Facilitates development with this programming language.\n✅Syntax Highlighting: Makes your code and content more readable.\n✅YouTube Integration: Easily embed YouTube videos in your posts.\n✅CLI to add new posts: Simplifies content creation.\nWhy focus on a 100/100 rating on Lighthouse?\n\nOne of the highlights of EV0 Astro Theme is its exceptional 100/100 rating on Lighthouse, a crucial Google tool for measuring key factors of a website such as performance, accessibility, best practices, SEO and PWA. This template has been meticulously designed to meet each of these criteria, ensuring an optimal user experience and exceptional performance.\nHow can you use EV0 Astro Theme?\n\nMy goal in creating EV0 Astro Theme is to provide you with a versatile, high-performance template that you can use, improve and adapt according to your needs. The community is essential, so I encourage you to take advantage of this template, customize it, and contribute to its continued development. I hope you are as excited as I am and that you share it with other creative enthusiasts on the web.\n\nDownload \"Evo Astro Theme\"\n\nEV0 Astro Theme is the start of an exciting journey towards building exceptional blogs and portfolios. Take advantage of this opportunity and start creating today!","date_published":"2023-09-20T02:19:01.176Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["themes","open source","star","blog","portfolio"],"image":"https://gndx.dev/og/en/blog/230920-ev0-astro-theme.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/230920-ev0-astro-theme.md"},{"id":"https://gndx.dev/en/blog/230915-conseguir-tu-primer-empleo/","url":"https://gndx.dev/en/blog/230915-conseguir-tu-primer-empleo/","title":"How to Get Your First Job Opportunity?","summary":"You are in your fifth semester of your degree and you are tirelessly searching for your first job opportunity in the technological field. Despite your efforts, sometimes you feel unmotivated when you don't see results. What can you do to achieve it?","content_text":"How to Get Your First Job Opportunity in the Technological World?\n\nYou are in your fifth semester of your degree and you are tirelessly searching for your first job opportunity in the technological field. Despite your efforts, sometimes you feel unmotivated when you don't see results. What can you do to achieve it?\nHave you Evaluated your Strategies?\n\nThe first thing you should ask yourself is: What strategies have you used so far? Sometimes, we focus on activities that do not lead us to the desired goal. Have you reflected on this?\nThe Power of Networking\n\nOne of the most effective strategies is networking. Connecting with people who share your interests can open unexpected doors. Participating in events, talks, hackathons, or simply engaging in conversations with professionals in the field can generate real opportunities.\nDefine your Objective\n\nIt is essential to clearly define your objectives. What specific area are you interested in? What technologies do you want to master? Setting a concrete goal will help you focus your efforts more effectively.\nResearch and Adapt\n\nResearch the companies and startups that are related to your objective. Know the technologies they demand and look for job opportunities in them. Be sure to tailor your profile, resume, and LinkedIn to excel in these aspects.\nAcquire the Necessary Skills\n\nIf you notice that you are missing specific skills, don't hesitate to learn them. Don't waste time applying for positions for which you are not prepared. Focus on acquiring what is needed for your goal.\nKeep Reality in Mind\n\nBe realistic about your times and expectations. If a position has been vacant for a long time, it may no longer be available when you are ready. Make sure your goal is achievable in the time you have set for yourself.\n\nIn short, landing your first job opportunity in the tech world requires strategy, focus, and adaptability. Connect with people, define your goal, research and adapt, and acquire the necessary skills. Keep reality in mind and work steadily towards your goal. Success is at your fingertips!\n\nI hope these tips are useful to you, and I encourage you to continue searching with determination. Best of luck in your search, Mike Wolf!","date_published":"2023-09-15T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["youtube","employment","technology"],"image":"https://gndx.dev/og/en/blog/230915-conseguir-tu-primer-empleo.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/230915-conseguir-tu-primer-empleo.md"},{"id":"https://gndx.dev/en/blog/crear-youtube-shorts-con-inteligencia-artificial/","url":"https://gndx.dev/en/blog/crear-youtube-shorts-con-inteligencia-artificial/","title":"Create YouTube Shorts with Artificial Intelligence","summary":"Artificial intelligence is already here and has shown that it allows us to be up to 50% more efficient in our daily activities.","content_text":"How to use artificial intelligence to create quality content on social networks?\n\nArtificial intelligence is already here and has shown that it allows us to be up to 50% more efficient in our daily activities. In this article, I will show you how I have mixed more than 5 artificial intelligence tools to create content that you can publish on your TikTok, reels, Shorts or any social network.\nWhat artificial intelligence tools do you need?\n\nBefore starting this process, it is essential that you know the tools we will use to create quality content. These are:\nChatGPT for creating scripts\n\nTo generate scripts for your videos, Chat GPT is a key tool. It allows you to obtain precise and concise text, perfect for your content on social networks.\n11ElevenLabs for audio generation\n\nWith Eleven Labs, you can convert scripts into high-quality audio. Although it may require some corrections, it is an essential part of giving your content a voice.\nMidJourney to create your own avatar\n\nMidJourney is a solution to create images with Artificial Intelligence. We will use it to create our avatar, this adds a unique touch to your videos and attracts the attention of your audience.\nD-ID for generating videos with avatars\n\nD-ID is the ultimate tool for combining your avatars with scripts and audio to create compelling videos. This platform offers you a wide range of options for creating videos.\nCapCut to add subtitles\n\nCapCut is a free application that allows you to easily add subtitles to your videos. This is crucial to making your content more accessible and engaging.\nHow does the process work?\n\nThe process consists of five essential steps:\n\n1. Generate the script with ChatGPT: Use ChatGPT to get a clear and concise script for your video. Make sure it is short and sweet.\n\n2. Convert script to audio: Use Eleven Labs to convert script to audio. Adjust and correct audio as necessary.\n\n3. Create your avatar with MidJourney: Create a custom avatar using MidJourney. This will add a unique touch to your content.\n\n4. Merge audio and avatar with D-ID: Use D-ID to combine audio and avatar to create a compelling video.\n\n5. Add subtitles with CapCut: Finish your video by adding subtitles with CapCut. This will improve the accessibility and appeal of your content.\nCosts and considerations\n\nIt is important to consider the costs associated with these tools. It is estimated to cost approximately $75 per month to use tools such as Eleven Labs, MidJourney and D-ID that require monthly subscriptions.\n\nD-ID, in particular, can be expensive if you plan to generate a large amount of content. Carefully consider whether investing in these tools aligns with your social media content strategy and goals.\n\nIn short, artificial intelligence offers a powerful way to create high-quality content for your social networks. If you are willing to invest time and money in these tools, you can take full advantage of their potential to increase your online presence and reach a broader audience.\n\nStart creating unique and engaging content with artificial intelligence today!","date_published":"2023-09-11T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","artificial-intelligence","YouTube","Internet"],"image":"https://gndx.dev/og/en/blog/crear-youtube-shorts-con-inteligencia-artificial.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/crear-youtube-shorts-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/en/blog/crear-miniaturas-de-youtube-con-inteligencia-artificial/","url":"https://gndx.dev/en/blog/crear-miniaturas-de-youtube-con-inteligencia-artificial/","title":"How to make thumbnails for YouTube with Artificial Intelligence","summary":"If you're looking to increase the visibility and appeal of your videos on YouTube, you can't overlook the power of thumbnails. These featured images are the first impression viewers will have of your content","content_text":"If you're looking to increase the visibility and appeal of your videos on YouTube, you can't overlook the power of thumbnails. These featured images are the first impression viewers will have of your content, so it's crucial that they are eye-catching and professional.\n\nWe show you how to create YouTube thumbnails with AI, using Canva + Midjourney.","date_published":"2023-07-20T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","ia","youtube","artificial intelligence"],"image":"https://gndx.dev/og/en/blog/crear-miniaturas-de-youtube-con-inteligencia-artificial.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/crear-miniaturas-de-youtube-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/en/blog/warp-terminal-con-inteligencia-artificial/","url":"https://gndx.dev/en/blog/warp-terminal-con-inteligencia-artificial/","title":"TERMINAL WARP with ARTIFICIAL INTELLIGENCE 🤖","summary":"Discover the power of Warp.dev, the terminal with Artificial Intelligence to improve your productivity in software development.","content_text":"What is Warp? A Revolutionary Terminal\n\nIf you are a software development professional or just a computer enthusiast, you are probably familiar with using the terminal in your operating system. But have you asked yourself if you are getting the most out of this tool? We'll introduce you to Warp, a modern terminal that is redefining the way we work with the command line. Are you ready to discover a new and efficient way of working in your daily life?\nWhat Makes Warp So Special?\n\nWarp is a terminal built with Rust that incorporates artificial intelligence to improve your workflow. What makes it special is its focus on efficiency and organization of your tasks within the terminal. Warp has been completely reimagined, calling the sections of commands you execute \"blocks\" and featuring the prompt at the bottom, allowing for better organization of your actions.\nCustomization and Unique Features\n\nOne of the features that stand out in Warp is its customization capacity. You can choose between different templates and configure options such as opacity, panel behavior and font, among others. Additionally, Warp comes with a series of features that you can enable or disable depending on your needs. The Warp team continues to work on adding new features, making it a constantly evolving tool.\nHow Does Artificial Intelligence Help You?\n\nOne of the most notable advantages of Warp is its built-in artificial intelligence. You can ask the AI ​​for commands, search for files, fix errors, and even get detailed explanations about specific problems. This allows you to work more efficiently, since you don't have to leave the terminal to search for solutions on the web.\nAvailable for All Operating Systems?\n\nUnfortunately, Warp is only available for MacOS and is, for now, incompatible with GNU/Linux and Windows systems. However, you can stay up to date with its development by visiting their website and filling out a form to be notified when it is available on other operating systems.\nHow Can You Win a T-Shirt and Stickers?\n\nIf you're excited for Warp and want to win an exclusive t-shirt and stickers, we have good news. Warp has a referral system that allows you to accumulate rewards for inviting other people to use this incredible terminal. You can get everything from exclusive themes to suitcases and caps.\n\nIn short, Warp is a terminal that is revolutionizing the way we work with the command line. With its focus on organization, customization, and the incorporation of artificial intelligence, it has become an essential tool for software development professionals. Although it is not yet available on all operating systems, its promising future will surely surprise many users in the future. Are you ready to give Warp a try and improve your productivity in the terminal?\n\nDownload WARP: https://gndx.link/warp","date_published":"2023-07-20T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","ia","youtube","artificial intelligence","terminal"],"image":"https://gndx.dev/og/en/blog/warp-terminal-con-inteligencia-artificial.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/warp-terminal-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/en/blog/crear-contenido-con-inteligencia-artificial/","url":"https://gndx.dev/en/blog/crear-contenido-con-inteligencia-artificial/","title":"CREATE CONTENT with artificial intelligence","summary":"Artificial intelligence offers content creators everything from idea generation to voice cloning and image and video creation completely with AI.","content_text":"How to Use Artificial Intelligence to Create Content on Social Networks\n\nArtificial intelligence is already here, and its impact on the efficiency of our daily activities is undeniable. In this article, I will show you how I have combined 5+ AI tools to create content that you can post on your TikTok or other social networks.\nWhat is artificial intelligence?\n\nArtificial intelligence is a field of computer science that focuses on developing systems capable of performing tasks that require human intelligence. In this case, we are talking about how AI can help you create content efficiently.\nChatGPT: Script Creation\n\nThe first tool we are going to use is ChatGPT, preferably in its Plus version with the GPT4 model. This tool allows us to generate scripts quickly and effectively. You just need to provide it with a brief description of what you want and it will give you a script that you can use.\nElevenLabs: Text to Speech\n\nOnce you have your script, the next tool is ElevenLabs. Here, we will convert the text into an audio file. It's important to review and adjust text to ensure it reads fluidly and naturally, as AIs may have slight limitations with certain words or technical names.\nMidJourney: Image Creation\n\nMidJourney is a tool that will allow you to create a personalized avatar. You can use a photo of yourself or generate a completely new avatar. The quality of the avatars generated is amazing.\nD-ID: Avatar Video Creation\n\nD-ID is the platform where we are going to combine our avatar and the generated audio to create a video. You can customize the appearance and length of the video. Note that D ID has free options, but also paid options which can be useful if you plan to create content regularly.\nCapCut: Add Subtitles\n\nTo give the final touch to your video, we will use CapCut. This tool allows you to easily add subtitles to your video. You can customize the style and color of the subtitles to make them look attractive.\nThe Cost of Creating Content with AI\n\nIt is important to note that many of these tools have costs associated with them. For example, Chat GPT costs $20 per month, ElevenLabs is token-based which costs around $5 per 30-40 minutes of audio, Mid Journey costs $10 per month, and D-ID can be expensive if you want to generate a lot of content, but has plans starting at $10 per month.\n\nHowever, if you leverage these tools effectively, you could generate content that goes viral and earns you income. Consider whether the investment of around $75 a month is worth it for you, as you could generate high-quality content that reaches a wide audience.\n\nIn short, artificial intelligence offers powerful tools for creating content on social networks. If you are willing to invest in these tools and work on your scripts, you could see a significant return on your investment. Would you dare to use AI to create content? Let me know your opinion in the comments!","date_published":"2023-07-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","ia","youtube","artificial intelligence"],"image":"https://gndx.dev/og/en/blog/crear-contenido-con-inteligencia-artificial.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/crear-contenido-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/en/blog/comprar-en-aliespress/","url":"https://gndx.dev/en/blog/comprar-en-aliespress/","title":"buy on AliExpress and NOT LOSE MONEY","summary":"Discover the secrets that great salespeople DON'T want you to know. In this video, I will teach you how to find the BEST DEALS on AliExpress","content_text":"How to Buy Successfully on Chinese Websites\n\nIf you are interested in buying from Chinese websites and want to ensure that the products you choose are quality and arrive at your door without complications, you are in the right place. With three years of experience in online shopping and hundreds of packages received, I can offer you some valuable advice to make your shopping experience satisfactory.\nHow to Research the Product?\n\nThe first tip is obvious but fundamental: research the product before buying it. Whether on Amazon, Mercado Libre, Aliexpress or any other page, make sure you understand the factors that will guarantee that your purchase is successful. Examine the costs, supplier, ratings and comments from other buyers. Don't get carried away by the lowest price, as the quality and legitimacy of the product are essential.\nWhy Read the Product Description?\n\nIt is crucial to carefully read the description of the product you are considering purchasing. Sometimes what appears to be a specific product turns out to be different in reality. The description and comments from other buyers can reveal valuable information about the product, avoiding disappointment.\nHow to Take Advantage of Price Differences?\n\nPrices vary between sellers on different websites. Perform an exhaustive search for the same product to find discounts or promotions. In my experience, I have gotten significant discounts by comparing prices and searching for deals. Don't just pay the first price you see; research and save.\nWhat should you know about shipping?\n\nWhen you buy from Chinese websites, pay special attention to shipping details. Shipping costs vary depending on the place of origin of the product. Please note that some shipments may involve customs taxes. Make sure you know the delivery times and consider if you need the product urgently. Patience is key in international purchases.\nHow to Identify Quality Products?\n\nOn Chinese pages like Aliexpress, you can find good quality products at competitive prices. Often these products are replicas of well-known brands. Although the details can be deceiving, many times the products are surprisingly similar to the originals. Pay attention to small details, such as stitching and finishes, to distinguish quality. Although they may appear similar at first glance, closer examination can reveal differences.\nFinal Conclusions\n\nShopping on Chinese websites can be a rewarding experience if you follow these tips. Research the product, read the description, look for deals, understand shipping costs and learn to distinguish the quality of the products. With this knowledge, you will be better prepared to enjoy your online purchases and receive quality products in the comfort of your home. Don't forget to subscribe, activate the bell and share your experience in the comments!","date_published":"2023-07-09T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","aliespress","youtube"],"image":"https://gndx.dev/og/en/blog/comprar-en-aliespress.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/comprar-en-aliespress.md"},{"id":"https://gndx.dev/en/blog/curiosidades-de-internet/","url":"https://gndx.dev/en/blog/curiosidades-de-internet/","title":"Internet Curiosities - Podcast #Error418","summary":"Discover how a rugged message, a simple symbol and a historic photograph laid the foundation for the digital revolution that transformed the world.","content_text":"How did the Internet emerge?\n\nInternet, a vast digital universe that has transformed the way we live, communicate and share information. But have you ever wondered how the Internet began? In this exploration, I'll take you through the origins and pivotal moments that shaped the web as we know it today.\nWhat happened in 1969?\n\nOur journey takes us to 1969, when the ARPANET team attempted to send the first message online. The anecdote is surprising, since the first message was truncated after only sending the letter \"L\" due to an error. They had to reboot the machine and after about an hour the message finally completed. What would have happened if the message had been sent in full? This was a bumpy start to a technological revolution, thanks to the US Department of Defense's ARPANET project in the 1960s.\nWho Was the Creator of the First Website?\n\nFast forward to 1991 and we meet Tim Berners-Lee, the creator of the first website in history. This simple website, hosted on a server, explained the concept of the World Wide Web. Although it is not available today, this website ushered in an era that would revolutionize the way we browse the web.\nWhere Does the \"@\" Symbol in Emails Come From?\n\nThe \"@\" symbol in our email addresses has an interesting origin. It was chosen by Ray Tomlinson simply because it was the only unused symbol on the keyboard. This seemingly insignificant detail changed the way we communicate, allowing the user to be separated from the domain and giving rise to the construction of emails as we know them today.\nWhen Was the First Domain Name Registered on the Internet?\n\nIn 1985, the first domain name on the Internet was registered: \"symbolics.com\". This event marked the beginning of the era of domains and competition for attractive names. These days, finding an available \".com\" domain with a keyword is quite a challenge, and if you do find it, it's likely to come with a high price.\nWhat Was the First Photograph on the Internet?\n\nOur journey takes us to 1992, when the first photograph was shared on the Internet. The image in question showed a group of CERN researchers posing in front of a laboratory. This seemingly simple image opened the door to a world of visual possibilities on the Internet, where images have become a fundamental element.\n\nThus concludes our journey through the origins of the Internet, a journey marked by small mistakes and seemingly insignificant decisions that shaped historical moments. These curious facts may not seem revolutionary, but they were the foundations of what we know today as the Internet. I hope you have enjoyed this journey through the time and details that helped shape the web as we know it. Until the next adventure in the digital world!","date_published":"2023-07-09T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","podcast","youtube","Internet"],"image":"https://gndx.dev/og/en/blog/curiosidades-de-internet.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/curiosidades-de-internet.md"},{"id":"https://gndx.dev/en/blog/alternativas-a-twitter-threads/","url":"https://gndx.dev/en/blog/alternativas-a-twitter-threads/","title":"Alternative to TWITTER: Meta Launches Threads","summary":"Meta will launch Threads, the new Meta app to compete with Twitter based on Instagram.","content_text":"What Alternative to Twitter Has Arrived?\n\nIf you are an active social media user, you have probably noticed the problems and changes on the popular Twitter platform in recent times. Since Elon Musk's acquisition, Twitter has been in a steady decline, with layoffs, major shakeups, and changes that have affected the user experience. One of the most recent issues that has generated controversy is the limitation on timeline access, which has led many to explore other options.\nWhat Limitations Is Twitter Experiencing?\n\nThe latest controversy surrounding Twitter centers on access restrictions to the platform. Twitter users have faced limits on the display of tweets, affecting both those who pay for the service as well as old and new users. The user experience has been compromised as they cannot access their timeline like they used to. This has led to the question of whether Twitter is in trouble.\nWhat is the Alternative Offered?\n\nHowever, an alternative to Twitter is already on the way. Meta, the company behind platforms like Facebook and Instagram, has announced the launch of its own microblogging app on July 6. This app will be text-based and connected to your Instagram accounts, allowing users to use their Instagram handles. This move by Meta promises a unique experience and could become serious competition for Twitter.\nWhat Do We Know So Far About the Meta App?\n\nAlthough we still don't have many details about this new application, you can now find it in the App Store. The available screenshots show that this application will be separate from Instagram, but will use the accounts of this platform. Additionally, on the app's website, you'll find a countdown timer marking the tentative launch. There is also a QR code that will take you directly to the App Store so you can keep an eye on its release.\nWhat is the Trick to Access the Application?\n\nBut here's the trick: if you can't wait to try it, just go to the Instagram app and search for \"seymore\" in the search engine. You'll see an icon that will allow you to access the app and set a reminder to download it on July 6. This new Meta app promises to be an exciting alternative to Twitter and has generated a lot of interest in the social media user community.\n\nIn short, while Twitter faces problems and limitations, Meta is about to present an alternative that could change the landscape of text-based social networks. Are you excited about this new option? Tell us in the comments what you think about this application that is emerging as a Twitter competitor.","date_published":"2023-07-04T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","twitter","threads","instagram"],"image":"https://gndx.dev/og/en/blog/alternativas-a-twitter-threads.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/alternativas-a-twitter-threads.md"},{"id":"https://gndx.dev/en/blog/como-ganar-dinero-con-inteligencia-artificial/","url":"https://gndx.dev/en/blog/como-ganar-dinero-con-inteligencia-artificial/","title":"MAKE MONEY WITH Artificial Intelligence","summary":"You can earn money by applying YouTube tips + Artificial Intelligence","content_text":"Can You Make Money with Artificial Intelligence?\n\nThe search for innovative ways to make money online has led to a boom in the creation of content generated by Artificial Intelligence (AI). In this article, we will explore whether it is feasible to earn income using AI and how this process works. Join me on this journey to find out.\nThe Use of Artificial Intelligence in Content Creation\n\nIf you've been browsing YouTube lately, you've probably seen a lot of videos promoting the idea of ​​making money with the help of Artificial Intelligence, such as \"ChatGPT.\" The premise behind these videos is to use AI to generate content automatically. But does it really work?\nExperiment 1: Finance from Scratch\n\nThe first attempt was to create a channel from scratch dedicated to finances. Tools like Canva and GPT API were used to generate video scripts. These scripts were then converted into video content using Eleven Labs to clone the creator's voice. However, the results were disappointing. After two weeks, the channel had only two subscribers and virtually no profits.\nExperiment 2: Another Approach\n\nThe second experiment was carried out on a secondary channel with some existing audience. AI-generated videos gained more attention, but still fell short of the desired results. Despite having more subscribers, profits were minimal and monetization was far from being achieved.\nExperiment 3: An Established Channel\n\nThe third attempt was made on a main channel with more followers. Although better results were generated, the gain remains modest. Videos created with the help of AI did not generate significant income.\nReflections and Conclusions\n\nThe idea of ​​using AI to create content is attractive, but the results so far have been disappointing. Although AI can be useful for generating scripts and basic content, it doesn't seem to be the magic bullet for making money online. Additionally, channels that involve the presence of the creator tend to be more effective.\n\nIn short, AI can be a useful tool for content creation, but it is no substitute for quality, authenticity, and creator involvement. If you're considering using AI to make money, keep in mind that the results may not be as lucrative as some YouTube videos suggest.\n\nUltimately, the path to making money online with AI is an evolving experiment, and results vary depending on many factors. If you decide to venture into this world, keep your expectations realistic and be prepared to work hard on building your audience and the quality of your content. AI can be a valuable tool, but it is not a magic formula for online financial success.","date_published":"2023-07-03T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","ia","money","gain"],"image":"https://gndx.dev/og/en/blog/como-ganar-dinero-con-inteligencia-artificial.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/como-ganar-dinero-con-inteligencia-artificial.md"},{"id":"https://gndx.dev/en/blog/setup-oscar-barajas-gndx/","url":"https://gndx.dev/en/blog/setup-oscar-barajas-gndx/","title":"My Remote Workspace and Streaming - Setup 2022","summary":"Characteristics of the two workspaces that I currently use, macOS, Windows and GNU/Linux.","content_text":"Every time I start a broadcast it is a tradition to upload a photo of my setup running a Platzi Live. Over time I have improved my work and broadcast space, both for the company I currently work for (Platzi) as well as for my YouTube or Twitch channel.\n\nI share with you the characteristics of the two workspaces that I currently have, macOS, Windows and GNU/Linux.\nmacOS Setup 2022\n\nOscar Barajas @gndx setup macOS\n\nMacBook Pro M1 Pro\n8-core CPU with 6 performance cores and 2 efficiency cores\n14 core GPU\n16-core Neural Engine\n16 GB unified memory\n512GB SSD\n\n2 Samsung led 27\" Dark Blue\nModel: C27R500FHL\n27\" LED screen\nResolution: 1920 x 1080 Pixels\n\nDual Monitor Desktop Support\n\nCanon EOS M200 Camera\nResolution: 24.1 MP\nModel: EF-M 15-45mm IS STM Kit (Black)\n\nElgato Cam Link 4K\nExternal camera capture card, stream and record with DSLR\n\n2 Elgato Key Light Air\nProfessional 1400 lumens desk light for streaming\n\nElgato Wave XLR\n75db audio mixer and preamp for microphone XLR to USB-C\n\nShure MV7 Microphone\nUSB microphone for podcasting, recording, live streaming\n\nElgato Stream Deck\n15 LCD keys: touch to change scenes\n\nLogitech MX Keys Keyboard\nLogitech Master Series MX Keys QWERTY Bluetooth keyboard\n\nLogitech MX Master 3 Mac\nAdvanced wireless mouse for Mac\n\nElgato Facecam\n\nEXTRAS:\nStanding Desk \niPad Pro M1 11\"\nAirPods Max\nAirPods Pro\nMagSafe Phone Support\nUSB C Hub\niPhone 12 Mini\niPhone 13\n-Motorola Edge 30 PRO\n\nOscar Barajas @gndx Setup 2022\nWindows 11 setup 2022\n\nOscar Barajas @gndx Windows 11 Setup\n\nCustom Windows PC\nCPU: AMD Ryzen™ 5 3600X 6 cores 4.4GHz\nGPU: NVIDIA GeForce GTX 1660 Super 6GB\nPlate: Gigabyte AM4 B450M DS3H\nBox: iCUE 220T RGB Airflow Tempered Glass Mid-Tower Smart Case White\nRAM: 32GB SPECTRIX D60G RGB DDR4 3200 2x16GB\nCooling: 3 120mm SP120 RGB LEDs\nLiquid Cooling: Cooler Master MasterLiquid\nSource XPG Core Reactor 80 Plus Gold Modular\nSSD: XPG SPECTRIX S40G RGB PCIE GEN3X4 M.2 2280 - 256GB\nHDD: 3TB SATA3\n\nEXTRAS\nMicrophone: HyperX QuadCast\nKeyboard: Asus ROG Falchion 60%\nMouse: Razer Mamba Elite\nCameras: Logitech C922 Pro Stream 1080p X2\nLights: Philips Hue\nGNU/Linux Setup 2022\n\nOscar Barajas @gndx Ubuntu Setup 2022\n\nMacBook Pro (Retina, 13-inch, Late 2013).\nOperating System: Ubuntu 22.04.1 LTS\nKeyboard: Keychron K6\nMouse: Microsoft Ergonomic Mouse\nMouse Pad: Razer Ergonomic Wrist Rest\n\nI hope these resources are inspirational to improve your workspace or review references to purchase similar products. All \"Buy\" links ship to Amazon with my referral link.","date_published":"2022-10-26T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","setup","gndx"],"image":"https://gndx.dev/og/en/blog/setup-oscar-barajas-gndx.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/setup-oscar-barajas-gndx.md"},{"id":"https://gndx.dev/en/blog/introduccion-a-solidity/","url":"https://gndx.dev/en/blog/introduccion-a-solidity/","title":"Introduction to Solidity - How to create a smart contract","summary":"Solidity is a high-level object-oriented language for implementing smart contracts. These contracts run on the Ethereum network, a decentralized network that allows users to execute contracts without the need for an intermediary.","content_text":"ETH Latam Bogotá was a one-day event entirely in Spanish with talks and workshops for people who want to learn about Ethereum. It allows it to be the gateway for those who wish to know the principles, values, uses and impact of technology, it was carried out during the activities prior to DEVCON 2022 in Bogotá, Colombia.\n\noscar barajas introduction to solidity\n\nDuring this event, I presented a Workshop where I explained how to create a smart contract in Solidity, the programming language to create smart contracts on the Ethereum network.\n\n Introduction to Solidity - How to create a smart contract \n\nOver the next few minutes you will learn the syntax of a smart contract, understand the particulars of the Solidity programming language, the programming language for Ethereum. For this we are going to understand the particularities, we will use Remix, an IDE (Integrated Development Environment) that allows us to compile and deploy smart contracts on the Ethereum network and resources that will allow you to continue learning Solidity.\n\nEnjoy this Workshop that was presented at ETHLatam in Bogotá on October 10, 2022.\n\n \n \nComments about the Solidity Workshop\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/en/about/"}],"tags":["others","conferences","solidity","ethereum"],"image":"https://gndx.dev/og/en/blog/introduccion-a-solidity.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/introduccion-a-solidity.md"},{"id":"https://gndx.dev/en/blog/hola-cdmx/","url":"https://gndx.dev/en/blog/hola-cdmx/","title":"Hello, #CDMX","summary":"What a pleasure to meet again, we have a lot to talk, see, listen to and yes, eat those delicious taquitos...","content_text":"Hello, #CDMX\n\nWhat a pleasure to meet again, we have a lot to talk, see, listen to and yes, eat those delicious solid tacos.\n\nMexico City Tacos\n\nThe last time we saw each other, the baby boy had not yet been born and although he accompanied us on that trip when we were pregnant, he has not yet discovered your magic. I know that one day it will and we will enjoy together all the good and bad that you can give.\n\nThat last time I visited you, I remember that they announced the first cases of that bug of which it is not worth mentioning more, but it was necessary on this one occasion and I just hope that everything continues well for everyone.\n\nToday I am here again, in the country where I was born and in the city that saw me leave, on an adventure that I never imagined would lead me to an adventure forming a family, and the birth of my firstborn \"El Bebeloper\".\n\nDon't be anxious, you will soon meet him, I hope for when we both celebrate our birthday in September, it won't be long, this time I come from work.\n\nI tell you that I get more involved in the topic of cryptothings, without getting into scams or pyramids. My job is to teach people to understand the technology behind all those strange concepts, that they understand their finances and can see value in blockchain technology and that is why I come to visit you, to speak at different conferences, activities and continue evangelizing the technology that has allowed countries like Ukraine, Cuba, Venezuela and recently Argentina to give their citizens control of their assets, to be able to send and receive without money safely. and without losing its value over time.\n\nWhile I work I will try to enjoy you and take care of you and if I visit as many taquerias as I can, I will only be there for a few days, I promise not to go away too much, but you will understand that it was not easy with a pregnancy, her birth and that bug.\n\nDon't worry, I will visit you very soon to enjoy your landscapes, museums, and all that food that I miss so much and yes, you will meet the bebeloper, that little Colombian with Mexican blood. I promise you that you will like him very much, I can't guarantee that he will behave well, but I know that you will get along very well.\n\nSee you soon...","date_published":"2022-08-21T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","stories","gndx","trips"],"image":"https://gndx.dev/og/en/blog/hola-cdmx.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/hola-cdmx.md"},{"id":"https://gndx.dev/en/blog/curso-gratis-de-programacion-en-platzi/","url":"https://gndx.dev/en/blog/curso-gratis-de-programacion-en-platzi/","title":"🚀 NEW FREE Programming Course","summary":"Learn to program and increase your income with the free programming course in Platzi","content_text":"Learn to program and increase your income with the Free programming course in Platzi, Many will believe that it is not possible to change careers and obtain a better income, but let me tell you a couple of stories from people who learned programming.\n\nWhy does learning to program help you increase your income?\nThe answer is very simple, it is one of the professionals that does not require a university degree to practice, the industry values ​​the skills obtained and the ability to solve problems with programming. Today, technology advances very quickly and requires a lot of talent that can solve, create, innovate, and maintain products and services based on technology. Salaries in the ecosystem are very good, with the option of changing countries and if you know English you can earn much more. Can you imagine earning $3,000, $5,000 or $10,000 USD monthly, this is possible by learning programming(1).\n\nenter image description here\n\nLearning programming is much easier than you think.\nWhen I started programming I was 12 in the year 2000, there were no online education platforms, nor as many resources as today, buying a book that would teach you programming was not cheap and accessing the content was more difficult and in English.\n\nToday you have education platforms, YouTube, free books in your language, content creators who share their knowledge, social networks and a private message to connect with experts.\n\nFREE Course to learn Programming.\n\nenter image description here\n\nPlatzi has launched a free course so that everyone can learn to program with more than 15 hours of video, 6 teachers who teach you their skills to master this profession.\n\nWhat you will learn in the free programming course:\nDesign algorithms\nDevelop software with functions, objects and events\nWrite fluent code in HTML, CSS and JavaScript\nProgram a video game for the web\n\nAnd if you DO NOT need prior knowledge, you will learn everything in the course.\n\nDon't wait any longer and learn to program and change your professional career:\nFree Programming Course. 🚀\n\nSource: 1: Technological profiles charge 42% more than the average","date_published":"2022-07-22T18:30:25.894Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","javascript","square","programming"],"image":"https://gndx.dev/og/en/blog/curso-gratis-de-programacion-en-platzi.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/curso-gratis-de-programacion-en-platzi.md"},{"id":"https://gndx.dev/en/blog/web3-se-construye-con-typescript/","url":"https://gndx.dev/en/blog/web3-se-construye-con-typescript/","title":"WEB 3 is built in TypeScript","summary":"I gave the talk \"WEB 3 is built in TypeScript\" at the TypeScript Day event of the Angular Bolivia community.","content_text":"I was invited to give the talk \"WEB 3 is built in TypeScript\" at the TypeScript Day event of the Angular Bolivia community.\n\nMy experience on the subject of Web3 begins in August 2021 when I decide to focus on understanding in detail the technologies behind Blockchain, Cryptocurrencies and understanding the concepts that are fundamental to understanding them and being able to one day not too distant future teach how to implement these technologies.\n\nI want to share with you part of my experience and what I have learned, it is worth mentioning that at no time are you obliged to buy any cryptocurrency, here we will not talk about investments, or obtaining monetary benefits, the topics that I try to teach or show with my experience is so that you can create your own opinion and have a path to follow.\n\nIt is important to understand where everything is born, it is important to understand the history and motivation of those who were visionaries in proposing these technologies, how everything started, who Satoshi Nakamoto is and why today we do not know his whereabouts, what it means to implement blockchain technologies and the mathematics behind cryptography. These questions will take you to the right path, the path that will allow you to understand where we are going.\n\nMy first step was to read the initial proposals better known as \"White Paper\" where we can understand each particularity and understand why. Bitcoin: A User-to-User Electronic Cash System (ES)\n\nNow it's time to understand some other particularities such as the different existing projects, including Ethereum and Solana.\n\nThis allowed me to understand that what we do in the considered Web 2.0 is the same thing that we can do in Web3, we continue using the same technologies such as React, Deploy on servers like Vercel, but we must pay attention to new concepts such as the technology behind the blockchain, decentralization, use new protocols such as iPFS (InterPlanetary File System) learn to work with the EVM (Ethereum Virtual Machine) to program our smart contracts, integrate JSON-RPC protocols and use the libraries such as Web3.js, Ethers.js or use development tools such as Hardhat or truffle.\n\nOne of my biggest surprises is that most of the tools to implement in our developments use TypeScript, this is why Web3 is being built with TS.\n\nI want to leave you my video where I explain my learning in Web3 in a little detail and I recommend the main tools to understand these new concepts.","date_published":"2022-02-20T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","gndx","typescript","youtube"],"image":"https://gndx.dev/og/en/blog/web3-se-construye-con-typescript.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/web3-se-construye-con-typescript.md"},{"id":"https://gndx.dev/en/blog/como-aprender-a-programar/","url":"https://gndx.dev/en/blog/como-aprender-a-programar/","title":"How to start PROGRAMMING?","summary":"At first it can be overwhelming, especially because you will find a lot of information on the internet, resources, books, courses, videos, among many other information, but with clear objectives, simple planning where you dedicate time and practice, you will be able to understand the programming","content_text":"Do you want to start programming?\n\nMany times taking the first step can be difficult and complicated, that is why I propose a series of tips so that you can start programming. The first thing you should keep in mind is that programming is a whole science, a series of methodologies and understandings about the world of computing.\n\nAt first it can be overwhelming, especially because you will find a lot of information on the internet, resources, books, courses, videos, among many other information, but with clear objectives, simple planning where you dedicate time and practice, you will be able to understand the programming and achieve your objectives whether by changing careers or starting a new one.\n\nI leave you my video where you will find all the information that will guide you to achieve your goal, being a programmer.","date_published":"2022-02-08T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","gndx","programmer","youtube"],"image":"https://gndx.dev/og/en/blog/como-aprender-a-programar.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/como-aprender-a-programar.md"},{"id":"https://gndx.dev/en/blog/inicios-de-internet-web-3/","url":"https://gndx.dev/en/blog/inicios-de-internet-web-3/","title":"The beginning of the Internet and the WEB 3.","summary":"Web3 are not only NFTs, there is going to be much more beyond that and it is about OWNERSHIP. We can take it to other areas, but they are fragile points","content_text":"Have you ever asked yourself how the Internet started? Because we use the technology we currently have, where all those successes originated to enjoy everything that the Internet offers us. Nowadays the Internet is part of the lives of many people, those of us who work through this tool can be grateful to everyone who has been part of what we know today as the internet.\nARPANET (1969)\n\nThe beginnings of the Internet date back to the beginnings of communications between computers, ARPAnet (advanced research projects agency network) was a computer network built to send military data and connect the main research groups in the United States. Yes, again the war led us to create innovations that marked humanity, since efforts to create computers existed since the beginning of the 20th century, it was not until the wars fought accelerated the research and financing to have computers that made more advanced mathematical calculations to calculate the trajectory of missiles, but this would be another story.\n\nIn the next 30 years many more innovations emerged around ARPAnet, but it was not until 1990 that Tim Berners-lee, an employee at CERN (European Council for Nuclear Research), created a NeXTcube computer, which we know today as WWW (World Wide Web) and ushered in a new era for the Internet.\nWeb 1.0\n\nThis term is a friendly way of calling the beginnings of WWW and the revolution that would come, the technologies that would be born and the creation of the foundations that today allow us to have a connection on multiple devices and we can have our refrigerator connected to the internet or control an entire house remotely.\n\nAt the beginning of the WWW, we had access to web pages and it was also the beginning of the adoption of the Internet by people, this added to the efforts of hackers who had the mentality of bringing a personal computer to every home, thanks to the fact that everything came together in a time of constant technological advancement, it was possible to generate new ways in which humans could connect, now we had a powerful tool that would lead us to be more connected, not only for scientific, academic, military issues, but to have fun, read and make our lives more comfortable.\n\nI can say that I had to live part of WEB 1.0, my beginnings on the Internet date back to 1997 when I was only 10 years old and where I had to access a computer that did not yet have a graphical interface, a black screen with a green cursor that allowed me to access different programs until curiosity led me to discover web pages and delve into the beginnings of Web 2.0.\nWEB 2.0\n\nI can say that I lived the experience of being part of the beginnings of Web 2.0, my beginnings were in 2001 with my first web pages and it was not until 2003 that I began to publish the first websites, my blogs, particularly sharing my knowledge in GNU/Linux, being part of the technology and sharing with more people who equally invested in this revolution on the Internet. I get to see the birth and death of technologies, proposals that remain up to date and the evolution of other technologies that we use today. It is no longer the same to make a website today as it was 20 years ago. What we want to rescue from WEB 2.0 is the way in which we can easily share information and this is why it gave the birth of social networks which allowed us to share, create and communicate, therefore, we define WEB 2.0 as \"Reading and Writing\".\nWEB 3\n\nNothing is written and this is the coolest thing of all, since we are at a stage where we can build the foundations that will give the impetus to WEB3. Recapitulating we can say that WEB 1.0 was read-only, with the arrival of WEB 2.0 we would have reading and writing and now with WEB 3 we will have \"Property\".\n\nI want to finish by mentioning something very important: Web3 are not only NFTs, there is going to be much more beyond that and it is about OWNERSHIP. We can take it to other areas, but they are fragile points. It will lead us to do surprising things if we see it as an opportunity to incorporate technologies like Blockachin, cryptography and the potential that cryptocurrencies offer us.\n\nI repeat it again, WEB 3 is not just NFTs, Bitcoin, Ethereum, Blockchain, it is much bigger, it is the beginning of a new way of seeing the internet and the way in which we can incorporate technology into our daily lives.\n\nRecently, I participated in an interview with other enthusiasts on the subject of WEB 3 and in a live interview they asked me about the aspect and here I share a brief summary of what I previously read.","date_published":"2022-01-31T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","web3","gndx","history"],"image":"https://gndx.dev/og/en/blog/inicios-de-internet-web-3.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/inicios-de-internet-web-3.md"},{"id":"https://gndx.dev/en/blog/vale-la-pena-comprar-un-oculus-quest-2/","url":"https://gndx.dev/en/blog/vale-la-pena-comprar-un-oculus-quest-2/","title":"Is an Oculus Quest 2 worth buying?","summary":"Oculus Quest 2, analysis, review of the main features, price, accessories, games, advantages and disadvantages and if it is worth buying one in 2022.","content_text":"In simple words, it is a NO, it is not worth buying one in 2022.\n\nBut you might wonder why? It is a device that has a price of 299 USD, somewhat economical considering the features it has, but we must also consider that we must acquire other elements to make the most of it, among them are adapters to play from the PC, a good case to keep them well taken care of, consider that the games range from 9.99 USD to 39.99 USD and some require purchasing extra accessories to complement the game.\n\nAnother reason why I do not consider it worth it is that it is not easy to acquire in Latin America, we must purchase it through Amazon or with lockers and even then we must pay the necessary taxes, pay the import duty and shipping costs. This limits the possibility of interacting with your friends and acquaintances, also considering that it is a device for personal use and it is not possible to share it at the same time or play as a family with the same device as you could with a video game console.\nWhy else would I buy it?\n\nIf you want to experiment in creating the new interfaces that these types of devices can provide us, to test the new technologies that they are implementing and if you do not want to be left out of the metaverse, it is a good option. In my personal case I want to understand how developments are carried out for this platform as well as the construction of games for Oculus Quest 2.\n\nIf you have an Oculus Quest and you want to share a moment, add me, my username is \"gndx.\" In the following video I give a more detailed review and tell you my experience with the Oculus Quest 2.","date_published":"2022-01-27T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","oculus","metaverse","reviews"],"image":"https://gndx.dev/og/en/blog/vale-la-pena-comprar-un-oculus-quest-2.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/vale-la-pena-comprar-un-oculus-quest-2.md"},{"id":"https://gndx.dev/en/blog/que-es-la-web-3/","url":"https://gndx.dev/en/blog/que-es-la-web-3/","title":"Why is everyone talking about WEB 3?","summary":"It is a fashion, a trend, that is happening in the web development ecosystem that everyone talks about WEB 3","content_text":"Let's talk about Web3 \n\nFor a long time I have been learning about the subject, reading, playing, breaking projects and I have come to a conclusion:\n\nOne of the ways to be a Web 3 developer is to take your HTML/CSS/JS (Frameworks and Libraries) skills and apply them to Web 3.\nBut what is web 3?\n\nThe main concept to understand about web 3 is the way in which we are going to access a decentralized internet and for that blockchain technology will be used. In the field of Web development, #Web3 + JavaScript is a series of libraries written in JavaScript/TypeScript to access the blockchain network independent of the technology used (Ethereum/Solana/etc.).\n\nWe are not reinventing the wheel, the web is still the web, understanding how the web 3 development ecosystem moves is essential for what we will experience in the future.\n\nI leave you my video where I address the topic in more detail:","date_published":"2022-01-25T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","ethereum","web3","blockchain","cryptocurrencies"],"image":"https://gndx.dev/og/en/blog/que-es-la-web-3.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/que-es-la-web-3.md"},{"id":"https://gndx.dev/en/blog/revision-portafolios-octubre-2021/","url":"https://gndx.dev/en/blog/revision-portafolios-octubre-2021/","title":"Reviewing subscriber portfolios [October 2021]","summary":"Review of my subscribers' portfolio, blog or web pages, we review in detail, recommend improvements, or talk about how well they have implemented their sites on the Internet.","content_text":"Reviewing portfolios for Subscribers\n\nOne of the most fun dynamics we have on my YouTube channel is the review of my subscribers' portfolio, blog, and web pages, where we review in detail the proposals sent, recommend improvements, or talk about how well they have implemented their sites on the Internet.\n\nWe return to the dynamic this Friday, October 22, where we will review 10 projects and randomly we will also review the source code of a project in order to learn.\nHow to Participate?\n\nYou must have your project deployed and open source and follow the following instructions.\n\nSend your Portfolio/Blog/Website\n\n1. Fork this repository. portfolio-review\n2. Add your URL to the list.\n3. Send your Pull Request. Don't forget to fill out the required form.\n4. See you on LIVE.\nLIVE\n\nFriday, October 22, 2021 9:45 P.M. at YouTube.com/oscarbarajas","date_published":"2021-10-18T20:01:44.503Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","youtube","communities","gndx"],"image":"https://gndx.dev/og/en/blog/revision-portafolios-octubre-2021.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/revision-portafolios-octubre-2021.md"},{"id":"https://gndx.dev/en/blog/instalar-nvm-en-ubuntu-20-04/","url":"https://gndx.dev/en/blog/instalar-nvm-en-ubuntu-20-04/","title":"Install NVM on Ubuntu 20.04","summary":"Node Version Manager (NVM) is a tool that allows us to manage multiple versions of Node.js, learn how to install it in WSL2 on Windows 11.","content_text":"Node Version Manager (NVM) is a tool that allows us to manage multiple versions of Node.js. Thanks to NVM we can install the most recent versions of node.js including npm or install a specific version and be able to switch between versions easily from the command line.\n\nPreviously we learned how to install WSL2 on Windows 11 now we are going to install Node.js through NVM to work on our projects built in JavaScript within the Ubuntu 20.04 configuration that we installed with WSL2 on Windows 11.\nInstall NVM on Ubuntu 20.04\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash\n\nNow we are going to activate the environment variable for NVM with the following command:\n\nsource /.bashrc\n\nNow let's verify that we have NVM installed and working.\n\nnvm --version\nInstall Node.js in its latest version\n\nnvm install node\n\ninstall node.js on Ubuntu\n\nNow we check that we have Node.js and npm installed.\n\nnode --version | npm --version\ninstall a specific version of Node.js\n\nnvm install 14.18.1 // Node LTS\nList installed versions\n\nnvm ls\nSwitch between Node.js versions\n\nnvm use 14.18.1 | 16.11.1\nDelete a version of Node.js\n\nnvm uninstall 14.18.1\n\nNVM allows us to correctly install and manage the versions of Node.js that we need for our projects.\n\ninstall nvm on Ubuntu\n\nNote: If you are working with zsh or some other profile in your GNU/Linux operating system, you must activate the NVM environment variable.\n\nMore information in the GitHub repository: nvm-sh/nvm","date_published":"2021-10-14T02:33:37.383Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","ubuntu","javascript","resources"],"image":"https://gndx.dev/og/en/blog/instalar-nvm-en-ubuntu-20-04.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/instalar-nvm-en-ubuntu-20-04.md"},{"id":"https://gndx.dev/en/blog/instalar-wsl2-en-windows-11/","url":"https://gndx.dev/en/blog/instalar-wsl2-en-windows-11/","title":"Install WSL2 on Windows 11","summary":"How to install Windows Subsystem Linux (WSL 2) on Windows 11","content_text":"Windows SubSystem Linux, better known as WSL or WSL2, is a tool that allows Windows 10 and Windows 11 users to run GNU/Linux distributions without having to install additional third-party software or change operating systems. It currently supports GNU/Linux distributions such as Ubuntu, Debian, Fedora, Suse, among others that you can find in the application store.\n\ngndx install wsl2 on windows 11\n\nThe latest version of Windows SubSystem Linux is known as WSL2. Among the main features that WSL2 offers us are:\nIntegration between Windows - GNU/Linux\nInstance Quick Start\nManaged VM\nComplete GNU/Linux kernel\nOS Compatibility\n\nWSL2 allows developers to run a GNU/Linux environment with most of its applications, utilities and command line access. Fundamental part to work with our projects written in JavaScript.\nHow to Install WSL2 in Windows 11\n\nWith the recent release of Windows 11, we must configure our work environment, in my personal use as well as in my daily life as a Frontend Developer, I need to have an optimized work environment to work with JavaScript, execute programs from the terminal, among other important tasks.\n\nThe first thing we have to do is start the \"Windows Terminal\" application which is installed by default in Windows 11. (Previously in Windows 10 we had to install it from the application store.).\n\n1. Run Windows Terminal as administrator.\n2. Run the command:\n\nwsl --install\n\ninstall wsl2 on windows 11\n\nFollow the on-screen instructions and wait for the installation to finish.\n\n3. Install a GNU/Linux distribution from those available in the Microsoft application store.\n\nDistributions that I recommend using:\nUbuntu 20.04 LTS\nDebian GNU/Linux\n\nIn my setup I use \"Ubuntu 20.04 LTS\" installed from \"Microsoft Store\". (You can install the GNU/Linux version of your choice.)\n\ninstall ubuntu 20.04 on windows 11\n\n4. Once installed, it is necessary to restart our computer to start the installation of Ubuntu and configure our user.\n\n5. Run the Ubuntu application, a terminal will open in which we will follow the instructions and assign a username and password.\n\n6. Once this process is finished you will be able to run Ubuntu from Windows Terminal.\n\nenter image description here\n\nWindows 11 allows us to work much easier, with a friendlier installation and configuration with Windows SubSystem Linux and have a powerful development environment to work on our applications.\n\nTo conclude, I invite you to install my \"Custom theme for ZSH\" and the plug-ins that I use.","date_published":"2021-10-12T03:26:17.542Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","Windows","Programming","resources"],"image":"https://gndx.dev/og/en/blog/instalar-wsl2-en-windows-11.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/instalar-wsl2-en-windows-11.md"},{"id":"https://gndx.dev/en/blog/nuevo-curso-platzi-jamstack/","url":"https://gndx.dev/en/blog/nuevo-curso-platzi-jamstack/","title":"My new course on Platzi: JAMStack","summary":"Learn how to build better performing websites and apps with JAMStack.","content_text":"A new way of creating websites and applications that offers better performance has begun to be quite popular because it is the combination of technology that developers are looking for and that allows them to create applications such as websites with better performance, adding a layer of security, a friendlier way to scale our projects and an experience that involves the developer and makes them part of the process by mixing the technologies that they use the most and that are key in their daily life as a professional.\n\nJAMStack\n\nOn September 17, my most recent course was launched in Platzi where you will learn how to create a blog using the JAMStack concept, you will identify what is important about the concepts of “No-code” and “Low-code” and how to take advantage of technology to create surprising applications that mix the technologies of the moment with simple clicks or take them to the field of development if you need it.\n\nIntroduction to Jamstack course\n\nI invite you to come to my Introduction to Jamstack course in Platzi.","date_published":"2021-09-21T03:45:59.407Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","jamstack","courses","javascript"],"image":"https://gndx.dev/og/en/blog/nuevo-curso-platzi-jamstack.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/nuevo-curso-platzi-jamstack.md"},{"id":"https://gndx.dev/en/blog/tema-oh-my-zsh-gndx/","url":"https://gndx.dev/en/blog/tema-oh-my-zsh-gndx/","title":"Custom theme for ZSH","summary":"Custom theme for ZSH inspired by the setup I use in my JavaScript courses on Platzi.","content_text":"I currently have more than 18 courses on the online education platform Platzi where I teach JavaScript, the use of the terminal is very important in my courses when we are working with NodeJS or JavaScript with a Framework or Library.\n\nOne of the questions I get asked the most is what my terminal/console/bash/promt configuration is, to which I always answered that it was a custom theme created based on the default themes included in Oh My Zsh.\n\nIt is not until now that I prepare the theme, optimize it and adapt it so that everyone can install it in their Oh My Zsh configurations.\nPreview of gndx-zsh-theme\n\ngndx zsh theme\nFacility\n\n1. In your terminal write the following: git clone https://github.com/gndx/gndx-zsh-theme/ $ZSHCUSTOM/themes/gndx-zsh-theme\n\n2. Open your settings: .zshrc\n\n3. Change the value of ZSHTHEME to gndx-zsh-theme/gndx\n\nMore information: Oh-My-Zsh External themes\nExtras\n\nI currently use the plugins zsh-autosuggestions and zsh-syntax-highlighting which allow me to have a better experience using the commands.\n\nRecommended source: FiraCode\nContribute\n\nIf anyone wants to add or improve something, I invite you to collaborate directly in this repository: gndx-zsh-theme\nLicense\n\ngndx-zsh-theme is released under the MIT License.","date_published":"2021-06-08T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","open source","resources"],"image":"https://gndx.dev/og/en/blog/tema-oh-my-zsh-gndx.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/tema-oh-my-zsh-gndx.md"},{"id":"https://gndx.dev/en/blog/curso-de-webpack/","url":"https://gndx.dev/en/blog/curso-de-webpack/","title":"Webpack 5 course","summary":"Learn Webpack from scratch, prepare your web development to make it more agile, faster and optimized.","content_text":"Webpack Course 2021\n\nWebpack is a module bundler for JavaScript. In the course you will master the use of loaders and plugins and integrate the tool that will allow you to have an optimal development or production environment to work on your web development. You will learn to optimize your projects with compression and minification of CSS, JavaScript, Configure and prepare all the courses to send your project to production.\nProject\n\nDuring the course we develop an online store, we prepare each element to optimize the images used, implement the use of preprocessors, minify our images, integrate the main Webpack plug-ins to optimize JavaScript and prepare the project to deploy it in production in Netlify.\n\nTake the course now: https://platzi.com/webpack","date_published":"2021-05-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","webpack","courses","square"],"image":"https://gndx.dev/og/en/blog/curso-de-webpack.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/curso-de-webpack.md"},{"id":"https://gndx.dev/en/blog/error418-s01e03-programador-saludable/","url":"https://gndx.dev/en/blog/error418-s01e03-programador-saludable/","title":"Tips to become a healthy programmer","summary":"Many times we do not give importance to our physical and mental health, until professional burnout syndrome or better known as burnout occurs.","content_text":"S01E03\n\nMany times we do not give importance to our physical and mental health, until professional burnout syndrome or better known as burnout arrives, a state of mental, emotional and physical exhaustion that occurs as a result of overwhelming demands, chronic stress and the result of the pandemic we are experiencing.","date_published":"2021-04-05T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","health","podcast","error418"],"image":"https://gndx.dev/og/en/blog/error418-s01e03-programador-saludable.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/error418-s01e03-programador-saludable.md"},{"id":"https://gndx.dev/en/blog/error418-s01e02-comunidades-crear-contenido/","url":"https://gndx.dev/en/blog/error418-s01e02-comunidades-crear-contenido/","title":"Let's talk about communities and creating content","summary":"The second episode, creating communities and creating content, my experience over the years.","content_text":"S01E02\n\nBeing part of a community will always give you great benefits, how you can make the most of your community or create a community that impacts people, growing together professionally.","date_published":"2021-03-29T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","communities","podcast","error418"],"image":"https://gndx.dev/og/en/blog/error418-s01e02-comunidades-crear-contenido.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/error418-s01e02-comunidades-crear-contenido.md"},{"id":"https://gndx.dev/en/blog/mi-setup-2021/","url":"https://gndx.dev/en/blog/mi-setup-2021/","title":"My first year creating educational content","summary":"A brief tour of the first year creating educational content, and the evolution of my space I use for livestreams, recording, editing, playing and working.","content_text":"Starting...\n\nToday marks one year since I started in the world of streaming and content creation on YouTube/Twitch. Throughout all this time I have invested in having the best quality in terms of content creation, which is why I have invested a lot in acquiring each of the pieces that make up my setup to continue creating content with higher quality.\n\nI leave you a brief summary of some important events and the evolution of the final setup.\nMarch 2020\n\nMy first YouTube broadcast, without expecting anything, happened and I actually ended up liking it a lot.\nAs you can see, I had almost no equipment to transmit, a camera and a simple microphone, those were my beginnings.\n\nenter image description here\nJune 2020\n\nWe managed to obtain the Partner on Twitch which allowed us to verify the account and create the Team for the community of creators in Spanish #EStreamerCoders.\n\nenter image description here\nAugust 2020\n\nBy this time my wife @anabelisam\\ started streaming, creating management and backend content.\n\nenter image description here\nSeptember 2020\n\nWith a more organized space, with accessories to create content, it already had better quality in light, audio and video. I had the opportunity to be one of the streamers at Platzi CONF 2020, putting into practice my knowledge and tools that I had created for streamers. Here the Bebeloper was already part of the Staff.\n\nenter image description here\nNovember 2020\n\nNow I had a program in Platzi, where I interviewed professors and professionals in the software development industry, this time I had to be the host and streamer for the Microsoft community in Platzi.\n\nenter image description here\nJanuary 2021\n\nAfter a break for vacation and a move, opening a new workspace, a room for the studio dedicated to content creation.\n\nenter image description here\nMarch 2021\n\nWe have finally completed version 1.0.0 of the studio in the new house located in Sopó Cundinamarca, connecting nature and technology.\n\nenter image description here\n\nHere you can see my YouTube video where I show in detail each element of this space for work, fun and content creation.\n\nIf you want to purchase the equipment that I have, I leave you the main characteristics and their respective links to Amazon where I purchased these products.\n\nPC\nCPU: AMD Ryzen™ 5 3600X 6 cores 4.4GHz https://amzn.to/2PnA9pi=\nGPU: NVIDIA GeForce GTX 1660 Super 6GB https://amzn.to/317aJP0\nBOARD: Gigabyte AM4 B450M DS3H https://amzn.to/395Q9mJ\nBOX: iCUE 220T RGB https://amzn.to/399R31E\nRAM: 32GB SPECTRIX D60G RGB DDR4 3200 2x16GB https://amzn.to/3tFrg9c\nCOOLING: CoolerMaster MLW-D24M https://amzn.to/3d23WvC\nSOURCE: 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\nLightning:\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\nI hope the references to the products and equipment that I use for broadcasts are useful to you and we will continue creating content to bring the technology to more people.","date_published":"2021-03-22T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","setup","streaming","gndx"],"image":"https://gndx.dev/og/en/blog/mi-setup-2021.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/mi-setup-2021.md"},{"id":"https://gndx.dev/en/blog/error418-s01e01-hola-mundo-oscar-barajas/","url":"https://gndx.dev/en/blog/error418-s01e01-hola-mundo-oscar-barajas/","title":"Hello World, Meeting Oscar Barajas.","summary":"The first episode, where I tell you about my beginnings and who Oscar Barajas, better known as @gndx, is","content_text":"S01E01\n\nError 418, a podcast that should have existed since 2017, but today after 4 long years we are starting with the first episode, where I tell you about my beginnings and who Oscar Barajas, better known as @gndx, is.","date_published":"2021-03-21T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","gndx","podcast","error418"],"image":"https://gndx.dev/og/en/blog/error418-s01e01-hola-mundo-oscar-barajas.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/error418-s01e01-hola-mundo-oscar-barajas.md"},{"id":"https://gndx.dev/en/blog/primeros-pasos-con-webpack-5/","url":"https://gndx.dev/en/blog/primeros-pasos-con-webpack-5/","title":"Getting started with Webpack 5","summary":"Webpack is a module bundler, or in simple words, a library that allows us to manage all the resources of a project.","content_text":"This month my Webpack 5 course was launched in Platzi where I explain in detail the advantages of using this tool to prepare our projects created with JavaScript. The project is totally vanilla JavaScript, we create a portfolio where we show the main information, we learn to optimize our project and deploy it to production. In this video I tell you the first steps you should follow to get started with Webpack before taking my course.","date_published":"2021-03-18T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","webpack","courses","square"],"image":"https://gndx.dev/og/en/blog/primeros-pasos-con-webpack-5.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/primeros-pasos-con-webpack-5.md"},{"id":"https://gndx.dev/en/blog/vale-la-pena-aprender-nodejs/","url":"https://gndx.dev/en/blog/vale-la-pena-aprender-nodejs/","title":"Is Node.js worth learning?","summary":"Recently they asked me what I thought about learning Node.js, the importance it has and how to start. I leave you this video where I tell you my point of view and how you can start your learning.","content_text":"I have been asked many times, Is it worth learning Node.js? I am a little worried that developers who are starting out in JavaScript are not clear about what Node.js is and see it as another technology to learn and are overwhelmed by knowing that they have to learn it. In this video I explain what you need to know to get started with Node.js.","date_published":"2021-03-16T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","nodejs","javascript","youtube"],"image":"https://gndx.dev/og/en/blog/vale-la-pena-aprender-nodejs.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/vale-la-pena-aprender-nodejs.md"},{"id":"https://gndx.dev/en/blog/alguien-dijo-svelte/","url":"https://gndx.dev/en/blog/alguien-dijo-svelte/","title":"Did someone say Svelte?","summary":"I want to learn Svelte, where do I start? Svelte is the JavaScript framework for building user interfaces.","content_text":"I want to learn Svelte, where do I start?\n\nIt is one of the main questions that I usually get asked in my live streams, through messages on Discord and even in private messages.\n\nenter image description here\n\nThe answer is very easy, if you have time working with any other framework or library or you are so passionate about JavaScript, you are ready to start with Svelte.\n\nSvelte is a JavaScript Framework designed to build user interfaces, very similar to React, Angular or Vue, but with notable features that make it stand out, among them its paradigm shift, since it runs at compile time and does not use the concept of Virtual DOM.\nFirst steps\n\nThe best place to learn a technology, library, framework or whatever you want to learn is its documentation or official site, this will guide you along the way to understand each particularity and how they have solved the problems they faced to provide the solution or propose new alternatives to create surprising web interfaces.\n\nTake away the fear of reading the documentation, this will be your best work tool. Don't wait for it to be in your language, or find the content in Spanish, if you still don't master English, use Google translator, but always keep in mind that the only source of truth is the documentation.\nThe other way...\n\nOnce you have gone through the documentation, you understood which particulars are important and how you can get the most out of what you have learned, my next recommendation is to read the source code, this practice will allow you to understand each essential phase of the project, how it solves the problems and start collaborating by providing lines of code that improve the project.\nWhy Svelte could be the best JavaScript framework?\n\nI made this video at the beginning of 2020 where I tell you the main features of Svelte and how to get the most out of it and understand why it will be a better framework.\n\n \n \nCourses\n\nIf what you want is to learn with a project, touch on the main characteristics and carry out your learning with examples, while you build a great project.\n\nI have three courses in Platzi where we create different projects including pugstagram, a social network for pugs created entirely with Svelte and deployed in production, mixing several technologies.\nCourse of\n Svelte\nCourse of\n Sapper\nWeb Development Course with\n Svelte\n\nNow you are ready to learn Svelte and put your knowledge into practice with projects.","date_published":"2021-01-18T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","svelte","courses","javascript"],"image":"https://gndx.dev/og/en/blog/alguien-dijo-svelte.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/alguien-dijo-svelte.md"},{"id":"https://gndx.dev/en/blog/retos-para-desarrolladores-web/","url":"https://gndx.dev/en/blog/retos-para-desarrolladores-web/","title":"Challenges for Web developers","summary":"If you want to challenge yourself and work on big projects, I leave you my recommendations for challenges that will help you improve your portfolio.","content_text":"Some time ago I made a video explaining how you can challenge yourself and work with professional projects that will help you create a portfolio, put your frontend or backend skills into practice, as well as work as a team or get out of your comfort zone. Most projects include a description or support material that will allow you to better understand the challenge to be carried out.\n\n10 Challenges for Web Developers\n\n \n \n \n\nParticipate in the challenge: https://github.com/gndx/gndx-challenges.","date_published":"2021-01-16T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","challenges","javascript","youtube"],"image":"https://gndx.dev/og/en/blog/retos-para-desarrolladores-web.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/retos-para-desarrolladores-web.md"},{"id":"https://gndx.dev/en/blog/adios-svelte-hola-hugo/","url":"https://gndx.dev/en/blog/adios-svelte-hola-hugo/","title":"Goodbye Svelte, Hello Hugo.","summary":"Because I said goodbye to Svelve, the promising framework that allows you to create amazing web applications.","content_text":"---\n\ntitle: \"How to Get Your First Job Opportunity in the Technological World?\"\ndescription: \"You are in your fifth semester of your degree and you are tirelessly searching for your first job opportunity in the technological field. Despite your efforts, sometimes you feel demotivated when you don't see results. What can you do to achieve it?\"\npubDate: \"Jul 08 2022\"\nheroImage: \"/blog-placeholder-3.jpg\"\n\n---\n\nI know that for many this goodbye will be somewhat strange, but I have gone through most of the JavaScript frameworks and libraries, including Svelte, all of 2020 I dedicated myself to evangelizing it, speaking highly of its advantages and how to make the most of it, creating videos, giving talks in the community, creating three courses in Platzi and having several projects in production with Svelte.\n\nGoodbye Svelte...\n\nIt is not the goodbye that everyone believes, I have simply said goodbye as the technology I used for this blog \"gndx.dev\" I have made the decision to migrate to another platform in order to learn. The decision was also accompanied by the announcement to deprecate \"Sapper\" who together with Svelte managed to create surprising static sites and yes, my blog gndx.dev was created with this technology at the time.\n\nI liked what I learned, I liked creating the blog and integrating my tools, learning to create each necessary piece and managing to display it along with a series of important articles and sections on this site. But now it takes a different meaning and we are going to focus it on creating better content, focus it on my live content and a series of projects that I have in mind, I needed to have a stable site that would allow me to focus on writing and friendly sharing the content created.\n\nHello, Hugo!\n\nAs one of my personal goals for this year 2021, is to learn a new programming language, which allows me to continue growing as a professional and improve my skills as a developer. During 2020, I focused on learning, practicing and creating projects with Python, I feel comfortable and I know that I can start a project or lines of code with this programming language.\n\nThere were two big ones in my sights, Rust or Go. The decision was easy because in part I needed to find a way to migrate my blog to a stable platform and it came together with the need for learning, when I found the project gohugo.io which is a framework for creating static websites, using the JAMStack architecture and written in GO.\n\nA matter of researching, testing and throwing myself into the ring with this technology that will allow me to learn GO (Playing more with the Framework), create my blog and continue to meet two of my main goals this year, Learn a new programming language and write more.","date_published":"2021-01-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","svelte","go","blog"],"image":"https://gndx.dev/og/en/blog/adios-svelte-hola-hugo.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/adios-svelte-hola-hugo.md"},{"id":"https://gndx.dev/en/blog/como-conseguir-tu-primer-empleo-como-programador/","url":"https://gndx.dev/en/blog/como-conseguir-tu-primer-empleo-como-programador/","title":"How to get your first job as a programmer!","summary":"What you need to know to get your first job as a programmer.","content_text":"Based on my experience and summarized in 10 points, I explain what you need to know to get your first job as a programmer.","date_published":"2020-06-07T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","employment","programmer","youtube"],"image":"https://gndx.dev/og/en/blog/como-conseguir-tu-primer-empleo-como-programador.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/como-conseguir-tu-primer-empleo-como-programador.md"},{"id":"https://gndx.dev/en/blog/que-es-deno/","url":"https://gndx.dev/en/blog/que-es-deno/","title":"What is Deno?","summary":"I design a Cross-platform runtime based on the Chrome V8 engine and implements TypeScript as the default language","content_text":"I design a Cross-platform runtime based on the Chrome V8 engine and implements TypeScript as the default language. Deno uses the same architecture as Node (even driven, asynchrony, etc.). In the following video we go into a little detail about the incorporated features and the advantages it would have over NodeJS.","date_published":"2020-06-07T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","deno","youtube","javascript"],"image":"https://gndx.dev/og/en/blog/que-es-deno.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/que-es-deno.md"},{"id":"https://gndx.dev/en/blog/typescript-vs-javascript/","url":"https://gndx.dev/en/blog/typescript-vs-javascript/","title":"TypeScript VS. JavaScript","summary":"I'll tell you about my experience as a Frontend Developer learning TypeScript, what advantages and disadvantages","content_text":"I will tell you about my experience as a Frontend Developer learning TypeScript, what advantages and disadvantages, what the challenge of learning was and how I have managed to implement TS in my projects.","date_published":"2020-06-07T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","typescript","javascript","youtube"],"image":"https://gndx.dev/og/en/blog/typescript-vs-javascript.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/typescript-vs-javascript.md"},{"id":"https://gndx.dev/en/blog/que-es-svelte-js/","url":"https://gndx.dev/en/blog/que-es-svelte-js/","title":"What is Svelte.js?","summary":"Svelte a new JavaScript framework that allows us to build user interfaces.","content_text":"Talk for Eventloop MX, Wednesday, March 4, 2019 in Mexico City.\n\nSvelte a new JavaScript framework that allows us to build user interfaces. It is considered the new competitor in the battle of frontends where React, Angular or Vue compete.  Svelte has changed the way popular frameworks or libraries of the moment work, Svelte runs at compile time converting its components into highly efficient imperative code.\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/en/about/"}],"tags":["others","svelte","javascript","conferences"],"image":"https://gndx.dev/og/en/blog/que-es-svelte-js.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/que-es-svelte-js.md"},{"id":"https://gndx.dev/en/blog/facebook-developer-circles-opensource/","url":"https://gndx.dev/en/blog/facebook-developer-circles-opensource/","title":"Facebook Developer Circles: Contributing to Open Source projects as a professional challenge","summary":"Contributing to Open Source projects as a professional challenge A talk where we address the importance of contributing to open source projects","content_text":"Contributing to Open Source projects as a professional challenge  A talk where we address the importance of contributing to open source projects, a story from my beginnings in the GNU/Linux community to contributing to open source projects focused on my current career.\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/en/about/"}],"tags":["others","youtube","open source"],"image":"https://gndx.dev/og/en/blog/facebook-developer-circles-opensource.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/facebook-developer-circles-opensource.md"},{"id":"https://gndx.dev/en/blog/introduccion-a-ecmascript/","url":"https://gndx.dev/en/blog/introduccion-a-ecmascript/","title":"What is ECMAScript?","summary":"ECMAScript is the standard on which JavaScript is based and you will find it in documents, books or resources on the internet with the abbreviation \"ES\" or simply ECMAScript.","content_text":"When we are getting started as \"Web Developers with JavaScript\" we come across terms, nomenclatures and abbreviations that can confuse us, among which we find: ES5, ES6, ES2015, ECMAScript 2017 and so on a large number of these.\n\nWhat is ECMAScript?\n\nECMAScript is the standard on which JavaScript is based and you will find it in documents, books or resources on the internet with the abbreviation \"ES\" or simply ECMAScript.\n\nNot only does JavaScript use the standard proposed by ECMAScript, it is also implemented by ActionScript, the language used by Flash, and JScript, an adaptation of JavaScript for Internet Explorer.\n\nDo you want to learn the importance of ECMAScript?\nI invite you to my course at Platzi where you will learn to identify the features that are added to ECMAScript every year and are part of the JavaScript language.\n\nThis course is available with your Platzi subscription. If you don't have an account you can create an account on Platzi. See the full course: ECMAScript 6+ course","date_published":"2020-02-02T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","javascript","courses","square"],"image":"https://gndx.dev/og/en/blog/introduccion-a-ecmascript.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/introduccion-a-ecmascript.md"},{"id":"https://gndx.dev/en/blog/curso-de-asincronismo-con-javascript/","url":"https://gndx.dev/en/blog/curso-de-asincronismo-con-javascript/","title":"Asynchronism with JavaScript Course","summary":"In this course we address the main methods that allow us to use JavaScript to work with Asynchronism","content_text":"In this course we address the main methods that allow us to use JavaScript to work with Asynchronism. Learn the fundamental concepts of asynchronism with JavaScript, apply its different structures and develop asynchronous solutions.\n\nWe will work with Callbacks, Promises and Async/await, we will solve a challenge where we consume an API and bring the information to present it in the console. You will learn the differences between each of these structures available in JavaScript.\n\nThis course is available with your Platzi subscription.\nCreate an account on Platzi\n\nSee the full course: Asynchronism with JavaScript Course","date_published":"2020-01-31T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","javascript","courses","square"],"image":"https://gndx.dev/og/en/blog/curso-de-asincronismo-con-javascript.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/curso-de-asincronismo-con-javascript.md"},{"id":"https://gndx.dev/en/blog/por-que-utilizar-react/","url":"https://gndx.dev/en/blog/por-que-utilizar-react/","title":"Why use React?","summary":"What is the importance of using React, when we should choose React for our application?","content_text":"A few weeks ago I was invited to participate in a live \"MaestriaJS\" where they covered topics of interest within the JavaScript Software development ecosystem. This time it was time to talk about \"React JS\".\n\nI want to leave the video where together with Carlos Rojas and Nicolas Molina, we share our experience, we have fun talking about the topic and we tell you \"Why use React\".\n\nDo you want to hear more songs from \"MaestriaJS\"?\nI invite you to their website: https://podcast.maestriajs.com/","date_published":"2020-01-26T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","react","javascript"],"image":"https://gndx.dev/og/en/blog/por-que-utilizar-react.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/por-que-utilizar-react.md"},{"id":"https://gndx.dev/en/blog/curso-de-pruebas-unitarias-con-jest-2/","url":"https://gndx.dev/en/blog/curso-de-pruebas-unitarias-con-jest-2/","title":"Javascript Testing Course with JEST","summary":"Unit tests allow us to test blocks of code to see what works correctly.","content_text":"Unit tests allow us to test blocks of code to see what works correctly.  The \"Unit Testing Course with Jest\" which I recorded in September 2018, is the first of the courses that I recorded in Platzi.\n\nIn 2019 I recorded an update where we focused on adding unit tests to a project built in React, React Router, Redux.\n\nYou will learn to configure your work environment, test components, actions, reducers, generate stapshots, create mocks to test an API and at the end we will implement the tests in a continuous integration flow with travis.\n\nThis course is available with your Platzi subscription.\n\nCreate an account on Platzi\nSee the full course: \"Unit Testing with Jest in React course\"","date_published":"2020-01-20T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","courses","square","jest"],"image":"https://gndx.dev/og/en/blog/curso-de-pruebas-unitarias-con-jest-2.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/curso-de-pruebas-unitarias-con-jest-2.md"},{"id":"https://gndx.dev/en/blog/crear-sitio-web-estatico-con-ghost-gatsby-js/","url":"https://gndx.dev/en/blog/crear-sitio-web-estatico-con-ghost-gatsby-js/","title":"Create static website with Ghost + Gatsby.js","summary":"Create your blog with a completely custom frontend, created with Ghost and with all the power of Gatsby.js.","content_text":"Create your blog with a completely custom frontend, created with Ghost and with all the power of Gatsby.js.\ngatsby on heroku\nBy implementing the Content API we can leverage Ghost to manage content, allowing developers to create and customize the frontend with modern technologies like Gatsby.js.\n\nPreviously in this blog we learned how to install \"Ghost on Heroku\" which allows us to have a blog running with Ghost and will allow us to use it as \"The Backend\" of our blog.\n\nYou will learn:\n\n1. What is Gatsby.js?\n2. Install Gatsby.js\n3. Create Blog with Gastby.js\n4. Configure Ghost + Gastby.js\n5. Local development server\n6. Customize blog\n7. Deploy with Netlify\nWhat is Gatsby?\n\nGatsby is a static website generator, it uses React and implements JAMStack in its core, which allows us to create fast and secure websites, which are delivered through pre-prepared files and served directly from a CDN, eliminating the requirements of managing or running complex web servers.\n\nGatsby.js uses the latest technology implementing ReactJS, Webpack, GraphQl, CSS and modern Javascript. Keeping this in mind, Gastby.js takes full advantage of the benefits of React, Progressive Web Apps and PRPLPattern (Push, Render, Pre-cache, Lazy-Load).\n\nThis is why Gatsby.js has many advantages, among which are speed, ease, stability, and ease of hosting.\nInstall Gatsby.js\n\nTo install gatsby and be able to quickly create static sites we must install it as a global dependency.\n\n npm install -g gatsby-cli\n\nGlobal packages must be installed with administrator permissions.\nCreate Blog with Gastby.js\n\nUsing gatsby-cli we are going to install a new instance of Gatsby prepared to work with ghost.\n\nRun the following command in your workspace, where you can identify the folder since we will need to configure our blog with a code editor.\n\n gatsby new BLOGNAME https://github.com/TryGhost/gatsby-starter-ghost.git\n\nReplace BLOGNAME with the name of your blog or project folder.\n\nWhen the installation finishes you must install the project dependencies.\n\n npm install\nConfigure Ghost + Gastby.js\n\nIt is important that at this point you must have a blog running with Ghost.\nUse Ghost API.\n\nIn the administrator of your site created in Ghost in the \"Integrations\" section we will create a new integration.\n\nWe must have the \"ContentAPIKey\" and \"API URL\" data as they will be necessary to configure our website.\nConnect Ghost API to Gatsby.js\n\nWe must open the project folder that we just installed to customize our website.\n\nIn the root of the site you will find the \"ghost.json\" file where we will add the API we generated.\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\nWe are working with version 3.x of Ghost so we must add version: \"v2\" to the json.\nSet up site\n\nTo configure the domain name, number of posts per page, SEO, among other settings, it is necessary to edit the siteConfig.js file.\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};\nLocal development server\n\nOnce we add the necessary configuration we can deploy a local development server where we can customize our website to our liking.\n\n npm run dev\n\nNow you have a static site with the resources of your blog created in Ghost.\nCustomize blog\n\nAt this moment we can customize the frontend of your blog, Gatsby.js is built in react and inside the \"src/\" folder you can find the structure of the site which you can customize to your liking.\n\nI leave you the repository of this blog where you can review the customizations that I have made.\n\nArepa.dev on Github.\nCustomize with Plugins.\n\nGatsby.js has a large number of plugins that I know how to incorporate into your website, some plugins that this blog uses.\n\n1. gatsby-plugin-sentry\n2. gatsby-plugin-google-analytics\n3. gatsby-remark-prismjs\n\nGatsby Plugins Directory.\nDeploy to Netlify\n\nNetlify is a static website hosting service, very similar to GithubPages or Firebase Hosting. The main advantage of Netlify is its simplicity in deploying sites, it only requires connecting to a cloud repository to create continuous integration and continuous deployment.\n\nNOTE: It is necessary to upload your project to a repository in order to create the integration with Netlify.\n\n1. Create a Netlify account\n2. Connect a repository\n3. Configure deployment\n\nLearn more about Netlify in the official documentation.\nCreate webhook to connect Ghost + Netlify\n\nFor each change we make to our blog created in Ghost, we must create an integration to execute a new deployment of our site in Netlify.\nGet Netlify API\n\nIn the Netlify dashboard we select the site and go to the \"Deploys\" > \"Deploy Settings\" section and within this section we look for the \"Build Hooks\" section.\n\nWe add a new configuration which will give us a URL which we will add to our site with ghost.\n\nIn the administrator of your Ghost site in \"Integrations\" we must create a new integration.\n\nIn the \"Webhooks\" section we will add a new integration with the following data:\n\nReady! We already have the complete integration, every time we create a new page, blogpost, tag, link, etc. etc A new build will automatically run in Netlify.\nPerformance\n\nAnalyze your site with the Google PageSpeed ​​Insights tool so you can check the optimization of your new site.\nConclusions\n\nYou learned how to create a static website using Gatsby.js using ghost as a content manager and taking advantage of all the advantages that gatsby.js provides us, you created an account in Netlify and configured the necessary hooks to continuously deploy your website.\n\nNow that you have your static website with Gatsby.js, leave a comment with the url of your static website.","date_published":"2020-01-12T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","javascript","tutorials","gatsby"],"image":"https://gndx.dev/og/en/blog/crear-sitio-web-estatico-con-ghost-gatsby-js.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/crear-sitio-web-estatico-con-ghost-gatsby-js.md"},{"id":"https://gndx.dev/en/blog/contribuir-a-proyectos-open-source-como-reto-profesional/","url":"https://gndx.dev/en/blog/contribuir-a-proyectos-open-source-como-reto-profesional/","title":"Contribute to Open Source projects as a professional challenge","summary":"Today, with more than 30 years since the first personal computer, we continue to share our knowledge through open source code.","content_text":"Since the beginning of computing, the Hackers of the time had a clear mission, to share their knowledge. Today, with more than 30 years since the first personal computer, we continue to share our knowledge through free code.\n\nIn this talk in \"ignite\" format where we have 5 minutes and we must have 20 slides that are shown every 15 seconds, it was presented at the last Platzi Conf Colombia 2019.","date_published":"2020-01-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","conferences","square","open source"],"image":"https://gndx.dev/og/en/blog/contribuir-a-proyectos-open-source-como-reto-profesional.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/contribuir-a-proyectos-open-source-como-reto-profesional.md"},{"id":"https://gndx.dev/en/blog/instalar-ghost-en-heroku/","url":"https://gndx.dev/en/blog/instalar-ghost-en-heroku/","title":"Install Ghost on Heroku","summary":"Ghost is an open source blogging platform written in JavaScript and distributed under an MIT license. Since its launch in 2013, it has become quite popular due to its simplicity and performance.","content_text":"Some time ago I was asked how this blog is built, so I will write a series of resources to help you create a blog with the same technologies that I use.\n\nArepa.dev uses Ghost to create and manage the content I write and I use Gatsby to create a static site, customize the frontend and get the full power of Gatsby.\n\nIn this installment we will focus on installing Ghost on Heroku and running the first part of the blog which we will call \"The Backend\".\nInstall Ghost on Heroku\n\nGhost is an open source blogging platform written in JavaScript and distributed under an MIT license. Since its launch in 2013, it has become quite popular due to its simplicity and performance.\n\nFor this section it is necessary to keep in mind the following elements to create a blog with ghost.\n\n1. Heroku account\n2. Amazon Web Services account\n\nOnce your account has been created in Amazon Web Services, you must obtain the following elements:\n\n1. AWS Access Key\n2. AWS Secret Key\n3. Create a Bucket in S3\n\nNow that you have all the necessary requirements we can proceed to install Ghost on Heroku  For this step I have created a repository where all the necessary configuration is located to install Ghost in its latest version on Heroku.\n\nAll you have to do is use the following deploy button on Heroku and follow the necessary instructions.\n\nDeploy\n\nNow you must choose a username for the App that you will create in Heroku, which will be the url that you will obtain for your blog.\n\nThis configuration will use a MySql database and the mailgun service for email management within your project.\n\nOnce we have filled out all the necessary data, we proceed to click on \"Deploy App\" to create our application.\n\nWhen the process is finished you will be able to view the Ghost welcome at the chosen URL. Now it is necessary to go to https:///ghost/ to configure your user and start creating content.\n\nYou now have a new blog with Heroku.\n\nNow that you have your blog running with Ghost, it's time to customize it and create your first blogpost.","date_published":"2020-01-06T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","tutorials","javascript","heroku"],"image":"https://gndx.dev/og/en/blog/instalar-ghost-en-heroku.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/instalar-ghost-en-heroku.md"},{"id":"https://gndx.dev/en/blog/hola-mundo-en-svelte-webpack-babel/","url":"https://gndx.dev/en/blog/hola-mundo-en-svelte-webpack-babel/","title":"Hello World in Svelte + Webpack + Babel","summary":"Svelte is a new JavaScript framework with which we can create user interfaces.","content_text":"Svelte is a new JavaScript framework with which we can create user interfaces. Svelte has changed the way popular frameworks or libraries of the moment work, Svelte runs at compile time converting its components into highly efficient imperative code.\n\nAnother point to consider about Svelte is that it does not use a Virtual DOM, it writes code that painstakingly updates the DOM when it is necessary to update the state of the application.\n\nIn this resource we will learn how to install, configure and leave a functional project to start with Svelte, configuring every detail you need step by step.\n\nWe will learn:\n\n1. Configure Project\n2. Install Svelte\n3. Configure Babel\n4. Configure Webpack\n5. Create Application with Svelte\n6. Compile project\n\nNow it's time for fun...\nSet up project\n\nThe first thing we have to create and Initialize the project that we are going to use.\n\nmkdir svelte-base && cd svelte-base\n\nInitialize the git repository\n\ngit init\n\nInitialize project with npm for dependencies and configurations.\n\nnpm init -y\ninstall Svelte\n\nSince we have the project Initialized with git and npm, we are going to install Svelte and create the necessary structure to work with the project.\nInstall Svelte\n\nnpm install svelte --save\n\nProject structure\nsrc/ : Folder where the project code lives\nsrc/components/ : Folder where we will store the components\npublic/index.html : Base HTML file for building the project\nsrc/index.js Main application document\nConfigure Babel\n\nTo work with all the benefits of Svelte and modern JavaScript we are going to use Babel to transpile our project.\n\n npm install @babel/core @babel/preset-env @babel/polyfill babel-loader svelte-loader --save-dev\n\nLater I will explain in detail and its implementation in the project when we configure Webpack.\n\nCreate Babel configuration file in the root of the project and name it \".babelrc\"\n\n {\n \"presets\": [\n \"@babel/preset-env\"\n ],\n }\nConfigure Webpack\n\nWebpack allows us to add the necessary configuration to compile the project and all the necessary resources.\n\nnpm install webpack webpack-cli html-webpack-plugin --save-dev\n\nWe create the file \"webpack.config.js\" where we are going to add the necessary configuration.\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};\nCreate Application with Svelte\n\nWith the previous configuration we have all the necessary resources to create a project with Svelte.\n\nIn our \"index.js\" file we create the necessary configuration.\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\nInside the \"components\" folder we create the App.svelte file and add the necessary resources for our application.\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\nFinally, inside the \"public/\" folder we are going to create the \"index.html\" file to create the entry point of our application.\n\n \n \n \n \n \n Svelte Base \n \n\n \n \n \n \n\nNow that we have the necessary resources for our project, we are going to compile our project to see it working in our browser.\n\nIn \"package.json\" in the \"scripts\" section we create the \"build\" script with the necessary configuration to compile the project.\n\n \"scripts\": {\n \"build\": \"webpack --mode production\",\n },\n\nNow we can run our script to compile in the terminal.\n\nnpm run build\n\nA \"dist/\" folder has been created in which we will find the \"index.html\" and \"bundle.js\" files with our application.\n\nNow we execute the \"index.html\" file in our browser and we can view the created application.\nRepository\n\nIn this GitHub repository you can find the complete project \"Svelte Base\".\nIn conclusion\n\nYou learned how to create the structure for a project, configure Webpack and implement Babel to transpile Svelte and create the files necessary to create a simple application with Svalte.\n\nNow you can share this project by configuring in detail each of the points necessary to implement a site with Svelte.\n\nIf you want to learn more about Svelte, I invite you to the official site where you will find all the information, documentation and examples. Visit: Svelte.dev\n\nI have created a group on Facebook: \"Svelte JS Español\" with the purpose of sharing more resources and uniting all Spanish-speaking developers.","date_published":"2020-01-03T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","svelte","javascript","tutorials"],"image":"https://gndx.dev/og/en/blog/hola-mundo-en-svelte-webpack-babel.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/hola-mundo-en-svelte-webpack-babel.md"},{"id":"https://gndx.dev/en/blog/curso-de-react-router-y-redux/","url":"https://gndx.dev/en/blog/curso-de-react-router-y-redux/","title":"React Router and Redux Course","summary":"In this course we continue the learning obtained in the React JS Practical Course","content_text":"In this course we continue the learning obtained in \"React JS Practical Course\" where we continue building the Platzi Video project, creating especially for the Platzi #SchoolJS joint project.\n\nWe learn to install, configure and leave the routes that our project needs by building it with \"React Router\" once the necessary elements for the application to work have been established, \"React Redux\" is implemented to connect the backend of the project throughout the application.\n\nThis course is available with your Platzi subscription.\nCreate an account on Platzi\nSee the full course: \"React Router and Redux Course\"","date_published":"2020-01-02T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","react","javascript","courses"],"image":"https://gndx.dev/og/en/blog/curso-de-react-router-y-redux.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/curso-de-react-router-y-redux.md"},{"id":"https://gndx.dev/en/blog/curso-practico-de-react-js/","url":"https://gndx.dev/en/blog/curso-practico-de-react-js/","title":"React JS Practical Course","summary":"React is a library developed by Facebook that helps us build interactive user interfaces for all types of web, mobile or desktop applications.","content_text":"React is a library developed by Facebook that helps us build interactive user interfaces for all types of applications: web, mobile or desktop.\n\nIn this course we convert a website created with HTML/CSS to React, where we understand how to create step by step a React project where we configure our work environment, webpack, babel, local development environment and then create all the necessary components to create Platzi Video.\n\nFinal project:\n\nThis course is available with your Platzi subscription.\n\nCreate an account on Platzi \nComplete course \"React JS Practical Course\"","date_published":"2019-12-31T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","react","courses","square"],"image":"https://gndx.dev/og/en/blog/curso-practico-de-react-js.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/curso-practico-de-react-js.md"},{"id":"https://gndx.dev/en/blog/crear-servidor-de-desarrollo-con-webpack-hot-reload-en-react/","url":"https://gndx.dev/en/blog/crear-servidor-de-desarrollo-con-webpack-hot-reload-en-react/","title":"Create development server with Webpack (Hot Reload) in React","summary":"One of the most important resources when developing in React is being able to test our code in the browser without compiling every change made.","content_text":"One of the most important resources when developing in React is being able to test our code in the browser without compiling every change made. For this we are going to resort to preparing our previous project: \"Hello world in React + Babel + Webpack\"\n\nWhat will we learn? Prepare our project to have a development server. Additionally, every time you save a file after a modification, the webpack server will automatically refresh the browser window.\n\nWe are going to update our project, the first thing we must do is install the development dependencies that webpack requires to add this feature to our project:\n\nnpm i webpack-dev-server --save-dev\n\nOnce the necessary dependencies are installed, in our package.json file we will add the following script below the one we have to compile the project:\n\n\"start\": \"webpack-dev-server --open --mode development\",\n\nWe save and execute the command in the terminal/console:\n\nnpm run start\n\nWebpack will open a browser window on port 8080 of your localhost where you can see your project ready to test. Also, if there is an error, the console will help you by displaying a message.\n\nIn conclusion\n\nWe learned to prepare our projects with a development server to speed up our work, optimizing the compilation process every time we need to save our code.\n\nIf you want to learn more about this package and its multiple uses, I recommend reading the documentation in detail: Webpack DevServer\"","date_published":"2019-12-29T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","react","javascript","tutorials"],"image":"https://gndx.dev/og/en/blog/crear-servidor-de-desarrollo-con-webpack-hot-reload-en-react.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/crear-servidor-de-desarrollo-con-webpack-hot-reload-en-react.md"},{"id":"https://gndx.dev/en/blog/hola-mundo-en-react-babel-webpack/","url":"https://gndx.dev/en/blog/hola-mundo-en-react-babel-webpack/","title":"Hello world in React + Babel + Webpack","summary":"In this resource we are going to learn how to create a project from scratch by configuring all the necessary elements for the construction of a “Hello World” going through all the necessary elements.","content_text":"In this resource we are going to learn how to create a project from scratch by configuring all the necessary elements for the construction of a “Hello World” going through all the necessary elements.\n\nWe will learn:\n\n1. Set up a project\n2. Install React\n3. Create a Hello World in React\n4. Install and configure Babel\n5. Install and configure Webpack\n6. Compile our project\n\nLet's start with the fun...\nSet up project\n\nThe first thing we need is to create and initialize our project from the console or terminal.\n\nmkdir hello-world && cd hello-world\n\nInitialize project in git (I always recommend it regardless of whether it will be shared).\n\ngit init\n\nInitialize project with npm to install the necessary dependencies.\n\nnpm init -y\nInstall React\n\nOnce our project is initialized, we are going to proceed to install React and create the necessary structure to work with react.\n\nInstall React\n\nnpm i react react-dom --save-dev\n\nProject organizational structure:\nsrc/ - Folder where we will place all the project code.\nsrc/components/ - Folder where we will store the components.\nindex.html - HTML file where we will insert the construction of the project.\nindex.js - Main application document.\n\nIf you want to read more about how to structure your projects, I recommend this reading: \"File Structure - React\".\nHello World in React\n\nNow that we have React installed and understand how we will structure the project, we are going to create our first lines of code.\n\nWe create the necessary folders for the project structure:\n\nmkdir src && mkdir src/components\n\nWe create the HelloWorld component:\n\ntouch src/components/HelloWorld.jsx\n\nWe add the following code:\n\n// Creamos un componente presentacional que recibe la propiedad \"text\"\nconst HelloWorld = ({ text }) => {text} ;\n\nNow we create the main entrance where the application will live in React.\n\ntouch index.js\n\nWe add the following code:\n\n// insertamos nuestro componente en nuestro documento HTML utilizando ReactDOM\nReactDOM.render(\n ,\n document.getElementById(\"app\")\n);\n\nWe create the HTML document for the application.\n\ntouch index.html\n\nWe add the following code:\n\n \n \n \n \n React Base \n \n \n \n \n \n\nUp to this point we already have the base code of an application in React, but we must compile the code and create a routine that allows us to optimize the process.\nInstall and configure Babel\n\nBabel is a tool that allows us to transform our ES6 Javascript code into JavaScript that any browser supports. Which allows us to have the new Javascript functionality in the construction of our projects.\n\nInstall the necessary dependencies:\n\nnpm i @babel/core babel-loader @babel/preset-env @babel/preset-react --save-dev\n\nWe create the document \".babelrc\" where we will add the Babel configuration.\n\ntouch .babelrc\n\nWe add the following configuration:\n\n {\n \"presets\": [\n \"@babel/preset-env\", // Compila ES5 y ES6\n \"@babel/preset-react\" // Compila JSX y sintaxis de React\n ]\n }\nInstall and configure Webpack\n\nWebpack is a compilation tool that allows us to add in a file all the dependencies to the elements that are part of your development project: such as the code of our React application, HTML, CSS, images among other resources. It allows us to have a scheduled task to optimize the construction and agile launch of our projects.\n\nInstalling Webpack\n\nnpm i webpack webpack-cli html-webpack-plugin html-loader --save-dev\n\nWe create webpack.config.js\n\ntouch webpack.config.js\n\nWe add the necessary configuration:\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};\nCompile our project\n\nIn order for our project to work and be ready to be run in a browser or sent to production we have to add the following configuration to \"package.json\".\n\n \"scripts\": {\n \"build\": \"webpack --mode production\"\n }\n\nNow we can use the \"build\" command to build the project.\n\nnpm run build\n\nWhich will build a project in the \"dist/\" folder where we will find an index.html and bundle.js file, we execute the index.html document in your preferred browser to see our application working.\nGood practices\n\nFinally, I recommend adding the .gitignore file to the root of your project and ignoring /nodemodules/ as well as the /dist/ folder where the compiled project is stored. And finally save the changes in Git.\n\nI share the Github repository: React Base.\nIn conclusion\n\nWe learned how to create a project using the minimum configuration for React, we learned about Babel and its configurations as well as using WebPack to prepare our project.","date_published":"2019-12-29T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","react","javascript","tutorials"],"image":"https://gndx.dev/og/en/blog/hola-mundo-en-react-babel-webpack.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/hola-mundo-en-react-babel-webpack.md"},{"id":"https://gndx.dev/en/blog/bogotajs-react-hooks/","url":"https://gndx.dev/en/blog/bogotajs-react-hooks/","title":"BogotaJS: React Hooks","summary":"We will explain in detail what Hooks are in React, we will prepare a project from scratch, we will create custom hooks, we will consume an API and we will understand how the life cycle and state of components works with React Hooks.","content_text":"We will explain in detail what Hooks are in React, we will prepare a project from scratch, we will create custom hooks, we will consume an API and we will understand how the life cycle and state of the components works with React Hooks.\n\nExample repository: https://github.com/gndx/react-hooks\nEvent URL: https://ti.to/bogotajs/react-hooks-nestjs","date_published":"2019-06-05T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","conferences","react","hooks"],"image":"https://gndx.dev/og/en/blog/bogotajs-react-hooks.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/bogotajs-react-hooks.md"},{"id":"https://gndx.dev/en/blog/entendiendo-map-en-javascript/","url":"https://gndx.dev/en/blog/entendiendo-map-en-javascript/","title":"Understanding \"map()\" in Javascript","summary":"When we have to work with Arrays in JavaScript, there are several options available with which we can iterate, transform or manipulate our arrays.","content_text":"When we have to work with Arrays in JavaScript, there are several options available with which we can iterate, transform or manipulate our arrays. This time we are going to talk about how \"Array.prototype.map()\" works, this method that we can use in arrays in JavaScript.\n\nMozilla's MDN site explains its functionality as follows:\nThe map() method creates a new array with the results of the call to the indicated function applied to each of its elements.\n\nBut what does this mean in practice? The map() method allows us to return a new array of data based on an array. In other words, we do not mutate the data of the original array, now we have a new array with the resulting values.\n\nLet's put a problem and solve it with the map() method. \nWe have a list of products that a user will buy and we want to obtain only the names of the products to buy.\n\nTo understand the example a little more, we are going to solve it without the map() method, for this we will use the for() method.\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\nconsole.log(nameOfProducts2); // [\"shirt\", \"Sports Tennis\", \"Casual shoes\", \"skirt\", \"tie\"]\n\nIn conclusion:\n\nAs we can see, we have reduced our code, it is now more readable, easy to understand and simplified.  The functionality of .map() can be extended with other methods and used powerfully, I leave you the MDN documentation in case you want to see more practical examples.\n\nI invite you to set some challenges and solve them using the map() method. If you have questions, leave your comments or questions. They will always be appreciated!","date_published":"2019-05-27T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","javascript","tutorials","resources"],"image":"https://gndx.dev/og/en/blog/entendiendo-map-en-javascript.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/entendiendo-map-en-javascript.md"},{"id":"https://gndx.dev/en/blog/talend-land-2019/","url":"https://gndx.dev/en/blog/talend-land-2019/","title":"Talend Land 2019 - React vs Angular vs Vue","summary":"The battle of the Frontends, The dilemma arises when choosing between “Vue”, “Angular” or “React”","content_text":"The battle of the Frontends, The dilemma arises when choosing between “Vue”, “Angular” or “React”. Which one is really better? Which one should I learn? Which is better paid? In this talk we present the pros and cons of the main frameworks and libraries for web development, we will focus on current labor market data as well as community support and everything there is to know about vue, angular and React.","date_published":"2019-05-27T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","conferences","react","view","angular"],"image":"https://gndx.dev/og/en/blog/talend-land-2019.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/talend-land-2019.md"},{"id":"https://gndx.dev/en/blog/formulario-de-contacto-con-react-firebase/","url":"https://gndx.dev/en/blog/formulario-de-contacto-con-react-firebase/","title":"Contact form with React + Firebase","summary":"We are going to create a contact form made with ReactJS and store the contact requests in Firebase Database.","content_text":"We are going to create a contact form made with ReactJS and store the contact requests in Firebase Database.\n\nWhat is Firebase Realtime Database?\n\nIt is a service that stores and synchronizes data with our NoSQL database hosted in the cloud. Data is synced to all clients in real time and remains available when your app is offline.\n\nOne of the great qualities of Firebase RealTime Database is that it works offline, the Firebase RealTime Database SDK stores the data on disk and when the connection is reestablished the client receives the missing data and synchronizes with the current state of the server. (Feature I love).\n\nOur example project is built with \"create-React-app\", so we're going to skip all the initial setup and focus on working on the \"App.js\" file where we'll create the form.\n\nConfigure Firebase within our React project\n\nTo use Firebase RealTime Database in our React application we must import the \"Firebase\" library which we will install within our project from npm with the following command:\n\n npm install --save firebase\n\nWe go to our \"Firebase Console\" we choose or create a project and in the \"Add Firebase to your web app\" option we copy the configuration that includes the apiKey, authDomain, projectId, databaseURL, storageBucket necessary to connect with the service.\n\nWe create a file inside \"src/\" and we will call it \"Firebase.js\" where we will add our configuration as follows:\n\nCreating our contact form within our App.js file\n\nI leave you the repository with the project: react-form-firebase\n\nDemo of the form: https://gndx-projects.firebaseapp.com/","date_published":"2017-12-08T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","firebase","reactJS","resources","javasscriptpt"],"image":"https://gndx.dev/og/en/blog/formulario-de-contacto-con-react-firebase.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/formulario-de-contacto-con-react-firebase.md"},{"id":"https://gndx.dev/en/blog/react-en-produccion-firebase-hosting/","url":"https://gndx.dev/en/blog/react-en-produccion-firebase-hosting/","title":"React in production with Firebase Hosting","summary":"Firebase Hosting is a production-level content storage service from Google aimed at developers so they can deploy Web applications with static content quickly and simply.","content_text":"Firebase Hosting is a production-level content storage service from Google aimed at developers so they can deploy Web applications with static content quickly and simply.\n\nIn this small manual we are going to go step by step to send your development created in React to production. For this we are going to use a project that I have previously built with React “gresume-react” a free template to create a professional portfolio with react.\n\nProject setup in Firebase\n\nThis is where we will need to have a Firebase account (firebase.google.com) and enable a new project by choosing a name for your new app.\n\nReact Firebase\n\nRemember that Firebase will create a URL based on the name of your application and that is where your application will be available.\n\nBuilding our project\n\nOur project is built with “create-react-app” this package allows us to forget about the configurations of an initial project and focus on developing with React.\n\nTherefore, to build our project to send to production, it is only necessary to execute the following command: “npm run build” will create a folder within our project called “build/” which contains our entire project ready to be deployed on a production server.\n\nSetting up Firebase Hosting\n\nTo upload our project to Firebase Hosting it is necessary to have Firebase Command Line Interface (CLI) installed, we install it with the following command in the console:\n\nnpm install -g firebase-tools\n\nOnce installed, it is necessary to log in from the console to access our projects. We execute the following command:\n\nfirebase login\n\nThis command will open a window where we will log in with our Firebase account which will give you the necessary permissions to work from the console with our projects.\n\nReact Firebase\n\nSetting up Firebase within our project, we run the following command:\n\nfirebase init\n\nWe are going to follow the instructions that the client shows us through the console, to use only Firebase Hosting it is necessary to select the option “Hosting: Configure and deploy Firebase Hosting sites” or, failing that, the options you need for your project.\n\nWe choose our project that we previously created in Firebase.google.com by selecting it from the list of projects that we have\n\nSelect the folder where our project is located, in our case it is the “build/” folder which contains our react project ready for production.\n\nFirebase will ask us if you want our application to be configured as a “single-page-app”. The default option is “no” in our case, we could really benefit from the configuration, so we will type “y”.\n\nFirebase will warn us that we already have an “index.html” file generated, which we do not want to be overwritten. Type “n” and press enter to keep our own “index.html”, generated by our build process above.\n\nOnce we complete the initial configuration, it is time to deploy.\n\nReact Firebase\n\nDeploy\n\nWe run the following command:\n\nfirebase deploy\n\nThis command will take everything found in “build/” and host it in Firebase, and will show us the URL it generates to view our project in production.\n\nThe URL that has been generated for this example is the following: https://barajas-mx.firebaseapp.com/\n\nReact Firebase\n\n\\\\Bonus\n\n\\\\\n\nConfigure deploy\n\nWe can continue working on our project and if we need to make any changes to our project, we just run the command “npm run build” to generate all our files ready for production again and then we run “firebase deploy“.\n\nYou can add this command to our scripts inside “package.json” by calling our deploy script: “firebase deploy”.\n\nWhich will allow us to execute the following command in the console:\n\nnpm run build && npm run deploy\n\nSet up a domain on Firebase Hosting\n\nSetting up a domain is extremely easy in Firebase, if we already have one we can go to the “Hosting” section and choose “Connect a domain” follow the instructions which will validate our domain with a TXT record and once it has been validated we will proceed to add the main type “A” records for our domain and in a matter of minutes we will be able to see in https://tudominio.com your project working.\n\nIn my case I used my domain https://barajas.mx where my portfolio is located.\n\nI am going to prepare another manual on how to integrate Firebase Database to display portfolio information.\n\nSoon…","date_published":"2017-10-10T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","firebase","react","resources"],"image":"https://gndx.dev/og/en/blog/react-en-produccion-firebase-hosting.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/react-en-produccion-firebase-hosting.md"},{"id":"https://gndx.dev/en/blog/aprende-css3/","url":"https://gndx.dev/en/blog/aprende-css3/","title":"Free book learn CSS3","summary":"For all those who want to learn CSS, I recommend the following online book created by Javier Eguiluz","content_text":"For all those who want to learn CSS (Cascading Style Sheets), I recommend the following online book created by Javier Eguiluz, where he shows us its history, support, specifications, the basic fundamentals of CSS, as well as understanding step by step each of the properties, advantages and everything we can do with this language that enriches our web projects by giving a more elegant view to our HTML documents.\n\nI recommend you follow this resource topic by topic and complete the exercises with which you will be able to master CSS3 perfectly.\n\nAuthor: Javier Eguiluz\n\nLicense: Creative Commons Non-Commercial – Attribution – Share Alike (CC BY-NC-SA) 3.0\n\nDownload Free CSS3 Book","date_published":"2017-04-11T00:00:00.000Z","authors":[{"name":"Oscar Barajas Tavares","url":"https://gndx.dev/en/about/"}],"tags":["others","css3","books","resources"],"image":"https://gndx.dev/og/en/blog/aprende-css3.png","language":"en","_markdown_url":"https://gndx.dev/en/blog/aprende-css3.md"}]}