Software para music scheduling

agosto 12, 2016

Hace ya varios años, cuando estudiaba los últimos semestres de la licenciatura, recibí en la noche (como a las 11:00 p.m., yo ya me encontraba durmiendo) una llamada de un amigo mio que estudiaba los últimos semestres de ciencias de la comunicación y era el responsable de la programación de una estación de radio; la llamada era para pedirme ayuda porque tenía problemas con el software que tenían en esa estación para hacer el music scheduling. Pasó por mi y fuimos a la estación de radio, recuerdo que si tenía un bug el software, pero no tenían el código fuente, así que no me era posible arreglarlo.

Recuerdo que le comenté que además estaba muy mal diseñado, la interfaz de usuario era pésima y en tono de broma le dije que era mejor hacer uno nuevo que arreglar ese. No se si el lo tomó como broma o no pero me dijo que no era mala idea, a lo que yo contesté que el problema era que yo no sabía acerca de cómo programar una estación de radio; inmediatamente el replicó “pero yo si”. Así que el me explicó que es lo que hacía el software que tenían en esa estación, pero también me dijo qué cosas consideraba que le hacían falta o funciones que serían de gran ayuda.

Para cuando terminé de desarrollar la aplicación, aunque sólo fueron unos cuantos meses por las clases, etc. el ya no trabajaba en esa estación de radio. El sistema estaba terminado y el pensó que sería muy útil para cualquiera que estuviera a cargo de la programación de una estación de radio, así que empezó a ofrecerlo entre sus colegas. El software tuvo buena aceptación; incluso una estación en Nueva York compró una licencia.

Fui mejorando el software con la retroalimentación de los usuarios. Veinte años después, he desarrollado otro software para music scheduling que supera desde luego al de aquel entonces.

Es una aplicación web que desarrollé utilizando Ruby y Sinatra. Aquí les dejo una captura de pantalla, pero para más información pueden ir a la página http://www.topsystems.com.mx/SGP

playlist

La aplicación permite registrar varios usuarios para que hagan uso del sistema, cada uno con su propia contraseña. Si el servidor en el que se instala la aplicación tiene acceso a internet, cualquier usuario puede usar la aplicación desde cualquier lugar en donde se encuentre si cuenta con una computadora y conexión a internet.

Las máquinas cliente no requieren tener muchos recursos, puse un servidor de prueba (con 600 registros) y un amigo me hizo favor de probar remotamente la aplicación utilizando una raspberry pi y me comentó que funcionaba bastante rápido.

Dando mantenimiento al ventilador de la fuente de poder de una PC de escritorio

junio 12, 2016

En ocasiones las PC de escritorio hacen un ruido que proviene de la fuente de poder, generalmente el problema es el ventilador, les comparto un video que hice en donde muestro como darle mantenimiento para deshacernos de ese molesto ruido.

Honor a quien honor merece

mayo 23, 2016

Me asombra lo fácil que la mayoría de las personas sobrevaloran lo hecho por ciertos personajes en un área que desconocen; específicamente me refiero al campo de las tecnologías de la información. Pero más que asombro siento decepción al ver que incluso personas que tienen estudios en dicha área (computación, informática, etc.), estén titulados o no, no den la justa dimensión a los aportes hechos por estos personajes.

La mayoría de las personas vinculadas al área de TI han escuchado de Steve Jobs, pero son pocos los que saben quién fue Dennis Ritchie. Menciono específicamente a estas dos personas porque Steve Jobs murió el 5 de Octubre de 2011 y Dennis Ritchie murió tan sólo 7 días después, el 12 de Octubre de 2011. A pesar de que es mucho más importante y trascendente para el campo de las tecnologías de la información lo que hizo Dennis Ritchie que lo que hizo Steve Jobs, muchos medios hicieron muchos homenajes y destacaron lo que hizo Steve Jobs y casi ninguno habló sobre Dennis Ritchie.

Para empezar, Steve Jobs no fue un “genio de la computación” como algunos ignorantes lo han llamado, el cerebro en cuanto electrónica, computación, etc. en Apple era Steve Wozniak. Jobs tenía una gran habilidad para detectar necesidades no satisfechas en los consumidores principalmente de tecnología y también tenía buen gusto en cuanto a diseño. Pero eso desde luego no lo hace un “genio de la computación”, de hecho dudo mucho que supiera de programación de computadoras.

Muchos creen (erróneamente) que el ipod fue el primer reproductor de MP3 cuando lo cierto es que los reproductores de MP3 de marcas como Creative-Labs ya existían mucho antes (más de un año antes) de que existiera el ipod. Lo que Steve Jobs detectó es que había que pulsar muchas veces el botón + (más) o – (menos) para empezar a escuchar una canción específica, así que se le ocurrió que un reproductor de MP3 en donde pudieras empezar a escuchar la canción deseada de una forma más rápida tendría mejor aceptación y dejó a los ingenieros esa tarea (no fue a él a quien se le ocurrió la interfaz).

