jueves, 31 de enero de 2008

AllowDBNull

Mi inglés es bastante malo, pero esto se entiende bastante bien. Se trata de una propiedad de los DataSet fuertemente tipados, de Visual Studio 2005. Sus posibles valores son True o False. Bueno vale, realmente es una propiedad de los campos de las tablas de los DataSet fuertemente tipados, pero nos entendemos.

Parece muy sencillo, ¿verdad? Y lo es hasta que intentas utilizarlo. Pongamos por caso que siguiendo las recomendaciones te creas un DataSet tipado y en una de las columnas, por necesidades del guión, le marcas ese AllowDBNull a True. Luego, en un arranque de euforia decides cargar datos desde un fichero XML -que no se cómo hemos podido vivir hasta hoy sin el formato XML-.

Y es en ese momento donde el muy borde de Visual Studio te suelta un mensaje del estilo "estás intentando meter un valor null". Claro, contestas tú, y ese campo admite valores nulos, porque yo lo he puesto, y porque da la casualidad de que ese es precisamente el valor en la base de datos. No un cero, ni una cadena de caracteres vacía, ni el 01/01/1900. El valor exacto es null, que se representa en Visual Studio 2005 como DBNull.

Y es que resulta que no, que el hecho de que la propiedad se llame AllowDBNull no significa que "Allow DBNull", sino que debe significar otra cosa misteriosa y desconocida que un cachondo de Microsoft puso en un día de inspiración.

Como no terminaba de creérmelo, busqué una solución por los foros de Microsoft, pensando que era yo quién lo estaba haciendo mal. Pero resulta que no, que en un post de los foros en inglés un tipo -que tenía la oportunidad de hablar con el desarrollador del invento-, contaba que la implementación de esta propiedad fue paralela a la de las variables tri-estado -recordemos que hasta C# 3.0 no hay variables que permitan null-, así que pa'qué te digo que si, si no.

Con lo que si estás leyendo esto ya sabes, no te molestes en creerte lo de AllowDBNull, porque es un engaña-tontos. Y yo el primero.

martes, 29 de enero de 2008

Rol, wargames y juegos de cartas

Creo que hay un gran desconocimiento acerca de las tres aficiones del título, así que voy a intentar explicar las diferencias entre ellas gracias el pequeño conocimiento que me da el ser jugador de las tres.


Rol

Los reconocerás por: La mesa llena de papeles, libros de reglas, lapiceros, dados de formas extrañas, los gusanitos y la CocaCola -con la edad se incorpora la cerveza, pero todo lo demás sigue idéntico-.

Como ya conté en esta otra entrada, los juegos de rol son juegos de interpretación donde cada participante representa el papel de un personaje, y donde hay uno de los participantes que organiza la partida y presenta la aventura al resto.


Wargames

Los reconocerás por: Espectáculo puro. Puede ser en la forma de unas grandes tablas -120cm x 180cm- forradas con un tapete verde y montones de miniaturas chulísimas. También se puede presentar en la forma de un tablero cuadriculado o con hexágonos y fichas de colores encima.

Los wargames, o juegos de guerra, son juegos donde prima la estrategia. Al contrario que en los juegos de rol, en estos hay una representación física tanto de las fichas como del terreno de juego. Pueden ser simples triángulos como en el Risk o elaboradas miniaturas como en Warhammer.

La diferencia con los juegos de rol es bastante evidente, ya que en los wargames los jugadores no representan ningún papel. Además, en los juegos de guerra el objetivo si es ganar al contrario o contrarios.

Los ejemplos más significativos de este tipo de juegos son Warhammer -Fantasy y 40.000-, El Señor de los Anillos o Risk, pero los hay a toneladas, principalmente porque no es una afición ni mucho menos nueva. Por ejemplo los hay que reproducen batallas de la Segunda Guerra Mundial, batallas de Napoleón y hasta Trafalgar.

Arturo Pérez-Reverte escribió un artículo para El Semanal en el que habla del particular. Lo tituló "Napoleones de fin de semana", pero no lo he encontrado en ninguna página oficial -yamentiendes-. Merece y mucho la pena dedicar unos segundos a buscarlo con Google.

Sergio es un amigo que ha puesto un resumen de las fases principales de una partida de El Señor de los Anillos aquí.


Juegos de Cartas

Los reconocerás por: ¿A que no lo adivinas?

Los juegos de cartas tampoco tienen nada que ver con ninguno de los dos anteriores. "Sencillamente" son juegos donde las cartas son bastante más raras -y variadas- que las de la baraja española o la francesa, y donde las reglas también varían enormemente.

El juego más representativo de éstos es Magic The Gathering.

lunes, 28 de enero de 2008

San Google

Pues es verdad que funciona. La teoría es muy bonita, tu pones lo que sea y Google te indexa en función de tal y pascual. Pero hasta que no lo ves, no te lo crees. O mejor dicho, no me lo creo.

El otro día puse este post, no para mis lectores -ejem-, sino porque si alguien tiene el mismo error y busca en Google, puede que le aparezca mi página y que encuentre la solución que a nosotros nos costó encontrar.

Y oyes, en la siguiente imagen se puede ver que efectivamente aparece enlazada la entrada, y nada menos que en la cuarta posición de la primera página.




Se que es una tontería, pero me ha hecho ilusión. ;-)

viernes, 25 de enero de 2008

En defensa del rol

Hace ya tiempo que tengo ganas de escribir un post en defensa de los juegos de rol, y es que yo soy jugador de rol. Nótese que no digo que juego a rol, porque últimamente jugar juego tirando a poco.

Por si alguien no lo sabe, los juegos de rol son juegos de interpretación, donde cada jugador representa el papel de un personaje, y donde uno de los jugadores es el "director de juego", que viene a ser quién organiza la partida y prepara los retos para los "personajes jugadores" -PJ, que viene a leerse pejotas en la jerga-.

El ejemplo más claro que se pone siempre es el de una obra de teatro donde los actores no saben el guión. Así, lo que tienen que hacer es ir improvisando y resolviendo los retos, encuentros y combates que el director de juego -dejota- les presenta.

Los juegos de rol tienen tantas ventajas que es difícil enumerarlas todas. Por citar algunas, fomenta la lectura -de los libros de reglas, que no son pequeños-. También la imaginación, puesto que no hay tablero como en un parchís, sino que todo sucede en la imaginación de los jugadores, ayudados de las descripciones del director de juego. Son colaborativos. Si, de verdad, no se trata de que uno quede el primero y los demás pierdan, sino que todos los jugadores forman un equipo y tienen que trabajar juntos para ganar todos, o perder todos.

En cuanto a la temática, los hay de cualquier cosa que te puedas imaginar, aunque los más famosos con los basados en la fantasía medieval -dragones, espadas, magia, etc.- y los de mundo de tinieblas, en los que interpretas un vampiro al estilo de Tom Cruisse en "Entrevista con el vampiro". Pero los hay de muchas temáticas mas, por ejemplo también hay uno basado en los cuentos de H.P.Lovecraft, ambientado en los años 20 en Estados Unidos y donde llevas a un investigador que se cruza con hechos paranormales. Y no debemos dejar de lado ese en el que interpretas a un pirata, otro ambientado en el lejano oeste, y otros basados en los mundos de Star Wars o un futuro más "cercano" al estilo Blade Runer.

Hay muy pocos juegos mejores que los juegos de rol, por todo esto y por muchas más cosas que me dejo en el tintero. Y creo que estaremos de acuerdo en que es infinitamente mejor pasarte la tarde jugando con tus amigos a una buena partida de rol, que jugando con la consola o viendo la tele.

Para terminar, aquí va un artículo que publicó el Ministerio de Educación y Ciencia sobre los juegos de rol. Su lectura es muy recomendable.

miércoles, 23 de enero de 2008

Open TTD

Estamos en plena precampaña electoral. De hecho, debemos ir ya por el tercer mes de precampaña electoral, y lo que te rondaré morena. En estos momentos es cuando peor humor se me pone al escuchar las noticias, y cuando más me apetece decir cuatro cosas sobre política... así que voy a hablar del juego con el que ando viciado ahora.

Los más viejos del lugar recordarán el Transport Tycoon, un juego para PC de hace casi 15 años en el que eres el gestor de una empresa de transportes, y tienes que hacerte millonario transportando materiales y personas. Para ello puedes utilizar camiones, trenes, barcos o aviones.

