Preguntas separadas por materias en sistema generador de exámenes y calificaciones

Generador de exámenes con calificaciones automáticas

En el post de hoy te voy a mostrar un generador de exámenes o pruebas para imprimir. No solo te permitirá crear exámenes e imprimir uno por cada alumno o estudiante, también podrás:

  • Agregar y modificar las preguntas, marcando la respuesta correcta
  • Ver la vista previa de impresión
  • Imprimir exámenes
  • Calificar examen generado ingresando solo las respuestas
  • Imprimir la hoja de respuestas
  • Imprimir clave del examen según respuestas correctas
  • Generar hojas de respuesta calificadas
  • Mostrar e imprimir portadas calificadas
  • Generar resultados y gráficas

Básicamente podrás generar exámenes, imprimir cada uno por cada alumno, registrar las calificaciones de manera rápida gracias a la hoja de respuestas generada automáticamente y luego dejar que el programa calcule las calificaciones.

Por cierto, el programa que te mostraré es totalmente gratis y tiene más cosas como el registro de asistencias y tareas que ya mostré en un post anterior:

Software para control de asistencia y tareas escolares – Gratuito

Veamos cómo usarlo.

(más…)

¿Cómo almacenar contraseñas en bases de datos?

El día de hoy te voy a compartir un poco de mi experiencia como programador al guardar contraseñas en bases de datos, sin importar lenguaje de programación ni motor de base de datos.

Te daré algunos consejos para almacenar passwords en una base de datos y que obviamente queden seguras para que ni siquiera tú sepas cuál es la contraseña pero puedas resetearla en caso de ser necesario.

(más…)

Contraseña no crackeada - Hash no encontrado
Firma digital con RSA y Dart aplicable a Flutter

Firma digital con Dart y RSA

El día de hoy vamos a ver cómo firmar un mensaje de manera digital con Dart. Al hacerlo con Dart vamos a poder aplicar esto con Flutter más adelante, y así podremos firmar digitalmente en Android y cualquier otra plataforma soportada por Dart.

Firma digital con RSA y Dart aplicable a Flutter

Firma digital con RSA y Dart aplicable a Flutter

Recuerda que vamos a necesitar un par de claves: la privada y la pública. Ambas necesitan funcionar con la encriptación RSA.

Por cierto, toma en cuenta que vamos a firmar, no a encriptar. Lo que vamos a hacer es verificar la autenticidad de un mensaje, pero no vamos a esconder ni proteger nada.

(más…)

Firma digital con Go y RSA

El día de hoy vamos a ver cómo firmar y verificar un mensaje con Golang y un par de claves RSA.

Es decir, por un lado veremos cómo firmar digitalmente un mensaje usando una clave privada y por otro lado vamos a ver cómo comprobar la autenticidad de dicho mensaje.

Recordemos que las firmas digitales tienen el propósito de comprobar la autenticidad de un mensaje, no de ocultarlo (de eso se encarga la criptografía).

Veamos entonces cómo firmar y verificar firmas con Go.

(más…)

Firma digital con Golang y RSA

Agregar globo de texto a imagen con bot de Telegram

Hoy vamos a ver cómo agregar un globo o bocadillo a cualquier imagen con un bot de Telegram usando Node y JavaScript para dicha tarea.

Una cosa será el bot de Telegram y otra el procesamiento de la imagen. Podemos usar ambas cosas por separado y mejorar cada una de ellas o combinarlas.

Bot de Telegram - Agregar globo de texto o bocadillo a imagen para memes

Bot de Telegram – Agregar globo de texto o bocadillo a imagen para memes

Técnicamente hablando vamos a escuchar si el usuario envía una imagen en Telegram (ya sea en grupos o en privado) y una vez que la envíe veremos el texto que la acompaña.

En caso de que el texto coincida con la orden vamos a combinar las 2 imágenes, redimensionando el globo o bocadillo según sea el caso y después vamos a responder con esa imagen ya modificada.

Nota: esto fue hecho por diversión para hacer memes y comentar rápidamente en Facebook o similares, aunque se pueden sacar varias cosas de aquí.

(más…)

Bot de Telegram - Agregar globo de texto o bocadillo a imagen para memes

Variables del entorno con node y archivo .env

En el corto post de hoy veremos cómo leer variables del entorno con Node.js desde un archivo.

Normalmente estas environment variables se guardan en un archivo .env que no distribuimos junto con el repositorio (mejor distribuimos un .env.example) y que cada programador debe crear al momento de clonar el proyecto.

Veamos entonces cómo leer cosas secretas como claves API, tokens, etcétera de un archivo .env en Node con JavaScript usando el paquete dotenv.

(más…)

Cambiar fondo de pantalla de manera remota

El día de hoy veremos cómo cambiar la imagen de fondo de escritorio de manera remota para molestar al usuario.

Dejaremos un programa ejecutándose en segundo plano, mismo que va a revisar cada X segundos si debe cambiar el fondo y en caso de que sí va a descargar la imagen del sitio que le indiquemos para colocarla como nuevo fondo.

Mientras el usuario esté conectado a internet y el programa se esté ejecutando, no se podrá hacer nada para cambiar el fondo de pantalla al original, ya que nuestro programa va a cambiar la imagen de escritorio cada tiempo que nosotros indiquemos.

Al final esto es para hacer bromas, no le veo otra utilidad. Eso sí, vas a aprender varias cosas, por ejemplo, cómo consultar un gist con HTTP, poner un cron en Go e invocar a un programa de C#.

(más…)

Combinar y ordenar 2 tablas de base de datos

El día de hoy veremos cómo extraer datos de 2 tablas SQL distintas, combinarlos y extraer solo los primeros de ellos a partir de un parámetro de ordenamiento.

El ejemplo que mostraré va a mostrar los productos más vendidos en una tienda, pero esos productos se venden al contado o en apartado, y cada uno está en una tabla distinta.

Lo que se requiere es obtener los productos más vendidos sin importar a cuál tabla pertenecen, ordenándolos, combinándolos y extrayendo solo los primeros N.

(más…)

Punto de venta gratis para Raspberry Pi

Hoy voy a mostrarte un software punto de venta totalmente gratuito y sin engaños para Raspberry Pi, específicamente para el sistema operativo Raspbian.

La Raspberry es una computadora muy pequeña pero con un gran poder, y es perfecta para montarle un sistema de ventas.

Además, Raspbian es gratis y legal; Sublime POS 3 (el POS gratuito que te mostraré) también es gratis y sin tener que recurrir a la piratería.

Así que veamos cómo tener un sistema de ventas completo en Raspberry Pi usando cosas seguras, legales y gratuitas.

(más…)

Punto de venta gratis para Raspberry Pi
Código de barras EAN 13 con impresora térmica

Imprimir códigos de barras en impresora térmica

Hoy vamos a ver cómo generar e imprimir códigos de barras en una impresora térmica desde Windows, Linux o Raspberry Pi (técnicamente desde Windows, derivados de Debian y Raspbian).

Podremos imprimir códigos de barras Codabar, Code 128, Code 39, Code 93, Ean, Ean8, PDF417, Two of Five ITF, UPC A y UPC E.

También vamos a poder personalizar las medidas, es decir, el ancho y el alto. Podremos hacer esto desde cualquier lenguaje de programación incluyendo JavaScript (desde el navegador web), Java y Python.

(más…)

Imprimir carácter personalizado en impresora térmica usando plugin gratuito

Imprimir caracteres personalizados en impresora térmica

En este post te voy a mostrar cómo imprimir caracteres especiales en un ticket impreso con una impresora térmica.

Con lo mostrado aquí vas a poder imprimir letras ñ, acentos de español, símbolo de euro y muchos otros signos que no son posibles de imprimir normalmente.

Lo que ves en la siguiente foto no son imágenes; son caracteres definidos por mí que se pueden imprimir como si fueran texto y que van a reemplazar a una letra:

Caracteres personalizados en impresora térmica - Reemplazar letra por símbolo

Caracteres personalizados en impresora térmica – Reemplazar letra por símbolo

Nota: esto es la alternativa final en caso de que tu impresora no soporte los acentos o tildes.

(más…)