Como no faltan los fan boys de Apple o de Steve Jobs que para este punto estén enojados y asegurando que miento, dejo sólo algunos enlaces para que lean

http://ipod.about.com/od/understandingipodmodels/a/invented-ipod.htm

http://www.macworld.com/article/1163181/ipods/the-birth-of-the-ipod.html

Y así básicamente sucede con todas las cosas que muchos creen que “inventó” Steve Jobs. Debo aclarar que no tengo nada en contra de Steve Jobs y que reconozco (como ya mencioné) el talento que tenía para identificar si un producto iba a tener aceptación entre los consumidores (aunque también tuvo equivocaciones como con la computadora Lisa)

Para quienes no sepan qué hizo Dennis Ritchie, sólo les diré que fue quien creó el lenguaje de programación C y junto con Ken Thompson fue uno de los principales creadores del sistema operativo Unix.

Hoy en día muchos jóvenes admiran a ciertas personas sólo porque tienen mucho dinero y son “famosas”, yo prefiero admirar a las personas por la importancia de sus contribuciones a la humanidad, eso incluye no sólo el conocimiento que aportan sino también el ejemplo de vida que dan

Taller de redes de área local

mayo 20, 2016

En colaboración con http://www.softwarelibrepuebla.org/ estoy promocionando un curso/taller sobre redes de área local que voy a impartir en la ciudad de Puebla.

slack-imgs.comEsta es un breve desglose de lo que se tratará en el curso:

Capítulo 1

Veremos qué es una red informática y su clasificación de acuerdo con la distribución geográfica de la misma

Capítulo 2

Se describen los diferentes medios de transmisión que se utilizan en una red informática

Capítulos 3 y 4

Explicamos los estándares que existen para el armado de cables UTP y las reglas que se deben seguir para el cableado de una red informática. Aquí se incluye la primera práctica (armar cables de red)

Capítulo 5

Identificaremos los principales componentes de una red de área local a nivel de hardware

Capítulos 6 al 12

Hablaremos sobre las direcciones IP, qué son, las dos principales versiones de IP que existen, clases de direcciones IP, etc.

Capítulos 13 y 14

En estos capítulos se tratan las subredes

Capítulos 15 al 17

Explicamos que son y para que sirven TCP, DNS y DHCP

Capítulo 18

Finalizamos con redes inalámbricas, los diferentes estándares, seguridad y se hace la segunda práctica

Instalar Scratch 2 en Debian

abril 30, 2016

Scratch es un software diseñado por el MIT (Massachusetts Institute of Technology) para acercar a los niños al mundo de la programación de computadoras enseñándoles los principios de la lógica de programación https://scratch.mit.edu/about.

Instalar Scratch 2 Offline Editor en GNU/Linux puede ser un poco complicado para un usuario final debido a que Scratch requiere que esté instalado Adobe Air, y las últimas versiones de Adobe Air ya no son compatibles con GNU/Linux. La última versión de Adobe Air para GNU/Linux es la 2.6. En este post explico como instalarlo en Debian pero el procedimiento debería funcionar también en la mayoría de las distribuciones de GNU/Linux basadas en Debian, lo probé también en Point Linux y funcionó.

Empecemos:

Descargar Adobe Air 2.6 para GNU/Linux

Se puede descargar directamente de la página de Scratch https://scratch.mit.edu/scratch2download/

Descarga_AdobeAir

o de http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin

Desde una terminal nos vamos al directorio en donde descargamos el archivo AdobeAIRInstaller.bin y le damos permisos de ejecución

chmod +x AdobeAIRInstaller.bin

Ejecutamos el instalador sudo ./AdobeAIRInstaller.bin

Nos aparece la siguiente ventana

instalacion_AdobeAir

Hacemos click en Acepto.

Si en lugar de que aparezca un mensaje diciendo “Instalación completada” nos aparece algo como “Adobe AIR could not be installed. Install either Gnome Keyring or KDE KWallet before installing Adobe AIR”, entónces hay que verificar que en /usr/lib se encuentren los archivos libgnome-keyring.so.0 y libgnome-keyring.so.0.x.x (en dónde x.x son números, por ejemplo 1.1, o 2.0). Si esos archivos no están ahí, seguramente están en /usr/lib/i386-linux-gnu, así que demos hacer enlaces simbólicos

Ejemplo suponiendo que el segundo archivo es libgnome-keyring.so.0.2.0

sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib

sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib

Ejecutar el instalador nuevamente (sudo ./AdobeAIRInstaller.bin)

Instalar Scratch

Descargar Scratch https://scratch.mit.edu/scratch2download/

Descarga_Scratch

El día de hoy que estoy publicando este post, el archivo que se descarga es Scratch-446.air

Desde la terminal, estando en el directorio en donde descargamos scratch, ejecutamos

sudo /opt/Adobe\ AIR/Versions/1.0/Adobe \AIR\ Application\ Installer /home/salomon/Scratch-446.air

Con eso estamos indicando que queremos instalar Scratch en el directorio /opt.

Aparece la siguiente ventana

Instalacion_Scratch

hacemos click en Instalar, aparece otra ventana en la que sólo debemos hacer click en Continuar y eso es todo. Queda instalado Scratch 2 Offline Editor

Algunas cosas que debes saber sobre Windows 10

marzo 29, 2016

A muchos usuarios de cualquier versión de Virus, perdón, Windows (la costumbre), anterior a la versión 10 les ha aparecido una ventana indicándoles que pueden actualizar a Windows 10 de forma gratuita. Antes de aceptar dicha “oferta” hay cosas que deben saber respecto a la “privacidad” que ya no tendrán al usar Windows 10, están resumidas en el post que se encuentra en el siguiente enlace https://www.maketecheasier.com/windows-10-privacy/

El artículo está en inglés, así que para los que no entiendan mucho, les traduzco (no textualmente) algunas partes:


Cortana (el asistente personal) recolecta información sobre sus correos electrónicos (no sólo las direcciones de correo sino también el contenido de los correos), el historial de su navegación en internet, etc. Toda esta información es recolectada por Microsoft quien en cualquier momento puede enviar dicha información a la NSA (National Security Agency), sin importar si el usuario se encuentra o no en los Estados Unidos de Norteamérica

Algo de lo más preocupante es que la funcionalidad conocida como telemetría no puede ser desactivada, la telemetría recopila datos y estadísticas, se especula que alguna información que recopila es qué aplicaciones se ejecutan, qué tan seguido se ejecutan, datos sobre la red como dirección IP, a qué redes se conecta, con qué dispositivos se conecta, etc.


Así que si Ud. aún no usa un sistema operativo que se distribuya bajo una licencia de Software Libre, espero que esto le ayude a tomar la decisión de hacerlo lo antes posible, hay muchas distribuciones GNU/Linux que son buenas opciones para un usuario final, y además la mayoría son gratuitas.

Pueden leer este artículo http://www.makeuseof.com/tag/making-linux-a-genuine-windows-replacement/

Pueden checar las siguientes distribuciones GNU/Linux: http://pointlinux.org/, https://www.linuxliteos.com/, https://linuxmint.com/https://www.deepin.org/ y si quieren una lista más completa pueden ir a http://distrowatch.com/

Flisol 2016 en Puebla y otras noticias

marzo 22, 2016

El Sábado 16 de Abril es el Flisol 2016, en esta ocasión el evento es organizado por los miembros de Comunidad Software Libre Puebla (comunidad de la cual soy cofundador). Como siempre la entrada es gratuita y para todo público; habrá Install Fest y variedad de conferencias y talleres, toda la información está en http://softwarelibrepuebla.org/flisol.

En un post anterior, escribí sobre el código ASCII, en un evento que organizamos los miembros de Comunidad Software Libre Puebla, propusimos a los asistentes que descifraran el siguiente mensaje escrito en binario

1001001 0100000 1001100 1001111 1010110 1000101 0100000 1000110 1010010 1000101 1000101 0100000 1010011 1001111 1000110 1010100 1010111 1000001 1010010 1000101

Hice programas en Ruby y en Python para convertir de binario a ASCII y también otros para convertir de ASCII a binario, los pueden encontrar en un post que escribí en http://www.softwarelibrepuebla.org/convertir-binario-ascii-y-viceversa

Si están en Puebla o cerca, no dejen de ir al Flisol, no importa si no desarrollan software, una prueba de que para gozar de los beneficios del Software Libre no es requisito haber estudiado sistemas, informática, etc. es que en este Flisol, hay conferencias que serán impartidas por personas cuya formación profesional pertenece incluso a un área fuera del ámbito de las ingenierías.

En esta ocasión yo no voy a dar conferencia en Flisol, pero les dejo un enlace al video de la conferencia que impartí en el Flisol del año pasado (2015) “Gráficas en aplicaciones Web con Sinatra y R” (la iluminación no es muy buena pero espero encuentren interesante la plática)

Aquí les dejo una nota de la importancia y el impacto actual del Open Source titulada “El porqué del éxito del Open Source

El código ASCII

enero 19, 2016

