lunes, 27 de diciembre de 2010

Cuidado con el Wii Party

Pues sí, el juego en cuestión actualiza la versión de la Wii sin previo aviso de manera que te la deja en la versión 4.3E (para el continente europeo) y hace que sea más complicado instalar el HomeBrew para poderle instalar nuestras propias aplicaciones.

No es imposible pero actualmente, la única manera posible de instalarlo es con un juego original (el LEGO Indiana Jones por ejemplo) que si no tenemos, tendremos que conseguir, bien comprándolo o mejor pidiéndolo a algún amigo / conocido o alquilándolo en una tienda de videojuegos.

Pues sólo dejo esto como aviso a navegantes que a mi ya me ha pasado al no tener ni idea del WiiMundo

lunes, 20 de diciembre de 2010

Deshabilitar Foreign Key Checks en MySQL

En algunas ocasiones las foreign keys de nuestras tablas nos pueden dar mucho la lata cuando estamos en un entorno de desarrollo, borrando y añadiendo filas constantemente, restaurando tablas... ya que nos saltará error al incumplirse las restricciones que estos índices imponen.

Bien, pues en MySQL es fácil deshabilitar este chequeo y que no nos de error, para ello:

set foreign_key_checks = 0; 
 
Realizamos nuestras acciones
 
set foreign_key_checks = 1; 

Métodos para el Drag and Drop en Java

Una de las cosas que se ha cambiado en la implementación de Java 6 es la manera en que se realizan los drag and drops (DnD) entre los componentes. No tengo ni idea de como funcionaba antes, pero por lo que he leído y me han contado, era bastante más complicado que como se puede hacer ahora.

Lo primero que se debe saber es que todo gira en torno a la clase TransferHandler. Muchos de los componentes de Swing ya vienen con un "Transfer Handler" por defecto, que en muchos casos será suficiente para nuestros propósitos.

Para comenzar a utilizar un TransferHandler en nuestro componente, existen tres métodos que deberemos emplear:

A continuación, existen dos tipos de métodos: los métodos para exportar datos y los métodos para importar datos.

Los primeros se utilizan para exportar los datos desde un componente cuando se comienza un gesto de arrastrar (drag) o cuando se copia o corta desde el componente con el que estamos trabajando. Estos métodos son:
  • getSourceActions(JComponent) - indicará qué acciones se permiten con los elementos del componente: copiar, mover o ambos. Este método se llamará automáticamente al comienzo del drag o arrastre.
  • createTransferable(JComponent) - este es el método más importante de todos ya que es el encargado de preparar los datos que se desean exportar: todo un objeto propio, sólo un String con el nombre, el id... Devuelve un objeto de tipo Transferable
  • exportDone(JComponent, Transferable, int) - este método se llama una vez que se ha terminado el drag and drop y en él se deben implementar las acciones necesarias después de la exportación (por ejemplo, después de mover un elemento, se debe eliminar de su ubicación original).

A continuación, los métodos empleados para importar datos cuando se suelta un objeto sobre un componente o cuando se pega desde el portapapeles:
  • canImport(TransferHandler.TransferSupport) - este método se llama de manera constante mientras se está haciendo un drag and drop y nos indica si el componente que se encuentra debajo del cursor del ratón aceptará los datos (return true) o si de lo contrario los rechazará (return false).
  • importData(TransferHandler.TransferSupport) - este método se invoca en el momento que se suelta sobre un componente terminando el drag and drop. Realiza las acciones necesarias para insertar los datos desde el origen hasta este punto y devuelve true en caso de una importación satisfactoria y false en caso contrario.

Por último, es necesario indicar la función de la clase TransferSupport, una clase interna de TransferHandler y que permite que se realice la transferencia de los datos entre el origen y el destino.Esta clase nos ofrece información acerca de la transferencia como el componente destino, la acción que se va a realizar (copiar o mover), los datos que se están transfiriendo, si se soporta ciertos tipos de datos, la localización exacta del componente destino...

