Últimas entradas del blog

304 entradas

Probando web en el emulador de Android

GNU/Linux: aceleración hardware para el emulador de Android

Hoy traigo un pequeño howto para activar y disfrutar la aceleración hardware con el emulador de móviles Android. Parte del post también sirve para disfrutar de esta aceleración con otro software de virtualización como VirtualBox o VMWare. También traigo cómo tener disponible en el escritorio accesos directos a los móviles emulados que necesites. Así no hay que arrancar el Android Studio completo si estás programando webs, también podrás probar todo el Javascript que use funciones de dispositivos móviles como cámara, GPS, conectividad, etc.. y también sirve para probar PWAs! Este post contiene los pasos probados para GNU/Linux compatible con Debian, o derivados como Ubuntu, Ubuntu Mate, etc.

Drupal review

Drupal, un pedrusco de oro en la mina de los CMSs

Este CMS reluce como el oro por fuera, y por dentro es oro puro, una joya del software 😉 Es uno de los mejores CMSs Open Source que tenemos disponibles para los proyectos. Hoy os traigo una review, tratando de remarcar el porqué es uno de los más usados en el mercado, sobretodo en proyectos complejos para universidades, gobiernos y en las empresas más tecnológicas. Es uno de los CMS que hay que conocer. Espero resumir bien las principales características, sobre todo desde el punto de vista de un programador 😎 aunque trataré también temas para marketeros y agencias. Es uno de los más flexibles y escalables. Inicialmente tenía su propio framework, pero luego comenzó incorporando Symfony 2, y en las últimas versiones viene incorporando Symfony 3. Ya está integrado con Composer. Internamente, prioriza las mejores técnicas de desarrollo para garantizarte una solución robusta para tus proyectos. Externamente, es de lo más personalizable sin tener que invertir demasiado tiempo. Tiene un gran ecosistema de configuraciones, temas y módulos disponibles. Sobre todo una gran comunidad de desarrolladores con casi 50000 módulos y casi 3000 temas disponibles a fecha de hoy, en el marketplace de Drupal.org.

EasyAdmin generando a partir de la BD

Generando un panel de control en pocos minutos con EasyAdmin en Symfony

¡Hola! Jugando y jugando, probando software, aquí que vengo de nuevo y os traigo un codekata en Symfony. Es para hacer ingeniería inversa de cualquier proyecto en el que tengas una base de datos. También traigo una joya del software que se llama EasyAdmin, un bundle/componente para Symfony. Este codekata se puede aplicar a cualquier base de datos compatible con Symfony, más en concreto, con cualquiera compatible con Doctrine, que es el componente ORM que te conectará con la BD. Quizá tienes que hacer un panel de control que sólo acceda a la información X del proyecto, a ciertas tablas. También sirve para bases de datos completas. Podría ser un proyecto legacy, de un Symfony antiguo, un Magento, un ERP como Odoo con el que trabajar con Symfony, o un WordPress, un Prestashop, Drupal, etc.. Sea cual sea el proyecto la idea es la misma.

Wordpress multisite

WordPress multisite: una instalación, infinitos sitios web

Activar la opción de WordPress multisite te puede hacer muy eficiente a la hora de explotar esta herramienta profesionalmente. Por otro lado es brutalmente eficaz para mantener segura y estable a una red de sitios WordPress que tengas que mantener. Los clientes finales te lo agradecerán, ya que no tendrán que realizar tareas muy técnicas para asegurarse de que la web siga online. Y por otro lado no tendremos que recorrer cada sitio, uno a uno, para mantenerlos en buen estado. Puedes tener una única instalación de WordPress, pero con infinitas páginas web. Todos los websites se podrían administrar desde un panel de control principal. Y los usuarios podrían trabajar, o visitar cada sitio web, como si de sitios independientes se trataran. Una única instalación de WordPress que mantener actualizada, securizada, optimizada. Un sitio desde donde administrar los plugins y temas disponibles para toda la red de páginas web. Una sola instalación en un único servidor. Ahorrarás en costes de servidor, en costes de mantenimiento, menos problemas y más recursos para todos.

