GNU/Linux

El dúo GNU/Linux son el conjunto de herramientas que conforman (según yo considero) el mejor sistema operativo, herramientas de escritorio y lo que no es escritorio.

GNU arrancó como una forma de organización del software libre para crear un sistema operativo completo y un conjunto de herramientas de libre distribución para todo el mundo. Hurd es el origen como núcleo del sistema operativo planteado por Richard Stallman, aunque luego no se culminó. Esta construcción del núcleo del sistema operativo parece que pasó a un segundo plano tras la aparición en escena de Linux. Tanto Hurd como Linux, igualmente Mac, son sistemas operativos basados en el sistema UNIX que tanto éxito ha tenido Linux es el núcleo de los sistemas operativos GNU/Linux. Surgió y se apoyó en el ecosistema GNU para formar una solución completa. Hoy en día forma el núcleo de los mayores y mejores sistemas informáticos del mundo.

Todo un referente convertido en un MUST KNOW de todo informático. Instálatelo en tu estación de trabajo y comprenderás el porqué de su trayecto 😉

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

2020-03-22 - Categorías: GNU/Linux / PHP
Raspberry Pi, montando sistema embebido con una 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.. ?

Continuar leyendo..

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

2020-02-22 - Categorías: C/C++ / GNU/Linux / Python
Conectando Arduino y Raspberry Pi con un cable 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.

Continuar leyendo..

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

2020-02-10 - Categorías: GNU/Linux / PHP / Symfony
Symfony, evitando ser marcado como SPAMMER controlando los bounces y complaints de los 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.

Continuar leyendo..

AWS & GNU/Linux: optimizando aplicaciones web

2020-01-28 - Categorías: Amazon Web Services / Drupal / GNU/Linux / Magento / PHP / Prestashop / Symfony / WordPress
GNU/Linux: optimizando servidores
GNU/Linux: optimizando servidores

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, aunque también necesiten 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..

Continuar leyendo..

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

2020-01-22 - Categorías: GNU/Linux / Python
Python poniendo la radio

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

Continuar leyendo..

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

2020-01-18 - Categorías: General / GNU/Linux / PHP / Symfony

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 ?

Continuar leyendo..

GNU/Linux: lanzar un Shell Script si no está ejecutándose

2020-01-12 - Categorías: General / GNU/Linux
GNU/Linux Tux

Dejo aquí un pequeño truco para asegurarnos de que un programa continúa ejecutándose en un sistema GNU/Linux. En el caso de que dicho programa no se esté ejecutando entonces lo lanza de nuevo.

Para configurar esto se puede hacer creando un servicio del sistema. Pero en este post he hecho un Shell Script para simplificar el trabajo. Es decir, en este post se configura una tarea programada de usuario, que comprueba y lanza un Shell Script si no está en ejecución.

Continuar leyendo..

Raspberry Pi: manejando un keypad desde Python

2020-01-11 - Categorías: General / GNU/Linux / Python

Estoy poniéndome al día en el lenguaje de programación Python. Sí.. jeje.. ahora con Python.. Hay que reciclarse, lo disfruto, y tenía en hoja de ruta a Python ya que está muy de moda. Recuerdo que coincidí en un trabajo con un compañero que decía que Python era sólo para los románticos. Pues si es para los románticos, yo me he enamorado 😀 Estoy haciendo mis primeros pinitos, y veo que es un gran lenguaje de programación.

Continuar leyendo..

Raspberry Pi: manejando un keypad de 4×4 mediante Shell Script

2019-11-10 - Categorías: General / GNU/Linux

Aquí traigo un pequeño code-kata en Shell Script para manejar un keypad conectado a una Raspberry Pi. Es un código fuente que configura, mediante el sistema de ficheros, el acceso a los PINs del GPIO. Este pequeño programa, se puede traducir a cualquier otro lenguaje de programación. Se puede traducir directamente, ya que el manejo del GPIO en la Raspberry Pi, mediante el sistema de ficheros, es compatible e independiente de cualquier lenguaje de programación.

Continuar leyendo..

Raspberry Pi & GNU/Linux: encendiendo y apagando cosas

2019-11-01 - Categorías: General / GNU/Linux
GNU/Linux & Raspberry Pi: programando relés en el tiempo..

Jugando y jugando con la Raspberry Pi, con mi nuevo octo-relé 😛 que he conseguido encontrar una forma muy fácil de programar acciones en el tiempo, sin usar engorrosas instalaciones de programas. Es decir, aquí traigo un howto para programar encendidos y apagados, de lo que quieras, de cualquier cosa. Simplemente usando un sencillo script programado en Shell Script, y el programador de tareas que todo GNU/Linux tiene.

Me explico, tendremos este esquema de todo conectado:

Raspberry Pi <=> Relés <=> Cosas que queremos encender y apagar

Recapitulando, a la Raspberry Pi le podemos conectar relés, que trabajan a 5v/3v a los pines de entrada y salida llamados GPIO. Por otro lado, tenemos el problema de que las cosas que queremos encender y apagar tienen voltajes distintos, corriente alterna quizá, e intensidades que nos pueden fundir la Raspberry Pi. Entonces le ponemos relés entre las cosas y la Raspi, que simplemente van a dar paso a la corriente o no.

Continuar leyendo..

Instalando Netflix en la Raspberry Pi con Kodi

2019-10-27 - Categorías: General / GNU/Linux

Hoy traigo algo divertido para los que nos gusta probar software. Simplemente se trata de un howto para poder ver en la Raspberry Pi, el aclamado Netflix. También debe servir para cualquier ordenador con GNU/Linux. Y en cuestión de pagos, sólo te hace falta estar suscrito a Netflix.

Te propongo usar el programa de centro multimedia llamado Kodi, el add-on de Netflix, y activaremos otros add-ons de InputStream para la reproducción de vídeo en tiempo real usando el protocolo RTMP y el add-on de vídeo adaptativo.

Me ha costado un poco encontrar la información correcta y actualizada. Además, mientras que probaba y probaba, escribiendo este post, los creadores han actualizado el add-on de Kodi. Así que aquí estoy compartiendo los resultados, poniendo mi granito de arena informático.. 😀

Continuar leyendo..

Symfony: tutorial 18: trabajando con el sistema operativo, Process

2019-10-11 - Categorías: GNU/Linux / PHP / Symfony
Lanzando procesos desde un proyecto Symfony con Process.

Continuando con la serie de tutoriales de iniciación a Symfony, aquí que vengo con el siguiente codekata o tutorial que planifiqué repasar. Este tutorial trata sobre cómo lanzar programas del sistema operativo desde un proyecto Symfony. Es decir, si estamos en un sistema operativo GNU/Linux, todo lo podemos hacer desde un proyecto Symfony en el servidor. O por lo menos no se me ocurre nada que no se pueda lanzar desde un proyecto Symfony.

Me explico, si en un servidor GNU/Linux todo lo podemos hacer desde línea de comandos. Además también podemos desde PHP con las funciones exec, shell_exec, passthru y system lanzar cualquier tipo de proceso hecho cualquier otro lenguaje para hacer cualquier cosa. De esta manera, tenemos en Symfony un componente para usar estas funciones más fácil todavía. Es decir, este componente Process es un wrapper vitaminado para usar estas funciones de PHP, lanzando todo tipo de procesos, paralelizándolos para que en conjunto todo se ejecute más rápido, esperar respuestas, enlazar con otros sistemas, etc..

Continuar leyendo..

© 2024 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.