Desde hace año y medio empecé a usar un segundo monitor cuando trabajo en mi portátil. El monitor es uno sencillo con resolución Full HD (1080p) pero el de mi portátil es Retina Display (2K), resulta que en X.Org no es tan fácil tener multi-monitor con diferentes resoluciones y densidades de píxel.

Toca utilizar la herramienta xrand y con ella poder colocar la distintas resoluciones de los monitores. Pero tenía los siguiente inconvenientes:

  • Solo podía ejecutarla luego de cargar el entorno gráfico y reiniciar el gestor de ventana. Yo quería entrar de una vez a la nueva resolución.
  • Existe un bug que al utilizar compositores la pantalla parpadea. Las soluciones que vi afectaban el rendimiento.
  • No podía hacer configuraciones diferentes para dispositivos. Por ejemplo, suelo viajar a conferencias y cada proyector es una resolución distinta.
Mi entorno multi-monitor con diferentes resoluciones
Mi monitor y mi portátil

Wayland

Wayland es un protocolo de comunicación para las ventanas. Lleva muchísimos años en desarrollo pero no tiene tanto soporte como X.org. Las razones que me impedían usarlo era su soporte en KDE y la imposibilidad de pegar con el botón del medio del ratón.

Con el lanzamiento de KDE 5.20 se resolvieron estos problemas así que pude migrar a KDE. Y desde la misma pantalla de configuración pude tener multi-monitor con diferentes resoluciones ajustando la opción de zoom/aumento de la pantalla.

Problemas con las aplicaciones GTK y Firefox

El problema es que las aplicaciones GTK respetan la configuración de GTK que es manejada por GNOME. Como siempre he usado KDE en el portátil no tenía la configuración base y las ventanas se veían muy grande. Luego descubrí que esto se maneja con variables del entorno GDK. En el caso de Firefox, para activar Wayland hay que activar una variable de entorno.

Para lograr activar estas variables en .config/plasma-workspace/env y dentro del mismo colocar lo siguiente:

export MOZ_ENABLE_WAYLAND=1
export GDK_SCALE=1
export GDK_DPI_SCALE=0.5

Al reiniciar deberías tener tantos las aplicaciones GTK, Firefox y las demas corriendo bien dentro de Wayland.

Este par de líneas me tomó 3 horas de mi tiempo, pero espero que te sirva esta solución para tener multi-monitor con diferentes resoluciones en KDE.

La entrada Multi-monitor con diferentes resoluciones en KDE con Wayland se publicó primero en El blog de Skatox.

Si tienen tiempo visitando mi blog, conocerán de la categoría de Música Geek donde comparto música con contenido informático o similar. En esta ocasión les comparto The Time Has Come realizada por el equipo de SuSE. Como siempre tiene buena producción y las letras cargadas con contenido de código abierto.

Así que si te gusta el rock de Estados Unidos de los 80’s y el open source, no dejes de ver esta grandiosa parodia de The Times Has Come. Además la canción es pegajosa y agradable.

Si conoces otra similar, no dudes en dejar un comentario o si te gustó compártela con otros.

La entrada The Time Has Come (parodia de SuSE) se publicó primero en El blog de Skatox.

Si has estado involucrado en el desarrollo de sitios web en los últimos años, es probable que hayas escuchado el término SEO. SEO es Search Engine Optimization, en español sería Optimización para el Motor de Búsquedas.

Cuando realizas una búsqueda en un sitio web como Google, éste busca en su base de datos las páginas mas relacionadas con los términos que escribiste. Por ejemplo, si escribes juegos Google va a empezar a recoger todas las páginas que considera relacionadas a juegos según su criterio y las ordena por relevancia para mostrar de primero la que considere mas acorde a juegos. El proceso de optimizar nuestra página para que Google la considere acorde a ciertos términos que definamos es lo que llamamos SEO.

¿Cómo se hace?

Cuando hacemos SEO a nuestro sitio web o una página específica, lo hacemos orientando a una serie de palabras o frases. Estas son las que consideramos mas atractivas o sobresalientes para nuestro contenido. Pues serían las palabras que imaginamos que los lectores o consumidores van a escribir y así llegar a nuestro sitio. Luego de decidirlas, aplicamos una serie de reglas y consejos para que los motores de búsqueda indexen nuestro contenido con la mejor evaluación posible. De esta forma aparecerá nuestra web en los primeros resultados de búsqueda.

