jueves, mayo 28, 2009

Programas C curiosos

Hola,

Se acerca el verano y quería ver como iba el tema de los números primos más grandes descubiertos. Es una pena pero me alejé del tema y ahora habrá que empezar otra vez de 0.

El caso es que he estado navegando por las web-s de primos gigantes que analizamos hace ya 9 meses y... he encontrado esto:



¡Que interesante!
Un pequeño y complejo programa C que ha ganado en un "especial" concurso de programación C.

Es la IOCCC (The International Obfuscated C Code Constest): http://www.ioccc.org/

¿Un concurso de código C "ofuscado"?

Aquí están los ganadores. Por lo títulos de los premios prometen: mejor juego, más humor, mejor salida, peor estilo, peor utilización del preprocesador, mejor ofuscación, mejor utilidad, mejor uso de luces y esferas, mejor programa corto, etc. etc.

Habrá que compilar y mostrar las salidas, creo que no habrá problemas de autor si mencionamos la procedencia.

Saludos.

martes, mayo 26, 2009

Dibujitos en .NET

He estado unos días incomunicado participando en un rallye de regularidad. La preparación del coche y de los aparatos de medida han supuesto muchas horas y no he podido ni tocar el ordenador.

Ahí una muestra del bólido (el del medio claro). 3 veces ganador de Montecarlo e injustamente descalificado del primer, segundo y tercer puesto en el rallye de Montecarlo de 1966 (el mayor robo de la historia). El motivo de la descalificación después de ganar las prueba: la altura de los faros.

Pero eso ya es historia... vamos a aprender a hacer cosas bonitas en VB.NET.


Antes dibujar era más fácil. En los compiladores de Borland (y en otros también) tanto de C, C++ como de Pascal solía estar la librería conio.h para hacer grafiquitos, cuadritos, circulitos, posicionarse en la pantalla, etc.

Ahora todo es más complicado, pero a cambio hay mayor potencia. Para dibujar vamos a utilizar GDI+ con el namespace System.Drawing.


GDI+ se encuentra en el ensamblado System.Drawing.dll y la clase principal es Graphics.


Podemos usar el evento Paint de un formulario...


Bonito degradado ¿no?, pues esto no era fácil de hacer con conio.h, pero a cambio era un código más sencillo.

Saludos.

jueves, mayo 21, 2009

Primera prueba en Windows 7


Hoy tocaba hacer alguna pruebilla a ver que tal va la compatibilidad en Windows7.

El otro día os contaba que había comprado un simulador de submarinos por 5 euritos. Es el Silent Hunter III. En principio el jueguillo es para Windows2000/XP por lo que es una buena prueba.

Antes de empezar con el juego hay otro detalle. En los pantallazos de ayer ya se veía que había algún problema con los drivers de la tarjeta de video. Windows 7 me había puesto un adaptador VGA genérico.

Como mi PC es de la marca Titeck he ido a la web del fabricante. Ahí he visto que la tarjeta de video es un Nvidia GE Force4 MX440. Voy a la web del Nvidia y resulta que no hay drivers actualizados para esta tarjeta. Al final me he bajado los drivers para XP/Windows2000 de Titeck y los he instalado sin más (doble clic).

Voy a Panel de Control, Hardware y Sonido, Sistema y Seguridad, Sistema, Administrador de dispositivos, y en Adaptadores de pantalla veo que me ha cambiado el genérico por el nuevo sin problemas.

Ahora toca la instalación del juego. Meto el CD y next, next, next hasta el final. Ningún problema con las carpetas donde realiza la instalación, el registro,...

Doble clic al icono que me ha puesto en el escritorio y...


Saludos, voy a ver como va esto.

martes, mayo 19, 2009

Instalación de Windows 7

¡Hola ¿que tal?!

Hace unos días lanzaron el Windows 7 RC (Release Candidate). La descarga no es totalmente libre, pero por ejemplo sí se puede descargar si estais suscritos a MSDN (como es mi caso por temas de trabajo).