Con estos métodos se puede realizar drag and drop en java, la lógica a aplicar en cada uno de ellos depende de nuestra aplicación en cuestión.

Tutorial completo

jueves, 9 de diciembre de 2010

Instalar Java de Sun en Ubuntu 10.04

Siguiendo con el tema del servidor, al que tengo un poco abandonado, hoy me ha tocado instalar el JRE de java para poder ejecutar aplicaciones en él. Cómo otras veces ya había tenido problemas con los paquetes open que vienen en los repositorios por defecto de Ubuntu, he decidido no jugarmela e instalar directamente los paquetes de Sun.

Para ello, desde la consola ejecutamos:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

Para a continuación, actualizar e instalar java:
sudo apt-get update
sudo apt-get install sun-java6-jre

y LISTO!

Visualmente también lo podemos hacer abriendo Synaptic: System-> Administration-> Synaptic Package Manager
Una vez dentro, en Settings-> Repositories-> Other Software, activamos el repositorio arriba indicado (http://archive.canonical.com/ lucid partner) y si no está, lo añadimos. Salimos de esta ventana y hacemos un "Reload" del Synaptic y buscamos el paquete que queremos instalar. Igual de sencillo: el JRE de java instalado en nuestro servidor para poder ejecutar otras aplicaciones.

Espero sea útil.

viernes, 3 de diciembre de 2010

Ya tengo cable para el iPhone

Por fin llegó ayer ya el cable del iPhone que compré por internet. Aunque pensaba que también vendría en el paquete el adaptador para poder enchufar el iPhone a la corriente, no ha sido así y tan solo viene el cable de datos... el artículo tiene una descripción un tanto confusa no? He pensado en llamarles para quejarme, porque por ese precio bien te podrían traer lo otro, más cuando en DealExtreme lo venden por $1,60 sin gastos de envío...

Pero bueno, al fin lo tengo que es lo que importa... si escribo o no a los de la tienda ya lo veré, pero ahora lo que interesa es comenzar con la liberación del cacharro para poder cambiarle la SIM... a ver qué tal se da, seguiré contando

miércoles, 1 de diciembre de 2010

Tiempo de ejecucion en PHP

Para saber el tiempo que tarda en ejecutar una función / script / tarea en PHP y ver dónde se produce el mayor gasto de tiempo, se puede usar:

<!-- put this at the top of the page -->
<?php
   $mtime = microtime();
   $mtime = explode(" ",$mtime);
   $mtime = $mtime[1] + $mtime[0];
   $starttime = $mtime;
;?>

<!-- put other code and html in here -->


<!-- put this code at the bottom of the page -->
<?php
   $mtime = microtime();
   $mtime = explode(" ",$mtime);
   $mtime = $mtime[1] + $mtime[0];
   $endtime = $mtime;
   $totaltime = ($endtime - $starttime);
   echo "This page was created in ".$totaltime." seconds";
;?>



Sacado de http://www.developerfusion.com/code/2058/determine-execution-time-in-php/

lunes, 29 de noviembre de 2010

Del Android al iPhone?

No exactamente, sigo conservando el android por supuesto, pero añado un iPhone (de los antiguos, 3G) a la lista de cacharros, por lo que algún consejo dejaré caer por aquí.

Primer paso en mi TODO-list:
  • LIBERARLO!
En cuanto tenga cable de datos y cargador sigo con la historia

Actualización: los cables siguen sin llegar :(

martes, 16 de noviembre de 2010

IP Dinámica con Ubuntu y DynDNS

Hoy toca jugar un poco con Linux, concretamente con Ubuntu, al que tenía muy abandonado últimamente. El objetivo que me he propuesto es redirigir una IP dinámica configurada a través del servicio DynDNS.com a mi servidor con Ubuntu a través de dos routers.

El cómo se configuran los routers para permitir el tráfico hasta el servidor interno es algo que no contaré aquí, pero como pistas, mirar las opciones de los routers de "NAT", "Port Forwarding" o "Virtual Server", cambian los nombres según los modelos.

Una vez se tiene una cuenta con un servidor del tipo DynDNS, se configura un dominio dinámico y ahora toca actualizar nuestra IP dinámica desde el servidor en cuestión.

El servicio a utilizar es ddclient:

sudo apt-get install ddclient

Nos aparecerá una interfaz gráfica (semi-gráfica diría yo :)) que nos guiará a través del proceso de configuración, incluyendo la elección del proveedor, nuestro nombre de usuario y contraseña, la manera de comprobar la IP del servidor y la opción de elegir que dominios se han de actualizar. Con estos simples pasos, podréis comprobar como vuestro dominio redirige perfectamente a vuestro servidor.

Para editar esta configuración posteriormente, se hace a través del fichero /etc/ddclient.conf

Se pueden añadir líneas como
ssl=yes

para que el tráfico sea seguro, ó

daemon=3600

para que la IP se actualice cada el número de segundos que le indiquemos (en el ejemplo una hora)

Fuentes: Ubuntu Documentation -> DynamicDNS

viernes, 12 de noviembre de 2010

Ver y matar los procesos de MySQL

¿Se te queda la base de datos colgada durante mucho tiempo sin dar respuesta?
¿Se consume la CPU de manera anormal y todo por culpa de mysql?

Pues bien, si quieres ver que es lo que está manteniendo ocupado al motor de bases de datos lo puedes hacer de la siguiente manera:

mysql -uroot -p
(ENTER YOUR PASSWORD)
show full processlist

De esta manera veremos todos los procesos que se están ejecutando en la base de datos y seguramente habrá alguna sentencia que no termina de ejecutarse correctamente.

Para matar el proceso que te deja sin recursos el ordenador, desde dentro de MySQL teclea
kill X

donde X es el número de proceso (primera columna de show full processlist)

jueves, 11 de noviembre de 2010

Pasar fechas de PHP a JavaScript

En el post anterior contaba como realizar un contador de tiempo con JavaScript para llegar a una determinada fecha en concreto.
La fecha que yo tenía, estaba en el servidor, el cual funciona con PHP, pero como acabo de decir, el contador funciona con JavaScript. Aunque pudiera pensarse que ambos son compatibles, no es así.

En PHP utilizo la función strtotime() que convierte la mayoría de formatos de fechas al formato timestamp de UNIX (número de segundos desde 1970).
En JavaScript utilizo la función Date() que acepta como parámetro un string con la fecha o un número con el timestamp.

¿Pasar el strtotime() de PHP al Date() de JavaScript verdad? Pues no es suficiente, no son compatibles, para que funcione es necesario multiplicar por 1000, es decir (sintaxis JavaScript)

var fecha = new Date(<?php echo strtotime($nuestra_fecha)*1000;?>);

Cuenta atrás en javaScript

Si tenéis la necesidad de realizar un contador de tiempo para una página web, se puede hacer en poco tiempo con jQuery y su plugin countdown

Los pasos a seguir vienen en la página de countdown, pero los resumo aquí rápidamente:
  1. Incluir el script de jquery (podéis poner lo que pongo a continuación o bajarlo a vuestro servidor):
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2. Incluir el script de countdown y si se desea utilizar sus estilos, también el CSS:
    <style type="text/css">@import "jquery.countdown.css";</style> 
    <script type="text/javascript" src="jquery.countdown.js"></script>
  3. Aplicar el countdown o cuenta atrás a los elementos (div o span) que queramos:
    $(selector).countdown({until: liftoffTime});
En el último punto se le debe pasar como parámetro una fecha límite en la que el contador llegará a 0. También se le pueden pasar otros parámetros como el formato deseado de salida. Todo esto viene en la documentación del plugin.

miércoles, 10 de noviembre de 2010

Incrementar campo de MySQL con un único update

Si se quiere actualizar un campo de una tabla de MySQL sin tener que hacer un select antes, se puede hacer con :

UPDATE table SET table.field = table.field + 1 where id = 'id';

Drag and Drop con JTree en Swing

ACTUALIZACIÓN: en este otro artículo explico los  métodos necesarios para el drag and drop

Tres enlaces interesantes para poder hacer Drag and Drop con un jTree de Swing en JAVA:

http://weblogs.java.net/blog/shan_man/archive/2006/01/first_class_dra.html
http://weblogs.java.net/blog/shan_man/archive/2006/01/location_sensit.html

http://psecheresse.spaces.live.com/blog/cns!492816F77B21DC3D!278.entry

Actualización: si necesitas empezar desde un nivel más básico, aquí se explica desde 0 como se realiza Drag And Drop (DnD)

Y aquí dejo otro artículo con los métodos necesarios para el drag and drop

Plugins para Firefox

Estoy harto de tener que andar buscándolos por ahí, así que aquí dejo un listado de los que más me gustan y utilizo:

All in one Gestures:
 Plugin que añade funcionalidad a los gestos del ratón para poder movernos por el navegador sin tener que usar sus botones. Uno de los mejores plugins que he visto, muy adictivo y extremadamente útil.
Delicious Bookmarks

Diccionarios e idiomas para firefox:
Con estos diccionarios firefox nos hará correcciones ortográficas en aquellos textos que insertemos en la web, en cualquier idioma que seleccionemos.
FireFTP:
Cansado de tener que instalar siempre un cliente FTP para subir dos archivos o tener que bajartelos de algún sitio? Fire FTP es un cliente FTP integrado con firefox, pequeño, sencillo y útil.
WebDeveloper:
Si te dedicas al mundo del desarrollo web, estas herramientas web te serán de gran utilidad apra analizar tus páginas o las de la competencia.
Firebug:
Quizá la herramienta de mayor utilidad para el desarrollo web: te analiza el código css, html, javascript, te informa de los errores y te desgaja una página web en todos sus detallados componentes. Increíble la funcionalidad que tiene esta herramienta

Si se me ocurren más iré actualizando la lista.

TODO: Related Posts

ACTUALIZACIÓN: ya está implementado, toda la info la he sacado de aquí

Una de las cosas que quiero incluir en los post del blog es un "Related posts" que incluya los posts más parecidos al actual basándose en los tags, en el contenido o en lo que yo le diga... pero ahora no tengo tiempo de hacerlo. Para que no se me olvide, aquí dejo un vínculo que parece interesante:

http://www.bloggingtips.com/2008/09/08/5-related-posts-techniques-for-blogger-blogs/

Subclipse, JavaHL y Windows7 64bits

Running eclipse? Having problems with subclipse plugin? Getting following message?

Failed to load JavaHL Library.
These are the errors that were encountered:
no libsvnjavahl-1 in java.library.path
no svnjavahl-1 in java.library.path
no svnjavahl in java.library.path
java.library.path = .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java

Update no need to install that anymore, just go to Preferences > Team > SVN and under "Client" section select SVNKit (pure java)

Solution if you are running Windows7 64bit is to install Slik SVN no need anymore

That is the summary that solved my problem, all the information is here

lunes, 8 de noviembre de 2010

Montar disco virtual .vhd sin arrancar la máquina virtual en Windows7

En alguna ocasión me hacen falta ficheros de los discos de las máquinas virtuales de windows y es un rollo tener que arrancar la máquina para poder acceder a esos ficheros, más cuando el disco duro virtual lo tenemos en nuestro disco duro real.

En Windows7 se pueden montar estos discos sin la necesidad de arrancar la máquina virtual. Para ello:
  • Acceder al administrador de discos:
    • Tecla Windows + R y ejecutar: compmgmt.msc
    • ó
    • Mi PC, botón derecho y Administrar y Administrador de discos
  • Una vez abierto, hacemos click con el botón derecho de nuevo sobre Administrador de discos y elegimos la opción "Añadir VHD" (si aparece deshabilitada, deseleccionar cualquier disco que aparezca seleccionado en el panel de la derecha).
  • Elegimos la ruta del archivo del disco duro virtual .vhd y listo (No debe estar la máquina virtual arrancada, de lo contrario dará error).
De esta manera tenemos el disco duro virtual como un disco más de nuestro ordenador en Windows7

Sacado del artículo en inglés y probado en mi pc :)

