<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4247554343597078943</id><updated>2026-10-15T12:54:48.866+02:00</updated><category term="Bitcoin"/><category term="Codex"/><category term="Español"/><category term="GPT-OSS-20B"/><category term="IA local"/><category term="Raspberry Pi"/><category term="Rasputin"/><category term="ShinkaEvolve"/><category term="VideoCore IV"/><category term="google"/><category term="mac"/><category term="rails"/><category term="RSS"/><category term="amazon"/><category term="analytics"/><category term="boot camp"/><category term="coda"/><category term="composer"/><category term="dependency-management"/><category term="disk utility"/><category term="error"/><category term="google chrome"/><category term="google+"/><category term="integration"/><category term="macports"/><category term="minimum-requirements"/><category term="mysql"/><category term="openid"/><category term="osx"/><category term="partition error"/><category term="performance"/><category term="php"/><category term="privacy settings"/><category term="pry"/><category term="psych"/><category term="ruby"/><category term="ruby-1.9.2"/><category term="wish list"/><title type='text'>+1 Usefulness</title><subtitle type='html'>The quality of being of practical use</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-1544864076459350841</id><published>2026-10-14T23:05:58.000+02:00</published><updated>2026-10-15T12:54:48.866+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bitcoin"/><category scheme="http://www.blogger.com/atom/ns#" term="Codex"/><category scheme="http://www.blogger.com/atom/ns#" term="Español"/><category scheme="http://www.blogger.com/atom/ns#" term="GPT-OSS-20B"/><category scheme="http://www.blogger.com/atom/ns#" term="IA local"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Rasputin"/><category scheme="http://www.blogger.com/atom/ns#" term="ShinkaEvolve"/><category scheme="http://www.blogger.com/atom/ns#" term="VideoCore IV"/><title type='text'>El control incómodo</title><content type='html'>&lt;div lang=&quot;es&quot;&gt;
&lt;p&gt;&lt;em&gt;El primer ensayo de Rasputin con Shinka y GPT-OSS-20B funcionó. La propuesta directa del modelo siguió siendo más rápida que las cuatro salidas del proceso de búsqueda.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Después de conseguir que la Raspberry Pi minara correctamente, tocaba probar la idea que justificaba buena parte del laboratorio: utilizar un modelo local para proponer cambios y dejar que los resultados de las pruebas orientaran la búsqueda. El 6 de septiembre pusimos a trabajar a GPT-OSS-20B con Shinka. Había una referencia con la que comparar, comprobaciones independientes y una pregunta concreta. Al terminar, el sistema había ejecutado el trabajo previsto. El minero no había mejorado respecto al control directo.&lt;/p&gt;
&lt;p&gt;Me parece un buen punto de partida para contar esta parte de Rasputin. Cuando uno dedica tiempo a conectar un modelo, un evaluador y una máquina remota, resulta bastante fácil confundir el alivio de verlos funcionar con la satisfacción de haber conseguido algo mejor. El registro se llena de candidatos, puntuaciones y comprobaciones. Todo eso acredita actividad. La utilidad del procedimiento sigue necesitando una comparación.&lt;/p&gt;
&lt;p&gt;En &lt;a href=&quot;https://plususefulness.blogspot.com/2026/10/la-primera-hora-de-rasputin.html&quot;&gt;la primera entrega&lt;/a&gt; dejamos una versión del minero que había superado una hora de funcionamiento. Para el siguiente ensayo mantuvimos fijo su código de cálculo. El modelo no tenía permiso para reescribir el ensamblador de las QPUs, las unidades de la GPU que ejecutaban los hashes. Su margen de intervención consistía en elegir cuántas utilizar: una, dos, cuatro, ocho o doce. Era un encargo deliberadamente limitado. Antes de darle más libertad, convenía averiguar si podíamos evaluar lo que propusiera.&lt;/p&gt;
&lt;p&gt;El reparto de tareas seguía siendo el mismo. GPT-OSS-20B se ejecutaba en el PC con la NVIDIA, mediante llama.cpp y con cuantización MXFP4. Shinka organizaba las propuestas y recogía sus evaluaciones. La Raspberry Pi hacía los cálculos; una implementación independiente en CPU comprobaba los resultados. El modelo podía proponer una configuración. La medida y la corrección quedaban fuera de su criterio.&lt;/p&gt;
&lt;p&gt;También hicimos algo menos aparatoso: pedir una propuesta directamente al modelo, sin pasar por la búsqueda de Shinka. Ese control eligió utilizar doce QPUs y obtuvo unos 53.247 hashes por segundo en el ensayo. Las cuatro propuestas de Shinka utilizaron cuatro QPUs y se movieron entre 25.582 y 26.782 hashes por segundo. Son medidas del mismo banco de prueba, con el tiempo contado por el ejecutor. No son nuevas pruebas de una hora ni cifras que debamos intercambiar con el rendimiento sostenido del primer capítulo.&lt;/p&gt;
&lt;p&gt;Hay un detalle que cambia la lectura. La política inicial de Shinka utilizaba una sola QPU y rondaba los 7.644 hashes por segundo. Respecto a ese punto de partida, pasar a cuatro fue una mejora. Si hubiéramos enseñado únicamente esa progresión, habríamos podido contar una historia bastante agradecida sobre un sistema que aprende a optimizar. El control directo la complicaba: una respuesta del mismo modelo había elegido una configuración más rápida. Mejorar una mala referencia no basta para justificar el procedimiento que produce la mejora.&lt;/p&gt;
&lt;p&gt;Además, aquellas cuatro propuestas repetían la misma política. Sus puntuaciones eran distintas porque las mediciones variaban, no porque hubiéramos obtenido cuatro maneras nuevas de calcular. Conviene detenerse en algo tan poco espectacular. Una lista de resultados puede dar una impresión de exploración que el código no sostiene. En un espacio de opciones tan pequeño, probar las configuraciones posibles de forma sistemática era una alternativa que el propio informe dejaba pendiente de comparación. La búsqueda con un modelo también tenía que ganarse su sitio frente a eso.&lt;/p&gt;
&lt;p&gt;La parte que sí quedó comprobada fue la integración. Las seis evaluaciones —el control directo, la política inicial y las cuatro propuestas— acumularon 4.608 comprobaciones de hashes, todas coincidentes con la referencia independiente. El registro cuenta 24 llamadas consecutivas a la Pi, incluidas las de calentamiento, cuyos tiempos se excluían de la puntuación. La ejecución completa, con las comprobaciones previas, duró 582,5 segundos. Habíamos conseguido que una propuesta recorriera el circuito de evaluación y volviera con un resultado verificable. Era un avance de infraestructura, aunque no proporcionara una mejora del minero frente al control.&lt;/p&gt;
&lt;p&gt;Tampoco sería serio convertir este ensayo en un veredicto sobre Shinka o sobre los modelos locales. Cuatro propuestas, una política de ejecución limitada y un programa de cálculo que no podían tocar dan para una conclusión bastante más estrecha. En esas condiciones, la búsqueda no superó la propuesta directa. Quedaban por probar otros presupuestos, otros márgenes de intervención y la comparación con una enumeración sencilla. Ninguna de esas posibilidades modifica lo que ocurrió en esta ejecución.&lt;/p&gt;
&lt;p&gt;Para mí, el dato más útil fue conservar aquel control de doce QPUs. Obligaba a explicar por qué merecía la pena añadir el proceso de búsqueda, en lugar de dar por hecho que más pasos implicaban un método mejor. Habíamos montado el circuito necesario para seguir experimentando. La siguiente propuesta tendría que justificar su coste con algo que ese control todavía no hiciera.&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/1544864076459350841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2026/10/el-control-incomodo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/1544864076459350841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/1544864076459350841'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2026/10/el-control-incomodo.html' title='El control incómodo'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Plaça de l&#39;Ajuntament, 43711 Banyeres del Penedès, Tarragona, Spain</georss:featurename><georss:point>41.2796779 1.5808215</georss:point><georss:box>12.969444063821157 -33.5754285 69.589911736178848 36.7370715</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-2449829905205415431</id><published>2026-10-13T21:20:30.000+02:00</published><updated>2026-10-14T10:38:23.813+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bitcoin"/><category scheme="http://www.blogger.com/atom/ns#" term="Codex"/><category scheme="http://www.blogger.com/atom/ns#" term="Español"/><category scheme="http://www.blogger.com/atom/ns#" term="GPT-OSS-20B"/><category scheme="http://www.blogger.com/atom/ns#" term="IA local"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Rasputin"/><category scheme="http://www.blogger.com/atom/ns#" term="ShinkaEvolve"/><category scheme="http://www.blogger.com/atom/ns#" term="VideoCore IV"/><title type='text'>La primera hora de Rasputin</title><content type='html'>&lt;div lang=&quot;es&quot;&gt;
&lt;p&gt;&lt;em&gt;Antes de buscar mejoras con modelos locales, necesitábamos un minero cuyo funcionamiento pudiéramos comprobar.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Para valorar si un modelo de lenguaje ayuda a programar, me parece necesario contar también el trabajo que deja después de entregar el código. Hay que entenderlo, ejecutarlo, localizar los errores y comprobar si cumple lo que se le había pedido. En un proyecto de optimización queda, además, una cuestión pendiente: demostrar que la nueva versión mejora a la anterior. La rapidez con la que aparece una propuesta en pantalla puede tener bastante poca relación con el tiempo que exige llegar a ese resultado.&lt;/p&gt;
&lt;p&gt;Rasputin formaba parte de un laboratorio que intentaba examinar precisamente esa relación. Disponíamos de un PC con Windows y una NVIDIA RTX 5070 Ti de 16 GB, capaz de ejecutar GPT-OSS-20B localmente mediante llama.cpp. La hipótesis era que una inferencia rápida permitiría probar más propuestas y aprovechar mejor los resultados de cada prueba. Había que averiguar si eso producía mejoras dentro de un mismo presupuesto de tiempo. Generar candidatos era una parte del experimento; disponer de una forma fiable de evaluarlos era la otra.&lt;/p&gt;
&lt;p&gt;La máquina sobre la que queríamos intervenir era una Raspberry Pi 1. Su GPU VideoCore IV incluye unas unidades de cálculo, las QPUs, que pueden aplicar las mismas operaciones a varios datos en paralelo. El proyecto consistía en utilizarlas para ejecutar el cálculo de minería de Bitcoin. El reparto entre las dos máquinas importa: la NVIDIA ejecutaba el modelo que proponía cambios; los hashes del minero se calculaban en la Pi. La cifra de rendimiento que buscábamos mejorar correspondía a esta última.&lt;/p&gt;
&lt;p&gt;El caso tenía algunas ventajas como experimento. Un hash tiene un resultado preciso que se puede contrastar con otra implementación. También es posible medir cuántos cálculos se completan en un intervalo. Eso nos permitía establecer condiciones de aceptación bastante concretas, algo que resulta más difícil cuando se pide a un modelo que «mejore» un texto o reorganice una aplicación. Aquí una modificación debía conservar el resultado del cálculo y justificar con medidas cualquier mejora de rendimiento.&lt;/p&gt;
&lt;p&gt;Tampoco empezábamos desde cero. &lt;a href=&quot;https://github.com/obijywk/qpusha&quot;&gt;qpusha&lt;/a&gt; ya implementaba SHA-256 para las QPUs del BCM2835, y Rasputin parte de ese código. Había otros trabajos sobre el mismo hardware: en 2014, la propia Raspberry Pi había &lt;a href=&quot;https://www.raspberrypi.com/news/gpgpu-hacking-on-the-pi/&quot;&gt;publicado una referencia al proyecto rpi-playground de Lorimer&lt;/a&gt;. Esa procedencia limita lo que podemos atribuirnos y ayuda a definir el trabajo pendiente. Había que adaptar e integrar una capacidad de cálculo existente hasta obtener un minero que pudiéramos poner a prueba.&lt;/p&gt;
&lt;p&gt;Para organizar la búsqueda contábamos con ShinkaEvolve, que permitía generar propuestas y recoger los resultados de su evaluación. OpenEvolve y OptiLLM también estaban incorporados al laboratorio, aunque los primeros ensayos de esta rama utilizaron Shinka. Codex aportó, en otro ensayo, una propuesta de modificación del kernel. El resto del trabajo dependía de herramientas menos visibles: código de control en Python, el ensamblador de las QPUs, Docker, Bitcoin Core y una comprobación independiente en CPU. Sin esa parte, las propuestas de los modelos habrían sido difíciles de valorar.&lt;/p&gt;
&lt;p&gt;El primer objetivo era disponer de una versión correcta que sirviera de referencia. Bitcoin aplica SHA-256 dos veces a la cabecera de un bloque; el minero modifica un campo, el &lt;em&gt;nonce&lt;/em&gt;, y busca un resultado que cumpla el objetivo de dificultad. La &lt;a href=&quot;https://developer.bitcoin.org/reference/block_chain.html#block-headers&quot;&gt;documentación de Bitcoin describe ese formato y sus condiciones&lt;/a&gt;. Llevarlo a las QPUs exigía preparar los datos, respetar el orden de los bytes, ejecutar las dos pasadas y recoger los resultados. En aquella primera versión, las pasadas se lanzaban por separado. Las mejoras que reducirían esa intervención del procesador llegarían más adelante.&lt;/p&gt;
&lt;p&gt;Empezamos comprobando la construcción de bloques con CPU y Bitcoin Core en modo &lt;em&gt;regtest&lt;/em&gt;, una red privada de pruebas con dificultad reducida. Esa preparación ya permitió detectar un error: la altura del bloque estaba mal codificada en la transacción que crea la recompensa, la &lt;em&gt;coinbase&lt;/em&gt;, y Core lo rechazaba. Hubo que corregirlo antes de continuar. El episodio ayudaba a separar los problemas del entorno de prueba de los que pudiera introducir el código de la GPU. Aquel control con CPU, por cierto, no proporcionó una comparación de velocidad equivalente; no tenemos un multiplicador CPU/GPU que pueda deducirse de él.&lt;/p&gt;
&lt;p&gt;La comprobación de las QPUs tuvo varias partes. En una prueba se obtuvieron 102.400 hashes que se recalcularon de forma independiente y se compararon byte a byte. En otra, un resultado producido por las QPUs permitió construir un bloque que Bitcoin Core aceptó en regtest, a altura 4. La primera examinaba el cálculo; la segunda comprobaba su integración. Todavía no habíamos probado la conexión a un pool público.&lt;/p&gt;
&lt;p&gt;El 6 de septiembre quedó registrada la primera prueba de una hora: 195.801.024 hashes contabilizados en 3.600,33 segundos, unos 54.384 por segundo. Se utilizaron doce QPUs, sin reinicios, con un máximo de 61,6 °C y sin limitación de frecuencia reportada. También se comprobó el estado del sistema y la liberación de recursos al terminar. Durante esa hora se conservaron sesenta muestras de resultados que volvieron a verificarse. Eso no equivale a recalcular de manera independiente los casi 196 millones de intentos, y conviene mantener la distinción al contar el resultado.&lt;/p&gt;
&lt;p&gt;Algo más de un mes después, el 13 de octubre, Rasputin completaría una observación de un día conectado a CKPool: 1,288 millones de intentos por segundo de media, con 32 participaciones aceptadas y ninguna rechazada, repartidos en 25 sesiones. Esas participaciones acreditan trabajo aceptado por el pool; no son bloques encontrados en la red pública. La distancia entre ambas etapas contiene buena parte de la historia del proyecto, pero no permite atribuir toda la mejora a una herramienta o a una sola idea.&lt;/p&gt;
&lt;p&gt;La primera hora dejó una referencia que podíamos conservar. A partir de ella, las propuestas de GPT-OSS-20B, los ensayos con Shinka y los cambios de código podían evaluarse frente a un comportamiento conocido. Ése era el trabajo previo necesario para estudiar la utilidad de los modelos: decidir cómo reconoceríamos una mejora antes de pedirles que la encontraran.&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/2449829905205415431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2026/10/la-primera-hora-de-rasputin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/2449829905205415431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/2449829905205415431'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2026/10/la-primera-hora-de-rasputin.html' title='La primera hora de Rasputin'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Plaça de l&#39;Ajuntament, 43711 Banyeres del Penedès, Tarragona, Spain</georss:featurename><georss:point>41.2796779 1.5808215</georss:point><georss:box>12.969444063821157 -33.5754285 69.589911736178848 36.7370715</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-4545937623419831392</id><published>2015-10-15T12:25:00.000+02:00</published><updated>2015-10-15T12:25:39.040+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="composer"/><category scheme="http://www.blogger.com/atom/ns#" term="dependency-management"/><category scheme="http://www.blogger.com/atom/ns#" term="minimum-requirements"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>What&#39;s the minimum PHP version supported by Composer?</title><content type='html'>Composer requires PHP version&amp;nbsp;&lt;span style=&quot;background-color: #cccccc;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;5.3.2&lt;/span&gt;&lt;/span&gt;&amp;nbsp;or higher. For reference see:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;their &lt;a href=&quot;https://getcomposer.org/doc/00-intro.md#system-requirements&quot;&gt;documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;their &lt;a href=&quot;https://github.com/composer/composer#requirements&quot;&gt;README&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;their own &lt;a href=&quot;https://github.com/composer/composer/blob/a54f84f05f915c6d42bed94de0cdcb4406a4707b/composer.json#L25&quot;&gt;composer.json&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/4545937623419831392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2015/10/whats-minimum-php-version-supported-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/4545937623419831392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/4545937623419831392'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2015/10/whats-minimum-php-version-supported-by.html' title='What&#39;s the minimum PHP version supported by Composer?'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-798748954569250453</id><published>2011-10-27T13:24:00.001+02:00</published><updated>2011-10-27T13:25:03.114+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="coda"/><category scheme="http://www.blogger.com/atom/ns#" term="integration"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="pry"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="ruby"/><title type='text'>Panic&#39;s Coda and Ruby&#39;s Pry integration</title><content type='html'>Adding a few things here and there and you will integrate the awesome &lt;a href=&quot;http://pry.github.com/&quot;&gt;Pry&lt;/a&gt; &lt;a href=&quot;https://github.com/pry/pry/wiki/Editor-integration&quot;&gt;edit command&lt;/a&gt; with your &lt;a href=&quot;http://www.panic.com/coda/&quot;&gt;Panic&#39;s Coda&lt;/a&gt; editor. You will need the great &lt;a href=&quot;https://github.com/bobthecow/coda-cli&quot;&gt;Coda CLI&lt;/a&gt; tool and you will have to apply my &lt;a href=&quot;https://github.com/bobthecow/coda-cli/pull/5&quot;&gt;pull request&lt;/a&gt; (if it&#39;s not already done in the master branch) that adds the &quot;go to line number&quot; feature.&amp;nbsp;Alternatively you can clone &lt;a href=&quot;https://github.com/brutuscat/coda-cli&quot;&gt;my own fork&lt;/a&gt; of the project with my changes applied.&lt;br /&gt;
&lt;br /&gt;
Follow the instructions to install Coda CLI after applying the fix and then:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ coda --help&lt;br /&gt;Usage: coda [options] [file ...]&lt;br /&gt;Options:&lt;br /&gt;&amp;nbsp; -h, --help &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;show this help message and exit&lt;br /&gt;&amp;nbsp; -w, --wait &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wait for file to be closed&lt;br /&gt;&amp;nbsp; -d, --change-dir &amp;nbsp; &amp;nbsp; &amp;nbsp;change Coda&#39;s working directory&lt;br /&gt;&amp;nbsp; -n, --new-window &amp;nbsp; &amp;nbsp; &amp;nbsp;open in a new window&lt;br /&gt;&amp;nbsp; --ls-tabs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; show all open tabs&lt;br /&gt;&amp;nbsp; --version &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print version information and quit&lt;br /&gt;&amp;nbsp; -l LINENUMBER, --line=LINENUMBER&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set the current line number of the editor&lt;br /&gt;To read input from stdin, use a pipe or pass `-` for [file]&lt;br /&gt;Piping output from coda implies `-w`.&lt;/span&gt;&lt;/blockquote&gt;
&amp;nbsp;Now you can do &quot;coda -l 2 ~/.profile &quot; to go to line 2 of your .profile file&lt;br /&gt;
&lt;br /&gt;
Now the Pry part: you have to add some options into your &lt;a href=&quot;https://github.com/pry/pry/wiki/Pry-rc&quot;&gt;.pryrc&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ coda ~/.pryrc&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Add the following line and save the file:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Pry.config.editor = proc { |file, line| &quot;coda -l #{line} -w #{file}&quot; }&lt;/span&gt;&lt;/blockquote&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
That&#39;s it! Now in your pry console you can run &quot;edit-method object.yourtmethod&quot; and it will open Coda and position the cursor selection into the right line number. Please pry for me!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Resources:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://justinhileman.info/coda-cli/&quot;&gt;coda-cli — Shell integration for Coda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://pry.github.com/&quot;&gt;Pry - an IRB alternative and runtime developer console&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pry/pry/blob/master/lib/pry/helpers/command_helpers.rb&quot;&gt;https://github.com/pry/pry/blob/master/lib/pry/helpers/command_helpers.rb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/bobthecow/coda-cli/blob/master/coda#L97&quot;&gt;https://github.com/bobthecow/coda-cli/blob/master/coda#L97&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hintsforums.macworld.com/showthread.php?t=94114&quot;&gt;Applescript key code for shift+return&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.satimage.fr/software/en/smile/computing/as_types/as_data_types.html&quot;&gt;AppleScript&#39;s data types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.makeuseof.com/tag/applescripts-ui-scripting-mac/&quot;&gt;How To Use Applescript’s UI Scripting [Mac]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/798748954569250453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/10/panics-coda-and-rubys-pry-integration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/798748954569250453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/798748954569250453'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/10/panics-coda-and-rubys-pry-integration.html' title='Panic&#39;s Coda and Ruby&#39;s Pry integration'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-3906686025511544251</id><published>2011-09-22T19:51:00.000+02:00</published><updated>2011-09-22T19:51:23.747+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="error"/><category scheme="http://www.blogger.com/atom/ns#" term="psych"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="ruby-1.9.2"/><title type='text'>Upgrade to Ruby 1.9.2, Rails and Psych lib</title><content type='html'>When I tried to upgrade my app to use the new Ruby 1.9.2, I faced some errors thrown right away after running &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;rails s&lt;/span&gt;. The errors were related to a &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;merge!&lt;/span&gt; call from the&amp;nbsp;Psych lib. It turns out that the&amp;nbsp;Psych lib is used as the new YAML parser and could break things in your Rails application.&lt;br /&gt;
&lt;div&gt;
So after a 20 min research I found a couple of post, patches, etc. Finally the solution was to add this at the top of your application.rb file to switch back to the old YAML parser&amp;nbsp;syck.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/1235430.js?file=application.rb&quot;&gt;
&lt;/script&gt;
&lt;br /&gt;
Resources:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://pivotallabs.com/users/mkocher/blog/articles/1692-yaml-psych-and-ruby-1-9-2-p180-here-there-be-dragons&quot;&gt;Yaml, Psych and Ruby 1.9.2-p180 - Here there be dragons &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rubygems/rubygems/pull/57&quot;&gt;Fix invalid specs resulting from incorrect syck time parsing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://crohr.me/2011/02/23/issue-with-ruby1.9.2-yaml-parser-and-merge-keys-in-yaml-configuration-file.html&quot;&gt;Issue with Ruby1.9.2 YAML parser and merge keys in YAML configuration file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.google.com/search?q=upgrade+1.9.2+psych+to_ruby.rb%3A196%3Ain+`merge!&#39;%3A+can&#39;t+convert+nil+into+Hash+(TypeError)&quot;&gt;upgrade 1.9.2 psych to_ruby.rb:196:in `merge!&#39;: can&#39;t convert nil into Hash (TypeError)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/3906686025511544251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/09/upgrade-to-ruby-192-rails-and-psych-lib.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/3906686025511544251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/3906686025511544251'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/09/upgrade-to-ruby-192-rails-and-psych-lib.html' title='Upgrade to Ruby 1.9.2, Rails and Psych lib'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-1121816323349023082</id><published>2011-09-06T11:52:00.000+02:00</published><updated>2011-12-22T12:17:04.313+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="boot camp"/><category scheme="http://www.blogger.com/atom/ns#" term="disk utility"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="partition error"/><title type='text'>[Fixed] Boot Camp partition error</title><content type='html'>After some days of having to deal with this issue I finally got it fixed. I read several post in lots of forums and I can assure you that this is the final solution, without the need to buy any kind of software :D&lt;br /&gt;
First let&#39;s have a look at the error that Boot Camp throw at us:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;b&gt;The disk cannot be partitioned because some files cannot be moved.&lt;/b&gt;&lt;br /&gt;Back up the disk and use Disk Utility to format the disk as a single Mac OS Extended (Journaled) volume. Restore your information to the disk and try using Boot Camp Assistant again.&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr9BrbR-EjbaiYqIeu-o0fULIQIuix3ayNc6jhYCbnPU2jV365uShbDu81qC425Of6bLdc85o3HdE7D47SFYE81bGkmiyYg0nIJg85ANaIFos3l5UGoJwCfB9bp47fcCZ43-17-5rnSCg/s1600/partition-failed-bootcamp.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;127&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr9BrbR-EjbaiYqIeu-o0fULIQIuix3ayNc6jhYCbnPU2jV365uShbDu81qC425Of6bLdc85o3HdE7D47SFYE81bGkmiyYg0nIJg85ANaIFos3l5UGoJwCfB9bp47fcCZ43-17-5rnSCg/s320/partition-failed-bootcamp.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Wow, that sounds very risky to me. &amp;nbsp;I started to look for a solution for this and several hours later I&amp;nbsp;stepped&amp;nbsp;by with this post:&amp;nbsp;&lt;a href=&quot;https://discussions.apple.com/thread/1545380&quot;&gt;https://discussions.apple.com/thread/1545380&lt;/a&gt;. Basically, what it&#39;s saying is that instead of letting the Boot Camp Assistant do the resize, you have to do it with the Disk Utility. The Disk Utility will try to move those &quot;&lt;i&gt;Cannot-Be-Moved&quot;&lt;/i&gt;&amp;nbsp;files, resizing your own partition and later, you will restore it with faith in that the files be now moved from the bottom of your hard drive.&lt;br /&gt;
This made sense to me, so I gave it a try and 20 mins later It also failed. BUT with good news, because it thrown a new error:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;i&gt;&lt;b&gt;Partition failed&lt;/b&gt;&lt;br /&gt;Partition failed with the error:&lt;br /&gt;The partition cannot be resized. Try reducing the amount of change in the size of the partition.&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AGK1eORCbTlK1G8OLAgUvGBwGhu3oJCid8NfdxtcFN86FnY4CmgkgoadlXpuwDI301q-lZ60O29YAOGX0P4QfDJ7NFO0lCkpkW8tKeHOL2_Vo-QR54RP6tiua4D45vNk4gawmzHUNuI/s1600/parition-failed-diskutility.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;119&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AGK1eORCbTlK1G8OLAgUvGBwGhu3oJCid8NfdxtcFN86FnY4CmgkgoadlXpuwDI301q-lZ60O29YAOGX0P4QfDJ7NFO0lCkpkW8tKeHOL2_Vo-QR54RP6tiua4D45vNk4gawmzHUNuI/s320/parition-failed-diskutility.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;The later led me to this great &lt;a href=&quot;http://superuser.com/&quot;&gt;superuser&lt;/a&gt; post: &lt;a href=&quot;http://superuser.com/questions/72896/cannot-resize-os-x-partition&quot;&gt;http://superuser.com/questions/72896/cannot-resize-os-x-partition&lt;/a&gt;. The most voted answer said something that I&#39;ve already seen about iDefrag. But I don&#39;t want to pay to fix this! If you keep reading there&#39;s a great, much commonsense answer:&amp;nbsp;&lt;a href=&quot;http://superuser.com/questions/72896/cannot-resize-os-x-partition/291378#291378&quot;&gt;http://superuser.com/questions/72896/cannot-resize-os-x-partition/291378#291378&lt;/a&gt;.&lt;br /&gt;
Now I&#39;m going to describe this manual proper solution. It&#39;s a kind of lengthy process but I can say that it works! You have to open the &quot;Console&quot; app, click in &quot;All Messages&quot; and search for the word &quot;hfs_&quot;. In there you will see a bunch of log lines: take a look at the one that says something like:&lt;br /&gt;
&lt;blockquote&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;hfs_reclaimspace: Error reclaiming datafork blocks of fileid=57695517&lt;/span&gt;&lt;/blockquote&gt;
You have to copy the &quot;fileid&quot; number. Then you open your &quot;Terminal&quot; app and execute the following command:&lt;br /&gt;
&lt;blockquote&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo find -x / -inum 57695517&lt;/span&gt;&lt;/blockquote&gt;
It will ask you for your password, this way it can run with full root&amp;nbsp;privilege and also look in those restricted folders. The number after -inum is the number you had&amp;nbsp;previously&amp;nbsp;saved . What this command does is to search in your harddrive (that&#39;s the -x for), starting at the root of your filesystem (that&#39;s the / for), and try to find the file with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Inode&quot;&gt;inode&lt;/a&gt; number&amp;nbsp;57695517 (in your case will be another number). You run this with sudo to have access to all the filesystem.&amp;nbsp;When it finishes you will see the path of one file. Grab that file and move it to a safe location or just delete it if you don&#39;t need it.&lt;br /&gt;
&lt;br /&gt;
Now run the disk utility again. It may fail again and you will have to repeat the find-the-inum process until you moved all those bad files.&lt;br /&gt;
After a couple of tries the Disk Utility finally&amp;nbsp;succeed in shrinking your partition. Now you have to do the oposite resize operation and restore your disk to the seize it had. Then go back to the Boot Camp Assistant and retry the partition process, it should succeed without any issues!&lt;br /&gt;
&lt;br /&gt;
Resources:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://superuser.com/questions/72896/cannot-resize-os-x-partition&quot;&gt;http://superuser.com/questions/72896/cannot-resize-os-x-partition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://forums.macnn.com/104/alternative-operating-systems/322717/your-disk-cannot-prtitioned-because-some/&quot;&gt;http://forums.macnn.com/104/alternative-operating-systems/322717/your-disk-cannot-prtitioned-because-some/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discussions.apple.com/thread/1545380&quot;&gt;https://discussions.apple.com/thread/1545380&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.google.com/search?q=Some+files+can&#39;t+be+moved&quot;&gt;http://www.google.com/search?q=Some+files+can&#39;t+be+moved&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://shikii.net/blog/a-solution-to-boot-camp-partition-error-files-cannot-be-moved/&quot;&gt;http://shikii.net/blog/a-solution-to-boot-camp-partition-error-files-cannot-be-moved/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.bytecode.com.au/glen/2009/10/28/bootcamp-assistant-how-to-overcome-the-files-cannot-be-moved-issue.html&quot;&gt;http://blogs.bytecode.com.au/glen/2009/10/28/bootcamp-assistant-how-to-overcome-the-files-cannot-be-moved-issue.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/1121816323349023082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/09/fixed-boot-camp-partition-failure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/1121816323349023082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/1121816323349023082'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/09/fixed-boot-camp-partition-failure.html' title='[Fixed] Boot Camp partition error'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr9BrbR-EjbaiYqIeu-o0fULIQIuix3ayNc6jhYCbnPU2jV365uShbDu81qC425Of6bLdc85o3HdE7D47SFYE81bGkmiyYg0nIJg85ANaIFos3l5UGoJwCfB9bp47fcCZ43-17-5rnSCg/s72-c/partition-failed-bootcamp.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-2515075925560850827</id><published>2011-08-19T13:10:00.000+02:00</published><updated>2011-08-19T13:10:43.048+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="macports"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="osx"/><title type='text'>[Fixed] MySQL, MacPorts and OS X Snow Leopard</title><content type='html'>After almost a year of having installed&amp;nbsp;Mac OS X Snow Leopard and the 1.8.x MacPort and after several failed tries, I finally worked out the issues I had when installing MySQL using MacPorts. My issue was somehow similar to this one:&amp;nbsp;&lt;a href=&quot;https://trac.macports.org/ticket/28772&quot;&gt;mysql_install_db5 works without &#39;--user=_mysql&#39; option, but mysql.user table not populated&lt;/a&gt;, where the mysql root password can&#39;t be set.&amp;nbsp;Basically, after doing:&lt;br /&gt;
&lt;blockquote&gt;&amp;gt; sudo port install mysql5-server&lt;/blockquote&gt;And follow the steps by steps instructions:&lt;br /&gt;
&lt;blockquote&gt;&amp;gt;&amp;nbsp;sudo mysql_install_db5 --user=_mysql&lt;/blockquote&gt;I ended with the directory&amp;nbsp;/opt/local/var/db/mysql5 somehow corrupted. It seems that I, maybe, already had a old installation of MySQL, so the install scripts couldn&#39;t reset the permissions for the correct mysql user (which is &lt;i&gt;&lt;b&gt;_mysql&lt;/b&gt;&lt;/i&gt;).&amp;nbsp;So to solve this I did:&lt;br /&gt;
&lt;blockquote&gt;&amp;gt; sudo port uninstall mysql5-server&lt;br /&gt;
&amp;gt; sudo rm -rf&amp;nbsp;/opt/local/var/db/mysql5&lt;/blockquote&gt;Deleting the problematic dir and then re-installing:&lt;br /&gt;
&lt;blockquote&gt;&amp;gt; sudo port install mysql5-server&lt;br /&gt;
&amp;gt;&amp;nbsp;sudo -u _mysql mysql_install_db5&lt;/blockquote&gt;Set the root password and securing the MySQL installation:&lt;br /&gt;
&lt;blockquote&gt;&amp;gt;&amp;nbsp;/opt/local/lib/mysql5/bin/mysqladmin -u root password &#39;new-password&#39;&lt;br /&gt;
&amp;gt;&amp;nbsp;sudo /opt/local/share/mysql5/mysql/mysql.server start&lt;br /&gt;
&amp;gt;&amp;nbsp;sudo /opt/local/lib/mysql5/bin/mysql_secure_installation&lt;/blockquote&gt;So that&#39;s it. I finally have my working MySQL database working! Yeaaah!&lt;br /&gt;
&lt;br /&gt;
Resources:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/4798464/installing-mysql-on-snow-leopard-using-macports&quot;&gt;Installing MySQL on Snow Leopard using MacPorts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/6252071/reset-mysql5-root-password-in-macports&quot;&gt;Reset mysql5 root password in macports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://metaskills.net/2009/09/05/the-ultimate-os-x-snow-leopard-stack-for-rails-development-x86_64-macports-ruby-1-8-1-9-sql-server-more/&quot;&gt;The Ultimate OS X Snow Leopard Stack For Rails Development - x86_64, MacPorts, Ruby 1.8/1.9, SQL Server, SQLite3, MySQL &amp;amp; More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trac.macports.org/ticket/28772&quot;&gt;mysql_install_db5 works without &#39;--user=_mysql&#39; option, but mysql.user table not populated&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/2515075925560850827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/08/fixed-mysql-macports-and-os-x-snow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/2515075925560850827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/2515075925560850827'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/08/fixed-mysql-macports-and-os-x-snow.html' title='[Fixed] MySQL, MacPorts and OS X Snow Leopard'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-4795282775823673435</id><published>2011-08-15T01:10:00.000+02:00</published><updated>2011-08-15T01:10:29.856+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google+"/><category scheme="http://www.blogger.com/atom/ns#" term="privacy settings"/><title type='text'>[Google+] How to edit the privacy setting for the photos and videos?</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibrI_fLKt9U4G0hW6xaUjg9iJ0fjRHw2KLJAGweA5C7uDEBUcU5QbuaT7CA9HEaVZNO71iA3zKmI3xoVGZo5mxkoqZbKk4MP5WqI-dg9dz3s0VZcQxfcivnd-yCXwbIugUlPVLUQc3S0Y/s1600/Screen+shot+2011-08-15+at+12.55.25+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibrI_fLKt9U4G0hW6xaUjg9iJ0fjRHw2KLJAGweA5C7uDEBUcU5QbuaT7CA9HEaVZNO71iA3zKmI3xoVGZo5mxkoqZbKk4MP5WqI-dg9dz3s0VZcQxfcivnd-yCXwbIugUlPVLUQc3S0Y/s200/Screen+shot+2011-08-15+at+12.55.25+AM.png&quot; width=&quot;193&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Last month I was invited to the new &lt;a href=&quot;https://plus.google.com/&quot;&gt;Google+&lt;/a&gt; social network. It looked cool, so I also connected my &lt;a href=&quot;https://picasaweb.google.com/&quot;&gt;Picasa&lt;/a&gt; account into it without realizing that when doing it, all my personal photos and videos where suddenly public. Don&#39;t get me wrong, the albums I&#39;m sharing in my picasaweb dashboard are all public, but I don&#39;t like the idea of people searching for me in Google and see all my life there, for everyone to see.&amp;nbsp;This is the similar issue that &lt;a href=&quot;https://www.eff.org/deeplinks/2009/12/facebooks-new-privacy-changes-good-bad-and-ugly&quot;&gt;Facebook once had&lt;/a&gt;&amp;nbsp;but luckily for us FB fixed that and Google also let&#39;s you edit the privacy settings for the photos and videos of your picasa account.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;So it is very easy to restrict the visibility of your photos and videos tab in your Google+ profile:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Login into your Google+ account and go to your &lt;a href=&quot;https://plus.google.com/settings/plus&quot;&gt;Plus Settings page&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Select the Google+ section and scroll to the bottom of the page.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5A1WZdxW1SuGvk8Da140cEzQNvzIgKDjEVaK2SXLv2okE_acj1vnpVZTVVYcMVMCd4KQXdxWMWIGlmIQA9gcfn38gQqi3yASE_QzzVH2a4KiA7ItAKz8RS5ALwV6lYCXKMrgBhBJNk5I/s1600/Screen+shot+2011-08-15+at+12.56.12+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5A1WZdxW1SuGvk8Da140cEzQNvzIgKDjEVaK2SXLv2okE_acj1vnpVZTVVYcMVMCd4KQXdxWMWIGlmIQA9gcfn38gQqi3yASE_QzzVH2a4KiA7ItAKz8RS5ALwV6lYCXKMrgBhBJNk5I/s400/Screen+shot+2011-08-15+at+12.56.12+AM.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Now click on those&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;&lt;a class=&quot;a-c-k-eb&quot; href=&quot;https://plus.google.com/me/photos/edit&quot; style=&quot;color: #3366cc; cursor: pointer; text-decoration: none;&quot;&gt;photos&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class=&quot;a-c-k-eb&quot; href=&quot;https://plus.google.com/me/videos/edit&quot; style=&quot;color: #3366cc; cursor: pointer; text-decoration: none;&quot;&gt;videos&lt;/a&gt;&amp;nbsp;links to edit the privacy of each of them.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;Now uncheck the checkbox &quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: arial, sans-serif; font-size: 13px; font-weight: bold;&quot;&gt;Show this tab on your profile&quot;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG0FTbW5tjQ9Y9DDEeju5C9R8hP3ytrXdB04Cq6wRVcRQ3Kb6nNJhwnA6CaMWk_j3JetCOTG87JHUVQwtJx1E8_9JcPW_zq6518xXAN-DHj0RHelpLLzZqC9uN2C_1baohGcgJ6iQ0tbI/s1600/Screen+shot+2011-08-15+at+1.06.16+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;73&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG0FTbW5tjQ9Y9DDEeju5C9R8hP3ytrXdB04Cq6wRVcRQ3Kb6nNJhwnA6CaMWk_j3JetCOTG87JHUVQwtJx1E8_9JcPW_zq6518xXAN-DHj0RHelpLLzZqC9uN2C_1baohGcgJ6iQ0tbI/s400/Screen+shot+2011-08-15+at+1.06.16+AM.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;And that&#39;s it. Now your Google+ will hide the Photos and the Videos tabs from displaying public in your profile page.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/4795282775823673435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/08/google-how-to-edit-privacy-setting-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/4795282775823673435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/4795282775823673435'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/08/google-how-to-edit-privacy-setting-for.html' title='[Google+] How to edit the privacy setting for the photos and videos?'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibrI_fLKt9U4G0hW6xaUjg9iJ0fjRHw2KLJAGweA5C7uDEBUcU5QbuaT7CA9HEaVZNO71iA3zKmI3xoVGZo5mxkoqZbKk4MP5WqI-dg9dz3s0VZcQxfcivnd-yCXwbIugUlPVLUQc3S0Y/s72-c/Screen+shot+2011-08-15+at+12.55.25+AM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-8541490936910175116</id><published>2011-08-02T12:02:00.000+02:00</published><updated>2011-08-05T19:21:14.587+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amazon"/><category scheme="http://www.blogger.com/atom/ns#" term="RSS"/><category scheme="http://www.blogger.com/atom/ns#" term="wish list"/><title type='text'>How to get an RSS feed out of an Amazon Wish List?</title><content type='html'>You have 2 ways to get an RSS out of a Wish List:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Sign in and subscribe your Amazon Wish List:&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
You just Sign you in using your Twitter account, add your Amazon Wish List and then you will see the orange feed (Rss) icon. That&#39;s the URL of your feed. Piece of cake!&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Anonymous way (advanced users)&lt;/li&gt;
&lt;/ul&gt;Go to your Amazon Wish List and get the URL from the &quot;Share with friends&quot; tool. Double url encode it using DuckDuckGo:&amp;nbsp;&lt;a href=&quot;http://duckduckgo.com/?q=urlencode+&quot;&gt;http://duckduckgo.com/?q=urlencode+&lt;/a&gt;.&amp;nbsp;Just remember to do it twice. Then build the url of your feed like this:&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;http://www.wishandbam.com/list/[your_double_encoded_url_here]/20/rss&lt;/b&gt;&lt;/blockquote&gt;That&#39;s it. If you want more than 20 items to show up in your feed, increase the number at the end of the url.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;Disclaimer: I am writing this post here in a follow up of my personal small project called Wish and BAM!. Wishandbam.com lets you Auto Tweet the items you add into your Amazon Wish List. But it also gives you a great way to do what ever you want with your Wish List, because it also provides you with a RSS Feed of it. Here I&#39;m going to copy the post I wrote in the support site (&lt;a href=&quot;http://getsatisfaction.com/wishandbam/topics/how_to_get_an_rss_feed_out_of_my_amazon_wish_list&quot;&gt;How to get an RSS feed out of my Amazon Wish List?&amp;nbsp;&lt;/a&gt;@getsatisfaction)&lt;/i&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/8541490936910175116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/08/how-to-get-rss-feed-out-of-amazon-wish.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/8541490936910175116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/8541490936910175116'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/08/how-to-get-rss-feed-out-of-amazon-wish.html' title='How to get an RSS feed out of an Amazon Wish List?'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-1565824129106207870</id><published>2011-07-11T20:31:00.000+02:00</published><updated>2011-07-11T20:31:20.901+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="performance"/><title type='text'>[Fixed] Why Google Chrome is Slow?</title><content type='html'>In the last 3 or 4 months I started to note that my Google Chrome was way slower than it was. In fact it was so slow that it started to pissed me off. I thought it was something with my MacBook Pro, after all it has almost 3 years old and already started to note some hardrive issues with it.&lt;br /&gt;
Luckily, I decided to, somehow, fix or (at least) improve my Google Chrome performance. So first thing, first I &lt;a href=&quot;http://www.google.com/search?q=google+chrome+mac+slow+performance&quot;&gt;googled it&lt;/a&gt;. After a few minutes of reading and taking note of the dates in the replies I extracted a few possible solutions:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs8_CMOev-WbqxF05UXdwXz1GwhlF6LabiQDLjllgWmKoJweZcYHoPj39X8yfYriYRCjtZOh4ENnPTmGMUAFjSZzlfsAOY1PGr7cMm__NwbxpvXUT7BjfjaGQEJDG-IV3d0wxQ7RdN0LA/s1600/Screen+shot+2011-07-11+at+7.43.06+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;103&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs8_CMOev-WbqxF05UXdwXz1GwhlF6LabiQDLjllgWmKoJweZcYHoPj39X8yfYriYRCjtZOh4ENnPTmGMUAFjSZzlfsAOY1PGr7cMm__NwbxpvXUT7BjfjaGQEJDG-IV3d0wxQ7RdN0LA/s320/Screen+shot+2011-07-11+at+7.43.06+PM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;
&lt;li&gt;It seemed that it wasn&#39;t my HD. &amp;nbsp;&lt;a href=&quot;http://www.google.com/insights/search/#q=%22google%20chrome%20slow%22&amp;amp;cmpt=q&quot;&gt;Lots of people&#39;re asking about the same&lt;/a&gt;, some were migrating back to Firefox, others, like me, still believing..&lt;/li&gt;
&lt;li&gt;Couldn&#39;t find the&amp;nbsp;&quot;&lt;a href=&quot;http://www.google.com/support/forum/p/Chrome/thread?tid=1a8697cca9f850ac&amp;amp;hl=en&quot;&gt;Use DNS pre-fetching to improve page load performance&lt;/a&gt;.&quot; option in my current Chrome version (v12). So I figured out the&amp;nbsp;equivalent&amp;nbsp;of that is &quot;Predict network actions to improve page load performance&quot;and &lt;b&gt;turned that Off&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;Also, as I am on a Mac, I applied another solution: &lt;a href=&quot;http://www.google.com/support/forum/p/Chrome/thread?tid=5ab594b268ca63cd&amp;amp;hl=en#fid_5ab594b268ca63cd0004a5302ad087bc&quot;&gt;turned Off the IPV6 TCP/IP&lt;/a&gt; features in my Network &amp;gt; System Settings.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;These seems to have solved my problems, let&#39;s see for how long. I will update this post in the future if things aren&#39;t improving. Let me know if you found any other working solutions to improve the performance of this great browser.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/1565824129106207870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/07/fixed-why-google-chrome-is-slow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/1565824129106207870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/1565824129106207870'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/07/fixed-why-google-chrome-is-slow.html' title='[Fixed] Why Google Chrome is Slow?'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs8_CMOev-WbqxF05UXdwXz1GwhlF6LabiQDLjllgWmKoJweZcYHoPj39X8yfYriYRCjtZOh4ENnPTmGMUAFjSZzlfsAOY1PGr7cMm__NwbxpvXUT7BjfjaGQEJDG-IV3d0wxQ7RdN0LA/s72-c/Screen+shot+2011-07-11+at+7.43.06+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-6806725961144937956</id><published>2011-02-21T18:18:00.000+01:00</published><updated>2011-02-21T19:54:44.136+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>How to remove a Google Analytics account</title><content type='html'>I was taking a look at how to insert the Analytics&#39;s tracking code into this Blogger blog and somehow I ended up with two, exactly equal, accounts in my Dashboard. I wanted to get rid of the duplicated one, and guess what? I couldn&#39;t find how to delete my Google Analytic account! Well, I do know now thanks to this link:&amp;nbsp;&lt;a href=&quot;http://analytics.blogspot.com/2008/09/now-its-easier-to-delete-accounts.html&quot;&gt;Now it&#39;s easier to delete accounts&lt;/a&gt; by Dai Pham, Google Analytics Team&lt;br /&gt;
&lt;br /&gt;
So the quick answer is:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiToRvYtQcY6pd_60hFWRd60dpPyJnoXWbh6YxQ-JMFhEkaWWP5bLTDqqvDMTkkXr7IdQZPSWxegKq4z7s7TG-dVh_qQRLR1-WSATPc0OO9M0TcepqJ4ntaZowWpHNeUIH8fiT6qulpHIQ/s1600/Screen+shot+2011-02-21+at+6.12.10+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiToRvYtQcY6pd_60hFWRd60dpPyJnoXWbh6YxQ-JMFhEkaWWP5bLTDqqvDMTkkXr7IdQZPSWxegKq4z7s7TG-dVh_qQRLR1-WSATPc0OO9M0TcepqJ4ntaZowWpHNeUIH8fiT6qulpHIQ/s320/Screen+shot+2011-02-21+at+6.12.10+PM.png&quot; width=&quot;160&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Go to your Analytics Settings page at &lt;a href=&quot;https://www.google.com/analytics/settings/home&quot;&gt;https://www.google.com/analytics/settings/home&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Click in the &quot;Edit&quot; link, under the Actions column.&amp;nbsp;You will enter in the edit options for the account you want to remove.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Now check out the &quot;Delete account&quot; link, just under the the &quot;Default Time Zone&quot; option. Click that link and that&#39;s all!&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/6806725961144937956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/02/how-to-remove-google-analytics-account.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/6806725961144937956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/6806725961144937956'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/02/how-to-remove-google-analytics-account.html' title='How to remove a Google Analytics account'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiToRvYtQcY6pd_60hFWRd60dpPyJnoXWbh6YxQ-JMFhEkaWWP5bLTDqqvDMTkkXr7IdQZPSWxegKq4z7s7TG-dVh_qQRLR1-WSATPc0OO9M0TcepqJ4ntaZowWpHNeUIH8fiT6qulpHIQ/s72-c/Screen+shot+2011-02-21+at+6.12.10+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4247554343597078943.post-8036946170858363166</id><published>2011-02-20T22:44:00.000+01:00</published><updated>2011-02-21T00:58:04.011+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="openid"/><title type='text'>Where to find the Google OpenID URL?</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5w62HOashqEU3toUelfJZHGP2JexLeoLvH6pa9vMNeTtg0psF50TZeyGqJGap5LMCkqgu_d4Af-L-CDRm_KF64QhadjMxn2id7YcdvwLnswI5uXEqtJfFk4AHjU4ZEa7UUL-3h98Gvp4/s1600/Screen+shot+2011-02-20+at+11.14.32+PM.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 284px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5w62HOashqEU3toUelfJZHGP2JexLeoLvH6pa9vMNeTtg0psF50TZeyGqJGap5LMCkqgu_d4Af-L-CDRm_KF64QhadjMxn2id7YcdvwLnswI5uXEqtJfFk4AHjU4ZEa7UUL-3h98Gvp4/s320/Screen+shot+2011-02-20+at+11.14.32+PM.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5575899508850101346&quot; /&gt;&lt;/a&gt;&lt;br /&gt;So, you want to get a pass to your preferred website and it let&#39;s you login using &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenID&quot;&gt;OpenID&lt;/a&gt;. You also have a Google account, and you also know that &lt;a href=&quot;http://www.readwriteweb.com/archives/google_is_now_an_openid_provider.php&quot;&gt;Google is an OpenID provider&lt;/a&gt;. &lt;div&gt;The issue now is that the website is asking you for the URL of your OpenID Google Profile. So what a hell is that? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Google Profile URL is the address of your Google account. BUT not all accounts have a profile. To get your URL or create a Google Profile:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Go to &lt;a href=&quot;http://www.google.com/profiles&quot;&gt;http://www.google.com/profiles&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Click &quot;Create my Profile&quot;. This means that you haven&#39;t any Profile yet.&lt;/li&gt;&lt;li&gt;If you already have one, click &quot;View my Profile&quot; and then click &quot;Edit Profile&quot; at the right top menu.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Edit your Profile info and scroll down until the bottom. If your profile is a new one, you have to complete the textbox input to have a Google OpenID URL and hit &quot;Create a Google Profile&quot;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUSClWxb2UG9nP7HWoRxh3TsQcp17ui7_bzqLDg7adXT4rhMaf9kt7KZLlg0LMa6Q_APiiDs-abMSI1GsdohrmXb9TwSKASJg5A5QWqSrwPMa0oJg_hab24WU8HUWkxXy8sd6S-4IhVTA/s1600/Screen+shot+2011-02-21+at+12.02.16+AM.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 158px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUSClWxb2UG9nP7HWoRxh3TsQcp17ui7_bzqLDg7adXT4rhMaf9kt7KZLlg0LMa6Q_APiiDs-abMSI1GsdohrmXb9TwSKASJg5A5QWqSrwPMa0oJg_hab24WU8HUWkxXy8sd6S-4IhVTA/s320/Screen+shot+2011-02-21+at+12.02.16+AM.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5575912707651479074&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt; You should now have a profile URL. You can copy it, remember it and use it everywhere where the OpenID protocol is supported. So that&#39;s all, you now have a Google Profile URL and a OpenID username for your preferred website.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://plususefulness.blogspot.com/feeds/8036946170858363166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://plususefulness.blogspot.com/2011/02/where-to-find-google-openid-url.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/8036946170858363166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4247554343597078943/posts/default/8036946170858363166'/><link rel='alternate' type='text/html' href='http://plususefulness.blogspot.com/2011/02/where-to-find-google-openid-url.html' title='Where to find the Google OpenID URL?'/><author><name>Brutuscat</name><uri>http://www.blogger.com/profile/00190275386103385117</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5w62HOashqEU3toUelfJZHGP2JexLeoLvH6pa9vMNeTtg0psF50TZeyGqJGap5LMCkqgu_d4Af-L-CDRm_KF64QhadjMxn2id7YcdvwLnswI5uXEqtJfFk4AHjU4ZEa7UUL-3h98Gvp4/s72-c/Screen+shot+2011-02-20+at+11.14.32+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>