¿Qué reglas deben aplicarse al hacer SEO?

Las reglas a aplicar son muchas y varían con el tiempo. Por ejemplo, si queremos hacerle SEO a una página de casino. Deberíamos estudiar primero las palabras que queremos posicionar como: casino, juegos, entre otros. Luego ver cuáles son los términos usados por las empresas de la competencia, para orientar nuestro contenido esas frases y palabras. ¿Cómo orientar estas palabras? Primero es incluirla en nuestro contenido, principalmente en nuestros títulos del sitio, en los primeros párrafos, varias veces dentro de la página, usar sinónimos, etc. La idea es que lo motores de búsqueda sepan que nuestro contenido es relevante para esa página.

Además, debemos asegurarle que nuestra página es real. Para ello debemos tener contenido adicional y original en otras páginas, evitar repeticiones o copia de contenido. Diseñar nuestra página para que sea visible a los humanos y no solo sea indexada por máquinas, entre otros.

En realidad existe todo un mundo del SEO, si les explicara con detalle tendría que hacer muchos artículos. Además, muchas técnicas se hacen sin tener seguridad que funcione, pues la forma de calcular la relevancia de un contenido no es conocida del todo y toca «adivinar» aspectos a ver si dan resultado para atraer mas visitas al sitio web.

La entrada ¿Qué es el SEO? Breve introducción se publicó primero en El blog de Skatox.

Vue.JS es una librería de Javascript que he estado recientemente para mis proyectos. Me gusta por la facilidad de crear vistas, contar con el código HTML, JavaScript y CSS en un mismo archivo de forma separada. Esto facilita ver la estructura del documento, ver los eventos y la apariencia en un mismo lugar. A continuación de hablaré del documental de la creación de Vue.js

Vue.js The Documentary

Pues hace unos meses salió un documental hecho por Honeypot sobre la creación de Vue.js. El documental de la creación de Vue.js se centra principalmente en su autor: su carrera en Google, la idea de crear este framewok, como comenzó a hacerlo, el inicio de su popularidad gracias a Laravel. También explica como actualmente está dedicado a tiempo completo a desarrollar esta biblioteca gracias al patrocinio de sus seguidores.

Te recomiendo ver este documental si has usado la tecnología o eres fanático de la programación. Está muy bien realizado y es entretenido, no me aburrí para nada en sus 30 minutos de duración. Cuenta con varias entrevistas y lo mejor es que son de las personas involucradas del proyecto, así que sabes que todo lo que comentan es real.

¿Cómo ver el documental de la creación de Vue.js?

A continuación te comparto todo el documental. Está hospedado en Youtube de forma gratuita, así que lo podrás ver sin problemas. Haz clic abajo y disfruta durante 30 minutos todo sobre la creación de Vue.js.

Si te gustó el documental sobre la creación de Vue.js, no dudes en compartirlo. Si conoces otro documental de programadores, deja tu comentario para verlo y así expandir mas el conocimiento.

Nota: si últimamente no has hecho aplicaciones del lado del cliente, te llama la atención aprender sobre JavaScript. Vue.js es la mejor opción (para mí) para iniciarte en este mundo.

La entrada Documental sobre la creación de Vue.js se publicó primero en El blog de Skatox.

Hoy se celebran los 25 años del lanzamiento de la primera versión de PHP lanzada por Rasmus Lerdorf. Quería hacer un artículo en blog porque es el lenguaje que mas he utilizado en mi carrera profesional y el que ha generado mas ingresos económicos.

Mi historia con PHP

Mi primer recuerdo con PHP fue alrededor del 2004. Recuerdo estar en la moda del hacking. En esa época creaba xploits con formularios HTML para sacar contraseña las personas. Entonces necesitaba aprender a como enviar correos desde el servidor una vez capturado los datos del formulario. Asi fue como empecé a realizar scripts de PHP para enviar de correos. Luego los modifiqué para atacar con correos a ciertas personas y así sucesivamente.

Al empezar este blog utilicé Simple PHP Blog como motor del blog. No sabía como usar base de datos y este motor era perfecto. Para poder realizar modificaciones y ajustes empecé a aprender a usar el lenguaje para hacer sitios web dinámicos. También la parte de mi página que era puro HTML lo logré reducir al utilizar porciones del mismo en PHP.

