lunes, 26 de noviembre de 2012

Si actualizas SVN y tienes copias locales anteriores, posiblemente te encuentres con que no puedes sincronizar con los repositorios.

En concreto, si actualizas SVN en eclipse y sincronizas, te encontrars con este error:


org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6)



La manera ms sencilla de solucionar este problema es botn derecho en los proyectos que necesiten actualizar, Team y Upgrade 

martes, 13 de noviembre de 2012

Imprimir en tu ordenador desde cualquier sitio: Google Cloud Print

Hoy Google me vuelve a impresionar con su servicio Google Cloud Print que permite imprimir documentos desde cualquier sitio en tu impresora de casa o de la oficina, como si estuviera conectada ahí mismo.



Varias veces me he tirado en casa horas configurando todos los ordenadores para que estuvieran en red, para que la impresora estuviera disponible en todos ellos, que hubiera visibilidad y que funcionara todo correctamente: elegir la impresora, darle imprimir y recoger el documento. Pues bien, todo este trabajo ya no es necesario con el nuevo servicio de Google: es suficiente con tener Chrome instalado (sí, todo funciona a través de Chrome), configurar las impresoras y  a correr.

Para configurar las impresoras en tu cuenta de Google:

  1. Abrir google Chrome (¿no lo tienes? Descargalo)
  2. Abrir el menú (arriba a la derecha) y elegir Settings (u Opciones)
  3. Abajo del todo, hay un link que dice "Mostrar opciones avanzadas", hacer click ahí.
  4. Bajar hasta Google Cloud Print y registrarse en el servicio (no hay que hacer nada, sólo darle al botón).
  5. Una vez registrado, podrás administrar tus impresoras. Automáticamente se importan todas las impresoras que tengas en el ordenador en el servicio. 
Una vez que tienes las impresoras configuradas, puedes administrarlas, añadir otras (desde otros ordenadores), cambiarles el nombre, eliminarlas... Y una de las mejores cosas: compartirlas! Sí, comparte una impresora con quien quieras y esta persona podrá imprimir directamente en tu impresora: bastante increíble no?

Esta mañana he estado haciendo un par de pruebas y funciona bastante bien: he probado yo a imprimir desde la misma red, en otro ordenador y también he pedido a otra personas que imprimiera algo una vez que le había compartido la impresora: como por arte de magia, la impresora ha empezado a trabajar y ha impreso lo que desde otro sitio completamente distinto le han mandado. Fascinante

Pero aquí no acaba todo. Tiene más ventajas: se puede imprimir desde el móvil. Actualmente está algo limitado puesto que un móvil no tiene la opción "Imprimir" como aparece en un ordenador por todos lados por lo que hay que instalarse una aplicación intermedia. Creo que hay varias aunque yo la que he usado es Cloud Print, que recomienda google en su propia página. La aplicación puede imprimir directamente al abrir un documento que tengamos en nuestro móvil o a través de la opción "compartir...", se comparte con la aplicación y esta nos da a elegir la impresora con la que queremos imprimirlo e incluso las opciones de impresión (blanco y negro o color, apaisado o no, dos caras por hoja, doble cara...). También lo he probado, he impreso un PDF mientras comía y al llegar al despacho ahí estaba impreso en papel.

Para imprimir desde el móvil también se puede hacer a través de Google Drive u otras aplicaciones de Google, pero para imprimir cualquier cosa, hay que instalar una aplicación como la que acabo de comentar.

Sin duda me encanta este servicio y aunque quizá ahora esté algo emocionado por ser una novedad, creo que lo usaré bastante en el futuro.

Una pega que tiene es que tiene que estar Chrome abierto para poder imprimir ya que la conexión con la impresora se realiza a través de este programa.
Otra pega es que funciona muy bien para imprimir cosas desde Chrome (páginas web, PDFs...) o desde aplicaciones web de Google, igual que pasa con el móvil, pero para imprimir cualquier documento de nuestro ordenador es algo más complicado: hay que ir a la página del servicio, darle imprimir y elegir el archivo para que se suba al servidor y se mande a la impresora seleccionada.

Una cosa más que hecho en falta (están en beta, supongo que esto evolucionará) es una opción para permisos: es decir poder elegir si alguien puede imprimir libremente o bajo tu supervisión una vez que has compartido una impresora. Cuando alguien quisiera imprimir tu recibirías un email o una notificación en el móvil y de esta manera confirmas la impresión o la rechazas antes de que se haga todo automático.

Aún así, como ya he dicho, me ha gustado bastante el servicio

miércoles, 24 de octubre de 2012

Enviar emails con Codeigniter y Gmail

Sigo aprendiendo como funciona Codeigniter y hoy una de las cosas que he aprendido y me ha gustado es la simplicidad para mandar correos electrónicos.

Una de las limitaciones que tenía hasta ahora cuando probaba en local es que no podía mandar correos por no tener ningún servidor montado. Seguramente haya otras posibilidades, pero tampoco me había molestado en aprender.

Hoy, con codeigniter, he conseguido mandar emails desde mi propio ordenador a través de mi cuenta de gmail, en tan solo unos minutos:


  1. Para empezar, hay que crear un archivo de configuración llamado "email.php" (tiene que llamarse así exactamente) y que esté situado dentro de la carpeta de configuración.
    En este archivo colocaremos las propiedades del servidor de correo que serán algo así:

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    $config['protocol'] = 'smtp';
    $config['smtp_host'] = 'ssl://smtp.googlemail.com';
    $config['smtp_port'] = 465;
    $config['smtp_user'] = 'youremail@gmail.com';
    $config['smtp_pass'] = 'yourpassword';
    $config['smtp_timeout'] = '7';
    $config['charset']    = 'utf-8';
    $config['newline']    = "\r\n";
    $config['mailtype'] = 'text'; // or html
    $config['validation'] = TRUE; // bool whether to validate email or not

  2. Segundo, tenemos que cargar la librería en el lugar donde queramos enviar el email:

    $this->load->library('email','','correo');

  3. Y por último preparar el email para enviar

    $this->correo->from('noreply@yourdomain.com', 'Your Name');
      $this->correo->to('toemail@gmail.com');
      $this->correo->subject('This is an email test');
      $this->correo->message('This is the body of the message');
    if($this->correo->send())
      {
       echo 'Correo enviado';
      }
    
      else
      {
       show_error($this->correo->print_debugger());
      }

  4. Y eso es todo! Correo enviado

