Cuando deseas hacer un sitio en cualquier tecnología o por ejemplo en WordPress. Aparte de comprar tu dominio, es necesario adquirir el servicio de alojamiento o mejor conocido como hosting. En este artículo te enseñaré que es un servicio de alojamiento y como comprar un hosting para WordPress.

¿Por qué necesito un servicio de alojamiento?

Cuando quieres tener una página en Internet requieres principalmente de dos cosas: el dominio y el hosting. En este último es el alquiler del espacio de disco duro de una computadora (llamada servidor), donde se guardan los archivos, códigos e imágenes de tu página web. De esta forma, cuando escribes la dirección URL de un sitio, el dominio apunta a esa computadora para que el navegador inicie el proceso de carga y te la muestre.

¿Qué necesito para adquirir un hosting para WordPress?

Cada servicio de hosting posee soporte para ciertas tecnologías que permiten ejecutar o cargar tu página web. Para el caso de WordPress se requiere tener 2 cosas: un servidor web y un servidor de base de datos. Las compañías suelen ofrecer ambas al mismo tiempo por lo que no debes preocuparte de adquirirlos por separado.

Servidor Web

Es quien se encarga de procesar los archivos de la pagina para mostrarlos en tu navegador, en el caso de que tenga código de un lenguaje de programación lo procesa para generar el HTML que sería la página web que ves.

El hosting para WordPress, puede ser cualquier servidor web que procese PHP, el lenguaje de programación que utiliza WordPress. Ya que actualmente este CMS posee compatibilidad para la mayoría de ellos: Apache, Nginx, Lightspeed, entre otros. Lo mas importante es que soporte PHP (recomiendo tener compatibilidad con la versión 7.4 o superior) pues sin esto no podrás tener WordPress en tu servidor web.

La diferencia entre versiones y servidores web, solo afecta a usuarios mas avanzados y técnicos. Pues la configuración cambia y la velocidad del mismo. Ya queda criterio del programador cual elegir (en caso que se pueda, pues algunos servicios de alojamiento solo te brindan una configuración única).

Base de Datos

El servidor de base de datos es aquel donde se almacenan los datos de forma clasificada y ordenada. De esta forma es rápido leerlo y clasificarlo. Por ejemplo, si tienes varias noticias o artículos en tu página, el servidor de base de datos permite organizarlas por las fecha mas reciente y permitir a WordPress mostrarlas de forma bonita y organizada en el navegador.

Para WordPress requieres tener como base de datos MySQL o 100% compatibles como MariaDB. Si tu servidor de alojamiento tiene soporte para base de datos MySQL o MariaDB es suficiente. Generalmente el otro requerimiento es el espacio (depende de cuanta información tienes) y la versión que debe ser superior a 5.0.15, que hoy en día es una versión muy vieja.

Otro software

Adicionalmente al gestor de Base de Datos y el servidor web que ejecute PHP. Recomiendo tener adicionalmente:

  • Panel de administración como Cpanel, para poder navegar en el sistema de archivos, crear cuentas de correo, administrar dominio y demas cosas fácilmente.
  • Tener instalado GIT para que los programadores puedan subir sus desarrollos fácilmente. Además permite actualizar o revertir actualizaciones rápidamente.
  • SSH para subir los archivos al servidor de forma segura. También con acceso SSH los programadores pueden ejecutar comando o correr scripts que facilitan el trabajo.
  • Soporte a correos electrónicos para poder enviar correos desde el servidor y no usar (inicialmente) otro servicio adicional para enviar informaciones a tus usuarios.

Conclusiones

Como resumen, si andas buscando un hosting para WordPress, te recomiendo hacer esta comparativa de hostings y seleccionar el que tenga la mejor relación de características ajustadas a tu presupuesto.

¡Luego empieza a subir tus archivos y disfruta de tu sitio con WordPress!

La entrada Características de un hosting para WordPress se publicó primero en El blog de Skatox.

Hace unos meses adquirí una Mac mini con el nuevo procesador de Apple Sillicon (M1). Estaba buscando remplazar mi Mac mini anterior y cuando vi que sacaron nuevos equipos con el chip M1 que en las pruebas de rendimiento superaban a la mayoría de procesadores, no producían mucho calor (vivo en un lugar caliente ) y por lo tanto no eran equipos ruidosos.