Haciendo copia de seguridad de "Windows XP Mode"

Me veo ante la necesidad de formatear y hacer una limpieza del portatil. Hago copia de seguridad de todos mis archivos pero me encuentro ante una novedad: ¿qué hago con la máquina virtual "Windows XP Mode"? Lo tuve que instalar por incompatibilidades con el nuevo Windows 7 Pro y ahora que voy a formatear me gustaría que la máquina virtual se quedara tal cual está y que al arrancarla de nuevo una vez formateado Windows 7 todo se mantuviera igual.

Los archivos que hay que guardar si están en su ubicación por defecto son:
C:\Users\granaino\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines\Windows XP Mode.vhd
C:\Users\granaino\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines\Windows XP Mode.vmc

También se debe guardar el archivo de arranque de la máquina virtual:
C:\Users\XXXX\Virtual Machines\Windows XP Mode.vmcx

En este archivo están las rutas a los otros dos anteriores por si se quisiera cambiar su ubicación original (es un XML, al igual que el .vmc)

El primero es el disco duro virtual y el segundo el archivo con la configuración y la información de la máquina virtual (un XML). Si la máquina está arrancada o hiberanda, habrá más archivos en la primera carpeta. Seguramente todo vaya bien si los copiamos, pero por si las moscas, yo recomiendo apagar la máquina virtual antes de hacer la copia de seguridad.