La descarga es sencilla. Se inicia sesión en msdn.microsoft.com y se busca en la zona de descargas. Se puede seleccionar para varios idiomas entre los que está el castellano. Descargamos la imagen ISO y de ahí al DVD.

La instalación

Arrancamos del DVD a las 21:32.

Sale "Windows is loading files". Luego podemos leer una serie de advertencias técnicas como que "No se puede actualizar directamente de WindowsXP a Windows 7".
21:34.
Seleccionamos "Instalar" y nos dice: "Candidato para la versión comercial del Sistema Operativo Microsoft 7". En un momento nos muestra las particiones del disco duro. Elimino todas y así me queda: "Espacio sin asignar en el disco 0. 37,2 Gb".

"¿Dónde desea instalar Windows?" Pues en el espacio sin asignar claro.
21:37
"1-Instalando Windows".
"2-Copiando archivos de Windows".
"3-Expandiendo archivos de Windows". En este punto empieza un lento progreso desde 0% al 100%.

21:52.

Ha llegado al 100%.
"4-Instalar características".
"5-Instalar actualizaciones".

21:53
"Se necesita reiniciar Windows".

El Windows 7 se reinicia solito. El CD está metido, pero al arrancar otra vez no hay que tocar nada.

"Iniciando Windows"..."Iniciando servicios"..."Completar instalación".

22:00
Me encuentro con otro reinicio. Es posible que lleve unos minutos esperándome porque tengo un pequeño problema hardware que hace que el PC se quede esperando pulsar una tecla en la BIOS.
"El programa de instalación se está preparando para el primer inicio".

Ahora nos pide el nombre del usuario, el nombre del equipo y un indicio para adivinar la password. El indicio es obligatorio. Cosa incomprensible.