WordPress

A medida que aumentó los requerimientos de este blog y recibir visitas. Migré el motor a WordPress en el 2006. Allí me pulí en el lenguaje cuando me tocaba hacer mi propio tema y realizar unos pequeños plugins. Luego en el 2009 hice mi primer plugin público que me permitió darme a conocer como desarrollador, conseguir mis principales clientes y mis primeros trabajos. 15 años después sigo trabajando con este CMS y es una de mis principales áreas de trabajo.

phpPgAdmin y Yii Framework

Al finalizar mis estudios universitarios en el 2009. Conseguí trabajo como desarrollador de .NET. Sin embargo, hubo un proyecto que me asignaron en PHP y estuvimos estudiando frameworks para realizar una solución. Esa vez Angel Velásquez me recomendó Yii framework. En ese entonces me gustaba su estructura formal y empresarial por lo que lo empecé a usar. Al salir de esa empresa, en los futuros trabajos seguí usando el framework y cuando me independicé utilicé la versión 2.0 del mismo hasta el día de hoy. Casi todas las soluciones que he implementado ha sido a través de este lenguaje.

También el 2009, estuve participando con código en phpPgAdmin. Recuerdo que cuando salió la versión de PHP 5.3 tuve la oportunidad de actualizar algunos detalles para que funcionara en esa versión. Al colaborar con un proyecto de software libre, aprendí mucho como usar este lenguaje e implementar varios patrones de software en PHP.

Mi opinión de las burlas del lenguaje

Todos los programadores saben que PHP es lenguaje utilizado para burlase. El motivo es que durante las versiones 4.0 y primeras 5.x. El paradigma del lenguaje era un híbrido entre funcional y orientado a objetos. Permitiendo escribir código de forma horrible: una parte funcional y otra con orientado a objetos; mezclar vistas HTML con lógica de negocio en PHP en un mismo archivo. Algo así como era JavaScript pero por ser mas popular y un buen lenguaje para permitir a principiantes crear sitios, fue común ver código PHP mal escrito.

Pero con la evolución del lenguaje a lo largo de las versiones y con las mejoras implementadas en PHP 7.0. Me parece que hacer este tipo de burlas quedó en el pasado. Tal vez hay personas que solo repiten lo que ven, no investiga para estar actualizado en otros lenguajes y se centran en uno solo.

El futuro de PHP

PHP 7.x mejoró mucho el lenguaje y esta sentando las bases para que la versiones 8.x sean una maravilla. Poco a poco el lenguaje esta soportado el tipado y características de lenguajes modernos. Con la implementación de un JIT (Just in Time compiler) las aplicaciones se ejecutarán mas rápido y permitirá ser mas escalable.

Aún queda mucho campo laboral, aplicaciones y futuro para este lenguaje. Esta lejos de morir y a pesar de existir nuevos lenguajes con mejoras o propósitos similares a PHP. No hay señas de una desaparición de PHP. Por lo que aún recomiendo aprenderlo si te llama la atención el desarrollo web.

Me gustaría conocer tu opinión de PHP o alguna experiencia con este lenguaje. Solo deja un comentario compartiendo tus conocimientos de PHP.

La entrada Felices 25 años PHP se publicó primero en El blog de Skatox.

SEO Rapper es un rapero y programador que ha publicado varias canciones del mundo de la informática en Youtube. He compartido varios de sus vídeos dentro de mi sección de Música Geek.

Luego de un tiempo ausente ha vuelto con una canción sobre el mercadeo digital, o mejor conocido como digital marketing por sus términos en inglés.

Así que te dejo con este vídeo de SEO Rapper, espero que te guste y te entretengas un par de minutos.

Si te gustó este vídeo no dudes en compartirlo en tus redes sociales y en animarte a hacer tu propio video de rap informático.

La entrada Digital Marketing por SEO Rapper se publicó primero en El blog de Skatox.

Al momento de escribir este artículo, gran parte de la población mundial está encerrada en sus casas debido al Coronavirus. Por lo tanto, se han visto forzadas a trabajar de forma remota (o teletrabajo como le llaman algunos) para conservar sus empleos. Para muchos es la primera vez y no sabén como hacerlo, por eso, me motivé a compartir los consejos que he aprendido en estos 9 años que llevo trabajando desde casa.