ATENCIÓN: todavía no he formateado y no he probado si esto funciona, haz la copia de seguridad de estos ficheros bajo tu propio riesgo! Y si ya lo has hecho y sabes que funciona, comenta :)

viernes, 5 de noviembre de 2010

Recordando la magia de los túneles SSH

La de cosas que he llegado a hacer con los túneles a través de SSH y lo olvidados que los tenía... hoy no me acordaba ni de como se abría uno con el putty.

Para que no me vuelva a pasar y poder consultarlo rápidamente, aquí dejo las instrucciones rápidamente:
  • Cargar la sesión del putty con la que queremos abrir el túnel
  • Ir a Connection -> Tunnels e introducir los datos:
    • Source Port: puerto local de nuestra máquina
    • Destination: host:puerto de la máquina destino
  • Añadir el túnel (Add)
  • Volver a las sesiones y guardarla si no queremos tener que hacer esto cada vez.
Con esto ya está creado un túnel de los más sencillos

AppInventor, el nuevo invento de google para Android

Bueno, quizá no sea tan nuevo esto del appInventor, pero yo me he enterado estos días y me he registrado para poder utilizarlo, porque no está abierto todavía más que a través de invitaciones.

La idea es abrir el mundo de la programación incluso a aquellos que no saben programar... sí sí, suena muy raro, pero es la idea: algo muy sencillo muy visual y muy intuitivo.