¡Ahora la primera sorpresa! Pide la Clave del producto. Esta clave nos la han dado en MSDN al realizar la descarga. Y yo justo me la he dejado en el trabajo :-(

Bueno, veo que no importa. No la pongo y me deja seguir. Tampoco activo un clic para "Activar Windows automáticamente cuando esté conectado".

Ahora toca la "Configuración de seguridad". Seleccionamos "Usar la configuración recomendada".

Revisar la hora y fecha.
Seleccionar la red:
1.-Red doméstica.
2.-Red de trabajo.
3.-Red pública.

Selecciono Red doméstica.

22:05.
"Conectándose a la red y aplicando configuración".
"Windows está finalizando la configuración".
"Iniciando".
"Preparando el escritorio".

22:15. YA TENGO EL ESCRITORIO LISTO.

El explorer que trae es el 8, con la habitual página e inicio:


Aunque es una versión "candidate" viene con algunos jueguillos:


Por supuesto no podía faltar el buscaminas:


En Microsiervos publicaba esto hace unos días. Parece que esta vez no han hecho demasiado caso a esa asociación, aunque con Windows Vista también podían configurarse las minas:

Una cosita que ha cambiado bastante es el Paint. Pero ¿por qué complican tanto las cosas?
Parece que quieren que la gente no se acomode a un programa y tienen que cambiarlo como sea.


Bueno, en los próximos días o semanas veremos que tal se comporta con los Juegos para versiones anteriores, frameworks .NET 1.0, 1.1, Office2003, etc. etc. O sea, las cosas que tienen que funcionar en caso de querer migrar desde XP a Windows 7.

Lo de los juegos no es estrictamente necesario, sólo curiosidad personal.

Saludos.

domingo, mayo 17, 2009

Conciertazos

Como dice Alexa, necesitaba culturizarme un poco y conocer a los padres del rock, y que mejor ocasión que el Azkena Rock Festival en Vitoria-Gasteiz.

En la anterior edición ya estuve en unos conciertos memorables como el de SexPistols, Ramones, etc.

Crónica del Jueves 14-5-2009:

Llegué tarde y me perdí a los Burning. Justo justo pude oír como terminaban la de "Mueve tus caderas".

El Azkena para mi empezó con White Denim, que la verdad es que tocaron a toda leche sin parar los primeros 40 minutos. Sin parar de tocar, literalmente.

Con razón en el folleto oficial pone "...elaborando un frenético, sudoroso, rico, elegante y brillante sonido". Lo difícil es clasificar el género de esta música. En el librito del Azkena pone "toman como base el garage y el punk". Esta es una muestra del tipo de música que hacen...



Luego llegó la hora de los "The Freeks". Se trata de una agrupación de rockeros que no han editado disco propio todavía, pero se juntan para hacer potentes directos. Muy divertidos y suenan pero que muy bien.


No hay nada todavía en Youtube, pero aquí podemos escuchar alguna canción.

Luego las gemelas de "The Breeders". Hace años tocaban en los Pixies.
Bueno, este grupo no es exactamente de mi gusto. Ni siquiera me parecía rock. Más bien era música relajante para dormir. No digo que no sea de calidad, sólo que a mi no me gusta.

De todas formas esta canción SÍ me gusta:



Por último gran actuación de Juliette & The new romantics. La cantante es la actriz Juliette Lewis que ha hecho multitud de películas e incluso ha estado nominada a los Oscars. Información de sus películas aquí: http://es.wikipedia.org/wiki/Juliette_Lewis

Con un vestuario super atrevido en plan superheroe con buzo rojo pegadito y bragas por fuera no dejaba de moverse por todo el escenario:

Aquí una muestra de su música, aunque realmente lo que ofreció fue un espectáculo más allá de lo musical.

Así terminó el jueves, pero todavía quedaba lo mejor por llegar...
Saludos.

viernes, mayo 15, 2009

Consultas útiles en Oracle y utilización de SQLPlus


Hay una serie de consultas muy comunes que vienen muy bien en cualquier instalación Oracle.

Iniciamos sesión con usuario Oracle.
Entramos en SQLPLUS como SYSDBA:

$sqlplus "/as sysdba"

Lo primero que deberíamos hacer cuando nos asignan la gestión de una base de datos Oracle es conocer la versión de la misma:

SQL> select * from v$instance;
Además de la versión nos dirá el nombre de la instancia, el nombre de la máquina, la versión, el estado de la base de datos (open,...), la fecha en la que se arrancó la base de datos y algún dato más.

Recuerda que para ver todos los campos:
SQL> desc v$instance;

Y para consultar un campo concreto:
SQL> select status from v$instance;

Ahora podemos mirar los parámetros generales de Oracle:
SQL> select * from v$system_parameter;


Y encontramos el primer problema... no se ve nada por un tema de configuración
¿Solución?
Configurar la salida de pantalla del sqlplus:
SQL> set pagesize 100
SQL> set linesize 300

y para repetir el comando anterior "r" o "run":
SQL> r
SQL> RUN
Ahora mejor ¿no?

Si quisieramos modificar ligeramente el comando podemos editarlo con "ed":
SQL> ed

Ahora el nuevo problema es que es demasiada información en pantalla. Podemos redirigir la salida a fichero con el comando "spool":

SQL> spool fichero.txt
SQL> run
SQL> spool off
SQL> exit
$ more fichero.txt

Bueno, por hoy ya vale. Hemos visto como manejarnos un poquito con el SQLPlus, y las dos primeras consultas que deberíamos hacer en el primer contacto con una base de datos Oracle.

Más adelante profundizaremos en la explicación de los principales parámetros de la base datos (los que hemos listado en el fichero de texto).

Saludos.

jueves, mayo 14, 2009

La fiesta del fútbol

Sí, hoy tocaba fútbol. Se ha intentado pero no ha podido ser. El que posiblemente sea el mejor equipo del mundo (al menos de los mejores seguro) ha demostrado tener una calidad increible y jugadores para dar y tomar.

De todas formas, y una vez superada la tristeza inicial, llegar a esta final con una filosofía de club como la del Athletic es muy meritorio, y las imágenes de jugadores y aficionados de los dos equipos han mostrado lo que debería ser el fútbol.

No suele ser muy habitual los aplausos de los seguidores perdedores al equipo ganador y viceversa. Todavía recuerdo a Puyol y Eto'o animando con la ikurriña en la mano.

Lo dicho, la fiesta del fútbol.

lunes, mayo 11, 2009

Mucha información...

Es lo que podemos encontrar en el blog del Maligno. Como siempre tiene su particular punto de vista (del imperio del mal) que os puede gustar o no, pero no se le puede negar que publica información y herramientas muy interesantes con bastante frecuencia.

En el último post publica una especie de índice con sus artículos técnicos. No te lo puedes perder si quieres aprender un montón sobre seguridad o inseguridad.

También publicó hace unos días una recopilación de las herramientas que ha desarrollado su empresa informatica64, o que ha encargado a otro para ponencias, etc.: http://elladodelmal.blogspot.com/2009/05/los-trastos-en-el-sotano.html

Bueno, ahí hay material para meses y sin exagerar. Y si lo que te interesa es ser un auténtico super hacker (de sombrero blanco por supuesto), no olvides pinchar en los enlaces "RETOHACKING" del mismo blog. Cada prueba cuenta con su propio solucionario, y en algunos casos hasta hay documentadas varias soluciones por prueba.

Saludos y no os empachéis ;-)