¿Que tienen de distinto los chips M1 y cual adquirir?

Los chips de Apple Sillicon (M1) son diseñados por la misma Apple. Utilizan la arquitectura ARM a diferencia de x86 que era la utilizada por AMD e Intel (quien proveía procesadores a Apple desde el 2005).

Esto significa que utilizan otra instrucciones, por lo tanto los programas deben ser compilados para esta arquitectura. Pero tiene como ventaja que los equipos con ARM se diseñan para consumir menos energía y actualmente poseen gran rendimiento.

El chip de Apple Sillicon (M1)
El chip de Apple Sillicon (M1)

Apple Sillicon (M1) para el desarrollo web

Respecto a la compatibilidad de aplicaciones, macOS ofrece Rosseta 2. Una aplicación que traduce el código de x86 a ARM permitiendo ejecutar cualquier aplicación previa sin problemas. Respecto al rendimiento, obviamente es menos al nativo pero igual están a la par con los equipos anteriores de Apple con procesadores Intel.

Sin embargo, a estas alturas la mayoría de aplicaciones ofrecen compatibilidad para el Apple Sillicon (M1). Por lo que podrás trabajar sin problemas como si estuvieses en otro equipo.

Editores o IDEs

Actualmente los principales IDEs para programación web ofrecen compatibilidad nativa. El primero en probar fue Sublime Text 4 que es el mas rápido que usado. Xcode como es el propio de Apple también es rápido pero casi no me gusta para desarrollo web. Visual Studio Code también ofrece version nativa que funciona muy rápido al igual que la suite de Jet Brains.

Lo único que se debe tener cuidado es con instalar la versión para ARM y no la de x86. Ya que todos estos editores ofrecen ambas versiones y a pesar que la versión de x86 corre en tu equipo. No lo hará de forma nativa y es muy lento.

Compatibilidad con lenguajes de programación

macOS ofrece versiones nativas de lenguajes com Ruby, PHP, entre otros. Sin embargo, puedes conseguir versiones nativas de Rust, Go, PHP, Ruby, JavaScript (con Node) y usarlas sin problemas. Si usas lenguajes interpretados, el código será igual entre arquitecturas así que no habrá problemas al momento de ejecutar o desarrollar tus aplicaciones. En nodeJS tuve que compilar algunos módulos para que quedaran nativos para que funcionara en mis proyectos, pero creo que otro sistemas operativos también hace eso la primera vez.

Docker

Docker requiere de Linux para funcionar, en macOS Big Sur ofrecen algo llamado Virtualization Framework que sirve para correr otros sistemas como Linux en un hypervisor. Docker desde la version 3.3 ofrece soporte para equipos con Apple Sillicon (M1). Desde que actualicé a la versión 4 no he tenido problemas siguiendo estas recomendaciones:

  • Uso las imágenes de mis contenedores en versiones de ARM para mejorar la velocidad. Algunos contenedores como el de Mailcatch, solo tienen para x86 y lo uso sin problemas.
  • Usar qemu como método de virtualización para tener 100% de estabilidad. Yo uso Virtualization Network y a veces falla al hacer operaciones pesadas con la base de datos.
  • La imagen oficial de MySQL no está para ARM y uso MariaDB en ARM. Siempre que intente usar MySQL inclusive con la emulación falla, desconozco la causa y por eso lo dejé de usar.

Pero en general funciona bien, estable y hasta los momentos no ha afectado mi trabajo.

Homebrew y aplicaciones del sistema

Te recomiendo visitar Does it ARM para buscar si el software corre en tu equipo. Aunque no he tenido problemas de compatibilidad. Suelo instalar las aplicaciones del sistema a través Homebrew y este separa las versiones de x86 y ARM por separado, así que si ofrece versión nativa se instala esa, si no, usará la arquitectura de x86. Todo esto funciona de forma transparente así que no habrá que intervenir.

Recomendaciones finales

Me parece que los equipos con Apple Sillicon (M1) son buenos para el desarrollo web, la relación costo/rendimiento es muy buena, gran compatibilidad con las aplicaciones existentes de macOS, gran potencia, poco consumo de energía y ningún ruido en el hardware. Hacen de estos unos equipos una buena compra para el desarrollo web.