He tenido la posibilidad de probarlo en la cuenta de un amigo y es impresionante lo bien que funciona (bueno... debo decir que en mi ordenador no conseguí que funcionara, pero tampoco lo intenté demasiado) y la integración que proporciona con el terminal android: con dar un simple click nos despliega la aplicación que hemos creado en el movil directamente... pero ahí no termina todo, si no que podemos cambiar el diseño y va cambiando a la vez en el dispositivo móvil!

Cómo pega le encuentro que se puede quedar un poco limitado las acciones que se pueden hacer, por lo que está muy bien para aplicaciones sencillas, pero no para cualquier tipo de aplicación.

Si se quiere ver en funcionamiento elandroidlibre tiene unos vídeos en los que crea una aplicación en un pispas.

Y ahora a esperar la invitación para poder usarlo.... mientras eclipse y código :)

martes, 19 de octubre de 2010

Eliminar barra superior de Blogger

Cuando se comienza con un blog de Blogger, siempre aparece en lo alto y ocupando todo el ancho una barra de navegación que tiene más bien poca o ninguna utilidad. Esta es la denominada NavBar y me dispongo a contar como se puede eliminar mediante un sencillo método que tan sólo emplea CSS:

  1. Entrar en la página de diseño del blog
  2. Pulsar sobre "edición de HTML"
  3. Buscar la cadena "]]>" (para detectar el fin del CSS)
  4. Insertar justo antes "#navbar { display: none; }" (sin las comillas claro ;)
  5. Guardar la plantilla