miércoles, mayo 06, 2009

No dejes esto para otro día que la lías

Hace ya dos semanas expliqué de que forma se podían backear los discos del sistema en un UNIX como HP-UX. Utilizábamos comandos específicos del S.O.

Ahora bien, para filesystem convencionales como FAT, NTFS (windows), EXT2, EXT3 (Linux), etc. tenemos dos opciones:

1.-Opción comercial: pagamos por Norton Ghost o Acronis Tuue Image y a ver que tal nos va. En el trabajo teníamos un Ghost 2003 y tuvimos problemas con los drivers de discos SATA, con controladoras de disco,... Vamos, el problema suele ser que la herramienta tiene que tener drivers actualizados para todo tipo de dispositivos. Y tampoco es plan de estar continuamente comprando paquetes.

2.-Opción Software libre: para crear imágenes de discos físicos esta ha sido mi mejor opción. En este post voy a explicar la utilización de Clonezilla para generar una imagen de nuestro portátil, equipo de sobremesa e incluso servidores windows y linux.



Descarga de Clonezilla
Podemos descargar una imagen ISO de Clonezilla de www.clonezilla.org
También se puede descargar en ZIP para preparar un pen-drive.
Por supuesto la descarga es legal, la distribución también, etc. etc. porque hablamos de licencia GPLv2.

Generación de una imagen del disco duro en un disco duro externo usb o pen-drive

He generado una imagen del disco 0 de un servidor HP Proliant DL380 con controladora Smart Array de HP.

1.-Apaga el servidor y mete el CD de Clonezilla en la unidad. Conectale el disco duro externo USB, pero mantenlo apagado (si es un pen-drive no lo metas todavía). Si lo conectais desde ahora lo va a detectar como disco interno, lo va a montar, y luego nos dará una advertencia de que la unidad destino está en uso. Mejor que Clonezilla no vea todavía la unidad destino.

2.-Arranca de CD. En cuanto empiece a cargarlo sale una pantalla gráfica para elegir la resolución de pantalla. Seleccionamos 800x600.



3.-Veremos que empieza a montar unidades, activar el swap, montar filesystems, etc. En menos de un minuto aparecerá un menú para elegir el idioma. Podemos elegir spanish. Nada más elegir el idioma nos ofrece la posibilidad de elegir el keymap. Indicamos "Don't touch keymap" o "no tocar el mapa de teclado" (no recuerdo si aparece en inglés o en castellano).