Hace un tiempo me apeteció jugar una partida, pero me temo que ya no funciona excesivamente bien en XP. Por suerte, hay una panda de enajenados mentales que se han dedicado a reescribirlo y publicarlo como Open Source, y no solo eso sino que lo han exportado a una gran variedad de plataformas, incluido linux.

El juego viene a llamarse Open TTD -Open Transport Tycoon Deluxe-. En el momento de publicar esto van por la versión 0.6.0-beta3, y funciona bastante bien. La pena es que los competidores llevados por el ordenador son igual de estúpidos que en la versión original.

Tan sólo hay un matiz, y es que para evitar problemas de propiedad, al instalarlo te pide el directorio donde tienes tu Transport Tycoon Deluxe original, ya que utiliza sus gráficos. Pues eso.

domingo, 20 de enero de 2008

Reseña: No me cogeréis vivo

Esta vez el libro es de Arturo Pérez-Reverte. Reverte escribe todas las semanas en el suplemento dominical XLSemanal, que sale con varios periódicos dependiendo de la provincia, e incluso tiene versión en internet [www.xlsemanal.com].

"No me cogeréis vivo" es el cuarto libro de recopilaciones de estos artículos. Los otros tres son "Obra breve", "Patente de corso" y "Con ánimo de ofender". Yo conocí a Arturo Pérez-Reverte cuando me regalaron el segundo de ellos, y desde entonces no he dejado de leer todo lo que ha publicado.

En esta recopilación, que abarca artículos de 2003 a 2005, se nota una visión cada vez más pesimista de la sociedad, la política y la vida. Cuesta encontrar algún artículo que arranque una sonrisa -sincera, porque socarronas saca muchas-. No obstante, se trata de una lectura muy facilita y cómoda, además de por la forma de escribir, porque cada artículo ocupa dos páginas y media -ideal para leer antes de ir a dormir-.

Desde mi punto de vista, que como es mío es bastante personal, cada vez me van gustando menos éstos artículos, ya que tiene una visión demasiado negativa para mi gusto. Que no digo yo que no sea una visión correcta de la realidad, pero es que a veces me apetece leer buenas noticias.

Eso si, si hay alguien interesado en leer sus artículos, yo recomiendo muy mucho el segundo que sacó, "Patente de corso". Es de mis imprescindibles -me lo han regalado dos veces, después de que el primero me desapareciese-, con artículos que alguna que otra vez he recomendado a alguien. Pero eso será en otro post.

jueves, 17 de enero de 2008

ORA-01019

Hemos tenido este error en una instalación, y hacía tiempo que no me encontraba tan perdido. Después de mucho buscar en foros y otras hierbas hemos dado con la solución, pero como nos ha costado tanto he pensado en publicar aquí la solución. No para ayudar a mis lectores -hola a los dos :-) - sino porque con San Google y las búsquedas lo mismo ayuda a alguien.


El entorno

Sistema Operativo: Windows Server 2003 SP2
Versión del cliente Oracle: 10.1 y 10.2
Versión de la base de datos Oracle: Es indiferente. ;-)


El mensaje

Después de instalar el último cliente de Oracle, concretamente las versiones 10.1 y 10.2, y al probar una conexión -tnsnames-, tenemos el críptico error de ([actualizado] también en inglés):

ORA-01019: No se ha podido asignar memoria en el lado del usuario.
ORA-01019: unable to allocate memory in the user side

Me ahorro poner la explicación de Oracle y su solución, porque no sirven para nada.


Los síntomas

Las pruebas que hicimos nos daban el resultado de que si el usuario que ejecuta la conexión tenía privilegios de administrador, todo funcionaba. Si sólo era usuario -incluso usuario avanzado-, teníamos el error ORA-01019.

Después de dar permisos de lectura y escritura a todo Cristo tanto en el árbol de directorios del cliente de Oracle como en System32, seguía sin funcionar para el sufrido usuario.

Como decía, después de buscar en foros encontré un caso de lo más curioso: si un administrador establecía una conexión con ese cliente funcionaba, y si al mismo tiempo lo hacía el usuario, al usuario ¡también le funcionaba! Hicimos la prueba y en nuestro caso también se daba esta situación.


La solución

