domingo, 11 de octubre de 2009

Tipos de licencias

Hay varios tipos de licencias informáticas para software, aparte del Copyright del que todos estamos un poco hartos. Dichas licencias establecen unos criterios para trabajar con el software, pero in restringir totalmente el trabajo con éste.


Este símbolo es de la licencia COPYLEFT, que se atribuye al software libre. Este tipo de licencia establece que las modificaciones o mejoras redistribuidas por los usuarios deben tener la misma licencia que el original.
Esto evita, por ejemplo, que un usuario edite el código de un programa y lo venda.

Las licencias de software libre más utilizadas son GPL (General Public License) y LGPL (Lesser General Public License) desarroladas por el proyecto GNU.




CREATIVE COMMONS

La creacion de contenidos web ha aumentado muchísimo, y se necesitan nuevas licencias de uso.
Creative Commons es la iniciativa de una organización sin ánimo de lucro que pretende ofrecer una variedad de licencias a los creadores de contenidos. Dichas licencias pasan desde Copyright hasta Publc Domain (de Dominio Público).


Este es el símbolo de Creative Commons (Some Rights Reserved). Las licencias de este tipo más utilizadas son aquellas que tienen una combinación de las cuatro licencencias principales: citar al autor para su utilizacion (BY), no cambiar la obra (ND), no obtener beneficios económicos por el contenido (NC) y distribuir la oba con la misma licencia (SA).

Con la combinación de estas cuatro licencias podemos obtener seis tipos de licencias diferentes. Estas licencias restringen o permiten en varios aspectos el uso o el trabajo con la obra. Otro tipo de licencia Creative Commons es la llamada Dominio Público, PD, que establece que el autor ha cedido todos los derechos del programa y no se somete a ningún tipo de licencia.

CÓMO OBTENER UNA LICENCIA CREATIVE COMMONS

Una vez pensado el tipo de licencia y los derechos que va a tener dirígete a esta página para poder escoger la combinación de las licencias y obtener tu licencia CC.

CÓMO USAR ESTE TIPO DE LICENCIA

Una vez escogida la licencia tienes que incluir el botón Creative Commons "Algunos derechos reservados" en tu sitio, cerca de vuestra obra. Este botón enlaza con el Commons Deed, de forma que todos puedan estar informados de les condiciones de la licencia. Si encuentras que tu licencia ha sido violada, entonces tendrás las bases para poder defender tus derechos.

domingo, 4 de octubre de 2009

Cómo poner un favicon

Esta es una receta para poner un favicon en nuestro sitio.

Un favicon es símplemente el icono que nos aparce al lado del título de la página, ya sea en la barra de búsqueda como en el historial, las pestañas o los favoritos. Para poner uno, solo tenemos que seguir estos pasos:

  1. Creamos nuestra imagen, de tamaño 16X16 píxels con cualquier programa. No tiene que ser muy detallado. El formato da igual, pero es referible que sea ico, gif o png.
  2. A continuación la cargamos en cualquier web y anotamos su url. En caso de que queramos poner un favicon a una página web que estemos haciendo nosotros (que no esté en la red) basta con el nombre y extension de archivo.
  3. Ahora sí, nos vamos a la plantilla de nuestra web y en HEAD, justo antes de la etiqueta TITLE copiamos y pegamos esto:

<link href='URLDELFAVICON' rel='icon' type='image/gif'/>
<link href='URLDELFAVICON' rel='shortcut icon' type='image/gif'/>

Dentro del atributo IMAGE cambiamos "gif" por el formato de nuestra imagen. Ya he dicho que es recomendable ico, gif o png. También se admiten gifs animados.
En URLDEFAVICON lo sustituimos por la url de nuestra imagen si la hemos cargado en Internet o su nombre y extensión si queremos poner el favicon a una página que no está en red. Por ejemplo: fav.png (recuerda que si el archivo no está en el mismo directorio que la página web debes poner su ruta completa).

Atención: HAY JUEGOS EN LINUX

Sí, aunque no te lo creas, existen muchos juegos en Lunux, se puedn contar fácilmente 100 en 3D y otros tantos en 2D. Y no, no son los clasicones juegos del solitario o las tres en raya. Me refiero a juegos juegos de verdad.

Y todos están pensando: son incompatibles, ¿verdad? La culpa la tiene Microsoft, pero estos juegos son totalmente compatibles y gratuitos (algunos de ellos son de pago). Esto va para los que creen que no existen juegos 3D en Linux. Mira esta lista:


Enemy Territory: Quake Wars - Tremendo juego, libre pero de pago.

Flight Gear - Simulador de vuelo de código abierto, para el programador experto.

Frets on Fire - Clon libre de Guitar Hero.

Frozen Bubble - Otro clásico arcade, pero este es libre.

Track Manía - ¿para qué jugar al Colley Mac Ralley teniendo este y encima libre?

Neverball - parecido al Trackball, haz rodar la canica por distintos escenarios-

Bomberclone - para no acordarse...

KTuberling - KLaramente de KDE, para niños (una especie de Papá Patata).

Open Sonic - lo dicho.

SupertTux - New Super Mario Bros un poco congelado.

Espero que este post os haya hecho cambiar de opinión con el tema de los juegos. De todas formas, aqui no he puesto todos. Haymás de cien juegos para Linux (exacto).
Os vais a hinchar.

sábado, 3 de octubre de 2009

sábado, 26 de septiembre de 2009

Acceder al escritorio

Esta es una nota para explicar cómo podemos acceder al escritorio de cualquier ordenador, tenga XP o Vista, con un archivo .bat.

Las rutas del escritorio de XP y Vista son diferentes. La ruta del escritorio en XP desde C: es C:\docume~1\user\escritorio, en cambio en Vista es C:\users\user\escritorio. Por eso, antes de llegar hasta el directorio, tenemos que saber qué sistema operativo está instalado. Para ello usamos la canalización (|) y luego IF, de esta manera:

@echo off
ver|find /i "xp">nul
if errorlevel=0 goto xp
if errorlevel=1 goto vista

Esto distingue entre XP y Vista y podemos acceder a una de las dos rutas.

