<?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>david_alfonso</title>
	<atom:link href="http://www.davidalfonso.es/feed" rel="self" type="application/rss+xml" />
	<link>http://www.davidalfonso.es</link>
	<description>hace mucho tiempo un profesor me dijo que escribiera un diario...</description>
	<lastBuildDate>Thu, 03 Jun 2010 14:37:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>El funcionariado y el mantenimiento del software</title>
		<link>http://www.davidalfonso.es/desarrollo-software/el-funcionariado-y-el-mantenimiento-del-software</link>
		<comments>http://www.davidalfonso.es/desarrollo-software/el-funcionariado-y-el-mantenimiento-del-software#comments</comments>
		<pubDate>Thu, 03 Jun 2010 14:36:09 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[francia]]></category>
		<category><![CDATA[funcionariado]]></category>

		<guid isPermaLink="false">http://www.davidalfonso.es/?p=164</guid>
		<description><![CDATA[Alguien me dijo el otro día que en Francia para ser funcionario, primero tienes que haber trabajado al menos 4 años en la empresa privada. Me pareció una idea estupenda, ¿qué mejor forma de valorar lo que tienes, que haber pasado por algo peor?.
De acuerdo, no siempre la empresa privada es peor que la pública, [...]]]></description>
			<content:encoded><![CDATA[<p>Alguien me dijo el otro día que en Francia para ser funcionario, primero tienes que haber trabajado<strong> al menos 4 años</strong> en la empresa privada. Me pareció una idea estupenda, ¿qué mejor forma de valorar lo que tienes, que haber pasado por algo peor?.</p>
<p>De acuerdo, no siempre la empresa privada es peor que la pública, aunque podríamos decir, basándonos en información tan fiable como rumores y comentarios que, en general, resulta <strong>más tranquila y mejor remunerada</strong>; al menos aquí, en España.</p>
<p>Hoy estaba corrigiendo un problema de esos que tienen <em>historia</em>, es decir, que llevan ahí desde siempre&#8230; y he pensado que todo desarrollador de software <em>debería </em>pasar por un trabajo en el que tuviera que mantener aplicaciones realizadas por otros en épocas pasadas.</p>
<p>Igual que los funcionarios en Francia: antes de poder crear código nuevo (o arquitecturas nuevas o incluir una nueva librería o meterse en el berenjenal x), <strong>debería ser obligatorio dedicar unos años a mantener software de otros</strong> y sufrir en tus propias carnes las consecuencias de una mala decisión (o de muchas).</p>
<p>Y así, cuando por fin se tenga la <strong>responsabilidad de crear</strong>, se tomarán decisiones que faciliten la <em>escalabilidad</em>, <em>extensibilidad </em>y <em>mantenibilidad </em>del software.  ¿O quizás lo contrario, para así resultar imprescindible? Espero que no&#8230; por el bien de todos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/desarrollo-software/el-funcionariado-y-el-mantenimiento-del-software/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aumentar la memoria disponible para los procesos en Windows XP</title>
		<link>http://www.davidalfonso.es/desarrollo-software/aumentar-la-memoria-disponible-para-los-procesos-en-windows-xp</link>
		<comments>http://www.davidalfonso.es/desarrollo-software/aumentar-la-memoria-disponible-para-los-procesos-en-windows-xp#comments</comments>
		<pubDate>Sat, 15 May 2010 16:23:17 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[desarrollo-windows]]></category>
		<category><![CDATA[memoria]]></category>
		<category><![CDATA[sistema]]></category>

		<guid isPermaLink="false">http://www.davidalfonso.es/?p=152</guid>
		<description><![CDATA[En Windows XP 32-Bits el límite de memoria virtual para un proceso son  2GB, pero sabemos que el máximo deberían ser 4GB (el máximo direccionable con 32 bits), así que ¿dónde están las otras 2GB? Pues se reservan para el núcleo del sistema.
Si quieres saber qué pasa con otras versiones de windows o los [...]]]></description>
			<content:encoded><![CDATA[<p>En Windows XP 32-Bits el <strong>límite de memoria virtual</strong> para un proceso son <strong> 2GB</strong>, pero sabemos que el máximo deberían ser 4GB (el máximo direccionable con 32 bits), así que ¿dónde están las otras 2GB? Pues se reservan para el<strong> núcleo del sistema</strong>.</p>
<p>Si quieres saber qué pasa con otras versiones de windows o los detalles exactos, te recomiendo esta página: <a href="http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx">&#8220;Límites de Memoria para las distintas versiones de Windows&#8221;</a>.</p>
<p>Sin embargo, esta limitación impuesta por el sistema puede ser incómoda, al fin y al cabo, ¿por qué 2GB y no 2,5GB? ¿y si mi aplicación los necesita?</p>
<p>Microsoft ya cuenta con esto y es posible permitir que el espacio dedicado al  proceso sea <strong>mayor a 2GB</strong>. Tenemos que ser conscientes de que, puesto que  el límite de memoria virtual son 4GB, si se aumenta la memoria  reservada para el proceso de usuario, <strong>disminuirá </strong>la cantidad de memoria  reservada para el núcleo.</p>
<p>En el siguiente post de Mark Russinovich, <a href="http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx"> &#8220;Pushing the Limits of Windows: Virtual Memory&#8221;</a> y <a href="http://www.brianmadden.com/blogs/brianmadden/archive/2004/02/19/the-4gb-windows-memory-limit-what-does-it-really-mean.aspx">en éste otro de Brian Madden</a>, se explica muy bien la  situación (Mark es uno de los creadores de las herramientas <a href="http://technet.microsoft.com/es-es/sysinternals/default.aspx">Sysinternals</a> y autor del mítico libro <a href="http://www.google.es/search?q=Windows+Internals">Windows Internals</a>).</p>
<p>En resumen, para que un proceso pueda utilizar más de 2GB es necesario:</p>
<ul></ul>
<ol>
<li>Activar el flag <a href="http://msdn.microsoft.com/en-us/library/wz223b1z%28VS.80%29.aspx">Large Address Aware</a> en el binario (para ver si un ejecutable lo tiene activado ejecutar: dumpbin /headers fichero.exe). Este flag se puede activar al linkar tu binario o posteriormente con alguna herramienta que modifique las cabeceras.</li>
<li>Arrancar el sistema con el <a href="http://msdn.microsoft.com/en-us/library/ff556232.aspx">flag /3GB</a> que permite reservar a los procesos de usuario hasta 3GB (dejando una sola para las necesidades del núcleo del sistema).</li>
</ol>
<p>A disfrutarlo <img src='http://www.davidalfonso.es/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<ul></ul>
<ul></ul>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/desarrollo-software/aumentar-la-memoria-disponible-para-los-procesos-en-windows-xp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>San Jorge y la música</title>
		<link>http://www.davidalfonso.es/sin-categorizar/san-jorge-y-musica</link>
		<comments>http://www.davidalfonso.es/sin-categorizar/san-jorge-y-musica#comments</comments>
		<pubDate>Thu, 22 Apr 2010 23:10:44 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Sin categorizar]]></category>

		<guid isPermaLink="false">http://www.davidalfonso.es/?p=142</guid>
		<description><![CDATA[La música me toca casi siempre, pero si se junta con un evento conmemorativo más. En este caso es el Día de Aragón en el que se homenajea a San Jorge (que lo mismo es patrón de Aragón que de Moscú o Cáceres), ese gran caballero que andaba por ahí con su lanzón, aunque para [...]]]></description>
			<content:encoded><![CDATA[<p>La música me toca casi siempre, pero si se junta con un evento conmemorativo más. En este caso es el <a href="http://es.wikipedia.org/wiki/Día_de_Aragón">Día de Aragón</a> en el que se homenajea a San Jorge (que lo mismo es patrón de Aragón que de Moscú o Cáceres), ese gran caballero que andaba por ahí con su lanzón, aunque para lanzón el que me voy a merendar mañana <a href="http://heladeriatortosa.com/">hecho helado</a>.</p>
<p>Os dejo la canción que más me ha gustado de todas las que ha puesto la gente en el twitter.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/7_AG-jXLYq0&amp;hl=es_ES&amp;fs=1&amp;rel=0&amp;color1=0xe1600f&amp;color2=0xfebd01" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube-nocookie.com/v/7_AG-jXLYq0&amp;hl=es_ES&amp;fs=1&amp;rel=0&amp;color1=0xe1600f&amp;color2=0xfebd01" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/sin-categorizar/san-jorge-y-musica/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cómo usar la fuente que quieras en tu web</title>
		<link>http://www.davidalfonso.es/desarrollo-software/como-usar-la-fuente-que-quieras-en-tu-web</link>
		<comments>http://www.davidalfonso.es/desarrollo-software/como-usar-la-fuente-que-quieras-en-tu-web#comments</comments>
		<pubDate>Fri, 05 Feb 2010 15:29:46 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[cufon]]></category>
		<category><![CDATA[desarrollo-web]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[scenic-sanity]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.davidalfonso.es/?p=130</guid>
		<description><![CDATA[A raíz del tema de WordPress que utilizo en esta web (Scenic Sanity), he descubierto un nuevo invento que permite transformar tu fuente de toda la vida (y que sólo tienes tú en tu pc) en un fichero javascript que podrás incluir en tu web. Es un milagro.
La idea de mezclar estas tecnologías ha sido [...]]]></description>
			<content:encoded><![CDATA[<p>A raíz del tema de WordPress que utilizo en esta web (Scenic Sanity), he descubierto un nuevo invento que permite transformar tu fuente de toda la vida (y que sólo tienes tú en tu pc) en un fichero javascript que podrás incluir en tu web. Es un milagro.</p>
<p>La idea de mezclar estas tecnologías ha sido del señor <a href="http://cufon.shoqolate.com/generate/">Cufón</a>. Con su ayuda podrás generar fuentes y descargarte el renderer para incluirlo en tu web. Si quieres ver cómo queda, échale un ojo al código fuente de esta página.</p>
<p>Si estás usando el tema Scenic Sanity y <strong>no te salen los acentos</strong>, tranquilo, todo tiene arreglo. Como yo ya me las he apañado para buscar la fuente y volver a generarla con los parámetros adecuados, ¿para qué lo vas a volver a hacer tú? Mejor <a href="http://www.davidalfonso.es/wp-content/themes/scenic-sanity/js/TitilliumText14L_300.font.js">déscargate mi fichero</a> y súbelo a tu web.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/desarrollo-software/como-usar-la-fuente-que-quieras-en-tu-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo usar la versión estática de la librería de logging de Google</title>
		<link>http://www.davidalfonso.es/desarrollo-software/como-usar-la-version-estatica-de-la-libreria-de-logging-de-google</link>
		<comments>http://www.davidalfonso.es/desarrollo-software/como-usar-la-version-estatica-de-la-libreria-de-logging-de-google#comments</comments>
		<pubDate>Sun, 13 Dec 2009 18:33:05 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[librerías]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://www.davidalfonso.es/?p=116</guid>
		<description><![CDATA[Estoy probando la librería de logging de Google: glog. Esta gente siempre usando nombre pegadizos&#8230;
He decidido usar la versión estática de la librería para no depender de una dll, ya que mi objetivo es generar un ejecutable sin en tiempo de ejecución  (más allá de los runtimes obligatorios).
Para compilar glog basta con abrir la solution [...]]]></description>
			<content:encoded><![CDATA[<p>Estoy probando la librería de logging de Google: <a href="http://code.google.com/p/google-glog/">glog</a>. Esta gente siempre usando nombre pegadizos&#8230;</p>
<p>He decidido usar la versión estática de la librería para <strong>no depender de una dll</strong>, ya que mi objetivo es generar un ejecutable sin en tiempo de ejecución  (más allá de los runtimes obligatorios).</p>
<p>Para compilar <strong>glog</strong> basta con abrir la <em>solution </em>correspondiente: <em>google-glog.sln</em>, seleccionar el proyecto estático y compilarlo (debug y release). Después se configura en nuestra aplicación el path de los includes (<em>google-glog\src\windows</em>) y de las librerías (<em>google-glog/Debug</em> o <em>google-glog/Release</em>, según corresponda).</p>
<p>Si intentas compilar ahora, verás el siguiente error de linkado:</p>
<pre>error LNK2001: unresolved external symbol "__declspec(dllimport)
  void __cdecl google::InitGoogleLogging(char const *)"
  (__imp_?InitGoogleLogging@google@@YAXPBD@Z)</pre>
<p>Para solucionarlo, hay que seguir el siguiente paso no documentado: <strong>Añadir la siguiente directiva de preprocesado</strong> a las propiedades de nuestro proyecto:</p>
<pre>GOOGLE_GLOG_DLL_DECL=</pre>
<p>Ahora sí, podemos empezar a usar la librería&#8230; vamos a ver qué tal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/desarrollo-software/como-usar-la-version-estatica-de-la-libreria-de-logging-de-google/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manifiesto “En defensa de los derechos fundamentales en internet”</title>
		<link>http://www.davidalfonso.es/personal/manifiesto-%e2%80%9cen-defensa-de-los-derechos-fundamentales-en-internet%e2%80%9d</link>
		<comments>http://www.davidalfonso.es/personal/manifiesto-%e2%80%9cen-defensa-de-los-derechos-fundamentales-en-internet%e2%80%9d#comments</comments>
		<pubDate>Thu, 03 Dec 2009 20:13:17 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.davidalfonso.es/?p=111</guid>
		<description><![CDATA[Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que:

Los [...]]]></description>
			<content:encoded><![CDATA[<p>Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, <em>bloggers</em>, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que:</p>
<ol>
<li><span style="font-weight: bold;">Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos</span>, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.</li>
<li><span style="font-weight: bold;">La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicia</span>l. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.</li>
<li><span style="font-weight: bold;">La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español</span>, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.</li>
<li><span style="font-weight: bold;">La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural.</span> Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.</li>
<li><span style="font-weight: bold;">Los autores</span>, como todos los trabajadores,<span style="font-weight: bold;"> tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades</span> asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.</li>
<li>Consideramos que <span style="font-weight: bold;">las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, </span>en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.</li>
<li><span style="font-weight: bold;">Internet debe funcionar de forma libre y sin interferencias políticas</span> auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.</li>
<li><span style="font-weight: bold;">Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España,</span> ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.</li>
<li><span style="font-weight: bold;">Proponemos una verdadera reforma del derecho de propiedad intelectual </span>orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.</li>
<li><span style="font-weight: bold;"><span style="font-weight: normal;"><span style="font-weight: bold;">En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público</span> y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.</span></span></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/personal/manifiesto-%e2%80%9cen-defensa-de-los-derechos-fundamentales-en-internet%e2%80%9d/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usar CTRL+MAYS+N en ToDoList</title>
		<link>http://www.davidalfonso.es/productividad/usar-ctrlmaysn-en-todolist</link>
		<comments>http://www.davidalfonso.es/productividad/usar-ctrlmaysn-en-todolist#comments</comments>
		<pubDate>Sun, 29 Nov 2009 15:08:27 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Productividad]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[clipx]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[todolist]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://davidalfonso.es/?p=92</guid>
		<description><![CDATA[He descubierto recientemente una aplicación para gestionar tu lista de cosas por hacer (to-do list). Se llama ToDoList (¡oh, sorpresa!) y es para Windows. Es una de esas piezas de código que descubres por casualidad en CodeProject cuando estás intentando encontrar otra cosa que no tiene nada que ver&#8230;
Tras instalarla y comprobar que pinta bien, [...]]]></description>
			<content:encoded><![CDATA[<p>He descubierto recientemente una aplicación para gestionar tu <strong>lista de cosas por hacer</strong> (to-do list). Se llama <strong><a href="http://www.abstractspoon.com/">ToDoList</a></strong> (¡oh, sorpresa!) y es para Windows. Es una de esas piezas de código que descubres por casualidad en <a href="http://www.codeproject.com/">CodeProject</a> cuando estás intentando encontrar otra cosa que no tiene nada que ver&#8230;</p>
<p>Tras instalarla y comprobar que pinta bien, que sigue siendo gratis y no consume apenas recursos, decido familiarizarme con los accesos rápidos para valorar si se puede integrar en mi <em>workflow</em>. <strong>La primera en la frente</strong>. Al pulsar <strong>CTRL + MAYS + N</strong> en lugar de crearse la subtarea deseada, aparece <strong>Firefox </strong>creando una nueva pestaña! Misterioso&#8230;</p>
<div id="attachment_94" class="wp-caption aligncenter" style="width: 586px"><img class="size-full wp-image-94 " title="CtrlMaysN" src="http://davidalfonso.es/wp-content/uploads/2009/11/CtrlMaysN.png" alt="ToDoList Shortcuts" width="576" height="258" /><p class="wp-caption-text">Diálogo de configuración de los accesos rápidos en ToDoList</p></div>
<p>Lo dejé por unos días, ya que <a href="http://support.mozilla.com/en-US/kb/Keyboard+shortcuts">Firefox no permite configurar sus accesos rápidos</a> y me conformé con pulsar en el icono de crear subtarea cada vez&#8230; hasta que pasados unos días, me harté de estar dándole al icono y decidí que o lo arrglaba o lo desinstalaba. Analizando un poco más el comportamiento, observé que, al abrirse la pestaña, se intentaba cargar lo que tenía en el <strong>portapapeles</strong>! Y entonces me acordé de <a href="http://bluemars.org/clipx/"><strong>ClipX</strong></a>, esa aplicación a la que cuando te acostumbras cualquier tiempo pasado fue un infierno que no quieres recordar.</p>
<div id="attachment_98" class="wp-caption aligncenter" style="width: 516px"><img class="size-full wp-image-98 " title="ClipXShortcuts" src="http://davidalfonso.es/wp-content/uploads/2009/11/ClipXShortcuts.png" alt="ClipXShortcuts" width="506" height="399" /><p class="wp-caption-text">Diálogo de configuración de los accesos rápidos en ClipX</p></div>
<p>Y aquí encontré al culpable&#8230; bastó con<strong> quitar el acceso rápido para navegar</strong> a lo que hay en el portapapeles pulsando la tecla Retroceso (de carro) para poder usar la combinación <strong>CTRL + MAYS + N</strong> para añadir una subtarea <img src='http://www.davidalfonso.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/productividad/usar-ctrlmaysn-en-todolist/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About Face 3: chapter 7 notes (I)</title>
		<link>http://www.davidalfonso.es/experiencia-de-usuario/about-face-3-chapter-7-notes-i</link>
		<comments>http://www.davidalfonso.es/experiencia-de-usuario/about-face-3-chapter-7-notes-i#comments</comments>
		<pubDate>Thu, 21 May 2009 20:00:37 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Experiencia de Usuario]]></category>
		<category><![CDATA[Libros]]></category>
		<category><![CDATA[about-face-3]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[goal-directed-design]]></category>

		<guid isPermaLink="false">http://davidalfonso.es/?p=74</guid>
		<description><![CDATA[These are just some notes I&#8217;ve taken after reading chapter 7 of About Face 3 and they might not reflect what the authors really state in the book.
Things we have done so far:

Quite a lot of qualitative research.
We modeled our users through personas who have goals.
We narrated the main scenarios which led us to figure [...]]]></description>
			<content:encoded><![CDATA[<p><em>These are just some notes I&#8217;ve taken after reading chapter 7 of <a href="http://www.google.es/search?q=about+face+3">About Face 3</a> and they might not reflect what the authors really state in the book.</em></p>
<p>Things we have done so far:</p>
<ul>
<li>Quite a lot of qualitative <strong>research</strong>.</li>
<li>We modeled our users through <strong>personas </strong>who have <strong>goals</strong>.</li>
<li>We narrated the main <strong>scenarios </strong>which led us to figure out our <strong>requirements</strong>.</li>
</ul>
<h2>From Requirements to Design: The Framework and Refinement</h2>
<p>The authors divide the <strong>Design Framework</strong> into three sub-frameworks (they refer to frameworks meaning phases). These are:</p>
<ul>
<li>The <strong>interaction </strong>framework: Describes high-level screen layouts, flow, behavior and organization of the product. This work is done mainly by interaction designers. There are six steps suggested in this framework:
<ol>
<li>Define form factor, posture and input methods. <strong>Form factor</strong> means how the form of the device you&#8217;re designing to affects and constrains the user-interaction. The <strong>posture </strong>means how the user will devote attention to interacting with the product (i.e. if he&#8217;s just passing by, it&#8217;s part of his job, it&#8217;s mandatory for him to use it,&#8230;) The <strong>input methods</strong> define how users will interact with the product.</li>
<li>Define functional and data elements. <strong>Data elements</strong> are those pieces of information which must be available to the user, they are the reason why the product is used after all. <strong>Functional elements</strong> are the operations users can do with data elements. <strong>Important!</strong> Design principles and patterns begin to be useful in this point! Don&#8217;t reinvent the wheel! When choosing a solution always think on user goals! There is a very interesting point made here: <strong>&#8220;Pretend the product is human&#8221;</strong> ! I suppose it depends on the human&#8230; but, generally speaking, humans seem to be more considerate with other humans than non-human things&#8230;</li>
<li>Determine functional groups and hierarchy. This will lead to primary screens and establish a hierarchy on your functional and data elements.</li>
<li>Sketch it! Very simple&#8230; just to give a general idea. Try different approaches. It&#8217;s an iterative process! Forget about the details!</li>
<li>Construct key path scenarios. Task-oriented. Precise behavior of interactions and pathways. Storyboarding.</li>
<li>Check designs with validation scenarios. These scenarios are supposed to be simple and to the point, they must point out any flaws in the design quickly. 3 types: key path variants (not the usual way of interaction), necessary use (something what must exist but it&#8217;s rarely used) and edge cases (programmers&#8217; favorites)</li>
</ol>
</li>
<li>The <strong>visual design</strong> framework: The book proposes a 2 step process. Firstly, you should study different visual languages which are independent from the specific interaction framework. These visual studies apply to the graphic components of the interface (typography, color, dimensions, composition, material properties,&#8230;) Finally, it proposes to apply the chosen visual style to the screen archetype (for example, the main screen).</li>
<li>The <strong>industrial design</strong> framework: when you&#8217;re designing more than software and is your responsability to deal with some kind of device (pre-existent or brand new) the form and the input methods affect the interaction framework directly. Collaboration between them is needed to find the best solution. Remember to use prototypes! There&#8217;s only one user experience given an specific product.</li>
</ul>
<p>Next, the refinement phase takes place. In this phase we care about the details and produce the inputs of the developers. Everything is based on the previous work did to build the Design Framework. Everything should be crystal clear to let the developers focus on their work and not in understanding what they have to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/experiencia-de-usuario/about-face-3-chapter-7-notes-i/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to select which albums to display using Flickr Photo Album</title>
		<link>http://www.davidalfonso.es/desarrollo-software/how-to-select-which-albums-to-display-using-flickr-photo-album</link>
		<comments>http://www.davidalfonso.es/desarrollo-software/how-to-select-which-albums-to-display-using-flickr-photo-album#comments</comments>
		<pubDate>Sun, 08 Mar 2009 17:23:57 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[desarrollo-web]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://davidalfonso.es/?p=57</guid>
		<description><![CDATA[I&#8217;m using the Flickr Photo Album plugin for WordPress in another web page which I&#8217;ve recently had to update to WP2.7.1.  So I decided to update also the mentioned plugin to version 1.1. The updating process was smooth, but I realized there was a set (album) I didn&#8217;t want to show in my web&#8230; so [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m using the <a href="http://tantannoodles.com/toolkit/photo-album/">Flickr Photo Album</a> plugin for <a href="http://www.wordpress.org">WordPress</a> in another web page which I&#8217;ve recently <strong>had to update to WP2.7.1</strong>.  So I decided to update also the mentioned plugin to <strong>version 1.1</strong>. The updating process was smooth, but I realized <strong>there was a set (album) I didn&#8217;t want to show</strong> in my web&#8230; so I asked myself:</p>
<p><a href="http://www.flickr.com/groups/tantannoodles/discuss/72057594101590571/?search=select+albums">Can you select which albums to display?</a></p>
<p>The answer was neither clear nor clean, that&#8217;s why I decided to explore the plugin code in order to find the exact point where I could filter which albums to show. And I found it. Of course there were other points, but this one satisfied both requirements:</p>
<ul>
<li>To affect every place where albums were used.</li>
<li>Not to modify the internal code which connects to Flickr.</li>
</ul>
<p>The file where this could be done was <strong>flickr/lib.flickr.php</strong>, exactly in the <strong>getAlbums()</strong> method:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #000000; font-weight: bold;">function</span> getAlbums<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$albums</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>photosets_getList<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$visible_albums</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'123456789'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'123456789'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'123456789'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'123456789'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$albums</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'photoset'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$albums</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'photoset'</span><span style="color: #009900;">&#93;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$album</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$album</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$visible_albums</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$album</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$album</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'description'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$album</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'description'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'primary'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$album</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'primary'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'photos'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$album</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'photos'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pagename2'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_sanitizeTitle<span style="color: #009900;">&#40;</span><span style="color: #000088;">$album</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pagename'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pagename2'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'.html'</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$return</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$return</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>It&#8217;s as easy as fill the <strong>visible_albums</strong> array with the ids of the albums you want to show. If in doubt just comment on this post and I&#8217;ll try to help you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/desarrollo-software/how-to-select-which-albums-to-display-using-flickr-photo-album/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do your users choose to use your product?</title>
		<link>http://www.davidalfonso.es/experiencia-de-usuario/do-your-users-choose-to-use-your-product</link>
		<comments>http://www.davidalfonso.es/experiencia-de-usuario/do-your-users-choose-to-use-your-product#comments</comments>
		<pubDate>Sat, 21 Feb 2009 17:07:27 +0000</pubDate>
		<dc:creator>David Alfonso</dc:creator>
				<category><![CDATA[Experiencia de Usuario]]></category>
		<category><![CDATA[goal-directed-design]]></category>
		<category><![CDATA[producto]]></category>
		<category><![CDATA[usuarios]]></category>

		<guid isPermaLink="false">http://davidalfonso.es/?p=41</guid>
		<description><![CDATA[In much literature related to usability, user experience, interaction design, etc. is common to talk about users and assume they exist and feel like using your product (or not, but they are there, deciding if make your product a success or not); but if you think about it, having users is not always trivial, on [...]]]></description>
			<content:encoded><![CDATA[<p>In much literature related to usability, user experience, interaction design, etc. is common to talk about users and assume they exist and feel like using your product (or not, but they are there, deciding if make your product a success or not); but if you think about it, <strong>having users is not always trivial</strong>, on the contrary, most times is <strong>something you have to earn, fight for</strong>.</p>
<p style="text-align: center;">
<div id="attachment_54" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-54" title="Users and products" src="http://davidalfonso.es/wp-content/uploads/2009/02/usertypes1.png" alt="How people become different kinds of users" width="400" height="330" /><p class="wp-caption-text">How people become different kinds of users</p></div>
<p>How do you <em>add </em>a user? <strong>How do you transform a person into a user of your product?</strong> Sometimes, users will be forced to use your product (e.g. a company buys an erp software and compels its employees to use it) and, other times, users will have made the decision of using your product. In the former case, you <em>only </em>have to worry about providing a great user experience; but in the latter, <strong>you also have to show the person how your product can help him reach a goal</strong> (easier than they would without your product).</p>
<p>How do you do this?</p>
<ul>
<li><strong>Letting the word spread</strong>. If your product is <a href="http://tpgblog.com/2008/03/24/quick-ux-quick-heuristics-for-user-experience/">desirable, useful and usable</a>, people will tell their family and friends.</li>
<li><strong>Advertising</strong>. If you advertise your product and make people give it a chance, they&#8217;ll become users (at least for some seconds).</li>
<li><strong>Stating the goal</strong>, that is, make the goal visible, clear and simple. For example, if your website puts car buyers in touch with sellers, and the goal could be to buy a cheap but good car, write this, let the users know before they even load your website.</li>
<li><strong>Investing time on <a href="http://gettingreal.37signals.com/ch09_The_Blank_Slate.php">the blank slate</a></strong>. When a user meets a product, it must attract his attention and show its usefulness.</li>
</ul>
<p>How would you transform a person into a user?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidalfonso.es/experiencia-de-usuario/do-your-users-choose-to-use-your-product/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