Logo de Wordpress

WordPress: el plugin más ligero y rápido para añadir código en el header de tus proyectos

¡Hola de nuevo! Aquí que ando poniéndome al día con WordPress, y traigo un simple codekata para hacer un plugin básico para WordPress. Con este plugin se puede añadir contenido en la cabecera del frontend. Podemos usarlo para añadir códigos de Google Analytics, Facebook, Twitter.. editar estilos o añadir librerías Javascript para modificar el frontend.. etc.. Se trata de un plugin básico del tipo ¡Hola mundo! para WordPress. Punto de partida para customizar el frontend en instalaciones de WordPress. Es tan sencillo, que con ficheros como este no necesitas crear una plantilla hija completa para empezar a personalizar el frontend. Tampoco necesitarás depender de otros módulos. Con lo que a base de pequeños plugins como este con tus personalizaciones, podrás instalar o desintalar los otros tantos módulos que hayas estado usando sin miedo a perder tus cambios 😎

Raspberry Pi & GNU/Linux: montando un sistema embebido con una interfaz web

Ya hace tiempo que no escribo con tantos problemas que está habiendo con el COVID19.. así que aquí estoy de nuevo tratando de no perder las buenas costumbres. Aquí que traigo un codekata para la Raspberry Pi. Se trata de un tutorial para montar un sistema embebido con una interfaz web en una Raspberry Pi. Imaginemos por ejemplo que la Raspberry maneja una serie de relés que encienden y apagan dispositivos, se podrían manejar desde una web. O imaginemos quizá que esta Raspberry te pudiera hacer una encuesta desde una tableta, y en función a tus respuestas, iluminar el café, chocolate o perfume de la tienda que más te va a gustar. O quizá quieres montar una API REST para interactuar con varias Raspberry que tenemos conectadas en la red de tu casa o local, para hacer algo más complejo. Así se podría coordinar las tareas en red que le corresponda a cada Raspberry, desde alguna unidad central. Si te parece interesante, sigue leyendo que este es tu post.. 😉

Conectando por USB Raspberry Pi y Arduino

C++ & Python: comunicando la Raspberry Pi y Arduino por el puerto USB

Para algunas cosas va muy bien una Raspberry Pi, para otras va muy bien Arduino, con lo que combinarlos es una buena idea.. 🤔 Es decir, en un proyecto en donde haya que tener capacidad de procesamiento, red, hacer programas con bastante lógica, bases de datos, etc.. conviene tener disponible un sistema completo o parcialmente completo similar a un ordenador, la Raspberry Pi. Por otro lado, para trabajar manejando sensores y actuadores, señales analógicas, señales digitales moduladas en pulso o sin modular.. conviene tener disponible un microcontrolador, Arduino 😜 Se puede siempre tratar de prototipar todo con una Raspberry, o todo con Arduino, pero no es la mejor idea. Dependerá de las funcionalidades del proyecto que será más sencillo construir con una cosa, con otra, o con las dos.

Symfony manejando los bounces y complaints

Symfony: cómo evitar ser SPAM controlando los bounces y complaints de tus emails

Hoy traigo un codekata bien cargado, sobre Symfony y los emails. Este post, junto con el anterior sobre cómo enviar muchos emails.. te dará el poder de enviar infinitos emails gratis. Pero un gran poder conlleva una gran responsabilidad 😀 o serás marcado como el supervillano de los emails, el SPAMMER 😱 Fuera de bromas, este es un post de pruebas, un codekata usando la última versión 5 de Symfony, con Symfony Flex, y Swiftmailer para el envío de los emails. Con este codekata podemos controlar que los emails que enviamos, lleguen a destino correctamente, para que no nos marquen como SPAMMERS. Evitamos así que nuestro servidor entre en listas negras de bloqueo. He elegido Symfony, el framework PHP de referencia para grandes proyectos web. También Swiftmailer ya que quería invertir poco tiempo, y viene muy bien integrado con Symfony 😜 La misma teoría y lógica también serviría para cualquier otro lenguaje como Java o Python.