Por ahora, la única limitación que veo es la cantidad de RAM, actualmente un máximo de 16GB, esta cantidad compartida con el chip de vídeo puede ser muy poco para algunos usuarios y probablemente deseen esperar por la siguiente generación de equipos con Apple Sillicon. Sin embargo, debido a la velocidad de los discos, al usar el área de intercambio o swap, la velocidad sigue siendo muy alta por lo que si necesitas mas RAM la velocidad sigue siendo muy potente, pero no es lo recomendable.

Respecto al disco duro, no me preocupa. Tengo una portátil con un disco duro SSD de menor calidad y hasta los momentos me ha durado 7 años, estoy seguro que esos me durarán mucho mas. Ademas he tomado medidas como no indexar ciertos archivos para aumentar el rendimiento y vida útil del disco duro.

En fin, si buscas un equipo con buen costo/rendimiento para realizar desarrollo web y prefieres usar macOS. Te recomiendo las computadoras con Apple Sillicon (M1). No tendrás problemas de compatibilidad con las aplicaciones existentes y el rendimiento será muy bueno.

Si compraste un equipo o vas a hacerlo, ¡Bienvenido(a) a la arquitectura ARM!

La entrada ¿Sirve una Mac con Apple Sillicon (M1) para el desarrollo web? se publicó primero en El blog de Skatox.

Hoy se celebra el día del programador y programadora por ser el día 100 (en hexadecimal) del año. Y este año, te comparto 3 grandes canciones geek sobre la recursividad, desbordamiento de pila y optimización de la cola (conceptos básicos sobre la ejecución de código recursivo).

Las canciones sobre el desbordamiento de pila (Stack Overflow)

Disfruta de las canciones con un fondo musical de Disney. Éstas canciones fueron creadas e interpretadas porAnjana Vakil y Natalia Margolis para la conferencia !!Con del 2019 para entreteneros y aprender sobre funciones de pila, sobre todo, el famoso error conocido como StackOverflow. De hecho, de ahí viene el nombre de la famosa página para responder dudas a programadores. Así que sin mas preámbulos haz clic en reproducir y disfruta del video.

Si te gustó, recuerda compartilo en las redes para que otros lo descubran o deja tu comentario sobre lo que opinas de este vídeo.

Y recuerda evitar que tus funciones recursivas produzcan desbordamiento de pila 😉

La entrada ¡Feliz día del programador(a)+! se publicó primero en El blog de Skatox.

Es sabido que las monedas virtuales han llegado para quedarse tanto en el mundo financiero como en el mundo político y cada vez son más los inversores que deciden volcarse a este instrumento digital. Ahora bien, el interés por las criptomonedas ha superado las expectativas y llega a actores inesperados como es el caso de la histórica planta hidroeléctrica Albany Engineering Corp., de la ciudad de Nueva York. Aplicando los sobrantes de energía producida, decidieron volcarlo a la minería de Bitcoin y otras divisas. ¿Será un modelo a replicar por otras empresas?

Siempre es bueno hacer un breve ejercicio mental e imaginar posibles escenarios. Por ejemplo: ¿hubiéramos imaginado hace apenas unas décadas que Bitcoin hoy marcaría el ritmo del sector financiero sino también productivo a nivel mundial? La primera de las criptomonedas, que data del año 2009 y que nació de forma 100% digital, sigue dando que hablar luego de vivir un 2020 histórico, en el que rompió todas las cifras de rendimiento aún en un año marcado por la crisis de la pandemia.

En esa misma dirección, cada día surge una noticia relacionada a diversos sectores que empiezan a apostar por las criptomonedas, brindando un fuerte espaldarazo a este activo que ha sabido surfear críticas de pesos pesados desde su nacimiento. En esa dirección, debemos mencionar el caso de Albany Engineering Corp, una histórica planta hidroeléctrica de la ciudad de Nueva York que se encuentra en funcionamiento desde el año 1897. De acuerdo a lo señalado por Jim Besha, director ejecutivo de la firma, el excedente de energía eléctrica generada será destinado para minar criptomonedas, algo inédito en la historia del sector.

