<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DE8HSXs6fip7ImA9WxBVGUs.&quot;"><id>tag:blogger.com,1999:blog-10912158</id><updated>2010-02-24T00:13:58.516+01:00</updated><title>carlosmayo.net</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/carlosmayonet" /><feedburner:info uri="carlosmayonet" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><entry gd:etag="W/&quot;DEIBQ3gzeCp7ImA9WxNaF0g.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-3406502540749641090</id><published>2009-12-02T13:22:00.000+01:00</published><updated>2009-12-02T13:22:32.680+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T13:22:32.680+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><title>En defensa de los derechos fundamentales en Internet</title><content type="html">&lt;p&gt;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:&lt;/p&gt;

&lt;ol&gt;
   &lt;li&gt;&lt;b&gt;Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos&lt;/b&gt;, 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.&lt;/li&gt;
   &lt;li&gt;&lt;b&gt;La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia.&lt;/b&gt; Este anteproyecto, en contra de lo establecido en el &lt;a href="http://narros.congreso.es/constitucion/constitucion/indice/sinopsis/sinopsis.jsp?art=20&amp;tipo=2"&gt;artículo 20.5 de la Constitución&lt;/a&gt;, 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.&lt;/li&gt;
   &lt;li&gt;&lt;b&gt;La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español&lt;/b&gt;, 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.&lt;/li&gt;
   &lt;li&gt;&lt;b&gt;La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural&lt;/b&gt;. 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.&lt;/li&gt;
   &lt;li&gt;&lt;b&gt;Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas&lt;/b&gt;, modelos de negocio y actividades 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.&lt;/li&gt;
   &lt;li&gt;&lt;b&gt;Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles&lt;/b&gt; y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.&lt;/li&gt;
   &lt;li&gt;&lt;b&gt;Internet debe funcionar de forma libre y sin interferencias políticas&lt;/b&gt; auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.&lt;/li&gt;
   &lt;li&gt;&lt;b&gt;Exigimos que el Gobierno garantice por ley la &lt;a href="http://es.wikipedia.org/wiki/Neutralidad_de_red"&gt;neutralidad de la Red&lt;/a&gt;, en España&lt;/b&gt; ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.&lt;/li&gt;
   &lt;li&gt;&lt;b&gt;Proponemos una verdadera reforma del derecho de propiedad intelectual&lt;/b&gt; orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas&lt;/b&gt;. 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.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Este manifiesto, elaborado de forma conjunta por varios autores, es de todos y de ninguno. Se ha publicado en multitud de sitios web. Si estás de acuerdo y quieres sumarte a él, difúndelo por Internet.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-3406502540749641090?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/3406502540749641090/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2009/12/en-defensa-de-los-derechos.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/3406502540749641090?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/3406502540749641090?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2009/12/en-defensa-de-los-derechos.html" title="En defensa de los derechos fundamentales en Internet" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkMAQXo8cCp7ImA9WxJUE0w.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-5185760156397035943</id><published>2009-03-08T12:03:00.011+01:00</published><updated>2009-07-11T15:20:40.478+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-11T15:20:40.478+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="openid" /><title>Usar tu web como proveedor de identidad</title><content type="html">&lt;img align="right" class="imagen" src="/imagenes/openid.png" /&gt;
&lt;p&gt;&lt;strong&gt;¿Qué es openid?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.openid.net"&gt;OpenID&lt;/a&gt; es un sistema de identificación descentralizado con el que el usuario puede identificarse en cualquier web usando una URL como identidad. Gracias a esto el usuario no tendrá que crearse una nueva cuenta en cada web que quiera registrarse. En su lugar, tendrá que disponer de un identificador creado en un servidor que verifique OpenID, llamado proveedor de identidad.&lt;/p&gt;
&lt;p&gt;Actualmente existen numerosos proveedores en los que crear tu identidad. Incluso es posible, que sin saberlo, ya tengas una, ya que servicios como Blogger (bajo la identidad &lt;strong&gt;usuario.blogspot.com&lt;/strong&gt;), Wordpress.com (&lt;strong&gt;usuario.wordpress.com&lt;/strong&gt;) o Yahoo! (&lt;strong&gt;openid.yahoo.com&lt;/strong&gt;) son proveedores de identidad.&lt;/p&gt;
&lt;p&gt;Sin embargo, si no quieres utilizar un proveedor de terceros y utilizar el tuyo propio, dispones de varias alternativas para ello. Aquí vamos a explicar las tres formas mas sencillas de hacerlo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Delegación de autenticación&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://openid.net/specs/openid-authentication-1_1.html#delegating_authentication"&gt;La especificación OpenID 1.1&lt;/a&gt; permite que si el servidor del usuario no puede ejecutar un proveedor de identidad o desea utilizar uno que se encuentra en un servidor diferente, este puede delegar su autenticación a otro servidor. Por ejemplo, si queremos que nuestra web http://www.miweb.com sea nuestro identificador pero no disponemos de un proveedor de identidad en ella, podemos delegar la autenticación a otro proveedor, por ejemplo Blogger o Wordpress.com.&lt;/p&gt;
&lt;p&gt;Para ello, hay que añadir los dos siguientes tags (ejemplo para delegar en Blogger) en la sección HEAD de nuestra web:&lt;/p&gt;
&lt;div class="code"&gt;
&lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;link&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;rel&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"openid.server"&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;href&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"http://www.blogger.com/openid-server.g"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;/&gt;&lt;/span&gt;&lt;br/&gt;
&lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;link&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;rel&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"openid.delegate"&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;href&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"http://miblog.blogger.com"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;/&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Si quiere delegar en cualquier otro proveedor, tan solo debes cambiar el nombre del servidor en openid.server y la URL de tu identidad en openid.delegate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Ejecutar tu propio servidor de OpenID&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Existen varias &lt;a href="http://wiki.openid.net/Run_your_own_identity_server"&gt;herramientas para instalar tu servidor de OpenID&lt;/a&gt; pero nosotros utilizaremos &lt;a href="http://siege.org/projects/phpMyID/"&gt;phpMyID&lt;/a&gt; al ser bastante simple y fácil de configurar (sólo dos archivos). Lo único que tienes que hacer es descargarlo y subir los dos ficheros a tu servidor, configurar tu usuario y contraseña en el MyID.config.php y colocar las dos etiquetas de delegación en tu web del siguiente modo:&lt;/p&gt;
&lt;div class="code"&gt;
&lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;link&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;rel&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"openid.server"&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;href&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"http://tuweb/MyID.config.php"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;/&gt;&lt;/span&gt;&lt;br/&gt;
&lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;link&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;rel&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"openid.delegate"&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;href&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"http://tuweb/MyID.config.php"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;/&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;De esta forma dispones de tu propio servidor OpenID y no dependes de soluciones de terceros.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Instalar el plugin OpenID para Wordpress&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si estás utilizando Wordpress.org para tu web, puede instalar el &lt;a href="http://wordpress.org/extend/plugins/openid/"&gt;plugin OpenID&lt;/a&gt;. Este plugin permite a los visitantes de tu web autenticarse en ella mediante OpenID pero a partir de la versión 3.0 también ofrece la posibilidad de actuar como proveedor de identidad. Para ello sólo tienes que instalar este plugin y activar la opción de proveedor de identidad en su configuración. Así de sencillo.&lt;/p&gt;

&lt;p&gt;Todas estas soluciones son monousuario, es decir, que sólo sirven para identificar a un único usuario. Para soportar múltiples identidades, habrá que instalar algún otro servidor como &lt;a href="http://wiki.guruj.net/Clamshell!Home"&gt;Clamshell&lt;/a&gt; o &lt;a href="http://simpleid.sourceforge.net/"&gt;SimpleID&lt;/a&gt; entre otros.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-5185760156397035943?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/5185760156397035943/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2009/03/como-usar-tu-web-como-proveedor-de.html#comment-form" title="2 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/5185760156397035943?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/5185760156397035943?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2009/03/como-usar-tu-web-como-proveedor-de.html" title="Usar tu web como proveedor de identidad" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;C0QMQXw9fCp7ImA9WxRUEkw.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-6789934178388881092</id><published>2008-11-20T20:55:00.001+01:00</published><updated>2008-11-20T21:03:00.264+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-20T21:03:00.264+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="videos" /><category scheme="http://www.blogger.com/atom/ns#" term="economia" /><title>La teoría ninja sobre la crisis mundial</title><content type="html">&lt;p style="text-align:center;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UCCX0EjRohQ&amp;hl=es&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/UCCX0EjRohQ&amp;hl=es&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.leopoldoabadia.com/"&gt;Leopoldo Abadía&lt;/a&gt;, todo un crack de la economía, explicaba en el programa de &lt;a href="http://www.buenafuente.lasexta.com/"&gt;Buenafuente&lt;/a&gt; su teoría ninja (&lt;b&gt;n&lt;/b&gt;o &lt;b&gt;i&lt;/b&gt;ncome, &lt;b&gt;n&lt;/b&gt;o &lt;b&gt;j&lt;/b&gt;ob, no &lt;b&gt;a&lt;/b&gt;ssets) sobre la crisis.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-6789934178388881092?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/6789934178388881092/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2008/11/la-teora-ninja-sobre-la-crisis-mundial.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/6789934178388881092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/6789934178388881092?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2008/11/la-teora-ninja-sobre-la-crisis-mundial.html" title="La teoría ninja sobre la crisis mundial" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUMFR3s4eCp7ImA9WxRRGE0.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-4242899273784273830</id><published>2008-09-30T21:12:00.003+02:00</published><updated>2008-09-30T21:36:56.530+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-30T21:36:56.530+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="audios" /><title>La cara oculta de Google</title><content type="html">&lt;p&gt;Entrevista realizada en &lt;a href="http://www.ondacero.es/OndaCero/programa/La-rosa-de-los-vientos/2166771"&gt;La rosa de los vientos&lt;/a&gt; a José Lesta, autor del artículo &lt;i&gt;La cara oculta de Google&lt;/i&gt; para la revista &lt;a href="http://www.akasico.com"&gt;Año Cero&lt;/a&gt;&lt;/p&gt;

