Constantes en Python 3

Las constantes son valores que permanecen intactos a través de la ejecución de un programa y que nadie puede modificar después de la primera asignación.

En Python (y Python 3) las constantes no existen pero pueden ser simuladas. Hoy veremos por qué usar una constante, cómo declararla y algunos usos que le podemos dar en Python.

En resumen, veremos cómo usar constantes en Python.

(más…)

Editando el archivo fstab para agregar fichero swap en Linux

Agregar fichero swap (de intercambio) en Linux Ubuntu Server

La partición swap funciona para aumentar la RAM de una computadora. Bueno, no la aumenta pero hace que el sistema operativo pueda alojar algunos datos en el disco duro.

Eso sí, agregar una swap de 10 terabytes no ayudaría a tener la computadora más rápida; de hecho el swap es únicamente una ayuda, no es RAM real. Todo esto es porque, aunque sí se puede crear una partición de intercambio de cualquier tamaño, la lectura del disco duro es más lenta que la lectura de la RAM.

Pero bueno, no vamos a meternos en explicaciones técnicas; puedes leer más en la Wikipedia. El tutorial de hoy indica cómo agregar un archivo que funcionará como memoria de intercambio o swap, en una computadora con Linux Ubuntu Server.

La versión de Ubuntu es la 18.10 pero seguramente funciona en otras versiones; ya sea anteriores o superiores (suponiendo que lees esto después de abril del 2019).

Nota: no vamos a agregar una partición swap, sino un archivo swap. Ambos funcionan igual, y tienen ventajas y desventajas. Por cierto, esto del archivo swap es por si no pudiste hacer la partición y tienes que agregar el archivo encima; de ahí se recomienda siempre crear una partición en lugar de un archivo.

(más…)

Pantalla principal de Sublime Pos 3

Sublime POS 3 es ahora gratuito y se ejecuta en la nube

Ya pasó algún tiempo desde que publiqué Sublime POS 3. Ahora vengo a anunciar que se ha convertido en un software totalmente gratuito de usar (así como usamos cualquier sitio web).

Pantalla principal de Sublime Pos 3

Pantalla principal de Sublime Pos 3

El proceso es realmente sencillo, te registras con tu correo electrónico, un enlace de verificación llega a tu correo y listo, puedes usar un punto de venta completo en la nube.

Para probarlo justo ahora, ingresa a la página oficial: Sublime POS 3 | Punto de venta gratuito en la nube

(más…)

Descargar MySQLTuner para comprobar instalación de MySQL en Linux

Usar MySQLTuner para mejorar y revisar una instalación de MySQL

Existe un script programado en Perl que sirve para mejorar el rendimiento de MySQL (y otros motores de bases de datos) comprobando algunas características e indicando cuáles cosas se pueden mejorar para que nuestra instalación de MySQL sea más rápida y estable.

El script del que hablo se llama MySQLTuner y es totalmente gratuito de usar, fácil de instalar, open source (aquí el repositorio) y muy útil. No modifica nada, pero indica qué se podría modificar y mejorar.

Vamos a ver cómo descargarlo, ejecutarlo y usarlo en Linux Ubuntu Server, aunque también aplica para otros servidores que tengan el motor de base de datos de MySQL.

(más…)

Eliminar y vaciar tablas de una base de datos de MySQL

Eliminar todas las tablas de una base de datos de MySQL

En este post veremos cómo eliminar todas las tablas de una base de datos en MySQL. Estos comandos también deberían funcionar correctamente en MariaDB.

Vamos a ver más de una forma de vaciar una base de datos; porque en algunos casos no tenemos permisos para realizar determinada acción (por ejemplo, crear y eliminar bases de datos) o no queremos tocar otra estructura de la base de datos, sino únicamente quitar las tablas.

(más…)

Listar únicamente los nombres de usuario en Linux Ubuntu

Administración de usuarios en Linux Ubuntu con deluser, adduser, usermod, passwd y otros

En este post vamos a ver cómo crear, eliminar, cambiar datos y listar los usuarios existentes en el sistema operativo Linux Ubuntu. Será algo así como un CRUD, pero esta vez con usuarios del sistema.

Los comandos que se verán son:

  • deluser para eliminar un usuario
  • adduser para crear un usuario
  • usermod para cambiar el nombre de usuario o agregarlo a la lista de usuarios con acceso root
  • passwd para cambiar la contraseña de un usuario
  • chfn para cambiar datos de un usuario

Adicionalmente veremos cómo listar únicamente los nombres de usuario, y cómo ver cuáles usuarios son superusuarios o cuáles tienen privilegios administrativos.

Vamos allá.

(más…)

Autenticación desde Windows a Ubuntu Server con PuTTY y claves SSH

Para loguearnos en un servidor con Ubuntu Server no se recomienda usar el acceso por usuario y contraseña; sino por claves públicas y privadas. De esta manera, no se necesita poner la contraseña, sino simplemente proporcionar un archivo con la clave privada.

En este tutorial vamos a ver cómo crear un par de claves con PuTTYgen, agregarlas a nuestro servidor en el archivo authorized_keys y finalmente loguearnos a través de PuTTY.

Todo esto es para que al final podamos usar SSH para conectarnos a un servidor de Linux desde Windows.

Nota: esto conecta desde Windows a Ubuntu. Si quieres, en cambio, conectarte desde Ubuntu a otra máquina con Ubuntu aquí está el tutorial.

(más…)

Ejemplo de cambio de contraseña en MySQL

Cambiar contraseña de usuario de MySQL

Siguiendo con los tutoriales de MySQL vamos a ver cómo cambiar la contraseña de cualquier usuario desde la línea de comandos modificando la tabla user en la base de datos mysql, usando una consulta de tipo update y llamando a la función password en algunos casos.

