<?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-5127970400383396750</id><updated>2011-11-27T20:44:56.346-03:00</updated><category term='linux'/><category term='ubuntu server'/><category term='MySQL'/><category term='javascript'/><category term='ntfs'/><category term='web'/><category term='configuración regional'/><category term='tecla enter'/><category term='ntfs-3g'/><category term='programacion'/><category term='software raid'/><category term='chrome'/><category term='c#'/><category term='tables'/><category term='slackware'/><category term='jscalendar'/><category term='submit'/><category term='dinero'/><category term='ganar plata'/><category term='sql'/><category term='browser'/><category term='formulario'/><category term='internet'/><category term='acentos'/><category term='index'/><category term='windows'/><category term='asp.net'/><category term='.net'/><category term='millonario'/><category term='navegador'/><category term='raid1'/><category term='español'/><category term='ubuntu'/><category term='google'/><category term='database'/><title type='text'>Lo mejor de los dos mundos Linux &amp; .NET</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5127970400383396750.post-370566338789271199</id><published>2010-02-16T13:37:00.003-03:00</published><updated>2010-02-16T13:46:55.734-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='raid1'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu server'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='software raid'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>RAID1 con Ubuntu Server 9.04</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Instalar Ubuntu Server 9.04.&lt;/span&gt;&lt;br /&gt;Al momento de particionar elegir Manual y crear las particiones como primarias. En &lt;span style="font-style: italic;"&gt;use as&lt;/span&gt; seleccionar &lt;span style="font-style: italic;"&gt;physical volume for RAID&lt;/span&gt;.&lt;br /&gt;Repetir el proceso con el segundo disco (espejo). Las particiones deben tener exactamente el mismo tamaño.&lt;br /&gt;&lt;br /&gt;Una vez que esten listas todas las particiones elegir &lt;span style="font-style: italic;"&gt;Configure Software RAID&lt;/span&gt;.&lt;br /&gt;Guardar los cambios y elegir &lt;span style="font-style: italic;"&gt;Create MD drive&lt;/span&gt; y luego &lt;span style="font-style: italic;"&gt;RAID1&lt;/span&gt;.&lt;br /&gt;Elegir la cantidad de &lt;span style="font-style: italic;"&gt;active devices&lt;/span&gt; (2) y la cantidad de &lt;span style="font-style: italic;"&gt;spare devices&lt;/span&gt; (0).&lt;br /&gt;Ahora se deben relacionar las particiones con sus espejos correspodientes. Es decir, sda1 con sdb1; sda2 con sdb2, etc. Elegir siempre 2 particiones por vez y repetir el proceso hasta terminar con todas.&lt;br /&gt;&lt;br /&gt;En el particionador de discos nuevamente creamos las particiones definitivas.&lt;br /&gt;Elegir &lt;span style="font-style: italic;"&gt;RAID1 device #0&lt;/span&gt; y configurar el &lt;span style="font-style: italic;"&gt;mount point&lt;/span&gt; (ej.: /) y &lt;span style="font-style: italic;"&gt;filesystem&lt;/span&gt; (ej.: ext3)&lt;br /&gt;Repetir el proceso para todas las particiones.&lt;br /&gt;&lt;br /&gt;En este punto la instalación continua normalmente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Para que arranque en modo "degraded" en caso que falle (se quite) uno de los discos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En el GRUB, agregar el siguiente parámetro a la linea del kernel:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;bootdegraded=true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Editar el archivo /etc/initramfs-tools/conf.d/mdadm y cambiar:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;BOOT_DEGRADED=false&lt;/span&gt;&lt;br /&gt;a&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;BOOT_DEGRADED=true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Comandos para ver el estado del RAID:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sudo mdadm -D /dev/md0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cat /proc/mdstat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;En caso de fallo de uno de los discos:&lt;/span&gt;&lt;br /&gt;Sacar el disco con problemas e iniciar en modo "degraded", con un solo disco.&lt;br /&gt;Comprar un disco nuevo e instalarlo (no crear particiones!).&lt;br /&gt;Prender la PC, tiene que seguir estando en modo "degraded".&lt;br /&gt;Crear las particiones en el disco nuevo, tienen que ser exactamente iguales al disco que se va espejar.&lt;br /&gt;Cambiar el tipo a &lt;span style="font-style: italic;"&gt;Linux raid autodetect&lt;/span&gt; (id fd).&lt;br /&gt;&lt;br /&gt;Una vez creadas las particiones agregar el nuevo disco al array:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sudo mdadm --add /dev/md0 /dev/sda1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sudo mdadm --add /dev/md1 /dev/sda2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y repetir el proceso con todas las particiones necesarias.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Para ver el proceso de Rebuild:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;watch -n1 cat /proc/mdstat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Re-instalar el GRUB en el array (para que esté en ambos discos):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sudo grub-install /dev/md0&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5127970400383396750-370566338789271199?l=ipapers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/370566338789271199/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5127970400383396750&amp;postID=370566338789271199' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/370566338789271199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/370566338789271199'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/2010/02/raid1-con-ubuntu-server-904.html' title='RAID1 con Ubuntu Server 9.04'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5127970400383396750.post-4542744369659472576</id><published>2009-06-25T09:32:00.001-04:00</published><updated>2009-06-25T09:45:46.645-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='slackware'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Installing Google Chrome in Slackware 12.1.0</title><content type='html'>The install was done using the following Debian package:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;google-chrome-unstable_3.0.187.0-r18043_i386.deb&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'm not saying it won't work with other versions, but I just haven't tried.&lt;br /&gt;&lt;br /&gt;Open the package and copy the folder "google" to "/opt" (or another directory if you wish).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Create the following symbolic links in /usr/lib:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;libnspr4.so.0d -&gt; /usr/lib/firefox-3.0.8/libnspr4.so&lt;br /&gt;libnss3.so.1d -&gt; /usr/lib/firefox-3.0.8/libnss3.so&lt;br /&gt;libnssutil3.so.1d -&gt; /usr/lib/firefox-3.0.8/libnssutil3.so&lt;br /&gt;libplc4.so.0d -&gt; /usr/lib/firefox-3.0.8/libplc4.so&lt;br /&gt;libplds4.so.0d -&gt; /usr/lib/firefox-3.0.8/libplds4.so&lt;br /&gt;libsmime3.so.1d -&gt; /usr/lib/firefox-3.0.8/libsmime3.so&lt;br /&gt;libssl3.so.1d -&gt; /usr/lib/firefox-3.0.8/libssl3.so&lt;br /&gt;&lt;br /&gt;Alternatively Thunderbird or Seamonkey libraries can be used instead of Firefox; or you can always search your Linux for the location of the files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update (if needed) the following Slackware packages, in () the version I tried successfully:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;pango (1.22.4)&lt;br /&gt;cairo (1.8.6)&lt;br /&gt;pixman (0.15.10)&lt;br /&gt;&lt;br /&gt;Well, now you can just execute /opt/google/chrome/chrome and start using Google Chrome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5127970400383396750-4542744369659472576?l=ipapers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/4542744369659472576/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5127970400383396750&amp;postID=4542744369659472576' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/4542744369659472576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/4542744369659472576'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/2009/06/installing-google-chrome-in-slackware.html' title='Installing Google Chrome in Slackware 12.1.0'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5127970400383396750.post-1602589653215746363</id><published>2009-06-25T09:09:00.004-04:00</published><updated>2009-06-25T09:27:12.439-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='slackware'/><category scheme='http://www.blogger.com/atom/ns#' term='chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='navegador'/><title type='text'>Instalar Google Chrome en Slackware 12.1.0</title><content type='html'>La instalación se hizo usando el siguiente paquete para Debian:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;google-chrome-unstable_3.0.187.0-r18043_i386.deb&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No descarto que otras versiones puedan funcionar, pero personalmente no lo he probado.&lt;br /&gt;&lt;br /&gt;Abrir el paquete y copiar solamente la carpeta "google", yo la copie a /opt.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Crear los siguientes symbolic links en /usr/lib:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;libnspr4.so.0d -&gt; /usr/lib/firefox-3.0.8/libnspr4.so&lt;br /&gt;libnss3.so.1d -&gt; /usr/lib/firefox-3.0.8/libnss3.so&lt;br /&gt;libnssutil3.so.1d -&gt; /usr/lib/firefox-3.0.8/libnssutil3.so&lt;br /&gt;libplc4.so.0d -&gt; /usr/lib/firefox-3.0.8/libplc4.so&lt;br /&gt;libplds4.so.0d -&gt; /usr/lib/firefox-3.0.8/libplds4.so&lt;br /&gt;libsmime3.so.1d -&gt; /usr/lib/firefox-3.0.8/libsmime3.so&lt;br /&gt;libssl3.so.1d -&gt; /usr/lib/firefox-3.0.8/libssl3.so&lt;br /&gt;&lt;br /&gt;También se pueden usar las librerías del Thunderbird o Seamonkey en vez del Firefox; o pueden buscar en donde tienen esos archivos y crear los links.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Actualizar los siguientes paquetes, entre paréntesis las versiones con las que yo he probado exitosamente:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;pango (1.22.4)&lt;br /&gt;cairo (1.8.6)&lt;br /&gt;pixman (0.15.10)&lt;br /&gt;&lt;br /&gt;Y bueno, con eso bastaría ejecutar /opt/google/chrome/chrome y empezar a navegar!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5127970400383396750-1602589653215746363?l=ipapers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/1602589653215746363/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5127970400383396750&amp;postID=1602589653215746363' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/1602589653215746363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/1602589653215746363'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/2009/06/instalar-google-chrome-en-slackware.html' title='Instalar Google Chrome en Slackware 12.1.0'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5127970400383396750.post-9018338051328678715</id><published>2008-09-16T16:26:00.003-04:00</published><updated>2008-09-16T16:40:59.156-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dinero'/><category scheme='http://www.blogger.com/atom/ns#' term='ganar plata'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='millonario'/><title type='text'>Hacer dinero con las páginas web, funciona ?</title><content type='html'>Un tiempo atrás Internet para el usuario común representaba únicamente un gasto. Hoy día las cosas han cambiado y es posible generar ingresos a través de la red.&lt;br /&gt;&lt;br /&gt;Si bien es cierto que no existe forma de hacerse millonario del dia a la noche, con un minimo esfuerzo se puede ganar dinero gracias a Internet. &lt;br /&gt;&lt;br /&gt;Existen cientos de páginas que nos prometen hacer millones de doláres con sólo suscribirnos a sus servicios, incluso algunas nos garantizan ganar sumas exhorbitantes si compramos su "kit" para ser rico. Gente, no crean en estos sitios. Lastimosamente en la matoría de los casos ellos serán los unicos que se haran ricos gracias a nuestra ingenuidad.&lt;br /&gt;&lt;br /&gt;Pero no todo es malo ni mentira en el mundo cibernético, existen formas de obtener buenos ingresos y en éste articulo hablaremos de algunos de ellos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Opcion 1 - Publicar anuncios en la Web&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Si disponemos de un blog, pagina web o similar es la mejor alternativa. Se trata de insertar anuncios publicitarios y generar ingresos con los clicks que los usuarios hacen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Google Adsense&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sin duda uno de los servicios más populares de esta gran empresa. Consiste en publicar anuncios relevantes a nuestro contenido. La teoría es que si uno está leyendo una pagina sobre (por ejemplo) caballos arabes le interesarán los anuncios sobre dicho tema y por lo tanto tiene más posiblidades de hacer click en ellos.&lt;br /&gt;&lt;br /&gt;Google Adsense funciona ? La respuesta es: SI, funciona. Cuando se puede ganar ? Esto depende de varios factores, por ejemplo la cantidad de clicks, la calidad del sitio, el tema tratado, etc. Es de público conocimiento que Google paga más o menos por click de acuerdo al tema; es decir un tema (o rubro) con gran mercado como ser "juegos online" pagará menos por click que un rubro orientado a un mercado mucho mas específico, como seria "insumos para coleccionistas de cajetillas de cigarrillos producidas entre 1950 y 1970".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Como paga Adsense&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cuando llegamos a 100.00 USD Google nos pagará por cheque, transferencia bancaria o western union; dependiendo del país de donde seamos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Otros&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Existen otras alternativas a Google Adsense, que utilizan el mismo concepto e incluso presentan algunas ventajas:&lt;br /&gt;&lt;br /&gt;Un ejemplo es &lt;a href="http://www.bidvertiser.com/bdv/bidvertiser/bdv_ref.dbm?Affiliate_ID=25&amp;Ref_Option=pub&amp;Ref_PID=157587"&gt;BidVertiser&lt;/a&gt;, la ventaja es que paga cuando el balance llega a 10.00 USD y lo hace por PayPal. El servicio se configura en unos minutos y esta comprobado que funciona.&lt;br /&gt;&lt;br /&gt;Ver la pagina de &lt;a href="http://www.bidvertiser.com/bdv/bidvertiser/bdv_ref.dbm?Affiliate_ID=25&amp;Ref_Option=pub&amp;Ref_PID=157587"&gt;BidVertiser&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5127970400383396750-9018338051328678715?l=ipapers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/9018338051328678715/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5127970400383396750&amp;postID=9018338051328678715' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/9018338051328678715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/9018338051328678715'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/2008/09/hacer-dinero-con-las-pginas-web.html' title='Hacer dinero con las páginas web, funciona ?'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5127970400383396750.post-1660369500812106771</id><published>2008-08-20T08:00:00.004-04:00</published><updated>2008-08-20T09:18:57.190-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='submit'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='tecla enter'/><category scheme='http://www.blogger.com/atom/ns#' term='formulario'/><title type='text'>Deshabilitar tecla ENTER en formulario Web</title><content type='html'>&lt;p style="font-family: trebuchet ms;"&gt;Normalmente cuando tenemos un formulario con varios Texboxes no queremos que los datos se procesen al presionar la tecla ENTER, muchos usuarios suelen apretarla en vez de la tecla TAB para ir al siguiente campo.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:trebuchet ms;"&gt;Para solucionar este problema podemos agregar el siguiente código dentro del HEAD de nuestra página.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;lt;script type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#808080;"&gt;"text/javascript"&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;function &lt;/span&gt;&lt;span style="color:black;"&gt;noENTER(evt)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;&lt;span style="color:black;"&gt;evt &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:black;"&gt;(evt) ? evt : ((&lt;/span&gt;&lt;span style="color:blue;"&gt;event&lt;/span&gt;&lt;span style="color:black;"&gt;) ? &lt;/span&gt;&lt;span style="color:blue;"&gt;event &lt;/span&gt;&lt;span style="color:black;"&gt;: &lt;/span&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:blue;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; var &lt;/span&gt;&lt;span style="color:black;"&gt;node &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:black;"&gt;(evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : &lt;/span&gt;&lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:blue;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; if &lt;/span&gt;&lt;span style="color:black;"&gt;((evt.keyCode &lt;/span&gt;&lt;span style="color:blue;"&gt;== &lt;/span&gt;&lt;span style="color:maroon;"&gt;13&lt;/span&gt;&lt;span style="color:black;"&gt;) &amp;amp;&amp;amp; (node.type&lt;/span&gt;&lt;span style="color:blue;"&gt;==&lt;/span&gt;&lt;span style="color:#808080;"&gt;"text"&lt;/span&gt;&lt;span style="color:black;"&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:black;"&gt;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;document&lt;/span&gt;&lt;span style="color:black;"&gt;.onkeypress &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:black;"&gt;noENTER&lt;/span&gt;&lt;span style="color:blue;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/code&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/5127970400383396750-1660369500812106771?l=ipapers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/1660369500812106771/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5127970400383396750&amp;postID=1660369500812106771' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/1660369500812106771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/1660369500812106771'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/2008/08/deshabilitar-tecla-enter-en-formulario.html' title='Deshabilitar tecla ENTER en formulario Web'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5127970400383396750.post-5610683616102980163</id><published>2008-08-14T08:28:00.003-04:00</published><updated>2008-08-14T08:43:17.072-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ntfs'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='español'/><category scheme='http://www.blogger.com/atom/ns#' term='acentos'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='ntfs-3g'/><category scheme='http://www.blogger.com/atom/ns#' term='configuración regional'/><title type='text'>Acentos y ntfs-3g</title><content type='html'>Un aspecto interesante del Linux hoy día es que tenemos la capacidad de leer y escribir en particiones NTFS (generalmente utilizado por sistemas Windows).&lt;br /&gt;Bueno resulta que el otro día estaba buscando una foto para utilizarla como fondo de escritorio y necesitaba acceder a mi vieja partición Windows.&lt;br /&gt;Como soy aficionado a la fotografía tenía varias imágenes en la carpeta "Mis Imágenes" y quise escoger un archivo de allí. Me empecé a preocupar cuando no pude encontrar la carpeta en cuestión. Probe con el Thunar, Konqueror, con la consola, nada!&lt;br /&gt;&lt;br /&gt;Bien, resulta que al tener la configuración regional del linux en inglés por algún motivo se omiten los archivos con acentos y eñes.&lt;br /&gt;&lt;br /&gt;La solución es montar la partición de Windows con la opción "nls=es_PY" o es_LOQUESEA, según el país de donde seamos.&lt;br /&gt;&lt;br /&gt;Con este parámetro podemos ver todos los archivos con acentos y eñes. Como por ejemplo "Mis Imágenes", "Mi música", etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5127970400383396750-5610683616102980163?l=ipapers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/5610683616102980163/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5127970400383396750&amp;postID=5610683616102980163' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/5610683616102980163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/5610683616102980163'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/2008/08/acentos-y-ntfs-3g.html' title='Acentos y ntfs-3g'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5127970400383396750.post-4514913032825430003</id><published>2008-07-21T13:48:00.001-04:00</published><updated>2008-07-21T14:14:35.067-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jscalendar'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='programacion'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Como usar JSCalendar con .NET</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;Para poder usar correcta y efectivamente el &lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://sourceforge.net/projects/jscalendar"&gt;JSCalendar&lt;/a&gt;&lt;span style="font-family:trebuchet ms;"&gt; con &lt;a href="http://www.microsoft.com/NET/"&gt;.NET&lt;/a&gt; lo mejor es crear una función que inserte el código al cargar la página. A continuación mi ejemplo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: courier new;"&gt;protected void cargarJS()&lt;br /&gt;  {&lt;br /&gt;      String jsCalconfig;&lt;br /&gt;&lt;br /&gt;      ClientScript.RegisterClientScriptInclude("js1", "../js/jscalendar/calendar.js");&lt;br /&gt;      ClientScript.RegisterClientScriptInclude("js2", "../js/jscalendar/lang/calendar-es.js");&lt;br /&gt;      ClientScript.RegisterClientScriptInclude("js3", "../js/jscalendar/calendar-setup.js");&lt;br /&gt;&lt;br /&gt;      jsCalconfig = "Calendar.setup \n";&lt;br /&gt;      jsCalconfig += "( \n";&lt;br /&gt;      jsCalconfig += "  { \n";&lt;br /&gt;      jsCalconfig += "    inputField: '" + txtCumple.ClientID + "', \n";&lt;br /&gt;      jsCalconfig += "    ifFormat: '%Y%m%d', \n";&lt;br /&gt;      jsCalconfig += "    firstDay: 1, \n";&lt;br /&gt;      jsCalconfig += "    weekNumbers: false, \n";&lt;br /&gt;      jsCalconfig += "    showOthers: false \n";&lt;br /&gt;      jsCalconfig += "  } \n";&lt;br /&gt;      jsCalconfig += "); \n\n";&lt;br /&gt;&lt;br /&gt;      ClientScript.RegisterStartupScript(this.GetType(), "CalendarioJS2", jsCalconfig, true);&lt;br /&gt;  }&lt;/pre&gt;&lt;span style="font-family:trebuchet ms;"&gt;Nótese que utilizo&lt;/span&gt;&lt;span style="font-style: italic;font-family:trebuchet ms;" &gt; &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;ClientScript.&lt;/span&gt;&lt;wbr  style="font-family:courier new;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-family:courier new;"&gt;RegisterStartupScript&lt;/span&gt; y no &lt;span style="font-family:courier new;"&gt;ClientScript.&lt;/span&gt;&lt;wbr  style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;RegisterClientScriptBlock&lt;/span&gt;  porque el primero inserta el script al &lt;/span&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;final&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;  del form y el segundo al  &lt;/span&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;comienzo&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;  (antes del input).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Para definir el control con el que se relacionará el calendario usamos la propiedad &lt;span style="font-family:courier new;"&gt;.ClientID&lt;/span&gt;, de este modo nos aseguramos de que mantenda el nombre en todo momento; ya que cuando se utilizan Master Pages los IDs de los controles se cambian al compilar el formulario.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Como el JSCalendar utiliza una hoja de estilos aparte debemos agregarla al header de nuestra página web, pero que pasa si utilizamos Master Pages ? Bien, acá esta la solución:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;HtmlLink link1 = new HtmlLink();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;link1.Href = "js/jscalendar/calendar-blue.css";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;link1.Attributes["rel"] = "stylesheet";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;link1.Attributes["text"] = "text/css";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-family:courier new;"&gt;this.Header.Controls.Add (link1);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ejecutando esto en el Page_Load lo que hacemos es agregar el enlace a la hoja de estilos en nuestro encabezado. Dinámicamente, y sólo en las páginas que así lo requieran.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5127970400383396750-4514913032825430003?l=ipapers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/4514913032825430003/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5127970400383396750&amp;postID=4514913032825430003' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/4514913032825430003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/4514913032825430003'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/2008/07/como-usar-jscalendar-con-net.html' title='Como usar JSCalendar con .NET'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5127970400383396750.post-2501666795550951489</id><published>2008-07-19T12:32:00.000-04:00</published><updated>2008-07-19T13:16:11.224-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='index'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='tables'/><title type='text'>La importancia de los índices en MySQL</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;Los índices en una base de datos se usan para encontrar filas con valores específicos en ciertas columnas rápidamente. Si no tenemos un índice, el servidor tiene que buscar desde el primer registro hasta el último, recorriendo toda la tabla para encontrar las filas que necesitamos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Cuanto más grande la tabla, más tarda. Si tenemos un índice para la columna que estamos consultando (en where columna=algo) el &lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt;&lt;span style="font-family:trebuchet ms;"&gt; puede encontrar el registro rápidamente sin tener que recorrer toda la tabla.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Veamos un ejemplo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Tengo esta tabla de Ventas, con la sgte. estructura:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;+----------+----------------------+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;| sucursal | smallint(5) unsigned |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;| fecha&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;| producto | int(10) unsigned &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;| precio &amp;nbsp;&amp;nbsp;| decimal(10,3) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;| vtadia &amp;nbsp;&amp;nbsp;| decimal(10,3) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;+----------+----------------------+&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La tabla tiene unos 350.000 registros, y quiero sacar unas estadísticas de ventas de un cierto período para una sucursal en particular. El proceso que debo utilizar requiere que ejecute unas 200 consultas, dependiendo del período y de la sucursal.&lt;br /&gt;&lt;br /&gt;Este fue el resultado &lt;span style="font-weight: bold;"&gt;antes&lt;/span&gt; de crear el índice:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Sucursal 1 - Enero 2008&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Inicio: 2008-07-19 11:22:38&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Fin: 2008-07-19 11:25:15&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;218 consultas enviadas a MySQL Server.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Ahora vamos a crear un indice para la columna producto (que es la base de mis estadísticas):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mysql&gt; create index idx_vtadia_prod on vta_del_dia (producto);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Y este es el nuevo resultado:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;Sucursal 1 - Enero 2008&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Inicio: 2008-07-19 11:44:48&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Fin: 2008-07-19 11:44:51&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;218 consultas enviadas a MySQL Server.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Interesante no ?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5127970400383396750-2501666795550951489?l=ipapers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipapers.blogspot.com/feeds/2501666795550951489/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5127970400383396750&amp;postID=2501666795550951489' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/2501666795550951489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5127970400383396750/posts/default/2501666795550951489'/><link rel='alternate' type='text/html' href='http://ipapers.blogspot.com/2008/07/la-importancia-de-los-ndices-en-mysql.html' title='La importancia de los índices en MySQL'/><author><name>Herr Hund</name><uri>http://www.blogger.com/profile/11355182124056063996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