Buscando buscando, nuestra DBA encontró una solución que explicaba los síntomas: Política de seguridad en Windows Server 2003 donde se establede si los "Objetos globales de Sistema" sólo los pueden crear los administradores -y los servicios- o todos los usuarios. Y efectivamente, cambiado el parámetro el cliente funciona perfectamente también para los usuarios de a pie.


Espero que le sirva a alguien.


[Actualizado 05-04-2008]

La pantalla de configuración debe estar en "Herramientas Administrativas" del "Panel de control", y se llama (en inglés, no me atrevo a traducirlo por no despistar) "Group Policy Object Editor".

Aquí tenemos que desplegar el árbol: "Local Computer Policy" -> "Computer Configuration" -> "Windows Settings" -> "Security Settings" -> "Local Policies" -> "User Rights Assigment".

Y la variable en cuestión (en el panel derecho) se llama "Create Global Objects", que tiene como valores por defecto "Administrarors,SERVICE" y hay que añadirle "Authenticated Users". Con eso, en nuestro caso, desapareció el error y pudimos conectar sin mas problemas.


[Actualizado 15-05-2008]

Gracias a un comentario en esta misma entrada, ahora se que al programa en cuestión se llega fácilmente con gpedit.msc desde la línea de comandos. ¡Gracias!

Hace un año...

El domingo fue de lo más tranquilo, pero a las diez de la noche tu madre empezó a tener dolorcillos. Y era raro, porque todavía nos faltaba un mes.

Dimos el primer paseo al hospital entre las 5 y las 6 de la mañana, con las calles de Guadalajara desiertas. Nos confirmaron que eran contracciones, pero no rítmicas. Tus pulmones ya estaban formados, así que aunque venías con un mes de adelanto tampoco era preocupante.

El segundo viaje al hospital fue a las 10 de la mañana, y ya estábamos de 2 centímetros. Se confirmó: venías con ganas y sin atender a calendarios.

A las seis y veinte de la tarde te vi coronar. Parto natural con epidural. Era el 15 de enero de 2007.

Y esta semana has cumplido un añito. Muchas felicidades Enara. :-)

viernes, 11 de enero de 2008

Ubuntu, 2do asalto

A la segunda ha ido la vencida, y ha sido con la instalación de "modo gráfico seguro", o algo así. La verdad es que es muy cómoda y está muy bien. Incluso hice la maldad de hacerle reducir una partición NTFS para hacer sitio en el disco. Y oye, sin problemas. Aunque todo sea dicho, hasta que no entré en XP y comprobé que no había pegado un tijeretazo sin más no me lo terminé de creer.

Después de la propia instalación, y de que saliese esa preciosa pantalla del mismo color que lo que había en el pañal de mi hija esta mañana, llegó el momento de las actualizaciones automáticas -que ahora parece que las ha inventado windows, cuando es algo que ha tenido Debian de toda la vida-. Se actualizaron 120 paquetes y apareció otro icono muy clarito de "hay hardware con drivers propietarios, tu verás que llevas gafas".

Vale, actualicé también los drivers propietarios, es decir el módem y la tarjeta gráfica -Nvidia GForce4 con 32MB, vamos de las raras- y ahí la volvimos a cagar, porque una vez instalada y reiniciado, otra vez mi vieja amiga la pantalla negra y nada mas. Ale, segundo fiasco. Y vale que el problema es de los drivers propietarios a los que los programadores de Ubuntu no tienen acceso, pero eso al usuario de a pie se la trae bastante floja, y con estos problemas o es masoca -que de todo hay- o se vuelve a su XP que los drivers son igual de propietarios pero funcionan.

Pero como ya tenía ganas de dejarlo instalado -desistiendo de hacerlo de una forma limpia y elegante- esta vez me pasé a la consola, cambié la configuración en /etc/X11 y con un poquito más de esfuerzo volvió a funcionar. Sólo me quedaba la resolución, que los 800x600 como que se quedan escasos. Y ahí si me parece sensato que el autodetect se quede con un monitor plug'n'play y no el LCD 1400x1050 que tiene el portátil.

En fin, que de momento me voy a esperar antes de recomendárselo a usuarios "no avanzados", porque no me gusta mucho lo de estar de soporte técnico 24x7.

lunes, 7 de enero de 2008

Ubuntu, 1er asalto

Lo mío con linux debe ser como esas relaciones que siempre están discutiendo, pero que incomprensiblemente siempre terminan volviendo. Desde aquella vez que un amigo de la universidad –Julio, alias Bono- vino a mi casa con una Suse para montar mi servidor de correo en casa –las ADSL todavía te ponían IP fija-, he pasado por bastantes intentos de pasarme este sistema operativo. Casi todas con Debian.

Ahora llevo bastante tiempo únicamente con XP en los dos ordenadores de casa. Funciona muy bien y no da problemas; quién lo iba a decir hace 15 años. Sin embargo, siempre estoy con la tarea pendiente de volver a linux, principalmente porque varios buenos amigos no dejan de insistir... por decirlo fino.

Así que aquí estoy, tal como dije que haría, y no se trata de una de mis promesas de año nuevo. El caso es que entré en la página de ubuntu [www.ubuntu.com] me bajé la última versión, que viene a ser la 7.10, la quemé en un CD y me dispuse a instalarla en el portátil que hace las veces de servidor de ficheros.

La verdad es que la instalación empieza muy bien, con un menú clarito, opciones para ponerlo en español, y si no haces nada comienza el sólo. Después de esto una pantalla con el logo de la empresa y una barrita roja o naanja que va pasando a derecha e izquierda. Muy buena pinta, y muy buenas sensaciones.

Y ahí se acabó la buena pinta, las buenas sensaciones, y por acabarse se acabó hasta el entorno gráfico. Porque después de eso pasamos a una neutra pantalla negra, y la cagamos Carlos. Así, sin un mensaje de error, sin decir adiós, ni nada de nada. Una pena, la verdad.

Se que podría probar muchas cosas, como por ejemplo la instalación “a prueba de fallos”. Pero es que no me da la gana, con perdón por la bordería. Y no me da la gana porque me quiero poner en la piel de esa inmensa cantidad de gente que tiene un ordenador y no tiene ni puta idea de cómo funciona. Quiero meter el CD y que todo funcione sólo y a la primera. Es decir, quiero que me pase como con XP.

¿Que linux es mejor que windows? Pues a ver si es verdad y lo demuestran, porque con estas chapuzas cuesta defenderlo en una discusión. Y yo creo que ya está bien de vivir de las rentas, de la castaña que era Windows 95, del pantallazo en la presentación de Windows 98, y del Blaster. Que da grima leer cómo se alegraba la peña hace unos meses porque Ubuntu había superado a Win98 en las estadísticas de sistemas operativos utilizados en la navegación por internet.

viernes, 4 de enero de 2008

Wii

Ahora que estamos en estas fechas de juguetes, para los niños y no tan niños, quería comentar la que para mi ha sido una de las mejores ideas que ha tenido nadie en el mundo de las consolas desde hace mucho tiempo: La famosa Wii.

Desde hace mucho tiempo he estado en contra de las consolas. Siempre he mantenido que para jugar te vale lo mismo un ordenador, con el añadido de que el ordenador además te sirve para muchas otras cosas -útiles o no-, aunque a veces me cansaba de instalar y reinstalar los drivers de la tarjeta gráfica, la de sonido... y empezaba a verle alguna gracia a eso de enchufar el cacharro y jugar directamente, sin problemas de configuración ni de rendimiento.

Ahora han llegado los tipos de Nintendo, y con ellos La Revolución: Algo tan simple como un mando que detecta los movimientos. Sólo la he probado un par de veces en casa de amigos, y no me he divertido tanto en tiempo. Jugar al tenis es tan simple como mover el mando como si fuese la raqueta. Jugar a los bolos igual. Incluso el juego del boxeo es divertidísimo -ya casi no me quedan agujetas-.

Pero los gráficos son muy pobres dirá alguno, comparándola con los de la última PS3 o la xBox. Y es evidente que tienen razón. Lo que pasa es que para mi los gráficos y los sonidos son algo secundario, y la jugabilidad y la diversión lo principal. Supongo que nos pasará lo mismo a los que venimos de otra época, cuando nos pasábamos las horas jugando con los Spectrum y los primeros juegos de PC, con gráficos muy malos pero muy adictivos, donde nos pasábamos las semanas y los meses viciados a pesar de esos gráficos tan pobres.