&lt;p style="text-align:center;"&gt;
&lt;embed src="http://www.carlosmayo.net/swf/player.swf" width="200"
height="20" bgcolor="undefined" allowscriptaccess="always" allowfullscreen="true"
flashvars="file=http://www.carlosmayo.net/ficheros/lacaraoculagoogle_rosavientos.mp3"&gt;&lt;/embed&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-4242899273784273830?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/4242899273784273830/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2008/09/la-cara-oculta-de-google.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/4242899273784273830?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/4242899273784273830?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2008/09/la-cara-oculta-de-google.html" title="La cara oculta de Google" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CEMCRns7cSp7ImA9WxdTGEs.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-6406562112270677399</id><published>2008-05-15T16:38:00.001+02:00</published><updated>2008-05-15T16:41:07.509+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-15T16:41:07.509+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programación" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><category scheme="http://www.blogger.com/atom/ns#" term="Documentación" /><title>Google Doctype: documentando la web</title><content type="html">&lt;p&gt;Tal y como ha &lt;a href="http://google-code-updates.blogspot.com/2008/05/introducing-google-doctype.html" title="http://google-code-updates.blogspot.com/2008/05/introducing-google-doctype.html" id="link_1"&gt;anunciado Google&lt;/a&gt;, se ha publicado una nueva herramienta para desarrolladores web. Se trata de &lt;a href="http://code.google.com/doctype/" title="http://code.google.com/doctype/" id="link_0"&gt;Google Doctype&lt;/a&gt;, una enciclopedia abierta escrita, por desarrolladores web para desarrolladores web.&lt;/p&gt;

&lt;p&gt;Actualmente está en fase beta, sin embargo Google Doctype ya contiene docenas de artículos escritos por Google sobre los temas mas importantes para todos los desarrolladores web: seguridad, rendimiento, sistema de caché, manipulación de DOM, hojas de estilos, y mucho mas. Además contiene una librería de casos de estudio para comprobar la compatibilidad entre navegadores y plataformas.&lt;/p&gt;

&lt;p&gt;Toda esta información está publicada bajo licencia Creative Commons, de forma que todos los desarrolladores del mundo pueden contribuir en ella. Tan solo accediendo desde una cuenta Google podremos editar cualquier página, cualquier articulo, añadir  otros nuevos, actualizar antiguos, en definitiva, cualquier cosa. &lt;/p&gt;

&lt;p&gt;Sin duda, una gran noticia para los desarrolladores web.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-6406562112270677399?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/6406562112270677399/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2008/05/google-doctype-documentando-la-web.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/6406562112270677399?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/6406562112270677399?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2008/05/google-doctype-documentando-la-web.html" title="Google Doctype: documentando la web" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0EBQXk9fCp7ImA9WxJUE0w.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-412654331418534153</id><published>2008-04-05T11:12:00.015+02:00</published><updated>2009-07-11T15:40:50.764+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-11T15:40:50.764+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programación" /><title>Patrones de diseño: Singleton</title><content type="html">&lt;p&gt;El patrón de diseño Singleton está pensado para restringir la creación de objetos de una clase determinada garantizando que sólo exista una instancia de dicha clase y proporcionar un punto de acceso global a ella.&lt;/p&gt;

&lt;p&gt;Un ejemplo de utilización de este patrón podría ser una clase para la conexión a la base de datos. Mediante esta clase evitaremos que haya mas de una conexión abierta a la vez en cada aplicación y en cada acceso a la base de datos que necesitemos.&lt;/p&gt;

&lt;p&gt;Para crear esta clase utilizando el patrón Singleton tendremos en cuenta lo siguiente:

&lt;ul&gt;
&lt;li&gt;Necesitamos un método constructor privado de forma que nadie, salvo ella misma, pueda crear una instancia de esta clase.&lt;/li&gt;
&lt;li&gt;Necesitaremos un atributo estático privado que contendrá la única instancia a esta clase.&lt;/li&gt;
&lt;li&gt;Y por último, un método estático público que creará la instancia de la clase en caso de que se llame por primera vez almacenándola en el atributo estático y luego la devolverá mediante un return.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;La implementación básica en PHP sería la siguiente:&lt;/p&gt;

&lt;pre&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span style="color: #006600;"&gt;Class&lt;/span&gt; Conexion &lt;span style="color: #000099;"&gt;&amp;#123;&lt;/span&gt;
  static &lt;span style="color: #006600;"&gt;private&lt;/span&gt; &lt;span style="color: #000;"&gt;$thisInstance&lt;/span&gt; = &lt;span style="color: #552200;"&gt;null&lt;/span&gt;;
&amp;nbsp;
  &lt;span style="color: #006600;"&gt;private&lt;/span&gt; &lt;span style="color: #0000FF;"&gt;function&lt;/span&gt; __construct&lt;span style="color: #000099;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000099;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #000099;"&gt;&amp;#123;&lt;/span&gt;
    &lt;span style="color: #0000ff;"&gt;...&lt;/span&gt;
  &lt;span style="color: #000099;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
  static &lt;span style="color: #006600;"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF;"&gt;function&lt;/span&gt; getInstance&lt;span style="color: #000099;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000099;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #000099;"&gt;&amp;#123;&lt;/span&gt;
     &lt;span style="color: #006600;"&gt;if&lt;/span&gt;&lt;span style="color: #000099;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #006600;"&gt;self&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;::&lt;/span&gt;&lt;span style="color: #000;"&gt;$thisInstance&lt;/span&gt; == &lt;span style="color: #552200;"&gt;null&lt;/span&gt;&lt;span style="color: #000099;"&gt;&amp;#41;&lt;/span&gt;
        &lt;span style="color: #006600;"&gt;self&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;::&lt;/span&gt;&lt;span style="color: #000;"&gt;$thisInstance&lt;/span&gt; = &lt;span style="color: #006600;"&gt;new&lt;/span&gt; Conexion&lt;span style="color: #000099;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000099;"&gt;&amp;#41;&lt;/span&gt;;
     &lt;span style="color: #006600;"&gt;return&lt;/span&gt; &lt;span style="color: #006600;"&gt;self&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;::&lt;/span&gt;&lt;span style="color: #000;"&gt;$thisInstance&lt;/span&gt;;
   &lt;span style="color: #000099;"&gt;&amp;#125;&lt;/span&gt;
&lt;span style="color: #0000ff;"&gt;....&lt;/span&gt;
&lt;span style="color: #000099;"&gt;&amp;#125;&lt;/span&gt;
 &lt;span style="color: #ff0000; font-weight: bold;"&gt;?&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Cuando en alguna parte de la aplicación necesitemos acceder a la base de datos, recuperaremos la instancia de la clase y trabajaremos con ella.&lt;/p&gt;

&lt;pre&gt;// Obtendremos la instancia
$db = new Conexion::getInstance();

// Y ya podremos trabajar con ese objeto
$db-&amp;gt;exec(&lt;span style="color:#0000ff"&gt;&amp;quot;select * from clientes&amp;quot;&lt;/span&gt;);
...&lt;/pre&gt;

&lt;p&gt;Este patrón suele ser utilizado en clases que acceden a un recurso único (fichero, base de datos, etc...) de forma que podremos controlar la creación de objectos que acceden a dichos recursos al tener una sola instancia.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-412654331418534153?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/412654331418534153/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2008/04/patrones-de-diseo-singleton.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/412654331418534153?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/412654331418534153?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2008/04/patrones-de-diseo-singleton.html" title="Patrones de diseño: Singleton" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEAHQH84eSp7ImA9WxZUEUs.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-1506905207219588741</id><published>2008-03-28T21:57:00.001+01:00</published><updated>2008-04-02T22:05:31.131+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-02T22:05:31.131+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title>Internet Explorer y los estándares web</title><content type="html">&lt;p style="text-align:center;"&gt;&lt;img src="http://bp2.blogger.com/_2bK03ufc25k/R_Pl6WuEdoI/AAAAAAAAAMo/P3i_IF-bksY/s320/ie8_local_google_comthumbnail.jpg" id="img_0" &gt;&lt;/p&gt;

&lt;p&gt;Es bien sabido entre los desarrolladores web que Internet Explorer no ha sido nunca un claro ejemplo en el cumplimiento de los estándares de la web. &lt;/p&gt;

&lt;p&gt;Debido a esto muchos desarrolladores nos hemos visto a utilizar hacks para que las páginas se vieran correctamente en las versiones 6 y 7 de Internet Explorer. El problema ahora es que esos hacks no sirven para Internet Explorer 8 ya que "supuestamente" respetará los estándares pero además interpretará los hacks creados para las versiones anteriores, por eso el resultado de ver Google Maps con la nueva versión es un desastre. Ahora toca volver a adaptar las páginas para que se muestren correctamente.&lt;p&gt;

&lt;p style="text-align:center;"&gt;&lt;img src="http://bp0.blogger.com/_2bK03ufc25k/R_PmM2uEdpI/AAAAAAAAAMw/gjZxnrOdSQA/s320/std-logo.gif" id="img_0" &gt; &lt;/p&gt;

