martes, noviembre 23, 2010

Vista ampliada en Google Docs y Google Reader

Ahora que hago un uso más intenso de Google Docs llevo varios días pensando en una forma de ocultar toda la parte de arriba, la parte en la que se ve el nombre del documento, los enlaces a otros servicios de Google, etc, e iba a buscar una extensión de Firefox para hacerlo pero he visto que Google ya ha pensado en ello y lo tiene de forma nativa para los documentos de texto y para las hojas de cálculo. Os pongo un par de pantallazos con el antes y el después, todas las capturas de pantalla tienen el mismo tamaño y la misma posición para que veáis la diferencia:

Documento de texto antes

 Documento de texto después


Hoja de cálculo antes


Hoja de cálculo después (controles compactos)

Hoja de cálculo después (ocultar controles)

Para volver a mostrar los controles:

También Google Reader tiene la opción de aprovechar mejor el espacio de la pantalla, se puede maximizar la lista de artículos para que ocupe toda la pantalla tan solo pulsando la letra F, y para avanzar por los posts usar la letra J, para retroceder usar la letra K.
Google Reader antes

Google Reader después

Cómo configurar varios proyectos Symfony en un mismo servidor

Éste truco no es mío, está sacado de http://trac.symfony-project.org/wiki/HowtoMultipleSFProjectsLocal, es la solución más elegante que he encontrado y que me ha funcionado. Sirve tanto para sistemas Windows como Linux, yo uso XAMPP para Windows (en el trabajo) y Symfony 1.4 así que las rutas y archivos están referidas a él.
El truco está en usar las direcciones 127.0.0.X para tus proyectos, con lo que en principio está limitado a 254 pero no creo que os juntéis con tantos proyectos... si fuera así se puede usar también las direcciones 127.0.X.X, bueno vamos al lío.

Tenemos que configurar un servidor virtual por cada proyecto que tengamos en httpd.conf (c:\xampp\apache\conf\httpd.conf), en el caso de XAMPP lo suyo es hacerlo en c:\xampp\apache\conf\extra\httpd-vhosts.conf, por ejemplo:

<VirtualHost 127.0.0.2:80>
  ServerName proyecto1
  DocumentRoot "c:\xampp\htdocs\proyecto1\web"
  DirectoryIndex index.php
  <Directory "c:\xampp\htdocs\proyecto1\web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf c:\xampp\htdocs\proyecto1\lib\vendor\symfony\data\web\sf
  <Directory "c:\xampp\htdocs\proyecto1\lib\vendor\symfony\data\web\sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

<VirtualHost 127.0.0.3:80>
  ServerName proyecto2
  DocumentRoot "c:\xampp\htdocs\proyecto2\web"
  DirectoryIndex index.php
  <Directory "c:\xampp\htdocs\proyecto2\web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf c:\xampp\htdocs\proyecto2\lib\vendor\symfony\data\web\sf
  <Directory "c:\xampp\htdocs\proyecto2\lib\vendor\symfony\data\web\sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Después de esto hay que ir al archivos de hosts (c:\windows\system32\drivers\etc\hosts en Windows y /etc/hosts en Linux) y editarlo para que aparezca lo siguiente:
127.0.0.1 localhost
127.0.0.2 proyecto1
127.0.0.3 proyecto2

Una vez hecho esto para acceder a los proyectos que no están hechos con symfony pues solo hay que ir a http://localhost/paginadepruebas y para los de symfony ir a http://proyecto1 o http://proyecto2.

En el manual que he enlazado al principio existe un método para hacer la configuración de los virtual hosts dinámica pero sigue haciendo falta hacer la de los hosts a mano.

lunes, noviembre 22, 2010

Como conectar desde PHP a SQL Server 2005 Express con PDO (Symfony 1.4) en Windows

Por fin lo he conseguido, tenía el problema de conectar Symfony 1.4 a una base de datos SQL Server, leyendo por ahí vi que conectar a SQL Server 2008 era imposible pero sí era factible a la versión 2005, aquí van un par de tutoriales que no he usado porque no me convencía hacer tantos cambios:

También he mirado la documentación de Propel 1.5 sobre MSSQL pero no me ha ayudado y la de Symfony para lo mismo que sí me ha servido un poco. Al final lo que he hecho ha sido seguir mi intuición respecto a las pistas que se pueden conseguir buscando en foros, blogs, etc. Ahí va un resumen:
  1. Instalar Propel 1.5 en Symfony 1.4 ya que incluye algunas mejoras que pueden ser interesantes y al parecer funciona mejor con SQL Server, para ello tan fácil como usar el plugin sfPropelPlugin15. En el manual pone que hagamos symfony plugin:publish-assets antes de cambiar el archivo ProjectConfiguration.class.php pero en mi caso daba un error y al hacerlo en el orden inverso ha funcionado perfectamente.
  2. Descargar las librerías de Microsoft para conectar PHP con SQL Server (SQL Server Driver for PHP 2.0), es importante que sea la versión 2 porque es la que incluye los drivers para PDO.
  3. Copiar los archivos del driver en la carpeta correspondiente de PHP, en mi caso como uso XAMPP para Windows es en c:\xampp\php\ext.
  4. Incluir la línea extension=php_pdo_sqlsrv_53_ts_vc6.dll en el archivo php.ini, si tu versión de php ha sido compilada con Visual C++ 9 necesitas incluir la línea extension=php_pdo_sqlsrv_53_ts_vc9.dll, si no sabes qué versión tienes miras el phpinfo y verás al principio una fila que es Compiler. 
  5. Editar los archivos de conexión a la base de datos:
    • databases.yml:
      dev:
        propel:
          param:
            classname:  DebugPDO
            debug:
              realmemoryusage: true
              details:
                time:       { enabled: true }
                slow:       { enabled: true, threshold: 0.1 }
                mem:        { enabled: true }
                mempeak:    { enabled: true }
                memdelta:   { enabled: true }

      test:
        propel:
          param:
            classname:  DebugPDO

      all:
        propel:
          class:       sfPropelDatabase
          param:
            phptype:   sqlsrv
            classname: MssqlPropelPDO
      #     no tengo claro si usar MssqlPropelPDO o MssqlDebugPDO
      #     classname: MssqlDebugPDO
            dsn:       sqlsrv:server=(local)\sqlexpress ; Database=trinity_sqlserver
            username:  sa
            password:  bezoya
            encoding:  null
            pooling:   true
    • propel.ini:
      propel.database             = sqlsrv
      propel.database.driver      = sqlsrv
      propel.database.url         = sqlsrv:server=(local)\sqlexpress ; Database=nombredebasededatos
      propel.database.user        = usuario
      propel.database.password    = clave
    • Para hacer una conexión normal, sin Symfony ni Propel de por medio:
      $user = 'usuario';
      $pass = 'clave';
      try {
          $dbh = new PDO('sqlsrv:server=(local)\sqlexpress ; Database=
      nombredebasededatos', $user, $pass);
          $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
          foreach($dbh->query('SELECT * from test') as $row) {
              print_r($row);
              echo "
      ";
          }
          $dbh = null;
      } catch (PDOException $e) {
         print "Error!: " . $e->getMessage() . "
      ";
         echo "
      ".$dbh->getAttribute(PDO_ATTR_DRIVER_NAME);
         die();
      }
Y eso es todo, de momento solo he probado a crear la base de datos con el comando symfony propel:insert-sql y funciona correctamente.

sábado, noviembre 13, 2010

Control de versiones en Windows

En mi proyecto actual estoy haciendo yo solito el programa y en principio no parece necesario tener un control de versiones pero todos los días tengo que llevarme el portátil a casa y eso incrementa la probabilidad de perder todo el trabajo, no voy a dejar que eso ocurra.

¿Cómo soluciono el problema de guardarme una copia de seguridad diaria? ¿comprimiendo todo y enviándomelo al correo? eso es tedioso y se me va a olvidar, hay más opciones pero la que más me gustó es ésta:
Usar un control de versiones. Subversion está bien, funciona correctamente, lo conozco y es muy usado en la industria, genial [1].
¿Cómo tener una copia de seguridad de los archivos de Subversion? usando Dropbox [2], he configurado VisualSVN Server para que el directorio donde guarda los archivos sea uno dentro de la carpeta de Dropbox así que ya tengo solucionada el tema de la copia de seguridad, además esto me permite tener siempre el proyecto actualizado sin importar el ordenador en el que esté trabajando.

Inconvenientes:
  • Para hacer un commit hay que cerrar Dropbox porque si no bloquea ciertos archivos que el servidor de Subversion necesita ir modificando y ... en fin que es incompatible.
  • Para hacer un checkout o un update de un proyecto es necesario tener instalado VisualSVN Server en el ordenador. Si usas Linux sé que se puede exportar/importar proyectos entre VisualSVN Server y el servidor Subversion de Linux.

[1] Para Windows solo he encontrado una opción, gracias a "Sudor", y es VisualSVN Server, si por mí fuera lo tendría alojado en algún servicio web pero la verdad es que no he encontrado uno gratis que me permita tener proyectos privados y me convenza (tampoco he buscado muchísimo), hasta pagué un tiempo por un servicio de pago cuyo nombre no consigo recordar pero era muy lento así que lo dejé pasar.

[2] Si alguien se va a hacer una cuenta de Dropbox que me lo diga y le envío una invitación, la cual no es necesaria para registrarse pero a mí me regalan espacio extra.

Nina Simone

Recientemente, y no recuerdo muy bien por qué, he descubierto a Nina Simone, tiene unas cuantas canciones que molan muchísimo, aquí os dejo unos videos:








jueves, marzo 18, 2010

Felicidades

Hoy mi moto cumple 1 año!

De Públicas


Peugeot Satelis 250 Executive

Se ha portado, ha tenido sus caiditas mientras (yo) aprendía a andar pero ya está todo controlado.

Por desgracia no tiene nombre... ¿me sugerís alguno?

[EDITADO] Finalmente tiene nombre: La lagartija!

miércoles, marzo 17, 2010

Conseguir cosas

Hay cosas que siempre has deseado hacer pero nunca has intentado de verdad, ni siquiera has dado el primer paso para conseguirlo, no obstante, es algo que deseas fuertemente. Lo curioso es que no suele ser difícil conseguir estas cosas, tan solo hay que intentarlo un poquito y sale todo rodado, os soprenderíais de los tabúes y de las prohibiciones que nos autoimponemos sin tener una razón lógica.

¿A qué tipo de cosas me refiero?
A hacer el Camino de Santiago
A saltar en paracaídas
A hacer el Trabajo de Fin de Carrera para conseguir de una vez el título
A aprender a nadar con 28 años
A empezar a hacer deporte después de 10 años de sedentarismo
A invitar a un café a esa chica que te ha parecido mona e interesante
A hacer el interrail
A aprender lectura ultrarrápida
A escribir un blog

¿Qué cosas queréis hacer vosotros?
¿Qué cosas habéis conseguido ya?

domingo, marzo 07, 2010

La semana perfecta

Hace dos meses cambié mi sendentarismo por un ritmo intenso de deporte, empecé jugando más a menudo al squash y poco después me apunté la piscina, en la que llevo un mes.

El deporte engancha, y hay explicación científica tras esta afirmación, entre otros motivos se libera testosterona, pero además hay otra razón que me explicó J.E. y que me gusta especialmente:

El cuerpo es como una dínamo, le cuesta empezar un movimiento pero una vez en movimiento le cuesta parar.

Durante el último mes lo normal es que hiciera 5 días a la semana deporte, tres de supervivencia al aogamiento y dos de squash radical, y he estado esperando la semana perfecta, la semana en la que hiciera deporte todos los días, me apetecía probarlo pero he cambiado de opinión, esta semana podía haberlo logrado ya que solo faltaba que hoy Domingo saliera a correr un rato o algo así pero después de leer este artículo Recuperando la forma física a partir de los 30 he preferido no forzar la máquina y dar al cuerpo el descanso que necesita entre cada sesión de deporte. Estoy cerca de los 30 y no creo que mi cuerpo aguante todo lo que le eche.

Reniego de la semana perfecta y opto por el rendimiento perfecto, que implica hacer descansos.

Deporte Radical!!

martes, febrero 23, 2010

Mando Diao

Toma toma! una banda sueca que está de puta madre. Qué pena que nos perdiéramos el concierto que dieron en La Riviera hace unos meses.

La canción que más me gusta, Long before rock and roll:



Hay otras muchas canciones que merecen la pena como Gloria, Dance with somebody, Amsterdam, ...

Qué os parecen?

domingo, febrero 21, 2010

Mi cultura es para mí

Por desgracia en mi casa gusta mucho la telebasura, en especial la de color rosa y es por eso que el canal de Vasile se ve habitualmente, pues bien, esta misma noche estaba viendo un programa con un alto contenido en mierda del 95% de pureza: Fresa ácida.

Ya conocemos el lugar y el culpable, ahora falta conocer el crimen: la noche de autos se proyectó en la pantalla, en uno de los mierda-resúmenes, un cartel que citaba una frase pronunciada por la madre de paquirrín (sí, ahora el famoso es él) que rezaba algo así como "... es una alegría para mi. Bla bla bla", ése "mi" es un pronombre así que se escribe con tilde coño! Más tarde en el mismo programa me ha hecho daño a la vista al siguiente transcripción "A venido a verme", aaaaah! AAAAAAH! Es un puto participio coño! pon la puta H!!! ""Ha venido a verme".

Cada vez me resultan más horrendas estas faltas de ortografía, y eso que últimamente soy más tolerante y no corrijo a nadie que escriba con faltas de ortografía y mucho menos con errores sintácticos. No lo hago porque habitualmente la gente se ofende, o incluso razona estas "abreviaturas" como parte de su plan para ahorrar tiempo a la hora de escribir algo, claro que luego cuando estos "abreviadores" tratan de escribir algo serio se les escapan mil y un errores probablemente sin que se den cuenta.

Ahora toca el momento de autocrítica así que vaya por delante mi disculpa por las faltas que cometo y voy a cometer y quiero que sepáis que nunca una corrección me va a sentar mal, como mucho puede crear un pequeño debate si no estoy de acuerdo. Ah! y que conste que soy totalmente consciente de que desde hace mucho no escribo los signos de apertura de las exclamaciones ni de las interrogaciones.

PD: seguramente el diccionario de María Moliner es un bueno regalo para mí... y un regalo imprescindible para Telecinco.

miércoles, febrero 17, 2010

Carnaval

Pues otro año más me he disfrazado, como dice L, de pringado... pero me encanta! tal como pasó con los electrodomésticos ha sido un disfraz en grupo y ha estado mucho más currado, la primera fase (tela sin complementos) la hemos hecho mi sastra particular y yo, y la segunda fase (decoración y complementos) la ha hecho una de los integrantes del grupo, os dejo intentar adivinar quién.

El tema de los disfraces ha sido el cumpleaños porque justo el Sábado celebraba el suyo una amiga de L así que ahí estuvimos una tarta, un regalo, una tarjea de felicitación y una vela, ¿os gustan?

[EDITADO] Volveré a poner las imagenes pronto

viernes, enero 22, 2010

The Kleptones

Pues aquí tenemos un grupo inglés que se dedica a hacer mezclas de canciones famosas. Su líder es Eric Kleptone y el grupo se llama The Kleptones.

Son jodidamente buenos, de hecho es uno de mis grupos preferidos, me gusta el 90% de sus canciones, cosa que hasta que los conocí sólo pasaba con Queen.

Os dejo con uno de los mejores videos que he visto: