Libros de informática gratis y libres

¿Qué sería de la informática sin el libre conocimiento? ¿Qué apasionado de los ordenadores no ha acudido a la red para solucionar algún problema, o simplemente para saber más sobre un tema concreto? La libre disposición del conocimiento, así como de software no privativo, ha sido a mi entender un factor determinante para llegar hasta dónde hemos llegado, por eso quiero compartir con vosotros una biblioteca libre online sobre libros de informática y ordenadores.

Se trata de OpenLibra, un proyecto de Carlos Benítez que reúne una gran cantidad de libros y revistas relacionadas con el mundo de la informática, y lo mejor de todo, todos los libros son libres, no tienes que pagar para descargarlos ni estarás cometiendo en un acto de pirateria.



Para conocer más sobre el proyecto te animo a que leas la descripción que hace su propio autor aquí, y si te preocupa el tema de las licencias de los libros de OpenLibra, encontrarás todo lo que quieras saber en este post.

Otro aspecto importante de OpenLibra es que hay muchos libros en castellano, y esto se agradece. A la hora de leer tutoriales o la documentación de una librería no me importa que esté en inglés, pero si tengo que leer un libro de texto de 200 páginas personalmente prefiero hacerlo en castellano, y OpenLibra permite encontrar buenos libros de programación en este idioma.

Las temáticas de libros de informática que hay en la web es muy extensa, encontramos libros que tratan de desarrollo web o programación hasta libros de robótica y bases de datos, pasando por libros de diseño y multimedia.

En fin, esto es todo, espero haberos convencido de las bondades de OpenLibra, centenares de libros de informática gratuitos os esperan.

votar
Si eres usuario de Instagram y te encanta recibir decenas de likes o "me gusta" atiende, por que este post te va a interesar.

Es de sobra conocido que en Instagram los likes no se regalan, es difícil conseguirlos. A no ser... que veas el siguiente vídeo.

En el videotutorial vemos como usando un teléfono Android con la aplicación TagsForLikes (y con Instagram evidentemente) en pocos minutos podrás conseguir muchos me gusta sin hacer practicamente nada.

En el vídeo se explica todo perfectamente, así que dejo de enrollarme para que aprendáis ya cómo conseguir muchos likes en Instagram


Esto es todo, espero que este truco para conseguir me gusta en Instagram os sea de utilidad.
votar

Rellenar formularios HTML con Python

Hola, tras un tiempo sin publicar hoy vuelvo para explicar como interactuar con formularios HTML usando Python, centrándome en un caso en el que tenemos que enviar una imagen a dicho formulario (aunque podría ser otro tipo de archivo).

Para hacerlo usaremos la librería mechanize que podéis descargar desde aquí.

Ya veréis como es realmente sencillo, así que explicaré lo básico para que cada uno lo use y moldee como necesite.


Lo primeros que tenemos que hacer es importar la librería:

import mechanize

y luego inicializar una variable para usar dicha librería:

br = mechanize.Browser()

Acto seguido indicamos en que url se encuentra el formulario que queremos rellenar:

br.open("http://url-de-ejemplo.com/formulario.php")

Ahora nos podemos encontrar con un problema, generalmente las webs suelen tener un formulario GET que da información de la página, de modo que si encima tienen otro formulario, el que queremos rellenar, tenemos que indicar con cuál queremos comunicarnos. ¿Parece difícil? Pues no lo es, basta con hacer:

br.select_form(nr=1)

dónde nr=1 indica que escocemos el formulario número 1, pues el 0 siempre es el primer formulario GET que he comentado más arriba.

Ahora solo queda seleccionar los datos que queremos enviar. Previamente debemos conocer que campos tiene el formulario, y sus IDs respectivas. Esto puede hacerse mirando el código fuente de la página y detectando el código HTML del formulario.

Pongamos por ejemplo que nuestro formulario tiene 2 campos, "title" y "img".

El modo de asignar los datos que queremos mandar es el siguiente:

br.form['title']='Esto es lo que escribiré en el campo title'

Para la imagen es diferente, no nos sirve un br.form['img']=open('imagen.jpg'), debemos hacerlo de otra manera, que sirve para adjuntar imágenes y otros tipos de archivos:

br.form.add_file(open('path/imagen.jpg'), "image/jpeg", 'imagen.jpg')

En el código de arriba 'path/imagen.jpg' corresponde a la ruta del archivo, "image/jpeg" es el tipo MIME del archivo, es decir, si queremos enviar un txt deberemos cambiarlo y poner "text/plain". La última cadena corresponde al nombre que le queremos dar al archivo.