En el caso de XP, esta será la manera de acceder al escritorio desde cualquier punto del ordenador:
Dirigimos el directorio de trabajo del .bat muchos directorios atrás, porque no sabemos en qué ruta se encontrará el archivo. Para establecer el directorio de trabajo (CD) un directorio más atrás usamos: "cd .." (sin comillas).
Repetimos este mismo comando por lo menos seis o siete veces, hasta que se establezca en el disco de trabajo (que podría ser C:). Luego, usamos otra vez CD pero esta vez introduciendo la ruta al escritorio, de esta manera:

cd docume~1\%username%\escritorio

%username% es la variable cuyo valor es el nombre de usuario del equipo. La carpeta docume~1 es Documents and Settings, pero la ponemos de forma corta porque el .bat no podrá acceder a ninguna ruta, ya que el nombre del directorio lleva espacios.

Ahora vamos a hacer lo mismo pero con Vista (que es más complicado). Despues de haber llegado a c: (o cualquier otro disco) usando "cd .." (sin comillas) toca poner la ruta del escritorio:

cd users\%username%\escritorio

Y una vez allí... lo que sea.

lunes, 21 de septiembre de 2009

Trucos de HTML para el diseño de páginas web

Aquí van notas para el diseño de una página web en HTML (ver cursos anteriores).

Ahora vamos a dejar el texto y vamos a los objetos. En HTML podemos crear objetos con la etiqueta <form>. Esta etiqueta crea un objeto y establece su funcón. Necesita etiqueta (o tag) de cierre. A FORM se le añaden algunos atributos. Los principales son ACTION (especifica la acción) y METHOD (selecciona el método por el cual se realiza la acción). Un ejemplo de FORM sería el siguente:

<form action="mailto:ejemplo" method="POST">

Esto establece las características del nuevo objeto. Ahora vamos a aprender a crearlo.

Se pueden crear cajas de texto, botones, checkboxes, botones radio, listas, etc etc. Todo eso se crea con la etiqueta <input>.
Elegimos el tipo de objeto con el atributo TYPE, que puede ser text|password|button|submit|reset|checkbox|radio|image|file|hidden
Luego tenemos el atributo NAME, que le da el nombre al objeto, para identificarlo en un editor. Luego tenemos el VALUE que otorga un valor al objeto. En caso que que creemos un botón, VALUE será lo que ponga en el boón. Los marcaores solo tienen valor CHECKBOX y RADIO.

Otros atributos son SIZE, que determina el tamaño del objeto, MAXLENGTH, que en un TEXBOX establece con un número los caracteres máximos permitidos. DISABLED desactiva el objeto.

Vamos a poner un ejemplo creando un cuadro de texto corriente.

<form action="..." method="post">
<input type="text" name="texto">
</form>

Esto crea un cuadro de texto corriente. Por cierto, ¿alguien sabe cómo he puesto < y >?

jueves, 17 de septiembre de 2009

De fracción a decimal y viceversa

Este es un post de ayuda, la duda que muchos tienen en matemáticas, sobre cómo pasar, sobretodo, de decimal a fracción. Porque supongo que de fracción a decimal sabemos todos, ¿no?

Pues por si acaso, pasar de fracción a decimal se hace dividiendo el numerador entre el denominador de la fracción, y ya tendremos el número decimal...

Y para convertir un decimal a fracción, hay que coger el número sin coma como numerador, y el numerador se establece como un uno (1) seguido de tantos ceros como cifras decimales tenga el número. Para que esté bien del todo, hay que simpliicar el resultado:


¿Y qué pasa si ese decimal no es exacto? ¿Y si fuese periódico? Sabemos que hay dos tipos de decimales peródicos, los puros (no hay cifras decimales delante del periodo) y los mixtos (existen cifras decimales delante del periodo). Esto es más difícil, pero tampoco hay problema alguno.

Cogemos el número 2,666666... es un decimal periódico puro. Solo se repite el seis (y lo hace hasta el infinito). Para quitarnos esos seises de más, multiplicamos el número que hemos cogido (al que llamamos x) por un uno seguido de tantos ceros como cifras tenga el periodo. Esto os tiene que sonar ya:

x=2,6666666...
10x=26,6666666...

Ahora para quitarnos ese periodo molesto restamos los dos números, x-10x, que al tener el mismo decimal, se queda un número entero.

x-10x=9x
9x=24

Ahora despejamos la x muy fácilmente y sin despeinarnos:

x=24/9

Ya está. Si dividimos esos números nos dara 2,66666666... y si no esque lo hemos hecho mal
Ahora vamos a ver cuando el decimal periódico es mixto, como 2,3888888888... que tiene el tres delante. Hay que hacer un paso más que antes.

Primero nos libramos de los números que tenemos delante del periodo, multiplicando por un uno seguido de tantos ceros como cifras tenga.

x=2,388888...
10x=23,88888...

Y ahora queda hacer lo de antes, como si fuera un decimal periódico puro:

10x=23,888888...
100x=238,888888...
10x-100x=90x
90x=215

Hemos multiplicado el número por 10 (un uno seguido de tantos ceros como cifras tenga el periodo). Luego restamos los dos números y se nos va el periodo. Luego, despejamos x:

x=215/90

Y claramente, 215 entre 90 da 2,388888888... o si no, ya sabes.
Sé que esto aburre un poco, pero hay gente que tiene estas dudas.
¡PON COMENTARIOS!

lunes, 14 de septiembre de 2009

Más cosas con Java II


Esta es la otra parte del post de abajo. Las cosas que se pueden hacer con esto... qué pena que sean tán difíciles de ejecutar. En MS-DOS ya es difícil, hay que evocar a Javac para compilarlo y a Java para ejecutarlo, y entonces me imagino que aparecerá, pero no lo he probado en un archivo por lotes.
Con esto pdemos asustar a unos cuantos, y hacer que instalen GNU/Linux. Esto del Java me va gustando.

Más cosas con Java


Este es un proecto Java que ya trabajado, y después de cabrearme por tantas exceptions que aparecen en la ejecución, Windows me ha dejado que lo inicie, sabiendo que va contra él. Así en miniatura no se ve bien, pero ampliado es mucho mejor. He puesto el código del archivo java original, para que veáis que no es una broma. Esta ventana no hace nada, pero bastantes cosas lleva ya, así que me da igual.

