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.

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.

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 saben 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 (apartamento 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 difícil 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, túnel 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 edición 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, dedicate a ahorrar 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 después 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 después 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 mantengas rutina como almorzar 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 apariencia 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 recomendaron 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.

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 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!

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 refrigerarla 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. Si quieres saber como hacer esto, te informo que hoy existen sitios como portatilesbaratos.club donde se pueden encontrar portátiles potentes a buen precio.

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.

Hace unos días me tocó actualizar mi computadora de escritorio que tenía 4 años sin actualizarse debido a que había migrado a una MacMini. Entonces procedí a realizar una actualización de todo el sistema usando:

pacman -Suyy // la doble Y actualiza toda la información de los repositorios

A pesar de tanto tiempo sin actualizarse, la actualización fue de 1.7 GB y prácticamente fue reinstalar todo. Revisé en las noticias de Archlinux y vi que las intervenciones manuales no eran necesarias para este equipo. Pero se quejó de dos cosas:

  • Habían muchos archivos del xproto y kde-l10n-es que estaban en el sistema. Mi proceso fue moverlos a una carpeta de respaldo y funcionó (pues la opción para forzar escritura fue removida).
  • No podía actualizar el kernel CK (Utilizo la variante de CK porque está diseñada para computadoras de escritorio) porque no podía descomprimir paquetes en formato XZ.

Como dañé PacMan

Para resolver el último problema, intenté actualizar el Package Manager a la última versión. Pero solo actualicé ese paquete y no las dependencias. Algo que en Archlinux es pecado porque debes hacer actualizaciones completas para evitar el problema que ocurrió.

Al hacer ese proceso, el nuevo pacman dependía de una nueva versión de libc y no podía actualizar la librería porque no funcionaba pacman.

Pacman-Static

Descubrí el paquete PacMan-Static. Es una versión de pacman en formato binario, cuyas liberías requeridas están enlazadas. Entonces puedes ejecutar el gestor de paquetes sin ninguna dependencia adicional.

Una vez descargado el binario, le di permisos de ejecución y actualicé el sistema:

chmod +x pacman-static  ## Permisos de ejecución
pacman-static -Su ## Para actualizar el sistema

Luego de eso pude actualizar todo y reiniciar sin problemas.

Archlinux y las instalaciones largas

Pensé que iba a tener mas problemas al actualizar Archlinux. Pero no tuve mas problemas aparte de archivos existentes que podía mover antes de actualizar. El otro problema lo hubiese podido evitar si no hubiese hecho actualización parcial.

Por eso es que me gusta esta distribución de Linux.