&lt;p&gt;Aparte de esto, está la campaña &lt;a href="http://savethedevelopers.com/" title="http://savethedevelopers.com/" id="link_0"&gt;Save the developers&lt;/a&gt; cuya intención es pedir a los usuarios que todavía usen el Internet Explorer 6 que actualicen su navegador. Desde aquí me quiero unir a esta petición con el fin de erradicar este navegador que tantos quebraderos de cabeza nos da a los desarrolladores. Por favor, actualízate a un navegador mejor: &lt;a href="http://getfirefox.com/" title="http://getfirefox.com/" id="link_1"&gt;Firefox&lt;/a&gt;, &lt;a href="http://www.opera.com/products/desktop/" title="http://www.opera.com/products/desktop/" id="link_2"&gt;Opera&lt;/a&gt;, &lt;a href="http://www.apple.com/safari/download/" title="http://www.apple.com/safari/download/" id="link_3"&gt;Safari&lt;/a&gt;, &lt;a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" title="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" id="link_4"&gt;IE 7&lt;/a&gt;, etc...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-1506905207219588741?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/1506905207219588741/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2008/03/es-bien-sabido-entre-los.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1506905207219588741?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1506905207219588741?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2008/03/es-bien-sabido-entre-los.html" title="Internet Explorer y los estándares web" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_2bK03ufc25k/R_Pl6WuEdoI/AAAAAAAAAMo/P3i_IF-bksY/s72-c/ie8_local_google_comthumbnail.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DU8DSHw5eSp7ImA9WxZRGUQ.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-2088696856858371550</id><published>2008-02-14T15:04:00.001+01:00</published><updated>2008-02-14T15:04:39.221+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-14T15:04:39.221+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="videos" /><title>Historia secreta de los piratas informáticos</title><content type="html">&lt;center&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://tu.tv/tutvweb.swf?kpt=aHR0cDovL3R1LnR2L3ZpZGVvc2NvZGkvaC9pL2hpc3RvcmlhLXNlY3JldGEtZGUtbG9zLXBpcmF0YXMtaW5mb3JtYXQuZmx2&amp;xtp=134302"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://tu.tv/tutvweb.swf?kpt=aHR0cDovL3R1LnR2L3ZpZGVvc2NvZGkvaC9pL2hpc3RvcmlhLXNlY3JldGEtZGUtbG9zLXBpcmF0YXMtaW5mb3JtYXQuZmx2&amp;xtp=134302" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-2088696856858371550?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/2088696856858371550/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2008/02/historia-secreta-de-los-piratas.html#comment-form" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/2088696856858371550?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/2088696856858371550?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2008/02/historia-secreta-de-los-piratas.html" title="Historia secreta de los piratas informáticos" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;A08FRHw7fip7ImA9WxJUE0w.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-1534119214124610683</id><published>2008-01-25T23:24:00.002+01:00</published><updated>2009-07-11T15:43:35.206+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-11T15:43:35.206+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programación" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title>Evitar entradas duplicadas de urls con o sin www</title><content type="html">&lt;p&gt;Normalmente a una web se puede acceder introduciendo la url con o sin las www pero si esto no se encuentra correctamente configurado, los buscadores pueden penalizar a una web por tener contenido duplicado. Para evitar esto, podemos hacer una &lt;a href="http://google.dirson.com/posicionamiento.net/redireccion-301/"&gt;redirección 301&lt;/a&gt; de todas las peticiones hacia www.midominio.com o midominio.com. Para hacer esto, podemos hacer uso del fichero de configuración &lt;a href="http://en.wikipedia.org/wiki/Htaccess"&gt;.htaccess&lt;/a&gt; de nuestro servidor Apache.&lt;/p&gt;

&lt;p&gt;Por ejemplo, si queremos que al escribir midominio.com nos redirija a www.midominio.com tendremos que crear en el directorio raiz del servidor, un fichero llamado .htaccess con el siguiente código:&lt;/p&gt;

&lt;pre&gt;
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.midominio.com$ [NC]
RewriteRule ^(.*)$ http://www.midominio.com/$1 [L,R=301]&lt;/pre&gt;

&lt;p&gt;Si por el contrario queremos redirigir desde www.midominio.com a midominio.com, el contenido del .htaccess será el siguiente:&lt;/p&gt;

&lt;pre&gt;
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^midominio.com$ [NC]
RewriteRule ^(.*)$ http://midominio.com/$1 [L,R=301]&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-1534119214124610683?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/1534119214124610683/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2008/01/evitar-entradas-duplicadas-de-urls-con.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1534119214124610683?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1534119214124610683?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2008/01/evitar-entradas-duplicadas-de-urls-con.html" title="Evitar entradas duplicadas de urls con o sin www" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CE4FQXwzfSp7ImA9WB9UF0k.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-1571865524783116560</id><published>2007-12-07T19:02:00.000+01:00</published><updated>2007-12-15T19:21:50.285+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-15T19:21:50.285+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Formación" /><category scheme="http://www.blogger.com/atom/ns#" term="Artículos" /><title>El secreto de Google y el algebra lineal</title><content type="html">&lt;p&gt;Leyendo la &lt;a href="http://www.lavozdigital.es/cadiz/20071207/sociedad/todo-esta-almacenado-internet-20071207.html"&gt;entrevista&lt;/a&gt; a &lt;a href="http://www.uam.es/personal_pdi/ciencias/gallardo/"&gt;Pablo Fernández Gallardo&lt;/a&gt;, acabo de encontrar el artículo publicado por él en el Boletín de la Sociedad Española de Matemática Aplicada y que ganó el "V Premio SEMA a la Divulgación en Matemática Aplicada" del año 2004.&lt;/p&gt;

&lt;p&gt;El artículo en cuestión se llama &lt;a href="http://www.uam.es/personal_pdi/ciencias/gallardo/fernandez1.pdf"&gt;El secreto de Google y el álgebra lineal&lt;/a&gt; y muestra una visión matemática sobre este buscador. Merece la pena leerlo.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-1571865524783116560?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/1571865524783116560/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/12/el-secreto-de-google-y-el-algebra.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1571865524783116560?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1571865524783116560?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/12/el-secreto-de-google-y-el-algebra.html" title="El secreto de Google y el algebra lineal" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0cMSXw9fip7ImA9WB9VGEU.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-639044050156938587</id><published>2007-12-05T21:53:00.000+01:00</published><updated>2007-12-05T22:11:28.266+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-05T22:11:28.266+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programación" /><title>Programa con Google</title><content type="html">&lt;p&gt;Google ha lanzado hoy su primer blog oficial para programadores en español bajo el nombre &lt;a href="http://programa-con-google.blogspot.com"&gt;Programa con Google&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Con este blog pretenden mantener informados de las últimas novedades sobre creación de aplicaciones, próximos eventos y cualquier otro tipo de noticias que puedan ser de utilidad a los programadores. También es posible enviarles dudas técnicas que intentarán responder en el blog además de publicar posts sobre temas variados y consejos técnicos.&lt;/p&gt;

&lt;p&gt;También es posible enviarles nuestras aplicaciones desarrolladas con productos de Google e intentarán destacar una de ellas por semana.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-639044050156938587?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/639044050156938587/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/12/programa-con-google.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/639044050156938587?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/639044050156938587?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/12/programa-con-google.html" title="Programa con Google" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUAMQHY_fCp7ImA9WB9WGEQ.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-800668073669764304</id><published>2007-11-24T10:48:00.000+01:00</published><updated>2007-11-24T10:49:41.844+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-24T10:49:41.844+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="videos" /><title>El mundo según Google</title><content type="html">&lt;center&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-2084919753106562775&amp;hl=es" flashvars=""&gt; &lt;/embed&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-800668073669764304?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/800668073669764304/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/11/el-mundo-seg-google.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/800668073669764304?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/800668073669764304?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/11/el-mundo-seg-google.html" title="El mundo seg&amp;uacute;n Google" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUUMQnc9eSp7ImA9WB9WF0s.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-8773156541336018352</id><published>2007-11-22T21:09:00.000+01:00</published><updated>2007-11-22T21:28:03.961+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-22T21:28:03.961+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Formación" /><category scheme="http://www.blogger.com/atom/ns#" term="Eventos" /><title>I Congreso de Webmasters</title><content type="html">&lt;p&gt;El fin de semana pasado estuve en el &lt;a href="http://www.congresodewebmasters.com"&gt;Congreso de Webmasters&lt;/a&gt; celebrado en Madrid, el cual estuvo lleno de ponencias, talleres y mesas redondas. Entre estas puedo destacar el curso de posicionamiento en Google impartido por &lt;a href="http://www.mediaclick.es"&gt;Andrés Granollers&lt;/a&gt;, donde trató con casos prácticos cómo conseguir que nuestra web aparezca en las primeras posiciones del buscador. Otra a destacar fue la ponencia sobre seguridad en web impartida por Jorge Martín, Jefe del Grupo de Seguridad Lógica de la Brigada de Investigación Tecnológica quien pronunció las palabras mas recordadas del evento: &lt;i&gt;No pasa nada por bajarte algo del emule, mientras no lo vendas ...&lt;/i&gt;. Y por último, la de &lt;a href="http://www.palomallaneza.com"&gt;Paloma LLaneza&lt;/a&gt; trantando los aspectos legales relacionados con las webs.&lt;/p&gt;