Python text-to-speech

Python: haciendo hablar a un programa

Sigo jugando con Python, tenemos una cantidad ingente de librerías disponibles. Es brutal, hay de todo, y así como jugando, sin más complicaciones, que me he llegado a encontrar un par de librerías para hacer hablar a un programa por los altavoces. Esto es lo que se llama Text to Speech, que viene a significar el pasar de texto a voz. La primera librería funciona offline, no necesita de Internet para funcionar. Se nota una voz de robot cláramente, y puede que no se entienda muy bien. Mientras que la segunda viene de Google y es online. Es decir, la sintetización de la voz la hacen los ordenadores de Google, y luego escuchamos el resultado. Con esta segunda librería el programa hablará muy claro y parecido a los seres humanos. No me enrollo más.. aquí un resultado..https://jnjsite.com/wp-content/uploads/2020/02/somethingToSay.mp3

GNU/Linux: optimizando servidores

AWS & GNU/Linux: optimizando aplicaciones web

Aquí estoy de nuevo dejando mi granito de arena en todo esto de la informática. Hoy traigo un howto para la optimización de servidores web. Simplemente, son unas propuestas de configuraciones totalmente estándar y disponibles en las documentaciones oficiales. Pero que mejoran mucho el rendimiento de aplicaciones web, hechas en lenguajes como HTML, CSS, Javascript, PHP, Java, Python, SQL, DQL.. Este post es para optimizar aplicaciones web del tipo WordPress, Prestashop, Magento, Drupal, Symfony.. etcétera. Es una visión general de cómo funcionan las cosas a bajo nivel. Digo a bajo nivel, porque están muy de moda las arquitecturas server-less, o los servidores auto-administrados, que también necesitan su optimización. Pero aquí nos remangaremos la camisa, y nos embarraremos hasta el cuello mientras que vamos investigando, aprendiendo y aplicando, para cada proyecto en concreto. Este es un post para los que nos gusta trabajar los servidores, para los que nos gusta ponernos manos a la obra, para experimentar nosotros mismos con los proyectos, rascando cada milisegundo para conseguir que todo vaya lo más rápido posible..

Python poniendo la radio

Raspberry Pi & GNU/Linux: poner la radio automáticamente con Python

Hoy dejo aquí un pequeño code-kata para poner la radio automáticamente con el lenguaje de programación Python. Lo he probado con GNU/Linux funcionando en una Raspberry Pi, que además de poner la radio hace otras cosas, pero eso es otra historia.. 😉 Para el que no conozca las Raspberry Pi, son pequeños ordenadores, de muy bajo coste, orientados a realizar sistemas embebidos, prototipos, o incluso sistemas informáticos completos en producción. Es decir, tenemos capacidad de procesamiento como con un ordenador, con RAM, CPU, almacenamiento en disco en forma de tarjeta MicroSD, USBs, HDMI, red wifi y ethernet, etcétera. Y funciona con apenas un cargador de móvil de microUSB..

Symfony, enviando muchos muchos emails

Symfony: cómo enviar muchos, muchos, muchos emails gratis

Ya estoy por aquí otra vez. Hoy traigo un code-kata muy divertido, también peligroso 😱 si lo ejecutas sin medida, o sin configurarlo bien 😀 Pero estos códigos fuentes pueden hacerte ahorrar mucho dinero, a tí o a la empresa donde trabajes 🤑 No es una tarea complicada, simplemente se trata de enviar muchos emails, muchos, del orden de miles o decenas de miles de emails al mes. Esta es una tarea tan antigua como programar el propio envío de los emails dentro de los servidores de correo electrónico. Es decir, en este post tienes el cómo hay que programar el envío de emails, lo más profesionalmente posible. No sólo en Symfony con PHP, sino también para otros lenguajes de programación, y en otro tipo de aplicaciones. En CMSs como Magento por ejemplo, esto ya viene incluso construido y listo para trabajar, simplemente hay que usarlo. Pero si lo estas construyendo tú mismo, este es tu post 😉