La explicación de este fenómeno puede encontrarse en la naturaleza misma de las criptomonedas: la minería de ellas es un procedimiento que consume una enorme cantidad de electricidad, lo que la deposita fuera del alcance de las personas promedio. Incluso, el debate medioambiental se ha puesto en el medio de la escena al pensar si no es necesario pensar en energías renovables que puedan alimentar esta función sin poner en peligro al planeta en una etapa crucial para nuestros destinos como humanidad. Desde Albany Engineering Corp. señalaron que ellos fueron pioneros en el uso de energía renovable, por lo que ahora pueden aprovecharla para mejorar el capital de la empresa.

Cabe destacar que el propio director ejecutivo de la empresa subrayó que la misma no ha cambiado de actividad y que la producción de energía sigue siendo el motor principal de las actividades de Albany Engineering Corp., las criptomonedas son una actividad secundaria que cumple dos grandes objetivos: en primer término, como ya hemos destacado, mejorar la situación financiera de la firma, y por el otro estudiar a largo plazo qué rendimientos brinda el uso de energías renovables a la hora de minar Bitcoin. A la espera de las primeras

La entrada Cambios de paradigmas: una histórica central de energía decide invertir en criptomonedas se publicó primero en El blog de Skatox.

Hace unas semanas tuve la oportunidad de participar en el WordCamp de Cochabamba 2021. En ella hablé por primera vez de Docker y como utilizarlo con WordPress. Para quienes no conocen Docker, es una herramienta que permite trabajar con contenedores, una tecnología para encapsular las aplicaciones junto a su entorno de ejecución (podemos verlo como una proceso que por dentro tiene Linux y mas aplicaciones corriendo sobre él).

En el caso de WordPress, podemos encapsular en un contenedor una instalación de WordPress junto un servidor MySQL, Nginx con versiones específicas. Así cuando ejecutemos ese contenedor en producción, en el ambiente local o desarrollo; van a poseer la misma versión y el mismo software así que nos podemos concentrar solo en el desarrollo de WordPress.

¿Por qué usarlo?

Una de las ventajas es que se encarga de la configuración e instalación de las capas inferiores de una aplicación. En el caso de WordPress, no nos preocuparemos si la versión de PHP o MySQL instaladas en el ámbito de desarrollo son diferentes al del entorno de producción. Por lo que podemos programar a una versión específica del lenguaje sin que falle posteriormente. Otro uso es poder intercambiar esas capas inferiores fácilmente y así probar un tema o plugin que hemos desarrollado, en diferentes versiones de PHP o de WP y comprobar compatibilidad.

Arquitectura de varias instalaciones de WordPress con distintas versiones de MySQL usando Docker
Ejemplo de como puedes usar Docker para correr un plugin en instalaciones de distintas versiones de WordPress

En fin, hay un montón de usos que podemos hacer pero mejor mira mi charla sobre el tema. Aprenderás todo lo necesario para iniciarte en poco tiempo.

Mi charla sobre WordPress y Docker

Esta es la primera vez que doy la charla en un WordCamp. En esta charla explico las bases teóricas de Docker, cómo aplicarlo para un instalación de WordPress, ejemplos y escenarios de como usarlos. Por ejemplo, si quieres probar un código con varias versiones de WordPress al mismo tiempo, en el vídeo puedes ver hacerlo y así ahorrar tiempo.

Si deseas saber todo eso, te recomiendo ver el video sobre Dockeriza tu flujo de desarrollo con WordPress y aprende a iniciarte con esta tecnología.

Si te gustó, recuerda compartirlo con otras personas para que todos aprendamos a mejorar nuestras habilidades. También puedes dejar tu comentario si deseas agregar algo al contenido o si tienes una duda.

¡A estudiar contenedores!

La entrada WordPress y Docker: Mi charla del WordCamp Cochabamba 2021 se publicó primero en El blog de Skatox.

Los archivos de formato de documento portable, mejor conocidos como archivos PDF por sus siglas en inglés (Portable Document Format) fueron creados en 1993 por Adobe. Su eso se extendió por todo el mundo y su uso fue tanto que se estandarizó bajo el ISO 32000.

¿Por qué su popularidad?

El PDF se convirtió en el medio popular para compartir documentos por diversas razones. Principalmente por conservar la apariencia original, si compartes un archivo de Word. Si no tienes Microsoft Word con la versión en la que fue creada el documento o mas reciente, es probable que el contenido del documento no se vea exactamente igual. Con PDF no pasa esto, es como una impresión digital que puedes abrir en un lector de PDF y veras el documento exactamente igual a como el autor quiso.