Consejos para el teletrabajo

  • Dedicar un espacio de tu casa a trabajar: es importante dedicar un espacio solo para trabajar. Esa será tu oficina y acondicionarás a tu cerebro a pensar que ese espacio es exclusivo para trabajar. Lo ideal es que esté lejos o separado de tu habitación. Pero si vives en un monoespacio (apartemento tipo estudio) entonces selecciona un área del cuarto exclusivamente para ello. Te recomiendo leer mi artículo sobre tener una oficina en casa para el trabajo que realicé hace un par de meses.
  • No trabajar desde tu cama: la cama es lugar para descansar, dormir, entre otras cosas. Pero no para trabajar, de lo contrario tendrás problemas para dormir, será mas díficil separar tu vida diaria de la laboral. Además trabajarás de forma incómoda y causarás daño a tu columna vertebral.
  • Invierte en objetos ergonómicos: es importante cuidar tu cuerpo. Si tienes problemas de columna, tunel carpiano, etc. No podrás trabajar de forma correcta y aparte de dañar tu vida no serás productivo. Por eso es importante comprar sillas con las medidas cómodas para tu tamaño y mesa. Compra un ratón o panel táctil que sean ergonómicos, ajusta el monitor a la altura de tu campo visual, entre otros. Puedes ver mi mesa en este artículo «Mi mesa de trabajo de freelancer» y conseguir mas detalles.
Mi mesa de freelancer
Mi mesa de freelancer
  • Preparate para tener buena conexión a Internet: el teletrabajo es posible gracias a Internet. Por eso debes invertir en una conexión acorde a las necesidades de tu trabajo, por ejemplo, si haces muchas videollamadas o tu trabajo consiste en llamadas de vídeo, debes invertir en buen ancho de banda. Si trabajas con edicion de vídeo y necesitas subir o descargar videos, también. Mi recomendación es que si tu presupuesto lo permite, adquiere servicios de Internet adicionales y usa otra compañía como proveedor de Internet móvil. De esta forma, si falla la conexión con una compañía, podrás usar la alternativa como respaldo y siempre tener conexión y evitar problemas laborales.
  • Adquiere una computadora con buenas prestaciones para tu trabajo: mucha gente quiere trabajar de casa con su computadora de hace 10 años, si el presupuesto no te lo permite dedicar a ahorrate para comprar una computadora acorde a tus necesidades. Si eres programador, debes tener una computadora que te permita usar las tecnologías mas modernas, arquitectos deben tener equipos con capacidad para soportar el renderizado o manejo de los planos. Ademas, si eres un profesional independiente. Piensa en tener un equipo portátil para poder llevarlo a sitios de clientes u otras organizaciones donde sueles trabajar.
  • Adhiérete al horario de trabajo: un grave error de las personas que trabajan de forma remota es trabajar sin horario definido. Debes establecer un horario fijo y respetar esas horas. En muchos trabajos la gente depende de otros y es molesto no contar con ellos en las horas requeridas. Al finalizar tu jornada, debes salir del trabajo. En casa es fácil dedicar horas extras (que a veces no se pagan) a «terminar» parte del trabajo que se hace, o te sientes culpable si te faltaba poco para hacer alguna cosa adicional. Pero debes respetar tu vida privada y dedicar tiempo a ella, por eso los horarios ayudan a mantener ese balance del teletrabajo y vida persona.
  • Realiza rutinas antes y despues de trabajar: no te despiertes y comiences a trabajar de una vez. Tampoco ve a dormir apenas termines de trabajar. Debes realizar actividades antes y despues de trabajar, en mi caso suelo ver un episodio de una serie o ver un video de youtube, cocinar desayuno o cena, entre otro. Es importante que el cerebro se active (o descanse al terminar) del trabajo. Esto es relacionado al punto anterior, en el teletrabajo debes establecer diferencias entre trabajar y tu vida personal. Trabajar remoto no implica mezclar ambas cosas.
  • Respeta las horas del almuerzo, merienda y cena: Parecido al punto anterior, pero es importante que mantegas rutina como almozar a la misma hora, de esta forma no alteras tu organismo, las personas con quienes trabajas sabrán que no estas disponible en esas horas y no te molestarán.
  • Mantén tu higiene: el telegrabajo no es descuidar tu aparencia personal, recuerda lavar tu cara, peinarte, cepillar los dientes. Todo como si fueses a salir de casa. Estar en casa no es excusa para descuidar todo esto. Un consejo que me recemendaron y siempre aplico, es cambiar mi ropa. Nunca trabajo con pijamas porque el cerebro así no relaciona el trabajo con el sueño/dormir.