4.-Seleccionamos "Iniciar Clonezilla". Lo primero que nos pregunta es si vamos a generar o cargar de una imagen o de un disco/partición. Creo que lo mejor es trabajar con imágenes que consisten en uno o varios ficheros que luego vamos a poder mover a otros lugares, a la red, etc.



Indicamos que queremos generar una imagen seleccionando: device-image disco/particion a/desde imagen.

5.-En la siguiente pantalla hay que elegir local_dev. Esto es porque la unidad destino (disco o pen-drive USB) es para Clonezilla un dispositivo local (local-device).

6.-Después de seleccionar el local_dev, nos va a decir esto: "SI DESEA USAR UN DISPOSITIVO USB...INSERTELO AHORA, ESPERE 5 SEGUNDOS Y PULSE INTRO".
Hay que encender el disco USB, o introducir el pen-drive, veremos que empieza a escribir cosas en pantalla. Hay que esperar hasta que indique "ATTACHED SCSIDISK" y ahora si pulsamos intro.

7.-Clonezilla indicará: "Mounting local dev as /home/partimag..." y algunas cosas más hasta que llegamos a una pantalla llamada: "MONTAR DISCO COMO REPOSITORIO DE IMAGENES". Tenemos que elegir donde se va a almacenar la imagen.
Pistas que tenemos para no equivocarnos: En Linux los dispositivos USB se muestran como sda1, sdb1,... Además Clonezilla nos muestra el tamaño total del dispositivo, el filesystem utilizado y datos del fabricante (onetouch, iomega,...).

Aviso: Si hemos tenido encendido el dispositivo USB desde el principio ahora nos dirá que el filesystem está marcado como "en uso" y nos dará la opción de indicarle que adelante con todo.

8.-Ahora nos pregunta por el directorio donde va a guardar la imagen. Indicamos por ejemplo que en el "directorio superior del dispositivo local".

9.- Nos va a mostrar un poco de información, y por fin llegamos al modo de trabajo. Elegimos "SAVEDISK" para indicarle que queremos salvar el disco en una imagen.

10.-Nos propone un nombre para la imagen. Simplemente ponen como nombre la fecha y hora. Yo le añado el nombre del servidor.

11.-Elegimos el disco local como origen del proceso. "hda" normalmente pero puede ser sdb también (en mi caso por el SmartArray), etc. El tamaño del disco nos da una pista para no equivocarnos.

12.-Llegamos a la sección "PARAMETROS AVANZADOS EXTRA". Elegimos la opción -q que indica la siguiente prioridad: ntfsclone > partimage > dd.

13.-Configurar parámetros avanzados. Yo lo he dejado por defecto que tiene marcados "-c" (El cliente espera confirmación antes de la clonación) y "-j2" (Guardar los datos ocultos entre el MBR y la partición).

14.-Elegimos la compresión. Aquí lo que nos de la gana desde "sin compresión" hasta "máxima compresión".

15.-Tamaño (máximo) para un archivo de imagen. Por defecto está en 2.000 (Mb) que es el máximo tamaño de archivo en algunos filesystems. Si nos da igual el tamaño de la imagen ponemos 0.

16.-Ahora elegimos la "Acción al terminar". Yo suelo elegir "-p true" que significa "No hacer nada".

17.-Nos pregunta si queremos "Guardar partición como imagen". Pues va a ser que sí.

18.-Nos presenta un comando larguísimo y nos dice: "La próxima vez puede ejecutar este comando directamente". Pues muy bien.

19.-Dice: "Guardar las particiones de esta máquina como imagen" y nos muestra las particiones del disco que hemos elegido antes. ¿Continuar? Otra vez SÍ.

Y ya está. Ahora toca esperar un poquito hasta que termine la creación de la imagen.