Si pulsamos sobre "Ver blog" podremos observar que efectivamente, la barra de navegación de Blogger ha desaparecido.

Como nota final, pudiera ser (no lo he probado) que al cambiar la plantilla, se elimine esta línea de código y que hubiera que volver a añadirla, pero como veis, es bastante rápido.

Link: My Digital Life

jueves, 30 de septiembre de 2010

Probando desde Android


Antes de irme de viaje y por si me entrara la vena de escribir desde tierras americanas, quería hacer una prueba desde el móvil para ver que todo funciona correctamente. La aplicación que estoy usando para ello es "Blogger-droid" que permite además la inclusión de imágenes y vídeo, que paso a probar a continuación:

En teoría he subido dos fotos, la pantalla de mi ordenador, tomada al momento y otra del aspa de un molino que tomé desde el coche el otro día.

Lástima que no se pueda escribir más rápido desde aquí.

Fron Android
Published with Blogger-droid v1.6.1

miércoles, 15 de septiembre de 2010

Eligiendo cámara de fotos

Aunque tenía dudas de donde situar este post, si en mi blog algo más personal o en este, más técnico, al final me decanto por este ya que a fin de cuentas, la elección de una cámara de fotos debería reducirse a la comparación de los aspectos técnicos, del precio y luego ya de lo que nos guste o nos deje de gustar en cuanto al aspecto.

Parto con los siguientes requisitos:
  1. Cámara compacta
  2. Zoom óptico > 3x (mínimo 4x)
  3. Precio en ningún caso superior a 200€ y preferiblemente los 150€
Uniendo estos tres requisitos se limita la gama bastante, pero aún así quedan muchísimos modelos entre los que elegir. Todas las cámaras de precio inferior a 100€ también están descartadas... quizá me deje alguna ganga en ese filtrado pero no se puede andar mirando todo.

Las marcas que he mirado, por referencias de amigos o porque yo mismo he tenido una cámara han sido:
  • Canon
  • Fujifilm
  • Sony
  • Casio
  • Nikon
  • Lumix
Bueno, en realidad he mirado todas un poco, pero finalmente me centré en esos, que no son pocos. Aunque tengo idea de comprármela por internet, me he pasado por el Urende para poder echar un vistazo y verlas en tamaño real, poder tocarlas e incluso y si tienes suerte, encenderlas y comprobar las opciones de las que disponen. En ese momento me he dado cuenta de que el tamaño también es muy importante, descartando aquellas demasiado grandes.

Finalmente he elegido 4 modelos que eran los más atractivos por su tamaño, precio y características a simple vista (zoom óptico y megapixeles, aunque todas las cámaras ya van sobradas en esto último).
Los modelos son:
  • Nikkon S3000
    • No escribiré mucho de este modelo porque nada más ver las características en internet la he descartado: no puede grabar vídeo.

  • Sony W350
    • Una compacta pequeñita con zoom óptico de 4x, 14 mpx y algo subida de precio (por encima de los 150€)
  • Fujifilm JX250
    • Una cámara que me ha sorprendido por su reducido tamaño y bajo precio a pesar de tener un zoom óptico de 5x. Su precio ronda los 130€
  • Casio EZX350
    • Del estilo de la anterior pero peor en todos los aspectos: precio, zoom e incluso aspecto.

Así que en esas me encuentro, pensando en qué hacer. Si alguien lee esto a timpo, siempre será bienvenido un comentario o consejo ;) De lo contrario creo que finalmente será la Fujifilm la opción elegida