&lt;p&gt;Los organizadores del congreso han abierto un &lt;a href="http://foro.congresodewebmasters.com"&gt;foro&lt;/a&gt; donde se pueden descargar las presentaciones de los ponentes, obtener información sobre los vídeos grabados, servir de punto de encuentro entre los asistentes al congreso e informarse y opinar sobre la celebración del próximo Congreso de Webmasters, cuya fecha será los dias 22 y 23 de noviembre de 2008. Espero estar allí.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-8773156541336018352?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/8773156541336018352/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/11/i-congreso-de-webmasters.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/8773156541336018352?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/8773156541336018352?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/11/i-congreso-de-webmasters.html" title="I Congreso de Webmasters" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkUBRHw4fyp7ImA9WxZTEEU.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-9061837688863942289</id><published>2007-10-09T23:57:00.001+02:00</published><updated>2008-01-11T22:50:55.237+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-11T22:50:55.237+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programación" /><category scheme="http://www.blogger.com/atom/ns#" term="Mashup" /><title>Farmacias de guardia de Cádiz en Google Maps</title><content type="html">&lt;p&gt;Coincidiendo con la renovación del portal de &lt;a href="http://www.lavozdigital.es"&gt;La Voz Digital&lt;/a&gt;, hemos creado un servicio para posicionar las farmacias de guardia de la provincia de Cádiz en los mapas de Google. Ha sido mi primer desarrollo utilizando las &lt;a href="http://www.google.com/apis/maps/"&gt;API de Google Maps&lt;/a&gt; y he de reconocer que tanto su aprendizaje como su utilizanción me han resultado fácil, todo debido a la buena &lt;a href="http://www.google.com/apis/maps/documentation/index.html"&gt;documentación&lt;/a&gt; y a la cantidad de &lt;a href="http://www.google.com/apis/maps/documentation/examples/index.html"&gt;ejemplos&lt;/a&gt; disponibles.&lt;/p&gt;

&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://bp2.blogger.com/_2bK03ufc25k/Rwv-MnqXErI/AAAAAAAAAE4/UUfXxgUe_JQ/s320/farmapa.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5119464894195241650"/&gt;

&lt;p&gt;El resultado del desarrollo se puede ver en &lt;a href="http://www.lavozdigital.es/cadiz/servicios/farmacias"&gt;Farmacias de guardia de Cádiz&lt;/a&gt;. Lo único mas pesado fue la geolocalización de todas las farmacias pero gracias al &lt;a href="http://www.google.com/apis/maps/documentation/services.html#Geocoding"&gt;servicio de geocodificación&lt;/a&gt; de Google, se pudo obtener las coordenadas de todas ellas para luego mostrarlas en el mapa.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-9061837688863942289?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/9061837688863942289/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/10/farmacias-de-cdiz-en-google-maps.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/9061837688863942289?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/9061837688863942289?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/10/farmacias-de-cdiz-en-google-maps.html" title="Farmacias de guardia de Cádiz en Google Maps" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_2bK03ufc25k/Rwv-MnqXErI/AAAAAAAAAE4/UUfXxgUe_JQ/s72-c/farmapa.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0MBRnk6eip7ImA9WB5aFUk.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-8912758773484162713</id><published>2007-08-01T22:04:00.000+02:00</published><updated>2007-09-11T23:17:37.712+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-11T23:17:37.712+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programación" /><category scheme="http://www.blogger.com/atom/ns#" term="Documentación" /><title>Libros gratuitos para desarrolladores web</title><content type="html">&lt;img class="imagen" src="http://www.carlosmayo.net/blog/imagenes/librosweb.jpg" align="right"&gt;&lt;p&gt;Buscando información sobre cómo implementar el patrón &lt;a href="http://es.wikipedia.org/wiki/Modelo_Vista_Controlador"&gt;MVC&lt;/a&gt; con PHP, encontré una web donde han publicado una serie de libros gratuitos para programadores y diseñadores web, disponibles para lectura online y para su descarga en pdf. Actualmente disponen de los siguientes libros: &lt;span style="font-style:italic;"&gt;Symfony, la guía definitiva&lt;/span&gt;, &lt;span style="font-style:italic;"&gt;Introducción a AJAX&lt;/span&gt;; &lt;span style="font-style:italic;"&gt;Introducción a JavaScript; Introducción a CSS&lt;/span&gt; e &lt;span style="font-style:italic;"&gt;Introducción a XHTML&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;Desde aquí me gustaría dar las gracias al o a los responsables de ofrecer estos libros. La web donde se pueden descargar es &lt;a href="http://www.librosweb.es"&gt;LibrosWeb.es&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-8912758773484162713?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/8912758773484162713/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/08/libros-gratuitos-para-desarrolladores.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/8912758773484162713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/8912758773484162713?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/08/libros-gratuitos-para-desarrolladores.html" title="Libros gratuitos para desarrolladores web" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkcDQn09cSp7ImA9WxJUE08.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-3600685079922038858</id><published>2007-07-10T14:23:00.001+02:00</published><updated>2009-07-11T15:47:53.369+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-11T15:47:53.369+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programación" /><title>Utilizando Ajax y JSON con Struts</title><content type="html">&lt;p&gt;En este mini-tutorial me gustaría mostrar, siguiendo un ejemplo, como he utilizado Ajax en una aplicación desarrollada con Struts. Antes de comenzar he de decir que he utilizado la librería JavaScript &lt;a href="http://www.prototypejs.org/"&gt;Prototype&lt;/a&gt; como ayuda.&lt;/p&gt;

&lt;p&gt;Imaginemos que tenemos un formulario donde debemos introducir nuestro código postal, población y provincia y queremos que cuando el usuario introduzca el código postal, automáticamente aparezca en sus respectivas cajas de texto la población y provincia a la que pertenece ese código postal. El código del formulario sería algo parecido a lo siguiente:&lt;/p&gt;

&lt;pre&gt;&lt;span style="color:#ff9900"&gt;&amp;lt;input type=&lt;span style="color:#0000ff"&gt;&amp;quot;text&amp;quot;&lt;/span&gt; id=&lt;span style="color:#0000ff"&gt;&amp;quot;codpostal&amp;quot;&lt;/span&gt; name=&lt;span style="color:#0000ff"&gt;&amp;quot;codpostal&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color:#ff9900"&gt;&amp;lt;input type=&lt;span style="color:#0000ff"&gt;&amp;quot;text&amp;quot;&lt;/span&gt; id=&lt;span style="color:#0000ff"&gt;&amp;quot;poblacion&amp;quot;&lt;/span&gt; name=&lt;span style="color:#0000ff"&gt;&amp;quot;poblacion&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color:#ff9900"&gt;&amp;lt;input type=&lt;span style="color:#0000ff"&gt;&amp;quot;text&amp;quot;&lt;/span&gt; id=&lt;span style="color:#0000ff"&gt;&amp;quot;provincia&amp;quot;&lt;/span&gt; name=&lt;span style="color:#0000ff"&gt;&amp;quot;provincia&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Para realizar nuestro objetivo, crearemos una funcion JavaScript que utilice Prototype para realizar una petición Ajax  a una acción de Struts para hacer la búsqueda en la base de datos y que devuelva el resultado en un objeto JSON mediante el cual rellenaremos el campo población y provincia. El código de esta función sería el siguiente: &lt;/p&gt;

&lt;pre&gt;function buscaPoblacion()
{
   $(&lt;span style="color:#0000ff"&gt;'poblacion'&lt;/span&gt;).value = &lt;span style="color:#0000ff"&gt;&amp;quot;Buscando...&amp;quot;&lt;/span&gt;;
   $(&lt;span style="color:#0000ff"&gt;'provincia'&lt;/span&gt;).value = &lt;span style="color:#0000ff"&gt;&amp;quot;Buscando...&amp;quot;&lt;/span&gt;;

   new Ajax.Request(&lt;span style="color:#0000ff"&gt;'&lt;span style="color:#000099"&gt;&amp;lt;html:rewrite page=&lt;span style="color:#0000ff"&gt;&amp;quot;/util/buscapoblacion.do&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/span&gt;'&lt;/span&gt;, {
      parameters: {codpostal: $(&lt;span style="color:#0000ff"&gt;'codpostal'&lt;/span&gt;).value},
      onComplete: function(transport, json) {
         $(&lt;span style="color:#0000ff"&gt;'poblacion'&lt;/span&gt;).value = json.poblacion;
         $(&lt;span style="color:#0000ff"&gt;'provincia'&lt;/span&gt;).value = json.provincia;
      }
   });
} &lt;/pre&gt;

&lt;p&gt;La acción de Struts que emplearemos para hacer la búsqueda en la base de datos utiliza la librería &lt;a href="http://json-lib.sourceforge.net/"&gt;json-lib&lt;/a&gt; para crear objetos JSON. El código del método &lt;i&gt;execute&lt;/i&gt; sería algo parecido a lo siguiente:&lt;/p&gt;

&lt;pre&gt;
...
&lt;span style="color: #003399;"&gt;String&lt;/span&gt; codpostal&lt;span style="color: #339933;"&gt;=&lt;/span&gt;request.&lt;span style="color: #006633;"&gt;getParameter&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;quot;codpostal);
&amp;nbsp;
// Realizar la bÃºqueda en la base de datos y almacenar el resultado
// en las variables provincia y poblaciÃ³n
&amp;nbsp;
HasMap hm = new HasMap();
hm.put(&amp;quot;&lt;/span&gt;poblacion&lt;span style="color: #0000ff;"&gt;&amp;quot;,poblacion);
hm.put(&amp;quot;&lt;/span&gt;provincia&lt;span style="color: #0000ff;"&gt;&amp;quot;,provincia);
&amp;nbsp;
JSONObject json = JSONObject.fromObject(hm);
response.setHeader(&amp;quot;&lt;/span&gt;X&lt;span style="color: #339933;"&gt;-&lt;/span&gt;JSON&lt;span style="color: #0000ff;"&gt;&amp;quot;, json.toString());
&amp;nbsp;
return mapping.findForward(&amp;quot;&lt;/span&gt;completado&lt;span style="color: #0000ff;"&gt;&amp;quot;);
...&lt;/span&gt;
&lt;/pre&gt;

&lt;p&gt;Al usar Struts necesitamos redirigir una acción a una página JSP. En nuestro caso no vamos a mostrar el resultado en una página JSP sino que la información JSON irá incluida en la cabecera de una página JSP en blanco. El &lt;i&gt;struts-config.xml&lt;/i&gt; quedaría de la siguiente forma:&lt;/p&gt;

