Dona tu voz para el Software Libre!

Standard

voxforge-zarpele

VoxForge tiene como objetivo el recoger voz que la gente done para ser usada con herramientas de reconocimiento de voz libre y de Código Abierto (Open Source).

Todas las voces que se recojan estarán disponibles bajo la licencia GPL, y se usarán para ‘compilar’ un modelo acústico para ser usado con software Open Source de reconocimiento de voz, como son Sphinx, ISIP, Julius y HTK (nota: hay que hacer constar que HTK tiene restricciones para su distribución).

Si estás interesado en el reconocimiento de voz, lo mejor que puedes hacer para ayudar es “donar” tu voz. Para hacer esto sólo tendrás que leer algunas frases. Estas grabaciones son totalmente necesarias para crear un modelo acústico del castellano. El grabar tu voz es un proceso sencillo que no requiere ningún conocimiento técnico especial. ¡Anímate a grabarlo para que tengamos software de reconocimiento de voz en castellano!

Que estas esperando, http://www.voxforge.org/es/read

Google lanza App Inventor, ahora todos pueden hacer apps para Android

Standard

http://static.betazeta.com/www.fayerwayer.com/up/2010/07/ScreenShotAbout1-570x350.png

Google ha anunciado en su blog oficial, el lanzamiento en versión beta de una nueva herramienta llamada App Inventor. El objetivo de esta herramienta es facilitar el proceso de creación de aplicaciones para Android, incluso para personas sin conocimientos en programación.

Esta herramienta se viene desarrollando desde el año pasado en los laboratorios de Google y ha sido probada en diferentes universidades de los Estados Unidos. Esto ha permitido crear nuevas formas para incentivar a los estudiantes a ingresar al mundo de la programación.

link: http://www.futbol-rustico.com.ar/video/v/8ADwPLSFeY8

Para comenzar a utilizar esta herramienta se debe llenar un formulario para pedir una invitación, una vez aceptado ya podrás comenzar a desarrollar aplicaciones. Las invitaciones comenzarán a repartirse en las próximas semanas, por lo que por el momento puedes ir aprendiendo cómo funciona, ir configurando tu teléfono y computador o incluso leer los tutoriales que ya están disponibles.

link: http://www.futbol-rustico.com.ar/video/v/sGiaXOKqeKg

Esta es otra clara señal de que Google está abriendo su tecnología a todo tipo de desarrolladores como estrategia para ir sacándole ventaja a sus competidores en el mercado del software para dispositivos móviles.

A pesar de que App Inventor es una herramienta web, es necesario instalar en nuestro equipo un software para sincronizar nuestras aplicaciones creadas en App Inventor, con nuestro dispositivo con Android.

Visto en | FayerWayer

Consola: Mostrar los ficheros que un proceso esta utilizando…

Standard

Este es un pequeño tip, para ver los ficheros que tiene abierto un determinado proceso, cuando digo fichero me refiero a directorios, registros, pipes, socket, bibliotecas, etc ya que como sabemos en el mundo Linux todo es un fichero :D

Para esto utilizaremos el comando lsof
Descripción:

List open files. Muestra los archivos que un proceso ha abierto para poder ejecutarse. Mas info ~ $ man lsof

Para hacer la prueba, vamos a mostrar los ficheros que tiene abierto un proceso simple como lo es el mismisimo man, ya que si queremos observar por ejemplo los procesos de Firefox, tendríamos una lista larga larga que no vale la pena mostrar en esta simple guía.

Por ejemplo visualizamos el manual del comando cp (copiar)…

chuecko@zarpele ~ $ man cp

Sin terminar el proceso anterior, desde otra terminal obtendremos el PID del proceso anterior…

chuecko@zarpele ~ $ ps -ed | grep man
   54 ?        00:00:03 kondemand/0
   55 ?        00:00:00 kondemand/1
  887 ?        00:00:00 modem-manager
 2268 ?        00:00:02 gnome-power-man
18184 pts/1    00:00:00 man

