<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Francisco Javier Palacios Pérez &#187; tutoriales</title>
	<atom:link href="http://blog.fjp.es/categoria/tutoriales/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fjp.es</link>
	<description>The art of the blogging...!</description>
	<lastBuildDate>Sat, 04 Feb 2012 16:39:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>CyanogenMod en Vodafone 858 Smart (Huawei U8160) &#8211; ROM Manager</title>
		<link>http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/</link>
		<comments>http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 15:21:39 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[tecnología]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[cyanogenmod]]></category>
		<category><![CDATA[vodafone 858 smart]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=2928</guid>
		<description><![CDATA[Desde este tutorial aprenderemos a instalar el port de CyanogenMod en el Vodafone 858 Smart (Huawei U8160) desde ROM Manager —el nuevo método—, para las antiguas versiones —la forma tradicional— visitad el tutorial anterior. Sin duda, los poseedores de este pequeño smartphone estamos de enhorabuena. Aunque, sobre todo, para aquellos que se aventuren ahora al [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/cyanogenmod.png" alt="" title="CyanogenMod" width="500" height="113" class="centro size-full wp-image-2778" /></p>
<p class="aviso">Desde este tutorial aprenderemos a instalar el <em>port</em> de CyanogenMod en el Vodafone 858 Smart (Huawei U8160) desde ROM Manager —el nuevo método—, para las antiguas versiones —la forma tradicional— visitad <a href="http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/">el tutorial anterior</a>.</p>
<p>Sin duda, <strong>los poseedores de este pequeño smartphone estamos de enhorabuena</strong>. Aunque, sobre todo, para aquellos que se aventuren ahora al manejo e instalación de diferentes ROMs desde este teléfono. Ya que una de las mejores, si no la mejor, desde el pasado día 3 de febrero de 2012 es ahora mucho más fácil de instalar que antes. Es, por qué no decirlo, <strong>asombrosamente sencillo</strong>.</p>
<p>De forma resumida, CyanogenMod sirve para añadirle un plus a nuestro teléfono. <strong>Nadie que se compre este smartphone puede esperar maravillas de él</strong>, porque no las encontrará, pero dentro de sus limitaciones, <strong>la instalación de esta ROM hace que se noten mucho menos, y que podamos disfrutar mucho más de la experiencia que puede ofrecernos este teléfono</strong>. En el anterior tutorial puse un ejemplo, el cual vuelvo a poner porque considero que ejemplifica muy bien lo que quiero decir: con la ROM que viene de serie, la que instala Vodafone, <strong>no hay forma de hacer que Google Street View funcione</strong>, siempre termina dando error y sale de la aplicación; con esta ROM, acorde al hardware del teléfono, eso sí, pero <strong>podemos hacer uso de esa aplicación sin que dé error</strong>. Explota el poco hardware del teléfono al máximo.</p>
<h3>Qué necesitamos para instalar CyanogenMod</h3>
<p><img src="http://blog.fjp.es/wp-content/uploads/screen-android-2.png" alt="" title="screen-android-2" width="240" height="320" class="derecha-borde size-full wp-image-2932" /> Esta vez, como ya dime anteriormente, es mucho más sencillo, por lo que los pasos a realizar tanto para actualizar como para instalar de nuevo son más sencillos.</p>
<p>Al igual que sucedía anteriormente, tanto si es la primera vez que cambiamos de ROM —es decir, pasamos de la que viene de origen de Vodafone a esta—, como si anteriormente habéis instalado otra ROM diferente y queréis probar CyanogenMod, <strong>todos los datos del teléfono se perderán</strong>, exceptuando los que estén sincronizados con los servidores de Google, como puedan ser los contactos —Google Contacts—, la lista de aplicaciones instaladas desde el Market —ojo, no las aplicaciones instaladas, si no una lista de las que teníamos instaladas—, o las llamadas perdidas —si lo configuramos así— y los sms, gracias a la fantástica app <a href="https://market.android.com/details?id=com.zegoggles.smssync" onclick="pageTracker._trackPageview('/outgoing/market.android.com/details?id=com.zegoggles.smssync&amp;referer=');">SMS Backup+</a>, una aplicación por la cual merecería la pena pagar si tuviera algún coste, porque encima es gratuita. Si nos lo montamos bien, es un ratito el que <em>perdemos</em>&#8230; <strong>Y os lo aseguro, ganamos mucho</strong>.</p>
<p>Si estás decidido, vamos a empezar a descargar. Lo primero: la aplicación <a href="http://dl.dropbox.com/u/15580841/APK/z4root.1.3.0.apk" onclick="pageTracker._trackPageview('/outgoing/dl.dropbox.com/u/15580841/APK/z4root.1.3.0.apk?referer=');">z4root</a> —ojo, descargar desde el navegador web del teléfono—, esto servirá para hacer root al teléfono. Después debemos descargar la aplicación <a href="https://market.android.com/details?id=com.koushikdutta.rommanager" onclick="pageTracker._trackPageview('/outgoing/market.android.com/details?id=com.koushikdutta.rommanager&amp;referer=');">ROM Manager</a> desde Android Market. Para la instalación de z4root necesitamos entrar en <strong>Ajustes</strong> > <strong>Aplicaciones</strong> y ahí activar la casilla de <strong>Orígenes desconocidos</strong>, de lo contrario no nos permitiría instalarla tras descargarla; ROM Manager se instala como cualquier otra aplicación de Android Market, seguro que todos sabéis ya.</p>
<p>Si venís desde otra ROM o actualizáis desde las versiones viejas de CyanogenMod <strong>el paso de rootear el teléfono desde la aplicación z4root ya lo hicisteis en su momento, así que esta vez olvidadlo</strong>. Y si actualmente utilizáis CyanogenMod, la aplicación ROM Manager la tenéis instalada por defecto.</p>
<h3>Al tajo, instalando z4root y ROM Manager</h3>
<p><img src="http://blog.fjp.es/wp-content/uploads/z4root-1.3.0.png" alt="" title="z4root-1.3.0" width="240" height="320" class="derecha-borde size-full wp-image-2939" /> Una vez descargada la aplicación z4root, tal como vimos antes, su instalación es muy sencilla; sólo tiene dos botones: Temporary Root —roto temporal— y Permanent Root —root permanente. Simplemente debemos seleccionar el botón de roto permanente y la aplicación automáticamente se pondrá a trabajar sola, no tenemos que hacer nada más.</p>
<p>Una vez termine lo indicará, y en caso de que no se reiniciar a automáticamente, lo haremos nosotros de forma manual: desconectando el teléfono y volviéndolo a encender.</p>
<p>Para asegurarnos de que todo ha salido bien, como debería, después del reinicio del teléfono buscaremos en la lista de aplicaciones una nueva, cuyo nombre será Superusuario. Si la tenemos instalada, todo funciona bien. En caso de que no lo esté, volvemos a repetir el proceso de rootear el teléfono mediante z4root, pero es una posibilidad muy remota.</p>
<p><img src="http://blog.fjp.es/wp-content/uploads/ROM-Manager.png" alt="" title="ROM-Manager" width="240" height="320" class="izquierda-borde size-full wp-image-2942" /> Ahora vamos a dejar preparada la aplicación ROM Manager para instalar después, a través de ella, CyanogenMod. Nada más abrir la aplicación veremos lo que se muestra en la imagen de la izquierda. Accedemos a la opción <strong>Flashear ClockworkMod Recovery</strong> y seguimos los pasos que nos pide para instalarlo, es muy sencillo.</p>
<p>Atención, puede que la aplicación Superusuario de la que antes hice mención nos pida acceso root para esta aplicación, sin problema se lo concedemos.</p>
<p>Con esto cambiamos el recovery <em>de fábrica</em> por otro diferente que nos permitirá: acceder a él en caso de necesitarlo, que la aplicación ROM Manager pueda trabajar correctamente, la instalación de diferentes ROM y su gestión, y algunas configuraciones del sistema, las cuales ahora no necesitamos. La versión actual —de hoy— es la que aparece en la imagen: 5.0.2.8. Pasada esta fecha se actualizará, seguro; desde esta aplicación siempre podremos tener la última.</p>
<h3>Y por fin&#8230; ¡a instalar CyanogenMod!</h3>
<p><img src="http://blog.fjp.es/wp-content/uploads/CyanogenMod-psyke83.png" alt="" title="CyanogenMod-psyke83" width="240" height="320" class="derecha-borde size-full wp-image-2951" /> Ahora, desde ROM Manager nos vamos a la sección de <strong>Descargar ROM</strong>. Desde la versión gratuita, la que hemos instalado, no tendremos pérdida ya que no hay muchas ROMs para descargar, <strong>entraremos en la de psyke83</strong>, como se ve en la imagen de la derecha. Dentro de esa sección encontraremos las diferentes versiones —en el momento de escribir este tutorial sólo hay una, es la primera—, así que en caso <strong>de haber varias opciones a descargar, siempre nos fijaremos en la fecha</strong> de cuando se subió, para descargar la más reciente. Accederemos a una ventana donde podremos votar o comentar —sólo si tenemos la aplicación de pago— o descargarnos el correspondiente ROM, que es lo que queremos. Podremos hacerlo dándole al botón de <strong>Download</strong> situado en la parte inferior izquierda. Nos aparecerá una ventana, llamada <strong>Complementos de ROM</strong>, la cual nos permitirá añadir a la descarga diferentes opciones más para instalarlas a la vez. <strong>Nos aparecerá la versión más reciente de Google Apps, la cual deberemos marcar para descargar</strong> y darle a aceptar. <strong>Empezará el proceso de descarga</strong> de los dos archivos comprimidos elegidos, el cual podremos seguir desde el área de notificaciones.</p>
<p>Cuando haya terminado nos saldrá otra ventana nueva, en la cual dispondremos de tres opciones:</p>
<ul>
<li><strong>Copiar ROM actual</strong>: sirve sencillamente para <strong>hacer una copia de seguridad del sistema</strong> tal cual lo tenemos actualmente. Para que en el hipotético caso de que algo saliera mal, podamos tener todo tal cual lo tenemos ahora, sin perder nada. <strong>Recomiendo encarecidamente seleccionar esta opción</strong>.</li>
<li><strong>Limpiar Data y Cache</strong>: es la opción que dejará el teléfono como cuando lo sacamos el primer día de la caja: sin nada —como mencioné al principio, perdiendo los datos existentes. <strong>Si instalamos CyanogenMod viniendo desde otra ROM cualquiera, o lo hacemos viniendo desde la que proporciona Vodafone de fábrica debemos marcarla</strong>; si venimos desde las versiones anteriores de CyanogenMod <strong>no es necesario</strong>.</li>
<li><strong>Wipe Dalvik cache</strong>: lo que hace esta función quizá sería complejo de explicar, pero básicamente y para que todo el mundo lo entienda: <strong>elimina ciertos datos de la cache de las aplicaciones</strong> para que lo regeneren de nuevo al instalarse. Y así asegurarnos que se instala correctamente la actualización. Esta opción viene marcada por defecto y debemos dejarla así, de cara al usuario será inapreciable, ya que ni eliminará aplicaciones, ni nuestra configuración, ni nada. <strong>Debemos dejarla marcada siempre</strong>, sin problema.</li>
</ul>
<p>Una vez hecho esto, se reiniciará el teléfono, arrancará automáticamente en modo recovery, nos hará la copia de seguridad del sistema tal cual lo tenemos ahora —si es que hemos marcado esa opción, <strong>la cual ya dije que recomiendo</strong>—, empezará a instalar CyanogenMod y la última versión del paquete de aplicaciones de Google. Cuando haya terminado el teléfono se reiniciará de nuevo, nos saldrá una pantalla en negro con letras blancas en las que leeremos <strong>android</strong> durante un rato, más tarde aparecerá el muñeco androide sobre un patín dando vueltas en círculo una flecha alrededor de él —este proceso puede tardar bastante rato, incluso 10 minutos o más, no os preocupéis— y, cuando termine, tendremos CyanogenMod instalado correctamente.</p>
<h3>Últimas consideraciones</h3>
<p>En caso de catástrofe con todos los pasos anteriores, recordad que —<strong>si me habéis hecho caso</strong>— se ha realizado una copia de seguridad para restaurar el sistema en caso de fallo. No creo que os suceda, pero si es así, simplemente deberéis entrar en ROM Manager, entrar en la opción <strong>Administrar y restaurar copias</strong>, elegís la copia de seguridad que tengáis —si sólo habéis hecho una, esa; si hay varias, la más reciente—, la seleccionáis y elegís la opción de <strong>Restaurar</strong>. Tras esto, se os reiniciará el teléfono, volverá a entrar en modo recovery como antes y empezará a volcar la copia de seguridad para dejar el teléfono tal cual lo teníamos.</p>
<h3>Advertencia</h3>
<p><strong>Quiero dejar claro que no me hago responsable de cualquier daño que se le pueda hacer al teléfono móvil mientras se sigue este tutorial</strong>. También quiero dejar claro que <strong>yo lo he hecho, que no me ha pasado nada, y que no tiene por qué pasar nada</strong>. Es algo seguro, que cientos de personas hacen y no ocurre nunca nada. No tiene por qué. Pero ya sabéis.</p>
<p><strong>Espero que os haya servido de utilidad.</strong></p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=CyanogenMod en Vodafone 858 Smart (Huawei U8160) &#8211; ROM Manager: http://bit.ly/yV6Bzw /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=CyanogenMod_en_Vodafone_858_Smart_Huawei_U8160_8211_ROM_Manager_http_//bit.ly/yV6Bzw_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/&t=CyanogenMod en Vodafone 858 Smart (Huawei U8160) &#8211; ROM Manager" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/_t=CyanogenMod_en_Vodafone_858_Smart_Huawei_U8160_8211_ROM_Manager&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>CyanogenMod en Vodafone 858 Smart (Huawei U8160)</title>
		<link>http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/</link>
		<comments>http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 14:57:04 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[tecnología]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[cyanogenmod]]></category>
		<category><![CDATA[vodafone 858 smart]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=2777</guid>
		<description><![CDATA[Todas las versiones posteriores al día 3 de febrero de 2012 se instalan desde un nuevo método, podéis seguir el tutorial para instalar CyanogenMod en Vodafone 858 Smart (Huawei U8160) mediante ROM Manager. Lo primero que sentí al ver eso de los mods fue&#8230; curiosidad, supongo. Cuando llegué a ver CyanogenMod pensé: ¡coño, yo quiero [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/cyanogenmod.png" alt="" title="CyanogenMod" width="500" height="113" class="centro size-full wp-image-2778" /></p>
<p class="aviso">Todas las versiones posteriores al día 3 de febrero de 2012 se instalan desde un nuevo método, podéis seguir el tutorial para instalar <a href="http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/">CyanogenMod en Vodafone 858 Smart (Huawei U8160) mediante ROM Manager</a>.</p>
<p>Lo primero que sentí al ver eso de los mods fue&#8230; curiosidad, supongo. Cuando llegué a ver CyanogenMod pensé: <em>¡coño, yo quiero eso!</em> Y como dije anteriormente, en <a href="http://blog.fjp.es/mis-primeros-pasos-en-android/">mis primeros pasos con Android</a>: ¿para qué conformarte con <em>una parte del pastel</em> si te lo puedes comer entero, e incluso repetir?</p>
<p>CyanogenMod es una adaptación del sistema operativo Android, con <strong>muchas más funciones, muchas más opciones de personalización y configuración, una serie de opciones que otorgan la máxima calidad y rendimiento posibles al hardware de tu teléfono</strong>, y sobre todo en este modelo que nos ocupa, te permite hacer las cosas de forma mucho más fluida que con el firmware que viene <em>de serie</em> en Vodafone. Por ejemplo, con el firmware que trae no es posible hacer uso de Google Street View —algo que me molestó mucho—&#8230; pero misteriosamente, con CyanogenMod ya se puede. Como dije, explota muchísimo mejor el hardware del teléfono, y lo que entonces provocaba un fallo y causaba que la aplicación se cerrara porque <em>no la soportaba</em>, ahora funciona sin ningún tipo de problema. Y como eso, lo demás.</p>
<h3>Qué necesitamos para instalar CyanogenMod</h3>
<p><img src="http://blog.fjp.es/wp-content/uploads/screen-android.png" alt="" title="screen android" width="240" height="320" class="derecha-borde size-full wp-image-2784" />Lo primero: ganas, es fundamental. Debemos hacer unos cuantos pasos, perderemos todas las aplicaciones que tengamos instaladas en el teléfono y la configuración. Dejaremos el teléfono como si viniera de serie, pero con CyanogenMod instalado. Yo lo hice, y de verdad que merece la pena.</p>
<p>Cuando ya tenemos ganas de hacerlo, necesitaremos también descargar la app <a href="http://dl.dropbox.com/u/15580841/APK/z4root.1.3.0.apk" onclick="pageTracker._trackPageview('/outgoing/dl.dropbox.com/u/15580841/APK/z4root.1.3.0.apk?referer=');">z4root</a>; el recovery <a href="http://www.androidworld.it/forum/modding-e-firmware-vodafone-smart-189/%5Bguide%5D-vodafone-858-smart-u8160-recovery-root-ed-altro-20081/#post172994" onclick="pageTracker._trackPageview('/outgoing/www.androidworld.it/forum/modding-e-firmware-vodafone-smart-189/_5Bguide_5D-vodafone-858-smart-u8160-recovery-root-ed-altro-20081/_post172994?referer=');">ClockWorkMod</a>; también una <a href="http://forum.xda-developers.com/showthread.php?p=17496969" onclick="pageTracker._trackPageview('/outgoing/forum.xda-developers.com/showthread.php?p=17496969&amp;referer=');">versión modificada de ClockWorkMod</a> para que funcione con CyanogenMod; descargar el port de <a href="http://forum.xda-developers.com/showthread.php?t=1259739" onclick="pageTracker._trackPageview('/outgoing/forum.xda-developers.com/showthread.php?t=1259739&amp;referer=');">CyanogenMod para Vodafone 858 Smart</a> y, opcionalmente, descargar el <a href="http://wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps" onclick="pageTracker._trackPageview('/outgoing/wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps&amp;referer=');">último pack de aplicaciones de Google</a> <strong>para CyanogenMod 7</strong>. Esto último instala unas cuantas aplicaciones de Google, las cuales, si no las instalas de esa forma, puedes hacerlo manualmente después desde el Market. Simplemente ahorra algo de trabajo después.</p>
<p><strong>NOTA 1:</strong> no enlazo a las versions existentes —salvo con la app z4root—, si no a la página índice de descarga de cada una de ellas, para que busquéis la versión más reciente que exista en el momento. Aseguraos bien que descargáis la última versión, e id echándole un ojo periódicamente a las páginas, porque van actualizándose con nuevas versiones.<br />
<strong>NOTA 2:</strong> Si utilizas Windows debes tener también instalados los drivers, si no los tienes: <a href="http://www.dc-unlocker.com/test/Pulse_Drivers_xp_w7_w764.zip" onclick="pageTracker._trackPageview('/outgoing/www.dc-unlocker.com/test/Pulse_Drivers_xp_w7_w764.zip?referer=');">descárgatelos aquí</a> —gracias, <strong>Hohen</strong>.</p>
<h3>Manos a la obra, instalemos CyanogenMod</h3>
<p>La segunda parte es la que más complicación puede darnos, pero de verdad que es muy fácil; simplemente hay que conseguir que la aplicación que instala el recovery en nuestro teléfono nos lo detecte como conectado —es decir, que esté conectado al ordenador vía USB—, lo demás es tan sencillo que hasta lo hace sin que nosotros tengamos que hacer nada.</p>
<h4>Instalar z4root:</h4>
<p><img src="http://blog.fjp.es/wp-content/uploads/z4root.png" alt="" title="z4root" width="240" height="320" class="derecha-borde size-full wp-image-2788" />Con esta aplicación lo que vamos a hacer es <em>rootear</em> nuestro Android. Para poder hacer todo lo demás, si no no sería posible. Cuando la tengamos descargada en nuestro ordenador, hay que pasarla al teléfono para instalarla. La forma más fácil es tener un lector de códigos QR —por ejemplo <a href="https://market.android.com/details?id=com.google.zxing.client.android" onclick="pageTracker._trackPageview('/outgoing/market.android.com/details?id=com.google.zxing.client.android&amp;referer=');">Barcode Scanner</a>—, irnos a la página <a href="http://www.apkinstall.com/" onclick="pageTracker._trackPageview('/outgoing/www.apkinstall.com/?referer=');">APK Install</a>, subir el archivo y cuando nos salga el código con el lector de códigos lo leemos y comenzará a descargar nuestra app. Es muy sencillo. Una vez descargada, la instalamos y la ejecutamos.</p>
<p>La facilidad de manejo de esta app es pasmosa ya que cuando la ejecutemos únicamente tendremos un botón llamado <strong>root</strong>; lo pulsaremos, esperaremos un poco para que haga todo lo que tenga que hacer —en la parte inferior de la app va mostrándonos todo lo que va haciendo— y cuando termine el teléfono se reiniciará solo y ya tendremos nuestro Android <em>rooteado</em>. Para asegurarnos, en la lista de aplicaciones veremos una app que se llama <em>Superusuario</em>. </p>
<h4>Recovery ClockWorkMod <em>oficial</em>:</h4>
<p>Ahora vamos a instalar ClockWorkMod. Para quien no sepa qué es un recovery, y explicado de un modo para que se entienda, es un menú que carga antes de iniciarse el teléfono donde tendremos unas cuantas acciones extra, que si no se instala, no existirían. Una de ellas sirve para instalar archivos que estén en la memoria externa.</p>
<p>Descomprimimos el archivo que hemos descargado y veremos ciertos archivos. Tres de ellos son para poder instalarlo en el teléfono desde los tres sistemas operativos que todos tenemos: Mac, Linux o Windows. En mi caso, obviamente, lo realicé desde Mac, pero el proceso es prácticamente idéntico para todos ellos. Os lo muestro:</p>
<ul>
<li><strong>En Mac</strong> nos vamos al Terminal, navegamos al directorio donde tenemos descomprimida la carpeta, y justo ahí tecleamos estos dos comandos:
<pre class="brush:shell">chmod +x install-recovery-mac.sh
./install-recovery-mac.sh</pre>
</li>
<li><strong>En Linux</strong> nos vamos al Terminal, navegamos al directorio donde tenemos descomprimida la carpeta, y justo ahí tecleamos estos dos comandos:
<pre class="brush:shell">chmod +x install-recovery-linux.sh
./install-recovery-linux.sh</pre>
</li>
<li><strong>En Windows</strong> ejecutamos el archivo <strong>install-recovery-windows.bat</strong> y se nos abrirá una ventana de DOS.
</ul>
<p>Sea cual sea el caso, aparecerá una línea de espera hasta que detecte que nuestro terminal tiene conexión con el ordenador. Para que podamos controlarlo, la línea será esta: <strong>< waiting for device ></strong>. Apagamos el móvil, lo conectamos por USB al ordenador, precionamos la tecla de bajar volumen y <strong>a la vez</strong> la tecla de encendido; con esto, la aplicación en ejecución detectará el teléfono. Una vez detecte que el teléfono conectó, irán añadiéndose 3 ó 4 líneas por debajo de esa, indicando que el proceso va completándose. Cuando concluya el teléfono se reiniciará y tendremos el recovery instalado. Puede tardar un poco más en arrancarse, no os preocupéis que no pasa nada.</p>
<h4>Versión modificada de Recovery ClockWorkMod:</h4>
<p><img src="http://blog.fjp.es/wp-content/uploads/clockworkmod.png" alt="" title="clockworkmod" width="240" height="320" class="derecha-borde size-full wp-image-2792" />Una vez instalado Recovery ClockWorkMod la forma más fácil de instalar su <em>actualización</em> es desde el propio recovery. Y para ello necesitamos que el archivo esté en la tarjeta externa. Conectamos el móvil por usb al ordenador, lo ponemos en modo transmisión de datos y en la raíz de la tarjeta externa colocamos el archivo modificado de ClockWorkMod que hemos descargado previamente. Y aunque ahora no lo necesitemos, podemos poner también el zip que contiene CyanogenMod y —recordemos que esto es opcional— si nos lo descargamos, también el paquete de aplicaciones de Google para CyanogenMod 7. Una vez hecho, salimos del modo transmisión de datos y desconectamos el móvil del usb.</p>
<p>Para entrar en el recovery tenemos que apagar el teléfono. estando apagado presionamos la tecla de subir volumen y <strong>a la vez</strong> el botón de encendido; sin soltarlos, esperamos hasta que nos aparezca un menú como el que acompaña la imagen de la derecha. Con las teclas de volumen +/- navegamos arriba/abajo por el menú, y con la tecla de encendido seleccionamos la opción. Navegamos hasta la opción que dice <strong>install zip from sdcard</strong>, de ahí nos vamos a la opción <strong>choose from sdcard</strong>. En este caso, y hasta que salga una nueva versión —básicamente, porque el nombre del archivo cambiará, con los números de la nueva versión—, seleccionamos el archivo <strong>ClockworkMod-u8160-v0.1.zip</strong> y le damos a instalar. Cuando termine, volvemos al menú y le damos a la última opción: <strong>power off</strong>, para apagar el teléfono.</p>
<h4>Instalando CyanogenMod</h4>
<p>Volvemos a presionar la tecla de subir volumen y <strong>a la vez</strong> la de encendido, hasta que nos aparezca de nuevo el mismo menú de antes: del del RecoveryClockMod. Vuelvo a recordar que con las teclas de volumen +/- navegamos arriba/abajo por el menú, y con la tecla de encendido seleccionamos la opción. Nos ejecutamos las opciones <strong>wipe data/factory reset</strong> y <strong>wipe cache partition</strong> y dejamos que proceda. Con esto estaremos dejando el móvil sin nada, tal como vendría de fábrica —es esencial para que funcione bien.</p>
<p>Ahora vamos a hacer lo mismo de antes: <strong>install zip from sdcard</strong>, de ahí nos vamos a la opción <strong>choose from sdcard</strong>. En este caso, instalamos CyanogenMod, así que el archivo que tendremos que seleccionar para instalar es —recordemos que los números pueden variar dependiendo de la versión que se descargue, cuando vayan habiendo actualizaciones— <strong>update-cm-7.1.0-RC1-u8160-v0.1-signed.zip</strong>. Tradrará un poco, hasta que al final ponga que está completado. Una vez finalizado y si hemos optado por instalar también el paquete de aplicaciones de Google, es el momento de instalarlo. Haciendo de nuevo lo mismo que para instalar cualquier archivo zip de la tarjeta externa. Recordemos que si no hemos querido hacerlo no hay ningún problema, es opcional.</p>
<h3>Últimos pasos, ¡ya casi está!</h3>
<p>Ahora volvemos de nuevo al menú y seleccionamos la primera opción: <strong>reboot system now</strong>. Se nos reiniciará el móvil y veremos el logo de carga de CyanogenMod. Tardará un rato en arrancar, no desesperéis y estad tranquilos, que tarda. Cuando arranque, aparecerá de nuevo la pantalla que apareció cuando compramos el móvil: seleccionar el idioma y la breve introducción, introducir una cuenta de Google, probar el teclado, etc. Ya sabéis. Y una vez hecho, tendremos nuestro flamante con CyanogenMod instalado. Seguro que cuando vayáis probando como funciona habrá merecido la pena hacer tantas cosas.</p>
<h3>Restaurar el teléfono de fábrica</h3>
<p>Gracias a <strong>Yokema</strong>, en los comentarios, podemos conseguir una forma de restaurar el teléfono y dejarlo con el <a href="http://www.filefactory.com/file/ccfc795/n/stock_Rom_u8160_SPAIN_Vodafone_.zip" onclick="pageTracker._trackPageview('/outgoing/www.filefactory.com/file/ccfc795/n/stock_Rom_u8160_SPAIN_Vodafone_.zip?referer=');">firmware de fábrica de Vodafone</a>. Dentro del archivo comprimido que se descarga viene un documento explicativo para saber cómo debemos proceder. <strong>Personalmente no lo he probado, pero se supone que está facilitado por Huawei, así que debería funcionar</strong>.</p>
<h3>Advertencia</h3>
<p><strong>Quiero dejar claro que no me hago responsable de cualquier daño que se le pueda hacer al teléfono móvil mientras se sigue este tutorial</strong>. También quiero dejar claro que <strong>yo lo he hecho, que no me ha pasado nada, y que no tiene por qué pasar nada</strong>. Es algo seguro, que cientos de personas hacen y no ocurre nunca nada. No tiene por qué. Pero ya sabéis.</p>
<p><strong>Espero que os haya servido de utilidad.</strong></p>
<p class="aviso">Todas las versiones posteriores al día 3 de febrero de 2012 se instalan desde un nuevo método, podéis seguir el tutorial para instalar <a href="http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160-rom-manager/">CyanogenMod en Vodafone 858 Smart (Huawei U8160) mediante ROM Manager</a>.</p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=CyanogenMod en Vodafone 858 Smart (Huawei U8160): http://bit.ly/n6sczM /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=CyanogenMod_en_Vodafone_858_Smart_Huawei_U8160_http_//bit.ly/n6sczM_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/&t=CyanogenMod en Vodafone 858 Smart (Huawei U8160)" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/_t=CyanogenMod_en_Vodafone_858_Smart_Huawei_U8160&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/cyanogenmod-en-vodafone-858-smart-huawei-u8160/feed/</wfw:commentRss>
		<slash:comments>226</slash:comments>
		</item>
		<item>
		<title>Distancia en avisos de radares para el GPS</title>
		<link>http://blog.fjp.es/distancia-en-avisos-de-radares-para-el-gps/</link>
		<comments>http://blog.fjp.es/distancia-en-avisos-de-radares-para-el-gps/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 17:23:11 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[poi]]></category>
		<category><![CDATA[tomtom]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=2748</guid>
		<description><![CDATA[Prácticamente todos tenemos un GPS relativamente moderno que nos permite agregar puntos de interés en ruta; que nos los muestre en el mapa, y además, también que nos avise con una señal acústica o voz cuando uno de ellos está próximo. Y todos los que conocemos la existencia de esta función también la asociamos a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/tutorial.png" alt="tutorial" title="tutorial" width="128" height="128" class="derecha size-full wp-image-232" /> Prácticamente todos tenemos un GPS relativamente moderno que nos permite agregar puntos de interés en ruta; que nos los muestre en el mapa, y además, también que nos avise con una señal acústica o voz cuando uno de ellos está próximo. Y todos los que conocemos la existencia de esta función también la asociamos a los puntos de interés de radares. Estos se encargan de avisarnos cuando tenemos un radar cerca y nos muestra la velocidad máxima permitida de circulación en esa vía. Como no es un detector de radares, su uso está permitido y es legal.</p>
<p>Pues bien, yo los vengo utilizando desde hace muchos años. Aunque cuando configuras el aviso en ruta, siempre te pide que introduzcas una distancia —en metros— para que te avise antes de llegar a ese radar. En Tomtom al menos, que es lo que siempre utilicé yo, por defecto ponen 250 metros y siempre lo había dejado así, como viene por defecto. Pero es cierto que es perfecto para cuando hay un radar en un tramo donde la velocidad de circulación es baja, pero que se queda demasiado corto si por ejemplo estamos circulando por una autovía o autopista cuya velocidad máxima son 120 kilómetros por hora.</p>
<p>Pensando la distancia ideal para cada uno de ellos, me topé con <a href="http://personal.telefonica.terra.es/web/kachoperro/esActivar%20avisos%20POIs.htm" onclick="pageTracker._trackPageview('/outgoing/personal.telefonica.terra.es/web/kachoperro/esActivar_20avisos_20POIs.htm?referer=');">esta página</a>, la cual pone unas distancias bastante lógicas y creo que acertadas. En mi GPS ya lo tengo configurado así, y ahora procedo a compartirlo para que podáis utilizarlo también quienes gustéis.</p>
<ul>
<li>Velocidad máxima a 30km/h: <strong>200 metros</strong>.</li>
<li>Velocidad máxima a 40km/h: <strong>250 metros</strong>.</li>
<li>Velocidad máxima a 50km/h: <strong>375 metros</strong>.</li>
<li>Velocidad máxima a 60km/h: <strong>450 metros</strong>.</li>
<li>Velocidad máxima a 70km/h: <strong>525 metros</strong>.</li>
<li>Velocidad máxima a 80km/h: <strong>600 metros</strong>.</li>
<li>Velocidad máxima a 90km/h: <strong>675 metros</strong>.</li>
<li>Velocidad máxima a 100km/h: <strong>750 metros</strong>.</li>
<li>Velocidad máxima a 120km/h: <strong>900 metros</strong>.</li>
<li>Radares de tramo: <strong>750 metros</strong>.</li>
<li>Radares dudosos: <strong>750 metros</strong>.</li>
<li>Puntos negros: <strong>750 metros</strong>.</li>
<li>Control de alcoholemia: <strong>750 metros</strong>.</li>
</ul>
<p>Con esto seguro que si vamos adelantando y nos pasamos unos —pocos— kilómetros de más, nos dará tiempo a volver a nuestro carril y circular correctamente a la velocidad máxima a la que nuestros políticos piensan que deberíamos circular todos&#8230; desde hace un buen porrón de años. Pero eso es tema de discusión aparte.</p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/distancia-en-avisos-de-radares-para-el-gps/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/distancia-en-avisos-de-radares-para-el-gps/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/distancia-en-avisos-de-radares-para-el-gps/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=Distancia en avisos de radares para el GPS: http://bit.ly/nMHhHJ /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Distancia_en_avisos_de_radares_para_el_GPS_http_//bit.ly/nMHhHJ_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/distancia-en-avisos-de-radares-para-el-gps/&t=Distancia en avisos de radares para el GPS" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/distancia-en-avisos-de-radares-para-el-gps/_t=Distancia_en_avisos_de_radares_para_el_GPS&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/distancia-en-avisos-de-radares-para-el-gps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>phpBB: abrir enlaces en ventana externa</title>
		<link>http://blog.fjp.es/phpbb-abrir-enlaces-en-ventana-externa/</link>
		<comments>http://blog.fjp.es/phpbb-abrir-enlaces-en-ventana-externa/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 17:10:24 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[phpbb]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=2099</guid>
		<description><![CDATA[Hoy me ha surgido la necesidad de hacer que en un foro phpBB3 todos los mensajes que contuvieran enlaces que pudieran desviar la atención al foro en sí, se abrieran en una ventana externa. Esto, depende como tengamos el navegador configurado, actuará de una forma u otra. Por ejemplo, se le puede indicar al navegador, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/tutorial.png" alt="tutorial" title="tutorial" width="128" height="128" class="derecha size-full wp-image-232" /> Hoy me ha surgido la necesidad de hacer que en un foro phpBB3 <strong>todos los mensajes que contuvieran enlaces que pudieran desviar la atención al foro en sí, se abrieran en una ventana externa</strong>. Esto, <strong>depende como tengamos el navegador configurado</strong>, actuará de una forma u otra. Por ejemplo, se le puede indicar al navegador, que los mensajes que por defecto debieran abrirse en una ventana nueva, que se abran en una pestaña nueva. A gusto de cada cual, pero <strong>el caso es que no hará que nuestros visitantes pierdan de vista nuestro foro</strong>. Bien sea dejándolo en una pestaña, o en una ventana que siempre estará en la parte inferior una vez cierren la que se superpone, con el enlace al cual hicieron click. Para quien le interese, es bien fácil de conseguirlo.</p>
<p>Simplemente hay que acudir a la raíz de nuestro foro, buscar el archivo <strong>viewtopic.php</strong>, abrirlo, y localizar estas dos líneas:</p>
<pre class="brush:php">$message = bbcode_nl2br($message);
$message = smiley_text($message);</pre>
<p>Y justo debajo de ellas, añadimos esta otra:</p>
<pre class="brush:php">$message = preg_replace('/(class="postlink")/','class="postlink" onclick="window.open(this.href);return false;"',$message);</pre>
<p>Tan fácil como eso, no tiene mayor misterio. Por las dudas, ésto sirve tanto para mensajes que contengan enlaces <strong>que ya existan en el foro</strong>, como para los mensajes que se creen <strong>después</strong> de esta modificación. <strong>No hay que hacer absolutamente nada más</strong>.</p>
<p>Dudas, sobornos, donaciones anónimas&#8230; <strong>en los comentarios</strong>. <img src='http://blog.fjp.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/phpbb-abrir-enlaces-en-ventana-externa/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/phpbb-abrir-enlaces-en-ventana-externa/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/phpbb-abrir-enlaces-en-ventana-externa/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=phpBB: abrir enlaces en ventana externa: http://bit.ly/gxpPAc /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=phpBB_abrir_enlaces_en_ventana_externa_http_//bit.ly/gxpPAc_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/phpbb-abrir-enlaces-en-ventana-externa/&t=phpBB: abrir enlaces en ventana externa" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/phpbb-abrir-enlaces-en-ventana-externa/_t=phpBB_abrir_enlaces_en_ventana_externa&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/phpbb-abrir-enlaces-en-ventana-externa/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reparar la papelera en Mac</title>
		<link>http://blog.fjp.es/reparar-la-papelera-en-mac/</link>
		<comments>http://blog.fjp.es/reparar-la-papelera-en-mac/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 14:29:25 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=1743</guid>
		<description><![CDATA[Aunque hasta el momento no había tenido problemas con la papelera de Mac, llegaron. El típico problema que no te deje vaciar la papelera porque algún archivo esté usándose es bastante frecuente, así que lo excluyo a la hora de decir que no he tenido problemas con la papelera. Y ya que lo menciono, por [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/tutorial.png" alt="tutorial" title="tutorial" width="128" height="128" class="derecha size-full wp-image-232" />Aunque hasta el momento no había tenido problemas con la papelera de Mac, llegaron. El típico problema que no te deje vaciar la papelera porque algún archivo esté usándose es bastante frecuente, así que lo excluyo a la hora de decir que no he tenido problemas con la papelera. Y ya que lo menciono, por si alguien se lo pregunta, comento la solución. La forma <em>bestia</em>: cerrar sesión (que no reiniciar) e iniciar de nuevo; la forma más correcta: usar alguna aplicación como <a href="http://www.macupdate.com/info.php/id/8214/trash-it!" onclick="pageTracker._trackPageview('/outgoing/www.macupdate.com/info.php/id/8214/trash-it?referer=');">Trash it!</a>. Con <a href="http://www.macupdate.com/info.php/id/11582/onyx" onclick="pageTracker._trackPageview('/outgoing/www.macupdate.com/info.php/id/11582/onyx?referer=');">Onyx</a> (o similares) también se puede solventar.</p>
<p><img src="http://blog.fjp.es/wp-content/uploads/papelera-mac.png" alt="" title="papelera mac" width="500" height="308" class="centro size-full wp-image-1744" /></p>
<p>A lo que iba, que me desvío. Expulsé un <strong>.dmg</strong> junto con un archivo más, enviándolos ambos a la papelera (forma cómoda donde las haya). Más tarde, intenté eliminar otro archivo, pero me salía un mensaje nuevo en pantalla: <strong>Este item se eliminará inmediatamente. Esta acción no puede deshacerse.</strong> No me sonaba de nada, pero pensé que quizá no me había fijado y sucedía siempre. Acepté y es cuando me di cuenta que realmente era nuevo, ya que el archivo no se había ido a la papelera, si no que se había eliminado completamente, sin posibilidad de recuperarlo. En principio, pues no pasa nada, pero a veces viene bien que esté ahí la papelera, por aquellas cosas que eliminas sin darte cuenta.</p>
<p>Intenté hacer un borrado y un borrado seguro con <strong>Trash it!</strong> (la aplicación que ya mencioné antes), pero en ambos casos, sin resultado. ¿Solución? buscar en Google, rara vez falla. Encontré rápidamente la solución, y es muy sencillo. Eliminar la carpeta oculta de la papelera de tu usuario. Aunque pensándolo mejor, y cosa que en ningún sitio vi que nombraran: ¿por qué no mejor borrar todas las papeleras de todos los usuarios (si tenemos más de uno puede que tampoco funcione)? Lo primero que tenemos que hacer es abrir <strong>Terminal</strong>; una vez hecho, ejecutamos este par de comandos.</p>
<pre class="brush:bash">cd /
sudo rm -R .Trashes</pre>
<p>Lo que hacemos con es, <strong>con el primero, nos vamos a la raíz de nuestro disco duro</strong>; <strong>con el segundo, eliminamos la carpeta que contiene todas las papeleras de todos los usuarios</strong>. Para quienes no lo sepáis, al hacer uso del comando <strong>sudo</strong> estamos ejecutando ese comando <strong>con permisos de administrador</strong> (<strong>o root</strong>, como gustéis); es por ello que, tras ejecutarlo, <strong>nos solicitará la contraseña</strong>. No la veréis (no escribe nada por cuestión de privacidad) pero realmente sí estáis escribiéndola. Es normal. </p>
<p>Una vez que esté realizado esto, reiniciamos el ordenador. Si todo salió bien (que no tendría por qué salir mal), tal como me sucedió a mí, todo estaría funcionando tal y como estaba antes. Así que el problema, en sí, tampoco es tan problema&#8230; ya que tiene una solución tan sencilla, ¿no?</p>
<p><strong>Espero que os sirva a alguien de utilidad</strong>.</p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/reparar-la-papelera-en-mac/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/reparar-la-papelera-en-mac/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/reparar-la-papelera-en-mac/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=Reparar la papelera en Mac: http://bit.ly/9Y9V1u /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Reparar_la_papelera_en_Mac_http_//bit.ly/9Y9V1u_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/reparar-la-papelera-en-mac/&t=Reparar la papelera en Mac" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/reparar-la-papelera-en-mac/_t=Reparar_la_papelera_en_Mac&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/reparar-la-papelera-en-mac/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ocultar particiones de OSX del escritorio</title>
		<link>http://blog.fjp.es/ocultar-particiones-de-osx-del-escritorio/</link>
		<comments>http://blog.fjp.es/ocultar-particiones-de-osx-del-escritorio/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 15:33:25 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=1443</guid>
		<description><![CDATA[Quizá para los que, como yo, antes de dar el salto a OSX proveníamos de Linux no es tan difícil dar con la solución a este problema, pero lo más seguro es que quienes provengan del mundo Windows no tengan ni idea de cómo conseguir esto. El problema Me refiero, a la molesta de tener [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/tutorial.png" alt="" title="tutorial" width="128" height="128" class="derecha size-full wp-image-232" />Quizá para los que, como yo, antes de dar el salto a OSX proveníamos de Linux no es tan difícil dar con la solución a este <em>problema</em>, pero lo más seguro es que quienes provengan del mundo Windows no tengan ni idea de cómo conseguir esto. </p>
<h3>El problema</h3>
<p>Me refiero, a <strong>la molesta de tener en nuestro escritorio una partición de uno de nuestros discos duros que jamás vamos a utilizar</strong>. Bien sea, porque se trate de una partición de otro Sistema Operativo, bien sea porque no sea nuestra&#8230; o por lo que Dios quiera que sea. El caso, es que queremos ver todas nuestras unidades de disco montadas, pero no queremos que cada vez que arranquemos nuestro sistema ESA partición concretamente se monte.</p>
<h3>La solución</h3>
<p>Es cierto que <strong>de forma más o menos fácil no se puede conseguir</strong>, porque si seleccionamos la opción de que aparezcan en nuestro escritorio todas las particiones que tenemos montadas, se verán todas sin posibilidad de excepción. Así que lo que <strong>debemos indicarle a nuestro Sistema Operativo es que x partición no se monte nunca automáticamente</strong> hasta que no lo indiquemos nosotros.</p>
<p>Depende del tipo de formato que tenga nuestra unidad de disco, habrá que proceder de una forma u otra. Y más abajo veremos cómo proceder con cada una de ellas. Las particiones, recordemos que <strong>lo más frecuente es que en nuestro OSX tengamos particiones del tipo HFS</strong> (Mac OS Plus) pero también podemos tener particiones de Windows, que serían NTFS o las <em>universales</em>, FAT.</p>
<h3>Escribiendo algunos comandos en el Terminal</h3>
<p>Para obtener el resultado que queremos <strong>debemos manipular el archivo fstab</strong> que se encuentra (tanto en Linux como en OSX) en <strong>/etc/fstab</strong>.<br />
Lo primero, es ver a qué disco duro queremos aplicar los cambios. Y para ello, escribimos en Terminal lo siguiente:</p>
<p><strong>diskutil list</strong></p>
<p>Nos aparecerá una lista de todos los discos montados y deberemos fijarnos en el que queremos (es obvio, pero lo indico por si acaso). Debemos fijarnos en el último apartado, donde veremos algo del tipo diskXsY, donde X e Y son números respectivos al disco duro donde se encuentra y qué partición es. En mi caso fue disk1s2 que indica que es el HD número 1 en su partición número 2. Así pues, nos quedamos con ese valor: disk1s2 (en mi caso, en el vuestro el que sea). Ahora, debemos teclear este comando:</p>
<p><strong>diskutil info disk1s2</strong></p>
<p><strong>Reemplazando</strong>, obviamente, <strong>el identificador de mi disco duro por el que sea en tu caso</strong>. Con los datos que obtengamos de ese comando <strong>deberemos fijarnos, si estamos ante un formateo en HFS o NTFS, en el valor del Volume UUID</strong> que es una cadena alfanumérica bastante larga separada por guiones; <strong>en caso de ser FAT</strong>, no veremos eso pero por contra <strong>tendremos un campo llamado Volume Name</strong>. Y si hay dudas sobre qué tipo de formato viene aplicado en nuestra unidad de disco, en el campo Partition Type nos vendrá indicado. Ahora sólo queda editar el archivo que mencionábamos al principio, el <strong>fstab</strong>. Y para ello, tecleamos en Terminal este comando:</p>
<p><strong>sudo nano /etc/fstab</strong></p>
<p>Tras esto, y para poder editarlo, <strong>nos solicitará la contraseña de administrador</strong>. Si es la primera vez que nos la pide y no lo habíamos visto nunca, nos daremos cuenta que aunque estemos escribiéndola no aparece nada en pantalla&#8230; es un simple sistema de protección de privacidad, aunque no se vea nada, realmente está introduciéndola, así que seguimos introduciéndola y le damos a ENTER.</p>
<p>Lo más seguro es que este archivo este vacío, así que la primera línea será la nuestra. Si por lo que sea no lo está, pues lo que va a continuación lo introducimos debajo de lo que ya haya en el archivo.</p>
<h3>Para discos formateados en HFS&#8230;</h3>
<p>La línea que deberíamos introducir sería esta:</p>
<p><strong>UUID=<font color="green">UUID</font> none hfs ro,noauto 0 0</strong></p>
<p>Reemplazando lo que está en verde por la cadena alfanumérica que obtuvimos del paso anterior.</p>
<h3>Para discos formateados en NTFS&#8230;</h3>
<p>La línea que deberíamos introducir sería esta:</p>
<p><strong>UUID=<font color="green">UUID</font> none ntfs ro,noauto 0 0</strong></p>
<p>Reemplazando lo que está en verde por la cadena alfanumérica que obtuvimos del paso anterior.</p>
<h3>Para discos formateados en FAT&#8230;</h3>
<p>La línea que deberíamos introducir sería esta:</p>
<p><strong>LABEL=<font color="green">NOMBRE</font> none msdos rw,noauto 0 0</strong></p>
<p>Reemplazando lo que está en verde por el valor del Volume Name que obtuvimos del paso anterior.</p>
<h3>Finalizando&#8230;</h3>
<p>Hecho esto <strong>únicamente nos queda cerrar el archivo salvando cambios</strong>. Para lo que deberemos pulsar CTRL+X, presionar Y para confirmar los cambios y ENTER para indicarle que sí queremos que nos lo guarde en ese archivo y no en otro.</p>
<p>Una vez todo completado sólo restará cerrar el Terminal, reiniciar nuestro equipo y comprobar felices como la dichosa partición a la que tanto asco le teníamos y que no queríamos ver ahí por ninguna de las maneras ya no se muestra y somos un poco más felices que antes. <img src='http://blog.fjp.es/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h3>Montando la partición</h3>
<p><strong>Este cambio, por supuesto, no es irreversible</strong>. Si en un momento puntual queremos montar la partición siempre podemos irnos a la aplicación de <strong>Utilidad de Discos</strong>, seleccionar la partición que la encontraremos en la lista de la izquierda, y posteriormente darle al icono de Montar (en la barra de menú de arriba).</p>
<p>Si por contra, nos arrepentimos y queremos que siempre que iniciemos nuestra máquina se monte automáticamente (como ocurría antes de hacer todo esto); simplemente habrá que volver a editar el archivo fstab y, esta vez, eliminar la línea que habíamos introducido para evitar que se montara cada vez que se iniciara el sistema.</p>
<p>No era tan difícil, ¿no? <img src='http://blog.fjp.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/ocultar-particiones-de-osx-del-escritorio/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/ocultar-particiones-de-osx-del-escritorio/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/ocultar-particiones-de-osx-del-escritorio/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=Ocultar particiones de OSX del escritorio: http://bit.ly/fT2GBp /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Ocultar_particiones_de_OSX_del_escritorio_http_//bit.ly/fT2GBp_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/ocultar-particiones-de-osx-del-escritorio/&t=Ocultar particiones de OSX del escritorio" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/ocultar-particiones-de-osx-del-escritorio/_t=Ocultar_particiones_de_OSX_del_escritorio&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/ocultar-particiones-de-osx-del-escritorio/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>BackType Connect, plugin para WordPress</title>
		<link>http://blog.fjp.es/backtype-connect-plugin-para-wordpress/</link>
		<comments>http://blog.fjp.es/backtype-connect-plugin-para-wordpress/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 14:02:35 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=1231</guid>
		<description><![CDATA[Todo empezó con un tweet de Bori en el que preguntaba cómo se podían twittear comentarios relacionados a un artículo como un comentario más en el blog. Le comenté que cuando descubriera cuál hacía eso, que me avisara. Introducción Investigando por mi cuenta llegué hasta el plugin Tweetbacks, pero no me gustó; por la sencilla [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.fjp.es/wp-content/uploads/tutorial.png" rel="lightbox[1231]"><img src="http://blog.fjp.es/wp-content/uploads/tutorial.png" alt="" title="tutorial" width="128" height="128" class="derecha size-full wp-image-232" /></a> Todo empezó con <a href="https://twitter.com/BlogdeBori/status/7174580024" onclick="pageTracker._trackPageview('/outgoing/twitter.com/BlogdeBori/status/7174580024?referer=');">un tweet de Bori</a> en el que preguntaba cómo se podían twittear comentarios relacionados a un artículo como un comentario más en el blog. <a href="https://twitter.com/wizard/status/7176541393" onclick="pageTracker._trackPageview('/outgoing/twitter.com/wizard/status/7176541393?referer=');">Le comenté</a> que cuando descubriera cuál hacía eso, que me avisara. </p>
<h3>Introducción</h3>
<p><a href="https://twitter.com/wizard/status/7176914728" onclick="pageTracker._trackPageview('/outgoing/twitter.com/wizard/status/7176914728?referer=');">Investigando por mi cuenta</a> llegué hasta el plugin <strong>Tweetbacks</strong>, pero no me gustó; por la sencilla razón de que no funcionaba. Y tras seguir buscando, más, más y más&#8230; llegué hasta <a href="http://wordpress.org/extend/plugins/backtype-connect/" onclick="pageTracker._trackPageview('/outgoing/wordpress.org/extend/plugins/backtype-connect/?referer=');">BackType Connect</a>: un plugin específico para <strong>WordPress</strong> que se encarga, además de <strong>poner como un comentario normal más algo que se comente relacionado con alguno de tus artículos en Twitter</strong>, también lo hace con otros servicios como <strong>FriendFedd, Digg, Reddit, Hacker News o, simplemente, comentarios en cualquier blog que tenga RSS</strong> (todos). Genial, ¿no? Al tajo pues.</p>
<h3>Instalación</h3>
<p>Lo primero, obviamente, es descargar el plugin. Que bien se puede hacer desde <a href="http://www.backtype.com/plugins/connect" onclick="pageTracker._trackPageview('/outgoing/www.backtype.com/plugins/connect?referer=');">la página del autor</a>, bien <a href="http://wordpress.org/extend/plugins/backtype-connect/" onclick="pageTracker._trackPageview('/outgoing/wordpress.org/extend/plugins/backtype-connect/?referer=');">desde la página del plugin en WordPress</a> o bien desde el instalador de plugins automático que tenemos en nuestro <strong>WordPress</strong>. Lo activamos y nos dirigimos hacia su página de confiduración, dentro de la sección de <strong>opciones</strong>.</p>
<p>Arriba del todo, en azul, veremos un botón que pone <strong>enable</strong>; hay que darle para que, desde ese momento, todos los comentarios que detecte nos los vaya añadiendo como comentarios a nuestros respectivos artículos.</p>
<p>Tenemos varias opciones de configuración:</p>
<ol>
<li><strong>Comments sort:</strong> con las opciones <strong>Mixed</strong> o <strong>Separate</strong>; que nos vale simplemente para indicar si queremos que los comentarios estén, por orden de llegada (como siempre), junto con el resto de comentarios escritos en el blog o en una sección aparte. En mi caso, según gustos claro, elegí la opción <strong>Mixed</strong> (que viene por defecto) para que estén todos juntos.</li>
<li><strong>Comments summary:</strong> podemos marcarla, o no, depende si queremos que nos muestre el comentario en nuestro blog o no; en mi caso, la dejé marcada.</li>
<li><strong>Link to more comments:</strong> añade un botón al comentario para que podamos ver más comentarios (en Twitter, por ejemplo, daría el usuario del comentarista) de la persona que nos dejó el comentario.</li>
<li><strong>Ignore comments on my own blog:</strong> esta, obviamente, la marcamos. Se entiende: ignora los comentarios que se hagan en el blog propio; que para eso ya están los <strong>pingbacks</strong>.</li>
<li><strong>Ignore retweets:</strong> pues eso, a gusto de cada cual ignoramos, o no, los RT. En mi caso, los ignoro, porque como comentario para el blog no me sirve un RT que no aporte nada más que el tweet original.</li>
<li><strong>Before showing a comment&#8230; An administrator must always approve the comment:</strong> Pues se entiende, pregunta si quieres que los comentarios de este tipo se queden en cola de moderación y que un administrador los apruebe antes. Cuestión de gustos, también.</li>
<li><strong>Use Akismet:</strong> se marca, o no, si quieres que Akismet filtre ese tipo de comentarios en busca de comentarios de spam. Personalmente ésta la veo muy útil; en mi caso, marcada.</li>
</ol>
<p>Tras eso, y en la misma página de configuración, podemos elegir qué medios están activados para importar comentarios: <strong>Blog Comments</strong>, <strong>Twitter</strong>, <strong>FriendFeed</strong>, <strong>Digg</strong>, <strong>Reddit</strong> y <strong>Hacker News</strong>. En mi caso, todos activados. En caso de que algo no me aportara siempre tenemos la opción de eliminarlo desde nuestra sección de comentarios en el panel de administración. Y esto es todo, amigos, tan fácil como esto.</p>
<h3>Un pequeño truco</h3>
<p>Soy demasiado maniático con el idioma; si mi blog está en Español, quiero que todo esté en Español, no con cosas sueltas por ahí en inglés. Este plugin, visiblemente, utiliza varios textos en inglés que, si queremos, podemos traducir al español. Para ello necesitaremos irnos a la carpeta de <strong>plugins</strong> de nuestro <strong>WordPress</strong> y buscar la carpeta del plugin, que se llama <strong>backtype-connect</strong>. Utilizaremos dos archivos para modificarlos: <strong>comment-template.php</strong> y <strong>backtype-connect.php</strong>. Vamos allá.</p>
<p>Archivo <strong>comment-template.php</strong>:
<ol>
<li>Buscamos la penúltima línea del archivo:
<pre class="brush:php">echo '&lt;p class="btc-powered">Additional comments powered by &lt;a href="http://www.backtype.com/search?q=' . get_permalink($post->ID) . '">BackType&lt;/a>&lt;/p>';</pre>
<p> Y podemos traducirla nosotros como queramos; un ejemplo:
<pre class="brush:php">echo '&lt;p class="btc-powered">Comentarios adicionales gracias a &lt;a href="http://www.backtype.com/search?q=' . get_permalink($post->ID) . '">BackType&lt;/a>&lt;/p>';</pre>
</li>
</ol>
<p>Archivo <strong>backtype-connect.php</strong>:
<ol>
<li>Buscamos la línea:
<pre class="brush:php">$desc = '&lt;p>&lt;i>This comment was originally posted on &lt;a href="' . $entry['comment_url'] . '" rel="nofollow"' . (($title != '') ? ' title="' . $title . '"' : '') . '>' . $source . '&lt;/a>&lt;/i>&lt;/p>';</pre>
<p> Y la podemos reemplazar por esto:
<pre class="brush:php">$desc = '&lt;p>&lt;i>Este comentario fue originalmente publicado en &lt;a href="' . $entry['comment_url'] . '" rel="nofollow"' . (($title != '') ? ' title="' . $title . '"' : '') . '>' . $source . '&lt;/a>&lt;/i>&lt;/p>';</pre>
</li>
<li>Ahora buscamos esta línea:
<pre class="brush:php">return (($link == '') ? '' : $link . ' &nbsp; ') . '&lt;a href="' . $profile_url . '">More from author&lt;/a>';</pre>
<p> Y la reemplazamos por esta:
<pre class="brush:php">return (($link == '') ? '' : $link . ' &nbsp; ') . '&lt;a href="' . $profile_url . '">Más del autor&lt;/a>';</pre>
</li>
</ol>
<p>Y con esto y un bizcocho&#8230; <img src='http://blog.fjp.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Espero que os haya servido de ayuda este tutorial.</p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/backtype-connect-plugin-para-wordpress/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/backtype-connect-plugin-para-wordpress/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/backtype-connect-plugin-para-wordpress/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=BackType Connect, plugin para WordPress: http://bit.ly/fIO09Z /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=BackType_Connect_plugin_para_WordPress_http_//bit.ly/fIO09Z_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/backtype-connect-plugin-para-wordpress/&t=BackType Connect, plugin para WordPress" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/backtype-connect-plugin-para-wordpress/_t=BackType_Connect_plugin_para_WordPress&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/backtype-connect-plugin-para-wordpress/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Search and Replace, plugin para WordPress</title>
		<link>http://blog.fjp.es/search-and-replace-plugin-para-wordpress/</link>
		<comments>http://blog.fjp.es/search-and-replace-plugin-para-wordpress/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 16:36:53 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=1155</guid>
		<description><![CDATA[Cuando me ocurrió aquél problema con las codificaciones hace poco, tras un comentario de zanguanga, descubrí el plugin Search and Replace. Y la verdad es que es muy útil. Voy a explicaros, un poco por encima (aunque es muy fácil) cómo funciona y, además, aportaré unas modificaciones que le realicé para que su rendimiento sea [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/tutorial.png" alt="" title="tutorial" width="128" height="128" class="derecha size-full wp-image-232" /> Cuando me ocurrió <a href="http://blog.fjp.es/wordpress-2-9/">aquél problema con las codificaciones</a> hace poco, tras un comentario de <a href="http://www.zanguanga.com/" onclick="pageTracker._trackPageview('/outgoing/www.zanguanga.com/?referer=');">zanguanga</a>, descubrí el plugin <a href="http://wordpress.org/extend/plugins/search-and-replace/" onclick="pageTracker._trackPageview('/outgoing/wordpress.org/extend/plugins/search-and-replace/?referer=');">Search and Replace</a>. Y la verdad es que es muy útil. Voy a explicaros, un poco por encima (aunque es muy fácil) cómo funciona y, además, aportaré unas modificaciones que le realicé para que su rendimiento sea aún más óptimo.</p>
<h3>Funcionamiento</h3>
<p>Como bien indica el nombre del plugin, lo que hace es buscar una cadena de texto que nosotros le especifiquemos y, asimismo, reemplazarla por la que nosotros le indiquemos. En mi caso, me hubiera sido muy útil para reparar los errores de codificación, ya que proporcionándole el carácter erróneo que hemos obtenido, sabiendo por cuál debe ser reemplazado correctamente, e indicándoselo, tendríamos la papeleta resuelta en un santiamén.</p>
<p><a href="http://blog.fjp.es/wp-content/uploads/search-and-replace.png" rel="lightbox[1155]"><img src="http://blog.fjp.es/wp-content/uploads/search-and-replace.png" alt="" title="search-and-replace" width="500" height="325" class="centro-borde size-full wp-image-1156" /></a></p>
<p>La imagen que os proporciono arriba es lo que veríamos tras, una vez instalado el plugin, irnos al panel de administración y a su sección de configuración. Como veis, es muy sencillo. Simplemente basta con seleccionar las tablas en las que queremos que se consulten las búsquedas (generalmente, todas), indicarle la cadena de texto a buscar y la cadena de texto por la que será reemplazada.</p>
<h3>Modificación</h3>
<p>Es cierto que el plugin es bastante completo, pero en mi caso que tenía toda la codificación patas arriba me fue útil añadirle dos <em>zonas</em> más donde hacer las consultas y las posteriores modificaciones, si las requiere. Y es que, en los perfiles de nuestros usuarios registrados, es probable que tengamos alguno con algún carácter extraño, alguna letra acentuada, o incluso la letra ñ. Y, en estos casos, el plugin tal como viene <em>de serie</em> no haría nada porque en esas celdas <em>no se fija</em>. ¿La solución? conseguir que <em>se fije</em> para que podamos cambiarlo también.</p>
<p>Lo primero que debemos hacer es ir a nuestra carpeta de plugins, generalmente en <strong>/public_html/TUBLOG/wp-content/plugins</strong>; de ahí nos vamos a la carpeta del plugin: <strong>search-and-replace</strong> y abrimos el archivo <strong>search-and-replace.php</strong>.</p>
<ol>
<li>Buscamos esta parte del código:
<pre class="brush:php">$query  = "UPDATE $wpdb->usermeta ";
$query .= "SET user_id = ";
$query .= "REPLACE(user_id, \"$search_slug\", \"$replace_slug\") ";
$wpdb->get_results($query);</pre>
<p> Y justo debajo añadimos esto:
<pre class="brush:php">$query  = "UPDATE $wpdb->usermeta ";
$query .= "SET meta_value = ";
$query .= "REPLACE(meta_value, \"$search_text\", \"$replace_text\") ";
$wpdb->get_results($query);</pre>
</li>
<li>Ahora, poco más abajo, buscamos esta otra parte de código:
<pre class="brush:php">$myecho .= searchandreplace_results('user_nicename', 'users', $search_slug);</pre>
<p> Y justo debajo, también, añadimos esto otro:
<pre class="brush:php">$myecho .= searchandreplace_results('display_name', 'users', $search_slug);</pre>
</li>
<li>Más abajo tendremos esta otra parte de código:
<pre class="brush:php">$query .= "SET user_nicename = ";
$query .= "REPLACE(user_nicename, \"$search_slug\", \"$replace_slug\") ";</pre>
<p> Y, como antes, justo debajo añadimos esto:
<pre class="brush:php">$query .= "SET display_name = ";
$query .= "REPLACE(display_name, \"$search_slug\", \"$replace_slug\") ";</pre>
</li>
<li>Buscamos esta línea más abajo:
<pre class="brush:php">&lt;td><label for="user_id_label"><?php _e('field:', 'searchandreplace'); ?> <code>ID</code>, <code>user_id</code>, <code>post_author</code> <?php _e('and', 'searchandreplace'); ?> <code>link_owner</code>&lt;br /><?php _e('table:', 'searchandreplace'); ?><code>_users</code>, <code>_usermeta</code>, <code>_posts</code> <?php _e('and', 'searchandreplace'); ?> <code>_links</code></label>&lt;/td></pre>
<p> Y la <strong>reemplazamos</strong> por esta otra:
<pre class="brush:php">&lt;td><label for="user_id_label"><?php _e('field:', 'searchandreplace'); ?> <code>ID</code>, <code>user_id</code>, <code>meta_value</code>, <code>post_author</code> <?php _e('and', 'searchandreplace'); ?> <code>link_owner</code>&lt;br /><?php _e('table:', 'searchandreplace'); ?><code>_users</code>, <code>_usermeta</code>, <code>_posts</code> <?php _e('and', 'searchandreplace'); ?> <code>_links</code></label>&lt;/td></pre>
</li>
<li>Y, por último, buscamos esta línea:
<pre class="brush:php">&lt;td><label for="user_login_label"><?php _e('field:', 'searchandreplace'); ?> <code>user_login</code> <?php _e('and', 'searchandreplace'); ?> <code>user_nicename</code> table: <code>_users</code></label>&lt;/td></pre>
<p> Y la <strong>reemplazamos</strong> por esta otra:
<pre class="brush:php">&lt;td><label for="user_login_label"><?php _e('field:', 'searchandreplace'); ?> <code>user_login</code>, <code>display_name</code> <?php _e('and', 'searchandreplace'); ?> <code>user_nicename</code> table: <code>_users</code></label>&lt;/td></pre>
</li>
</ol>
<p>Guardamos cambios y ya lo tenemos. Ahora, cuando busque en la base de datos SQL buscará también en los nombres de nuestros usuarios registrados y, si procede, reemplazará la cadena indicada por lo que nosotros queramos.</p>
<p>Espero que os resulte útil.</p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/search-and-replace-plugin-para-wordpress/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/search-and-replace-plugin-para-wordpress/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/search-and-replace-plugin-para-wordpress/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=Search and Replace, plugin para WordPress: http://bit.ly/eBqLac /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Search_and_Replace_plugin_para_WordPress_http_//bit.ly/eBqLac_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/search-and-replace-plugin-para-wordpress/&t=Search and Replace, plugin para WordPress" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/search-and-replace-plugin-para-wordpress/_t=Search_and_Replace_plugin_para_WordPress&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/search-and-replace-plugin-para-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>phpBB: campo de &#8220;ubicación&#8221; obligatorio al registrarse</title>
		<link>http://blog.fjp.es/phpbb-campo-de-ubicacion-obligatorio-al-registrarse/</link>
		<comments>http://blog.fjp.es/phpbb-campo-de-ubicacion-obligatorio-al-registrarse/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 13:18:42 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[phpbb]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=736</guid>
		<description><![CDATA[Supongo que si estás leyendo esto es porque, sea por lo que sea, quieres que los usuarios de tu foro cuando entren rellenen de forma obligatoria el campo de ubicación. Y es que a todos nos gusta saber de dónde son la gente que entra a nuestros foros phpBB, ¿a que sí? Y como verás, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/tutorial.png" alt="tutorial" title="tutorial" width="128" height="128" class="derecha size-full wp-image-232" />Supongo que si estás leyendo esto es porque, sea por lo que sea, quieres que los usuarios de tu foro cuando entren rellenen de forma obligatoria el campo de <strong>ubicación</strong>. Y es que a todos nos gusta saber de dónde son la gente que entra a nuestros foros phpBB, ¿a que sí? Y como verás, hay muchas páginas donde preguntan cómo hacerlo, pero en prácticamente ningún sitio acabas por saber <em>por dónde van los tiros</em>. Bueno, hasta ahora. has dado con el sitio idóneo. <img src='http://blog.fjp.es/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Al tajo.</p>
<h3>Planteamiento</h3>
<p>Todo sería mucho más fácil si, por parte de phpBB, hubieran pensado que sería interesante que todos pudiésemos elegir qué campos iban a ir, o no, a la hora de que un nuevo usuario se registrara en nuestro foro. Los personalizados, sin problema, podemos hacer que aparezcan&#8230; pero el problema viene con los campos que vienen &#8220;de serie&#8221;. No hay forma, a través del panel de control, de hacer que éstos se muestren en la ventana de registro y que sean obligatorios (o no) a gusto del administrador. Como siempre, se puede recurrir a tocar el código fuente y, con este breve tutorial, es lo que vamos a aprender a hacer.</p>
<h3>¿Qué necesitamos?</h3>
<p>Para llevar a cabo la faena tenemos que disponer, o bien de un editor de textos que pueda conectarse a un servidor FTP (donde se supone que tenemos nuestro foro) para modificar archivos, o bien de un editor de textos normal y un cliente de FTP para poder bajarnos los archivos localmente (a nuestro ordenador), modificarlos, y enviárselos de nuevo a nuestro foro.</p>
<h3>Vamos allá pues</h3>
<p>Lo primero que necesitamos es editar nuestro archivo <strong>ucp_register.php</strong>, que lo encontraréis en vuestro directorio raíz del blog yéndoos a la carpeta <strong>includes</strong> y de ahí a la carpeta <strong>ucp</strong>. Vamos, lo que viene siendo la ruta <strong>includes/ucp/ucp_register.php</strong>. Depende de la versión de phpBB que tengamos, las búsquedas que vamos a realizar pueden estar literalmente, o similares. Si no se encuentra literalmente, se puede buscar una única línea y ver que alrededor más o menos hay lo mismo. Aunque no sea exacto cien por cien, funcionará igual. No tiene pérdida.</p>
<ol>
<li>Dentro del citado archivo, buscamos esta porción de código:
<pre class="brush:php">$data = array(
'username'         => utf8_normalize_nfc(request_var('username', '', true)),
'new_password'      => request_var('new_password', '', true),</pre>
<p> y <strong>justo debajo</strong> añadimos esto:</p>
<pre class="brush:php">'location'         => request_var('location', '', true),</pre>
</li>
<li>Ahora, dentro del mismo archivo, buscamos esto:
<pre class="brush:php">'email'            => array(
array('string', false, 6, 60),
array('email')),
'email_confirm'      => array('string', false, 6, 60),</pre>
<p>y tras eso añadimos esto:</p>
<pre class="brush:php">'location'         => array('string', false, 5, 60),</pre>
</li>
<li>Buscamos este código:
<pre class="brush:php">$user_row = array(
'username'            => $data['username'],
'user_password'         => phpbb_hash($data['new_password']),
'user_email'         => $data['email'],</pre>
<p>y posteriormente añadimos esto:</p>
<pre class="brush:php">'user_from'            => $data['location'],</pre>
</li>
<li>Por último buscamos esto:
<pre class="brush:php">$template->assign_vars(array(
'ERROR'            => (sizeof($error)) ? implode('', $error) : '',
'USERNAME'         => $data['username'],
'PASSWORD'         => $data['new_password'],
'PASSWORD_CONFIRM'   => $data['password_confirm'],</pre>
<p>y tras ese código añadimos esto:</p>
<pre class="brush:php">'LOCATION'         => $data['location'],</pre>
</li>
</ol>
<p>Ahora, para que nuestros usuarios lo rellenen cuando se registren, tenemos que ponerlo en la plantilla de registro, para ello dependiendo de la plantilla que tengamos activada el archivo estará en una carpeta u otra. La ruta directa sería así: <strong>styles/PLANTILLA/template/ucp_register.html</strong>, donde pone PLANTILLA tendremos que sustituirlo por el nombre de nuestra plantilla activa. Por ejemplo, en mi caso, uso la plantilla <strong>prosilver</strong>, así que mi ruta sería: <strong>styles/prosilver/template/ucp_register.html</strong>. Vamos allá.</p>
<ol>
<li>Dentro del archivo <strong>ucp_register.html</strong> buscamos esta porción de código:
<pre class="brush:php">
<dl>
<dt><label for="password_confirm">{L_CONFIRM_PASSWORD}:</label></dt>
<dd>
<input type="password" tabindex="5" name="password_confirm" id="password_confirm" size="25" value="{PASSWORD_CONFIRM}" class="inputbox autowidth" title="{L_CONFIRM_PASSWORD}" /></dd>
</dl>
</pre>
<p> y justo tras eso añadimos esto:</p>
<pre class="brush:php">
<dl>
<dt><label for="location">{L_LOCATION}:</label></dt>
<dd>
<input type="text" tabindex="4" name="location" id="location" size="25" value="{LOCATION}" class="inputbox autowidth" title="{LOCATION}" /></dd>
</dl>
</pre>
</li>
</ol>
<h3>Nota final</h3>
<p>Y con esto está todo. Ahora supongo que los más impacientes habréis ido corriendo a probarlo, pero habréis visto que no os funciona, ¿es así? <img src='http://blog.fjp.es/wp-includes/images/smilies/icon_lol.gif' alt='xD' class='wp-smiley' />  Bueno, pues sólo falta un pequeño detalle. En phpBB3 hay un sistema de <em>cache</em> que almacena todas las plantillas para que no haya que cargarlas vez tras vez ofreciendo una mayor velocidad a la hora de conectar al foro. En la pantalla GENERAL del Panel de Administración veréis que hay una opción que se llama <strong>Limpiar el cache</strong>, y justo debajo un botón que pone <strong>Ejecutar</strong>; click et voilà!</p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/phpbb-campo-de-ubicacion-obligatorio-al-registrarse/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/phpbb-campo-de-ubicacion-obligatorio-al-registrarse/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/phpbb-campo-de-ubicacion-obligatorio-al-registrarse/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=phpBB: campo de &#8220;ubicación&#8221; obligatorio al registrarse: http://bit.ly/f6GWf6 /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=phpBB_campo_de_8220_ubicaci_n_8221_obligatorio_al_registrarse_http_//bit.ly/f6GWf6_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/phpbb-campo-de-ubicacion-obligatorio-al-registrarse/&t=phpBB: campo de &#8220;ubicación&#8221; obligatorio al registrarse" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/phpbb-campo-de-ubicacion-obligatorio-al-registrarse/_t=phpBB_campo_de_8220_ubicaci_n_8221_obligatorio_al_registrarse&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/phpbb-campo-de-ubicacion-obligatorio-al-registrarse/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Crear nuevos atajos de teclado en Mac</title>
		<link>http://blog.fjp.es/crear-nuevos-atajos-de-teclado-en-mac/</link>
		<comments>http://blog.fjp.es/crear-nuevos-atajos-de-teclado-en-mac/#comments</comments>
		<pubDate>Thu, 07 May 2009 17:47:32 +0000</pubDate>
		<dc:creator>Javi</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://blog.fjp.es/?p=385</guid>
		<description><![CDATA[Un Tweet de Miguel de esta tarde me llevó a pensar lo que había hecho hace un par de días. Y es que si existe algún atajo de teclado para enviar un correo en Apple Mail lo desconozco, pero yo me creé el mío propio. Y es muy fácil de hacerlo, tanto con la aplicación [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.fjp.es/wp-content/uploads/crear-atajos-teclado.png" alt="Crear atajos de teclado" title="Crear atajos de teclado" width="500" height="449" class="centro-borde size-full wp-image-386" /></p>
<p><a href="http://twitter.com/MiguelOSX/status/1727874678" onclick="pageTracker._trackPageview('/outgoing/twitter.com/MiguelOSX/status/1727874678?referer=');pageTracker._trackPageview('/outgoing/twitter.com/MiguelOSX/status/1727874678?referer=');">Un Tweet</a> de <a href="http://mdelhoyo.com" onclick="pageTracker._trackPageview('/outgoing/mdelhoyo.com?referer=');pageTracker._trackPageview('/outgoing/mdelhoyo.com?referer=');">Miguel</a> de esta tarde me llevó a pensar lo que había hecho hace un par de días. Y es que si existe algún atajo de teclado para enviar un correo en <a href="http://www.apple.com/es/macosx/features/mail.html" onclick="pageTracker._trackPageview('/outgoing/www.apple.com/es/macosx/features/mail.html?referer=');pageTracker._trackPageview('/outgoing/www.apple.com/es/macosx/features/mail.html?referer=');">Apple Mail</a> lo desconozco, pero <strong>yo me creé el mío propio</strong>. Y es muy fácil de hacerlo, tanto con la aplicación <strong>Apple Mail</strong> como con cualquiera de las que tengas instaladas en tu <strong>Mac</strong>.</p>
<p>Sólo debes irte al <strong>Panel de Preferencias</strong> &#8211; <strong>Teclado y ratón</strong> &#8211; <strong>Funciones rápidas de teclado</strong>. Ahí le damos al botón de <strong>+</strong> y saldrá la ventana que pongo en la imagen que inicia este artículo.</p>
<p>Como se puede ver, sólo hay que indicar a qué aplicación queremos añadir el atajo de teclado, escribir el nombre del comando que queremos ejecutar (en mi caso &#8220;Enviar&#8221;) y asignarle el atajo deseado. Bien rápido, fácil y cómodo.</p>
<p>Cosas como esta es la que hacen que me encante Mac. <img src='http://blog.fjp.es/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h4>¿Te gustó este artículo?</h4><p><a href="http://blog.fjp.es/crear-nuevos-atajos-de-teclado-en-mac/#comments">Coméntame</a>, envíame a <a href="http://bitacoras.com/anotaciones/blog.fjp.es/crear-nuevos-atajos-de-teclado-en-mac/" onclick="pageTracker._trackPageview('/outgoing/bitacoras.com/anotaciones/blog.fjp.es/crear-nuevos-atajos-de-teclado-en-mac/?referer=');">bitacoras.com</a>, <a href="http://twitter.com/home/?status=Crear nuevos atajos de teclado en Mac: http://bit.ly/e8Jgfc /cc @fjpalacios" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Crear_nuevos_atajos_de_teclado_en_Mac_http_//bit.ly/e8Jgfc_/cc_fjpalacios&amp;referer=');">twittéame</a>, o <a href="http://www.facebook.com/sharer.php?u=http://blog.fjp.es/crear-nuevos-atajos-de-teclado-en-mac/&t=Crear nuevos atajos de teclado en Mac" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//blog.fjp.es/crear-nuevos-atajos-de-teclado-en-mac/_t=Crear_nuevos_atajos_de_teclado_en_Mac&amp;referer=');">facebookéame</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fjp.es/crear-nuevos-atajos-de-teclado-en-mac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