&lt;pre&gt;&lt;span style="color: #339933;"&gt;&amp;lt;&lt;/span&gt;action path&lt;span style="color: #339933;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;quot;/util/buscapoblacion&amp;quot;&lt;/span&gt; scope&lt;span style="color: #339933;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;quot;request&amp;quot;&lt;/span&gt;
type&lt;span style="color: #339933;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;quot;com.util.BuscaPoblacionAction&amp;quot;&lt;/span&gt; validate&lt;span style="color: #339933;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: #339933;"&gt;&amp;lt;&lt;/span&gt;forward name&lt;span style="color: #339933;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;quot;completado&amp;quot;&lt;/span&gt; path&lt;span style="color: #339933;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;quot;/blanco.jsp&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: #339933;"&gt;&amp;lt;/&lt;/span&gt;action&lt;span style="color: #339933;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Mas información: &lt;br/&gt;
 - &lt;a href="http://www.weheartcode.com/2007/05/16/using-protototype-ajax-json-with-j2ee-and-struts/"&gt;We Heart Code&lt;/a&gt;&lt;br/&gt;
 - &lt;a href="http://java-x.blogspot.com/2007/04/using-json-from-java.html"&gt;Abhi On Java&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-3600685079922038858?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/3600685079922038858/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/07/utilizando-ajax-y-json-con-struts.html#comment-form" title="9 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/3600685079922038858?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/3600685079922038858?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/07/utilizando-ajax-y-json-con-struts.html" title="Utilizando Ajax y JSON con Struts" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total></entry><entry gd:etag="W/&quot;CkYGRHo-eip7ImA9WxJUE08.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-1522414443833376235</id><published>2007-06-23T22:01:00.001+02:00</published><updated>2009-07-11T15:48:45.452+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-11T15:48:45.452+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Sincronizando ficheros con Unison</title><content type="html">&lt;p&gt;Quer&amp;iacute;a encontrar una soluci&amp;oacute;n para poder sincronizar los datos de mi portatil con los del ordenador de sobremesa. Conoc&amp;iacute;a &lt;a href="http://samba.anu.edu.au/rsync/"&gt;rsync&lt;/a&gt;, que es una utilidad para sincronizar de forma eficiente ficheros y directorios entre dos ordenadores, pero s&amp;oacute;lo sincroniza de forma unidireccional. As&amp;iacute; que no me serv&amp;iacute;a ya que mi intenci&amp;oacute;n era que independientemente donde modificara alg&amp;uacute;n fichero (portatil o sobremesa), pudiera sincronizar en ambos sentidos y que ambos equipos tuvieran los mismos datos.&lt;/p&gt;

&lt;p&gt;La soluci&amp;oacute;n la encontre en &lt;a href="http://www.cis.upenn.edu/~bcpierce/unison/"&gt;unison&lt;/a&gt;. Unison permite mantener sincronizados diferentes directorios en el mismo ordenador o en ordenadores diferentes (incluso con diferentes sistemas operativos) utilizando ssh u otros m&amp;eacute;todos de compartici&amp;oacute;n. Adem&amp;acute;s permite hacerlo en ambos sentidos as&amp;iacute; que ambos ordenadores tendr&amp;acute;n los mismos datos en los directorios sincronizados.&lt;/p&gt;

&lt;p&gt;Una vez instalado el Unison, podemos ejecutar su interfaz gr&amp;aacute;fica o utilizar su interfaz gr&amp;aacute;fica. Si decidimos utilizar su interfaz gr&amp;aacute;fica, una vez ejecutada nos aparecer&amp;aacute; una ventana donde podemos elegir un perfil ya creado o crear uno nuevo. Al crear uno nuevo, se nos pedir&amp;aacute; el primer directorio (local) y seguidamente el segundo, al que podemos acceder por ssh (indicando el nombre o IP del host) o por el arbol de directorios local si la unidad del sistema remoto ya est&amp;aacute; montada. Una vez configurado, Unison comenzar&amp;aacute; a escanear los ficheros y directorios de ambos ordenadores y nos aparecer&amp;aacute; un listado con todos los que se necesita actualizar hacia uno de los ordenadores o hacia otro (nos lo indicar&amp;aacute; mediante una flecha verde). En caso que Unison no sepa en qu&amp;eacute; direcci&amp;oacute;n actualizar nos lo indicar&amp;aacute; mediante un s&amp;iacute;mbolo de interrogaci&amp;oacute;n rojo. La direcci&amp;oacute;n en la que se debe actualizar los ficheros se puede  en la lista. Por &amp;uacute;ltimo, pulsamos sobre el bot&amp;oacute;n &lt;i&gt;Go&lt;/i&gt; y comenzar&amp;aacute; la sincronizaci&amp;oacute;n.&lt;/p&gt;

&lt;p&gt;Por otra parte, si decidimos utilizar la l&amp;iacute;nea de comandos, la sintaxis es la siguiente:&lt;/p&gt;

&lt;pre&gt;unison /directorio/local ssh://host//directorio/remoto&lt;/pre&gt;

&lt;p&gt;Por &amp;uacute;ltimo comentar un problema que me ocurri&amp;oacute;. Si lo que queremos es sincronizar contra una memoria USB formateada con FAT32, obtendremos un error al intentar Unison establecer los permisos de los ficheros. Para solucionar esto, podemos montar la memoria USB añadiendo la opcion &lt;i&gt;quiet&lt;/i&gt; por lo que se ignorar&amp;aacute; los intentos de establecimiento de permisos en esa unidad y no nos dar&amp;aacute; error.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-1522414443833376235?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/1522414443833376235/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/06/sincronizando-ficheros-con-unison.html#comment-form" title="3 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1522414443833376235?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1522414443833376235?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/06/sincronizando-ficheros-con-unison.html" title="Sincronizando ficheros con Unison" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;C08BQH05eSp7ImA9WBFbF0k.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-5899548724288243292</id><published>2007-05-09T21:39:00.000+02:00</published><updated>2007-05-09T22:17:31.321+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-09T22:17:31.321+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><title>Comandos desde la consola en Windows XP</title><content type="html">&lt;p&gt;Reproduzco aqu&amp;iacute; infomaci&amp;oacute;n &lt;a href="http://www.google.es/search?q=%22Comandos+desde+la+consola+en+Windows+XP%22"&gt;encontrada&lt;/a&gt; acerca de los comandos de la consola de Windows XP.&lt;/p&gt;

&lt;p&gt;Adem&amp;aacute;s de las numerosas opciones de configuraci&amp;oacute;n que incluye Windows XP en el Panel de Control, existen otras opciones adicionales que s&amp;oacute;lo son accesibles a trav&amp;eacute;s de ciertos comandos.&lt;/p&gt;

&lt;p&gt;El sistema operativo Microsoft Windows XP incluye muchas funciones a las que tan s&amp;oacute;lo podemos acceder a trav&amp;eacute;s de la consola de comandos. A menudo estas herramientas nos pueden ayudar a mejorar el rendimiento de nuestro sistema operativo, diagnosticar y corregir problemas o simplemente obtener m&amp;aacute;s informaci&amp;oacute;n sobre la configuraci&amp;oacute;n de nuestro equipo.&lt;/p&gt;

&lt;p&gt;Para acceder a la consola de comandos, tan s&amp;oacute;lo tendremos que ir al men&amp;uacute; Inicio, seleccionar la opci&amp;oacute;n ejecutar y escribir cmd.exe &amp;oacute; simplemente cmd. Tambi&amp;eacute;n podremos acceder a este men&amp;uacute; mediante la combinaci&amp;oacute;n del teclado tecla Windows+R.&lt;/p&gt;

&lt;p&gt;Para obtener ayuda adicional sobre un comando, las opciones que incluye y algunos ejemplos de uso, tan s&amp;oacute;lo tendremos que a&amp;ntilde;adirle la opci&amp;oacute;n /h &amp;oacute; /?.&lt;/p&gt;

&lt;h3&gt;Archivos y sistemas de ficheros&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;cacls:&lt;/b&gt; Permite modificar los permisos en ficheros y carpetas, permitiendo o prohibiendo a cada usuario leer, escribir o modificar el contenido de dichos archivos o carpetas.&lt;br/&gt;
&lt;b&gt;chkdsk:&lt;/b&gt; Comprueba el estado de una partici&amp;oacute;n y repara los da&amp;ntilde;os en caso de que encuentre alguno. Si lo ponemos sin ning&amp;uacute;n par&amp;aacute;metro simplemente escanear&amp;aacute; la partici&amp;oacute;n, si queremos que adem&amp;aacute;s corrija los errores, deberemos a&amp;ntilde;adir la opci&amp;oacute;n /F, es decir, chkdsk /F.&lt;br/&gt;
&lt;b&gt;cipher:&lt;/b&gt; Permite cifrar archivos, directorios o particiones siempre que se encuentren en el sistema de archivos NTFS.&lt;br/&gt;
&lt;b&gt;comp:&lt;/b&gt; Compara archivos o carpetas y muestra las diferencias existentes entre ellos.&lt;br/&gt;
&lt;b&gt;compact:&lt;/b&gt; Permite comprimir archivos o carpetas para ahorrar espacio en el disco duro. Para comprimir los archivos deberemos utilizar el modificador /c y para descomprimirlo en modificador /u. Por ejemplo, para comprimir la carpeta c:\pruebas debemos utilizar el comando compact /c c:\pruebas y para descomprimirla compact /u c:\pruebas.&lt;br/&gt;
&lt;b&gt;convert:&lt;/b&gt; Convierte particiones FAT &amp;oacute; FAT32 a NTFS. Antes de utilizar este comando es recomendable realizar una copia de seguridad puesto que es posible que durante la conversi&amp;oacute;n se pierdan datos.&lt;br/&gt;
&lt;b&gt;defrag:&lt;/b&gt; Desfragmenta los archivos de una unidad, similar a la utilidad Defragmentador de discos de Windows pero en modo consola.&lt;br/&gt;
&lt;b&gt;diskpart:&lt;/b&gt; Permite crear, eliminar y administrar particiones. Este programa en modo consola debemos utilizarlo con cuidado puesto que es f&amp;aacute;cil que eliminemos sin darnos cuenta todo el contenido del disco duro o de la partici&amp;oacute;n activa.&lt;br/&gt;
&lt;b&gt;find y findstr:&lt;/b&gt; Estos comandos buscan cadenas de textos en el interior de uno o varios archivos. Sin embargo, el comando findstr ofrece m&amp;aacute;s opciones de b&amp;uacute;squeda que el comando find.&lt;br/&gt;
&lt;b&gt;iexpress:&lt;/b&gt; Este comando lanzar&amp;aacute; un asistente para crear archivos comprimidos .CAB autodescomprimibles.&lt;br/&gt;
&lt;b&gt;openfiles:&lt;/b&gt; Muestra a un administrador los archivos abiertos en un sistema a un administrador y permite desconectarlos si se han abierto a trav&amp;eacute;s de red.&lt;br/&gt;&lt;/p&gt;