Alguna opinión, será recibida en los comentarios.

sábado, 12 de septiembre de 2009

El Chavo del Ocho - El cumpleaños de Don Ramón (III)

Llevaba ya tiempo sin poner nada, y aquí va un capítulo del Chavo del Ocho (una serie antquísima que está muy bien) que es la tercera parte del capítulo del cumpleaños de Don Ramón, que es la mejor. Miradlo entero, ya veréis xD

miércoles, 2 de septiembre de 2009

Crear ventanas en Java

Aquí tengo el código necesario para crear una ventana vacía en Java. Amplía la foto para verlo (aquí el formato no es compatible):


Por cierto, a esto le doy las gracias a Sario. Este códgo genera, tras haber sido compilado, esta ventana (el tamaño varía según lo que hayas puesto en setSize, en píxels). El título se edita donde está el cursor (al definir el objeto VentanaCerrable).


Imagínate un juego aquí...

domingo, 30 de agosto de 2009

Manejar variables con Java (II)

Ahora vamos a aprender a manejar (mejor dicho, operar) las variables. Esto es como en MS-DOS. Se usan los mismos símbolos: +-*/%. Vamos a crear dos variables, y a establecer una tercera cuyo valor sea la suma de las otras dos.

Creamos dos variables, tipo int, como siempre:

int x = 4
int y = 5

Ahora establecemos la tercera de la siguiente forma:

int z = x + y

Ya tenemos la variable z con el valor de la suma de las otras dos (es 9, ¿no?). Esto se hace más rápido con los símbolos de asociación, claro que no da lo mismo. Ahora creamos una frase en donde diga que x más y son z (4 más 5 son 9, porque sabemos sumar).

System.out.println("" + x + " más " + y + " son " + z + ".");

Esto dará...

4 más 5 son 9.

Mira qué listos somos. Para juntar dos variables, es decir, que si tenemos 1 y 2, nos de 12, ponemos cada variable metida entre +. Mejor mira esto:

System.out.println("¿No eran " + x + y + "?");

Esto dará...

¿No eran 45?

A veces tenemos nuestras dudas xD. No nos liemos, si queremos que en la frase aparezca 4+5=9 tenemos que meter los símbolos entre comillas ("" + x + "+" + y + "=" + z + ""). Recuerda acabar cada instrucción con punto y coma (;).

Ahora nos curramos un programa en el que establecemos dos variables y las manejamos, de tal forma que al ejecutar el programa muestre esto (las variables son 6 y 3):

El primer valor es 6.
El otro valor es 3.
6 más 3 son 9.
6 menos 3 son 3.
¿6 más 3 no eran 63?

Pues así de fácil xD (amplialo, se dejará de ver borroso):


Recuerda que primero hay que compilar el archivo .java en .class y luego ejecutarlo.

Si hay alguna duda, escribid los comentarios que haga falta.

Manejar variables con Java (I)

Llevo dos días con Java y aún me parece que programo en chino :) aunque ya voy cogiendo algo.
Aquí voy a explicar cómo trabajar con variables (crearlas, cambiarlas, mostrarlas y trabajar con ellas) en Java, que es muy diferente a MS-DOS.

No hay un comando epecífico como SET para esto, pero es muy parecido. Se empieza determinando el tipo de variable, luego el nombre, y el valor. Hay varios tipos de variables y sus respectivos valores, estas son:

boolean - solo admite true o false
char - cualquier caracter
byte - valor entero entre -128 y 127 (un byte)
short - valorentero entre -32768 y 32767 (dos bytes)
int - valor entero entre -2.147.483.648 y 2.147.483.643 (cuatro bytes)
log - valor entero entre -9.223.732.036.854.775.808 y 9.223.732.036.854.775.807 (ocho bytes)
float - entre 6 y 7 cifras decimales equivalentes
double - sobre 15 cifras decimales equivalentes

Aquí solo vamos a usar la variable int con números pequeños. En C sería una variable de tipo entero, nada más. En caso de que no se especifique ningún valor, la variable tendrá valor 0. Se establece así (por separado):



La variable se llama x y su valor es 3. Así de fácil. Estas variables son primitivas, porque se crean en cualquier momento, y se destruyen al finalizar la clase. Si queremos cambiarla, no hay más que poner lo mismo en otra línea, solo que con otro valor (en vez de 3, 2, por ejemplo).

Para mostrar una variable en una frase no se usa %x% no... sino un signo + que incluye a la variable en el contexto. Los mensajes se crean así (por separado):



Para incluir la variable x que hemos creado antes en la frase, hay que ponerla entre signos + y con espacios, fuera de las comillas "", de esta manera:



¿Ves? (está un poco borroso). Recuerda que no se puede empezar ni acabar el paréntesis donde va la frase sin comillas. Si queremos que la variable empiece la frase, tenemos que poner comillas al principio, y luego la variable, mira:

System.out.println("" + x + "");

Así se mostrará la variable sola en la frase. Luego hay que apañárselas para colocarla como nosotros queramos.

miércoles, 26 de agosto de 2009

Java

Pasando de DOS y Basic, me he interesado en Java (tenía interés hace tiempo). Esto de empezar a programar con Java no es tán fácil como en DOS, hace falta un buen editor (nada de Bloc de Notas), un compilador y etc, etc.

Para los que quieran iniciarse y no saben como, les doy unos pasos.

- Primero hay que "descargarse el Java". Es un instalador que instala "el Java" en el ordenador, para poder reconocer los archivos (los archivos Java tienen terminación .java). Se descarga en la página de Java.

- Luego hace falta un editor. El más normalico es Crimson, que se descarga aquí. Es para pasar del Bloc de Notas. Sirve para muchos lenguajes.

-Luego, hace falta descargar otro bicho que es el compilador... el Java 2 SDJ, en la página de Sun.
Se descarga y se instala. Lleva los programas necesarios para manejar archivos Java. Se debe instalar en C: para trabajar con él desde la consola.

El siguiente paso sería aprender el lenguaje. Hay un montón de manuales en Internet. Ahora mismo estoy buscando uno :P porque me hace falta.