Saludos, y venga, antes de que os entre un virus, se deteriore el rendimiento, os cargueis el sistema, se rompa el disco, .... haced una imagen que no cuesta nada.

Aviso: mañana añadiré los pantallazos en este mismo post.

martes, mayo 05, 2009

Visita de Alexa III (último día)

Para terminar la histórica visita (o visita histórica), el último día fuimos a lo más moderno y raro que se puede ver por aquí: visita al Guggenheim.

No se pueden sacar fotos dentro pero podéis ver una muestra de lo que hay:

  1. Aquí las imágenes de la exposición del Chino Cai Guo-Qiang. Este es mundialmente famoso entre otras muchas cosas por haber preparado los fuegos artificiales de las últimas olimpiadas. Sus obras tiene mucha crítica social.
  2. y aquí información de la de Murakami. Ha creado su propio Universo Murakami que da de comer a su propia empresa de 130 personas. Muy interesante también. Denuncia del consumismo desde el propio consumismo.
En el exterior si se podían sacar fotos:

Esta es la arañita que quería ver Alexa:

Una del museo (foto cortesía de Amaita H. como la mayoría de las que he puesto):

El bonito perrito Pupi por detrás:

Luego fuimos a una tienda de segunda mano donde por 5 euritos compramos 2 jueguitos (un simulador de submarinos para PC y un juego para Sega Saturn.

Y como no podía ser de otra forma a buscar la tienda especializada en comics Joker. Alexa compró unos bonitos comics cuya temática no voy a desvelar sin su permiso, y yo los 32 ultimate xmen (lote 1).

Antes de entrar al Joker fuimos a una cafetería con musica rockanrolera, y ocurrió algo muy graciosoAlexa se dio cuenta de que no tengo ni idea de rock, o al menos ni pajolera idea de "los padres" del rock mundial. Se empezó a reír y no podía parar, y claro me dio tiempo hasta de sacarle una foto:




Por cierto, ya le he pillado el truco a algunas diferencias del lenguaje... si le gusta algo... entonces es lindo (suele decir mucho que lindo gatito por ejemplo). Si le gusta mucho mucho... entonces "esto es relindo"...
Si no le gusta nada dice algo así como... "sí, está bueno".

Bueno, y con esto hemos terminado la crónica de la visita. Tenía muchas visitas que hacer pues tiene mucha familia por aquí y no hemos podido estar más tiempo. Ya habrá más ocasiones.
Saludos.

viernes, mayo 01, 2009

Visita de Alexa II

Continuando con el post de ayer...

Por la tarde, después de ver el dolmen fuimos directos a Arantzazu. Este impresionante santuario es la arquitectura religiosa más moderna que yo haya visto y está en lugar privilegiado rodeado de montañas y vegetación. Se me olvidó decirle a Alexa que "arantza" en euskera es espino y es que la virgen de Arantzazu está sobre un espino.

Esto es lo que dijeron en su día los arquitectos (extraído de Wikipedia):

El proyecto supone, como parte integral del mismo, el marco de Aránzazu, con la rica pincelada de su vegetación y la maravillosa disposición de luz y sombras en sus rudos peñascos e impresionantes barrancos. La nueva Basílica revestirá los caracteres de robustez y de sencillez del pueblo vasco. Nada de líneas femeninas y académicas, que respiran a salón romántico. Será robusta, francamente agreste; la torre del campanil irá tachonada de piedras en punta, símbolo del espino.
El hecho de una construcción en la montaña nos ha movido a desechar materiales valiosos y decorativos, pero extraños, como el mármol y el bronce. La riqueza se conseguirá con el uso de materiales lósales, piedra, cal, madera, hierro forjado…


Y además, como dijo Alexa, minimalista.

El resultado en el exterior...




Los apóstoles. ¿No veis algo raro y controvertido?



Y en el interior...
Esta es la basílica:

Y esta la cripta con su Cristo rojo:

Luego bajamos a la bonita Villa de Oñati a reponernos un poco.






Saludos.