&lt;h3&gt;Configuraci&amp;oacute;n del sistema&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;bootcfg:&lt;/b&gt; Permite ver y modificar las entradas del archivo boot.ini. Estas entradas nos permiten seleccionar con que sistema operativo deseamos iniciar el equipo.&lt;br/&gt;
&lt;b&gt;control userpasswords2:&lt;/b&gt; Permite modificar las claves y los permisos de los diferentes usuarios, as&amp;iacute; como requerir la pulsaci&amp;oacute;n de control+alt+suprimir para poder iniciar sesi&amp;oacute;n, haciendo el inicio de sesi&amp;oacute;n m&amp;aacute;s seguro.&lt;br/&gt;&lt;/p&gt;

&lt;center&gt;&lt;img class="imagen" src="http://www.carlosmayo.net/blog/imagenes/comandosxp4.jpg"/&gt;&lt;/center&gt;

&lt;p&gt;&lt;b&gt;driverquery:&lt;/b&gt; Hace un listado de todos los drivers instalados en el sistema y muestra informaci&amp;oacute;n sobre cada uno de ellos.&lt;br/&gt;
&lt;b&gt;dxdiag:&lt;/b&gt; Lanza la herramienta de diagn&amp;oacute;stico de Direct X, con la cual podremos comprobar la versi&amp;oacute;n Direct X que tenemos instalada y permite comprobar mediante tests que todo lo referente a estos controladores funcione correctamente.&lt;br/&gt;&lt;/p&gt;

&lt;center&gt;&lt;img class="imagen" src="http://www.carlosmayo.net/blog/imagenes/comandosxp7.jpg"/&gt;&lt;/center&gt;&lt;br/&gt;
&lt;center&gt;&lt;img class="imagen" src="http://www.carlosmayo.net/blog/imagenes/comandosxp3.jpg"/&gt;&lt;/center&gt;&lt;br/&gt;
&lt;center&gt;&lt;img class="imagen" src="http://www.carlosmayo.net/blog/imagenes/comandosxp5.jpg"/&gt;&lt;/center&gt;

&lt;p&gt;&lt;b&gt;gpresult:&lt;/b&gt; Muestra informaci&amp;oacute;n sobre las pol&amp;iacute;ticas de grupo aplicadas a un usuario.&lt;br/&gt;
&lt;b&gt;gpupdate:&lt;/b&gt; Vuelve a aplicar las pol&amp;iacute;ticas de grupo.&lt;br/&gt;
&lt;b&gt;msconfig:&lt;/b&gt; Desde esta aplicaci&amp;oacute;n en modo gr&amp;aacute;fico podremos seleccionar que programas y servicios se cargan durante el inicio de Windows as&amp;iacute; como los sistemas operativos que el usuario puede seleccionar para iniciar el ordenador.&lt;/p&gt;

&lt;center&gt;&lt;img class="imagen" src="http://www.carlosmayo.net/blog/imagenes/comandosxp6.jpg"/&gt;&lt;/center&gt;

&lt;p&gt;&lt;b&gt;pagefileconfig:&lt;/b&gt; Permite configurar el archivo de paginaci&amp;oacute;n de Windows.&lt;br/&gt;
&lt;b&gt;prncnfg:&lt;/b&gt; Muestra informaci&amp;oacute;n sobre las impresoras instaladas.&lt;br/&gt;
&lt;b&gt;prnjobs:&lt;/b&gt; Muestra informaci&amp;oacute;n sobre los trabajos de impresi&amp;oacute;n en cola.&lt;br/&gt;
&lt;b&gt;reg:&lt;/b&gt; Permite ver y modificar valores del registro de Windows. Las opciones posibles son:&lt;/p&gt;

&lt;p&gt;reg query =&gt; realiza una consulta en el registro&lt;br/&gt;
reg add =&gt; a&amp;ntilde;ade una entrada al registro&lt;br/&gt;
reg delete =&gt; elimina una clave del registro&lt;br/&gt;
reg copy =&gt; copia una clave del registro a otra parte del registro o a otro equipo&lt;br/&gt;
reg save =&gt; guarda una parte del registro en un archivo&lt;br/&gt;
reg restore =&gt; restaura una parte del registro de un archivo&lt;br/&gt;
reg load =&gt; carga una clave o &amp;aacute;rbol al registro desde un archivo&lt;br/&gt;
reg unload =&gt; descarga una clave o &amp;aacute;rbol del registro&lt;br/&gt;
reg compare =&gt; compara varios valores del registro&lt;br/&gt;
reg export =&gt; exporta el registro o parte del registro a un archivo&lt;br/&gt;
reg import =&gt; importa el registro o parte del registro de un archivo&lt;/p&gt;

&lt;p&gt;&lt;b&gt;regedit:&lt;/b&gt; Editor del registro en modo gr&amp;aacute;fico.&lt;/p&gt;

&lt;center&gt;&lt;img class="imagen" src="http://www.carlosmayo.net/blog/imagenes/comandosxp2.jpg"/&gt;&lt;/center&gt;

&lt;p&gt;&lt;b&gt;sc:&lt;/b&gt; Este commando nos permite administrar los servicios, ya sea iniciar uno, detenerlo, mandarle se&amp;ntilde;ales, etc.&lt;br/&gt;
&lt;b&gt;sfc:&lt;/b&gt; Este comando permite buscar archivos del sistema da&amp;ntilde;ados y recuperarlos en caso de que est&amp;eacute;n defectuosos (es necesario el CD de instalaci&amp;oacute;n del sistema operativo para utilizarlo). Para realizar una comprobaci&amp;oacute;n inmediata, deberemos ejecutar la orden sfc /scannow.&lt;br/&gt;
&lt;b&gt;systeminfo:&lt;/b&gt; Muestra informaci&amp;oacute;n sobre nuestro equipo y nuestro sistema operativo: n&amp;uacute;mero de procesadores, tipo de sistema, actualizaciones instaladas, etc.&lt;br/&gt;
&lt;b&gt;taskkill:&lt;/b&gt; Permite eliminar un proceso conociendo su nombre o el n&amp;uacute;mero del proceso (PID).&lt;br/&gt;
&lt;b&gt;tasklist:&lt;/b&gt; Realiza un listado de todos los procesos que hay. &amp;uacute;til si deseamos eliminar un proceso y no conocemos exactamente su nombre o su PID.&lt;/p&gt;

&lt;h3&gt;Redes&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;arp:&lt;/b&gt; Muestra y permite modificar las tablas del protocolo ARP, encargado de convertir las direcciones IP de cada ordenador en direcciones MAC (direcci&amp;oacute;n f&amp;iacute;sica &amp;uacute;nica de cada tarjeta de red).&lt;br/&gt;
&lt;b&gt;ftp:&lt;/b&gt; Permite conectarse a otra m&amp;aacute;quina a trav&amp;eacute;s del protocolo FTP para transferir archivos.&lt;br/&gt;
&lt;b&gt;getmac:&lt;/b&gt; Muestra las direcciones MAC de los adaptadores de red que tengamos instalados en el sistema.&lt;br/&gt;
&lt;b&gt;ipconfig:&lt;/b&gt; Muestra y permite renovar la configuraci&amp;oacute;n de todos los interfaces de red.&lt;br/&gt;
&lt;b&gt;nbtstat:&lt;/b&gt; Muestra las estad&amp;iacute;sticas y las conexiones actuales del protocolo NetBIOS sobre TCP/IP, los recursos compartidos y los recursos que son accesibles.&lt;br/&gt;
&lt;b&gt;net:&lt;/b&gt; Permite administrar usuarios, carpetas compartidas, servicios, etc. Para un listado completo de todas las opciones, escribir net sin ning&amp;uacute;n argumento. Para obtener ayuda sobre alguna opci&amp;oacute;n en concreto, escribier net help opci&amp;oacute;n.&lt;br/&gt;
&lt;b&gt;netsh:&lt;/b&gt; Este programa en modo consola permite ver, modificar y diagnosticar la configuraci&amp;oacute;n de la red.&lt;br/&gt;
&lt;b&gt;netstat:&lt;/b&gt; Mediante este comando obtendremos un listado de todas las conexiones de red que nuestra m&amp;aacute;quina ha realizado.&lt;br/&gt;
&lt;b&gt;nslookup:&lt;/b&gt; Esta aplicaci&amp;oacute;n se conecta a nuestros servidores DNS para resolver la IP de cualquier nombre de host. Por ejemplo, si ejecutamos nslookup y escribimos www.xdireccion.com, nos responder&amp;aacute; con algo como:&lt;br/&gt;

Respuesta no autoritativa:&lt;br/&gt;
Nombre: www.xdireccion.com&lt;br/&gt;
Address: 217.76.130.250&lt;br/&gt;