Los archivos se compilan con javac. Luego se ejecutan con java. En la consola, tras haber creado el archivo (ejemplo.java) pon java ejemplo. Para que te hagas ua idea, esto ejecuta el archivo java, que ejecuta el archivo java compilado, y aparece en la consola. Si el archivo se llama casa, pon java casa, y se ejecutará el archivo.

Java es más interesante, pero más complicado. Es un poco complejo. Con el tiempo... como todo...

martes, 11 de agosto de 2009

Cómo hacer mensajes de error (de los de verdad) II

En el post anterior vimos cómo crear un mensaje de error esándar. Ahora vamos a aprender algo más. Recordamos el código de la ventana:

a = MsgBox("texto",x+y, "título")

Vamos a aprender a hacer acciones con las ventanas, y a hacer otro tipo de ventanas:

'x' se puede sustituir por:
0 - Aceptar
1 - Aceptar : Cancelar
2 - Anular : Reintentar : Omitir
3 - Sí : No : Cancelar
4- Sí : No
5 - Reintentar : Cancelar

'y' se puede sustituir por:
16 - Mensaje de error
32 - Pregunta
48 - Mensaje de advertencia
64 - Información

Por lo tanto, podemos hacer distintos tipos de ventana.
Si queremos que al cerrar una ventana nos aparezca otra, ponemos su código debajo. Mira:

a = MsgBox("texto1",0, "título1")
b = MsgBox("texto2",0, "título2")

Así, al pulsar en Aceptar, aparecerá otra ventana. ¿Y si tenemos un mensaje de tipo 1? (en donde aparecen Aceptar y Cancelar). Condicionamos el resultado con if

a = MsgBox("texto1",1, "título1")
if a=vbOK then
b = MsgBox("texto2",0+64, "título2")
else
c = MsgBox("texto3",0+48, "título3")
end if

Al pulsar Aceptar aparecerá una ventana, y si ese no es el caso, se usa else, para referirse al resto de opciones. Así, al pulsar en otro sitio aparecerá una ventana diferente.
Si símplemente queremos que la ventana se cierre (sin salir otra) al pulsar Cancelar, no usamos else. Eso sí, hay que cerrar tag con end if.

Si queremos abrir un programa al pulsar un botón, usamos el comando shell que funciona así:

shell("ruta y nombre del programa")

Si quieremos abrir un archivo concreto, tenemos que cargar el programa con el que está hecho, luego el archivo. Se usa call shell, y es así:

call shell("ruta y nombre del programa","ruta y nombre del archivo")

-----------------------------------------------------

Hemos visto las ventanas de tipo MsgBox. Otro tipo de ventana más útil es la InputBox. Su código es muy muy parecido a la MsgBox:

a=ImputBox("texto de la ventana","título")

Esto crea ua ventana normal con un cuadro de insercción de texto.
Este es el código de una ventana de ejemplo y el resultado:

a=ImputBox("Escribe tu nombre","Usuario")

Esto no hace nada, si no le damos órdenes. Yo de momento no sé :P pero ya me las arreglaré.

lunes, 10 de agosto de 2009

Cómo hacer mensajes de error (de los de verdad)

Existen varias formas de crear un mensaje de error de Windows, una forma es entrar en Atom-Smasher, pero para los que quieren hacerlos de verdad, sin copiarlos ni nada, que sigan leyendo.

Esto se hace con Visual Basic. Se escribe el código en el Bloc de Notas. El script para el mensaje es tán simple como esto:

a = MsgBox("Texto del mensaje",0 , "Título del mensaje")


"a" es el nombre del cuadro de mensaje (porque cada objeto creado debe tener un nombre).
El 0 del medio establece el tipo de mensaje. Es un número del 0 al 5 que determina si la ventana tendrá dos botones, tres, si se podrá cerrar con el botón rojo, o no, o si solo tendrá uno (por defecto es Aceptar).

Todo esto se guarda con el nombre que queramos, pero acabado en .vbs (Visual Basic Script).
Mira, un ejemplo:

a=msgbox("Windows es incapaz de infectar su equipo",0 , "Quite el Antivirus")

Lo llamamos error.vbs. Esto genera lo siguiente:

Para añadir el símbolo de error al mensaje (la X en un círculo rojo) añadimos un +16

a=msgbox("Windows es incapaz de infectar su equipo",0+16 , "Quite el Antivirus")

Esta ventana se puede mover, cerrar, volver a abrir, tocarle a los botones y ponerla delante y detrás de otros objetos (es como una de verdad).
Si quieres hacer que la ventana haga una acción, mira el próximo post.

Saludos.

viernes, 7 de agosto de 2009

Cómo compilar archivos en GCC

Antes de nada vamos a aclarar varios conceptos:

GCC (GNU Compiler Collection) es un conjunto de compiladores creados por el proyecto GNU, distribuido bajo licencia GPL. Estos compiladores son estandar en derivados UNIX, de código abierto y otros que no lo son (Mac OS X). Se invoca desde la consola, poniendo GCC.

Compilar es el proceso por el que se transforma el código fuente en código objeto, es decir, las instrucciones internas en una salida. GCC fué creado para C, por lo que compila archivos C en EXE (ejecutables).
Este es un ejemplo para compilar archivos C:

El interior de un archivo C: prueba.c

Esto hace que al ejecutarse el archivo muestre el mensaje ¡Hola!
claramente, es más fácil usar ECHO ¡Hola! xD



Ahora pasamos a compilarlo, en la consola (desde el directorio C:\ en DOS)

C:\>GCC prueba.c -o prueba.exe

(Con esto se supone que se ha compilado el C y se ha convertido en un ejecutable).
Ahora lo abrimos:

C:\>prueba.exe
¡Hola!

Ya hemos ejecutado el feo archivo .c, convertido a .exe. Los C utilizan un 'builder' para su compilación. Con esto lo hacemos más rápido.

miércoles, 29 de julio de 2009

Redireccionamientos

Al leer el título no dan ganas de leer, pero aquí va una receta (más bien un manual) para resolver las dudas sobre los redireccionamientos.
Esta palabra que suena tan mal se refiere a cabiar la entrada y la salida de la Consola (desde donde se introducen los datos hacia donde van). La entrada predeterminada es el teclado, y la salida por defecto es el monitor. Con cuatro operadores podemos cambiar desde donde se introducen los datos, y hasta donde van a parar.