La ultima linea es la que nos interesa, el pid del proceso man (en este caso) es 18184 y ahora procedemos a listar los ficheros abiertos por este proceso.

chuecko@zarpele ~ $ lsof -p 18184
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
man     18184 chuecko  cwd    DIR    8,3     4096 196660 /usr/share/man
man     18184 chuecko  rtd    DIR    8,3     4096      2 /
man     18184 chuecko  txt    REG    8,3   173084   2036 /usr/bin/man
man     18184 chuecko  mem    REG    8,3  1319364 174375 /lib/tls/i686/cmov/libc-2.10.1.so
man     18184 chuecko  mem    REG    8,3    21840   3520 /usr/lib/libgdbm.so.3.0.0
man     18184 chuecko  mem    REG    8,3    83608    526 /lib/libz.so.1.2.3.3
man     18184 chuecko  mem    REG    8,3   113320     64 /lib/ld-2.10.1.so
man     18184 chuecko  mem    REG    8,3    20841 189160 /usr/share/locale-langpack/es/LC_MESSAGES/man-db.mo
man     18184 chuecko  mem    REG    8,3   256316 395749 /usr/lib/locale/es_AR.utf8/LC_CTYPE
man     18184 chuecko  mem    REG    8,3   966954 214312 /usr/lib/locale/es_AR.utf8/LC_COLLATE
man     18184 chuecko  mem    REG    8,3       54 395670 /usr/lib/locale/es_AR.utf8/LC_NUMERIC
man     18184 chuecko  mem    REG    8,3     2378 188952 /usr/lib/locale/es_AR.utf8/LC_TIME
man     18184 chuecko  mem    REG    8,3      286 188956 /usr/lib/locale/es_AR.utf8/LC_MONETARY
man     18184 chuecko  mem    REG    8,3       54 214315 /usr/lib/locale/es_AR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
man     18184 chuecko  mem    REG    8,3       34 395635 /usr/lib/locale/es_AR.utf8/LC_PAPER
man     18184 chuecko  mem    REG    8,3       62 395633 /usr/lib/locale/es_AR.utf8/LC_NAME
man     18184 chuecko  mem    REG    8,3      127 188957 /usr/lib/locale/es_AR.utf8/LC_ADDRESS
man     18184 chuecko  mem    REG    8,3       51 188958 /usr/lib/locale/es_AR.utf8/LC_TELEPHONE
man     18184 chuecko  mem    REG    8,3       23 395751 /usr/lib/locale/es_AR.utf8/LC_MEASUREMENT
man     18184 chuecko  mem    REG    8,3    26048 263920 /usr/lib/gconv/gconv-modules.cache
man     18184 chuecko  mem    REG    8,3      351 188960 /usr/lib/locale/es_AR.utf8/LC_IDENTIFICATION
man     18184 chuecko    0u   CHR  136,1      0t0      4 /dev/pts/1
man     18184 chuecko    1u   CHR  136,1      0t0      4 /dev/pts/1
man     18184 chuecko    2u   CHR  136,1      0t0      4 /dev/pts/1

Y listo, nos muestra todos los ficheros abiertos indicando tambien su tipo. Para mas info sobre este comando…

chuecko@zarpele ~ $ lsof --help

Saludos…

Revista Linux+ – Julio 2010

Standard

¡Metasploitable: Entorno de entrenamiento de Seguridad Informática! – 7/2010

07_2010

  • El kernel Linux a fondo

El núcleo o kernel Linux es el elemento fundamental de todo sistema operativo GNU/Linux, responsable de la correcta comunicación entre el hardware y el software de la computadora. Su desarrollo comenzó en 1991 como un proyecto personal a manos de Linus Torvalds, sin embargo, actualmente nvuelve a miles de usuarios y programadores de todo el mundo.

  • Plataforma OSOR: balanceo de máquinas virtuales en alta disponibilidad

En el artículo “Plataforma OSOR: San de alta disponibilidad con Linux” 1 se presentó por primera vez la arquitectura de la plataforma Osor. En este rtículo se mostrará la segunda parte de la arquitectura, un módulo de cómputo de alta disponibilidad, basado en máquinas virtuales, e implantado mediante tecnologías de software libre, que pretende servir de ejemplo para arquitecturas similares.

  • EOL: Generación de exámenes online autocorregidos

