100 visitas diarias

Bueno, aunque por trabajo llevo mas de un mes sin escribir (manda huevos y no tengo excusa) he conseguido, o mejor dicho el blog solito ha conseguido superar durante los últimos 15 días la barrera de las 100 visitas diarias, incluyendo fines de semana que son mas flojitos. Esto «me llena de orgullo y satisfacción» ya que poco a poco el blog va creciendo. A ver si me tomo menos en serio mi trabajo y mas enserio mi blog y escribo más, porque tengo «chicha» como para escribir mas de 40 artí­culos, pero me tengo que sentar a escribir. Bueno, espero que aunque un poco chorra, pueda escribir al menos 1 post al día, a ver si lo consigo.

100 visitas diarias Leer más »

Juegos de escape y soluciones

He creado una seccion (pagina) en la cual voy a ir apuntando los juegos de escape que vaya encontrando y cuando tenga las soluciones, las mismas o mejor dicho, la direccion del post donde se encuentra. Ya que he decidido a dar un giro al blog, aunque seguire con temas tecnicos, tambien ire poniendo soluciones a estos pequeños comecocos que tanto me gustan y que los tengo abandonados desde hace algunos años, he rebuscado entre las paginas antiguas (un foro que tenia hace años) donde tengo o tenia unas 30 soluciones de juegos flash de hace algunos años. Al rescatar con existo de un backup la base de datos donde los tenia almacenados, ahora aparte de los que vaya jugando, rejugare a estos clasicos y si me quedo atrancado echare un ojillo a las soluciones y reescribire o readaptare las soluciones para publicarlas.

La dirección de la pagina de soluciones de los juegos de escapar de la habitacion es:

http://www.indalcasa.com/juegos-de-escape-y-soluciones/

Juegos de escape y soluciones Leer más »

Escape

De la mano de ArmorGames y GodLimations nos llega esta aventura de escape titulada (pobremente) Escape. En este juego encarnamos a Dialla, una detective que es secuestrada por Dan McNeely y encarcelada en una celda de la que debera de salir. Pulsa en la imagen para jugar o sigue leyendo para ver la solucion al juego.

Celda en la que nos depertamos

Escape Leer más »

Juegos de escapar de la habitacion

Quien no ha jugado alguna vez a algun juego de escapar de la habitación. Estos juegos flash, convertidos ya en clasicos, nos encontramos con una trama mas o menos currada en la que deberemos de salir de una habitación o varias con la ayuda de nuestro ingenio y de cosas que nos encontremos por las habitaciones, a veces, haciendonos sentir como McGyver.

Hace algunos años, en un foro que tenia y que abandone, tenia una sección de juegos de este estilo en el que tenia los juegos y las soluciones a los mismos y como siempre me han apasionado, voy a escribir sobre los juegos y sus soluciones ya que a muchos le es de gran ayuda y a mi me encanta el revanarme el coco para encontrarles solucion.

Juegos de escapar de la habitacion Leer más »

Apache y directorios de usuarios (UserDir)

Recuerdo que en un trabajo en el que estube, cada uno tenia un usuario de Unix (era FreeBSD) y cada usuario tenia en su home una carpeta public_html para que no tuvieramos que usar todos y darnos permisos en /var/www.

Ahora al instalar Ubuntu en el portatil, quiero volver a poner todas las webs que tenia en local pero claro, no le voy a dar permisos a /var/www y aunque solo yo usare el portatil, no estaria de mas tener un sistema para que en la home de cada usuario exista una carpeta public_html en la cual cada usuario ponga las webs que quiera.

Este sistema que era desconocido para mi, se llama UserDir. Para instalarlo si estamos en Ubuntu, lo unico que tendremos que hacer es buscar en el Synaptic un paquete llamado libapache2-mod-ldap-userdir, o mas facil, buscar directamente «UserDir» y nos aparecera el paquete en cuestion. Una vez instalado, deberemos de ir a la carpeta /etc/apache2/mods-available y copiaremos o moveremos los archivos userdir.conf y userdir.load a la carepta /etc/apache2/mods-enabled. Una vez copiados los archivos, abriremos una consola y ejecutaremos el comando «/etc/init.d/apache2 restart» para reiniciar apache.

Una vez reiniciado apache, y copiados las configuraciones, ya lo tenemos todo listo. Ahora toca probarlo, asi que iremos a la home de nuestro usuario /home/nombreusuario y creamos una nueva carpeta public_html, una vez hecho esto, creamos un index.html de prueba, abrimos nuestro navegador y escribimos http://localhost/~nombreusuario y deberia de aparecernos nuestra pagina de inicio que creamos.

Asi de sopeton puede parecer algo complicado, pero luego son 2 tonterias que no nos llevara mas de 2 minutos configurarlo.