viernes, 3 de septiembre de 2010

Importancia de Google webmasters tools para nuestro sitio de Blogger

Siguiendo con el tema de Blogger y con la inicialización de uno de ellos, hoy voy a contar otra herramienta muy poderosa en términos de estadísticas y de saber el funcionamiento de las búsquedas de google en relación a nuestro blog.

Se trata de google webmasters tools, una herramienta que nos permite añadir sitios de los que seamos administradores para realizar un seguimiento del indexamiento que google hace del mismo. 

¿Qué es el indexamiento? Google visita todos los sitios de internet (bien, si no todos, muchísimos) analizando su contenido para más tarde poder mostrarlo en los resultados de sus búsquedas. Si escribimos sobre quesos, nos gustaría que nuestra página apareciera de las primeras en los resultados de la gente que busca "queso" no? Bien, pues google webmasters tools nos permite saber en que posiciones de los resultados aparecemos para cada uno de los términos que la gente busca. Por ejemplo:
Termino de búsqueda "restaurante queso", posición en los resultados: cuarta página.
De esta manera nos podemos hacer una idea de si lo estamos haciendo bien o no: si resulta que la gente entra más a nuestra página con el término zapato que con queso... hay algo que no estamos haciendo muy bien.

Además de ver la posición en la que aparecemos en los resultados de búsqueda, también nos indica si la gente ha pinchado en nuestro enlace en los resultados de búsqueda.

Esto es sólo una parte, la más interesante quizá, pero hace otras muchas cosas:

  • Nos indica los enlaces de otros sitios hacia el nuestro (nos indica los enlaces qué el conoce)
  • Nos indica nuestros propios enlaces internos.
  • Nos indica la frecuencia con la que los "bots" (así se llaman los ordenadores que recorren las páginas) recorren nuestra página.
  • Nos indica los términos que más ha encontrado (queso, zapatos, internet...) en nuestras páginas. 
  • Nos indica si se está produciendo algún tipo de error en el escaneo de la web (que impediría que saliéramos en los resultados)

 En resumen, que es una gran herramienta para entender y comprender el funcionamiento del mayor motor de búsqueda de hoy en día: google.
Por cierto, no hay que ponerse nervioso, el aparecer en los resultados de búsqueda es algo que no pasa de la noche a la mañana, es un proceso que tarda cierto tiempo y que requiere que nuestra página sea de interés para algunos de los términos que la gente busca. Lo importante es escribir con permanencia y sobre los temas que queremos que posicionen nuestra web.

¿Cómo abrir una cuenta? Hay muchos sitios que lo cuentan, no lo voy a contar yo aquí: en resumen es añadir la URL del sitio y verificar que el sitio es nuestro mediante alguno de los métodos que nos ofrece el sistema. Aquí podéis leer como abrir la cuenta:

Espero sea de utilidad

lunes, 30 de agosto de 2010

Añadir una barra de google AdSense en lo alto de nuestro blog de Blogger

Continuando con la configuración del nuevo blog de Blogger, ahora vamos a poner una barra de publicidad en lo alto del blog.
Para la gente que tenga conocimientos avanzados de cómo modificar la plantilla del blog quizá esto sea una tontería, pero para otros muchos que (al menos de momento) no tenemos ni idea del código que ahí se encuentra, esto puede ser de bastante utilidad ya que de lo contrario Blogger no ofrece la posibilidad de situar publicidad (o cualquier otra cosa!) en ese lugar del blog.

Vamos allá: lo primero es entrar en la plantilla de diseño del blog y en la edición de HTML. Ahí dentro deberemos buscar "<b:section class='header' id='header'" a continuación aparecen dos campos maxwidgets showaddelement. El primero indica el máximo número de widget que se mostrarán en la cabecera y supongo que en todos los casos aparece 1. Debemos cambiarlo por el número que deseemos (en mi caso he puesto 2). En segundo lugar debemos indicar un valor 'yes' en lugar de 'no' para que desde la edición de elementos podamos gestionar los nuevos widgets a añadir.