Uno de los momentos que nos causan más pereza a los profesores y maestros suele ser el momento de corregir los exámenes que hemos pasado a uestros alumnos. Sería muy interesante disponer de alguna herramienta web que, a base de formularios, recogiera las respuestas de los niños, las corrigiera de modo automático y notificara los resultados al profesor.

  • Linux SmartCheap: Construcción desde la nada

Tener un sistema operativo (OS, Operating System) en un dispositivo pequeño puede ser beneficioso. Como siempre en cualquier solución de ingeniería la decisión es de compromiso: depende de los recursos que gaste versus los beneficios que aporte.

  • Metasploitable: Entorno de entrenamiento de Seguridad Informática

Cuando se piensa en qué sistema utilizar para comprobar su seguridad informática, poca gente tiene conocimiento sobre alguno que nos permita hacerlo de una forma ética y legal. Aquí es donde puede entrar a escena Metasploitable, la cual es una imagen VMware de un servidor Ubuntu 8.04 con diferentes paquetes de servicios vulnerables instalados.

descarga

Mandar un Correo Electrónico a través del protocolo SMTP

Standard

Estudiando Redes, me puse a investigar a fondo este protocolo, por lo que decidí (para que me quede mas claro) mandarme un mail utilizando las primitivas de este protocolo, todo por consola y usando los servidores de nuestros amigos de Google.

Primero echemos un vistazo a esto SMTP Wikipedia.

Simple Mail Transfer Protocol (SMTP) Protocolo Simple de Transferencia de Correo, es un protocolo de la capa de aplicación. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA’s, teléfonos móviles, etc.). Está definido en el RFC 2821 y es un estándar oficial de Internet.

Manos a la obra, para esto vamos a tener que utilizar openssl ya que nos debemos autentificar con TLS y no podemos usar nuestro querido Telnet o la navaja suiza de Netcat. Por lo que se esta aplicación ya viene con Ubuntu así que no sera necesario instalarlo.

La dirección a la que nos vamos a conectar es smtp.gmail.com y como leyeron en la Wiki esta trabaja en el puerto 465/TCP

Nos conectamos desde nuestra consola con el Servidor de Correo.

chuecko@zarpele ~ $ openssl s_client -crlf -connect smtp.gmail.com:465
CONNECTED(00000003)
depth=1 /C=US/O=Google Inc/CN=Google Internet Authority
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
   i:/C=US/O=Google Inc/CN=Google Internet Authority
 1 s:/C=US/O=Google Inc/CN=Google Internet Authority
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDWzCCAsSgAwIBAgIKFMs0nQADAAASjjANBgkqhkiG9w0BAQUFADBGMQswCQYD
VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu
dGVybmV0IEF1dGhvcml0eTAeFw0xMDA0MjIyMDAyNDVaFw0xMTA0MjIyMDEyNDVa
MGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N
b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcwFQYDVQQDEw5zbXRw
LmdtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAz4B46NG2l4Bk
DdccddAuuOssQ4ZxCHoyj+ErdlEqZurVCoGQzAkhZTkzHrmIgYmM6roTbkF/zEaa
2ROe9s4VoL4OgUnoyB0u1KbwrG5PHBbsMdk0r6jMmhh+MORFVYgQrFxJnu8GnHiG
W4QhmKVytu0FclYE+F1gOOx5qIgTVCMCAwEAAaOCASwwggEoMB0GA1UdDgQWBBS1
+KKmwdxtkpKkJgvwhZztqe0uszAfBgNVHSMEGDAWgBS/wDDr9UMRPme6npH7/Gra
42sSJDBbBgNVHR8EVDBSMFCgTqBMhkpodHRwOi8vd3d3LmdzdGF0aWMuY29tL0dv
b2dsZUludGVybmV0QXV0aG9yaXR5L0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNy
bDBmBggrBgEFBQcBAQRaMFgwVgYIKwYBBQUHMAKGSmh0dHA6Ly93d3cuZ3N0YXRp
Yy5jb20vR29vZ2xlSW50ZXJuZXRBdXRob3JpdHkvR29vZ2xlSW50ZXJuZXRBdXRo
b3JpdHkuY3J0MCEGCSsGAQQBgjcUAgQUHhIAVwBlAGIAUwBlAHIAdgBlAHIwDQYJ
KoZIhvcNAQEFBQADgYEAUc39Y22ucA2N4mmDdPMC8DKbrRGlGMpC294mfh3yCkJa
YRWjodFQSgCtFyKhTZ9roFpSEL0D4QxAtLSwtC0bSaSVusfAW3/CFgG/Cya724ic
9UoEosoG8CK+eGoGQuEsZ0xR86J5jOs2H+4QPHFCn594V7ZySzdeQi93YV31RBE=
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
issuer=/C=US/O=Google Inc/CN=Google Internet Authority
---
No client certificate CA names sent
---
SSL handshake has read 1704 bytes and written 300 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-MD5
    Session-ID: 4E6C0454CA6DC4823445CBCDBE29E222DA88E29964BCE79C25AC763F80DF7267
    Session-ID-ctx: 
    Master-Key: 6290470B34D57A0A16F0BBAA08A204E396272A1DCB7E5C43003DAAC88239FE8D36DBEAD39E3C711CEBFC00A9ACE982C0
    Key-Arg   : None
    Start Time: 1278044114
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)
---
220 mx.google.com ESMTP 14sm2035922ant.1