Espero que te haya gustado estos pequeños consejos. Yo los aplico todos y han hecho que mi teletrabajo sea mas cómodo. No interfiera mi vida personal y aumente mi productividad. Si te animas a seguir trabajando de esa manera, te lo recomiendo, es genial porque ahorras tiempo y dinero pero pierdes vida social.

Si necesitas ayuda o mas información, no dudes en comentar y comparte a otros que comenzaron con teletrabajo y les podría interesar.

La entrada Consejos para teletrabajo (trabajo remoto) desde casa se publicó primero en El blog de Skatox.

Hace unos meses tuve la oportunidad de asistir al BrazilJS 2019 como conferencista. Allí dicté la charla con mayor asistencia de todas las que he dado, con 2000 personas aproximadamente y la más dificil que he tenido. Era sobre Aplicaciones de alto rendimiento con WebAssembly.

¿Por qué la mas difícil?

Obviamente se darán cuenta que mi idioma nativo es el español (je,je,je) y como la mayoría de los asistentes habla portugés no sabía si dar la charla en inglés o español. BrazilJS 2019 contaba con un traductor quien me dijo que podía hablar en cualquier idioma y él lo traducía al portugés. Hablando con varias personas, pregunté si debía hablar en español o en inglés. La mayoría me dijo que es mas fácil entender en inglés que español a pesar del parecido con el portugés.

Entonoces, como tenía las láminas traducidas al portugués (siempre traduzco las láminas al idioma nativo del sitio donde voy), tenía que:

  • Hablar en inglés.
  • Al ver las láminas para explicar estaban en portugués.
  • Mis notas y mi idioma nativo estabán en español.

Sin embargo, todo salió bien y pude disfrutar de compartir mis conocimientos ante 2000 personas presentes en el BrazilJS 2019.

¿Cómo es hablar ante tantas personas en un evento como BrazilJs 2019?

En un almuerzo con otros ponentes uno de ellos comentó que luego de 500 personas es casi lo mismo. Si tienes 500 o 2000 personas frente a ti es lo mismo, el campo visual no abarca a ver todos al mismo tiempo. En mi caso me pasó eso, es genial sabe que tanta gente te escucha al mismo tiempo pero no causa mayor nervio o se siente distinto al hablar frente a 400 personas.

Si tienen algún comentario o duda de la charla, pueden dejar un comentario o contactarme.

Espero que les haya gustado, compártanla con otros.

La entrada Mira mi charla de WebAssembly en el BrazilJS 2019 se publicó primero en El blog de Skatox.

La tecnología de correo electrónico es una de las mas viejas de Internet. Pero es la que solemos usar con mucha frequencia y está lejos de morir. Por eso se utiliza mucho los correos para mercadeo. Uno de los problemas de diseño de los correos es un proceso lento de enviar y la autenticación es un poco mala. Esto permite que sea fácil enviar un correo con cualquier dirección desde cualquier servidor de correo (así no sea el tuyo) y realizar SPAM (correos no deseados).

Cuando hacemos campañas de email marketing necesitamos enviar cientos o miles de correos en poco tiempo. Con servicios tradicionales o cuentas de correos personales no lo podremos hacer. Al momento de iniciar el proceso los proveedores detectarán esto y lo tomarán como si fuese SPAM o si usas una cuenta de correo personal, tomaria segundos enviar cada uno y te tardarías días.

Servicio de correos para mercadeo

Existen empresas que ofrecen el servicio de correos para mercadeo. Estas empresas poseen servidores que permiten enviar cientos de correos en poco tiempo, con configuraciones para que no luzcan como SPAM y con código adicional para poder hacer operaciones de mercadeo, como: conocer si vieron el mensaje, detectar si hicieron clic al enlace, adaptar cada correo al destinatario entre otros. A este tipo de correos se le conoce como correos para mercadeo.