Por tanto debe quedar algo como
<b:section class='header' id='header' maxwidgets='2' showaddelement='yes'>


Guardamos la plantilla y vamos  al diseño de elementos de la página. Deberíamos poder añadir un nuevo widget a la parte superior de nuestro blog, por encima o por debajo de la cabecera.
De esta manera podremos insertar cualquier tipo de contenido en forma de widget que queramos.

Para añadir una barra de anuncios de AdSense, tendremos que tener una cuenta previamente claro, creamos un nuevo anuncio (recomendado que sea de 90 de alto por 900 de ancho para que quede esteticamente bien) y copiamos el código que nos sale y lo pegamos en un nuevo widget en la parte superior de nuestro blog. El widget será de tipo HTML/JavaScript

Y voilá, hemos introducido un widget con nuestro propio contenido en lo alto de nuestro blog

viernes, 27 de agosto de 2010

Insertar código de seguimiento de Analytics en Blogger

Empiezo fuerte el blog, pero es que tenía que hacer otra cosa antes de dejar esto colgado de internet por sí mismo... y es controlar las visitas y estadísticas del sitio. Para ello empleo Google Analytics.

Así que el primer paso es crear una cuenta de analytics si es que no tenéis ya.

Una vez dentro, deberemos crear un nuevo perfil para un nuevo dominio e introducir "http://xxxxx.blogspot.com". Y ya casi está, en el siguiente paso se nos dará el código para insertar en nuestras páginas que deberemos copiar y pegar justo antes de la etiqueta </body> en nuestra plantilla HTML (edición HTML en diseño).

Fácil no? pues con eso, entramos un par de veces y en menos de una hora debería aparecer verificado y listo para recoger las estadísticas del sitio.

Quitar el "Attribution"de Blogger

Bueno, pues no he tardado mucho en apuntar la primera "receta", simplemente al ir a ver el diseño del blog he visto que era demasiado claro y que en la parte inferior aparece el autor del diseño.
No es por ser desagradecido pero no me gusta que esté ahí y menos cuando no te dan la opción de que cojas una plantilla normal y básica, tienes que coger obligatoriamente una de las disponibles o tocar directamente el código HTML (para lo cual no estoy preparado todavía).

Si vas al diseño del blog te darás cuenta de que no te permite quitar ese elemento, está bloqueado. Pero es posible quitarlo: vamos a edición de HTML, le damos a "Expandir plantillas de artilugios" y buscamos (CTRL+F) la palabra "Attribution". Veremos que al lado aparece locked="true". Pues bien, cambiamos el true por false y guardamos la plantilla.
Volvemos al diseño y ahora sí, podemos eliminar el widget de attribution.

Desde aquí gracias a Tina Chen por su diseño, aunque creo que queda pagado por Blogger y no hace falta que aparezca por aquí (además, esto es una chapucilla)

ACTUALIZACIÓN: aunque lo había hecho antes, esta vez me ha dado algún problema volviendose a poner el valor a true automáticamente. Lo que he tenido que hacer es quitar directamente el widget elimiando el <b:widget...>...</b:widget>

Y por cierto, de esta manera también se pueden quitar otros widgets como la cabecera por ejemplo

Comenzando a chapucear

Este blog no requiere mucha presentación pues lo voy a dedicar a temas de ordenadores, internet, SEO, pruebas, tecnologías, trucos y otras cosas que siempre se me olvidan y tengo que volver a buscar. Si así de paso puedo ayudar a otras personas que como yo no apuntan nada y lo buscan todo de nuevo una y otra vez, pues mira que bien.

Algunos temas que se tocarán con toda seguridad son Android y friquear móviles, aplicaciones para montar un "home-server", temas de programación Java, PHP, javascript; diseño web y diseño de blogs, algo de SEO...
y otras muchas que irán surgiendo.

Pues sin más... ya empezaré cuando tenga alguna cosa que poner