<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19155479</id><updated>2011-10-08T21:10:02.881-05:00</updated><category term='facebook'/><category term='iPhone'/><category term='Navegadores'/><category term='Base de Datos'/><category term='SEO'/><category term='Programación'/><category term='Seguridad'/><category term='Viajes'/><category term='smartphones'/><category term='SMO'/><category term='Infografías'/><category term='Tecnología'/><category term='redes sociales'/><category term='Android'/><category term='Web 2.0'/><category term='Diseño web'/><category term='Código Abierto'/><title type='text'>Conocimientos de la materia :.</title><subtitle type='html'>Basado en el trabajo diario, comparto lo aprendido y las experiencias vividas para alimentar nuestro bagaje informático-cultural, contribuyendo así a una mejor comunidad informatizada.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19155479.post-2924107948677624613</id><published>2011-08-21T17:08:00.000-05:00</published><updated>2011-08-21T17:08:42.500-05:00</updated><title type='text'>10 Cosas que quisieras saber acerca de Tecnología pero temes preguntar</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://t0.gstatic.com/images?q=tbn:ANd9GcTCSG-pncCsQMECrMDHYE4IPVRya1SNgeCMHcNl9DSI4ZHUeHpk" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://t0.gstatic.com/images?q=tbn:ANd9GcTCSG-pncCsQMECrMDHYE4IPVRya1SNgeCMHcNl9DSI4ZHUeHpk"&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.businessinsider.com/what-is-cloud-computing-9-basic-tech-questions-2011-8"&gt;Business Insider&lt;/a&gt; nos presenta respuestas a 10 preguntas acerca de Tecnologías que usas o están a tu alrededor y que quizás das por dadas, pero  que lo más seguro es que no sabes qué es, porqué, cuándo o dónde, y te  las revela en este interesante, y un tanto cómico, &lt;a href="http://www.businessinsider.com/what-is-cloud-computing-9-basic-tech-questions-2011-8"&gt;artículo&lt;/a&gt;, el cual les presento en español.&lt;br&gt;&lt;br&gt;&lt;a href="http://stuffledge.blogspot.com/2011/08/10-cosas-que-quisieras-saber-acerca-de.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-2924107948677624613?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/2924107948677624613/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=2924107948677624613' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/2924107948677624613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/2924107948677624613'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2011/08/10-cosas-que-quisieras-saber-acerca-de.html' title='10 Cosas que quisieras saber acerca de Tecnología pero temes preguntar'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-7321970809342599780</id><published>2011-06-27T22:01:00.005-05:00</published><updated>2011-06-27T22:15:18.430-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infografías'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='smartphones'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>La batalla entre iPhone y Android</title><content type='html'>Al hablar de teléfonos inteligentes, lo más seguro es que 3 marcas vengan a la mente: Blackberry, iPhone (de Apple), y... Android?&lt;br&gt;&lt;br&gt;&lt;a href="http://stuffledge.blogspot.com/2011/06/la-batalla-entre-iphone-y-android.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-7321970809342599780?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/7321970809342599780/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=7321970809342599780' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/7321970809342599780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/7321970809342599780'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2011/06/la-batalla-entre-iphone-y-android.html' title='La batalla entre iPhone y Android'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-kjZ2hrpvxA8/TglCb1CiijI/AAAAAAAAAFg/ftlS1ECc6Ws/s72-c/mob_andViph.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-8368837505019217595</id><published>2011-05-27T00:34:00.007-05:00</published><updated>2011-06-27T13:02:00.387-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMO'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='redes sociales'/><title type='text'>Un pantallazo 'Open Graph' hacia una implementación en SMO</title><content type='html'>&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-G9qZg-MYcI4/Td9C_THuvBI/AAAAAAAAAFQ/iqyXs4ysalQ/s1600/ogp_like.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-G9qZg-MYcI4/Td9C_THuvBI/AAAAAAAAAFQ/iqyXs4ysalQ/s1600/ogp_like.jpg"&gt;&lt;/a&gt;&lt;/div&gt;Resulta que cada vez que buscaba cómo implementar &lt;i&gt;social plugins&lt;/i&gt; me topaba con los famosos &lt;i&gt;open graph tags&lt;/i&gt;, así que, he aquí un leve pantallazo.&lt;br&gt;&lt;br&gt;El &lt;b&gt;Protocolo de Grafos Abiertos &lt;/b&gt;(&lt;i&gt;&lt;a href="http://ogp.me/"&gt;Open Graph protocol&lt;/a&gt;&lt;/i&gt;) permite que cualquier página web sea un objeto dentro de un &lt;a href="http://en.wikipedia.org/wiki/Social_graph"&gt;grafo social&lt;/a&gt;. Por ejemplo, en Facebook, este protocolo permite que cualquier página web tenga la misma funcionalidad que una Página de Facebook.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://stuffledge.blogspot.com/2011/05/un-pantallazo-open-graph-hacia-una.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-8368837505019217595?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/8368837505019217595/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=8368837505019217595' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/8368837505019217595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/8368837505019217595'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2011/05/un-pantallazo-open-graph-hacia-una.html' title='Un pantallazo &apos;Open Graph&apos; hacia una implementación en SMO'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-G9qZg-MYcI4/Td9C_THuvBI/AAAAAAAAAFQ/iqyXs4ysalQ/s72-c/ogp_like.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-1782138309074298278</id><published>2011-05-24T23:54:00.004-05:00</published><updated>2011-05-30T23:26:42.250-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='redes sociales'/><title type='text'>Cómo crear tu página corporativa de Facebook en 8 pasos</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.dzinepress.com/2010/10/ultimate-business-solutions-as-creative-facebook-pages/" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="133" src="http://www.dzinepress.com/wp-content/uploads/2010/10/creating-facebook-fan-page-530.jpg" width="200"&gt;&lt;/a&gt;&lt;/div&gt;¿Deseas iniciar una campaña de marketing en facebook, pero no sabes cómo empezar? Una &lt;b&gt;página en facebook&lt;/b&gt; es la opción a elegir, y &lt;a href="http://mashable.com/"&gt;Mashable&lt;/a&gt; nos ilumina con 8 sencillos pasos para iniciar nuestra campaña de marketing en la red social de mayor crecimiento con más de 500 millones de usuarios alrededor del mundo.&lt;br&gt;&lt;br&gt;Crear una página es muy sencillo, solo sigue estos sencillos pasos y ya entrarás en carrera:&lt;br&gt;&lt;br&gt;&lt;a href="http://stuffledge.blogspot.com/2011/05/como-crear-tu-pagina-corporativa-de.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-1782138309074298278?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/1782138309074298278/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=1782138309074298278' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/1782138309074298278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/1782138309074298278'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2011/05/como-crear-tu-pagina-corporativa-de.html' title='Cómo crear tu página corporativa de Facebook en 8 pasos'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-893794455019082407</id><published>2010-08-22T00:29:00.002-05:00</published><updated>2011-05-24T22:42:01.999-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infografías'/><title type='text'>¿Cómo sería si el uso de Energía solar creciera como lo ha hecho Facebook?</title><content type='html'>Para el mes de Julio ya corría la &lt;a bitly="BITLY_PROCESSED" href="http://economist.com/node/16660401"&gt;noticia&lt;/a&gt; de que si Facebook fuera un país, sería el tercero con mayor población (después de China e India), pero, ¿qué tal si, el uso de la energía solar creciera tan rápido como lo ha hecho Facebook?&lt;br&gt;&lt;br&gt;&lt;a href="http://stuffledge.blogspot.com/2010/08/como-seria-si-el-uso-de-energia-solar.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-893794455019082407?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/893794455019082407/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=893794455019082407' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/893794455019082407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/893794455019082407'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2010/08/como-seria-si-el-uso-de-energia-solar.html' title='¿Cómo sería si el uso de Energía solar creciera como lo ha hecho Facebook?'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-8905233205216563827</id><published>2010-08-07T22:30:00.001-05:00</published><updated>2011-05-24T22:43:16.168-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMO'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>SEO / SMO - Optimizando la web para obtener mejores resultados - Un pantallazo</title><content type='html'>&amp;quot;&lt;i&gt;Para que nuestra presencia en internet sea rentable es necesaria la  promoción de nuestro sitio&lt;/i&gt;&amp;quot; - Javier Maldonado, &lt;a bitly="BITLY_PROCESSED" href="http://www.desarrolloweb.com/articulos/906.php"&gt;DesarrolloWeb&lt;/a&gt;, 2002.&lt;br&gt;&lt;br&gt;De esta forma inicié el año, para lo que en su momento era mi intento de dedicarme a estudiar y especializarme en la optimización de sitios web para los motores de búsqueda (&lt;b&gt;SEO&lt;/b&gt;, &lt;i&gt;de sus siglas en inglés&lt;/i&gt;). En cierta forma, puse en práctica el material estudiado, mas los resultados inmediatos no tuvieron mayor impacto que la gratificación del autoaprendizaje. Los clientes demandan más, y por &amp;quot;&lt;i&gt;más&lt;/i&gt;&amp;quot; quiero decir: &lt;i&gt;resultados inmediatos y efectivos!&lt;/i&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://stuffledge.blogspot.com/2011/05/seo-smo-optimizando-la-web-para-obtener.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-8905233205216563827?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/8905233205216563827/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=8905233205216563827' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/8905233205216563827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/8905233205216563827'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2011/05/seo-smo-optimizando-la-web-para-obtener.html' title='SEO / SMO - Optimizando la web para obtener mejores resultados - Un pantallazo'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-1415350993218014784</id><published>2010-07-25T21:03:00.005-05:00</published><updated>2011-05-24T22:47:23.361-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infografías'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Código Abierto'/><category scheme='http://www.blogger.com/atom/ns#' term='Navegadores'/><title type='text'>Top 10 infografías Linux y Código Abierto</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Y como dicen que una imagen vale más que mil palabras, os comparto una serie de infografías que he encontrado en &lt;a bitly="BITLY_PROCESSED" href="http://bitelia.com/59249"&gt;Bitelia&lt;/a&gt;, y que a mi juicio ilustran muy bien varios conceptos de Linux y el mundo del código abierto (open source) en general.&lt;br&gt;&lt;br&gt;&lt;a href="http://stuffledge.blogspot.com/2010/07/top-10-infografias-linux-y-codigo.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-1415350993218014784?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/1415350993218014784/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=1415350993218014784' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/1415350993218014784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/1415350993218014784'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2010/07/top-10-infografias-linux-y-codigo.html' title='Top 10 infografías Linux y Código Abierto'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MGlsSby3l-o/TEzqCWEHZAI/AAAAAAAAAEc/1qQaxA8eQmA/s72-c/screen_018.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-6797304912489858579</id><published>2010-05-16T16:27:00.002-05:00</published><updated>2011-05-24T22:48:33.070-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Posicionamiento en Buscadores - Primer acercamiento</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_MGlsSby3l-o/S_BhFrcqQ9I/AAAAAAAAADc/4hHrGAI1jaQ/s1600/SLSPB01.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_MGlsSby3l-o/S_BhFrcqQ9I/AAAAAAAAADc/4hHrGAI1jaQ/s200/SLSPB01.png" width="200"&gt;&lt;/a&gt;&lt;/div&gt;&amp;quot;&lt;i&gt;Para que nuestra presencia en internet sea rentable es necesaria la promoción de nuestro sitio&lt;/i&gt;&amp;quot; - Javier Maldonado, &lt;a href="http://www.desarrolloweb.com/articulos/906.php"&gt;DesarrolloWeb&lt;/a&gt;, 2002.&lt;br&gt;&lt;br&gt;&amp;quot;&lt;i&gt;Más del 90% de las visitas de una página en internet provienen de los motores de búsqueda. De aquella cifra, Google y Yahoo son responsables de más del 85% del tráfico... Modificando el código fuente de un sitio y fortaleciendo sus vínculos, es posible llevarlo a la cima&lt;/i&gt;&amp;quot; - Revista &lt;a href="http://www.revistanex.com/"&gt;NexIT Specialist&lt;/a&gt;; Edición #16; Mayo, 2005.&lt;br&gt;&lt;br&gt;&lt;a href="http://stuffledge.blogspot.com/2010/05/posicionamiento-en-buscadores-primer.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-6797304912489858579?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/6797304912489858579/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=6797304912489858579' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/6797304912489858579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/6797304912489858579'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2010/05/posicionamiento-en-buscadores-primer.html' title='Posicionamiento en Buscadores - Primer acercamiento'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MGlsSby3l-o/S_BhFrcqQ9I/AAAAAAAAADc/4hHrGAI1jaQ/s72-c/SLSPB01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-2512910643935140793</id><published>2009-11-05T01:07:00.003-05:00</published><updated>2011-05-24T22:49:03.228-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnología'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>Web 2.0 = Web Social</title><content type='html'>&lt;b&gt;Web 2.0&lt;/b&gt; se hizo famoso &lt;a href="http://asinox.wordpress.com/2007/04/25/como-nace-el-termino-web-20/"&gt;en algún momento&lt;/a&gt;, y para cuando me di cuenta que ya era el concepto de moda, ni siquiera sabía por qué 2.0, hubo un 1.0? cuál es la diferencia, y de dónde la secuencia?&lt;br&gt;&lt;br&gt;&lt;a href="http://stuffledge.blogspot.com/2009/11/web-20-web-social.html#more"&gt;Más información »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-2512910643935140793?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/2512910643935140793/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=2512910643935140793' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/2512910643935140793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/2512910643935140793'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2009/11/web-20-web-social.html' title='Web 2.0 = Web Social'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MGlsSby3l-o/SvJqoM4dA9I/AAAAAAAAADI/o0ccjDwIOjk/s72-c/screen_001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-5671007290835773946</id><published>2009-05-18T15:32:00.021-05:00</published><updated>2009-05-19T13:41:32.737-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Navegadores'/><title type='text'>Verificando el desarrollo x-browsing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MGlsSby3l-o/ShK-CQxFbgI/AAAAAAAAABI/TCpFfEv7BRU/s1600-h/confused-man-computer2.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 178px;" src="http://3.bp.blogspot.com/_MGlsSby3l-o/ShK-CQxFbgI/AAAAAAAAABI/TCpFfEv7BRU/s320/confused-man-computer2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337537454457318914" /&gt;&lt;/a&gt;&lt;p&gt;Como diseñador web, deseamos que el cliente se sienta satisfecho con el diseño que le trabajamos en cuanto a la selección de la paleta de colores utilizada, la disposición y maquetación de los elementos, la uniformidad del diseño, que luzca atractivo, elegante, profesional, acorde al contenido, a la audiencia, al público, al lector, al visitante... y luego de horas y horas de trabajo, largas e interminables noches que transcurren rápido, tan rápido que no nos damos cuenta del tiempo empleado sino hasta que vemos el sol salir... nos sacamos de la manga un diseño que al presentárselo al cliente y ver reflejado en su rostro ese gesto de satisfacción, es cuando todo el esfuerzo empleado vale la pena y hace rendir cada unidad de tiempo y creatividad invertid@; no obstante, no es en este momento cuando sabemos que el próximo paso crucial &lt;span class="Apple-style-span" style="font-style: italic;"&gt;apenas inicia&lt;/span&gt;, quizás el más laborioso... &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;el desarrollo&lt;/span&gt;... el llevar ese diseño y proyectarlo en un &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;navegador&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;El escenario es el siguiente, tengo un diseño que estoy desarrollando de la mano con mi navegador de excelencia para desarrollos (digamos: Firefox)... pero... se verá igual en los otros navegadores?&lt;/p&gt;&lt;p&gt;Si diseñamos (CSS) para Firefox, lo más seguro, repito, lo más seguro es que estemos diseñando para otros navegadores, tales como: Opera, Chrome (de Google) y Safari, aún a pesar de que entre ellos los motores de renderización no sean los mismos (&lt;span class="Apple-style-span" style="font-style: italic;"&gt;si no me equivoco Firefox y &lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Opera utilizan Presto, y Chrome y Safari utilizan Webkit&lt;/span&gt;). No obstante, IE, &lt;a href="http://www.desarrolloweb.com/actualidad/cuota-uso-navegadores-1740.html"&gt;el más utilizado&lt;/a&gt; (&lt;span class="Apple-style-span" style="font-style: italic;"&gt;cuyo motor de renderización es el Trindent&lt;/span&gt;) no se ajusta muy bien a los estándares de la W3C en cuanto a implementación de CSS se refiere, una lástima, razón por la cual, y según lo que una compañera de trabajo llegó a concluir, debemos realizar pruebas en él a una razón de 3/1 en relación a la cantidad de pruebas que realizaríamos con Firefox (por ejemplo), tomando en cuenta la cuota de uso de navegadores publicada por &lt;a href="http://www.desarrolloweb.com/actualidad/cuota-uso-navegadores-1740.html"&gt;desarrolloweb.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Posibles soluciones que nos lleven a tener la visual de los visitantes del sitio en desarrollo según el navegador que utilicen, y así poder visualizar cómo lucen nuestros diseños en estos, o por lo menos en los más utilizados, podrían ser:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;img src="http://2.bp.blogspot.com/_MGlsSby3l-o/ShK6OLqZEsI/AAAAAAAAABA/x6hjDMRjB0w/s200/browser-war2.jpg" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 103px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5337533261198987970" /&gt;descargar todos los navegadores, estaríamos hablando de: Firefox, Chrome, Safari, Opera... y bueno Internet Explorer (IE). El detalle con este último es el poder contar con las versiones del mismo más utilizadas, ya que entre ellos, las&lt;br /&gt; cosas tampoco funcionan igual, estaríamos hablando de las versiones 6, 7 y 8. Para este último caso, una vez que descarguemos IE8, el mismo cuenta con una opción de compatibilidad con IE7, para las versiones anteriores a estas en la web podemos encontrar instaladores que las han reunido, &lt;a href="http://tredosoft.com/Multiple_IE"&gt;por ejemplo&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 127px;" src="http://2.bp.blogspot.com/_MGlsSby3l-o/ShL7lpJ7a1I/AAAAAAAAABQ/E0lwCmpzue4/s200/ScreenShot012.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337605132508687186" /&gt;o bien... una nueva que encontré en el día de hoy, sería utilizar &lt;a href="http://www.xenocode.com/browsers/"&gt;Xenocode Browser Sandbox&lt;/a&gt;, el cual es una aplicación web que promete, darnos la opción de contar con TODOS estos navegadores, desde un solo lugar, sin necesidad de instalarlos... Lo estoy probando para ver qué onda...&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Esto, claro está, desde el punto de vista de herramientas que nos pueden brindar un panorama de cómo lucen las cosas, o bien, cómo el visitante del sitio vería las cosas en caso de utilizar cualquiera de los navegadores mencionados.&lt;/p&gt;&lt;p&gt;Como desarrollador, y una vez que contamos con la posibilidad de tener la perspectiva del visitante, sin importar el navegador que utilice (&lt;span class="Apple-style-span" style="font-style: italic;"&gt;diseño x-browsing&lt;/span&gt;), queda entonces emplear CSS y sacarle el jugo para que nuestro diseño luzca tal y como se le presentó en sus inicios al cliente.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Os dejo con un post que un amigo hizo hace unos meses en relación a la tan discutida batalla de navegadores, en &lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); text-decoration: underline;"&gt;marvcar&lt;/span&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-5671007290835773946?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/5671007290835773946/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=5671007290835773946' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/5671007290835773946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/5671007290835773946'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2009/05/verificando-el-desarrollo-x-browsing.html' title='Verificando el desarrollo x-browsing'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MGlsSby3l-o/ShK-CQxFbgI/AAAAAAAAABI/TCpFfEv7BRU/s72-c/confused-man-computer2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-5804527128222103624</id><published>2009-03-25T23:11:00.004-05:00</published><updated>2009-03-26T00:15:28.816-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnología'/><title type='text'>RSS y Sindicación - Lo básico que hay que saber</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png" alt="Icono que señala la presencia de fuentes web convertido en estándar de facto."&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 128px; height: 128px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;p&gt;Hace un tiempo atrás se nos planteó la idea de implementar sindicación web en una de las aplicaciones que manejamos, la solicitud ha quedado en &lt;span class="Apple-style-span" style="font-style: italic;"&gt;stand-by&lt;/span&gt; ya que hemos tenido que atender otros proyectos de mayor importancia, y a pesar de que ya había escuchado acerca de dicha tecnología, en cierta forma desconocía mucho al respecto. De igual forma, hace unos días en la universidad el tema salió a colación, y pese a que un compañero se tiró al ruedo e intentó sacar de dudas a la profesora, el intento pareció fallido... por la tanto... he procedido a hacer la respectiva investigación, para que para la próxima, pueda hacer mis respectivas contribuciones.&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;RSS&lt;/span&gt;, de sus siglas en inglés &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Really Simple Syndication&lt;/span&gt; (&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Sindicación Realmente Simple&lt;/span&gt;, siendo sindicación una traducción incorrecta, pero de uso muy común), es un estándar creado para distribuir contenidos, usualmente novedades, de sitios web a través de un canal distinto de la propia página web generadora. Podría incluso llamársele como un canal alternativo más de distribución como lo son los populares weblogs, quienes a su vez suelen incluir un archivo RSS para que los lectores se suscriban y se mantengan al día acerca de las novedades publicadas.&lt;/p&gt;&lt;p&gt;La explicación puede tornarse un tanto compleja si ahondamos en los respectivos tecnicismos, por lo cual os dejo con un video que me pareció muy instructivo, e ilustra muy bien el concepto y cómo hacer uso del mismo.&lt;/p&gt;&lt;p align="center"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DQ_UL-5rYXQ&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/DQ_UL-5rYXQ&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;En resumidas cuentas podríamos mencionar las siguientes ventajas que dicha tecnología presenta:&lt;span class="Apple-style-span" style="font-weight: bold; "&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;El RSS está desbancando a otros medios como las suscripciones a boletines de novedades de estar al día sobre sitios web. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Tanto los contenidos como los programas para leer RSS son &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;gratis&lt;/span&gt;. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Weblogs, portales, diarios en-línea, sitios corporativos, sitios especializados, catálogos y novedades de sitios de ecommerce. Se pueden encontrar archivos RSS de &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;cualquier tema imaginable&lt;/span&gt;. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Te permite &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;estar al día&lt;/span&gt; de tus temas de interés, sin tener que estar visitando constantemente tus sitios favoritos, &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;los contenidos "vienen a tí"&lt;/span&gt;. &lt;/li&gt;&lt;li&gt;Tú decides a qué contenidos te suscribes. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Para suscribirte no es necesario dar tu cuenta de correo evitando que tu dirección quede registrada en bases de datos fuera de tu control. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table width="50%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="BORDER-BOTTOM: #666666 1px solid"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fuentes consultadas:&lt;/span&gt;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;+ &lt;a href="http://www.desarrolloweb.com/articulos/que-es-rss.html" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;Qué es RSS&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.desarrolloweb.com/articulos/2101.php" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;RSS y Sindicación&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-5804527128222103624?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/5804527128222103624/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=5804527128222103624' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/5804527128222103624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/5804527128222103624'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2009/03/rss-y-sindicacion-lo-basico-que-hay-que.html' title='RSS y Sindicación - Lo básico que hay que saber'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-43652019172410600</id><published>2008-12-30T14:25:00.005-05:00</published><updated>2008-12-30T16:14:40.023-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diseño web'/><title type='text'>Hacks CSS... gracias MS!</title><content type='html'>&lt;p&gt;Hace poco estuve trabajando en el desarrollo de un sitio... y ya que hoy en día está de boca el término de &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;cross-browsing&lt;/span&gt;, y creyendo que el mismo ya lo tenía dominado, vendí el producto como tal... "&lt;span class="Apple-style-span" style="font-style: italic;"&gt;lo que ven aquí (haciendo mención al diseño original una vez aprobado), lo van a ver igual en cualquier browser&lt;/span&gt;"... &lt;/p&gt;&lt;p&gt;En la fase de desarrollo suelo trabajar con firefox como navegador base (ya que el mismo ofrece varios módulos que resultan de utilidad al momento de debugar), al momento que logro que el diseño elegido esté completo y se visualiza correctamente aquí, trabajo con IE7 para afinar detalles y demás, porque clásica, a MS no le gusta seguir los estándares que prácticamente todos los demás navegadores sí.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;No obstante, y porque el producto se deseaba para ayer, clásica del cliente, el producto se publicó con una pequeña línea blanca que no lograba eliminar de IE7. Un par de días después de la publicación del mismo, logré eliminar la línea blanca, y yo confiado que todo estaba resuelto.&lt;/p&gt;&lt;p&gt;Un par de días después, el cliente me llama y me dice: "&lt;span class="Apple-style-span" style="font-style: italic;"&gt;vimos el sitio en otra computadora, y salía todo como desordenado, yo necesito que eso se vea bien en todos lados... qué pasó???&lt;/span&gt;"... a todo esto yo disque, debe ser que está viendo caché... y luego de una reunión que tuvimos, me mostró el error... y para mi sorpresa... era &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;IE6&lt;/span&gt;... &lt;/p&gt;&lt;p&gt;Una sesión de rompedera de cabeza siguió ante este descubrimiento... y a pesar de que anteriormente había leido algo al respecto, hasta este entonces fue que vine a tratar con los famosos &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;hacks CSS&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;Muchas páginas visité... pero no fue hasta que encontré un artículo publicado por &lt;span class="Apple-style-span" style="font-style: italic;"&gt;MoebiuZ&lt;/span&gt; (&lt;a href="http://www.moebiuz.org/microtrucos/hacks-css-para-mostrar-paginas-casi-identicas-en-firefox-ie6-e-ie7/"&gt;http://www.moebiuz.org/microtrucos/.../&lt;/a&gt;) que di con el asunto. A diferencia de otros artículos con que me topé que decían cosas como: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;hack definitivo&lt;/span&gt; y títulos de ese tipo... este artículo fue el que me ayudó a resolver la visualización &lt;span class="Apple-style-span" style="font-style: italic;"&gt;cross-browsing&lt;/span&gt; del sitio.&lt;/p&gt;&lt;p&gt;Lo que más me sorprendió... es que los hacks, o por lo menos hasta donde entendí, han sido creados para compatibilizar el diseño con los productos IE de MS. Como dirían: "&lt;span class="Apple-style-span" style="font-style: italic;"&gt;hasta cuándo la lucha?&lt;/span&gt;".&lt;/p&gt;&lt;p&gt;En resumidas cuentas... los hacks funcionan de la siguiente forma: &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;a nivel de html, se asigna la clase al tag deseado&lt;br /&gt;&lt;/li&gt;&lt;li&gt;en el archivo .css se definen las clases para los navegadores deseados (ver &lt;a href="http://www.moebiuz.org/microtrucos/hacks-css-para-mostrar-paginas-casi-identicas-en-firefox-ie6-e-ie7/"&gt;enlace&lt;/a&gt; proporcionado para mayores detalles)&lt;/li&gt;&lt;li&gt;cuando le navegador carga la página, el mismo se encarga de interpretar su definición de clase en el archivo .css, e ignorar aquellos que no logre interpretar.&lt;/li&gt;&lt;/ul&gt;En espera de que el artículo les sirva de introducción al tema, contada a través de una experiencia vivida, los dejo una vez más con el enlace al artículo donde se explica en detalle el tema: &lt;a href="http://www.moebiuz.org/microtrucos/hacks-css-para-mostrar-paginas-casi-identicas-en-firefox-ie6-e-ie7/"&gt;http://www.moebiuz.org/microtrucos/hacks-css-para-mostrar-paginas-casi-identicas-en-firefox-ie6-e-ie7/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-43652019172410600?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/43652019172410600/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=43652019172410600' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/43652019172410600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/43652019172410600'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2008/12/hacks-css-gracias-ms.html' title='Hacks CSS... gracias MS!'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-898722334423299737</id><published>2008-12-29T11:03:00.002-05:00</published><updated>2008-12-29T14:11:32.621-05:00</updated><title type='text'>Mucho trabajo... poco tiempo!</title><content type='html'>&lt;p&gt;De tiempo en tiempo me doy una vuelta por el blog, y hoy, vengo a darme cuenta que ha pasado ya más de un año (un año y pocos días) que no he publicado nada... y se podría interpretar como que no ha pasado mucho, puesto que al final de cuentas, el objetivo de este blog es el de publicar experiencias y conocimientos, para compartirlos con ustedes.&lt;/p&gt;&lt;p&gt;Pues comento que muchas cosas han pasado en este año, y espero ponerme al día, y poder hacer un buen resumen de todo lo aprendido, y más ahora que estamos finalizando el año, lo peor que pueda pasar es que este sea el post de este año e inicie el 2009 con la debida actualización, pero haremos todo lo posible para poneros al día.&lt;/p&gt;&lt;p&gt;En resumidas cuentas, estas han sido las principales áreas en las que he estado trabajando:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;estudios en gestión y administración de proyectos: los cuales han consumido gran parte del tiempo&lt;/li&gt;&lt;li&gt;implementación de infraestructura PKI (&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Public Key Infrastructure&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;hacks CSS: después de todo el dolor de cabeza es gracias a MS&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Sin más por el momento... nos vemos dentro de un rato con la actualización... hasta entonces.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-898722334423299737?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/898722334423299737/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=898722334423299737' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/898722334423299737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/898722334423299737'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2008/12/mucho-trabajo-poco-tiempo.html' title='Mucho trabajo... poco tiempo!'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-6324839234497582228</id><published>2007-12-12T10:22:00.000-05:00</published><updated>2008-01-15T10:59:18.422-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diseño web'/><title type='text'>Posicionamiento con CSS - I</title><content type='html'>&lt;p&gt;El posicionamiento con CSS es un tema que, a mi consideración, todo diseñador web debe conocer, y hasta cierto punto, dominar. En lo personal, este campo es un mundo, y cada vez que me toca diseñar un sitio, la consulta de tutoriales y la investigación, el uso de la famosa técnica universal del ensayo y error, nunca falta. En síntesis y al grano, mediante esta técnica se alcanza máximo control sobre el lugar que cada elemento de una página Web ocupará dentro de la propia página, así como el manejo de capas, entre otras cosas.&lt;/p&gt;&lt;p&gt;Se podría decir que mediante el empleo de esta técnica, se trabaja sobre el nombrado desarrollo en capas, en este caso en particular, se llega a separar la presentación del contenido, con lo cual se logran las siguientes ventajas:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;posicionamiento Web, al hacer que el código de tus páginas Web sea más limpio y claro a los ojos de los robots de búsqueda&lt;br /&gt;&lt;/li&gt;&lt;li&gt;aumento en la densidad de las palabras clave dentro de los contenidos&lt;br /&gt;&lt;/li&gt;&lt;li&gt;disminución en el peso de las páginas Web&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mejora en las operaciones de mantenimiento del sitio completo&lt;br /&gt;&lt;/li&gt;&lt;li&gt;visibilidad &lt;em&gt;cross-browsing&lt;/em&gt;, al lograr que nuestro sitio se vea igual en todos los navegadores, claro está, esto involucra trabajo adicional, al menos hasta que todos los navegadores se pongan de acuerdo en interpretar de igual forma los estándares&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;La W3C en las especificaciones publicadas al respecto (&lt;em&gt;ver fuentes consultadas&lt;/em&gt;) explica cómo estas especificaciones soportan posicionamiento de contenido (&lt;em&gt;el tema en discusión&lt;/em&gt;), descarga de fuentes, diseño de tablas, internacionalización, numeración y contadores automáticos, y algunas propiedades relacionadas con la interfase del usuario.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;Los DIVs&lt;/span&gt; &lt;/p&gt;&lt;p&gt;Muy de la mano con el posicionamiento con CSS está la utilización de los DIVs. Un &lt;span style="font-family:courier new;"&gt;DIV&lt;/span&gt; es básicamente un contenedor, en el que podemos meter cualquier clase de contenido, con la gran ventaja de que los podemos manipular a nuestro antojo con CSS, colocarlo en cualquier parte de la página, de cualquier tamaño, de cualquier color, con bordes o sin ellos, con imágenes de fondo o sin ellas.&lt;/p&gt;&lt;p&gt;Para lograr que el posicionamiento no se vuelva complicado, hay que tener en cuenta que la organización en el código HTML es muy importante, tener bien estructurados los elementos nos facilitará el trabajo con CSS, con esto algunos expertos hacen mención a la utilización de código semántico.&lt;/p&gt;&lt;p&gt;Esto significa que debemos trabajar en el código HTML para que este se encuentre bien organizado jerárquicamente.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table width="50%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="BORDER-BOTTOM: #666666 1px solid"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fuentes consultadas:&lt;/span&gt;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;+ &lt;a href="http://www.ignside.net/man/css/posicionamiento.php" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.ignside.net/man/css/posicionamiento.php&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.sidar.org/recur/desdi/traduc/es/css/cover.html" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;Especificación CSS2&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.cristalab.com/tutoriales/111/tutorial-de-posicionamiento-y-layout-en-css" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;Tutorial de posicionamiento&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://posicionamientobuscadores.developers4web.com/css-ventajas-al-posicionamiento" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;Ventajas de CSS al posicionamiento Web&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-6324839234497582228?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/6324839234497582228/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=6324839234497582228' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/6324839234497582228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/6324839234497582228'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2007/12/posicionamiento-con-css-i.html' title='Posicionamiento con CSS - I'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-3723955005634155266</id><published>2007-08-19T15:16:00.000-05:00</published><updated>2007-08-20T14:34:10.067-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>getElementsByName, una más a la lista</title><content type='html'>&lt;p&gt;En algún momento tenía que suceder, un extracto de 10 elementos se iba a quedar corto para la pequeña &lt;a href="http://stuffledge.blogspot.com/2007/07/10-excelentes-funciones-de-javascript.html"&gt;biblioteca de funciones javascript&lt;/a&gt;. Aquí les va la siguiente función, en realidad, claro está, dependiendo de dónde se le desee aplicar y cómo, les puede resultar de bastante utilidad.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;getElementsByName&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Esta función regresa una colección (&lt;em&gt;array&lt;/em&gt;) de todos los elementos que tengan un atributo &lt;em&gt;name&lt;/em&gt; igual a la cadena que recibe como parámetro. Esta se ha de utilizar tal y como se haría con &lt;a href="http://stuffledge.blogspot.com/2007/08/compendio-10-funciones-de-javascript-1.html"&gt;getElementsByClass&lt;/a&gt;, a diferencia que esta recibe solo un parámetro: el nombre de los objetos a buscar. &lt;p name="miNombre"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ojo!... no funciona en browsers que no sean Mozilla, para variar (&lt;em&gt;punto para Firefox&lt;/em&gt;)... He aquí el código a utilizar en IE para implementar esta funcionalidad:&lt;/p&gt;&lt;p&gt;&lt;div class="codigo"&gt;&lt;pre&gt;function getElementsByName_iefix(tag, name) {&lt;br /&gt;     var elem = document.getElementsByTagName(tag);&lt;br /&gt;     var arr = new Array();&lt;br /&gt;     for(i = 0,iarr = 0; i &amp;lt; elem.length; i++) {&lt;br /&gt;          att = elem[i].getAttribute("name");&lt;br /&gt;          if(att == name) {&lt;br /&gt;               arr[iarr] = elem[i];&lt;br /&gt;               iarr++;&lt;br /&gt;          }&lt;br /&gt;     }&lt;br /&gt;     return arr;&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;Como parte de la investigación para dar con el código (&lt;em&gt;proporcionado por el Supervisor de Desarollo de nuestra unidad de trabajo&lt;/em&gt;) di con este &lt;a href="http://www.quirksmode.org/dom/w3c_core.html"&gt;sitio&lt;/a&gt; muy útil en donde se hace una comparación entre los principales navegadores de la actualidad acerca de la compatibilidad de las funciones descritas en el W3C DOM, realizado por &lt;a href="http://www.quirksmode.org/about/intro.html"&gt;Peter-Paul Koch&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;table width="50%"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td style="BORDER-BOTTOM: #666666 1px solid"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fuentes consultadas:&lt;/span&gt;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;+ &lt;a href="http://www.quirksmode.org/dom/w3c_core.html"&gt;http://www.quirksmode.org/dom/w3c_core.html&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.quirksmode.org/dom/tests/named.html"&gt;http://www.quirksmode.org/dom/tests/named.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-3723955005634155266?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/3723955005634155266/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=3723955005634155266' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/3723955005634155266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/3723955005634155266'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2007/08/getelementsbyname-una-ms-la-lista.html' title='getElementsByName, una más a la lista'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-3677925323061208989</id><published>2007-08-16T15:43:00.000-05:00</published><updated>2007-08-19T15:12:59.060-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Cómo utilizar getElementsByClass()</title><content type='html'>&lt;p&gt;Al principio me pareció una función muy útil, pero no fue hasta el momento en que decidí utilizarla que me di cuenta que sería productivo mostrar cómo y no simplemente nombrarla como una función de gran utilidad.&lt;/p&gt;&lt;p&gt;Esta función no pertenece precisamente al grupo de funciones predefinidas de Javascript, razón por la cual, al googlear esta función nos aparecerán muchas versiones de ésta, ya que muchos desarrolladores han encontrado en ella una gran utilidad, y al no encontrarse dentro del grupo de funciones prestablecidas, todos escriben su propia versión.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;En esta ocasión, les presento la versión de Dustin Diaz:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="codigo"&gt;&lt;pre&gt;function getElementsByClass(searchClass,node,tag) {&lt;br /&gt;var classElements = new Array();&lt;br /&gt;   if ( node == null )&lt;br /&gt;      node = document;&lt;br /&gt;   if ( tag == null )&lt;br /&gt;      tag = '*';&lt;br /&gt;   var els = node.getElementsByTagName(tag);&lt;br /&gt;   var elsLen = els.length;&lt;br /&gt;   var pattern = new RegExp('(^\\s)'+searchClass+'(\\s$)');&lt;br /&gt;   for (i = 0, j = 0; i &amp;lt; elsLen; i++) {&lt;br /&gt;      if ( pattern.test(els[i].className) ) {&lt;br /&gt;         classElements[j] = els[i];&lt;br /&gt;         j++;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;   return classElements;&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Ahora bien, cómo utilizarla?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;El primer parámetro, el nombre de la clase, debe proporcionarse como cadena. Los otros parámetros son opcionales, pero se han de proporcionar para limitar la búsqueda en el D.O.M.&lt;/p&gt;&lt;p&gt;He aquí un ejemplo de más o menos cómo implementar el código:&lt;/p&gt;&lt;div class="codigo"&gt;&lt;pre&gt;var myEls = getElementsByClass('myClass');&lt;br /&gt;for ( i=0;i&amp;lt;myEls.length;i++ ) {&lt;br /&gt;   // do stuff here with myEls[i]&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;table width="50%"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td style="BORDER-BOTTOM: #666666 1px solid"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fuentes consultadas:&lt;/span&gt;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;+ &lt;a href="http://www.dustindiaz.com/top-ten-javascript" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.dustindiaz.com/...&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.snook.ca/archives/javascript/your_favourite_1/" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.snook.ca/.../your_favourite_1/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-3677925323061208989?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/3677925323061208989/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=3677925323061208989' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/3677925323061208989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/3677925323061208989'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2007/08/compendio-10-funciones-de-javascript-1.html' title='Cómo utilizar getElementsByClass()'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-7397483227322890898</id><published>2007-07-16T10:38:00.000-05:00</published><updated>2007-08-19T15:15:15.438-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Compendio 10 funciones de JavaScript</title><content type='html'>&lt;p&gt;En busca de cómo mejorar la funcionalidad del lado de cliente de una de nuestras aplicaciones, me encontré con una serie de sitios que daban a conocer un listado de 10 funciones javascript, las más usadas, algunos de esos sitios coincidían en la mayoría de las funciones, otros, mostraban diferentes.&lt;/p&gt;&lt;p&gt;Por mi parte, os muestro las 10 funciones javascript que considero de mayor uso genérico, y que por una u otra razón, necesitamos tener a mano como referencia, ya que son las que solemos utilizar más a menudo. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#ffcc33;"&gt;&lt;span style="font-size:85%;"&gt;Función &lt;/span&gt;1. &lt;/span&gt;getElementById()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;var elemento = document.getElementById(id);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Este método pertenece al objeto &lt;span style="font-family:courier new;"&gt;document&lt;/span&gt;. Con él obtendremos el objeto que hace referencia al elemento con un id en concreto. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#ffcc33;"&gt;&lt;span style="font-size:85%;"&gt;Función &lt;/span&gt;2. &lt;/span&gt;getElementsByTagName()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;&lt;span style="font-size:85%;"&gt;var array_elementos= elemento.getElementsByTagName(tag);&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sirve para obtener un array con todos los elementos con un tag concreto que están contenidos dentro de un elemento. Por ejemplo: deseamos cambiar el color del texto de todos los elementos con tag “A” contenidos dentro del elemento con id “links”: &lt;/p&gt;&lt;br /&gt;&lt;div class="codigo"&gt;&lt;pre&gt;&amp;lt;a href=”/”&amp;gt;Home&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;div id=”links”&amp;gt;&lt;br /&gt;      &amp;lt;a href=”http://google.com”&amp;gt;Google&amp;lt;/a&amp;gt;&lt;br /&gt;      &amp;lt;a href=”http://ubuntu.com”&amp;gt;Ubuntu&amp;lt;/a&amp;gt;&lt;br /&gt;      &amp;lt;a href=”http://debian.org”&amp;gt;Debian&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type=”text/javascript”&amp;gt;&lt;br /&gt;&lt;br /&gt;// Obtenemos el elemento con id “links”&lt;br /&gt;var el = document.getElementById(“links”);&lt;br /&gt;&lt;br /&gt;// Ahora obtenemos todos los elementos con tag A que hay&lt;br /&gt;// dentro del elemento 'el'&lt;br /&gt;var as = el.getElementsByTagName(“A”);&lt;br /&gt;&lt;br /&gt;// Y finalmente recorremos el array de elementos para&lt;br /&gt;// cambiarles el color a cada uno&lt;br /&gt;for (var i=0; i&amp;lt;as.length; i++) {&lt;br /&gt;      as[i].style.color = '#000'; // negro&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#ffcc33;"&gt;&lt;span style="font-size:85%;"&gt;Función &lt;/span&gt;3. &lt;/span&gt;join()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;&lt;span style="font-size:85%;"&gt;var string = array.join(string);&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;El método join() pertenece al objeto &lt;span style="font-family:courier new;"&gt;Array&lt;/span&gt; (todos los arrays en JavaScript son un objeto &lt;span style="font-family:courier new;"&gt;Array&lt;/span&gt;), y nos servirá para unir todos los elementos de un array para forma una cadena de texto. Es el equivalente en PHP a &lt;span style="font-family:courier new;"&gt;implode()&lt;/span&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#ffcc33;"&gt;&lt;span style="font-size:85%;"&gt;Función &lt;/span&gt;4. &lt;/span&gt;split()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;Al igual que join(), split() también es un método del objeto &lt;span style="font-family:courier new;"&gt;Array&lt;/span&gt;, aunque sirve exactamente para lo contrario: dividir una cadena de texto en un array.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Truco: Usados ambos métodos conjuntamente podremos crear una función para sustituir un texto por otro en una cadena dada:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffcc33;"&gt;&lt;span style="font-size:85%;"&gt;Función &lt;/span&gt;5. &lt;/span&gt;focus()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;&lt;span style="font-size:85%;"&gt;elemento.focus();&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Con este método conseguiremos pasar el foco a un elemento de un formulario. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#ffcc33;"&gt;&lt;span style="font-size:85%;"&gt;Función &lt;/span&gt;6. &lt;/span&gt;setTimeout() / setInterval()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;&lt;span style="font-size:85%;"&gt;var temporizador = setTimeout(funcion, milisegundos);&lt;br /&gt;var intervalo = setInterval(funcion, milisegundos);&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Ambos métodos (objeto &lt;span style="font-family:courier new;"&gt;window&lt;/span&gt;) nos sirven para ejecutar código javascript cada x milisegundos, bien para que se ejecute una sóla vez (setTimeout) o bien para que se ejecute ilimitadamente (setInterval). Ambos se pueden cancelar mediante clearTimeout(temporizador) y clearInterval(intervalo).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#ffcc33;"&gt;&lt;span style="font-size:85%;"&gt;Función &lt;/span&gt;7. &lt;/span&gt;addLoadEvent()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Se trata de una versión exclusivamente para el objeto &lt;span style="font-family:courier new;"&gt;window&lt;/span&gt; en el evento &lt;span style="font-family:courier new;"&gt;onload&lt;/span&gt;, de forma que podremos &lt;a href="http://www.anieto2k.com/2006/09/07/adddomloadevent-o-como-anadir-funcionalidades-a-tu-onload/"&gt;asignar una serie de funcionalidades a nuestro evento onload&lt;/a&gt; y ver el resultado al finalizar la carga de nuestra web. Tambien es posible usar addEvent() para realizar lo mismo. Creada por &lt;a href="http://simon.incutio.com/archive/2004/05/26/addLoadEvent"&gt;Simon Willison&lt;/a&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#ffcc33;"&gt;&lt;span style="font-size:85%;"&gt;Funicón &lt;/span&gt;8. &lt;/span&gt;getElementsByClass()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Una gran función que mediante un nombre de clase (CSS), podremos encontrar los elementos que la compongan, devolviendo un arreglo de objetos para trabajar con ellos de forma más cómoda. Originalmente no fue creada por nadie en particular aunque con el tiempo los desarrolladores han ido añadiendo mejoras para depurar la función. &lt;a href="http://stuffledge.blogspot.com/2007/08/compendio-10-funciones-de-javascript-1.html"&gt;Más acerca de esta función&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="font-size:85%;color:#ffcc33;"&gt;Función &lt;/span&gt;&lt;span style="color:#ffcc33;"&gt;9. &lt;/span&gt;getCookie(), setCookie(), deleteCookie()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;La implementación de estas funcionalidades en PHP &lt;a title="PHP.net reference to setcookie()" href="http://www.php.net/setcookie"&gt;es más fácil&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="font-size:85%;color:#ffcc33;"&gt;Función &lt;/span&gt;&lt;span style="color:#ffcc33;"&gt;10. &lt;/span&gt;alert() / confirm() / prompt()&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;&lt;span style="font-size:85%;"&gt;alert(mensaje);&lt;br /&gt;var resultado = confirm(mensaje);&lt;br /&gt;var resultado = prompt(mensaje, valor);&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Con estos métodos (objeto &lt;span style="font-family:courier new;"&gt;window&lt;/span&gt;) mostraremos ventanas modales al usuario. Con alert() simplemente, como hemos visto en otros puntos, mostraremos un mensaje. Con confirm() haremos exactamente lo mismo, pero además obligará al usuario a seleccionar entre dos opciones, una positiva y otra negativa, que se devolverá como parámetro (boolean). Y con prompt() pediremos al usuario que introduzca un texto en una ventana modal. &lt;/p&gt;&lt;p&gt;confirm() es muy útil para confirmar clics en enlaces comprometidos, que hagan operaciones críticas como eliminación de datos.&lt;/p&gt;&lt;br /&gt;&lt;table width="50%"&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;td style="BORDER-BOTTOM: rgb(102,102,102) 1px solid"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fuentes consultadas:&lt;/span&gt;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;+ &lt;a href="http://www.maestrosdelweb.com/editorial/diez-funciones-imprescindibles-en-javascript/" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://.../diez-funciones-imprescindibles-en-javascript/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.dustindiaz.com/top-ten-javascript" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://.../top-ten-javascript&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.anieto2k.com/2006/11/25/las-10-mejores-funciones-de-javascript/" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://.../las-10-mejores-funciones-de-javascript/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.desarrolloweb.com/articulos/705.php" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.desarrolloweb.com/articulos/705.php&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-7397483227322890898?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/7397483227322890898/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=7397483227322890898' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/7397483227322890898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/7397483227322890898'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2007/07/10-excelentes-funciones-de-javascript.html' title='Compendio 10 funciones de JavaScript'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-370323347248213511</id><published>2007-06-02T22:00:00.000-05:00</published><updated>2007-06-11T14:16:37.687-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Escribiendo Código Legible</title><content type='html'>&lt;p&gt;Actualmente nos encontramos trabajando en una aplicación, de esas que uno llamaría "grandes" y "de alto impacto". Como es usual, debemos entregarla en tiempo record, y dado la naturaleza de los requerimientos solicitados, tiempos de entrega y demás variables involucradas en la gestión de este proyecto, el equipo de desarrollo se encuentra, en su totalidad, trabajando tanto a nivel de codificación, programación, análisis, diseño, control de calidad... en esta aplicación.&lt;/p&gt;&lt;p&gt;Es entonces en este tipo de proyectos, en donde no es uno, ni dos, sino varios programadores los que se encuentran codificando diversos módulos en la misma aplicación y que en un momento estarán interactuando, que uno se da cuenta de la necesidad de escribir &lt;strong&gt;Código Legible&lt;/strong&gt;, ya que por la naturaleza del desarrollo, no es el autor del código el único que va a leer sus creaciones, sino que en alguna instancia, otro programador se va a ver en la necesidad de leer su lírica (por decirlo de alguna forma)... y de verdad, hay veces, la mayoría, que en lo personal cuando veo el código de otro compañero, me pregunto "&lt;em&gt;qué m.... es esto???&lt;/em&gt;"... no les pasa a veces?&lt;/p&gt;&lt;p&gt;Comentar el código no es algo que debe dejarse para luego, para después de que la aplicación se entregue, y mucho menos... no hacerlo, es algo que se debe realizar sobre el camino. Claro está, comentar código es una de las tantas técnicas disponibles para escribir código legible.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;"Como desarrollador, el tiempo es tu recurso más valioso ... un minuto dedicado a escribir comentarios puede ahorrarte una hora de angustia"&lt;/em&gt; - Jeff Vogel&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;En esta ocasión presento un resumen de un artículo que me encontré hace un par de días, y no precisamente es uno de esos artículos escritos hace meses o años, es uno realmente nuevo: "&lt;em&gt;&lt;a href="http://www.ibm.com/developerworks/linux/library/l-clear-code/index.html?ca=drs-"&gt;Six ways to write more comprehensible code&lt;/a&gt;&lt;/em&gt;" (&lt;em&gt;Seis formas de escribir código más legible&lt;/em&gt;) escrito por Jeff Vogel, Presidente de Spiderweb Software. En éste, el autor dicta seis consejos para escribir código legible basado en sus más de 10 años de experiencia como desarrollador de juegos de computadoras.&lt;/p&gt;&lt;p&gt;Parece mentira pero cuando lean los consejos que presenta este artículo, dirán: "&lt;em&gt;esos eran los consejos?... pero si eso ya lo sabía!&lt;/em&gt;"... y es verdad... todos sabemos que esto se debe hacer... el detalle es que no lo hacemos. Semejantes reglas o mejores prácticas son estrictamente seguidas por grandes empresas como &lt;strong&gt;Infosys Technologies Ltd.&lt;/strong&gt;, los desarrolladores y programadores que trabajan en compañías como estas deben seguir estrictamente ciertos lineamientos al momento de escribir códigos, ya que son fuertemente evaluados cuando sus desarrollos llegan a Control de Calidad.&lt;/p&gt;&lt;p&gt;A continuación un extracto de los consejos presentados en el artículo en cuestión:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Escibe comentarios inteligentes&lt;/strong&gt;:&lt;br /&gt;El Tiempo es tu recurso más valioso. El tiempo perdido jamás podrá recuperarse. Los comentarios deben ser claros como el agua, de otra forma se estará desperdiciando tiempo futuro. No deben ser tan largos que te duerman, ni tan corto que no logren explicar o describir una idea concisa. Tampoco es que se va a comentar lo obvio.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Utiliza constantes. Pero no MUCHO:&lt;br /&gt;&lt;/strong&gt;Tanto el uso de constantes como el lugar donde éstas se definen es de gran ayuda al momento de hablar de mantenimiento. Muchos programadores saben, hasta cierto punto, hacer este tipo de cosas. Pero ello requiere disciplina para hacerlo adecuadamente. Y no solo ello, sino también el nombrar adecuadamente estas constantes influye directamente en el objetivo, lo cual nos conduce hacia el siguiente consejo.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;No uses confusos nombres de variables:&lt;br /&gt;&lt;/strong&gt;El objetivo general es simple: escribe código de tal forma que, si alguien lo lee y no tiene idea de qué es lo que hace, pueda entenderlo y saber lo que hace tan rápido como sea posible.&lt;br /&gt;La estrategia para lograr esto es dar buenos nombres descriptivos a tus variables, procedimientos y similares.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Haz revisión de errores:&lt;br /&gt;&lt;/strong&gt;Al momento de crear tu procedimiento/función, debes siempre pensar: "&lt;em&gt;Supongamos que a alguien se le ocurre la brillante idea de meter todos estos incoherentes e insensatos valores. Cómo se defenderá mi código y evitará que se congele el sistema o incluso la máquina?&lt;/em&gt;" A partir de esta suposición que entonces tengas que escribir tu código y validarlo contra esta carga de extraños valores.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;"La optimización prematura es la raíz de todo el mal" - Donald Knuth:&lt;br /&gt;&lt;/strong&gt;La raíz de la frase expuesta, pueden encontrarla rápidamente y en su versión original en inglés en &lt;a href="http://en.wikipedia.org/wiki/Optimization_(computer_science)"&gt;Wikipedia&lt;/a&gt;.&lt;br /&gt;A menos que desees hacer sufrir a la gente, tu principal meta, al escribir código, deber ser claridad. El escribir código simple es bastante rápido, bastante rápido el entenderlo al regresar a él, y bastante rápido de corregir.&lt;br /&gt;La optimización es el enemigo de la claridad. A pesar de ello, a veces, se debe optimizar.&lt;br /&gt;Escribe algo limpio, claro y que funcione. Tienes todo el tiempo del mundo para optimizar posteriormente. El detalle está en no hacerlo sino hasta estar seguro de que lo que intentas hacer, se esté haciendo de la forma correcta.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;No juegues de Sabelotodo:&lt;br /&gt;&lt;/strong&gt;La moraleja aquí es que si el código que estás escribiendo requiere conocimiento detallado de reglas intrincadas de precedencia o te conduce a echar un ojo a algún capítulo de uno de esos libros para saber lo que estás haciendo, estás siendo un sabelotodo. &lt;blockquote&gt;"&lt;em&gt;Si tu código requiere conocer la diferencia entre i++ y ++i ... tu código es demasiado complicado&lt;/em&gt;", Jeff Vogel.&lt;/blockquote&gt;&lt;/li&gt;&lt;/ol&gt;Una vez más, estos son consejos, leves tips para mejorar la legibilidad de tus códigos y hacerle la vida un poco menos complicada a tus compañeros de trabajo, lo importante aquí es tomarlos en cuenta. &lt;table width="50%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td style="BORDER-BOTTOM: #666666 1px solid"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fuentes consultadas:&lt;/span&gt;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;+ &lt;a href="http://www.ibm.com/developerworks/linux/library/l-clear-code/index.html?ca=drs-" target="_blank"&gt;Six ways to write more comprenhensible code&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;+ &lt;a href="http://en.wikipedia.org/wiki/Hungarian_notation"&gt;Notación Húngara&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-370323347248213511?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/370323347248213511/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=370323347248213511' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/370323347248213511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/370323347248213511'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2007/06/escribiendo-cdigo-legible.html' title='Escribiendo Código Legible'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-1348449301200373157</id><published>2007-01-23T07:34:00.000-05:00</published><updated>2007-05-31T11:23:23.375-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>.NET vs Java</title><content type='html'>&lt;p&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 0px 10px; CURSOR: hand" alt=".NET vs Java Technology. Image by the Bangkok University" src="http://eng.bu.ac.th/Web2004/images/net_java.jpg" border="0" /&gt;Retomando el curso acerca de artículos técnicos, empecemos el año haciendo esta vez referencia a una polémica batalla, de la cual en lo personal no había notado su existencia, &lt;em&gt;shame on me&lt;/em&gt;, en la cual MS (.NET) y Sun (Java) están involucrados.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Desde ya hace tiempo había tenido interés en aprender a desarrollar en Java, por lo que se escucha de lo robusto y seguro de este lenguaje de programación, y su aplicación en el área de desarrollo para dispositivos móviles, tales como celulares, PDAs, y similares. De hecho, cuento con un diplomado en esta tecnología, del cual en realidad no me siento muy orgulloso puesto que el tema en realidad no lo domino tal y como suena, ya que no lo he puesto en práctica, dado que a mis manos no han llegado trabajos para desarrollar sobre esta tecnología, además, el trabajo no me deja mucho tiempo tampoco como para ponerme a desarrollar por mi mismo, y si así nos vamos, por excusas no hay problema.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;No obstante, ahora mismo estoy aprendiendo .NET, y para los que no conocen muy bien acerca del tema, me estoy refiriendo especifícamente a C#, el cual es la punta de flecha de la tecnologia .NET (desde el punto de vista de los lenguajes de programacion que soporta), la cual en sí es un compendio de tecnologías desarrolladas por MS soportando varios de sus lenguajes de programación así como los de otras compañías.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.computerworld.com/newsletter/0,4902,99729,00.html?nlid=AM_B"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 0px 10px; CURSOR: hand" alt="E-mail survey of 966 Computerworld subscribers" src="http://www.computerworld.com/computerworld/records/images/story/.NetVSJava_pie.gif" border="0" /&gt;&lt;/a&gt;Ahora bien, basado en esta introducción, puedo decir que al momento, cuento con conocimientos básicos de Java y de .NET, basado en esto, y en los comentarios que he escuchado de algunos compañeros de estudio, surge esta pregunta, que luego de investigación, veo que es una batalla que existe en la actualidad, y ya desde hace años: .NET o Java?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Más que tratar las diferencias de ambas tecnologías (&lt;span style="color:#999999;"&gt;información que encontré en la sección &lt;/span&gt;&lt;a href="http://www.wikilearning.com/net_vs_java-wkccp-11990-6.htm"&gt;&lt;span style="color:#999999;"&gt;.NET vs Java&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#999999;"&gt; del artículo &lt;/span&gt;&lt;a href="http://www.wikilearning.com/introduccion_a_la_plataforma_net_y_mono-wkc-11990.htm"&gt;&lt;span style="color:#999999;"&gt;Introducción a la plataforma .NET y Mono&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#999999;"&gt; escrito por &lt;/span&gt;&lt;a href="http://www.eslomas.com/index.php/acerca-de/patxi-echarte/"&gt;&lt;span style="color:#999999;"&gt;Patxi Echarte&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#999999;"&gt;, el cual me pareció bastante completo&lt;/span&gt;), deseo exponer mi punto de vista.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;MS, hoy en día, está en cada esquina, se puede encontrar casi en cualquier lado del mundo tecnológico: consolas de video juegos, computadoras, softwares, lenguajes de programación... lo que la mayoría, sino todos discute es la forma como MS "&lt;em&gt;monopoliza&lt;/em&gt;" el mercado. En esta ocasión, estamos hablando de &lt;a href="http://es.wikipedia.org/wiki/Orientado_a_objetos"&gt;POO&lt;/a&gt; (&lt;em&gt;Programación Orientada a Objetos&lt;/em&gt;). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Al realizar una búsqueda en la web por POO, una de las primeras coincidencias que vamos a encontrar se relaciona con Java. MS no se podía quedar atrás, y hasta cierto punto, su solución (C# / .NET) parece tener ciertas ventajas sobre Java. Solo por encima, algunas de las ventajas que .NET ofrece sobre Java son:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;interoperabilidad de múltiples lenguajes&lt;/li&gt;&lt;br /&gt;&lt;li&gt;fácil intercomunicación entre aplicaciones (mediante la implementación de SOAP. La teoría dice que la capa de Web Services es uno de los puntos fuertes de .NET)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;fácil entrega: los &lt;em&gt;assemblies&lt;/em&gt; generados son archivos auto-identificables a diferencia de los paquetes generados por Java&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Hace semanas, unos compañeros discutían entre cuál herramienta es mejor, si Flash de Macromedia o Swish, de repente, podemos estar ante una discusión algo relativamente semejante.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;No obstante, algo cierto podría decir, MS, por la razón que sea, está presente en cada máquina; de igual forma, por la razón que sea, sus herramientas y tecnologías son las más esparcidas entre un grupo de desarrolladores. De la misma forma, por alguna razón, las herramientas (los IDEs) que desarrollan para desarrolladores, son relativamente más amigables que otras soluciones disponibles. Por esta razón quizás entonces hay que darle un voto a MS, y en este caso en particular, a .NET.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Hasta donde pude investigar, MS se ha dado cuenta que estaba quedando fuera del mercado porque todo lo que desarrollaba podía correr únicamente sobre plataformas MS, y poco a poco, ha estado haciendo alianzas robustas para que sus aplicaciones y las aplicaciones que se desarrollan sobre esta plataforma, pueda correr sobre las plataformas competidoras; un ejemplo de ello, el proyecto &lt;a href="http://es.wikipedia.org/wiki/Proyecto_Mono"&gt;MONO&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Qué opinan al respecto: &lt;strong&gt;&lt;em&gt;.NET o Java&lt;/em&gt;&lt;/strong&gt;?&lt;/p&gt;&lt;br /&gt;&lt;div style="FONT-SIZE: 85%"&gt;&lt;table width="50%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="BORDER-BOTTOM: #666666 1px solid"&gt;&lt;em&gt;Fuentes consultadas:&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;+ Comparando JSP con ASP; &lt;a href="http://www.desarrolloweb.com/articulos/832.php"&gt;http://www.desarrolloweb.com/articulos/832.php&lt;/a&gt;&lt;br /&gt;+ .NET vs. Java, la guerra sigue; &lt;a href="http://www.tectimes.com/secciones/notas.asp?codnota=13494"&gt;http://www.tectimes.com/secciones/notas.asp?codnota=13494&lt;/a&gt;&lt;br /&gt;+ .NET vs Java; &lt;a href="http://www.wikilearning.com/net_vs_java-wkccp-11990-6.htm"&gt;http://www.wikilearning.com/net_vs_java-wkccp-11990-6.htm&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.codenotes.com/home/baseAction.aspx"&gt;http://www.codenotes.com/home/baseAction.aspx&lt;/a&gt;&lt;br /&gt;+ Proyecto MONO; &lt;a href="http://es.wikipedia.org/wiki/Proyecto_Mono"&gt;http://es.wikipedia.org/wiki/Proyecto_Mono&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-1348449301200373157?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/1348449301200373157/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=1348449301200373157' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/1348449301200373157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/1348449301200373157'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2007/01/net-vs-java.html' title='.NET vs Java'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-3973406321915943342</id><published>2007-01-22T08:14:00.001-05:00</published><updated>2008-12-30T14:06:01.469-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Viajes'/><title type='text'>Cumpleaños en Bangalore</title><content type='html'>&lt;p&gt;En esta ocasión deseo compartir con ustedes cómo fue la celebración de mi cumpleaños por este lado del mundo.&lt;/p&gt;&lt;p&gt;Antes que todo, quiero agradecerle a mis amigos y familiares por las felicitaciones, y a mis nuevos amigos aquí en Mysore, por el trip de fin de semana que hicimos a Bangalore, el cual le dio un toque particular a la celebración.&lt;/p&gt;&lt;p&gt;Todo inició el día de mi cumpleanos, Viernes, cuando a las finales nos pusimos de acuerdo los 9 que estábamos saliendo, para salir definitivamente a Bangalore, trip que se estaba desvaneciendo porque al parecer no había hoteles disponibles en dicha ciudad. No obstante, nuestro espíritu aventurero fue más fuerte que las adversidades que en el momento se estaban presentando.&lt;/p&gt;&lt;p&gt;Salimos entonces en la noche, y viajamos en tren hasta Bangalore... durante el viaje, la pasamos bien en el tren, haciendo desorden (muy característico de los panameños), y hasta conocimos a unas israelies que estaban viajando hacia otra ciudad (Chenai), les llamó la atención el desorden que teníamos, y hasta me cantaron el cumpleaños en israeli (pregúntenme si entendía algo, o si en realidad estaba seguro que eso era lo que me estaban cantando, jajaja), jeje... una de ellas muy bonita por cierto. Mis amigos me regalaron un clásico dulce de cumpleaños (&lt;span class="Apple-style-span" style="font-style: italic;"&gt;brought to you thanks to Coffee Day&lt;/span&gt;, como era de esperar), el cual comimos en el tren, y claro está, el cual compartí con los nuevos contactos israelies, jeje... quienes compartieron con nosotros algunos lugares a los que podíamos pasarla bien en Bangalore... ya que despues de todo... nuestra aventura se basaba en salir, y pasarla bien, no teníamos paradas planeadas, ni lugares fijos donde quedarnos... y cada minuto que pasó... la pasamos súper... mejor que si lo hubiéramos planeado... y a pesar de que fueron nada más 2 días... para nosotros pareció como una semana... a lo mejor lo disfrutamos tanto por los niveles de estrés y presión que vivimos en el Centro de Entrenamiento donde estamos, en el cual estamos aprendiendo bastantes cosas técnicas muy productivas en el área de sistemas y programación.&lt;/p&gt;&lt;p&gt;El principal lugar donde estuvimos en la ciudad, se llama M.G. Road, y a su vez nos pudimos percatar que es un lugar bien turístico, por la cantidad de tiendas que hay, y las personas que circulan en dicha zona... puros europeos, jeje...&lt;/p&gt;&lt;p&gt;Pudimos disfrutar de las delicias de un KFC, un Subway... y ya... jajaja... no es mucha la variedad de la cual podemos disfrutar... y claro está... de un Coffee Day, franquicia que está dispersa en toda India... puedes encontrar un Coffee Day cada 3 kms en lugares bastante transitados... buen café, buenos panes y dulces... un buen lugar para pasarla bien... y tal y como dice su slogan: "&lt;span class="Apple-style-span" style="font-style: italic;"&gt;A lot can happen over a coffee&lt;/span&gt;".&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-3973406321915943342?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/3973406321915943342/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=3973406321915943342' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/3973406321915943342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/3973406321915943342'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2007/01/cumpleaos-en-bangalore.html' title='Cumpleaños en Bangalore'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-6202169357355100567</id><published>2007-01-03T08:23:00.000-05:00</published><updated>2007-05-31T11:24:15.365-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Viajes'/><title type='text'>Bienvenido 2007, New Delhi</title><content type='html'>&lt;em&gt;Another non-technical post for my family and friends...&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;Luego de unas semanas pesadas, estudiando hasta las 0300... llegó la navidad, y el fin de año... lo bueno de esto, es que ambas fechas cayeron en fin de semana, por ende, tuvimos un día más libre... la navidad aquí la pasamos en un restorant tipo resort cerca del Centro de Entrenamiento, aquí en Mysore, y parte fue patrocinada por la compañía... &lt;strong&gt;pero el año nuevo&lt;/strong&gt;, acerca de éste es que en esta ocasión les voy a contar cómo terminó el 2006 para algunos de nosotros.&lt;br /&gt;&lt;br /&gt;Un grupo de 16 personas salimos en un tour hacia el &lt;strong&gt;Taj Mahal&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://good-times.webshots.com/photo/2274392600099645620cPRpDK"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px" alt="imgp2447" src="http://thumb0.webshots.net/t/16/17/3/92/60/2274392600099645620cPRpDK_th.jpg" /&gt;&lt;/a&gt;Nuestro viaje inició el viernes 29, saliendo a eso de las 1500 del Centro de Entrenamiento, hacia &lt;em&gt;Bangalore&lt;/em&gt;... fue un viaje de unas 4 hrs por tierra ... 2 taxis tipo camioneta, 8 personas más el conductor en cada uno. Llegamos al aeropuerto de vuelos internos en &lt;em&gt;Bangalore&lt;/em&gt; a eso de las 1900, para salir hacia &lt;em&gt;New Delhi&lt;/em&gt; (la capital de India) una hora después de haber llegado. Viajamos en la aerolínea más grande de India, &lt;strong&gt;Kingfisher&lt;/strong&gt;, marca que resulta ser también la cerveza nacional del país. El vuelo duró unas 2hrs y media, aproximadamente, y desde aquí empezó nuestro fin de año... &lt;em&gt;a otro nivel&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Un bus de la agencia de viajes nos recogió, y para colmo de males, en primera instancia, como que no sabía dónde quedaba el hotel adonde íbamos, y por poco y nos deja en un convento... pero luego de un par de vueltas, llegamos a nuestro destino, el &lt;em&gt;Florence Hotel&lt;/em&gt;. El ambiente cuando llegamos fue algo tenebroso, pero ya en el día cambió bastante. El hotel en sí, muy bueno.&lt;br /&gt;&lt;br /&gt;El sábado fue un día de turismo interno en &lt;em&gt;New Delhi&lt;/em&gt;... el guía, nos llevó a visitar, la Casa Presidencial, algunos ministerios cuyos edificios fueron construídos por los británicos, cuando India estaba gobernado por ellos. &lt;a href="http://good-times.webshots.com/photo/2027396000099645620ZsazGD"&gt;&lt;img style="FLOAT: right; MARGIN: 10px 0px 10px 10px" alt="El " src="http://thumb0.webshots.net/t/14/15/3/96/0/2027396000099645620ZsazGD_th.jpg" /&gt;&lt;/a&gt;Luego fuimos al &lt;strong&gt;&lt;em&gt;Indian Gate&lt;/em&gt;&lt;/strong&gt;, monumento histórico parecido al Arco del Triunfo en París, construido para conmemorar la muerte de soldados indios en la I Guerra Mundial y la Guerra Afgana. Fuimos tambien al &lt;strong&gt;&lt;em&gt;Qutab Minar&lt;/em&gt;&lt;/strong&gt;, el cual es una torre construida por etapas en diversas épocas, es un monumento relacionado con la religión musulmana. Visitamos un &lt;strong&gt;&lt;em&gt;Templo Bahai&lt;/em&gt;&lt;/strong&gt;, esta religión, hasta donde pude leer, invita a todos, sin distingo de credo o religion, a adorar al Creador del Universo y a expresar el amor entre Dios y el hombre. Existen 8 templos alrededor del mundo, y uno, queda en Panamá, cosa que no sabía, jeje...&lt;br /&gt;&lt;br /&gt;En la noche visitamos la región comercial más famosa de &lt;em&gt;New Delhi&lt;/em&gt;, llamado &lt;em&gt;&lt;strong&gt;Connaught Place&lt;/strong&gt;&lt;/em&gt;, donde vimos muchos lugares... sobre todo las compañeras hicieron y deshicieron en el lugar, con las compras... desde ya, se vivía en la zona el ambiente de fin de año... fuegos artificiales, música en la plaza... gente por todos lados... encontramos un TGI Fridays, McDonald's, KFC... y muchos restaurantes, donde nuestros estómagos se deleitaron... la noche terminó en una discoteca llamada &lt;em&gt;&lt;strong&gt;Blues&lt;/strong&gt;&lt;/em&gt;... donde pusimos a mover el esqueleto.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://good-times.webshots.com/photo/2145348830099645620AODNbC"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px" alt="Taj Mahal" src="http://thumb0.webshots.net/t/20/21/3/48/83/2145348830099645620AODNbC_th.jpg" /&gt;&lt;/a&gt;El domingo inició temprano... viajamos hasta &lt;em&gt;Agra&lt;/em&gt;, donde se encuentra el &lt;strong&gt;&lt;em&gt;Taj Mahal&lt;/em&gt;&lt;/strong&gt;. El viaje duró unas 6 hrs... en tierra... nos llevó un bus, que iba como a 60kph... el recorrido era de nada más 200kms. Al llegar a la ciudad... pasamos toda la tarde en este hermoso monumento que cuenta una historia de amor, la cual para no hacerles largo el cuento, los refiero a &lt;a href="http://es.wikipedia.org/wiki/Taj_Mahal"&gt;esta dirección &lt;/a&gt;donde pueden leer la historia.&lt;br /&gt;&lt;br /&gt;Salimos rápido a eso de las1600, luego de comer en un buen restorant de la localidad... para llegar a tiempo para celebrar el fin de año en &lt;em&gt;New Delhi&lt;/em&gt;. A penas llegamos al hotel, la idea era salir de inmediato... una vez más... nos extendimos, porque las compañeras se estaban asicalando. Viajamos en 4 rishus (&lt;em&gt;taxis motos muy autóctonos del país&lt;/em&gt;), 4 por rishu... no pudimos llegar hasta el mismo &lt;em&gt;Connaught Place&lt;/em&gt;, ya que las calles estaban cerradas por la festividad... el frío ya se sentía, podía estar a unos 7 grados C... y la neblina hacía que el ambiente pareciera una escena de la clásica película de &lt;em&gt;Jack El Destripador en London&lt;/em&gt;... no obstante, caminamos nuestro kilómetro para llegar a la plaza... y la muchedumbre era impresionante... como nuestros bolsillos estaban algo ya averiados por el viaje, terminamos en un restorant, muy bueno, &lt;em&gt;United Coffee House&lt;/em&gt;, al cual luego fueron llegando los otros compañeros que habían salido en las otras rishus... muy emotivo el momento... luego de un rato en el restorant, salimos a caminar, muy fría la noche y con bastante neblina... tomamos nuestras rishus... y de regreso al hotel.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://good-times.webshots.com/photo/2787088460099645620wbkiJK"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px" alt="IT 205 Cancelado !!!" src="http://thumb0.webshots.net/t/14/14/0/88/46/2787088460099645620wbkiJK_th.jpg" /&gt;&lt;/a&gt;Al dia siguiente, nuestro vuelo estaba planeado para salir a eso de las 1700... así que, nos pudimos levantar un poco tarde, y salir de compras al &lt;em&gt;Connaught Place&lt;/em&gt;. Ya en el aeropuerto, el ambiente se podía sentir pesado... cada cierto rato, anuncios de vuelos retrasados por neblina se escuchaban... medias horas pasaban, y el anuncio de vuelos retrasados era lo que se escuchaba... hasta que despues de un par de horas... TODOS LOS VUELOS FUERON CANCELADOS por el estado del tiempo, el aeropuerto fue cerrado, y la multitud ya se ponía histérica... gracias a Dios la aerolínea nos puso en un excelente hotel: &lt;a href="http://good-times.webshots.com/photo/2296136820099645620yDqJmY"&gt;&lt;img style="FLOAT: right; MARGIN: 10px 0px 10px 10px" alt="Le Meridien" src="http://thumb0.webshots.net/t/14/14/1/36/82/2296136820099645620yDqJmY_th.jpg" /&gt;&lt;/a&gt;&lt;strong&gt;&lt;em&gt;Le Meridien &lt;/em&gt;&lt;/strong&gt;(para los curiosos pueden encontrar más información acerca del hotel en &lt;a href="http://www.lemeridien-newdelhi.com/"&gt;este enlace&lt;/a&gt;). A pesar de que para nosotros era como estar en el hotel más yeye de &lt;em&gt;New Delhi&lt;/em&gt;, luego nos dijeron que no era así... pero para nosotros sí lo fue. Pasamos la noche en este hotel, nosotros 16, y la gran mayoría de los pasajeros de las aerolíneas que estaban "saliendo" ese día y cuyos vuelos fueron cancelados. Cenamos bien chévere, fiestamos en la discoteca del hotel, al día siguiente desayunamos (bacon, uno de los ingredientes que más disfrutamos...)... y la pasamos... &lt;em&gt;outstanding&lt;/em&gt;...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://good-times.webshots.com/photo/2424405620099645620GTKlta"&gt;&lt;img style="FLOAT: right; MARGIN: 10px 0px 10px 10px" alt="En el aeropuerto..." src="http://thumb0.webshots.net/t/57/657/4/5/62/2424405620099645620GTKlta_th.jpg" /&gt;&lt;/a&gt;Al día siguiente (martes)... regresamos al aeropuerto, y el estado del clima no mejoraba mucho que digamos... aún en las noticias se veían anuncios de vuelos que estaban retrasados y siendo cancelados por el estado del clima (mucha neblina)... pero gracias a Dios, conforme transcurría la mañana, la neblina desaparecía... estuvimos esperando unas 4 a 5 hrs hasta que nuestro vuelo salió.&lt;br /&gt;&lt;br /&gt;En resumidas cuentas... un excelente fin de año, que puedo resumir en las siguientes palabras: amistad, convivencia, unidad, vividos por todos los que disfrutamos de esta experiencia... Taj Mahal, &lt;em&gt;New Year Eve on New Delhi&lt;/em&gt;, hoteles de lujo, un excelente trip. Para vistas durante este grandioso fin de semana, pueden visitar mi &lt;a title="Hosted by Webshots.com" href="http://good-times.webshots.com/album/556779897obngoA"&gt;album de fotos&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ahora... de vuelta a los estudios...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-6202169357355100567?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/6202169357355100567/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=6202169357355100567' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/6202169357355100567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/6202169357355100567'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2007/01/bienvenido-2007-new-delhi.html' title='Bienvenido 2007, New Delhi'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-116618669421106042</id><published>2006-12-15T06:57:00.000-05:00</published><updated>2007-05-31T11:24:15.365-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Viajes'/><title type='text'>En Mysore, India</title><content type='html'>&lt;p&gt;Esta vez voy a hacer un parentesis en cuanto a informacion tecnica se refiere, y les voy a comentar acerca de mis primeros dias en el Infosys Leadership Institute, ubicado en Mysore, India, en donde estare los proximos 3 meses.&lt;/p&gt;&lt;p&gt;De un grupo de 98 panamenos seleccionados para tomar esta beca, patrocinada por Infosys (la 2da empresa mas grande en India en cuanto a desarrollo de software se refiere), mi grupo llego hace como 1 semana, luego de haber hecho escala en Caracas y en Paris.&lt;/p&gt;&lt;p&gt;En Caracas pasamos un dia completo, el hotel fue pagado por la aerolinea... ese dia llegamos en la noche, asi que paseamos algo hasta el dia siguiente. &lt;/p&gt;&lt;p&gt;&lt;a href="http://good-times.webshots.com/photo/2349472370099645620FiqUmY"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px" alt="Hotel Costa Caribe" src="http://thumb0.webshots.net/t/55/55/4/72/37/2349472370099645620FiqUmY_th.jpg" /&gt;&lt;/a&gt;El hotel nos quedaba como a 15 min en carro del aeropuerto Simon Bolivar. El lugar me recordo a Puntarenas, ya que estabamos cerca del mar. Una de las cosas a resaltar de la zona, y me imagino que del pais en general, es la cantidad de carros viejos que habian (bueno supongo que eso en realidad era de la ciudad en donde estabamos)... puros lanchones chevrolets viejos... uno que otro carro nuevo... y el costo del combustible... &lt;strong&gt;$US 0.08 por litro de gasolina, y mas o menos $US 0.04 por litro de diesel&lt;/strong&gt;... cuando tendremos esos precios en Panama???, jajaja.&lt;/p&gt;&lt;p&gt;En Paris estuvimos solo un par de horas para hacer el cambio de avion... algo comico acontecio cuando llegamos... en realidad durante todo el vuelo... el vuelo (9 horas) tuvo sus buenas turbulencias desde que salimos de Caraca, hasta que llegamos a Paris... era un airbus 747 de AirFrance (si no me equivoco....) ... uno de dos pisos, jeje ... ya cuando estabamos llegando al aeropuerto de Paris... todo iba bien... estabamos cerca de tocar la pista, ya veiamos la pista de aterrizaje, el aeropuerto... todo muy bonito... y de repente... cuando ya todos nos estabamos preparando para el clasico impacto de las llantas sobre la pista... &lt;strong&gt;el avio ASCENDIO !!!&lt;/strong&gt; ... y rodio el aeropuerto, subio sobre las nubes y dio toda una vuelta para intentar aterrizar otra vez... y ya que a las finales no nos enteramos de que fue lo que sucedio... supusimos que habia algun avion en la pista, y el piloto no tomo las precauciones o algo asi... la cuestion fue que, en el momento en que ascendio para dar la vuelta... algunas companeras no aguantaron, y comenzaron a vomitar y a sentirse re mal... jajajajajaja... la cuestion fue que a las finales... todo culmino bien.&lt;/p&gt;&lt;p&gt;El vuelo de Paris a Bangalore, India, estuvo tranquilo (10 horas)... el avion era un airbus 757 de AirFrance (una vez mas si no equivoco, un solo piso) ...&lt;/p&gt;&lt;p&gt;Ya en Bangalore... llegamos, y que aeropuerto!!!... no parecia para nada un aeropuerto comparado a los aeropuertos donde habiamos estado... parecia mas bien como una terminal de buses :-S ... de ahi a nuestro destino final Mysore, tomamos un bus que nos estaba esperando... el paseo de madrugada duro unas 3 horas... hasta que llegamos donde estamos ahora mismo... el centro de entrenamiento mas grande el mundo... el Infosys Leadership Institute... creo q tiene en realidad otro nombre... pero bueno.&lt;/p&gt;&lt;p&gt;Esto aqui... las instalaciones... son 443 hectareas... cuenta con las siguientes instalaciones (en resumen): 1 ginmasio completo, salon de aerobicos, bolos, billar, como 4 canchas de tenis, buco de voleibol, otros juegos que no se ni como se llaman, unas 4 piscinas, una cancha de fulbol de ensueno, otras de cricket, como 3 foodcourts, otros edificios de desarrollo de software, 2 peluquerias, una tienda de ropa, un mini super, 2 companias de telefonia celular, una muralla para escalar, una lavanderia, y buco dormitorios... y entre otras cosas... el edificio donde ahora mismo estamos tomando las clases... recuerdan la comica esta de Los Super Amigos... el edificio donde ellos estaban... asi mismo es el edificio donde tomamos las clases, por ahi les enviare algunas fotos.&lt;/p&gt;&lt;p&gt;Los primeros 3 a 4 dias, estuvimos esperando que los demas companeros llegaran de su vuelo, los que ya habiamos llegado estuvimos disfrutando de las instalaciones, jeje... los siguientes 2 dias estuvimos tomando un curso de comunicacion y relacion de clientes... algo asi, algo tranquilo... los siguientes 3 dias (los que estamos viviendo ahora mismo) han sido una &lt;strong&gt;verdadera experiencia tenebrosa&lt;/strong&gt; !!!! jajajjaa&lt;/p&gt;&lt;p&gt;Desde el primer dia de entrenamiento tecnico (hace 2 dias) hemos estado llegando a la 1-3 de la manana por estar haciendo las asignaciones que nos han puesto... gracias a Dios, llego el fin de semana, y manana estamos saliendo a una gira turistica...&lt;/p&gt;&lt;p&gt;En cuanto a los puntos turisticos, ahi les cuento luego...&lt;/p&gt;&lt;p&gt;Respecto a la comida (algo que muchos me han preguntado) es bien picante y llena de bucos condimentos, al dia de hoy, casi el 75% de los panamenos estan malos del estomago... con fiebre, escalofrios, y esas cosas... que focop !!! ... yo... pura vida... como... y como.... y como, jeje ;-)... en uno de los foodcourt hay un Domino's Pizza... ese ha sido nuestro punto de encuentro varias veces al momento de comer... cuando no vemos cosas "familiares" en los otros restorantes, jeje.&lt;/p&gt;&lt;p&gt;El acceso a internet lo tenemos restringido en las aulas de clases, durante clases, tenemos un cyber, al que vamos para revisar nuestros correos y demas... no hay acceso wireless en el instituto, ni tenemos acceso a internet desde nuestros cuartos... he ahi el por que no he escrito hasta ahora que encontre un espacio... &lt;/p&gt;&lt;p&gt;En realidad, esta semana ha sido muy productiva, y estamos (por lo menos yo) muy emocionado de estar aqui... por ahi escribo de nuevo.&lt;/p&gt;&lt;p&gt;Saludos desde la India !!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-116618669421106042?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/116618669421106042/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=116618669421106042' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/116618669421106042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/116618669421106042'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/12/en-mysore-india.html' title='En Mysore, India'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-115121240986848328</id><published>2006-06-24T23:09:00.000-05:00</published><updated>2007-05-31T11:23:23.375-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Editor de Texto Enriquecido (RTE) MultiPlataforma</title><content type='html'>&lt;p&gt;Muchos de los trabajos web (&lt;em&gt;portales, aplicaciones más que todo&lt;/em&gt;) que realizamos contienen formularios, bien sea para que el visitante nos retroalimente con su experiencia al visitar nuestros trabajos, o bien para que se pongan en contacto con nosotros... si hablamos de un foro, para que publique un artículo... enfín, las aplicaciones de los formularios web son infinitas, todo depende de cómo queramos manejar la información y los propósitos que tengamos para con ella.&lt;/p&gt;&lt;a href="http://photos1.blogger.com/blogger/4168/1890/1600/rte.png"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/4168/1890/320/rte.png" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Cuántos de nosotros hemos observado estos &lt;span style="font-family:courier new;color:#666666;"&gt;textarea&lt;span style="font-family:georgia;color:#000000;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;color:#000000;"&gt; &lt;/span&gt;o campos de texto donde solemos escribir mucha información en varias líneas, que poseen una serie de pequeños iconos (&lt;em&gt;barra de herramientas&lt;/em&gt;) -lo utilizan mucho los sistemas de correo vía web, en donde vemos que podemos cambiar el tipo de letra con el que estamos escribiendo, su color, el tamaño, agregar imágenes, tablas, entre otras cosas más... y hemos deseado crear algo semejante, para darle más flexibilidad a la información que el visitante esté cargando a nuestra web vía formulario, pero nos parece algo relativamente difícil de hacer.&lt;/p&gt;&lt;p&gt;Pues bien, he aquí un &lt;strong&gt;Editor de Texto multiplataforma&lt;/strong&gt; que he encontrado y funciona perfectamente, sin mencionar que es &lt;strong&gt;gratuito&lt;/strong&gt;. Como su nombre lo indica su característica multiplataforma, le permite funcionar perfectamente en los principales navegadores web de hoy día (IE5.5+/Mozilla 1.3+/Firefox 0.6.1+/Netscape 7.1+/Mac Safari/Opera 9+).&lt;/p&gt;&lt;p&gt;Su creador, Kevin Roth, ha lanzado la versión 3.03 la cual pueden descargar desde este enlace: &lt;a href="http://www.kevinroth.com/rte/"&gt;http://www.kevinroth.com/rte/&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Para aquellos interesados en saber de antemano cómo funciona, les adelanto un poco la lectura. Este RTE (&lt;em&gt;Rich Text Editor&lt;/em&gt;) se basa en la funcionalidad &lt;a href="http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/samples/internet/ie55/EditRegions/default.asp"&gt;designMode()&lt;/a&gt;; introducida en el Internet Explorer 5 e implementado en Mozilla 1.3+ utilizando el &lt;a href="http://www.mozilla.org/editor/midas-spec.html"&gt;API de Edición de Texto Enriquecido de Mozilla&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/19155479-115121240986848328?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/115121240986848328/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=115121240986848328' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/115121240986848328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/115121240986848328'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/06/editor-de-texto-enriquecido-rte.html' title='Editor de Texto Enriquecido (RTE) MultiPlataforma'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-115067065166068480</id><published>2006-06-18T17:35:00.002-05:00</published><updated>2009-10-26T21:26:10.742-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>WebServices desde 0</title><content type='html'>Resulta que hemos puesta en marcha públicamente desde ya hace un tiempo uno de los proyectos más ambiciosos de la oficina en donde se reune información que no había sido reunida en un portal como este anteriormente. Dado esto, porqué no utilizar dicha información para cada uno de los sitios web que se están diseñando en la oficina, me pregunté. Bien lo implementé mediante conexión directa a la base de datos de dicho portal, hice conocer la implementación a uno de los compañeros de trabajo, y me comentó que la idea era buena, no obstante, se debía de llevar a cabo mediante un WebService, y no de la forma como lo estaba haciendo.&lt;br /&gt;&lt;br /&gt;El concepto de WebService, SOAP, XML y todo este rollo, ya lo había escuchado desde hace un buen tiempo en algunas presentaciones de productos comerciales a los que había asistido, y para serles franco, en el momento que tocaban el tema, era como si se estuvieran dirigiendo a mi en dialectos de quién sabe dónde. Bueno... ahora es el momento para hacer una implementación de este tipo, razón por la cual, el periodo de investigación ha iniciado. En este artículo, el propósito es hacer un pantallazo de lo que es un WebService y lo que conceptualmente se involucra en esta metodología de desarrollo. Posteriormente publicaré algo más técnico para llevar a cabo una implementación de este tipo...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-115067065166068480?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/115067065166068480/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=115067065166068480' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/115067065166068480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/115067065166068480'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/06/webservices-desde-0.html' title='WebServices desde 0'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-114766642120068448</id><published>2006-05-14T21:39:00.000-05:00</published><updated>2007-05-31T11:24:39.023-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seguridad'/><title type='text'>Contraseñas seguras</title><content type='html'>Un cliente llega y solicita un sistema que haga un millón y uno de cosas, desde ese momento empieza el ciclo, el estudio, el análisis, el diseño, la programación, las pruebas, la presentación, la entrega... nos preocupamos por un buen &lt;a href="http://stuffledge.blogspot.com/2006/04/un-diagrama-bd-de-clases-personalizado.html"&gt;diseño de base de datos&lt;/a&gt; que sea flexible a futuras modificaciones (ya que siempre las hay), nos preocupamos por una correcta estructura y modelado de datos, el mejor diseño de plantilla tanto de archivos como de variables, las metodologías de acceso a la información, una correcta arquitectura de ésta... no obstante, a veces dejamos atrás un tema muy importante a tomar en cuenta, los niveles de seguridad a implementar para el acceso a la información, en sí me refiero a los &lt;span style="font-weight: bold;"&gt;niveles de seguridad de las contraseñas&lt;/span&gt; utilizadas para ingresar a secciones privadas o de acceso exclusivo de estos sistemas.&lt;br /&gt;&lt;br /&gt;Puedo señalar en este momento dos actores en el escenario: (a) el cliente y (b) el programador. Definamos al cliente como el dueño de la cuenta de usuario protegida con una contraseña para ingresar a una sección especial del sistema, dejando fuera las suposiciones, identificaremos a este actor como un ente sin conocimientos avanzados de seguridad, razón por la cual el actor (b), el programador, debe, y es su responsabilidad, tomar las precauciones &lt;span style="font-weight: bold;"&gt;iniciales&lt;/span&gt; para que la cuenta del usuario posea una contraseña segura y darle la oportunidad a éste, de que pueda cambiarla proporcionándole los mecanismo necesarios para llevar a cabo la operación.&lt;br /&gt;&lt;br /&gt;La razón por la cual hago énfasis cuando hago referencia a que "&lt;span style="font-style: italic;"&gt;el programador, debe, y es su responsabilidad, tomar las precauciones &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;iniciales&lt;/span&gt;&lt;span style="font-style: italic;"&gt;...&lt;/span&gt;", es porque la responsabilidad sobre cuán segura es una contraseña también recae sobre el usuario, al personalizar o cambiar su clave por primera vez. La responsabilidad del programador recae sobre la arquitectura sobre la cual diseña el sistema de contraseñas de usuario, más específicamente, los niveles de encriptación de ésta.&lt;br /&gt;&lt;br /&gt;Por la prontitud de cumplir con las fechas de entrega, en ocasiones solemos entregar cuentas de usuario con contraseñas iniciales relativamente inseguras para determinados sistemas, no obstante, debido a los sistemas que hemos estado diseñando últimamente, cuya información es relativamente sensible, en el departamento se ha iniciado una buena práctica de investigación acerca del asegurar que estas contraseñas sean en realidad una llave de acceso única para cada cliente o usuario, con los niveles de seguridad aceptables como para que sean lo suficientemente difíciles de romper o violar. Cada nuevo resultado que encontramos, nos lleva a realizar las actualizaciones pertinentes en los sistemas que se encuentran en producción, asegurando de esta forma que éstos cuenten con la infraestructura necesaria acerca del tema en cuestión.&lt;br /&gt;&lt;br /&gt;Para el conocimiento general, dentro de los métodos que suelen ser utilizados para encontrar o romper contraseñas, está la &lt;strong&gt;"Suposición"&lt;/strong&gt;, el &lt;strong&gt;"Ataque de Diccionario"&lt;/strong&gt;, y el &lt;strong&gt;"Ataque de Fuerza Bruta"&lt;/strong&gt;, los cuales consisten en realizar una comparación contra un diccionario de datos (básicamente), hasta dar con la contraseña en cuestión. A partir de aquí, podemos deducir que aquellas contraseñas conformadas por nombres familiares, fechas de nacimiento, direcciones son vulnerables a estos tipos de ataque.&lt;br /&gt;&lt;br /&gt;Actualmente hemos estado trabajando en el estudio de mecanismos para que el dar de alta a una cuenta de usuario, sea una operación cada vez más segura y personal.&lt;br /&gt;&lt;br /&gt;¿Cuál podría ser la solución para entregar información acerca de cuentas de usuario y su contraseña de manera virtual?. Dependiendo del diseño y claro está las exigencias del sistema, los requerimientos solicitados, el tipo de información que está protegido por contraseña, las siguientes podrías ser algunas soluciones para llevar a cabo la operación, métodos que podrían también aplicar para recordar contraseñas olvidadas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Entrega vía email: la mayoría de los sistemas, hasta donde he podido notar, entregan la información de la cuenta de usuario vía email a la cuenta de correo electrónico con que el usuario se registró.&lt;/li&gt;&lt;li&gt;Otros mecanismos podrían ser el enviar esta información a dispositivos móviles, como teléfonos celulares, teniendo como premisa que éstos son de uso exclusivo del dueño de la cuenta de usuario.&lt;/li&gt;&lt;/ul&gt;En una próxima entrega: &lt;span style="font-weight: bold;"&gt;Métodos de encriptación de contraseñas PHP/MySQL&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;table width="50%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1px solid rgb(102, 102, 102);"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fuentes consultadas:&lt;/span&gt;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;+ &lt;a href="http://es.wikipedia.org/wiki/Contrase%C3%B1a" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://es.wikipedia.org/wiki/Contraseña&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://world.std.com/%7Ereinhold/diceware.html" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://world.std.com/~reinhold/diceware.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://nauscopio.coolfreepages.com/Enlaces_de_Seguridad/contrasenyas-2.htm" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://nauscopio.coolfreepages.com/...&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.microsoft.com/spain/empresas/seguridad/articulos/select_sec_passwords.mspx" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.microsoft.com/spain/empresas/seguridad/...&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://es.wikipedia.org/wiki/MD5" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://es.wikipedia.org/wiki/MD5&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.cryptoforge.com.ar/seguridad.htm" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.cryptoforge.com.ar/seguridad.htm&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-114766642120068448?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/114766642120068448/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=114766642120068448' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114766642120068448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114766642120068448'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/05/contraseas-seguras.html' title='Contraseñas seguras'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-114598118156837355</id><published>2006-04-25T11:06:00.000-05:00</published><updated>2007-05-31T11:23:23.376-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Primer acercamiento a AJAX</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4168/1890/1600/ajaxlogobyecs.png"&gt;&lt;img style="margin: 0px 10px 10px 0px; float: right;" alt="" src="http://photos1.blogger.com/blogger/4168/1890/320/ajaxlogobyecs.png" border="0" /&gt;&lt;/a&gt; &lt;span style="font-size:100%;"&gt;Desde que escuché acerca de &lt;strong&gt;AJAX&lt;/strong&gt;, me interesé en el tema y decidí investigar para aprender, utilizar, y poder implementar la tecnología en alguno de los proyectos en los que trabajo, lo cual intenté hacer hace un par de meses, pero la sección en que iba a implementarlo exigía más investigación para realizar las modificaciones pertinentes, lo cual no pude llevar a cabo por cuestiones de tiempo (&lt;em&gt;clásica&lt;/em&gt;). No es hasta ahora que he podido implementar AJAX en uno de los proyectos en los que hemos estado trabajando en la oficina desde hace un buen rato, dicha implementación en realidad no fue nada complicada una vez encontré el &lt;a href="http://www.webpasties.com/xmlHttpRequest/" target="_blank"&gt;tutorial adecuado&lt;/a&gt;, y en realidad todo está quedando de perlas gracias a la dedicación y paciencia del equipo de trabajo; es por esto que me ha parecido productivo documentar el logro, y compartir conceptualmente lo que he aprendido para que así puedan ponerlo en práctica.&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;AJAX&lt;/strong&gt; es un acrónimo en inglés que para algunos quiere decir &lt;em&gt;JavaScript y XML Asíncronos&lt;/em&gt; (&lt;em&gt;Asynchronous JavaScript And XML&lt;/em&gt;) mientras que para otros es &lt;em&gt;JavaScript y XML Avanzado&lt;/em&gt; (&lt;em&gt;Advanced Javascripting And XML&lt;/em&gt;)... no obstante, es una técnica de desarrollo web utilizada para crear aplicaciones interactivas...&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;En esta técnica de desarrollo se ven involucradas ciertas tecnologías que podríamos agrupar en tres capas:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;em&gt;Capa de Presentación:&lt;/em&gt; utlizando HTML y CSS&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;em&gt;Capa de Interacción dinámica con los datos:&lt;/em&gt; utlizando Javascript y el Modelo de Objeto de Documento (DOM, de sus siglas en inglés), y la&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;em&gt;Capa de Manipulación de datos:&lt;/em&gt; utlizando XML y XSLT, para intercambiar y manipular datos de manera desincronizada con un servidor web (aunque las aplicaciones AJAX pueden usar otro tipo de tecnologías, incluyendo texto plano, para realizar esta labor). El objeto &lt;strong&gt;XMLHttpRequest&lt;/strong&gt; es aquél que interactúa entre el navegador y el servidor web, generalmente con el envío de datos en formato XML (aunque se pueden aplicar otros formatos)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;A manera de cultura general, hay que mencionar que &lt;em&gt;Jesse James Garrett&lt;/em&gt; es considerado como el individuo que acuñó el concepto, lo cual se puede ver en &lt;a href="http://www.adaptivepath.com/publications/essays/archives/000385.php"&gt;este artículo&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;.&lt;br /&gt;&lt;br /&gt;A grandes rasgos AJAX, al igual que DHTML o LAMP (por ejemplo), no constituye una tecnología en sí, sino varias de éstas trabajando en conjunto.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cómo funciona?&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4168/1890/1600/ajaxinteraccion.0.png"&gt;&lt;img style="margin: 0px 0px 10px 10px; float: right;" alt="" src="http://photos1.blogger.com/blogger/4168/1890/200/ajaxinteraccion.0.png" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;En las aplicaciones web tradicionales los usuarios interactúan mediante formularios, que al enviarse, realizan una petición al servidor web. El servidor se comporta según lo enviado en el formulario y contesta enviando una nueva página web. Se desperdicia mucho ancho de banda, ya que gran parte del HTML enviado en la segunda página web, ya estaba presente en la primera. Además, de esta manera no es posible crear aplicaciones con un grado de interacción similar al de las aplicaciones habituales.&lt;br /&gt;&lt;br /&gt;En aplicaciones AJAX se pueden enviar peticiones al servidor web para obtener únicamente la información necesaria, empleando SOAP o algún otro lenguaje para servicios web basado en XML, y usando JavaScript en el cliente para procesar la respuesta del servidor web. Esto redunda en una mayor interacción gracias a la reducción de información intercambiada entre servidor y clientes ya que parte del proceso de la información lo hace el propio cliente, liberando al servidor de ese trabajo. La contrapartida es que la descarga inicial de la página es más lenta al tenerse que bajar todo el código JavaScript.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;En dónde se recomienda usar AJAX?&lt;/strong&gt;&lt;br /&gt;La lista algunos la resumen a los siguientes elementos, aún así, recordemos que la creatividad es una de las herramientas a las que nos debemos aferrar al momento de trabajar...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Formularios: para lo que es interacción en el manejo de éste, mostrar información al seleccionar un elemento de un menú, autoguardado ...&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Rápida comunicación entre usuarios&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Envío de votaciones, cajas Si/No, calificaciones ...&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Auto-relleno de texto comúnmente introducido&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Errores interactivos&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Largas consultas y llamadas remotas en ejecución&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Almacenado en servidor&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;… y más …&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;Como pueden observar, AJAX, bien utilizada, es una técnica de desarrollo web que ofrece numerosas ventajas al navegante o usuario desde el punto de vista de interacción y usabilidad, no obstante, &lt;em&gt;sin abuso se aprovecha mejor&lt;/em&gt;, hagan su investigación, el ser autodidacta es una buena práctica que trae buenos resultados. Actualmente estamos por desarrollar un pequeño módulo multimedia para un cliente, y estamos pensando utilizar Flash+AJAX, vamos a ver qué tal nos va, de concretizar la idea, ya se enterarán...&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;table width="50%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1px solid rgb(102, 102, 102);"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;Fuentes consultadas:&lt;/span&gt;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;+ &lt;a href="http://es.wikipedia.org/wiki/AJAX" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://es.wikipedia.org/wiki/AJAX&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://ajaxblog.com/" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://ajaxblog.com/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://www.fiftyfoureleven.com/resources/programming/xmlhttprequest/examples" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.fiftyfoureleven.com/...&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;+ &lt;a href="http://swik.net/Ajax/Places+To+Use+Ajax" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://swik.net/Ajax/Places+To+Use+Ajax&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-114598118156837355?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/114598118156837355/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=114598118156837355' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114598118156837355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114598118156837355'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/04/primer-acercamiento-ajax.html' title='Primer acercamiento a AJAX'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-114549830933860893</id><published>2006-04-19T20:50:00.000-05:00</published><updated>2007-09-09T16:08:59.872-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Base de Datos'/><title type='text'>Un Diagrama BD de Clases personalizado</title><content type='html'>Dentro de todo el análisis y diseño de base de datos que uno puede llegar a realizar en un momento dado para un sistema, uno de los principales documentos a elaborar es el &lt;strong&gt;"Diagrama de Base de Datos"&lt;/strong&gt;. Hace unos días discutía con un compañero casualmente por esto, porque según él estos documentos nada más se utilizan para ser presentados en la u como parte de un proyecto o asignación, al inicio yo también pensaba eso, sin embargo me he dado cuenta que este tipo de diagramas son de gran ayuda al momento de desarrollar un sistema, y más si éste está bien elaborado.&lt;br /&gt;&lt;br /&gt;Inicialmente yo llamaba a este diagrama como &lt;em&gt;"Entidad Relación"&lt;/em&gt;, sin embargo mi compañero me refutaba que éste no era eso, no obstante, tampoco me decía qué diagrama era. En este artículo pienso aclarar dicha duda, y definir de una vez por todas qué es qué.&lt;br /&gt;&lt;br /&gt;Dentro de la información que he recopilado hasta el momento, y comparando ésta con los diagramas que he estado elaborando, y que me han resultado de mucha utilidad, he encontrado que lo que estaba utilizando era una combinación de diagramas y metodologías de diversos autores, y en la búsqueda de llamar a estos diagramas de alguna forma, he llegado a la conclusión de que el nombre es lo que menos importa.&lt;br /&gt;&lt;br /&gt;Dentro de la gama de diagramas &lt;em&gt;UML&lt;/em&gt; hay uno en particular que he encontrado que se asemeja mucho a lo que he estado haciendo, llamado &lt;em&gt;"Diagrama de Clases"&lt;/em&gt;, aún así la teoría explica que el &lt;em&gt;"Diagrama de Entidad Relación (E-R)"&lt;/em&gt; puede ser utilizado como extensión del primero para realizar un buen modelado de datos. ¿Por qué la combinación de éstos y no simplemente utilizar el primero?; respuesta: &lt;em&gt;la semántica.&lt;/em&gt; Hay detalles de semántica de la bd que se quedan cortos con UML. De ser así, ¿por qué entonces no utilizar simplemente el &lt;em&gt;"Diagrama de E-R"&lt;/em&gt;?, respuesta: porque éste es más conceptual que práctico.&lt;br /&gt;&lt;br /&gt;Al momento de estar desarrollando una aplicación, de la mano con un diagrama de base de datos, quizás uno lo que quiera ver en éste es una buena representación de la base de datos tal y como está implementada con sus entidades y relaciones, de manera simplificada. Desde mi punto de vista un &lt;em&gt;Diagrama E-R&lt;/em&gt; no es precisamente un diagrama simplificado que muestre esto, puesto que muestra más que las relaciones que existen entre las entidades, y dependiendo de cómo éstas sean, éste no será una representación gráfica práctica de la bd implementada. Más que todo, yo utilizaría este diagrama a nivel conceptual, y el de Clases, a nivel práctico.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-114549830933860893?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/114549830933860893/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=114549830933860893' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114549830933860893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114549830933860893'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/04/un-diagrama-bd-de-clases-personalizado.html' title='Un Diagrama BD de Clases personalizado'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-114470662045276076</id><published>2006-04-10T16:47:00.000-05:00</published><updated>2007-05-31T11:25:03.299-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnología'/><title type='text'>Problemas tipo MIME con IE</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4168/1890/1600/explorerBugs.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/4168/1890/320/explorerBugs.jpg" border="0" /&gt;&lt;/a&gt; Hace unos días me encontraba trabajando en la depuración de uno de los sistemas que he trabajado, de hecho, en el primer sistema que desarrollé para web bajo la infraestructura PHP y MySQL, y tratando de solucionar un problema que tenía al momento de identificar el tipo de archivo que se cargada desde la aplicación, y de una pequeña investigación que hice para solucionar el problema, me encontré con cierta información, de la cual muchos estamos concientes... IE, al igual que muchos de los productos MS, tiene aún baches por resolver, razón por la cual muchos estamos optando por trabajar con herramientas &lt;em&gt;opensourse&lt;/em&gt;, desde el punto de vista de navegadores (en lo personal trabajo con &lt;a href="http://www.mozilla-europe.org/es/"&gt;Firefox&lt;/a&gt; y &lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt;, siendo el primero de mayor preferencia).&lt;br /&gt;&lt;br /&gt;Trabajando con PHP, en cuanto al manejo de carga de archivos se refiere mediante el método POST, utilizando el arreglo $_FILES[&lt;em&gt;nombre_campo&lt;/em&gt;][&lt;em&gt;type&lt;/em&gt;] estaba teniendo dificultades para identificar los archivos &lt;em&gt;.doc&lt;/em&gt; correctamente, obteniendo como resultado un tipo MIME que no era el esperado. Después de una larga investigación, opté por no utilizar este método y trabajar directamente con la extensión de los archivos que estaba tratando de cargar.&lt;br /&gt;&lt;br /&gt;Acerca del tema, en Wikipedia encontré este &lt;a href="http://en.wikipedia.org/wiki/Criticisms_of_Internet_Explorer#HTTP_and_MIME"&gt;enlace&lt;/a&gt; (en inglés) en donde hay mayor información detallada...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-114470662045276076?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/114470662045276076/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=114470662045276076' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114470662045276076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114470662045276076'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/04/problemas-tipo-mime-con-ie.html' title='Problemas tipo MIME con IE'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-114409093897600284</id><published>2006-04-03T14:02:00.000-05:00</published><updated>2007-05-31T11:25:03.300-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnología'/><title type='text'>Tecnología Centrino... un vistazo conceptual</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4168/1890/1600/centrino-logo.0.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/4168/1890/200/centrino-logo.jpg" border="0" /&gt;&lt;/a&gt; Artículo extraído de &lt;a href="http://www.gestiopolis.com/delta/term/TER312.html"&gt;GestinoPolis.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Centrino es un paquete tecnológico de Intel que provee soporte inalámbrico integrado para computadores portátiles, y que permite operar un portátil todo el día (hasta siete horas) sin recargar la batería. Con Centrino, Intel espera incentivar a las empresas y a las personas para que reemplazan sus equipos actuales con una nueva, más "móvil" versión. Algunos analistas estiman que un portátil más "movible" podría reemplazar los computadores de escritorio también. &lt;p&gt;&lt;/p&gt;&lt;p&gt;El paquete Centrino incluye:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Procesador Pentium M&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Familia de Chips 855&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Conexión Inalámbrica PRO/Wireless&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/19155479-114409093897600284?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/114409093897600284/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=114409093897600284' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114409093897600284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114409093897600284'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/04/tecnologa-centrino-un-vistazo.html' title='Tecnología Centrino... un vistazo conceptual'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-114409088853472753</id><published>2006-04-03T14:00:00.000-05:00</published><updated>2007-05-31T11:25:03.302-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnología'/><title type='text'>Macromedia crece de la mano de otras grandes compañías...</title><content type='html'>Revisando mi correo me he enterado de un avance más en lo que es la vida de la compañía Macromedia, y me he enterado que ahora está trabajando de la mano con HP. A raíz de esto, he decidido hacer una recopilación de las noticias de las cuales me he enterado, a partir de las cuales parece ser que Macromedia ha decidido trabajar de la mano con compañías de renombre para crecer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Abril 2005 [ &lt;/strong&gt;Adobe compra Macromedia &lt;strong&gt;]&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Por un valor de US$ 3,400 millones, dos grandes empresas dedicadas al desarrollo de softwares para diseñadores y desarrolladores se unieron creando una gran compañía a raíz de la adquisición de Macromedia por parte de Adobe.&lt;br /&gt;&lt;br /&gt;Ambas empresas son propietarias de dos de los formatos de distribución de contenidos más extendidos en la Red, PDF y Flash, de Adobe y Macromedia, respectivamente.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adobe.com/aboutadobe/invrelations/adobeandmacromedia.html"&gt;Más información...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Agosto 2005 [&lt;/strong&gt; Macromedia anuncia Studio 8 &lt;strong&gt;]&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Studio 8 además incluye nuevas y revolucionarias herramientas de codificación de video, las cuales otorgan al cliente un método sencillo para la creación y publicación de video interactivo de alta calidad logrando experiencias en-línea verdaderamente memorables. Por su parte, mejoras en CSS y en las herra mientas de autoría visual para XML, agregan sofisticación a los sitios web y aplicaciones. Las nuevas herramientas para la autoría y prueba de contenido móvil, le otorgan a Studio 8 el liderazgo en ayudar a los negocios, a alcanzar las mayores audiencias posibles a través de múltiples plataformas.&lt;br /&gt;&lt;br /&gt;Studio 8 in cluye Contribute 3 y FlashPaper 2, lo que permite suplir mejor las necesidades de flujo de trabajo de los usuarios. Contribute 3 permite a los profesionales web modificar o actualizar contenido en un flujo de trabajo controlado y basado en ejemplos, que mejora la eficiencia mientras preserva la integridad del sitio web. FlashPaper 2 extiende el proceso de creación de contenido al convertir cualquier tipo de archivo en un PDF ó SWF, listo para el web.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.macromedia.com/software/studio"&gt;Más información...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Septiembre 2005 [&lt;/strong&gt; Macromedia y HP trabajarán conjuntamente &lt;strong&gt;]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Macromedia ha anunciado un acuerdo con HP que tendrá como objetivo ayudar a que los usuarios puedan gozar de servicios de telecomunicaciones y aplicaciones dinámicas de Internet (RIA - Rich Internet Applications) en ordenadores personales inalámbricos, PDAs, dispositivos móviles y otros dispositivos electrónicos de consumo. Macromedia y HP integrarán y venderán conjuntamente soluciones que unirán la Plataforma Flash® de Macromedia y la Plataforma de Entrega de Servicios de HP (SDP).&lt;br /&gt;&lt;br /&gt;Juntos, Macromedia y HP permitirán a las empresas operadoras, proveedores de equipos de redes y ISVs de telecomunicaciones lograr que la creación de nuevas soluciones de comunicaciones, mensajería y colaboración sea más eficiente; desplegar servicios ricos en multimedia de manera más segura; y beneficiarse de la ubicuidad de Macromedia Flash Player y de la solidez de HP SDP a través de redes móviles, fijas y de banda ancha.&lt;br /&gt;&lt;br /&gt;La ubicuidad de Macromedia Flash Player - la columna vertebral de la Plataforma Flash - hace posible que cualquier persona pueda acceder a experiencias de comunicaciones ricas, dinámicas e integradas sin tener que instalar y configurar software específico.&lt;br /&gt;&lt;br /&gt;&lt;a title="Artículo extendido de nuestros amigos de desarrolloweb.com" href="http://www.desarrolloweb.com/articulos/2151.php"&gt;Más información...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En el siguiente enlace podrán encontrar un video informativo que muestra cómo la integración de estas dos compañías crean un ambiente de trabajo virtual dando soluciones al cliente en un tiempo mínimo, en realidad es muy interesante lo que hoy en día se puede conseguir con tanta tecnología a la mano.&lt;br /&gt;&lt;a href="http://www.macromedia.com/go/hp_telecom"&gt;Ver video de demostración &lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-114409088853472753?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/114409088853472753/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=114409088853472753' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114409088853472753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114409088853472753'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/04/macromedia-crece-de-la-mano-de-otras.html' title='Macromedia crece de la mano de otras grandes compañías...'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-114409073198911430</id><published>2006-04-03T13:58:00.000-05:00</published><updated>2007-05-31T11:25:03.303-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnología'/><title type='text'>Finalidades del Software Malicioso</title><content type='html'>Artículo extraído desde nuestros amigos de &lt;a href="http://www.desarrolloweb.com/"&gt;desarrolloweb.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Navegando por la web, me he encontrado con este artículo que me ha parecido muy interesante, más para aquellos que por consecuencias de la vida hemos tenido problemas con nuestras computadoras a raíz de estos "preciados" malwares. De aquí mi interés por compartir esta información con ustedes, a manera de extracción, no vaya a ser que me demanden por plagiar información de otros sitios, de todas formas, el artículo completo lo podrán encontrar haciendo clic &lt;a href="http://www.desarrolloweb.com/articulos/2159.php"&gt;aquí&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Dentro de los principales malwares y sus motivos, encontramos los siguientes:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Gusanos&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Definición:&lt;/em&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Malware capaz de reproducirse a través de algún medio de comunicación (por ejemplo, el correo electrónico) para intentar llegar a la mayor cantidad de equipos, infectarlos y seguir su reproducción hacia otros equipos.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;Objetivo:&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;proliferar otros tipos de códigos maliciosos, como troyanos, bots y keyloggers (*). Aprovechando la velocidad de propagación del correo electrónico (uno de los métodos más utilizados por los gusanos) sus autores pueden proliferar otros códigos maliciosos rápidamente.&lt;/li&gt;&lt;li&gt;hacer daño, para atacar a la competencia o como en el caso del &lt;a title="Resultados de búsqueda acerca de este gusano en MSN" href="http://search.msn.es/results.aspx?q=Netsky"&gt;Netsky&lt;/a&gt; para intentar eliminar otros gusanos o virus de los PCs infectados.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Bot&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Definición:&lt;/em&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;troyano que cumple una función específica y puede llegar a recibir órdenes de alguna manera, por lo que está relacionado con los troyanos conocidos como Backdoors.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;Objetivo:&lt;/em&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;formar redes de PCs zombies, y que pueden ser utilizados por sus autores para lanzar ataques de denegación de servicios en forma distribuida, enviar correo electrónico no solicitado, etc.&lt;/li&gt;&lt;/ul&gt;&lt;p dir="ltr"&gt;&lt;strong&gt;Spyware&lt;/strong&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;em&gt;Definición:&lt;/em&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;/p&gt;&lt;ul dir="ltr"&gt;&lt;li&gt;todo tipo de software que se instala en forma no deseada, y cuyo fin es modificar los hábitos de uso de la computadora para, por ejemplo, obligar al usuario a tener siempre la página de inicio de una empresa en particular. &lt;/li&gt;&lt;/ul&gt;&lt;p dir="ltr"&gt;&lt;em&gt;Objetivo:&lt;/em&gt;&lt;/p&gt;&lt;ul dir="ltr"&gt;&lt;li&gt;recolectar información del equipo donde se encuentra instalado, la cual es enviada a algún servidor central; con esa información, las compañías pueden saber cualquier cosa que se realice en nuestra computadora e incluso luego enviarnos información comercial según nuestros hábitos. &lt;/li&gt;&lt;/ul&gt;&lt;p dir="ltr"&gt;En el desarrollo del malware, en general, existen las siguientes finalidades: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Demostrar que es posible explotar una vulnerabilidad o aprovechar cierta plataforma, lo que se conoce como el desarrollo de una prueba de concepto. &lt;/li&gt;&lt;li&gt;Producir daño en los equipos donde se instala el malware. &lt;/li&gt;&lt;li&gt;Obtener información del equipo infectado para lograr un rédito comercial (ya sea directamente o indirectamente). &lt;/li&gt;&lt;li&gt;Venganza. &lt;/li&gt;&lt;li&gt;Notoriedad. &lt;/li&gt;&lt;li&gt;Estafas. &lt;/li&gt;&lt;li&gt;Sabotaje.&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/19155479-114409073198911430?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/114409073198911430/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=114409073198911430' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114409073198911430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114409073198911430'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/04/finalidades-del-software-malicioso.html' title='Finalidades del Software Malicioso'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19155479.post-114409067667214134</id><published>2006-04-03T13:52:00.000-05:00</published><updated>2007-08-19T15:26:21.431-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnología'/><title type='text'>Buteando desde Modo a Prueba de Fallos</title><content type='html'>Artículo extraído desde nuestros amigos de &lt;a href="http://www.pcstats.com/"&gt;PCStats&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;El Modo a Prueba de Fallos ha sido un componente de Windows desde la versión 95, al cual se puede tener acceso presionando la tecla F8 desde que aparece la primera pantalla del sistema cuando éste está arrancando.&lt;br /&gt;&lt;br /&gt;La razón por la cual podamos estar interesados en arrancar nuestro sistema en Modo a Prueba de Fallos, es quizás porque estamos confrontando problemas con nuestro sistema, y mediante este procedimiento podremos determinar si esto se debe a un malfuncionamiento del hardware, o es debido a algún software, quizás malicioso.&lt;br /&gt;&lt;br /&gt;A continuación se listan algunas de las razones por las cuales sería productivo arrancar nuestro sistema en Modo a Prueba de Fallos:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Remover virus / spyware: &lt;/strong&gt;en muchas ocasiones los programas maliciosos suelen instalarse en ciertos sectores desde donde se pueden ejecutar automáticamente, tales como el registro de Windows y la estructura de los archivos. Arrancando desde el Modo a Prueba de Fallos, los antivirus y programas anti-spyware suelen tener mayor efecto al no ser utilizados estos sectores en este modo&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Resolver problemas de software: &lt;/strong&gt;constantes caídas del sistema o inclusive problemas para arrancar son síntomas ocasionados por problemas con ciertos softwares. Veamos cómo podemos identificar estos problemas. De poder arrancar en Modo a Prueba de Fallos y no normalmente, entonces tenemos un problema de sotware.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Si rompe durante el proceso de carga, antes que aparezca la interfase de Windows, o bien aparece un BSOD (pantalla azul de la muerte - de sus siglas en inglés), confrontamos un problema de controladores. Para ello, podemos utilizar la herramienta SIGVERIF, en Modo a Prueba de Fallos; esta herramienta creará un listado de los controladores no firmados por Windows, y que pueden ser la causa de fallo, lo que sigue a continuación es encontrar aquellos que pensemos sean los defectuosos en c:\windows\system32\drivers, cortarlos, copiarlos en otro lado, e intentar, hasta dar con el controlador problemático.&lt;/li&gt;&lt;li&gt;Sin embargo, si el problema ocurre luego de que aparece la interfase de Windows, se debe a algún programa que está intentando cargar y está dando problemas; para lo cual nos sería útil alguna herramienta como la &lt;a href="http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml"&gt;ofrecida&lt;/a&gt;, o bien la herramienta MSCONFIG (de Windows), mediante la cual podremos deshabilitar aquel programa que se está cargando y que creamos que está ocasionando el mal funcionamiento&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Una vez más, el presente artículo está orientado a personas del ámbito de la informática, su versión original se puede accesar desde este &lt;a href="http://www.pcstats.com/articleview.cfm?articleID=1643"&gt;enlace&lt;/a&gt;, y obtener toda la ayuda pertinente.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19155479-114409067667214134?l=stuffledge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stuffledge.blogspot.com/feeds/114409067667214134/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19155479&amp;postID=114409067667214134' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114409067667214134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19155479/posts/default/114409067667214134'/><link rel='alternate' type='text/html' href='http://stuffledge.blogspot.com/2006/04/buteando-desde-modo-prueba-de-fallos.html' title='Buteando desde Modo a Prueba de Fallos'/><author><name>EC</name><uri>http://www.blogger.com/profile/01869669155063761834</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/4168/1890/320/976360716.jpg'/></author><thr:total>0</thr:total></entry></feed>