Si estás en el área de las tecnologías de la información, debes conocer el código ASCII. ASCII es la abreviación de American Standard Code for Information Interchange (código estándar americano para el intercambio de información) .

El código ASCII contiene 128 caracteres (numerados del 0 al 127) que están codificados utilizando números enteros, los cuales se obtienen utilizando 7 bits. Recordemos que las computadoras sólo entienden binario (ceros y unos). En ASCII, el número cero está representado por el código 48, la letra A por el código 65, que utilizando 7 bits en binario es 1000001.

Para los que no sepan binario… aprendan, jeje. No, aquí un breve repaso, pero si les recomiendo aprender.

En este caso nos dicen que sólo debemos usar 7 bits, así que ponemos 7 casillas (una para cada bit).

[ ][ ][ ][ ][ ][ ][ ]

Cada bit sólo puede estar prendido o apagado, utilizamos uno para indicar que está prendido y cero para indicar que está apagado. El bit menos significativo es el que está en la extrema derecha y el más significativo es el que está en la extrema izquierda. El valor que representa cualquier bit cuando está apagado es cero.

Para determinar el valor de un bit cuando está prendido, debemos seguir la siguiente regla:

El valor del bit menos significativo cuando está prendido es uno. El valor de cada bit siguiente (de derecha a izquierda) cuando está prendido es el doble del valor del bit anterior. Esto significa que el bit menos signifcativo representa uno si está prendido, el siguiente bit representa dos si está prendido, el siguiente representa 4 si está prendido, y así sucesivamente.

[ ]   [ ]   [ ]   [ ]   [ ]   [ ]   [ ]

64  32  16    8     4     2     1

Para obtener el 65 prendemos el bit más significativo y el menos significativo y dejamos todos los demás apagados, al sumar los valores que representan cuando están prendidos, obtenemos 64 + 1 = 65

[1]   [0]   [0]   [0]   [0]   [0]   [1]

64   32    16      8      4       2     1

Así que podemos obtener los números del 1 al 10 en binario utilizando sólo 4 bits:

1 = 0001

2 = 0010

3 = 0011

4 = 0100

5 = 0101

6 = 0110

7 = 0111

8 = 1000

9 = 1001

10 = 1010

Dentro de los 128 caracteres del código ASCII, además de las letras del alfabeto en inglés (no incluye la ñ) se encuentran los números y otros caracteres como el espacio (código ASCII = 32), el tabulador horizontal (código ASCII = 9), etc. Existe una tabla conocida como el código ASCII extendido que contiene otros caracteres (como la ñ, vocales con acento, entre otros) numerados del 128 al 255.

La tabla completa del código ASCII y ASCII extendido se puede encontrar en internet sin problemas. Hay otras codificaciones que contienen muchos más caracteres, la más usada actualmente es el código UTF-8 (de hecho ASCII viene siendo un subconjunto de UTF-8), pero de UTF-8 probablemente escribiré en otro post.

La verdadera Free Beer

noviembre 19, 2015

En la página de GNU http://www.gnu.org/home.en.html, en la parte que dice What is Free Software? se puede leer:

Free software is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”.

Esto es para evitar la confusión que puede darse debido a que en inglés “free” puede significar libre, pero también puede significar gratis.

El párrafo en inglés se puede interpretar como:

El Software Libre es una cuestión de libertad, no de precio. Para entender el concepto, debes usar la palabra “free” pensando en libertad de expresión, no en cerveza gratis.

En la página https://www.gnu.org/philosophy/free-sw.es.html lo ponen así:

El «software libre» es una cuestión de libertad, no de precio. Para entender el concepto, piense en «libre» como en «libre expresión», no como en «barra libre»

Muchos entusiastas del Software Libre sin duda saben eso, lo que creo que algunos no saben es que existe una cerveza open source, y se llama precisamente FREE BEER http://freebeer.org/blog/, y la receta está publicada bajo una licencia creative commons que permite a quien quiera fabricar su cerveza, incluso hacer derivadas.

De hecho, en un párrafo de la página de freebeer.org se puede leer “You can make money on FREE BEER”

freebeerSalud

Evento de la comunidad de software libre de Puebla

noviembre 12, 2015

Unos amigos y yo formamos un grupo llamado Software Libre Puebla (pueden visitar la página en www.softwarelibrepuebla.org, sigue en construcción pero ya hay algo de información). Para este 5 de Diciembre (año 2015) vamos a realizar una seria de conferencias, demos y talleres en la ciudad de Puebla; la entrada es gratuita y para todo público.

Gracias a los amigos de Inventoteca por el apoyo que nos han dado para realizar este evento

Preposada geek 2015

Preposada geek 2015

Pueden registrarse en boletia https://preposadageek.boletia.com/


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 31 seguidores