Esto quiere decir que la direcci&amp;oacute;n web www.xdireccion.com corresponde con la IP 217.76.130.250.&lt;br/&gt;

&lt;b&gt;pathping:&lt;/b&gt; Muestra la ruta que sigue cada paquete para llegar a una IP determinada, el tiempo de respuesta de cada uno de los nodos por los que pasa y las estad&amp;iacute;sticas de cada uno de ellos.&lt;br/&gt;
&lt;b&gt;ping:&lt;/b&gt; Poniendo detr&amp;aacute;s del comando ping el nombre o la direcci&amp;oacute;n IP de la m&amp;aacute;quina, por ejemplo ping 192.168.0.1 enviaremos un paquete a la direcci&amp;oacute;n que pongamos para comprobar que est&amp;aacute; encendida y en red. Adem&amp;aacute;s, informa del tiempo que tarda en contestar la m&amp;aacute;quina destino, lo que nos puede dar una idea de lo congestionada que est&amp;eacute; la red.&lt;br/&gt;
&lt;b&gt;rasdial:&lt;/b&gt; Permite establecer o finalizar una conexi&amp;oacute;n telef&amp;oacute;nica.&lt;br/&gt;
&lt;b&gt;route:&lt;/b&gt; Permite ver o modificar las tablas de enrutamiento de red.&lt;br/&gt;
&lt;b&gt;tracert:&lt;/b&gt; Muestra el camino seguido para llegar a una IP y el tiempo de respuesta de cada nodo. &lt;/p&gt;

&lt;h3&gt;Varios&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;at:&lt;/b&gt; Permite programar tareas para que nuestro ordenador las ejecute en una fecha o en un momento determinado.&lt;br/&gt;
&lt;b&gt;logoff:&lt;/b&gt; Este comando nos permite cerrar una sesi&amp;oacute;n iniciada, ya sea en nuestro ordenador o en otro ordenador remoto.&lt;br/&gt;
&lt;b&gt;msg:&lt;/b&gt; Env&amp;iacute;a un mensaje a unos o varios usuarios determinados mediante su nombre de inicio de sesi&amp;oacute;n o el identificador de su sesi&amp;oacute;n.&lt;br/&gt;
&lt;b&gt;msiexec:&lt;/b&gt; Permite instalar, desinstalar o reparar un programa instalado mediante un paquete MSI (archivos con extensi&amp;oacute;n .msi).&lt;br/&gt;
&lt;b&gt;runas:&lt;/b&gt; Permite ejecutar un programa con privilegios de otra cuenta. &amp;uacute;til por ejemplo si estamos como usuario limitado y queremos hacer algo que necesite privilegios de administrador.&lt;br/&gt;
&lt;b&gt;shctasks:&lt;/b&gt; Permite administrar las tareas programadas.&lt;br/&gt;
&lt;b&gt;shutdown:&lt;/b&gt; Permite apagar, reiniciar un ordenador o cancelar un apagado. Es especialmente &amp;uacute;til si hemos sido infectado con el virus Blaster o una de sus variantes para cancelar la cuenta atr&amp;aacute;s. Para ello, tan s&amp;oacute;lo tendremos que utilizar la sintaxis shutdown -a.&lt;/p&gt;


&lt;h3&gt;Microsoft Management Console (MMC)&lt;/h3&gt;

&lt;p&gt;Estos comandos nos dar&amp;aacute;n acceso a distintas partes de la Microsoft Management Console, un conjunto de peque&amp;ntilde;as aplicaciones que nos permitir&amp;aacute;n controlar varios apartados de la configuraci&amp;oacute;n de nuestro sistema operativo.&lt;/p&gt;

&lt;center&gt;&lt;img class="imagen" src="http://www.carlosmayo.net/blog/imagenes/comandosxp1.jpg"/&gt;&lt;/center&gt;

&lt;p&gt;Para acceder a estas opciones, no es necesario entrar en la consola del sistema (cmd.exe), sino que basta con introducirlos directamente desde inicio - ejecutar.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;ciadv.msc:&lt;/b&gt; Permite configurar el servicio de indexado, que acelera las b&amp;uacute;squedas en el disco duro.&lt;br/&gt;
&lt;b&gt;compmgmt.msc:&lt;/b&gt; Da acceso a la Administraci&amp;oacute;n de equipos, desde donde podemos configurar nuestro ordenador y acceder a otras partes de la MMC.&lt;br/&gt;
&lt;b&gt;devmgmt.msc:&lt;/b&gt; Accede al Administrador de dispositivos.&lt;br/&gt;
&lt;b&gt;dfrg.msc:&lt;/b&gt; Desfragmentador del disco duro.&lt;br/&gt;
&lt;b&gt;diskmgmt.msc:&lt;/b&gt; Administrador de discos duros.&lt;br/&gt;
&lt;b&gt;fsmgmt.msc:&lt;/b&gt; Permite administrar y monitorizar los recursos compartidos.&lt;br/&gt;
&lt;b&gt;gpedit.msc:&lt;/b&gt; Permite modificar las pol&amp;iacute;ticas de grupo.&lt;br/&gt;
&lt;b&gt;lusrmgr.msc:&lt;/b&gt; Permite ver y modificar los usuarios y grupos locales.&lt;br/&gt;
&lt;b&gt;ntmsmgr.msc:&lt;/b&gt; Administra y monitoriza los dispositivos de almacenamientos extra&amp;iacute;bles.&lt;br/&gt;
&lt;b&gt;ntmsoprq.msc:&lt;/b&gt; Monitoriza las solicitudes del operador de medios extra&amp;iacute;bles.&lt;br/&gt;
&lt;b&gt;perfmon.msc:&lt;/b&gt; Monitor de rendimiento del sistema.&lt;br/&gt;
&lt;b&gt;secpol.msc:&lt;/b&gt; Configuraci&amp;oacute;n de la pol&amp;iacute;tica de seguridad local.&lt;br/&gt;
&lt;b&gt;services.msc:&lt;/b&gt; Administrador de servicios locales.&lt;br/&gt;
&lt;b&gt;wmimgmt.msc:&lt;/b&gt; Configura y controla el servicio Instrumental de administraci&amp;oacute;n (WMI) de Windows.&lt;/p&gt;

&lt;p&gt;Como podemos comprobar, muchas de las opciones aqu&amp;iacute; listadas s&amp;oacute;lo son accesibles a trav&amp;eacute;s de esta consola, por lo que tareas como personalizar nuestro sistema de acuerdo a nuestros gustos, adaptarlo a nuestras necesidades con una mayor precisi&amp;oacute;n o simplemente por conocer c&amp;oacute;mo funciona nuestro sistema operativo o c&amp;oacute;mo est&amp;aacute; configurado podemos realizarlas con ayuda de estos men&amp;uacute;s ocultos.&lt;/p&gt;

&lt;p&gt;Tambi&amp;eacute;n es posible descargarlo en formato pdf &lt;a href="http://www.carlosmayo.net/docs/Comandos_consola_WinXP.pdf"&gt;aqu&amp;iacute;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-5899548724288243292?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/5899548724288243292/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/05/comandos-desde-la-consola-en-windows-xp.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/5899548724288243292?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/5899548724288243292?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/05/comandos-desde-la-consola-en-windows-xp.html" title="Comandos desde la consola en Windows XP" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUEBQ3Y7eCp7ImA9WB9WGEQ.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-7860508949230748750</id><published>2007-03-29T10:46:00.000+02:00</published><updated>2007-11-24T10:47:32.800+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-24T10:47:32.800+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="videos" /><title>Los Piratas de Silicon Valley</title><content type="html">&lt;center&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-7039094381603369679&amp;hl=es" flashvars=""&gt; &lt;/embed&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-7860508949230748750?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/7860508949230748750/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/03/los-piratas-de-silicon-valley_29.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/7860508949230748750?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/7860508949230748750?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/03/los-piratas-de-silicon-valley_29.html" title="Los Piratas de Silicon Valley" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUIDQn09eCp7ImA9WB9WGEQ.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-15686109300178008</id><published>2007-03-29T10:45:00.000+02:00</published><updated>2007-11-24T10:46:13.360+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-24T10:46:13.360+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="videos" /><title>Código Linux</title><content type="html">&lt;center&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=6729008725344610785&amp;hl=es" flashvars=""&gt; &lt;/embed&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-15686109300178008?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/15686109300178008/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2007/03/c-linux.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/15686109300178008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/15686109300178008?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2007/03/c-linux.html" title="C&amp;oacute;digo Linux" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DkQARno6cCp7ImA9WBFWEkg.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-1437473549103402037</id><published>2006-12-16T21:20:00.000+01:00</published><updated>2007-03-30T13:32:27.418+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-30T13:32:27.418+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="videos" /><category scheme="http://www.blogger.com/atom/ns#" term="Matematicas" /><title>Multiplicación gráfica</title><content type="html">&lt;p&gt;A través de la web &lt;a href="http://gaussianos.com"&gt;Gaussianos&lt;/a&gt; descubro un método de multiplicaci&amp;oacute;n gr&amp;aacute;fica usando l&amp;iacute;neas o bien con c&amp;iacute;rculos. El primero utiliza l&amp;iacute;neas para representar cada cifra y los cortes de estas como resultado.&lt;/p&gt;

&lt;center&gt;&lt;embed src="http://www.metacafe.com/fplayer/296904/easy_graphical_multiplication_trick.swf" width="400" height="345" wmode="transparent"  pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/center&gt;

&lt;p&gt;Mientras que el segundo m&amp;eacute;todo utiliza c&amp;iacute;rculos para representar las cifras del multiplicando y los divide en determinadas partes según las cifras del multiplicador siendo el resultado el n&amp;uacute;mero de partes conseguidas.&lt;/p&gt;