Bien, ahora ya hemos preparado el envío de los datos al formulario, solo queda el envío, la parte más sencilla. Basta con la línea:

br.submit()

Por último es opcional la línea

print br.response().read()

de esta manera cuando acabe la ejecución, veremos en consola el código html de la página resultante después de haber enviado el formulario.

Esto es todo, he hecho una explicación lo más sencilla posible, veréis que es realmente fácil usar esta librería para interactuar con formularios desde Python.

Así es como queda el código final:
import mechanize
br = mechanize.Browser()
br.open("http://url-de-ejemplo.com/formulario.php")
br.select_form(nr=1)
br.form['title']='Esto es lo que escribiré en el campo title'
br.form.add_file(open('path/imagen.jpg'), "image/jpeg", 'imagen.jpg')
br.submit()
print br.response().read()

Espero que os sea útil, para cualquier duda dejad un comentario.
votar

Juego de futbol online

Si eres un apasionado del fútbol y no tienes suficiente con ver toda al jornada liguera el fin de semana y conformarte con torneos internacionales o coperos entre semana, una muy buena opción es participar en un juego en linea de fútbol y convertirte en el mánager de tu propio equipo, encargándote de fichajes, instalaciones y personal entre otros aspectos.

Si deseas participar en uno de estos simuladores de fútbol, personalmente recomiendo el juego de navegador Goalunited, un juego de futbol online al que podremos jugar desde el navegador sin tener que instalar nada.

Goalunited nos permite ser el manager y entrenador de un equipo al que deberemos ir mejorando para poder competir y ganar contra otros entrenadores, ya sea en la competición de Liga, Copa o Liga Masters, una competición internacional.


En el juego deberemos hacer mejoras en nuestro estadio y nuestras instalaciones, controlar el merchandasing del club y planificar los entrenamientos, alineaciones y fichajes de la plantilla.
También deberemos ocuparnos de contratar al personal y de buscar al mejor patrocinador que nos proporcionará gran parte de nuestro presupuesto semanal.

Goalunited es totalmente online, todos los rivales son entrenadores reales de otros países a los que deberemos superar. El sistema de juego es el siguiente: antes del partido deberemos seleccionar la alineación y la estrategia que queremos utilizar y será el motor del juego el que simulará el encuentro y resultado, permitiendo seguir en directo un resumen del partido con las jugadas más destacadas.

El juego está en español y dispone de un foro para poder preguntar cualquier duda y aprender todo lo necesario
votar
Aprender a programar de forma autodidáctica puede ser un poco tedioso si no se escoge la forma correcta de hacerlo, ya sea aprendiendo lenguajes sin tener antes una pequeña base de programación o leyendo enormes libros mal estructurados destinados a gente con mucho más nivel.

Para todos aquellos que desean aprender a programar de forma interactiva siguiendo cursos paso a paso hoy quiero recomendaros una web que a mi me ha parecido realmente útil. 
Se trata de Codeacademy.com, que como su nombre indica es una especie de "Academia para programar" porque en ella encontraremos decenas de cursos de programación gratis.

Hay multitud de cursos para lenguajes diversos, centrándose sobre todo en aquellos lenguajes para el desarrollo web y aquellos con más popularidad ultimamente, como pueden ser Javascript, Html o Python.

El sistema de aprendizaje es muy sencillo y efectivo, cada curso está estructurado en secciones que constan de diversos ejercicios acompañados de una pequeña lección. Lo interesante es que estas lecciones son muy muy cortas, suelen ser una pequeña descripción de un concepto y un ejemplo, y acto seguido ya tenemos que pasar a programar nosotros mismos un pequeño ejercicio que se nos pide.


Por ejemplo, un ejercicio puede ser "Los bucles while en Pyton" en el que nos dirían que un bucle while es una estructura iterativa que permite ejecutar un trozo de código repetidas veces hasta que se deje de cumplir una condición y acto seguido ya nos pedirían programar un sencillo bucle, para que de verdad podamos aprender y entender como funciona el bucle y como implementarlo.

La web consta además de un sistema de puntos y recompensas para que a la vez que aprendamos podamos ganar diferentes medallas, como al de haber completado 50 ejercicios o la de haber completado todos los cursos de HTML.

Os animo a todos los que queráis aprender a programar fácil a que probéis codeacademy.com, estoy seguro que os será de gran ayuda.
votar