miércoles, 20 de marzo de 2013

Actualización Kernel Ubuntu 3.8.3 en Ubuntu 12.10


Buenas a todos.

Acabo de terminar de actualizar mi Ubuntu 12.10 a la nueva versión de kernel estable 3.8.3. Los pasos a seguir son:

cd /tmp

wget http://dl.dropbox.com/u/47950494/upubuntu.com/kernel-3.8.3 -O kernel-3.8.3

chmod +x kernel-3.8.3

sudo sh kernel-3.8.3

sudo reboot


Lógicamente para su instalación necesitaréis permisos de root. Podréis verificar que tenéis instalada la nueva versión de kernel con el comando uname -a


Un saludo para todos.

jueves, 14 de marzo de 2013

Más ejercicios

Buenas.

En la jornada de hoy hemos tenido que realizar un pequeño "control" en clase de sistemas para darnos cuenta de nuestras carencias y prepararnos para el examen del próximo martes.  Se nos ha pedido una serie de ejercicios. En este tipo de pruebas, siempre tienes algún tipo de problema que te ralentiza. En mi caso, unas comillas me han retrasado una barbaridad a la hora de finalizar uno de los ejercicios. Más de 1 hora para localizar mi error. Es un ejemplo para darme cuenta de que tengo que seguir practicando. Como siempre, os dejo con un vídeo donde podréis ver los distintos ficheros ejecutándose.

Un saludo para todos.

PD. Este post va dedicado a nuestro compañero Abel, que se ha retirado del combate. ;-)
"Un abrazo y mucha suerte en futuros proyectos"

miércoles, 13 de marzo de 2013

Tiembla Whatsapp!!

Buenas.

Aprovechando que está calentito el tema del Whatsapp, nos hemos puesto manos a las teclas para realizar un pequeño programa de mensajería utilizando nuestros pequeños conocimientos en ficheros Batch. Mi intención es ir mejorandolo con alguna otra cosilla, pero por ahora estoy contento con los resultados.  Reitero que para coger soltura hay que practicar todos los días. Este ejercicio me ha salido rápidamente, no sé si por suerte o por que empiezo a tener la mente un poco más preparada para este tipo de lenguaje. Espero que sea lo segundo ;-)

Bueno, os dejo con el vídeo en el que podréis ver el programa funcionando.

Un saludo.


martes, 12 de marzo de 2013

Seguimos con los ejercicios

Buenas.

Poco a poco vamos conociendo nuevas funcionalidades en los ficheros Batch. Estamos haciendo uso constantemente de bucles y distintos contadores con los que ejecutamos procesos y conseguimos salir de los mismos cuando se cumple la condición que nos interese. Como dije en el anterior post, no creo que sea óptimo poner ahora mismo el código que estoy escribiendo pero si voy a colgar otro vídeo en el que se podrá observar los últimos ejercicios realizados.
Hoy hemos aprendido que es una subrutina y su utilidad. Seguro que en próximos ejercicios podremos utilizar dicha función. Nos queda por delante muchas horas de prácticas para conseguir la soltura necesaria para escribir con eficiencia este tipo de código.
Os dejo con el vídeo.

Un saludo para todos.

miércoles, 6 de marzo de 2013

Juegos

Buenas.

Hoy hemos realizado un nuevo juego en el cual estamos usando los conocimientos que día a día vamos teniendo en este lenguaje. Me resulta curioso, ver como se puede llegar al mismo resultado utilizando distintas fórmulas, por lo que me queda claro que más que saber de memoria los distintos comandos, es saber aplicar los que conocemos. Los programas debemos crearlos por partes y según vayamos consiguiendo nuestra meta, ir añadiendo distintos extras hasta conseguir el resultado esperado.

Es por eso ,que no voy a poner por ahora más código realizado por mi, ya que está claro que mis programas no son para nada perfectos y puede llevar a equívocos. Prefiero poner por ahora un vídeo en el que podáis observar el funcionamiento de las aplicaciones.

Os dejo con un vídeo en el que os muestro la ruleta y adivinar el número.



Un saludo para todos.

lunes, 4 de marzo de 2013

Ruleta

Buenas.

En la jornada de hoy hemos aprendido otras variables de entorno como son %cd% y %random%. La primera nos devolverá el directorio donde se encuentra actualmente y la segunda nos generará un número aleatorio entre el 0 y 32767.

Otras instrucciones que hemos aprendido son pushd que nos guarda el directorio actual y va a la ruta que le especifiquemos y popd que nos devuelve al directorio previamente guardado por pushd. Vamos a verlo con un ejemplo


Como podéis observar en la captura, la utilización de estos comandos funcionan en modo pila. Para las pilas también se suele utilizar el término LIFO, siendo este el acrónimo de Last In First Out (último en entrar, primero en salir).

Otro comando que hemos utilizado en las comparaciones es else que significa literalmente sino. También hemos usado unos código de comparación numéricos nuevos como son GEQ (mayor que o igual).

Ahora vamos con el ejercicio. Teníamos que crear una "ruleta" que nos preguntara la edad y si habíamos superado la mayoría de edad, darnos la posibilidad de jugar, teniendo que salir el número entre el 0 y el 36. Vamos con el código.


El resultado en pantalla sería el siguiente


Como podéis ver, la sección de sacar el número aleatorio, está "a lo bestia". Lo sacará al final por fuerza bruta, pero Rafa nos ha enseñado la forma "elegante" de sacarlo:

SET /a ruleta=(%random%*37)/32768

Bueno, mañana más. Un saludo para todos.

Triángulo

Buenas a todos.

Utilizando lo que ya sabemos, he creado un pequeño fichero para crear rápidamente un triángulo.

Espero que os guste.



El resultado de este código sería algo como esto


Un saludo para todos.

domingo, 3 de marzo de 2013

Bucles

Buenas a todos.

En la última jornada de programación de ficheros batch hemos estado viendo que son los bucles, como evitarlos y como conseguir salir de ellos.

Vamos a poner un ejemplo muy claro de un bucle.

:inicio
echo Esto es un bucle
goto :inicio

Con estas líneas conseguiríamos que pusiera constantemente en pantalla "Esto es un bucle", sin parar hasta que cortáramos el proceso pulsando la combinación CTRL+C. Esto nunca se tiene que permitir en la programación. Siempre que se cree un bucle se tiene que crear una condición para poder salir del mismo. Utilizando este concepto, Rafa nos mandó realizar un fichero que creara un cubo en pantalla con unas dimensiones que daría el usuario. Para realizarlo he utilizado dos bucles con sus respectivas condiciones para salir del mismo.
En el primero voy añadiendo # en horizontal y lo comparo con el número introducido por el usuario. Si no es igual, añado otro # y vuelvo a revisar. Una vez que coincide, ya tengo el valor  en horizontal que me interesa. Como el tamaño en horizontal está guardado en la variable %cuadro% la muestro en pantalla y vuelvo a realizar la misma comparación para ir mostrando cada vez que realiza una comparación una línea nueva en pantalla.
Como puedes observar en el código, en el primer bucle, nos mostraba los intentos y en el segundo si lo hago. Esto es por razones obvias. Si en primer intento hubiéramos usado un echo %cuadro% hubiéramos conseguido algo similar a esto:

#
##
###

Realmente sólo nos interesa que se muestre una vez que ha determinado el tamaño correcto y en el segundo bucle, el tamaño ya está claro. 

El resultado final sería este.


Un saludo para todos.