martes, 23 de octubre de 2012

Añadir la extensión .html a algunas páginas de Codeigniter

En la configuración de codeigniter, en el archivo config.php, tenemos la opción de añadir una extensión a todas las páginas de nuestra aplicación de manera que la página

/pagina/de/contacto

se convierta en

/pagina/de/contacto.html

Pero esto tiene la pega de que se aplicará a cualquier URL de la aplicación y a lo mejor no queremos que esto sea así.

Si sólo queremos añadir el sufijo a algunas páginas, pero que siga funcionando el motor de codeigniter, podemos añadirlas en el archivo de routes.php. Por ejemplo podría quedar de la siguiente manera

$routes['/pagina/de/contacto.html'] = "nuestro_controlador/contacto"

También se pueden poner expresiones regulares del tipo


$route['^([^\/]*).html$''pages/view/$1'

martes, 18 de septiembre de 2012

Protección de directorios web a través de .htaccess

Esta sea quizá la manera más fácil de proteger un directorio web de la vista del público en general. Al intentar acceder, saltará una ventana pidiendo que se introduzca un usuario y una contraseña con un mensaje personalizado:


Este tipo de protección se realiza a través de los archivos .htaccess situados en cada directorio. Se ha de tener cuidado pues de colocarlo en el directorio erróneo, podremos bloquear el tráfico a toda nuestra página.

Para proteger un directorio de esta manera, deberemos subir al mismo el archivo .htaccess (con FTP, directamente a través de la línea de comandos...) con el siguiente contenido:

AuthUserFile /usr/www/dirname/.htpasswd
AuthGroupFile /dev/null
AuthName "The Secret Page"
AuthType Basic

<Limit GET POST>
require valid-user
</Limit>

Este archivo indicará que el directorio está protegido y que los diferentes usuarios y contraseñas se encuentran en el archivo /usr/www/dirname/.htpasswd
Por supuesto deberemos sustituir ese valor por el correspondiente a nuestro caso, pero con cuidado que sea el correcto, de lo contrario nada funcionará. El valor de este campo debe ser la ruta al archivo .htpasswd desde la raíz de nuestro servidor.
En los servidores web de los que no seamos administradores, deberemos conseguir esta ruta, bien a través del comando pwd en la línea de comandos o bien con algún script en PHP o bien preguntando al servicio técnico de tu hosting.

Una vez tenemos el archivo .htaccess deberemos crear el .htpasswd. Para ello existen dos maneras: a través de la línea de comandos o con una herramienta online (lee más abajo).

  • Línea de comandos

Si tienes acceso a tu servidor, probablemente prefieras hacerlo así, pues es bastante sencillo y tienes mayor flexibilidad. Para ello, en el directorio que desees proteger introduce el siguiente comando:
htpasswd -c .htpasswd usuario
Donde deberás sustituir usuario por el nombre que desees utilizar. A continuación se te pedirá la contraseña y que la repitas y listo. Se habrá creado el archivo .htpasswd con el contenido que deseamos.

Ya lo puedes probar para ver si todo funciona correctamente.

Si quieres añadir más usuarios, hazlo a través del comando
htpasswd .htpasswd usuario
y se añadirán.


  • Herramienta online
Si no tienes acceso a la consola, puedes acceder al sitio http://tools.dynamicdrive.com/password/ y seguir los pasos que ahí se indican para generar el archivo .htpasswd que luego habrás de subir a tu servidor.



Fuente: http://www.technotrade.com/htaccess.html

martes, 31 de julio de 2012

Arte Oculto Madrid, nuevo sitio de arte madrileño

De vez en cuando me embarco en algún que otro proyecto además del trabajo del día a día. Esto requiere una buena cantidad de esfuerzo, pues hay que seguir llevando las tareas del día a día del trabajo cotidiano, y una vez terminadas estas, seguir un poco más allá para ir completando los objetivos del nuevo proyecto.

Logo de Arte Oculto Madrid

En esta ocasión me encuentro embarcado en Arte Oculto Madrid, un proyecto muy ligado al arte, y en concreto al arte de Madrid. La idea es expandirlo más adelante a otras ciudades españolas y europeas, pero para comenzar hemos elegido Madrid, ciudad con abundancia de arte de todo tipo, como lanzadera.

No puedo adelantar mucho más, en el blog de Arte Oculto se puede leer más info sobre el proyecto, pero de momento nos guardamos hasta el lanzamiento, que será a través de invitaciones, la información detallada del mismo.
Sí que puedo decir, que el proyecto está llevando gran cantidad de trabajo y esperamos ver recompensadas todas estas horas con la satisfacción de que guste a los usuarios y al público en general.

Muy pronto sabréis más... permaneced atentos!

lunes, 30 de julio de 2012

HTML5 y los datos propios

Con HTML5 tenemos la posibilidad de poder añadir campos propios a los objetos DOM, además de los que ya estaban establecidos.

De esa manera

<span class="miClase" mipropiedad="mivalor">Texto del span</span>

tiene todo el sentido del mundo y habremos creado una propiedad llamada 'mipropiedad' dentro del nodo del span. El valor de dicha propiedad será 'mivalor'.

Esto cobra especial importancia cuando queremos utilizar esos valores por ejemplo desde javascript para realizar diferentes acciones en su función, o para poder enviar datos al servidor en las sucesivas peticiones a través de ajax.

Estos datos además se pueden manejar más facilmente a través de jQuery con la propiedad

$('#element').data('mipropiedad')

que deberemos declarar anteponiendo el texto data- al nombre de nuestra variable, de manera que quede de la siguiente manera:

<span class="miClase" data-mipropiedad="mivalor">Texto del span</span>

domingo, 15 de julio de 2012

¿Conocéis Google Books?

Si el otro día escribía acerca de los mayores defectos de Google Chrome, hoy voy a escribir de otro servicio que aunque no muy conocido (creo), a mi me gusta bastante.

Se trata de Google Books, una enorme base de datos de todos los libros habidos y por haber (yo tan solo he dejado de encontrar un libro y era una versión muy rara y muy antigua) que te puede permitir catalogar tu biblioteca física en un formato digital. Para que te hagas una idea, aquí está "mi biblioteca" que he ido poniendo al día: pongo los nuevos libros que voy leyendo, que compro o me regalan y tengo pendientes de leer u otros que leí en el pasado y que tengo danzando por casa.

¿De qué modo me ayuda? Pues de diversas formas:

  • ¿Qué libros he leído recientemente? Muchas veces no recuerdo que es lo último que he leído (sí, mala memoria se llama, pero me pasa) y de esta manera, con un simple vistazo, puedo saber cuáles son los últimos.
  • ¿He leído tal o cual libro? De la misma manera, puedo saber si he leído un libro aunque haya pasado mucho tiempo, pues ahí quedará como leído. Además se pueden hacer comentarios sobre los libros que al leerlos nos recordarán de que iban, por si no nos acordamos.
  • ¿Dónde están mis libros? Con la creación de "estanterías" virtuales, puedes poner tus libros en distintos catálogos para tenerlos clasificados y controlados: libros que he prestado, libros que me han prestado, libros históricos, libros que tengo en casa de mis padres...
Esto es como lo uso yo, pero realmente tiene mucho más de fondo. La base de datos que tiene Google es información sobre el libro, no el libro en sí. Pero últimamente también ha entrado en el negocio de la venta de libros electrónicos. Todos los nuevos dispositivos Android vienen con su aplicación que permite leer libros electrónicos en las pantallas de los teléfonos o tabletas. Y aunque creo que Google no tiene actualmente ningún eBook, apuesto a que no dentro de mucho, lanzará alguno con su sistema operativo Android o de alguna otra forma. Si esto sucede, podremos tener integrada nuestra biblioteca digital con la analógica. Y no sólo eso, también los libros digitales de distintos dispositivos.

Pues ahí queda la reseña, el servicio me gusta, y así lo recomiendo (soy un poco empedernido del orden de estas cosas...)

Enlace: Google Books

martes, 10 de julio de 2012

Los fallos de Google Chrome: ¿por qué no usarlo?

Desde hace mucho tiempo que no uso Internet Explorer como navegador (si tu lo haces, te recomiendo que dejes de hacerlo). La mejor alternativa que he encontrado es Firefox, navegador de software libre y código abierto, creado por la comunidad y que da mil patadas a IE y a otros muchos.
Está en constante evolución, sacando soluciones a los fallos de seguridad y tiene la ventaja de que los propios usuarios pueden crear extensiones para realizar miles de acciones.

Cuando creía que nadie podía superar a Firefox, apareció Chrome, el navegador de Google. Y efectivamente, le hacía sombra: potente, ligero y con una gran velocidad. Sin embargo tiene truco: Chrome va rapidísimo para las páginas de Google, repletas de javascript que han creado ellos y que es especialmente interpretado por su motor de Chrome. De esta manera páginas como google maps o gmail, van mucho más rápido que en firefox.

Ya son varias las ocasiones en las que me he querido cambiar  a Chrome y dejar de lado firefox, pero siempre encuentro sus problemas y eso me echa para atrás y me hace volver a firefox, al que tengo especial cariño y en el fondo no quiero dejar.
Para que no se me olvide en el futuro, aquí está la lista de cosas que no me gustan en Chrome:

  • Falta de seguridad. Como navegador es bastante seguro, no menos que firefox, pero a la hora de guardar los datos de los usuarios deja mucho que desear. Ambos navegadores te permiten guardar contraseñas de las distintas páginas, lo cual es una gran ventaja en un uso diario. Estas contraseñas pueden ser vistas desde la configuración del navegador, y aquí está la diferencia: Firefox te permite configurar una contraseña maestra con la cual tendrás acceso al resto de contraseñas guardadas. Si un usuario abre el navegador y no pone la contraseña maestra, es como si no hubiera ninguna contraseña guardada, lo cual está muy bien para evitar que cualquier acceda a tu correo o cualquier otra página. Chrome no tiene esta opción de manera que CUALQUIER USUARIO que abra el navegador podrá acceder a las páginas con contraseñas guardadas. Y no solo eso, a través de las opciones de configuración, podrá ver las contraseñas.
    Este es el principal motivo por el que no uso Chrome
  • Perfiles. En Firefox se pueden crear distintos perfiles, en los que guardarás tus extensiones, contraseñas, favoritos... Chrome ha incluido una opción últimamente para cambiar de usuario, pero no tiene la misma potencia y no se puede configurar para iniciar el navegador como ese usuario automáticamente. Además, volviendo al punto anterior, no permite proteger dicho perfil con contraseña por lo que es un poco tontería lo de los perfiles, tiene cierta utilidad pero no toda la que se le podría sacar.
  • Falta de extensiones. Bien, esto ha sido solucionado, al menos en parte: al inicio de Chrome no había extensiones en absoluto. Luego aparecieron algunas, pero con opciones muy limitadas porque las APIs de Google no permitían acceso completo a las opciones. Ahora mismo ya hay más opciones y han surgido también gran cantidad de extensiones para el navegador. De todas formas Firefox le saca años de ventaja en el tema de las extensiones y aunque como digo esto ha cambiado, en firefox se encuentran extensiones para hacer casi cualquier cosa.
  • Monopolio. Google sabe más de mi que yo mismo. Eso a veces me asusta. Además, de seguir a este ritmo, no habrá cosas que no sean Google. Como he dicho Firefox me parece un proyecto fantástico y quiero seguir dándole mi voto de confianza. Por tanto, usemos algo más que no sea de Google que está colapsando el mercado... en general! Además, hacen sus sitios para que funcionen mejor con Chrome lo que en cierto sentido es trampa pues una de dos: te obligan a instalar su navegador o a que te funcione un poco más lento y esa actitud no me gusta. 
No dudo que Chrome tiene muchas ventajas, pero amigos, mientras no mejoren esos aspectos de seguridad, ni me planteo cambiarme. 

martes, 3 de julio de 2012

Cambiar de ROM en la HTC Magic 32B

Muchos de los usuarios de smartphones o tablets quieren sacar más partido de ellas instalando ROMs que aumentan el rendimiento y ofrecen nuevas características de los terminales. Sin embargo, la gran mayoría de ellos, entre los cuales me incluyo, realizan acciones como loros siguiendo tutoriales en internet, pero en realidad no tienen (tenemos) mucha idea de lo que en realidad estamos haciendo.

ROM de Cyanoget cargando en mi HTC Magic

A base de trastear, instalar, rootear, desinstalar, formatear, particionar, etc... uno va cogiendo conocimiento y parece que las acciones le van sonando. Pero siempre que tengo que volver a hacer algo en el teléfono, mismo problema: ¿cómo se hacía esto? Aquí lo dejo para que no se me vuelva a olvidar, o al menos, saber donde buscarlo.

Pues aquí va un mini-tutorial de cómo instalar una nueva ROM en la HTC Magic 32B (si es 32A tiene pequeñas modificaciones), suponiendo que ya se encuentra rooteada y que tenemos instalado un bootloader propio como el de Cyanogen o mejor todavía (el de Cyanogen ya no está soportado) el de Amon Ra.

Si no es así, no creo que puedas hacer el pequeño proceso que a continuación describo, pero aunque puedas, no sigas adelante pues puede tener consecuencias no deseadas (no digas que no te advertí, y no me responsabilizo por supuesto).

Pues si tu teléfono se encuentra en esas condiciones, el trabajo sucio ya está hecho, instalar ROMs es lo más sencillo que hay:


  1. Si tienes datos que quieras guardar, haz un backup. Yo no tengo nada que no pueda permitirme perder (quizá alguna foto pero poco más) así que me salto este paso. Hay aplicaciones estupendas que automatizan esto.
  2. Descarga la ROM que desees instalar. Asegúrate que sea la adecuada para tu teléfono. Cyanogen seguramente sea el desarrollador de ROMs más conocido del momento, pero hay otras muchas por ahí: busca, lee y elige.
    Muy posiblemente también tengas que bajar otro zip con las aplicaciones nativas de Google como gmail, maps, youtube... Las ROMs no suelen incluirlo
  3. Copia el archivo (o los archivos) descargado en la raíz de tu tarjeta micro SD, bien sacándola y pinchándola a un ordenador o bien conectando el teléfono al ordenador y habilitando la transferencia de archivos. No olvides extraer con seguridad una vez hayas terminado.
  4. Apaga el teléfono, espera unos segundos y vuelve a encenderlo manteniendo el botón home (la casita) apretado. En unos pocos segundos habremos accedido al bootloader que tengamos instalado (Amon Ra) seguramente. (Lista de como acceder al bootloader en distintos dispositivos).
  5. Para que nada falle y todo vaya bien, yo siempre elijo hacer un wipe completo del teléfono, pero esto es opcional. Al menos es recomendable hacer wipe de la caché dalvik.
  6. A continuación elige la opción flashear zip desde tarjeta SD que nos mostrará los archivos que hemos descargado anteriormente. Elige el de la ROM. Opcionalmente, instala también las aplicaciones de google si quieres o si es necesario siguiendo el mismo paso pero eligiendo esta vez el otro archivo.
  7. Reinicia el teléfono y listo. La primera carga puede tardar bastante, cosa de 5 minutos es normal aunque también puede tardar menos.
En estos 7 pasos hemos cambiado la ROM, como veis, es algo sencillo que no implica casi ningún riesgo y que podemos hacer cada vez que queramos probar una nueva ROM o reinstalar la que tenemos porque el teléfono empieza a ir lento, cosa que a mi me sucede cada pocos meses al ir instalando aplicaciones.

Espero haya sido de utilidad

Compras online

En internet hay tres o cuatro colosos bien conocidos en las compras online, sobretodo de temas de electrónica e informática (si es que no es lo mismo): amazon, dealextreme, pixmanía, redcoon... y quizá alguna más.

Estas tiendas están muy bien por dos razones: tienen una enorme variedad de productos y nos pueden servir como referencia a la hora de comparar precios con terceros. Sin embargo, no siempre son las más baratas.

Antes de realizar cualquier compra, siempre que esta sea por una mínima cantidad de dinero, debemos realizar una búsqueda más exhaustiva que simplemente mirar estas cuatro tiendas, pues existen otras tiendas más pequeñas y desconocidas, igualmente seguras y con mejores precios que es lo que estamos buscando.

Aquí voy a poner dos tiendas que a mi me han resultado fenomenales y en las que he encontrado un precio más barato y un buen trato, todo online por supuesto.




Hará dos semanas dejé de lado mi maravilloso pero obsoleto móvil para comprarme un Samsung Galaxy Nexus. Tras mucho mirar por la red, la mejor oferta la encontré en movilesmarket, una tienda de móviles ubicada en Benidorm que envía a toda España:

  • Sitio web: tienen una buena variedad de móviles, sobretodo de últimos modelos, a un precio bastante competitivo. En el caso concreto de mi móvil, el mejor que encontré.
  • Proceso de compra: completamente segura. Tienen una pasarela de pago seguro con BancoSabadell a través de pago virtual con tarjeta de crédito/débito. La página cuenta con el logo de confianzaonline. Tras el pago, se recibe un email de confirmación y pocos días después, la factura.
  • Envío: tienen dos opciones, la express que sale por 7,90€ recibiendo el pedido al día siguiente a través de Nacex o la normal que aunque no recuerdo bien, creo que salía por unos 5€ y era a través de correo certificado. Yo pedí el teléfono un miércoles noche noche y el viernes lo tenía en casa.
  • Asistencia: correcta. Al día siguiente de hacer el pedido, me llamaron para informarme que no quedaba el color que había elegido, por si quería cambiarlo o que me devolvieran el dinero. Más tarde contacté con ellos por email para saber el número de tracking del pedido que me facilitaron casi al momento.
  • ¿Volvería a comprar con ellos? Sí, siempre que mantengan esos precios.

Pero este no es el único caso. Hará algo más de tiempo, casi dos años, cambié también de portatil para comprarme un Asus U30JC. Tras buscar  buscar, encontré también una tienda que nunca había oído hablar pero que tenía unos precios interesantes: informatic center.
De esta página no puedo contar tanto como de la anterior, pues no me acuerdo tan bien, pero sé que todo fue bien: se puede pagar con tarjeta (TPV) o por transferencia bancaria. Tienen sede física en Madrid. También me llamaron por teléfono para confirmar el pedido y llegó a los pocos días y todo en orden.

Pues ahí quedan estos dos sitios, de los que de verdad no pretendio hacer publicidad ni tengo ninguna relación con ellos. Simplemente son (eran) dos desconocidos que me dieron un mejor servicio y a precio más barato que las tiendas en las que tenemos costumbre de comprar. Espero que antes de realizar tu próxima compra, eches un vistazo más detallado a la red a ver si encuentras algún otro sitio como este y si te apetece, coméntalo por aquí.

viernes, 22 de junio de 2012

Más sobre notas: simplenote

¿No os pasa que apuntáis las cosas en un papel y luego por más que lo buscas no aparece? ¿O que lo vas apuntando en post-its y finalmente tienes tantos pegados por la pantalla del ordenador y el resto de la mesa que te cuesta encontrar el adecuado? Por no hablar de los cuadernos... lo apuntas en una página que luego no hay manera de encontrar entre el resto de notas y apuntes...

Y si ya nos movemos de lugar, qué te quiero contar. La opción de mi amigo Richard de llevar en la cartera un folio con los números de teléfonos es una manera de tener las notas allá donde vayas, pero no es nada cómoda y os aseguro que ese papel terminará hecho un harapo.
El futuro de tu nota de bolsillo
A mi me pasa esto constantemente y por ello intento que las cosas que apunto en casa las pueda consultar en cualquier otro lugar a posteriori. Hay soluciones fáciles del tipo mandarse correos electrónicos a la propia cuenta de uno o similares, que si uno coge la práctica, no funcionan mal del todo, sobretodo si hablamos de correos tipo GMail con un potente y eficaz buscador.



Pero hoy traigo otro tipo de solución, y es un servicio de sincronización de notas online y gratuito: simplenote. Simplenote es algo sencillo: permite guardar texto en diferentes notas y añadir a dichas notas labels o tags que luego nos permita encontrarlas más facilmente. Tiene una interfaz web en la que podemos crear y editar las notas que ya tenemos, con lo que ya sería suficiente para tenerlas en cualquier sitio al que vayamos... siempre que tengamos internet.

Pero lo mejor de este servicio es que permite que otros creen aplicaciones sobre él, de manera que cualquier puede hacer aplicaciones que accedan a tus notas y te las muestren. De esta manera, las dos aplicaciones que yo he encontrado por el momento son una aplicación de escritorio y otra para el móvil.

Escritorio: para evitar tener que estar entrando en la página de simplenote cada vez que queremos consultar/editar las notas, hay aplicaciones ya hechas. De todas las que hay, la que más me gustó en su momento cuando lo comencé a usar fue ResophNotes, una sencilla aplicación que hace lo que tiene que hacer: mostrar las notas de simplenote, permitirnos su edición y sincronizar cuando hay cambios en cualquiera de los dos sentidos.

Móvil: pero hoy en día la vida está en el móvil y por supuesto, tenemos aplicaciones que nos sincronizan dichas notas con nuestros dispositivos. En Android he encontrado dos: GlanceNote y Flick Note. Esta última es la que había usado hasta ahora, pero he decidido hoy mismo darle una oportunidad a la primera, a ver que tal se porta.

Espero que hayáis tomado buena nota del post! Buen fin de semana

viernes, 15 de junio de 2012

Magic Lantern para Canon EOS 550D

Hoy vamos a friquear un poco con una cámara reflex, la EOS 550D, de Canon. Y es que hoy en día, casi todos los nuevos cacharros que compramos pueden ser modificados. Al igual que se formatea un ordenador, podemos modificar el funcionamiento de teléfonos inteligentes, cuadros digitales, videoconsolas o cámaras como vamos a hacer hoy.


¿Qué vamos a hacer exactamente? Vamos a meter en nuestra cámara un firmware alternativo al original de Canon que nos permitirá hacer muuuuuchas más cosas con la reflex. Este software es Magic Lantern, disponible para gran número de modelos de cámaras.

¿Es esto seguro? Bueno, en principio sí, pero claro, desde la página ellos se lavan las manos, al igual que voy a hacer yo: "este proceso es peligroso y podría estropear tu cámara". Por tanto, ni ellos ni yo nos responsabilizamos de lo que puedas hacer a tu cámara siguiendo esta lectura, hazlo bajo tu propia responsabilidad.
Yo ya lo he instalado varias veces sin ningún problema. Lógicamente requiere algo de conocimientos de informática u ordenadores, que si no tienes, no te recomiendo que sigas adelante.
Dicho esto, no vamos a realizar ningún cambio que no podamos deshacer en nuestra cámara. Magic Lantern se ejecutará desde la tarjeta SD y no tocará para nada el firmware original de Canon, pudiendo volver a él en cualquier momento (siguiendo los pasos de desinstalación).

¿Qué podre hacer si lo instalo? Muchas cosas como he dicho antes. Magic Lantern expande el menú de opciones de una manera muy extensa (demasiado incluso) permitiendo modificar parámetros y realizar acciones que de otra forma no puedes conseguir o para los que necesitarías complementos adicionales. Por poner sólo algún ejemplo, que es para lo que yo lo he instalado, permite la toma de fotografías a intervalos predeterminados, para la posterior elaboración de videos en time-lapse por ejemplo.
También permite capturas de más de 30seg, autodisparador por sonido o por detección de caras... pero esto que digo es tan solo una mínima parte de todas las opciones que permite.
A mi tan solo con la opción del time lapse, ya me vale.
Puedes consultar la guía de uso, que aunque un poco extraña, cuenta lo que permite hacer y cómo configurarlo más o menos.

¿Cómo lo instalo? Si has llegado hasta aquí, muy posiblemente estés dispuesto a seguir adelante e instalar este firmware en tu cámara. No pretendo hacer aquí una guía de instalación detallada alternativa pues en la página de Magic Lantern ellos tienen un documento explicando como instalarlo. Resumido, rápido y quitando advertencias (pero lee la guía oficial) consiste en:

  1. Preparar la cámara: batería cargada a tope, modo manual, último firmware oficial instalado (1.0.9 para la Canon EOS 550D) y resetear la configuración a la por defecto.
  2. Descargar el software, formatear la tarjeta desde la cámara, descomprimir Magic Lantern en la raiz de la tarjeta, volver a meterla en la cámara y ejecutar una actualización de firmware. Reiniciar y listo.
Si sigues los pasos, habrás visto una pantalla negra y verde de confirmación y al reiniciar ya tendrás el nuevo firmware ejecutándose. Para acceder al menú de Magic Lantern, pulsa el botón de borrar foto y verás todo lo que puedes hacer

.Para terminar... No quiero terminar este post sin un par de últimos consejos que si bien se repiten en la página de Magic Lantern, no está de más repetir: lee bien y sigue las instrucciones al pie de la letra y 
  • ante cualquier problema, sobretodo si enciendes la cámara y pasados pocos segundos no pasa nada: saca la batería rápidamente
  • para desinstalar Magic Lantern de la cámara, no vale con borrar los archivos de la tarjeta SD, sigue las instrucciones: formatea desde la cámara con la opción de eliminar Magic Lantern
  • recuerda que todo este proceso va por tarjeta: si cambias de tarjeta, no tendrás instalado Magic Lantern, tendrás que instalarlo en todas aquellas tarjetas que quieras utilizar.
Espero que más de uno se anime a probarlo, ya contaré mis experiencias con él cuando tenga tiempo de probarlas.

domingo, 15 de abril de 2012

Mover un proyecto dentro de Eclipse

Un pequeño how-to para los que uséis Eclipse: ¿Cómo se mueve un proyecto de una ubicación a otra y que todo permanezca igual?


  • En la vista de "Package explorer", 
  • botón derecho sobre el proyecto que queremos mover, 
  • "Refactor" 
  • y "Move".
  • Elegimos la nueva ubicación 

Y listo!

Fuente: Stackoverflow 



viernes, 13 de abril de 2012

Recordar contraseña para la conexión VPN

Para el trabajo tengo que conectarme a distintas VPNs una y otra vez, muchas veces, conectarme a una, hacer ciertas tareas, desconectarme para conectarme a otra y ver los resultados... en fin, un poco coñazo.

Pero esto es mucho más coñazo si tengo que introducir las contraseñas una y otra vez, siempre las mismas. Sería mucho más sencillo poder hacer doble click sobre algún icono y que se conecte automáticamente como se puede hacer con otro tipo de conexiones como bases de datos o escritorios remotos.

Pues hasta hoy, no sabía como hacer esto, pero aquí dejo la manera para quien pueda servirle:


  1. El cliente que utilizo es el Shrew Soft VPN, gratuito y que ya comenté en otra entrada.
  2. N ecesitamos tener creadas nuestras conexiones dentro del programa, cada una con su nombre que conozcamos.
  3. Crearemos un fichero de texto ejecutable desde el que arrancaremos el cliente con los datos del usuario, contraseña y conexión deseada. Este fichero tendrá el siguiente aspecto

    C:
    cd "C:\Program Files\ShrewSoft\VPN Client\"
    start ipsecc.exe -r "connection_name" -u "username" -p "yourpwd" -a
    

Con esto, ya tendremos nuestro acceso directo para nuestras distintas conexiones de VPN

Antes de terminar, una nota en seguridad: por supuesto que esta práctica no es segura: estamos dejando los accesos a redes de terceros al alcance de la mano de cualquiera. ¿Qué quiere decir esto? Que si las redes a las que os conectáis son muy privadas y guardan contenido que no podría tener cualquiera, no recomiendo esta práctica.
Tampoco la recomiendo si vuestro ordenador es un portatil que anda todo el día de aquí para allá, pues el riesgo de que caiga en manos de terceros es mayor que un ordenador de sobremesa que no se mueve del despacho.

Dicho esto, cada uno que haga lo que quiera con ello, bajo su propia responsabilidad

Fuente: http://read-stuff-here.blogspot.com/2009/09/shrew-vpn-tutorial-on-windows-64-bit.html

miércoles, 22 de febrero de 2012

Blogger: ocultar widgets en determinadas páginas

Siguiendo con la serie de Blogger que comencé ayer, hoy voy a explicar como quitar ciertos widgets en determinadas páginas.

Ayer expliqué como quitar las barras laterales en las que se muestran todos los widgets que hemos añadido en el diseño de nuestro blog, pero en ocasiones no queremos ocultar la barra, si no solamente uno de sus elementos, por ejemplo un bloque de publicidad, un elemento de navegación, o simplemente por estética no queremos que aparezca el contador de visitas que aparece en la página principal del blog.

Vimos que todo está basado en las condiciones que Blogger permite añadir en casi cualquier elemento:

<b:if cond='data:blog.pageType == "static_page"'>

<b:if cond='data:blog.pageType == "item"'>

<b:if cond='data:blog.url == "http://la-URL-de-tu-post-o-pagina"'>

Esas tres condiciones especifican si nos encontramos en una página de nuestro blog, si nos encontramos en una entrada de post o si nos encontramos en una determinada URL respectivamente.

Pues bien, para ocultar un widget de una de estas páginas de blogger, de nuevo utilizaremos estas condiciones. Sólo cambia el lugar donde hay que colocarlo.
Paso a paso:

  1. Entrar en nuestro blog

  2. Acceder a la sección Plantilla

  3. Hacer una copia de seguridad de la plantilla actual por si algo saliera mal

  4. Hacer click en Edición de HTML (nos saldrá una ventana de alerta, hacer click en continuar)

  5. Hacer click en Expandir plantillas de artilugios (arriba a la izquierda)

  6. Buscar el widget que queremos ocultar:
    • Podemos buscarlo a través de la cadena "<b:widget>" pero habrá muchos y tendremos que saber identificarlo
    • También podemos buscarlo por el título que le hemos dado en el diseño, aunque en muchas ocasiones es un campo opcional y no estará presente.

  7. Una vez que lo tengamos localizado, tendremos que incluir las etiquetas de arriba, en función de dónde queramos ocultarlo:

    <b:widget id='ID_DEL_WIDGET' locked='false' title='TITULO_DEL_WIDGET' type='TIPO_DEL_WIDGET'>
      <b:includable id='main'>
        <!--OCULTAR ESTE WIDGET THE BLOGGER -->
        <b:if cond='data:blog.url == "http://la-URL-de-tu-post-o-pagina"'>
    
        <!--CODIGO DEL WIDGET -->
    
        <\b:if>
      </b:includable>
    </b:widget>
    

  8. Guardar la plantilla y probar el resultado en las páginas que cumplan esa condición.

Como muestra de este ejemplo, he ocultado el widget de los "Post más visitados" solamente en esta página. Si acceder a la página principal del blog, o a cualquier otra página, verás que ese Widget aparece el segundo de la barra lateral, pero sin embargo aquí he conseguido ocultarlo.

¿No lo consigues? ¿Algo está incorrecto? No dudes en dejar un comentario

martes, 21 de febrero de 2012

Ocultar la barra lateral de blogger

En ocasiones puede interesarnos ocultar la barra lateral del blog en ciertos lugares: por ejemplo en las páginas, o en algún post en concreto.

Para ello, tendremos que editar la plantilla de nuestro blog. Siempre que se hace esto, recomiendo hacer una copia de seguridad con anterioridad, por si acaso algo falla o por si queremos volver a la versión anterior y descartar los cambios de ocultar la barra lateral de blogger.

Después de hacer la copia de seguridad, vayamos a ver como ocultar la barra lateral de blogger:

  • Entramos en Plantilla y hacemos click en Edición de HTML
  • Buscamos la etiqueta </b:skin>
  • A continuación introducimos el código siguiente:

<b:if cond='data:blog.url == "http://la-URL-de-tu-post-o-pagina"'>
<style>
.main-inner .columns {
padding-left: 0px !important;
padding-right: 0px !important;
}
.main-inner .fauxcolumn-center-outer {
left: 0px !important;
right: 0px !important;
}
.main-inner .fauxcolumn-left-outer, .main-inner .fauxcolumn-right-outer, .main-inner .column-left-outer, .main-inner .column-right-outer {
display: none !important;
}
</style>
</b:if>

Si lo queremos aplicar para todas las páginas por ejemplo, cambiaremos la condición:

<b:if cond='data:blog.pageType == "static_page"'>

O si lo queremos aplicar para los posts, entonces la condición será:

<b:if cond='data:blog.pageType == "item"'>

Como ejemplo, podrás observar que esta página no tiene barra lateral: he ocultado la barra lateral de blogger en este post en concreto.

miércoles, 8 de febrero de 2012

Acceder a unidad de red desde la consola con usuario y contraseña

Para acceder a una unidad de red desde la consola de windows usaremos el siguiente comando:

net use Z: \\computer\resource

De manera que la carpeta compartida "resource" quedará mapeada a la unidad Z: de nuestro ordenador (cambiar Z por la letra pertinente que queramos y computer y resource por el nombre del equipo remoto y el recurso compartido)

Si tenemos que acceder a dicho recurso con un usuario diferente, añadiremos el parametro user y la contraseña:

net use Z: \\computer\resource contrasenna /user:DOMAIN\username

Para acceder como usuario "username" del dominio DOMAIN con la contraseña "contrasenna". Importante! Notese que no se usa ningún nombre de parámetro para introducir la contraseña, se pone directamente a continuación del nombre del recurso compartido.

Refrescar o recargar el contenido del fichero en notepad ++

Notepad ++ es una aplicación excelente que nos permite la edición de archivos de texto, así como su visualización por supuesto mejorando infinitamente las características del visor de windows, el notepad o cuaderno de notas.

Sin embargo, hay una característica que siempre hecho de menos y es la capacidad de poder refrescar el contenido de los archivos: si estás mirando un log o un archivo que puede haber cambiado con el tiempo, tendrás que volver a abrirlo o quitar el foco de la aplicación y volver a ella para que te pregunte si deseas recargar el archivo, lo cual es bastante molesto.

Por suerte existe una opción más cómoda que es la recarga manual del fichero que tengamos abierto. Para ello, iremos a "Archivo" (o "File" si está en inglés) y elegiremos la opción, Recargar desde el disco. Y ya está! Esto hará que el fichero se recargue mostrando el contenido más reciente

Para mejorarlo todavía más, podemos ir a "Settings" y "Shortcut mapper" (en español será algo como "Ajustes" y "Atajos de teclado") y allí podemos definir una combinación de teclas para hacerlo todavía más cómodo: yo personalmente elijo CTRL+F5 para recargar el contenido del fichero en notepad++ puesto que se asemeja al recargar de los navegadores.

Cambiar el dominio al acceder a un ordenador remoto

En muchas ocasiones tenemos que acceder a ordenadores remotos, ya sea a través del escritorio remoto, a través de unidades de red o de carpetas compartidas entre ordenadores. Si el sistema y la red están configurados para solicitar nombre de usuario y contraseña, antes de poder controlar remotamente o ver los archivos tendremos que introducir las credenciales.

Windows por defecto asocio nuestro propio dominio a la ventana de login, de manera que no podremos elegir un dominio distinto para acceder. Para solucionar esto, en el nombre de usuario habrá que anteponer el nuevo dominio con el que queremos autenticarnos seguido de una barra invertida:

NUEVODOMINIO\usuario

De esta manera accederemos al otro ordenador en un dominio diferente al que aparece por defecto y no deberíamos tener problemas con la autenticación.

martes, 7 de febrero de 2012

Centrar un DIV posicionado absolutamente

Para centrar un div, por muchos es conocido el método de aplicarle un margen como sigue:

margin: 0 auto;

Sin embargo este método no nos servirá si el div que queremos centrar está posicionado absolutamente. En el caso más básico, podemos tener lo siguiente:

<body>
   <div style="position:absolute"></div>
</body>

La solución para estos casos pasa por situarlos en el centro de la pantalla (50%) con un margen a la izquierda negativo de la mitad de su ancho. Digamos que nuestro DIV tiene 600px de ancho, para centrarlo:

<body>
   <div style="position:absolute;width:600px;top:0;left:50%;margin-left:-300px;"></div>
</body>

Pero podemos ir un poco más allá. Hasta aquí hemos supuesto que conocemos el ancho del DIV que queremos centrar, pero no siempre es así, en ocasiones, el contenido de un DIV es dinámico y cambiará constantemente. El método anterior no nos servirá. La solución aquí es meter nuestro div dentro de un contenedor que nos ayudará a centrarlo:

<body>
   <div style="position:absolute;left:50%;">
      <div style="position:relative;left:-50%;"></div>
   </div>
</body>

Y así quedará perfectamente centrado en la página

Medir elementos de la web con firefox

Existe un plugin para firefox que nos permite medir cualquier elemento en la web creando una regla sobre cualquier página y permitiéndonos saber sus dimensiones exactas.



Esta utilidad será de especial interés para los desarrolladores web interesados en inspirarse de otras páginas web donde el ancho de los elementos no siempre es conocido.

Sin embargo este plugin tiene limitaciones: la más importante que yo he encontrado es que no permite medir elementos flash. Este caso es especialmente importante pues no existen archivos CSS para los elementos flash, quedando dependientes totalmente de herramientas de este tipo. En este caso peculiar no tendremos mucha ayuda, quedando la regla oculta por el objeto flash y no pudiendo por tanto medir adecuadamente

Enlace al plugin: MeasureIt

viernes, 3 de febrero de 2012

Declarar variable en un batch script


Un básico de los script de windows o archivos batch: ¿Cómo declarar una variable?

set variable=value

Parece una tontería pero como no codifico generalmente en este tipo de lenguaje, se me olvida y tiendo a usar las comillas y los punto y coma de java y php que son mis dos lenguajes predilectos.

Estilos en wordpress

¿Nunca te has visto buscando entre el código de wordpress para conseguir que una parte apareciera en un color diferente? ¿Nunca has intentado toquetear para que cierta imágen apareciera un poco más arriba? Si estás leyendo esto, seguramente sea así. Yo también... y al final casi siempre he encontrado una solución más sencilla que mis intentos de cambiar el código fuente del blog.


Todos aquellos cambios que se refieran a estilos, generalmente pueden hacerse sin necesidad de tocar los archivos .php, para eso están las hojas de estilos. Y wordpress y sus themes aplican estilos a casi todo lo que se te ocurra.


Por ejemplo, una de las cosas que quería hacer el otro día es colorear de manera diferente el elemento del menú actual, es decir, aquel en el que me encontrar en cada momento. Mi primera reacción fue meterme en el código php y tratar de coger la categoría del post para luego poder identificarla en el menú.... patrañas!! Wordpress ya aplica una clase css específica a aquel elemento que sea el actual y dándole un estilo específico en el archivo .css conseguiremos nuestro objetivo.


¿Cómo saber esto? Bueno, pues lo mejor es navegar un poco por la web e ir inspeccionando el código que se genera en cada una de las páginas y secciones. Para ello el Firebug para firefox es una gran herramienta que te dirá las clases CSS que tiene cada elemento, pudiendo observar que efectivamente, el elemento de un menú que está seleccionado, tiene una clase especial o que cada uno de los elementos de una barra lateral tienen un estilo que se puede modificar igualmente para todos en el mismo sitio.


Si con esto no tienes suficiente, entonces posiblemente si que tengas que modificar algún archivo PHP y podrás hacerlo desde la propia administración del blog. A ser posible no modifiques más que los archivos que ahí se presentan, el resto ya forman parte del core de wordpress y si crees que necesitas cambiar algo de ahí... replantéatelo, seguramente estés haciendo algo mal o lo estés viendo desde la perspectiva complicada.

Si por último, tienes que hacer demasiados cambios, plantéate hacer tu propio theme (en inglés).

miércoles, 1 de febrero de 2012

Altura de un DIV igual que la de sus hijos

Hoy vuelvo con un poco de CSS. Es una cuestión que se me ha planteado en muchas ocasiones: digamos que tienes un div contenedor de otros dos o tres divs con una altura no definida que varía en función del contenido que le vayamos a meter. Estos divs estarán colocados con un float para que tengan la forma de columnas y queden uno junto al otro. Un ejemplo de esta estructura sería:


<div id="contenedor">
    <div id="columna1">contenido de altura variable</div>
    <div id="columna2">
       <div id="sub1">mas contenido</div>
       <div id="sub2">mas contenido</div>
       ...
    </div>
<div>

Cómo he comentado, si a los divs internos (columna1 y columna2) les aplicamos un estilo para que "floten" quedarán en forma de columna: float:left;
Sin embargo tendremos un problema con el contenedor que no se adaptará a la altura de los hijos y se quedará con una altura de 0

Para solucionar esto, hay que añadir un último div a la estructura que no tenga la propiedad float y con un clear:both como se ve a continuación:

<div style="clear:both;"></div>

De esta manera quedará solucionado el problem y el div padre se quedará adaptado a la altura de la más alta de las dos columnas

Visto en muchos sitios, pero cogido de aquí

martes, 24 de enero de 2012

Evitar que el reproductor de M80 se pare cada media hora

Hoy voy con un consejo que se aleja a lo que normalmente tengo habituado, pero que seguro que será de utilidad a mucha más gente que los otros: Cómo evitar que el reproductor de M80 radio se pare cada media hora.

Y es que si escuchas habitualmente esta radio a través de internet, te habrás dado cuenta de que cada media hora tienes que ir al reproductor y volver a darle al play, lo cual es un rollo.

Para solventar este problema, se puede instalar un plug-in o add-on para Firefox que recargue la página cada 29 minutos automáticamente, por tanto evita que se llegue a la media hora que es cuando se para. Escucharemos un corte de que se está recargando la página, pero al instante seguiremos escuchando la emisión.

Los pasos son:
  • Utilizar Firefox (si no lo haces, instálalo, te lo recomiendo encarecidamente)
  • Instalar el plugin "ReloadEvery"
    • Pinchar en "Continue to Download"
    • Pinchar en "Add to Firefox"
    • Aceptar la ventana que aparece: "Instalar ahora" o parecido
    • Reiniciar Firefox
  • Con el plugin instalado, abrir la página de M80, el reproductor online
  • Botón derecho sobre la pestaña y en el menú "Reload Every" seleccionar el valor deseado (algo que sea inferior a 30 min, yo recomiendo 29)
  • Asegurarte en ese mismo menú que está activado (enabled) de lo contrario no recargará
Con esto ya está completado, mira a ver si te funciona y me cuentas

UPDATE: para el navegador Google Chrome se puede utilizar la extensión Easy Auto Refresh

Un saludo