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/

Diseño de bases de datos relacionales con Software Libre

noviembre 9, 2015

Para hacer el diagrama Entidad-Relación de una base de datos relacional es recomendable contar con una aplicación que nos permita (además de hacer el diagrama) generar un script de sql que podamos ejecutar en nuestro RDBMS para crear la base de datos.

La herramienta que yo uso se llama Power Architect, utilizo la versión Community Edition que se distribuye bajo una licencia GPL3 y además de forma gratuita. Cuenta con versión para Windows, OS X y para GNU/Linux (esta versión en la página aparece como Unix/Generic, supongo que significa que también funciona en algún sistema operativo Unix como FreeBSD, etc.)

Una vez que hemos creado el diagrama Entidad-Relación, la aplicación nos permite generar un script que contenga las instrucciones SQL necesarias para crear la base de datos en el RDBMS que seleccionemos (soporta MySQL, PostgreSQL, entre otros).

Necesitamos tener instalada una JVM (Java Virtual Machine) para poder ejecutar la aplicación

¿Realmente sabes cómo funciona el ciclo for en C?

julio 3, 2015

El ciclo for en C está compuesto de tres instrucciones: for (instrucción uno; instrucción dos; instrucción tres).

Las instrucciones uno y tres son opcionales, es decir, podemos ponerlas o no; pero la instrucción dos no la podemos omitir y además debe ser una condición que pueda evaluarse como verdadera o falsa. Esto significa que podemos tener un ciclo for de la forma: for ( ; condición; ).

Muchos programadores creen que la única forma de utilizar un ciclo for en C es la clásica forma: for (iniciar variable; condición de paro; incrementar variable) y están equivocados.

El ciclo for en C funciona siguiendo los siguientes pasos:

1. Realiza las operaciones de la instrucción uno (si la hay), estas operaciones sólo se ejecutan una vez

2. Evalúa la condición (la instrucción dos)

3. Si la condición es verdadera, ejecuta el cuerpo del ciclo for

4. Ejecuta la instrucción tres (si la hay)

Después de ejecutar el cuerpo del ciclo (el cual se ejecuta sólo si la condición es verdadera) se realiza el paso 4 y se repiten los pasos 2 y 3

 Podemos tener un ciclo for en donde el cuerpo del ciclo esté vacío, por ejemplo:

int main()
{
 int i;
 for (printf( "ejemplo for vacío\n"), i=0; i<5; printf("i: %d\n", i++))
      ;
 return 0;
}

En la primera instrucción, estamos haciendo dos cosas: 1. Imprimiendo el texto “ejemplo for vacío” y 2. inicializando la variable i con el valor cero.

La condición (instrucción dos) es que el cuerpo del ciclo se va a ejecutar mientras el valor de la variable i sea menor que 5

La instrucción 3 imprime el texto “i: ” seguido del valor de la variable i, y después incrementa el valor de la variable i en uno

También podemos hacer que un ciclo for funcione como un ciclo while:

int main()
{
 int i=0;
 for (; i<5; )
      printf("i: %d\n", i++);

 return 0;
}

Presentación de la categoría “Entrenamiento Padawan”

julio 3, 2015

Decidí abrir esta categoría para publicar aquí posts dirigidos a aquellas personas que son principiantes en esto de la programación, y aunque voy a tratar temas básicos, tampoco voy a empezar con cosas tipo “¿cómo prender la computadora?” o “¿qué es una variable?”.

Aclaro, no voy a resolver tareas.

Espero que los posts que publique aquí sean de utilidad para alguien

Saludos

¿Te preparas para aprender o sólo para hacer dinero?

julio 3, 2015

En varios de los diferentes cursos que he impartido en diferentes universidades les he comentado a los alumnos que su motivación principal para estudiar una carrera universitaria debe ser su deseo de aprender. Lo más lógico es que quien estudia Leyes piensa ganarse la vida como abogado una vez que se titule, de igual forma, podríamos asumir que quien estudia informática, computación, etc. piensa trabajar en alguna área relacionada con esa disciplina.

Si eliges estudiar una determinada carrera universitaria porque es la que está de moda, es la que tiene más demanda en estos momentos, o los profesionales de esa carrera son muy bien pagados, etc. pero no es algo que te guste, estas cometiendo una equivocación. Debes pensar que eso es a lo que te vas a dedicar el resto de tu vida (en teoría); ¿te imaginas pasar toda tu vida haciendo algo que no te gusta?, y no estoy diciendo que te desagrade, pero simplemente no es algo que te apasiona, no te interesa aprender más sobre el área, lo harías si sabes que eso va a traerte un beneficio económico pero sólo por eso, no por un interés personal.

Muchos estudiantes creen que el obtener un título universitario les garantiza un bienestar económico, muchos otros creen que al otro día de haber obtenido su título, les van a llover ofertas de empresas ofreciéndoles una gerencia y eso no es cierto (al menos en la mayoría de los casos).

Hay alumnos a los que después de 15 días de clase se les nota que no tienen ni las habilidades ni el interés por la materia, lo único que les interesa es la calificación, no aprender. Yo les comento que si el objetivo principal de que estén estudiando en la universidad es hacer dinero; probablemente deberían evaluar otras alternativas, porque hay personas que no tienen ni la primaria terminada y tienen mucho más dinero que personas con maestría o doctorado. Y existen personas que se preparan sólo para aprender, para adquirir conocimientos, y no les interesa el dinero.

Para demostrarles a los alumnos que es cierto lo que les digo, les platico el caso de Grigory Perelman que tiene un doctorado en matemáticas y ha rechazado muchos premios, probablemente el caso más llamativo fue cuando se hizo acreedor a un premio de un millón de dólares por haber resuelto un problema formulado en 1904 conocido como la conjetura de Poincaré y lo rechazó, al igual que la medalla Fields (muchos consideran la medalla Fields el Nobel de matemáticas).

Por si les interesa, aquí están las notas relacionadas (la primers es de USA TODAY y la última fue publicada en The New York Times)

 

 

 

No estoy diciendo que está mal que quieran prepararse para obtener un trabajo con un buen sueldo, lo que digo es que debes estudiar para aprender y dedicarte a lo que te gusta, seguramente harás bien tu trabajo, seguirás preparándote por interés propio y como consecuencia, muy probablemente obtendrás un buen sueldo. Si sólo te interesa el dinero no es necesario que tengas un título universitario, hay muchos que no terminaron la universidad y están en la lista de los más ricos del mundo, lamentablemente para muchos, esos personajes son sus héroes, su modelo a seguir, y su aspiración es ser como ellos; qué triste.

Pero lo más triste es que además de que muchos estudiantes no lo comprenden, al parecer muchas instituciones educativas tampoco, y para ambos (estudiantes e instituciones) los buenos profesores son aquellos que no son muy exigentes y con los cuales la mayoría de alumnos aprueba la materia. Con esto tanto alumnos como instituciones educativas están contentos, no importa si los alumnos aprenden o no, lo importante es que se titulen.


Seguir

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

Únete a otros 31 seguidores