Aparte de esto, si abrimos el archivo userdir.conf, podremos modificar las reglas para cambiar el directorio public_html de la home y ponerlo en otro lugar.

Apache y directorios de usuarios (UserDir) Leer más »

Bucle do-while en VisualBasic

Llevo tiempo currando con Visual Basic .Net, pero como persona formada desde hace años en lenguajes tipo C (C, C++, Java, C#, PHP, etc) el paso a programar en Visual Basic, cuesta mucho y cosas tan cotidianas como hacer un bucle, un switch o similares pueden convertirse en una peligrosa trampa que nos consumira muchos minutos muy valiosos.

La ultima que me he topado ha sido el bucle do while. En cualquier lenguaje tipo C, practicamente independiente del lenguaje estos bucles son iguales:

  do {
    sentencias
  } while(condicion);

Pero como no, estamos con Visual Basic y aqui todo funciona de manera diferente, es como nuestro tipico amigo que siempre lleva la contraria a todo. Por ejemplo para hacer un bucle do-while (me sorprende que en 9 meses sea la primera vez que me vea obligado a hacerlo, el bucle es do-loop-while, siendo su sintaxis

  Do
    sentencias
  Loop While condicionn

Puede que la gente que conozca o programe en Visual Basic lo vea una tonteria, pero para gente como yo que por razones laborales se ven obligadas a programar en dicho lenguaje y que por muchos meses se que lleve sigan prefiriendo C# a VB.Net, cosas tan cotidianas pueden convertirse en un minimundo.

Ya de paso y para aprovechar el post, explico que los bucles do while, son bucles que se recorreran igual que los while, en funcion de una condicion que de ser cierta dara una vuelta mas al bucle y que la principal diferencia entre los bucles while y do while, radica en que el while, primero comprueba la condicion antes de hacer una iteracion al bucle, mientras que los do while primero dara una iteracion al bucle y al final comprobara si debe de seguir haciendo iteraciones. Dicho de otro modo, el el while, primero comprobamos que debemos entrar al bucle y de ser cierto, entramos, en los do while, primero entramos al bucle y al final de este comprobamos si debemos dar una vuelta mas.

Bucle do-while en VisualBasic Leer más »

Nueva etapa Linux

Hace ya un año, arregle un viejo ordenador que tenia en casa de mi madre y que abandone al independizarme. Cuando me puse a mirar cosas para arreglarlo empece a cambiar y cambiar y al final le cambie casi todo menos la caja de la torre, los 2 cd’s y un cacharrito que es un cenicero con mechero como el de los coches que va en un slot de cd que me regalo la parienta hace unos 5 años o asi.

Cuando me encontre con un ordenador la poya de pontente y como ya tenía el portatil con Windows XP y yo era feliz, decidí meterle primero PCLinuxOS y luego Ubuntu. El problema vino de mano de Microsoft (que sinverguenzas, siempre igual xD) ya que me pasaron un Windows Vista y la verdad queria verlo y juguetear con el (como me arrepiento) así que lo instale machacando lo que habia por pequeños problemas que tuve con Ubuntu. Al relativemente poco tiempo me cambie de trabajo y empece a programar con tecnologias de Microsoft por lo que entre el curro, el poco tiempo, las pocas ganas o pereza y que me venia bien tener el Windows con el Visual Studio y como no para hecharme un vicio de vez en cuando, abandone la idea de instalar Linux de nuevo.

Durante este año, mi portatil con unos 4 años va acumulando toda la mierda que puede acumular un Windows con actualizaciones, programas, bases de datos, mugres, mugres y mas mugres. Al final he decidido aplicarle la eutanasia a mi portatil para no verlo sufrir asi y lo he formateado. El formateo fue un cachondeo y ya prepare el post de como lo hice porque es digno de ver la que tuve que liar.

Al final consegui instalar un Ubuntu 7.10 y actualizar a Ubuntu 8.04 por internet. Todavia tengo que configurar muchas cosas, pero tiene todas las papeletas de que lo desinstale e instale un PCLinuxOS ya que me va mas rapdio y mejor.

La parte positiva es que vuelvo al mundo Linux de nuevo y no vuelvo solo ya que mi querida novia si quiere ver el correo y navegar por internet tendra que usar Linux y usar Firefox o WillyFox como lo llama ella. Soy perverso.

Nueva etapa Linux Leer más »

Escapar texto en una transformada XSLT

Hace poco escribí como escribir el símbolo del euro en una transformada XSLT. Para completar lo que ya comenté en su momento, explicaré como se escapan caracteres en una transformada para no tener que recurrir a buscar códigos especiales de HTML tal como el €.

Para escapar texto dentro de una transformada existe un parámetro llamado disable-output-escaping que toma los valores yes|no, en función de si queremos o no deshabilitar que se escapen caracteres. Este atributo se aplica a 2 etiquetas de XSL, la etiqueta xsl:text y la etiqueta xsl:value-of, aunque seguramente se aplique ha alguno más.

Ejemplo de como funciona:

  
     
  

Cuando aplicamos disable-output-escaping sobre xsl:value-of, este deshabilitara el escapado si así se lo indicamos sobre el contenido de la variable. Por el contrario, al aplicarlo sobre el xsl:text, necesitamos poner el texto a escapar encerrado entre CDATA, ya que sino, puede dar errores.

Escapar texto en una transformada XSLT Leer más »

Division y resto (modulo) con XSLT

Cuando queremos hacer alguna operación sobre un par de número en una transformada (XSLT) lo hacemos con el símbolo + o *, la cuestión esta en cuando queremos dividir o calcular el resto o módulo de una división, los caracteres tradicionales para estas operaciones / y % entran en conflicto con XPath, por lo que no se pueden usar tal cual, por lo que usaremos las siguientes instrucciones.

Usaremos la palabra reservada div para realizar la división de 2 números, siendo el código.

<xsl:value-of select="9 div 3"/>

Para realizar el calculo del módulo o resto de una división, usaremos la palabra reservada mod siendo su sintaxis igual que la del div.

<xsl:value-of select="5 mod 2"/>

Espero que este articulo pueda ayudar a mucha gente ya que estube horas hasta dar con la solucion de como hacer una division en una transformada XSLT.

Division y resto (modulo) con XSLT Leer más »

Vacaciones en modo desconexion

Por casualidades del destino, alineación de los planetas y una antigua profecía egipcia, este verano me he quedado sin vacaciones y claro esta, a bien que me he quedado currando, mis proyectos estan más que acabados y los jefes no están, he decidido desconectarme, es decir, ir al trabajo, hacer mi trabajo correspondiente (poco porque lo tengo terminado) e irme a casa a descansar y en casa el ordenador poquito, lo justo para algún que otro día hecharme un vicio. A falta de pan buenas son tortas.

Con un poco mas de fuerzas y volviendo a mi ritmo habitual con los jefes ya aquí, ire escribiendo nuevos artículos, intentando que estos sean lo más utiles e interesantes posibles.

Vacaciones en modo desconexion Leer más »

Reemplazar un texto en SQL Server con TSQL

Supongamos que tenemos un campo con un texto y lo recuperamos con una consulta SQL. Supongamos también que queremos cambiar parte del contenido de ese texto y reemplazarlo por otro, en este caso realizaríamos un replace por código (programación), pero y si esto no nos vale, y si necesitamos que sea por consulta todo. Para estos casos existe una funcion REPLACE que se ejecuta en SQL y es similar a la de la mayoría de lenguajes de programación.

La llamada a la función de reemplazo (REPLACE) se usara dentro de cualquier código SQL o TSQL en SQL Server. La función REPLACE tiene 3 parámetros, el texto original completo, el texto que se quiere buscar y por último el texto por el que se quiere sustituir como se hace en muchos lengaujes de programación.

La sintaxis sería:

  REPLACE(TEXTO, BUSCADA, SUSTITUIDA)

Un ejemplo de como se incrustaría el reemplazo en una consulta SQL sería:

  SELECT REPLACE(campo, 'a', 'b') FROM tabla

Aqui nos encontramos con el primer de los dos grandes problemas de reemplazar texto con esta función. El primer problema son los campos de tipo TEXT, que al parecer, para SQL Server son objetos diferentes que los campos de tipo CHAR o VARCHAR y para poder reemplazar un campo de tipo TEXT necesitamos hacer un pequeño HACK que nos convierta de tipo TEXT a tipo STRING como si de un VARCHAR se tratase.

El Hack en cuestion se trata de hacer un SUBSTRING desde la primera posición de la cadena hasta la última utilizando la longitud de la misma obtenida con la funcion DATALENGTH. De esta forma, con el SUBSTRING convertimos el tipo TEXT en un tipo STRING o VARCHAR y asi podemos reemplazar.

Un ejemplo seria:

  SELECT REPLACE(
    SUBSTRING(campo, 1, DATALENGTH(campo)),
    'a', 'b') FROM tabla

Y es aquí cuando nos encontramos con el segundo y mayor de los problemas y es la longitud de la cadena. Cuando trabajamos con una cadena de texto realmente larga, como podría ser una página web, el SUBSTRING o el REPLACE no devuelve la cadena completa, por lo que se nos cortara la respuesta y obtendremos solo parte del texto original, eso si, ya reemplazado.

Reemplazar un texto en SQL Server con TSQL Leer más »

Scroll al inicio