Hoy en dia gracias a los medios de almacenamiento y velocidad de Internet ignoramos el tamaño de los archivos que descargamos. Pero hace años se compartía documentos en formato PDF principalmente por ocupar menor tamaño que otros formatos.

También con la llegada de los dispositivos móviles, todos ofrecían programas (no necesariamente instalados por defecto) para abrir archivos en formato PDF mientras que no existía soporte para archivos de Office o similares. En conjunto a esta posibilidad de abrirlo en cualquier dispositivo y su ligero tamaño, su uso se esparció por todo el mundo.

El firmado de archivos PDF

Una de los principales uso y ventajas de usar archivos con este formato, es poder utilizar firmas digitales para autenticar documentos. Estas firmas permiten autenticar un documento al insertar un código criptográfico que nos indica que el autor es quien dice ser.

Adicionalmente, se puede firmar el contenido del documento garantizando que el contenido del documento que estamos viendo, es el contenido original creado por el autor. Si una persona llegara a modificar el texto o una imagen, la comprobación de la firma fallará y sabremos que la información es invalida. En otras palabras, las firmas digitales nos dan seguridad sobre los documentos.

Herramienta para firmar PDF con firmas digitales

Hoy en dia lo mas normal es usar herramientas en la nube. Simplemente desde cualquier navegador desde cualquier dispositivo podremos acceder a la aplicación y trabajar desde cualquier parte del mundo. Puedes trabajar una parte en tu casa, luego en la oficina y mas tarde en tu teléfono.

La mejor herramienta de la nube para gestionar archivos PDF es SmallPDF, poseen un conjunto de utilidades para hacer todas las operaciones normales con PDFs: crearlos, unirlos, reducir el tamaño, entre otros. Sin embargo, en esta entrada te voy a comentar de eSign: la solución de SmallPDF para firmar documentos PDF.

La entrada Como el uso del formato PDF cambió la distribución de documentos se publicó primero en El blog de Skatox.

El desarrollo de aplicaciones web consiste en crear programas y software que son ejecutados dentro de un navegador web como Firefox, Chrome o Edge. Estos programas se instalan en un servidor que sirve páginas web dependiendo de las acciones del usuario. Las tecnologías utilizadas para hacer estas aplicaciones son: HTML, CSS y Javascript. Así que si quieres dedicarte a esta rama, necesitas aprender estas tecnologías aparte de manejo básico de servidores, comunicaciones, entre otros.

Puede sonar complicado, pero estos temas se van aprendiendo poco a poco. Si quieres iniciarte en este mundo, te lo recomiendo. Solo debes tomar un paso a la vez. En líneas generales las cosas básicas que debes aprender son:

  • HTML: es lenguaje para definir las páginas web. Con él puedes crear la estructura de las páginas, definir la información de las páginas web. El lugar donde va ir cada dato, imagen, entre otros.
  • CSS: es el lenguaje que permite definir la apariencia de las cosas definidas en el HTML: color, tamaño, posición, efectos, animaciones, entre otros. Dominar CSS te garantizará un buen futuro laboral y es recomendado para personas con inclinaciones artísticas.
  • JS: es el lenguaje de programación para alterar el contenido HTML de la página y obtener información de los eventos que realiza el usuario o navegador. De esta forma creas las aplicaciones, porque con esto puedes obtener los datos de la interacción del usuario con la computadora y alterar el HTML/CSS para mostrar otra información o los cambios realizados.
  • Servidores : es el corazón de todo. Aquí es donde se guardan y se ejecutan las aplicaciones web realizadas. También puede tener el gestor de la base de datos que es lugar donde se guardan y procesan los datos de la aplicación.

A pesar de que hay mas contenido por aprender, considera que esas 4 áreas son las que todo desarrollador debe aprender y conocer de forma básica. Existen mas áreas y de conocimiento pero requieren especialización y estudio adicional.

¿Cómo empezar en el desarrollo de aplicaciones web?