&lt;center&gt;&lt;embed src="http://www.metacafe.com/fplayer/315916/another_graphical_multiplication_trick.swf" width="400" height="345" wmode="transparent"  pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-1437473549103402037?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/1437473549103402037/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2006/12/multiplicaci-gr.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1437473549103402037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/1437473549103402037?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2006/12/multiplicaci-gr.html" title="Multiplicaci&amp;oacute;n gr&amp;aacute;fica" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkUEQns4eyp7ImA9WxJUE08.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-9063852256899690424</id><published>2006-11-11T17:19:00.001+01:00</published><updated>2009-07-11T15:50:03.533+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-11T15:50:03.533+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MacOS" /><title>Compartir entre Mac OS X y Windows</title><content type="html">&lt;p&gt;He leído en varios foros de Mac cómo la gente pregunta sobre la posibilidad de acceder desde Windows a recursos compartidos, tales como archivos e impresoras, de Mac OS X.&lt;/p&gt;

&lt;p&gt;Para compartir archivos con una persona que use Windows, tendremos que activar el servicio &lt;i&gt;Compartir Windows&lt;/i&gt; en &lt;i&gt;Preferencias del sistema -&gt; Compartir&lt;/i&gt;. Una vez activado, pocederemos a acceder desde el Explorador de Windows a la dirección \\ip_del_mac\usuario_del_mac (p.e. \\192.168.1.2\pepito), nos preguntará por el usuario y contraseña y tendremos acceso a todo el directorio de ese usuario.&lt;/p&gt;

&lt;p&gt;Si lo que queremos es compartir una unidad externa o cualquier otro directorio distinto al del usuario, la única solución es modificar el fichero &lt;i&gt;/etc/smb.conf&lt;/i&gt;, añadiendo algo parecido a:&lt;/p&gt;

&lt;pre&gt;[unidad_externa]&lt;br&gt;
  comment = Unidad Externa&lt;br&gt;
  path = /Volumes/nombre_de_la_unidad&lt;br&gt;
  read only = no&lt;br&gt;
  browseable = yes&lt;br&gt;
  create mode = 755&lt;/pre&gt;

&lt;p&gt;Y una vez reiniciado el servicio de samba (sudo killall -HUP smbd), podremos ver este recurso compartido accediendo a \\ip_del_mac\unidad_externa.&lt;/p&gt;

&lt;p&gt;Por último, para compartir una impresora conectada directamente al Mac (por USB), se debe habilitar además el servicio &lt;i&gt;Compartir Impresora&lt;/i&gt; en &lt;i&gt;Preferencias del sistema -&gt; Compartir&lt;/i&gt;. Luego, para configurarla en Windows, se debe añadir como impresora de red o conectada a otro equipo y conectarse la impresora \\ip_del_mac\nombre_de_la_impresora.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-9063852256899690424?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/9063852256899690424/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2006/11/compartir-entre-mac-os-x-y-windows.html#comment-form" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/9063852256899690424?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/9063852256899690424?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2006/11/compartir-entre-mac-os-x-y-windows.html" title="Compartir entre Mac OS X y Windows" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;DUIBR3c5eCp7ImA9WBBQEkg.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-115813394919743054</id><published>2006-09-13T09:50:00.000+02:00</published><updated>2006-11-11T16:05:56.920+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-11T16:05:56.920+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>¿Prohibido software libre? ;)</title><content type="html">&lt;center&gt;
&lt;a href="http://picasaweb.google.com/carlos.mayo/Varios/photo#4974144885387558930"&gt;&lt;img class="imagen" src="http://lh5.google.com/carlos.mayo/RQe2a0raABI/AAAAAAAAABw/W1l5WvM0lFo/img_2486.jpg?imgmax=288"&gt;&lt;/a&gt;
&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-115813394919743054?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/115813394919743054/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2006/09/prohibido-software-libre.html#comment-form" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/115813394919743054?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/115813394919743054?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2006/09/prohibido-software-libre.html" title="¿Prohibido software libre? ;)" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;DUIBR3kzeCp7ImA9WBBQEkg.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-115152558764209850</id><published>2006-06-28T22:08:00.000+02:00</published><updated>2006-11-11T16:05:56.780+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-11T16:05:56.780+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="MacOS" /><title>Cómo tener una nueva unidad de 1Gb en nuestro escritorio</title><content type="html">&lt;p&gt;&lt;a href="http://www.box.net"&gt;Box.net&lt;/a&gt; es un servicio que nos permite tener alojados nuestros archivos en la red disponiendo gratuitamente de un espacio de 1 gb. Para poder subir y bajar estos archivos podemos hacerlo a través de su web o, en nuestro caso, hacer uso del protocolo &lt;a href="http://es.wikipedia.org/wiki/WebDAV"&gt;WebDAV&lt;/a&gt; y tener ese espacio de almacenamiento como una unidad más de nuestro ordenador. Para ello, y dependiendo del sistema operativo, haremos lo siguiente:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Windows&lt;/b&gt;. Abrimos &lt;i&gt;Mis sitios de red&lt;/i&gt; y hacemos doble clic sobre &lt;i&gt;Agregar sitios de red&lt;/i&gt;. Nos aparecerá un asistente para agregar sitios de red y pulsaremos &lt;i&gt;Siguiente&lt;/i&gt;, en la siguiente pantalla elegiremos &lt;i&gt;Elija otra ubicación de red&lt;/i&gt; y pulsaremos &lt;i&gt;Siguiente&lt;/i&gt; y ahora nos preguntará por la &lt;i&gt;Dirección de red o Internet&lt;/i&gt;, en cuya caja de texto escribiremos &lt;i&gt;https://www.box.net/dav&lt;/i&gt; y pulsaremos &lt;i&gt;Siguiente&lt;/i&gt;. Nos pedirá nuestro usuario y contraseña de Box.net y por último, un nombre para este nuevo sitio de red. Una vez terminado, tendremos un nuevo sitio de red a través del cual accederemos mediante el Explorer a nuestro espacio de almacenamiento en Box.net y podremos trabajar en el como si una unidad más se tratase.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Linux&lt;/b&gt;. Mediante &lt;a href="http://www.kde.org"&gt;KDE&lt;/a&gt; es tan sencillo como teclear en la barra de Konkeror la dirección &lt;i&gt;webdavs://box.net/dav&lt;/i&gt; o desde &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;, nos iremos a &lt;i&gt;Archivo-&gt;Conectar al sevidor&lt;/i&gt; y una vez allí, seleccionamos el tipo de servicio &lt;i&gt;Webdav Https&lt;/i&gt; y el servidor &lt;i&gt;box.net/dav&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;MacOS X&lt;/b&gt;. En el Finder, seleccionamos el menú &lt;i&gt;Ir&lt;/i&gt;, elegimos &lt;i&gt;Conectarse al servidor... (Comando+K)&lt;/i&gt; e introduciremos la dirección &lt;i&gt;https://www.box.net/dav&lt;/i&gt;. Nos preguntará por nuestro usuario y contraseña y ya tendremos un nuevo volumen montado en el escritorio. Si deseamos que se monte en cada nuevo arranque, nos iremos a &lt;i&gt;Preferencias del Sistema-&gt;Cuentas-&gt;Items de arranque&lt;/i&gt; y arrastraremos ahí dentro nuestro nuevo volumen.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-115152558764209850?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/115152558764209850/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2006/06/cmo-tener-una-nueva-unidad-de-1gb-en.html#comment-form" title="3 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/115152558764209850?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/115152558764209850?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2006/06/cmo-tener-una-nueva-unidad-de-1gb-en.html" title="Cómo tener una nueva unidad de 1Gb en nuestro escritorio" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;DUIBR3gyfSp7ImA9WBBQEkg.&quot;"><id>tag:blogger.com,1999:blog-10912158.post-115004059384628209</id><published>2006-06-11T17:38:00.000+02:00</published><updated>2006-11-11T16:05:56.695+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-11T16:05:56.695+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Seguridad" /><title>Spam de números</title><content type="html">&lt;p&gt;No, no estoy hablando sobre algo parecido a las &lt;a href="http://kriptopolis.org/node/980"&gt;emisoras de números&lt;/a&gt; o su &lt;a href="http://kriptopolis.org/node/2357"&gt;traslado a internet&lt;/a&gt;. En esta ocasión se trata de una serie de emails que está recibiendo un gran número de usuarios que tienen como remitente y destinatario al propio usuario y como asunto y cuerpo del mensaje unas cifras.&lt;/p&gt;

&lt;p&gt;Al parecer, y según &lt;a href="http://www.pandasoftware.es/pandalabs.asp"&gt;PandaLabs&lt;/a&gt;, el recibir un email como este significa que nuestra dirección está incluida en alguna base de datos de spammers y es posible que estén utilizando esta técnica para validar todas las direcciones incluidas en dichas base de datos y eliminar las que ya no sirven. Yo por ahora no he recibido ningún email de estos, ¿significa que no estoy incluido en ninguna base de datos de spammers? Mucha suerte debería tener ;)&lt;/p&gt;

&lt;p&gt;Mas información en:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://seguridad.internautas.org/html/1/784.html"&gt;Asociación de Internautas&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.f-secure.com/weblog/archives/archive-062006.html#00000894"&gt;F-Secure&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://isc.sans.org/diary.php?storyid=1384&amp;isc=f08be9e6af7fdb35f1f470835cd2f18d"&gt;Sans&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10912158-115004059384628209?l=blog.carlosmayo.net' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.carlosmayo.net/feeds/115004059384628209/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://blog.carlosmayo.net/2006/06/spam-de-nmeros.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/115004059384628209?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10912158/posts/default/115004059384628209?v=2" /><link rel="alternate" type="text/html" href="http://blog.carlosmayo.net/2006/06/spam-de-nmeros.html" title="Spam de números" /><author><name>Carlos Mayo</name><uri>http://www.blogger.com/profile/05771114803343639722</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07399339410118992825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry></feed>