Por cierto, esto también te permitirá resetear la contraseña en caso de que la hayas olvidado (pero debes tener acceso, aquí no veremos cómo cambiar la de root).

(más…)

Sistema web para cotizaciones y presupuestos

Presentando un sistema web para hacer cotizaciones y presupuestos, gratuito y open source

Hoy vengo a presentar un software para realizar cotizaciones o presupuestos, el cual es totalmente gratuito de usar en la nube; así como open source. Es decir, aparte de que puedes usarlo en mi sitio, puedes descargarlo y modificarlo.

Sistema web para cotizaciones y presupuestos

Sistema web para cotizaciones y presupuestos

Características del software

No es la gran cosa, pero entre sus principales características encontramos las siguientes:

  • Realizar cotizaciones o presupuestos
  • Estimar el costo requerido, el cual se configura por cada servicio
  • Calcular tiempo requerido por cada servicio
  • Describir características y/o condiciones del trabajo
  • Agregar clientes para ligarlos a las cotizaciones
  • Imprimir la cotización o guardarla como PDF (esto depende del navegador la mayoría de veces)
  • Multiusuario: cualquier usuario puede registrarse y usarlo, así de simple. Eso sí, las cotizaciones, servicios y características son separadas por usuario
  • Totalmente open source
  • Escrito con PHP, utiliza PDO para interactuar con la base de datos
  • Base de datos MySQL
  • Lado del cliente con Vue.JS y Bootstrap
  • Mensaje de agradecimiento, presentación y pie totalmente configurables

Se me ocurre que puede servir tanto como para estudiantes que tienen que entregar un proyecto con PHP simple, así como para personas que necesitan un software como estos.

Voy a explicar cómo fue creado, en dónde se puede probar y también dónde se puede leer el código fuente.

(más…)

Descargar Go en Linux

Instalar Go en Linux Ubuntu 18

Instalar Go en una distribución de Linux, y sobre todo, Ubuntu, es más fácil que instalarlo en Windows. En este post veremos cómo instalar el lenguaje de programación Go en su versión 1.11 sobre Ubuntu 18.04 en su versión de 64 bits.

Aunque este tutorial funciona para esas versiones, seguramente funciona en otras. Por cierto, como no usamos ningún comando específico de Ubuntu, se podrá instalar en la mayoría de distribuciones Linux.

(más…)

Reiniciar y apagar servidor de Linux desde SSH o terminal

Esta entrada es muy breve, veremos dos comandos básicos pero necesarios para administrar un servidor ejecutando Linux Ubuntu Server en cualquier versión. Lo que veremos será cómo reiniciar el servidor, y cómo apagarlo; todo esto desde la terminal.

Primero nos debemos loguear en caso de conectarnos por SSH. Una vez que estemos en la terminal podemos comenzar.

Por cierto, aunque estos son probados en Ubuntu 18, funcionan para otras distribuciones de Linux.

(más…)

Solución a error 1045 access denied for user (using password: YES) | MySQL

Tal vez uno de los errores más comunes del motor de base de datos MySQL es aquel que dice algo como lo siguiente:

Error 1045: Access denied for user ‘usuario’@’host’ (using password: YES)

Este error puede ser causado desde la CLI, o al conectarnos desde un lenguaje de programación. Así que hoy veremos la solución a este problema, la cual, la mayoría de veces es escribir correctamente la contraseña y el usuario.

Aunque no todo es así de fácil, ya que a veces hay errores muy específicos que dependen del lenguaje, sistema operativo o versión de servidor. En este post veremos la mayoría de soluciones, pero si no queda, puedes comentar.

(más…)

Minutos a tiempo legible en JavaScript

Convertir minutos a texto legible en JavaScript

En un sistema web en el que he estado trabajando tuve la necesidad de convertir minutos a su representación como texto, en cantidades más grandes. Por ejemplo, 59 minutos son 59 minutos, pero 60 minutos son 1 hora, así que en lugar de mostrarlos como minutos, se muestran como horas.

Minutos a tiempo legible en JavaScript

Minutos a tiempo legible en JavaScript

La función que escribí puede convertir cualquier número de minutos a su representación como horas, días, semanas, meses o años. Con los ejemplos veremos de lo que hablo.

(más…)

Convertir número a representación monetaria en JavaScript

Convertir número a moneda en JavaScript

Anteriormente vimos un filtro de Vue.JS para transformar un número a moneda; es decir, de un número entero o flotante, obtener su representación legible para el ser humano.

Pues bien, no todos programamos en Vue, y la instalación de la librería citada es un poco compleja si queremos cosas simples, así que me di a la tarea de crear mi propia función para formatear dinero en Javascript.

Convertir número a representación monetaria en JavaScript

Convertir número a representación monetaria en JavaScript

Es una función que convierte un flotante a moneda, escrita en JavaScript puro. Se puede configurar de varias maneras para poner un separador de miles personalizado, un símbolo de acuerdo al país, etcétera.

(más…)

Usar find e index para buscar posición de carácter en cadena con Python 3

Posición o índice de un carácter o subcadena en cadena de Python

Vamos a ver cómo obtener el índice numérico de un carácter o letra en una cadena de Python 3. No importa si lo que buscamos es un simple carácter o una subcadena, ambas formas serán cubiertas.

Usar find e index para buscar posición de carácter en cadena con Python 3

Usar find e index para buscar posición de carácter en cadena con Python 3

Los métodos de las cadenas que tiene Python para resolver este problema son dos: find e index. Vamos a explicar cómo se usa cada uno de ellos con ejemplos.

(más…)