Así que si deseas hacer mercadeo por correo, contrata un servicio de estos. En mi opinión, lo mas importante de estos servicios es poder enviar muchos correos en masa en poco tiempo y que no sea detectado como SPAM. He conocido muchas personas que han intentado hacer esto por cuenta propia y los demas servidores de correo los detectan como SPAM y automaticamente todos los correos para mercadeo que salen de ese servidor, nunca llegarán a la bandeja de correo de los clientes. Dañando toda tu campaña.

Para finalizar, espero que te haya gustado este artículo, si tienes dudas o comentarios sobre correos para mercadeo. No dudes en escribir un comentario o compartir este artículo.

¡Feliz mercadeo!

La entrada ¿Qué es un servicio de correos para mercadeo? se publicó primero en El blog de Skatox.

Hace unas semanas logré montar mi mesa de trabajo de acuerdo todo lo que quería. Como trabajo de forma remota para varios clientes, necesitaba un buen lugar con el equipo necesario para mis trabajos. Luego de mudarme de país y contar con un mejor servicio eléctrico. Decidí en invertir en mejorar mis equipos y adquirir unos accesorios para mejorar mi productividad.

Mesa de trabajo de Skatox
La mesa de trabajo que uso diariamente

Lo primero que notarán es que tengo una Mac mini y una portátil. Esto es debido a que como desarrollador web tengo que tener acceso a Safari para macOS (mi principal cliente utiliza este navegador)

Mac Mini

Fue un regalo de mi principal cliente, la estoy utilizando como computadora para realizar toda la parte de administración de ser freelancer. Con el teclado y trackpad inalámbrico, siento que es mas fácil escribir. La redacción de presupuestos, comunicaciones, videollamadas (por esto tengo conectada una webcam arriba del monitor). Las aplicación nativa de correo de macOS me parece chévere y pues me siento mas cómodo hacer estas tareas acá.

Fuera de estas tareas, solo trabajo en la elaboración de proyectos pequeños. Pruebas en Safari o edición de vídeo. Cuando quiero hacer contribuciones a Firefox, las realizo aquí porque es mas fácil compilar las cosas en macOS que Arch Linux (por las versiones de las dependencias)

A esta Mac mini le cambié el disco duro y compre el teclado oficial y trackpad por la calidad de las baterías.

Mi portátil

Ésta portátil la tengo desde 2014 (6 años) y corre sobre Linux. La uso principalmente para desarrollo web de proyectos grandes. Porque a veces debo moverme de lugar por viajes a conferencias, visita a mis padres o simplemente me muevo a un coworking. También la uso para cuando debo realizar tareas de administración de servidores, porque como es el mismo Sistema Operativo y me siento cómodo.

La coloco sobre una base con un ventilador para refrigerlarla un poco (vivo en un lugar caliente). También me permite que esté a una altura para evitar dolor de cuello (cuando no usaba la base me empezaba a doler luego de varias horas) y le conecto un teclado USB para escribir mas cómodo. A la portátil le conecto el monitor como pantalla secundaria cuando no estoy usando la Mac.

En el transcurso de los años le he aumentado la RAM a 16GB, le cambié la batería y probablemente este año el disco duro, o tal vez migre a una nueva.

Accesorios de mi mesa de trabajo

Debido a que estoy viviendo en una zona caliente, utilizo un ventilador USB. Tengo unos audífonos NIN para realizar llamadas, escuchar audio y con supresión de sonido para evitar molestias ambientales cuando necesito concentrarme. En la foto no se vé pero tengo una silla profesional para evitar problemas de la columna y poder trabajar durante muchas horas.

Inversión

Llevar la inversión me llevó varios años, pero fui comprando las cosas poco a poco. Lo importante es invertir en un bueno monitor, mesa y silla porque te permitirán estar una buena pose por muchas horas. La salud es lo más importante porque sin ella no puedes trabajar. También es importante los equipos de trabajo, en mi caso me interesa que tengan mucha RAM para poder tener abierta muchas aplicaciones al mismo tiempo.

En fin, solo quería compartirles mi mesa de trabajo, espero que les sirva de inspiración. Me gustaría ver o leer como son las suyas o que consejos me dan.

La entrada Mi mesa de trabajo como freelancer remoto se publicó primero en El blog de Skatox.