El primer operador < indica de donde provienen los datos: sort
El segundo operador > indica hacia donde van los datos (la salida del comando).
ver>version.txt hace que se meta en un archivo de texto la versión del Sistema Operativo
ver>prn hace que se imprima la versión del Sistema Operativo
sortorden.txt hace que sort obtenga los datos de lista.txt y la salida se meta en orden.txt (por lo que quedarán dos archivos)
find /i "windows" sort.txt>windows.txt hace que FIND busque las líneas que contienen windows y las mete en el archivo windows.txt

El tercer operador >> es muy parecido al primero, solo que dirige la salida a archivos existentes.
ver>>info.txt introduce la versión de SO en info.txt (si no existe el archivo, se crea)
vol>>info.txt AÑADE a info.txt el volumen del disco. Tendremos dos lineas. Con > sobreescribimos los datos, pero con >> añadimos más datos sin borrar los existentes.

El cuarto y último operador, | utiliza la salida de la primera orden como entrada de la segunda:

orden1|orden2
dir|find "bytes libres"

(Este caracter llamado tubería se obtiene pulsando Alt Gr+1).
La información que otorga DIR pasa a ser la entrada del comando FIND, que busca en el comando DIR la cadena de texto "bytes libres", por lo que muestra los bytes libres del
directorio.

Si tenéis alguna duda, ya sabéis. :)

jueves, 23 de julio de 2009

Truco para evitar los virus en los pen-drives

Pensandolo mucho :P he ensado en un truco para evitar que se nos metan viruses en los USB, o al menos que no se ejecuten.

Lo primero es utilizar GNU/Linux, por supuesto! Pero si utilizamos Windows, lo mejor es tener un buen antivirus actualizado que detecte al instante las amenazas.

Windows por defecto forma un archivo .inf (Información sobre la instalación) que le permite al virus (la aplicación) ejecutarse. Cada virus coge el nombre de la carpeta en la que se encuentra. Pues bien, si creamos una carpeta llamada autorun.inf, las extensiones impedirán al virus introducirse y adoptar el formato .exe (ejecutable). El virus se grabará en el USB, pero no se ejecutará y lo podremos eliminar fácilmente.

Hay que vacunar a los USB!!!

martes, 21 de julio de 2009

Ejecutar en orden achivos por lotes

Esta es una receta para solucionar aquel problema que hay cuando tenemos varios .bat y solo hay que ejecutar uno para que arranquen los demás. Pero el usuario abre el que no es.
Ahora vamos a impedir que el usuario haga eso.

Hay un .bat que es el inicial y otros que son los secundarios. Desde el inicial se inician l0s demás, por eso usamos CALL.

@echo off
call 1.bat

Aunque, podemos renstringir el acceso a los secundarios, a menos que se inicien con el .bat inicial.
Eso se hace introduciendo atributos al .bat. Si mal no recuerdo, %0 era el nombre del archivo que se estaba ejecuando y de ahí para alante (%1, %2, %3...) eran los atributos añadidos. %* servía para todos los atributos.
Si añadimos el atributo al .bat secundario desde el inicial, y comprobamos que esto es verdad, como al iniciar el secundario directamente no hemos añadido el atributo, dará error.

Este es el bat inicial:

@echo off
call 1.bat a [a es el atributo añadido al otro .bat]

Y esto es lo que tenemos que poner en el secundario:

@echo off
if "%1"=="" (
color 0c
echo.
echo Este archivo solo se puede ejecutar con el .bat inicial.
echo Pulse cualquier tecla para salir.
pause>nul
exit
)

Así comprobamos si hay atributo, es decir, si se ha iniciado desde el .bat inicial.
Espero que lo entendáis. :)

domingo, 19 de julio de 2009

Molinux 5.0 Dorotea

La Consejería de Industria, Energía y Medio Ambiente de la Junta de Comunidades de Castilla-La Mancha y el Centro de Excelencia de Software Libre de Castilla La-Mancha... en fin, que se publica Molinux 5.0 Dorotea.

- Existen tres versiones: una versión estándar (en DVD, por su tamaño de 1,4 GB), una versión educativa también en DVD (por lo que será más difícil ponerla en los institutos :P) y una versión nómada para dispositivos USB (la gran novedad en este ultimo es la persistencia de datos).

Para descargar los diferentes tipos de Molinux 5.0 ve a este enlace:
http://www.molinux.info/index.php?option=com_remository&Itemid=0&func=select&id=56
Para ver cómo se crea una Molinux Nómada haz clic en esta receta:
http://comunidad.molinux.info/index.php/COMO_Crear_una_Molinux_Nómada

- Está basado en la nueva distro de Ubuntu (9.04), en la nueva versión del entorno GNOME (2.26) y el nuevo kernel 2.6.28. Por cierto, se ha reducido el tiempo de arranque.

- Se han inuido nuevos programas como Gnome Control Center (el Panel de Control), Gru (que recupera el sector de arranque si se ha desruido o está dañado), Tucan (gestor de descargas), WebContentControl (control parental) y OpenClipart (galería de imágenes prediseñadas incuida en OpeOffice).

- Reconoce más hardware y es capaz de montar más dispositivos (discos duros externos, cámaras, etc, etc).

A todo el mundo le encantan las CAPTURAS DE PANTALLA, así que aquí van:

- Login:

- Escritorio:

- Nautilus (explorador):

- Versión educativa:
(Nótese que aparece el programa Rosegarden, una versión libre del Finale).

Molinux 5.0 ha renovado los punteros pero sigue utilizando los mismos iconos que en su versión anterior (Toboso): hydroxygen.

Ya me gustaría a mí hacer una distro como éstas :)

miércoles, 15 de julio de 2009

Proteger carpetas

Si no queremos que nos miren el contenido de nuestras carpetas, aquí viene un tuco para protegerlas del todo, que nadie la puede abrir, editar, cambiar de nombre o borrar (ni tú). Queda totalmente bloqueada. Es decir, está, pero no está. Pero si sigues leyendo, puede que aprendas a deshacer el lío. Vamos a probar:

Abrimos el Símbolo del Sistema. Una ve abierto, nos vamos al explorador (fuera del Símbolo del Sistema) y nos buscamos un buen lugar para poner nuestra carpeta (en Mis Documentos, por ejemplo). Le ponemos de nombre 'Privado' y metemos algún archivo dentro (que no sea muy importante). Echa el último vistazo a la carpeta porque la vas a echar de menos.

Nos vamos de nuevo a Simbolo del Sistema (cmd.exe) y cambiamos el nombre de la carpeta desde ahí. El truco está en incluir un símbolo especial al nombre de la carpeta (que no hemos podido añadir antes). Son de tipo ASCII, y se ponen pulsando 'Alt' y sin soltarlo, teclear el código del símbolo. Aquí van algunos: 176, 177, 178, 179, 180, 185, 186, 187, 188, 191, 192, 193, 194, 195, 196, 200, 201, 202, 203, 204, 205, 206, 254.

Si se hace en el explorador, aparece un caracter válido, pero si lo hacemos desde cmd.exe aparece un símbolo ASCII, que es lo que estropea todo.

Vale, ahora cambiamos el nombre a la carpeta:

REN Privado Privado(alt+254)

Yo he usao el símbolo que sale al teclear eso. Ahora que lo hemos hecho, nos vamos a ver el contenido de nuestra carpeta si podemos :). Debería funcionar (funciona con Windows 98 hata XP). Para deshacer el entuerto le cambiamos otra vez el nombre, pero escribiendo esto:

REN Privado(alt+254) Privado

¿Qué tal?

lunes, 13 de julio de 2009

Creador de copias

Con lo aprendido en el post anterior, pdemos hacer un programa que copie tantas veces como queramos, el texto que queramos.
Es con este código:

@ECHO OFF
title COPYMAKER
:ini
cls
color 0f
set b=0
echo Texto a copiar:
set /p text=
echo.
echo Numero de copias:
set /p num=
color 0e
echo Copiando...
:copy
set /a b=%b%+1>>copias.txt
echo off>>copias.txt
echo %text%>>copias.txt
if %b% == %num% goto ok
if %b% LSS %num% goto copy
:ok
color 0a
echo Copias hechas (%num%).
pause>nul
goto ini

Se crea un .bat con esto y tendremos un programa muy útil. Hace copias de lo que sea y cuantas veces se quiera (300 veces son 2 segundos).
Aviso a los listos: lo he patentado ;)

Tecleamos la frase que hay que copiar y el número de copias.

Pulsamos Intro y el programa las hace en un momento...

Cuando están hechas, el programa habrá creado un archivo de texto con todas las copias.

Este es el resultado xD

Crear archivos con un .bat

Ahora vamos a aprender a crear archivos con contenido usando un .bat, como un archivo de texto.
Lo principal es introducir los datos que necesitemos en el archivo que vayamos a crear. Por ejemplo, una frase: Si lo lees, lo entiendes. Manos a la obra:

Emezamos por poner la frase como si fuera un .bat normal.

@echo off
echo Si lo lees, lo entiendes
pause

Ahora tenemos que meter la frase en un archivo de texto (que se va a llamar leeme).

@echo off
echo Si lo lees, lo entiendes>leeme.txt
pause

Al ejecutar el .bat se creará un archivo de texto con la frase dentro. ¿Y si queremos más lineas?

@echo off
echo Esta es la primera>>leeme.txt
echo Y esta la segunda>>leeme.txt
echo Esta es la tercera>>leeme.txt
echo Mira Barrio Sésamo que acabamos antes>>leeme.txt
pause

En el archivo de texto saldrá:

Esta es la primera
Y esta la segunda
Esta es la tercera
Mira Barrio Sésamo que acabamos antes

También podemos sacar la información que nos otorgue un comando:

@echo off
set>info.txt

Esto nos mete en un archivo de texto la información que da set. (Así podemos hacernos un informe del sistema en poco tiempo :P).

NOTA: pause>nul evita que se vea Presione una tecla para continuar... y así el .bat queda mejor.

jueves, 9 de julio de 2009

Una calculadora casera

Aquí va una receta para hacernos nosotros mismos nuestra propia calculadora casera (en DOS):

Abrimos el Bloc de notas. Entonces, ponemos esto:

@echo off
:math

Ahora tenemos que ordenar al sistema que establezca una variable, la operación a realizar. Para ello ponemos:

set /p op=

Luego, ordenamos al sistema que procese la variable, es decir, la operación a realizar, y que el resultado de ésta establezca una nueva variable. Todo esto se pone así:

set /a res=%op%

Por último ordenamos que muestre el esultado, con ECHO:

echo %res%

Como queremos volver a poner otra operación, debemos mandar al programa al principio, para que repita los pasos, por eso antes pusimos la etiqueta math ( :math ) y ahora vamos a volver a ella con GOTO:

goto math

...con lo cual nunca se acaba. Lo guardamos con el nombre calculadora.bat y ya tendremos esto:


Estas operaciones las hize yo para demostrar que funciona.
Pero no quiero engañar a nadie: esta calculadora es más bien obsoleta, el lenguaje DOS sólo procesa grupos, operadoes unarios, operadores aritméticos, desplazamientos lógicos (<< >>), y admite "bt a bit y" (&), "bit a bit exclusivo o" (^), "bit a bit" (|). Luego están los símbolos de asignación (= *= /= %= += -= &= ^= |= <<= >>=) y LA COMA DECIMAL NO SE ADMITE. Lo más parecido a ello es el separador de expresión (,) que epara distintas expresiones a procesar.

Por lo tanto, no es tan precisa. Solo trabaja con números exactos (de decimales nada). Admite números decimales y hexadecimales, binarios y notacion octal (esta última puede ser confusa, 8 y 08 no son lo mismo, porque 08 no se admite).

Pero bueno, siempre nos los aproxima en un rango de 64 bits xD:

viernes, 26 de junio de 2009

Recuperar ficheros borrados en Linux

¿Alguna vez os ha pasado que borrástes por error un fichero trabajando con la consola? Pues se puede recuperar con un poco de suerte. Mira a ver si esto te ayuda:

Primero vamos a ver un poco como podemos acceder a la informacion o estatus de un fichero. Para esto podemos utilizar el programa de sistema stat. Veamos como funciona:
Primero creamos un fichero de texto. A continuacion podemos usar stat para obtener la informacion de este fichero:

user@test# echo "este es el fichero de prueba" > fichero_de_prueba.txt

A continuacion podemos usar stat para obtener la informacion de este fichero. De toda esa información nos interesa la llamada Inode.
Un inodo es una unidad de datos propia. Tiene las características de un archivo regular, directorio o fichero que esté almacenado en el sistema de archivos.

Cada inodo queda identificado por un número entero, único dentro del sistema de ficheros, y los directorios recogen una lista de parejas formadas por un número de inodo y nombre identificativo que permite acceder al archivo en cuestión: cada archivo tiene un único inodo, pero puede tener más de un nombre en distintos o incluso en el mismo directorio para facilitar su localización.

Cuando borramos un fichero con el comando rm, lo que hacemos es borrar la referencia al inodo en cuestion, durante un tiempo dicho inodo seguira existiendo en nuestro sistema aunque no podamos verlo y parezca que el fichero borrado ha desaparecido de nuestro sistema. Si algun programa esta accediendo al fichero que hemos borrado, estamos de suerte. El programa en cuestion tendra una referencia al inode del fichero borrado y siempre que no cerremos este programa podremos recuperar el contenido de dicho fichero.

A continuacion presentamos una session completa desde que borramos un fichero hasta que lo recuperamos:

1. Abrimos nuestro fichero ejemplo con less (por ejemplo)

user@test# less fichero_de_prueba.txt
este es el fichero de prueba
fichero_de_prueba.txt (END)

2. Pulsamos Ctrl+z para suspender el programa less sin pararlo (el programa seguira abierto, accediendo a nuestro fichero, pero suspendido)

3. Comprobamos que nuestro fichero sigue intacto:

user@test# ls -li fichero_de_prueba.txt

4. Lo borramos... accidentalmente ;)

user@test# rm fichero_de_prueba.txt

5. Comprobamos que no existe en nuestro directorio (lo mismo que el paso 3, pero nos tiene que dar error).

6. Como hemos comentado mas arriba, si tenemos un programa accediendo el fichero estamos de suerte. Utilizamos lsof para ver si algun programa esta accediendo el fichero que hemos borrado.

No deberia de ser una sorpresa que nuestro programa less este accediendo nuestro fichero borrado. Las columnas que nos interesan de esta linea son la primera (PID del programa accediendo el fichero), y la cuarta, el 'file descriptor' (4r) con la referencia al inodo de nuestro fichero.

Con esta informacion nos vamos al sistema de ficheros virtual /proc con informacion de nuestro sistema linux.

user@test# ls -l /proc/28410/fd/4

(en este caso, 28410 es el PID del prorama que está accediendo al fichero).

Como era de esperar, una referencia al fichero borrado. Lo unico que tenemos que hacer ahora es copiar los datos a los que /proc/28410/fd/4 esta haciendo referencia. Para esto podemos utilizar simplemente el comando cp

user@test# cp /proc/28410/fd/4 fichero_de_prueba.txt restaurado

Ahora no importa que el programa less se haya cerrado, porque ya lo tenemos restaurado:

user@test# less fichero_de_prueba.txt restaurado
este es el fichero de prueba

¿Qué tal?



jueves, 25 de junio de 2009

Las matemáticas

Las Matemáticas (Del Latín “No entiemdvm vn Carajvm”) son una Ciencia perniciosa inventada a partir de las operaciones básicas de: Juntar, Quitar, Reproducir y Picar. Impidió a muchos intelectos de la Historia desarrollarse en sus verdaderas habilidades, ya que es una disciplina extremadamente adictiva que cuando la pruebas te enganchas, aunque en realidad es una trampa.

Su origen es desconocido, pero muchos afirman que el Copyright pertenece a Microsoft, aunque posteriormente fue mejorada por Pitágoras y otros “Sin Oficio” Griegos (la inventaron como tortura china aunque fuera griega).

LOS TIPOS DE NÚMEROS

NATURALES

Son los que saben ácido, al contrario que los números naturales azucarados o los de macedonia

ENTEROS

Son los que cotizan en Bolsa, como el número IVA y el número IRPF.

IRRACIONALES

Al contrario que los anteriores, son los que no necesitas pensar para usarlos, como el 0, el 0+0 o el 0+0+0+0+0+0+0

REALES

Son los que existen de verdad. Ejemplos de números no reales son el tropecientos, chorromil, digiridos o el infinito más uno.

IMAGINARIOS

Son creados por los matemáticos el día que decidieron que no tenían suficientes números.


<-- Las matemáticas obviamente se encuentan visibles en la naturaleza, no hay más que fijarse en esta expresión vacuna común.

Aquí mostramos otros Greatest Hits (O grandes golpes para el ser humano) que ha producido, inexplicablemente, las Matemáticas:

  • Los Números tienen Personalidad, pueden ser positivos y negativos.
  • 2+2: empate
  • 4x4: todoterreno
  • 2x1: oferta (hasta en lo que comes hay matematicas, no es suficiente con el colegio??)
  • 50x15: Sobera
  • 100x100: Algodón
  • Uno y uno no son dos, porque mi mami es uno, mi papi es uno y luego del sepso mas nueve meses somos... diez?
  • Dos y dos son cuatro, cuatro y dos son seis, seis y dos son ocho y ocho dieciseis.Brinca la cuerdita, que ya la brinqué
  • Dicen que 2 y 2 es 4, cuando realmente es “22”.
  • Afirman que los números son infinitos cuando ya existe un número con ese nombre.
  • No conocen la estructura de un árbol genealógico normal, dicen que hay numero primos… ¿y dónde están los números tíos, hermanos, padres, abuelos, etc?
  • Un numero esta definido como tal, Si y Solo Si (que ridículo suena esto, pero no puedes hacer matemática si no lo dices) puede ser sumado con otro numero de su género. (Esto es, no puedes sumar 5+VI por que te puede explotar el cerebro)
  • Sólo el Monstruo de Espagueti Volador, Stephen Hawking,Chuck Norris y las tostadas se pueden dividir entre "0" (cero). A los mortales se nos tiene bloqueada esa función de fábrica y por eso solemos decir que es imposible… NOTA: Se espera un upgrade para la próxima mutación.
  • La verdadera mitad de uno es El ombligo.
  • La mitad de 2+2 en realidad es 3… math. Pero si le respondes eso a un matemático te dirá que es 2… Lo que demuestra científicamente que la gente que estudia para ser profesor de matemáticas, tienen predisposición al Mal y son personas con altas probabilidades de suicidarse con un helado de mantecado…
  • También afirman que la mitad de 8 es 4, cuando en realidad es 0 si lo calculamos aritméticamente, o 3, si lo calculamos algebraicamente.