Como podrán ver nos dio la bienvenida, así que abrimos sesión con HELO…

HELO mx.google.com
250 mx.google.com at your service

Ahora nos debemos autentificar con nuestro usuario y password de Gmail, para esto utilizare AUTH LOGIN donde los datos están codificados en base64, así que antes obtendremos el usuario y password codificados desde otra consola.

chuecko@zarpele ~ $ echo zarpele@gmail.com | base64
emFycGVsZUBnbWFpbC5jb20K
chuecko@zarpele ~ $ echo mipassword | base64
bWlwYXNzd29yZAo=

Listo, volviendo ahora con openssl le decimos al servidor que nos queremos autentificar (existen otros metodos ademas de login) con AUTH LOGIN

AUTH LOGIN     
334 VXNlcm5hbWU6

Copiamos nuestro Username en base64 (el que realizamos en el paso anterior)

emFycGVsZUBnbWFpbC5jb20K

A continuacion nos pide el el Password

334 UGFzc3dvcmQ6
bWlwYXNzd29yZAo=

Nótese que después de 334 en cada paso nos pide Username: y Password: codificado en base64. Si todo esta bien el servidor nos devuelve…

235 2.7.0 Accepted

Ahora le indicamos el quien envía el mensaje con la primitiva MAIL FROM: (los mayores y menores se utilizan)

MAIL FROM: <zarpele@gmail.com>
250 2.1.0 OK

Y ahora el destinatario del mensaje con RCPT TO: (los mayores y menores se utilizan)
Aclaración Importante: aquí utilizaremos rcpt to: todo en minúscula ya que sino obtenemos un RENEGOTIATING, tuve altos dolores de cabezas gracias a esto, pero lo solucione gracias a este mail de Wietse Venema

rcpt to: <chuecko@zarpele.com.ar>
250 2.1.5 OK

Listo ahora podemos escribir el cuerpo del mensaje, con DATA

DATA
354  Go ahead
Esto es el cuerpo del mensaje. Mandado con SMTP y OpenSSL desde Zarpele

Saludos

.

Podrán ver que el cuerpo si finaliza con una línea en la que el único carácter es un punto. Listo recibimos la confirmacion y por lo que veo los bytes del mensaje (no estoy seguro)

250 2.0.0 OK 1278046411

Y listo correo enviado… salimos de openssl con un quit.
Tambien si estan inspirados pueden leerse el RFC de este protocolo el RFC 2821

Saludos gente…