Si no sabes como empezar, puedes iniciar estudiando en una institución como la Escuela CES que te brinde una ruta a seguir. Así garantizas que posees todos los conocimientos requeridos para trabajar como desarrollador web y no pierdes tiempo en descubrir que cosas se requieren para ir avanzando. Por ejemplo, en la Escuela CES ofrecen el programa de Técnico Superior en Desarrollo de Aplicaciones Web a Distancia para capacitar y convertirte en un profesional con conocimientos de front-end y back-end para trabajar en diversos campos labores que existen en el desarrollo web: creación de páginas web, desarrollo de sistemas web, manejo de servidores, crear videojuegos o contenido multimedia que utilice la web como plataforma, aplicaciones web móviles entre otros.

En este Técnico Superior en Desarrollo de Aplicaciones Web a Distancia es muy completo, te enseñan las tecnologías mencionadas al inicio de este artículo. Adicionalmente, te enseñan lenguajes de programación como .NET, Java y PHP que son los mas utilizados en el mercado laboral. De modo que aprenderás tecnologías que son utilizadas ampliamente en la industría y podrás trabajar inmediatamente al terminar.

También me gusta como enfocan el contenido en los 2 años: en el primer año conocerás lo básico y tendrás nociones generales de desarrollo web. Con esto teóricamente puedes trabajar y tendrás conocimiento de todas las áreas para que vayan planificando tu carrera (en base a lo que mas te guste o te atraiga. En el segundo año, se profundiza cada una de los distintas áreas del desarrollo web y así puedes aplicar el conocimiento adquirido en el primer año en trabajo mas especializado y así descubrir con mayor profundidad cada área. En este segundo año ya estudiarás como es el trabajo real de un desarrollador web y al ir agarrando experiencia, empezarás a crear tu perfil profesional. De esta forma al salir al mercado laboral contarás con experiencia en varias ramas. Permitiendo buscar trabajo en un amplio sector del mercado o específicamente en lo que mas te guste.

Si deseas mas información sobre como puedes convertirte en un desarrollador(a) web, te recomiendo leer la siguiente infografía que da mas detalles sobre ello:

Infografía sobre temas de desarrollo de aplicaciones web
Infografía sobre el estudio de desarrollo de aplicaciones web

¿Que ventajas ofrece ser desarrollador web?

En mi caso, llevo varias décadas como desarrollador web. Para mí una de las cosas que mas me gusta de ésta área es que el resultado de tu trabajo puede verse en cualquier dispositivo con Internet en cualquier parte del mundo. Como casi todos los dispositivos con conexión a Internet tienen un navegador web, cada uno de estos dispositivos puede ejecutar una aplicación web o ver el contenido de una página web que hayas realizado.

Mi segunda ventaja, es una consecuencia de lo que comenté en el párrafo anterior. Al poder verse desde cualquier lado con acceso a Internet, también puedes trabajar desde cualquier parte del mundo. El desarrollo web se puede hacer 100% de forma remota, puedes crear sitios web y aplicaciones y trabajar con otros en otras partes. Utilizando herramientas como Git y de manejo de proyectos, puedes organizarte y comunicarte con otros para trabajar en conjunto. Al final, solo debes escribir código y subirlo a un servidor para que pueda ser ejecutado.

Otra de las cosas que me gusta, es que si estas en el área de Front-end. Trabajas con contenidos visuales y multimedia junto con código. Entonces si te gusta hacer cosas artísticas o visuales, puedes dedicarte a esta rama. O si te llama mas la atención el manejo de datos, cálculos matemáticos y cosas similares puedes dedicarte a la rama de Back-end. Es decir, para cualquiera de tus habilidades, conseguirás en que trabajar dentro del área de desarrollo web.

Espero que te animes a estudiar esta rama y a dedicarte a ella, puedes hacerlo desde tu casa y conseguir una carrera profesional en poco tiempo. La remuneración es buena y no requiere mucho tiempo o conocimientos para salir al mercado laboral. Así que…¡Éxitos!

La entrada Estudiar desarrollo de aplicaciones web se publicó primero en El blog de Skatox.

Esta semana Microsoft anunció Github Copilot, un servicio que utiliza el motor de inteligencia artificial GPT-3 qué según Wikipedia, es un modelo de lenguaje autorregresivo que emplea aprendizaje profundo para producir textos que simulan la redacción humana. Es decir, utiliza Inteligencia Artificial para crear contenido que parece ser escrito por personas.

Github Copilot lo que hace es escribir código de programación como si fuese un desarrollador con tan solo definir qué es lo que se desea hacer. Por ejemplo, si haces una función llamada ordernarAlfabeticamente(), se generará código para ordenar alfabéticamente un arreglo. Esto es posible gracias a que se alimenta del código fuente de muchos proyectos de código abierto hospedados en Github. Como mi tesis de pregrado fue un generador de código de PHP/PostgreSQL me llamó mucho la atención.

Al ser una tecnología innovadora que permite crear código sin ayuda de un programador. Muchos programadores les causó un miedo y piensa que pronto remplazará a los programadores.

Ejemplo de Github Copilot generado una función para crear una dirección de envío
Ejemplo de Github Copilot generado una función para crear una dirección de envío

¿Github Copilot reemplazará a los programadores?

Si no quieres leer el artículo completo, mi respuesta es NO. Ahora si quieres leer mi opinión, siento que va a ser otra herramienta que permitirá acelerar el desarrollo y mejorar la productividad de los programadores.

Si vemos la historia de la programación, al principio la gente programaba en lenguaje ensamblador, es decir, directamente en el lenguaje del hardware donde se ejecutaban los programas. Luego surgieron los compiladores y lenguajes de programación que permitieron ahorrarnos tiempo al abstraernos muchas cosas del hardware. Los programadores de ASM no desaparecieron sino que migraron a usar estas herramientas para ahorrar tiempo.

Luego surgieron herramientas RAD (Rapid Application Development) donde con tan solo arrastrar algunas cosas teníamos aplicaciones de escritorio en poco tiempo y también herramientas para chequear errores en el código en tiempo real y sin tener que compilar. Todas ellas vinieron a mejorar el ecosistema de programadores y no remplazarlos.

Recordemos que Github Copilot lo que hace es generar código, muchas veces como programadores nuestro primer paso es revisar si hay algo existente, buscar en Internet, copiar el pedazo y adaptarlo o mejorarlo. Pues Github Copilot viene a automatizar ese proceso, en vez de perder tiempo investigando y cambiando al navegador y luego al editor, podemos buscar el código que necesitamos desde el mismo editor. Ya el diseño de la arquitectura, como resolver el problema del negocio, la ingeniería de software y demás procesos seguirán haciéndose por una persona.

¿Cuál será su uso e implicaciones en el futuro?

Yo creo que Github Copilot se utilizará bastante para que no nos preocupemos de cosas triviales de la programación y dedicarnos mas a resolver los problemas del negocio. Es decir lo que el software busca solucionar en la vida diaria. Por ejemplo, ayer en mi jornada laboral tuve que dedicar unas horas para validar 2 campos de forma simultánea en Vuetify porque no es algo directo de hacer. Con Github Copilot lo podría haber hecho mas rápido e invertir ese tiempo en mejorar la solución de software del cliente.

Me parece que esta es una herramienta muy revolucionaria, aparte de automatizar parte de la generación de código. Creo que también será interesante la parte de licenciamiento del código. Si la I.A. genera código desde un proyecto GPL teóricamente afecta donde lo incrustemos. O si pertenece a otro equipo por ejemplo, de un competidor, sería correcto ponerlo en nuestro programa. Creo que se abrirá un debate sobre el licenciamiento de estos códigos generadores y de los proyectos de los cuales Github Copilot aprende.

Ésta herramienta es la primera de muchas, otras vendrán y nos acostumbraremos a esta nueva realidad. Los programadores no seremos reemplazados (al menos por este tipo de herramienta) pero si ahorraremos tiempo al momento de crear código. No te asustes que no vienen a sustituirte…todavía faltan años para eso jejee.

La entrada Github Copilot: ¿el reemplazo de los programadores? se publicó primero en El blog de Skatox.

Hace unas semanas tuve la oportunidad de participar en una edición de FullStapps. Una comunidad para hacer crecer a desarrolladores brindando contenido de alta calidad. En ese episodio fui entrevistado por el Ing. Henry Bravo para hablar principalmente de 3 temas:

  • WebAssembly: breve introducción sobre esta gran tecnología que nos permite ejecutar aplicaciones de alto rendimiento en la web; qué es eso y para que sirve en tus aplicaciones.
  • ¿PHP ha muerto? Comento sobre cómo el lenguaje esta muy vivo, es usado ampliamente y tiene gran oferta laboral. Desmiento algunos mitos y por qué puedes aprender este lenguaje en el 2001.
  • ¿Universidad? Mi opinión sobre si debes estudiar una carrera de Ingeniería de la computación, informática o sistemas.

También comento de otros temas y un poco de mí. Por lo que te invito a escuchar o ver el episodio.

Episodio de Fullstapps

Así que si la quieres ver, a continuación puedes ver el episodio de Fullstapps donde tuve la oportunidad de participar y compartir conocimientos. Fue una excelente experiencia y la entrevista la sentí diferente a las démas. El hecho de hablar sobre varios temas me gustó.

Si les gustó no duden en compartirlo en redes sociales y suscribirse a FullStapps para que crezcan como desarrolladores. Si tienes algún comentario que añadir, expresar un desacuerdo o solicitar mas información, no dejes de comentar al final de la entrada.

La entrada Mi participación en Fullstapps se publicó primero en El blog de Skatox.

A pesar de que mi trabajo es realizar, actualizar, mantener aplicaciones y sitios web. Había estado tan ocupado que no había podido dedicar tiempo a mi blog, que al igual que todo sistema informático requiere mantenimiento cada cierto tiempo.

Desde que inicié este blog en el 2005. He tenido un diseño y paleta de colores similar, pero cada cierto tiempo debo cambiar la plantilla de WordPress porque la han dejado de mantener o debo adaptarla a las nuevas tecnologías. La última vez que lo hice fue en el 2019 (lee para conocer mi experiencia en ese entonces) pero el diseño era exactamente igual al de la modificación del 2014.

Principales cambios de mi blog

Cambios a la plantilla

Primero fue actualizar la plantilla, pues la que utilizaba fue descontinuada y no soportaba muchas características de personalización de WordPress. Utilicé una llamada Autor por recomendación de Richzendy, que era similar al diseño anterior pero con la barra a la izquierda (que es mejor para nuestro idioma).

Cambios a los diseño

Luego fue actualizar el fondo y el Skatux (mi logo del pingüino Tux). El diseño lo llevaba usando desde el 2010, en el 2014-2015 usé uno con un teléfono de Firefox OS en la mano y una gorra con colores de Mozilla, pero luego de volver al original y mirarlo en el 2021 me di cuenta que ya no representa mi actual yo.

El primer cambio fue la gorra, ya no la uso para atrás como en mi adolescencia; quité la muñequera de punk y le puse una deportiva por la misma razón; decidí cambiar el color a vino tinto por el equipo de fútbol de Venezuela; mantuve el logo de Arch y la patineta porque sigo usándolos. Finalmente cambié el teléfono por uno con iOS porque es lo que uso desde hace varios años y en vez de tener auriculares le puse unos AirPods (esto me dio risa porque en el 2010 ese tipo de audífonos no existían)

Skatux del 2010
Skatux del 2010
Skatux del 2021
Skatux del 2021

Otro cambio realizado fue el fondo, ésta vez iba a hacer la 3ra iteración del mismo. Lo primero que hice fue actualizar la imagen del PS4 por un PS5. Quité tecnologías y aplicaciones que ya no uso, agregué de nuevas que uso como VueJS, PHPStorm, WebAssembly, entre otros. Los fondos me han permitido ver mi evolución a lo largo de estos años.

Fondo de Skatox.com del 2010
Fondo del 2010
Fondo de Skatox.com del 2014
Fondo del 2014
Fondo de Skatox.com del 2021
Fondo del 2021

Me llamó la atención realizar estos cambios, porque pude ver cómo he avanzado en la pasada década y como la tecnología avanza. Ya con estos cambios puedo dar una imagen mas renovada para la próxima década.

Cambios técnicos

Respecto a los cambios técnicos, la plantilla del blog es usa un tema hijo desde el inicio (antes hacía hacks al tema original), se aumentó la versión de PHP 7.2 a 7.4. Actualicé todos los plugins. Revisé que el tema tenga buena usabilidad para las personas con discapacidades visuales y demás.

Fue una grata experiencia actualizar todo el sitio después de varios años y no hacer modificaciones menores, siento que ahora la página vuelve a ser más mi imagen y espero seguir retomando publicación de artículo.

La entrada Actualización del diseño de mi Blog luego de 7 años se publicó primero en El blog de Skatox.