LA MATEMÁTICA ES UNA CIENCIA INEXACTA

Van 3 personas a tomar cervezas, a 10 Euros cada cerveza y piden al mesero 1 para cada uno. Al terminar solicitan la cuenta que suma 30 Euros. El mesero va a la caja y allí se les aplica un descuento de 5 Euros que el mesero va a dejar a los clientes. De esos 5 Euros, el mesero se roba deja 2 Euros de propina, y devuelve 1 Euro a cada uno de los 3 clientes. La lógica dicta que cada cerveza costó 9 Euros.

3 cervezas x 9 Euros = 27 Euros

27 Euros + 2 Euros de propina al mesero = 29 Euros

DONDE COJONES QUEDÓ EL OTRO EURO?????

(Probablemente también se lo cogió el mesero, pero es solo una hipótesis. A lo mejor está en una nueva y feliz vida volviendo al banco de donde vino, pero este no es el punto...)


<-- Son muy controvertidos los métodos actuales para aprender a resolver un problema, sobretodo si no sabes la respuesta.





Uno... dos... ¡coño, me he perdido!
Mickey Mouse cuando intentaba contar hasta tres.

domingo, 21 de junio de 2009

Discusión sobre el Software Libre

Los días 23 y 24 de junio se celebrará en la Sede Social del Parque Tecnológico de Andalucia (Málaga) y en el Edificio CREA-Sevilla Global (Sevilla) respectivamente el encuentro tecnológico “El impacto del Software Libre en la Empresa”.

Esto irá sobre debatir la llegada y la revolución que ha causado el Software Libre a las empresas, porque existen programas que se pueden adaptar y pueden crecer con ellas.
Durante los encuentros se debatirá sobre la conveniencia de implantar estas herramientas y sobre aspectos relacionados como la seguridad en el mundo libre, la virtualización o las aplicaciones de usuario.

Si te fuiste a Alicante a hablar con Richard Stallman, puedes irte a Andalucía a ver la discusión :P

miércoles, 17 de junio de 2009

Virus en los pen-dives

Hay que tener cuidado cuando pasemos archivos con un pen-drive. Últimamente se pasan virus. Los viruses se encuentran en aplicaciones, y cada vez que metemos el pen, importamos o exportamos algo, y lo sacamos, se crea un virus. El virus se crea a partir de una aplicación (.exe) que surge con el mismo nombre de la carpeta que la contiene. Solo que ésta contiene código malicioso. La amenza más común en estos viruses son los gusanos.

Mira, un ejemplo:
(Esta captura está tomada en Ubuntu). Ese rombo es una aplicación (la que contiene el virus). Menos mal que el antivirus ha saltado. Sería horrible estar si antivirus (más de la mitad de la gente piensa que solo son para Internet).


Como véis, el ejecutable lleva el mismo nombre que la carpeta donde está. Y esto pasa con todas las carpetas.

lunes, 15 de junio de 2009

Te doy uno y me das dos... ¡es lo mismo!

Observa este razonamiento:

- Se toman dos número iguales a y b; es decir: a=b.
- Se multiplican lo sdos miembrs por a: a2=ab
- Se resta b2 a los dos miembros: a2-b=ba-b2
- Utilizando una identidad notable y sacando factor común en el segundo miembro se obtiene (a+b)(a-b)=b(a-b)
- Se dividen los dos miembros por (a-b): a+b=b
- Como hemos dicho que a=b, concluimos con;

b+b=b -> 2b=b -> 2=1

¿Dónde está el fallo?
Jejejejejeje...

jueves, 11 de junio de 2009

Lo dijo Bill Gates, Bill Gates!!!

Vi un vídeo no hace mucho en el blog de Jorge (aquí) que me cabreó bastante.
No os voy a contar nada, miradlo, que habla por sí solo. Joder!


lunes, 8 de junio de 2009

Curso de HTML (III) - La etiqueta span

Habrás visto que hay muchas formas de editar el texto. ¿Y los colores? ¿Y el estilo?

Todo se hace con una etqueta llamada span (lo pongo sin <> porque si no no se ve).
Span tiene:


Parámetros CSS

Color de texto:

Si lo ves verde... vete al oculista.

Color de fondo del texto:

¿Ves esto? Pues no se estudia

Fuente del texto:

¡Soy el más molón!

Lo que debe ir en color: aquí.
Lo que debe ir en fuente: abajo

Font Family

Aqui va lo que debes poner en fuente (recuerda, los colore y las fuentes se ponen sin <>, ¿eh?):

serif : Fuente al estilo Times New Roman
sans-serif : Fuente al estilo Arial
fantasy : Fuente al estilo Calibri
cursive : Fuente al estilo Comic Sans MS
monospace : Fuente como la de las máquinas de escribir, donde todas las letras tienen el mismo ancho. ¡Compruébalo!

No seas como otros que conozco: si quieres colocar varias etiquetas, no utilizes otra vez spam, se separan con punto y coma ;.
Mira, si quieres poer un texto rojo y con fondo amarillo, usa esto:


Al principio te va a costar, pero luego lo vas a escribir sin darte cuenta.

Y colorín colorado, este curso se ha acabado. El mío no :/

Curso de HTML (II)

Nos habíamos quedado por lo básico. Toca aprender más:

Citas:

En un lugar de Terrinches...

Código fuente del ordenador (monoespaciado con fondo):

IF NOT understand THEN EXIT

Ignorar etiquetas del texto (Blogger no lo admite):


Texto oculto:



Fórmula en formato LATEX (Blogger no lo admite):