<?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-3305350710615317946</id><updated>2011-08-09T06:55:40.734-06:00</updated><category term='Handshake'/><category term='WebService'/><category term='XP'/><category term='resolve hostname'/><category term='ping'/><category term='DBMS_PROFILER'/><category term='initialHeapSize'/><category term='Ubuntu 9.10'/><category term='Deshabilitar ipv6'/><category term='pool de conexiones'/><category term='crear repositorio cvs'/><category term='ip'/><category term='ORA-04030'/><category term='Noticias'/><category term='websphere'/><category term='load balance'/><category term='WSWS3549E'/><category term='SAXException'/><category term='grub2'/><category term='mod_proxy_balancer'/><category term='Bloqueo de Blogs en Guatemala'/><category term='sga_max_size'/><category term='Utilitarios'/><category term='Rational Web Developer'/><category term='nombre'/><category term='oracle 10g'/><category term='Contains'/><category term='was 6.1'/><category term='XSLT'/><category term='WSWS3047E'/><category term='Maestos del Web'/><category term='Fiasco awards'/><category term='optimización'/><category term='CertificateException'/><category term='ora-27102'/><category term='Soundex'/><category term='Java'/><category term='Fuzzy'/><category term='mantis'/><category term='Ubuntu 9.10 - ThunderBird windows'/><category term='oradim'/><category term='JScreenFix'/><category term='Connection reset'/><category term='pixeles atascados LCD'/><category term='ssl'/><category term='filesize php mysql'/><category term='Chiste'/><category term='Guatemala internet tigo movil dns firewall'/><category term='tcpmon'/><category term='Second Life'/><title type='text'>My Geek Place</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>mygeekplace</name><uri>http://www.blogger.com/profile/03073871124502471855</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>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-9091741662199800951</id><published>2010-09-13T07:34:00.003-06:00</published><updated>2010-09-13T07:39:26.327-06:00</updated><title type='text'>Día del programador</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Feliz día del programador!!&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_nt6c3XlwGIs/TI4pdks9eVI/AAAAAAAAAbE/zrw-NTcJJYs/s320/PD_Logo_Spanish.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 160px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5516392181620635986" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hoy se celebra el día 256 del año que es el día del programador... felicidades a todos mis compañeros.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este día todavía no es oficial pero si insistimos cada año en celebrarlo podemos institucionalizarlo para hacer notar la importancia de nuestro trabajo en la forma en que el mundo se desenvuelve diariamente.- &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.programmerday.info/index.html"&gt;http://www.programmerday.info/index.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://en.wikipedia.org/wiki/Programmers'_Day"&gt;http://en.wikipedia.org/wiki/Programmers'_Day&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;saludos!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-9091741662199800951?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/9091741662199800951/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2010/09/dia-del-programador.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/9091741662199800951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/9091741662199800951'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2010/09/dia-del-programador.html' title='Día del programador'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nt6c3XlwGIs/TI4pdks9eVI/AAAAAAAAAbE/zrw-NTcJJYs/s72-c/PD_Logo_Spanish.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-7794619184762432702</id><published>2010-03-16T07:47:00.005-06:00</published><updated>2010-03-16T07:55:23.272-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mantis'/><category scheme='http://www.blogger.com/atom/ns#' term='filesize php mysql'/><title type='text'>Configurar tamaño de archivo de mantisbt</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;Necesitaba poder subir archivos grandes como adjuntos en &lt;a href="http://www.mantisbt.org/"&gt;mantisbt&lt;/a&gt;, es un tema realmente básico pero que implico cambiar todas las capas de archivos de configuracion: aplicacion, base de datos, php.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;El error que recibía era:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Allowed memory size of 8388608 bytes exhausted&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;APPLICATION ERROR #401&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Fueron varios temas los que tuve que cambiar:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;php.ini&lt;br /&gt;  memory_limit = 32M   &lt;br /&gt;  upload_max_filesize = 8M&lt;br /&gt;&lt;br /&gt;config.inc de mantis:&lt;br /&gt;  $g_max_file_size        = 8388608; # 8 MB&lt;br /&gt;&lt;br /&gt;mysql:&lt;br /&gt;  max_allowed_packet = 16M&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-7794619184762432702?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/7794619184762432702/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2010/03/confiugrar-tamano-de-archivo-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7794619184762432702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7794619184762432702'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2010/03/confiugrar-tamano-de-archivo-de.html' title='Configurar tamaño de archivo de mantisbt'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-4961688674775407918</id><published>2010-03-14T17:57:00.002-06:00</published><updated>2010-03-14T17:58:00.653-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu 9.10'/><category scheme='http://www.blogger.com/atom/ns#' term='grub2'/><title type='text'>Orden de Arranque en GRUB2 (ubuntu 9.10)</title><content type='html'>Para cambiar el orden de arranque de linux ubuntu 9.10:&lt;br /&gt;ubuntu 9.10 usa el grub2 en lugar de grub, eso me hizo perder algun tiempo leyendo en internet.&lt;br /&gt;&lt;br /&gt;1. ver que tiene el archivo grub.cfg usando&lt;br /&gt;     cat /boot/grub/grub.cfg&lt;br /&gt;&lt;br /&gt;2. se busca cual es la opcion que queremos que arranque primero, en mi caso quiero que arranque windows en lugar de linux. Mi windows esta en el orden 8.&lt;br /&gt;&lt;br /&gt;3. modificar el default del archivo /etc/default/grub desde el gedit:&lt;br /&gt;    sudo gedit  /etc/default/grub&lt;br /&gt;   &lt;br /&gt;4. cambio la linea y grabo&lt;br /&gt;    GRUB_DEFAULT=8&lt;br /&gt;&lt;br /&gt;5. actualizo los cambios&lt;br /&gt;    sudo update-grub&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;sudo update-grub&lt;br /&gt;Generating grub.cfg ...&lt;br /&gt;Found linux image: /boot/vmlinuz-2.6.31-20-generic&lt;br /&gt;Found initrd image: /boot/initrd.img-2.6.31-20-generic&lt;br /&gt;Found linux image: /boot/vmlinuz-2.6.31-16-generic&lt;br /&gt;Found initrd image: /boot/initrd.img-2.6.31-16-generic&lt;br /&gt;Found linux image: /boot/vmlinuz-2.6.31-14-generic&lt;br /&gt;Found initrd image: /boot/initrd.img-2.6.31-14-generic&lt;br /&gt;Found memtest86+ image: /boot/memtest86+.bin&lt;br /&gt;Found Windows 7 (loader) on /dev/sda1&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;reiniciar.-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-4961688674775407918?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/4961688674775407918/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2010/03/orden-de-arranque-en-grub2-ubuntu-910.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/4961688674775407918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/4961688674775407918'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2010/03/orden-de-arranque-en-grub2-ubuntu-910.html' title='Orden de Arranque en GRUB2 (ubuntu 9.10)'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-7550531575660275271</id><published>2009-11-17T18:01:00.004-06:00</published><updated>2009-11-17T18:20:03.064-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu 9.10 - ThunderBird windows'/><title type='text'>Ubuntu 9.10 - Compartir ThunderBird con windows</title><content type='html'>Bueno, acabo de formatear mi maquina y ando con la intensión de poner ubuntu.&lt;br /&gt;&lt;br /&gt;¿porque?&lt;br /&gt;&lt;br /&gt;porque me gusta y porque es algo que quería hacer desde hace tiempo. Al final de cuenta, soy un poco geek.&lt;br /&gt;&lt;br /&gt;Espero poder hacerlo, mientras logro acostumbrarme y configurar todo tengo mi computadora con 2 particiones, una en Windows 7 y otra con Ubuntu 9.10&lt;br /&gt;&lt;br /&gt;Lo primero y lo principal para mí es tener mi correo funcionando. Hace algun tiempo que uso thunderbird en windows y me va bien.&lt;br /&gt;&lt;br /&gt;En algun momento algun compañero me comento que tenia el thunderbird en windows y linux compartiendo los archivos.&lt;br /&gt;&lt;br /&gt;Esa fue mi primer misión: Poder usar mi correo en thunderbird desde linux y windows en un solo repositorio (pst dirían los que usan outlook).&lt;br /&gt;&lt;br /&gt;0. Saqué un backup de la carpeta donde estaban mis archivos de thunderbid (c:/user/USUARIO/appData/../thunderbird/profiles/perfil.perfil&lt;br /&gt;&lt;br /&gt;1: hice la particion de windows e instale. Deje el resto de disco sin particionar.&lt;br /&gt;&lt;br /&gt;2: instale ubuntu y cree la segunda particion para el sistema operativo (la de swp tambien).&lt;br /&gt;&lt;br /&gt;3. cree una particion adicional en ntfs con el resto de mi disco. desde windows.&lt;br /&gt;&lt;br /&gt;4. copie mi backup del perfil en la carpeta de la unidad adicional.&lt;br /&gt;&lt;br /&gt;5. cambié el archivo c:/user/USUARIO/appData/../thunderbird/profiles.ini con esto:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[Profile0]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Name=default&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;IsRelative=0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Path=d:/Perfil&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Default=1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. levante el thunderbird desde windows y funcionaba calidad.&lt;br /&gt;&lt;br /&gt;7. cambie el fstab para que en linux siempre monte automaticamente la particion compartida. agregué esta linea:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/dev/sda4    /media/Datos    ntfs users,defaults,umask=000       0       0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;8. instale el thunderbird desde el Synaptic&lt;br /&gt;&lt;br /&gt;9. modifique el archivo /home/USUARIO/.mozilla-thunderbird/profiles.ini con lo mismo que puse en windows pero con la carpeta montada /media/Datos/Perfil&lt;br /&gt;&lt;br /&gt;10. Arranque thunderbird y todo nitido.&lt;br /&gt;&lt;br /&gt;Ahora puedo cambiarme linux windows sin perder los correos que voy trabajando.&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-7550531575660275271?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/7550531575660275271/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/11/ubuntu-910-compartir-thunderbird-con.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7550531575660275271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7550531575660275271'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/11/ubuntu-910-compartir-thunderbird-con.html' title='Ubuntu 9.10 - Compartir ThunderBird con windows'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-5922333987956833032</id><published>2009-10-15T09:19:00.002-06:00</published><updated>2009-10-15T09:21:45.921-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crear repositorio cvs'/><title type='text'>Micro Howto para crear un repositorio cvs.</title><content type='html'>#crear un repositorio&lt;br /&gt;mkdir /cvs/nombre&lt;br /&gt;cvs –d /cvs/nombre init&lt;br /&gt;chmod 655 /cvs/nombre -R&lt;br /&gt;chown cvs:cvs /cvs/nombre -R&lt;br /&gt;&lt;br /&gt;donde cvs:cvs es el usuario y role creados para manejar el cvs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-5922333987956833032?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/5922333987956833032/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/10/micro-howto-para-crear-un-repositorio.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/5922333987956833032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/5922333987956833032'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/10/micro-howto-para-crear-un-repositorio.html' title='Micro Howto para crear un repositorio cvs.'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-4991176798947762909</id><published>2009-10-01T15:21:00.005-06:00</published><updated>2009-10-01T15:24:47.412-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deshabilitar ipv6'/><title type='text'>Quitar Tunnel Adapter Local Area Connection* 9  en windows 7. (deshabilitar ipv6)</title><content type='html'>Desde que instale windows 7 en mi maquina, al darle ipconfig me empezaron a salir algunas conexiones "raras".&lt;br /&gt;&lt;br /&gt;Tunnel Adapter Local Area Connection* 9&lt;br /&gt;Tunnel Adapter Local Area Connection* 10&lt;br /&gt;Tunnel Adapter Local Area Connection* 11&lt;br /&gt;etc...-&lt;br /&gt;&lt;br /&gt;Realmente muy molestas porque no me dejaban ver la información de la red. Igual cuando daba un route print.&lt;br /&gt;&lt;br /&gt;Encontre que el problema es porque el windows 7 trae por default el ipv6 configurado. Se que es el futuro del ip y que algun día portaremos a eso, pero hoy no lo necesito.&lt;br /&gt;&lt;br /&gt;Encontre como quitarlo en el siguiente link:&lt;br /&gt;&lt;a href="http://www.lboro.ac.uk/it/vista/ipv6.html"&gt;http://www.lboro.ac.uk/it/vista/ipv6.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-4991176798947762909?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/4991176798947762909/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/10/quitar-tunnel-adapter-local-area.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/4991176798947762909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/4991176798947762909'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/10/quitar-tunnel-adapter-local-area.html' title='Quitar Tunnel Adapter Local Area Connection* 9  en windows 7. (deshabilitar ipv6)'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-8856023696758198461</id><published>2009-09-24T16:32:00.000-06:00</published><updated>2009-09-24T16:33:30.483-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><category scheme='http://www.blogger.com/atom/ns#' term='mod_proxy_balancer'/><category scheme='http://www.blogger.com/atom/ns#' term='was 6.1'/><category scheme='http://www.blogger.com/atom/ns#' term='load balance'/><title type='text'>Balanceo de Carga para dos websphere application server 6.1 usando mod_proxy_balancer</title><content type='html'>&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;Hace varios días que vengo trabajando en un problema que me ha quitado el sueño y la tranquilidad.&lt;br /&gt;&lt;br /&gt;Hace como mes y medio empece a leer sobre el tema de balanceo de carga desde Apache usando el mod_proxy_balancer.&lt;br /&gt;&lt;br /&gt;&lt;a send="true" class="moz-txt-link-freetext" href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html"&gt;http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Desde las guías todo parecía sencillo. Sinceramente no estaba muy claro de las modificaciones que se estaban planteando, pero para variar, empece a probar sin terminar de leer la documentación :p&lt;br /&gt;&lt;br /&gt;Hice unas pruebas y asumi que todo estaba funcionando bien. El tema se quedó dormido durante algún tiempo, pero luego tuve que retomarlo desafortunadamente con las fechas ya bastante apretadas.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;a send="true" class="moz-txt-link-freetext" href="http://www.howtoforge.com/load_balancing_apache_mod_proxy_balancer"&gt;http://www.howtoforge.com/load_balancing_apache_mod_proxy_balancer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Me pareció excelente que se pudiera tener no solamente el balanceo de carga sino la tolerancia a fallos. De manera que si un server se caía, podía seguir operando con el otro server.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;-- la version 1 de mi httpd.conf&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;blockquote&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;&lt;b&gt;LoadModule proxy_balancer_module modules/mod_proxy_balancer.so&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;ProxyRequests Off&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;&amp;lt;Proxy *&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;  Order deny,allow&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;  Allow from all&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;&amp;lt;/Proxy&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;ProxyPass /balancer-manager !&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;ProxyPass / balancer://clusterWAS/ stickysession=BALANCEID nofailover=On&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;ProxyPassReverse / &lt;a send="true" class="moz-txt-link-freetext" href="http://192.168.15.124:9080/"&gt;http://192.168.15.124:9080/&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;ProxyPassReverse / &lt;a send="true" class="moz-txt-link-freetext" href="http://192.168.15.127:9080/"&gt;http://192.168.15.127:9080/&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;&amp;lt;Proxy balancer://clusterWAS&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;  BalancerMember &lt;a send="true" class="moz-txt-link-freetext" href="http://192.168.15.124:9080/"&gt;http://192.168.15.124:9080&lt;/a&gt; route=http1&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;  BalancerMember &lt;a send="true" class="moz-txt-link-freetext" href="http://192.168.15.127:9080/"&gt;http://192.168.15.127:9080&lt;/a&gt; route=http2&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;  ProxySet lbmethod=byrequests&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;&amp;lt;/Proxy&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;&amp;lt;Location /balancer-manager&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;  SetHandler balancer-manager&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;  Order deny,allow&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;  Allow from all&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial Narrow;"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt; &lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;Hice unas pruebas y asumi que todo estaba funcionando. Pero desafortunamente en ese momento no puse mucha importancia al tema de la sesion.&lt;br /&gt;&lt;br /&gt;Al tener mi servidor balanceando carga entre los 2 nodos, la mitad de los requerimientos va a un server y la otra mitad al otro.  Pero... si entro a mi aplicacion y me firmo. Esto se guarda en una variable de sesion. Y balanceando la carga se pierde.... :(&lt;br /&gt;&lt;br /&gt;Es decir..&lt;br /&gt;  Pinto pantalla de login (Nodo1)&lt;br /&gt;  Recibo parametros de login valido y guardo variables de sesion(nodo2)&lt;br /&gt;  Reenvio a pantalla de inicio (Nodo1)&lt;br /&gt;&lt;br /&gt;  El problema es que en el nodo1, nunca guarde variables asi que asume que no esta firmado y vuelve a pedir la clave.&lt;br /&gt;&lt;br /&gt;Lei un poco sobre el tema y hablaba del stickysession.&lt;br /&gt;&lt;br /&gt;Ahora que ya entendí les cuento que la famosa stickyession es una cookie con un id de session. Que tiene 2 partes. La session y el route.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Cookie&lt;code class=""&gt;JSESSIONID=00009jrrrDW78YKKVP6BTuDqqFg.-1&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;Esto lo pude ver gracias al pluggin firebug de firefox. Que en la pestaña de red muestra los paquetes enviados.&lt;br /&gt;&lt;br /&gt;No obstante no lograba que funcionara en mi esquema.&lt;br /&gt;&lt;br /&gt;Yo tengo 2 nodos con Websphere Application Server 6.1. Los 2 tienen la aplicacion instalada y funcionando.&lt;br /&gt;&lt;br /&gt;Luego de buscar bastante y hacer bastantes pruebas encontré que la cookie de session se envía diferente en websphere que en tomcat. Y que el apache no la entendía.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Cookie&lt;code class=""&gt;JSESSIONID=00009jrrrDW78YKKVP6BTuDqqFg:-1&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;La diferencia es el ":" en lugar del ".".&lt;br /&gt;&lt;br /&gt;&lt;a class="moz-txt-link-freetext" href="https://issues.apache.org/bugzilla/show_bug.cgi?id=42513"&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=42513&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No hay un parque para esto en los releases.&lt;br /&gt;&lt;br /&gt;Tuve que recompilar el apache para inlcuir la modificación en el modulo. (esto será un post aparte).&lt;br /&gt;El truco no era la recompilada de apache, el truco era, la recompilada en Windows de apache :S&lt;br /&gt;&lt;br /&gt;Bueno... luego de recompilado el apache con la recomendación que dan en el bug. Logre que la cookie tuviera el formato adecuado... pero... aun así no funcionaba!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Cookie&lt;code class=""&gt;JSESSIONID=00009jrrrDW78YKKVP6BTuDqqFg.-1&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;Fue luego de esto cuando comprendí que el problema es que el -1 que estaba mostrando  debía ser el nombre del nodo.&lt;br /&gt;&lt;br /&gt;En algunos post, encontre que este valor es llamado route. y se configuraba en los tomcat como jvmrouteid. En websphere no encontraba nada por el estilo.&lt;br /&gt;&lt;br /&gt;Un poco de suerte me llevo a una url donde se miraba el debug de una traza en websphere con balanceo de carga y hablaba de un Clone ID ... &lt;a class="moz-txt-link-freetext" href="http://www-01.ibm.com/support/docview.wss?uid=swg27014498&amp;amp;aid=1"&gt;http://www-01.ibm.com/support/docview.wss?uid=swg27014498&amp;amp;aid=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Buscando en la documentación encontre como configurarlo y funcionó.&lt;br /&gt;&lt;br /&gt;&lt;a class="moz-txt-link-freetext" href="http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/rprs_custom_properties.html"&gt;http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/rprs_custom_properties.html&lt;/a&gt;&lt;br /&gt;Application servers &amp;gt; server1 &amp;gt; Web container &amp;gt; Custom Properties&lt;br /&gt;&lt;br /&gt;Para el nodo uno le puse un cloneid de "nodo1" y al otro "nodo2".&lt;br /&gt;&lt;br /&gt;Ahora sí. Mis cookies quedaban de la siguiente forma:&lt;br /&gt;para el nodo1:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;code class=""&gt;JSESSIONID=0000gQCnyQMY94sb5oVXZsLU0lR:nodo1&lt;/code&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;para el nodo2:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;code class=""&gt;JSESSIONID=0000gQCnyQMY94sb5oVXZsLU0lR:nodo2&lt;/code&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;Con mi apache recompilado y con mis cookies en buen estado procedí a realizar las configuraciones que me hacían falta en el apache.&lt;br /&gt;&lt;br /&gt;Primero habilité los módulos necesarios:&lt;br /&gt;&lt;b&gt;&lt;i&gt;LoadModule proxy_module modules/mod_proxy.so&lt;br /&gt;LoadModule proxy_balancer_module modules/mod_proxy_balancer.so&lt;br /&gt;LoadModule proxy_http_module modules/mod_proxy_http.so&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;Luego algunos parámetros generales de la configuracion:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ProxyRequests Off&lt;br /&gt;&amp;lt;Proxy *&amp;gt;&lt;br /&gt;Order deny,allow&lt;br /&gt;Allow from all&lt;br /&gt;&amp;lt;/Proxy&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Configuré el balance con mis 2 nodos:&lt;br /&gt;&lt;b&gt;&lt;i&gt;&amp;lt;Proxy balancer://clusterPerfilUno&amp;gt;&lt;br /&gt;BalancerMember &lt;a class="moz-txt-link-freetext" href="http://192.168.15.121:9080/"&gt;http://192.168.15.121:9080&lt;/a&gt; route=nodo1&lt;br /&gt;BalancerMember &lt;a class="moz-txt-link-freetext" href="http://192.168.15.123:9080/"&gt;http://192.168.15.123:9080&lt;/a&gt; route=nodo2&lt;br /&gt;ProxySet lbmethod=byrequests&lt;br /&gt;&amp;lt;/Proxy&amp;gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;donde dice "route=nodo1" es el nombre que haya puesto al cloneid en mi WAS. Luego hago el proxypass en mi aplicacion hacia el balanceo.&lt;br /&gt;La stickysession la hago sobre la cookie que logre setear. Y seteo el reverse para el regreso de las conexiones.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;lt;Location /app&amp;gt;&lt;br /&gt;  Order allow,deny&lt;br /&gt;  Allow from all&lt;br /&gt;  ProxyPass balancer://clusterPerfilUno/app stickysession=JSESSIONID nofailover=On&lt;br /&gt;  ProxyPassReverse &lt;a class="moz-txt-link-freetext" href="http://192.168.15.121:9080/app"&gt;http://192.168.15.121:9080/app&lt;/a&gt;&lt;br /&gt;  ProxyPassReverse &lt;a class="moz-txt-link-freetext" href="http://192.168.15.123:9080/app"&gt;http://192.168.15.123:9080/app&lt;/a&gt;&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;Puse el loglevel en debug para rastrear posibles errores y me sale algo asi:&lt;br /&gt;[Wed Sep 16 16:16:57 2009] [debug] mod_proxy_balancer.c(46): proxy: BALANCER: canonicalising URL //&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;clusterPerfilUno&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;/app&lt;br /&gt;[Wed Sep 16 16:16:57 2009] [debug] mod_proxy_balancer.c(280): ICON: proxy: BALANCER: Found value 00006BXDRmMTJiopXVx9UnRFUCR:nodo1 for stickysession JSESSIONID&lt;br /&gt;[Wed Sep 16 16:16:57 2009] [debug] mod_proxy_balancer.c(296): proxy: BALANCER: Found route nodo1&lt;br /&gt;[Wed Sep 16 16:16:57 2009] [debug] mod_proxy_balancer.c(579): proxy: BALANCER (balancer://&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;b&gt;clusterPerfilUno&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;) worker (&lt;a class="moz-txt-link-freetext" href="http://192.168.15.121:9080/"&gt;http://192.168.15.121:9080&lt;/a&gt;) rewritten to &lt;a class="moz-txt-link-freetext" href="http://192.168.15.121:9080/"&gt;http://192.168.15.121:9080/&lt;/a&gt;&lt;b&gt;app&lt;/b&gt;&lt;br /&gt;[Wed Sep 16 16:16:57 2009] [debug] mod_proxy.c(993): Running scheme balancer handler (attempt 0)&lt;br /&gt;[Wed Sep 16 16:16:57 2009] [debug] mod_proxy_http.c(1920): proxy: HTTP: serving URL &lt;a class="moz-txt-link-freetext" href="http://192.168.15.121:9080/app"&gt;http://192.168.15.121:9080/app&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si no tengo buena la cookie recibo el found value (null) for stickysession JSESSIONID.&lt;br /&gt;&lt;br /&gt;con esto logre hacer el balanceo de carga usando mod_proxy_balancer con un websphere 6.1 en los nodos.&lt;br /&gt;&lt;br /&gt;En los proximos días estaré haciendo pruebas de esto y si encuentro algo mas lo publico.&lt;br /&gt;&lt;br /&gt;Espero poder publicar la recompilada del apache sobre windows y también una segunda alternativa que estuve a punto de implementar.&lt;br /&gt;&lt;br /&gt;Cabe mencionar que el IHS de IBM es una alternativa que no logre a terminar de evaluar para resolver este problema.&lt;br /&gt;&lt;br /&gt;saludos!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-8856023696758198461?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/8856023696758198461/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/09/balanceo-de-carga-para-dos-websphere.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/8856023696758198461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/8856023696758198461'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/09/balanceo-de-carga-para-dos-websphere.html' title='Balanceo de Carga para dos websphere application server 6.1 usando mod_proxy_balancer'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-2009692773320112211</id><published>2009-08-26T11:23:00.001-06:00</published><updated>2009-08-26T11:23:38.686-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-04030'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle 10g'/><title type='text'>ORA-04030: out of process memory when trying to allocate 123404 bytes</title><content type='html'>Hace algunos días empece a recibir errores extraños en una de nuestras aplicaciones. Ocasionalmente nos reportaban que no podian hacer algo o que no se mostraba cierta información, pero cuando volvían a probar la aplicacion empezaba a funcionar correctamnete.&lt;br /&gt;&lt;br /&gt;El problema con este tipo de reportes, es que son bastante difíciles de encontrar y de replicar, por consiguiente se empiezan a volver difíciles de resolver.&lt;br /&gt;&lt;br /&gt;La aplicación es una aplicación web en java que consulta una base de datos oracle, ambos servidores estan corriendo sobre windows.&lt;br /&gt;&lt;br /&gt;Lo primero que hicimos fue empezar a generar logs adicionales a los bloques de codigo que pensabamos pudieran estar fallando, empezamos a encontrar errores de este tipo desde mis programas:&lt;br /&gt;&lt;br /&gt;java.sql.SQLException: ORA-04030: out of process memory when trying to allocate 123404 bytes (QERHJ hash-joi,kllcqas:kllsltba)&lt;br /&gt;&lt;br /&gt;y desde el sistema operativo empece a ver errores en el event viewer que decían que no se podía asignar memoria a un thread de la base de datos.&lt;br /&gt;&lt;br /&gt;Aclaro que no soy DBA, soy desarrollador. Pero a veces como desarrollador es necesario involucrase en temas de infraestructura para poder identificar los problemas que suceden.&lt;br /&gt;&lt;br /&gt;Tenía una maquina con 4gb de ram y cuando miraba la memoria de la maquina no pasaba de los 2gb.&lt;br /&gt;&lt;br /&gt;Encontramos 2 temas que estaban causando el problema:&lt;br /&gt;  1. El servidor es un windows de 32 bits, y por ser un windows de 32 bits no puedo tener ningún proceso en ejecución con mas de 2gb de uso de memoria.&lt;br /&gt;  Se modifico el boot.ini del servidor para que pudieran utilizarse hasta 3 gb de ram en un solo proceso.&lt;br /&gt;&lt;br /&gt;  http://technet.microsoft.com/es-es/library/bb124810.aspx&lt;br /&gt;&lt;br /&gt;  2. Revisando los parámetros de la base de datos, encontré que se tenía configurado un SGA de 2GB y un PGA de 1.6GB. Por lo que el tamaño del proceso que estaría ejecutando el oracle llegaría a tener hasta 3.6 GB en memoria. Procedímos a cambiar los parámetros de configuracion de la base de datos para corregir el tema.&lt;br /&gt;&lt;br /&gt;  Este cambio se hizó en los parámetros, sga_target y pga_aggregate_target.&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-2009692773320112211?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/2009692773320112211/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/08/ora-04030-out-of-process-memory-when.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/2009692773320112211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/2009692773320112211'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/08/ora-04030-out-of-process-memory-when.html' title='ORA-04030: out of process memory when trying to allocate 123404 bytes'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-2134034033512580885</id><published>2009-07-09T09:03:00.010-06:00</published><updated>2009-07-10T08:21:11.070-06:00</updated><title type='text'>Programando GreaseMonkey</title><content type='html'>Soy un adicto a Ikariam, lo acepto.  :D&lt;br /&gt;&lt;br /&gt;En mi alianza juego con gente de España y Argentina y nos cuesta un poco mantenernos sincronizados para algunas "campañas".&lt;br /&gt;&lt;br /&gt;Decidí hacer un pequeño script para que al lado de la fecha pueda poner la fecha de GT y de ARG.&lt;br /&gt;&lt;br /&gt;GreaseMonkey es un complemento de Firefox que permite pogramar javascripts adicionales a las paginas que sean actualizados en el browser. Algo asi como... modificar la pagina de cualquier servidor web con funcionalidad javascript programada por nosotros.&lt;br /&gt;&lt;br /&gt;El ejemplo que use fue:&lt;br /&gt;El server de Ikariam muestra la hora del servidor en españa. Yo quería modificar la pagina de ikariam para que al lado aparezca la hora de Guatemala y la de Argentina.&lt;br /&gt;&lt;br /&gt;Las primeras lineas dan información del script:&lt;br /&gt;&lt;br /&gt;// ==UserScript==&lt;br /&gt;// @name HoraArgGua&lt;br /&gt;// @namespace http://carcasco.blogspot.com&lt;br /&gt;// @description Poner varios horarios en el ikariam&lt;br /&gt;// @include     http://s6.ikariam.es/index.php*&lt;br /&gt;// ==/UserScript==&lt;br /&gt;&lt;br /&gt;Las funciones que puse despues son cosas que solo utilicé de la misma pagina ikariam. Luego mi funcion de cambia de horario.&lt;br /&gt;&lt;br /&gt;busco el elemento que quiero cambiar: &lt;br /&gt; servertime = document.getElementById('servertime');&lt;br /&gt;&lt;br /&gt;Si existe entonces creo un nuevo elemento:&lt;br /&gt;  detalleHoras = document.createElement('span');&lt;br /&gt;&lt;br /&gt;Y lo inserto luego de ese. Es decir, agregue un tag de html extra a la pagina:&lt;br /&gt;  servertime.parentNode.insertBefore(detalleHoras, servertime.nextSibling);&lt;br /&gt; &lt;br /&gt;Adicional hice la funcion que calcula la fecha (puro javascript) y cambio el innerHtml del elemento recién creado.&lt;br /&gt;&lt;br /&gt;saludos!&lt;br /&gt;&lt;br /&gt;Codigo Completo: &lt;br /&gt;=================&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;&lt;br /&gt;// ==UserScript==&lt;br /&gt;// @name HoraArgGua&lt;br /&gt;// @namespace http://carcasco.blogspot.com&lt;br /&gt;// @description Poner varios horarios en el ikariam&lt;br /&gt;// @include     http://s6.ikariam.es/index.php*&lt;br /&gt;// ==/UserScript==&lt;br /&gt;&lt;br /&gt;function dezInt(num,size,prefix){prefix=(prefix)?prefix:"0";var minus=(num&lt;0)?"-":"",result=(prefix=="0")?minus:"";num=Math.abs(parseInt(num,10));size-=(""+num).length;for(var i=1;i&lt;=size;i++){result+=""+prefix;}&lt;br /&gt;result+=((prefix!="0")?minus:"")+num;return result;}&lt;br /&gt;&lt;br /&gt;function getFormattedDate(timestamp,format){var currTime=new Date();currTime.setTime(timestamp);str=format;str=str.replace('d',dezInt(currTime.getDate(),2));str=str.replace('m',dezInt(currTime.getMonth()+1,2));str=str.replace('Y',currTime.getFullYear());str=str.replace('y',currTime.getFullYear().toString().substr(2,4));str=str.replace('G',currTime.getHours());str=str.replace('H',dezInt(currTime.getHours(),2));str=str.replace('i',dezInt(currTime.getMinutes(),2));str=str.replace('s',dezInt(currTime.getSeconds(),2));return str;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function cambiarHorario() {&lt;br /&gt; var d = new Date();&lt;br /&gt; d.setMinutes(d.getMinutes()+d.getTimezoneOffset()-6*60);&lt;br /&gt; var strHoraGt = "GT: "+ getFormattedDate(d, 'd/G:i');&lt;br /&gt; d = new Date();&lt;br /&gt; d.setMinutes(d.getMinutes()+d.getTimezoneOffset()-3*60);&lt;br /&gt; var strHoraArg = "AR: "+ getFormattedDate(d, 'd/G:i');&lt;br /&gt; document.getElementById('servertime').nextSibling.innerHTML="&amp;nbsp;|&amp;nbsp;"+strHoraGt+"&amp;nbsp;|&amp;nbsp;"+strHoraArg;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;iniciaCambioHorario = function() {&lt;br /&gt; var servertime,detalleHoras;&lt;br /&gt; servertime = document.getElementById('servertime');&lt;br /&gt; if (servertime) {&lt;br /&gt;  detalleHoras = document.createElement('span');&lt;br /&gt;  detalleHoras.innerHTML="";&lt;br /&gt;  servertime.parentNode.insertBefore(detalleHoras, servertime.nextSibling);&lt;br /&gt; } &lt;br /&gt; cambiarHorario();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;iniciaCambioHorario();&lt;br /&gt; &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-2134034033512580885?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/2134034033512580885/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/07/programando-greasemonkey.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/2134034033512580885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/2134034033512580885'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/07/programando-greasemonkey.html' title='Programando GreaseMonkey'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-3191728703089248622</id><published>2009-07-03T10:29:00.002-06:00</published><updated>2009-07-03T10:34:10.126-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chiste'/><title type='text'>Error interno al mostrar un error interno ?</title><content type='html'>Un hermoso error de aquellos que no se ven todos los días:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nt6c3XlwGIs/Sk4yL4m2dFI/AAAAAAAAAaQ/EJpwh1ac5Ic/s1600-h/03-07-2009+10-26-13+a.m..png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 421px; height: 176px;" src="http://2.bp.blogspot.com/_nt6c3XlwGIs/Sk4yL4m2dFI/AAAAAAAAAaQ/EJpwh1ac5Ic/s320/03-07-2009+10-26-13+a.m..png" alt="" id="BLOGGER_PHOTO_ID_5354272186745386066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Disculpen la resolución pero fue tomado desde un Celular, el mensaje dice:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;Se ha producido un error interno mientras se mostraba un error interno.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;WTF :S !?&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-3191728703089248622?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/3191728703089248622/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/07/error-interno-al-mostrar-un-error.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/3191728703089248622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/3191728703089248622'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/07/error-interno-al-mostrar-un-error.html' title='Error interno al mostrar un error interno ?'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nt6c3XlwGIs/Sk4yL4m2dFI/AAAAAAAAAaQ/EJpwh1ac5Ic/s72-c/03-07-2009+10-26-13+a.m..png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-2052777228745171198</id><published>2009-07-02T14:22:00.002-06:00</published><updated>2009-07-03T10:29:20.466-06:00</updated><title type='text'>WordPress.com desde Guatemala resuelto</title><content type='html'>&lt;h2 class="entry-title"&gt;WordPress.com desde Guatemala resuelto&lt;/h2&gt;      &lt;p&gt;El "fallo" o "bloqueo" que habia mencionado fue corregido.&lt;/p&gt;&lt;p&gt;Que casualidad que 3 empresas distintas tuvieron el msmo fallo al mismo tiempo. :S&lt;/p&gt;&lt;p&gt;saludos!&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/3305350710615317946-2052777228745171198?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/2052777228745171198/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/07/wordpresscom-desde-guatemala-resuelto.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/2052777228745171198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/2052777228745171198'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/07/wordpresscom-desde-guatemala-resuelto.html' title='WordPress.com desde Guatemala resuelto'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-8897619786531795189</id><published>2009-06-30T08:24:00.000-06:00</published><updated>2009-06-30T08:25:01.168-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bloqueo de Blogs en Guatemala'/><title type='text'>Bloqueo de Blogs en Guatemala</title><content type='html'>&lt;div class="title"&gt;Desde ayer vengo leyendo varios post relacionados a que en Guatemala estaba siendo bloqueado wordpress... me parecio al principio algo extraño y la verdad no tuve tiempo de revisar el tema.&lt;br /&gt;&lt;br /&gt;WordPress es un sitio que al igual que blogspot provee de una herramienta para publicar blogs.  Muchas personas en Guatemala lo utilizan como plataforma para publicar sus opiniones, muchas de ellas políticas.&lt;br /&gt;&lt;br /&gt;Hoy tratando de leer mis feeds habituales me encuentro con que es verdad!!!!  Tuve que salir por un proxy para poder leer los blogs que hablan del tema.&lt;br /&gt;&lt;br /&gt;En uno de los blogs que leo hablan de Turbonett, yo ahora estoy navegando desde tigo movil y tambien esta bloqueado?!&lt;br /&gt;&lt;br /&gt;Yo no soy de los que apoyan las teorías conspiradoras, pero esto me suena bastante preocupante. Esto es algo que uno podría pensar que estuviera pasando en IRAN o COREA del Norte, o que hubiera pasado hace 25 años.... pero hoy?&lt;br /&gt;&lt;br /&gt;No me parece un bug de dns o algo por el estilo, porque no es posible que los distintos proveedores de internet tengan el mismo bug.&lt;br /&gt;&lt;br /&gt;Hoy voy a llamar a mi proveedor de internet para exigir que vuelvan a habilitar este portal. Les invito a publicar esta noticia en su blog, en su twitter, en el mensajito de su msn y a llamar a su proveedor de internet para que les expliquen porque tienen bloqueado WordPress.&lt;br /&gt;&lt;br /&gt;Adjunto el post escrito en el blog de Javier Gramajo, por si no pueden leerlo. La dirección es esta http://jgramajo.wordpress.com/2009/06/30/bloqueo-de-blogs-en-guatemala/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Bloqueo de Blogs en Guatemala (Javier Gramajo)&lt;/span&gt;&lt;br /&gt;&lt;p&gt;Las razones del bloqueo o fallo no las se y en cualquier caso hay que ir dos  pasos más allá, mi recomendación es que para lo usuarios de cualquier sistema  operativo se instalen &lt;a title="Tor Project" href="http://www.torproject.org/" target="_blank"&gt;TOR&lt;/a&gt;, además es muy importante que le expliquen a sus contactos  como resolver este problema mandándoles las referencias a manuales que permitan  la instalación adecuada y oportunamente.&lt;/p&gt; &lt;p&gt;Como presidente de la Comisión Técnica Intersectorial de Información e  Informática del &lt;a href="http://www.concyt.gob.gt/" target="_blank"&gt;CONCYT&lt;/a&gt;  estoy haciendo todas las averiguaciones oportunas y de ser necesario haremos un  comunicado en relación al bloqueo y el atentado que posiblemente se esté  cometiendo a la libre emisión del pensamiento en Guatemala, como ciudadano me  preocupa el cierre voluntario pero abrupto de dos blogs o espacios que han sido  seguidos por muchas personas &lt;a title="Fuera Colom" href="http://fueracolom.com/" target="_blank"&gt;FueraColom&lt;/a&gt; y &lt;a title="Prensa Negra" href="http://prensanegra.wordpress.com/" target="_blank"&gt;PrensaNegra&lt;/a&gt;, no califico aqui lo acertado de cada espacio, si  no la expresión clara de la democracia que impera o debería imperar en  Guatemala, en relación a la libre expresión del pensamiento, libertad que se ha  puesto en entredicho al señalar a miembros de la comunidad Bloggers o Twitteros  como es el caso de &lt;a title="Jean Anleu" href="http://alt1040.com/2009/05/carta-de-jean-anleu-a-la-opinion-publica" target="_blank"&gt;Jean Anelu (carta abierta)&lt;/a&gt; o &lt;a title="@janfer" href="http://www.prensalibre.com/pl/2009/junio/27/324386.html" target="_blank"&gt;@jeanfer (entrevista)&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;El uso de las Tecnologías de la Información y las Comunicaciones TICs en  Guatemala es de uso intensivo y los distintos indicadores en los que aparece  Guatemala no son fiel reflejo de la realidad de un país como Guatemala, el uso  de las TICs y las últimas noticias de impacto mundial, las actuaciones y  manifestaciones de los últimos meses, ponen de manifiesto a un gran colectivo  fundamentado en las TICs y como utiliza un medio trascendental para la búsqueda  de una sociedad más equilibrada, desde mi perspectiva todos los sectores deberán  poner más atención a uso e impacto que tienen las TICs en la sociedad  Guatemalteca de hoy en adelante, si quieren ser coherentes con ese 43% de la  población menor de 30 años de este país.&lt;/p&gt; &lt;p&gt;Se están realizando distintas propuestas dentro de la sociedad Guatemalteca  quizá una de las más estructuradas sea la de &lt;a title="Pro Reforma" href="http://www.blogger.com/www.proreforma.org.gt/" target="_blank"&gt;ProReforma&lt;/a&gt; propuesta que deberá  ser analizada por los distintos colectivos ya existentes y que deberia  analizarse para que sea apoyada, no solo por las 70,000 firmas que ha recaudado  si no por millones de Guatemaltecos, pero como todo deberá pasar por el consenso  de cada Guatemalteco, quizá la única forma de que sea consensuada y validada  radique en la utilización de las TICs, dependerá de la estrategia que sigan los  que la proponen para social izarla por las redes sociales oportunamente, hay que  mencionar que hay cuatro estados en un proceso de validación: Independencia,   codependencia, contra dependencia, Interdependencia. No pretendo explicar cada  uno pero quizá el más peligroso sea el de contra dependencia que es un estado el  que cualquier propuesta será rechazada porque no se origina en el que la  rechaza, &lt;a title="¡CUÁNTO DAÑO NOS HAN HECHO!" href="http://www.sigloxxi.com/opinion/6155" target="_blank"&gt;Guatemala no  necesita&lt;/a&gt; de personas contra dependientes, independientes (en su sentido  negativo) y menos codependientes, necesitamos trabajar de manera  interdependiente.&lt;/p&gt; &lt;p&gt;Finalmente muchos de los movimientos que se generarón en los últimos meses en  Guatemala, lo cuales han fundamentado su actuar en las TICs, es en esos espacios  donde debería calificarse si el movimiento se ha &lt;a href="http://www.lahora.com.gt/notas.php?key=51184&amp;amp;fch=2009-06-27" target="_blank"&gt;apagado o no&lt;/a&gt;, no entiendo como se está calificando la  actuación de los distintos colectivos basados en la &lt;a title="Tomarán las calles para expresar repudio  " href="http://www.prensalibre.com.gt/pl/2009/junio/28/322270.html" target="_blank"&gt;presencia o protesta&lt;/a&gt; física, en primer lugar es necesario un  cambio de paradigma de los que participan y aquellos que califican en y a los  movimientos, la protesta no está en la calles está en los blogs, en los  mensajes, correos, cadenas, redes sociales, etc, y es por ello que es tan  peligroso el hecho que hasta el día de hoy no se pueda acceder a los blogs  publicados en espacios como wordpress.&lt;/p&gt; &lt;p&gt;Con el bloqueo de los Blogs que residen en wordpress, donde seguramente se  generan más del 60% de los blog en Guateamala se están dejando de discutir temas  como la Comisión de Postulaciones, el recurso interspuesto por los Rectores (&lt;a title="Rectores en la mira" href="http://www.prensalibre.com/pl/2009/junio/28/321936.html" target="_blank"&gt;artículo&lt;/a&gt;, &lt;a title="Sobre la consulta de los rectores" href="http://www.prensalibre.com/pl/2009/junio/26/321697.html" target="_blank"&gt;opinión&lt;/a&gt;) de la universidades del país en la Corte de  Constitucionalidad (&lt;a title="CC suspende provisionalmente el sorteo para presidir comisiones de postulación " href="http://www.prensalibre.com/pl/2009/junio/26/324343.html" target="_blank"&gt;articulo&lt;/a&gt;, &lt;a title="Celeridad de CC genera dudas" href="http://www.prensalibre.com/pl/2009/junio/27/324367.html" target="_blank"&gt;declaraciones&lt;/a&gt;) así que sea fallo o bloqueo existen  herramientas que permiten evadir cualquier de los anteriores, no quiero dejar de  terminar sin recomendar a todos aquellos estudiantes o profesionales del sector  TICs en Guatemala a que jamas utilicen su conocimiento para atentar contra la &lt;a title="Derechos fundamentales." href="http://www.wikilearning.com/apuntes/los_derechos_fundamentales/11318" target="_blank"&gt;derechos fundamentales&lt;/a&gt; de cualquier individuo y ciudadano de  un país.&lt;/p&gt; &lt;p&gt;Relacionados con el tema:&lt;/p&gt; &lt;p&gt;1.&lt;a title="Carpe Diem" href="http://luisfi61.blogspot.com/2009/06/que-es-lo-que-pasa-con-wordpress-en.html" target="_blank"&gt;Carpe Diem&lt;/a&gt;&lt;/p&gt; &lt;p&gt;2.&lt;a title="Guatemala Drummer" href="http://guatemaladrummer.blogspot.com/2009/06/acceso-desde-isp-de-telgua-wordpresscom.html" target="_blank"&gt;Guatemala Drummer&lt;/a&gt;&lt;/p&gt; &lt;p&gt;3.&lt;a title="Maestros de la Web" href="http://www.maestrosdelweb.com/actualidad/guatemala-problema-acceso-wordpresscom/" target="_blank"&gt;Maestros de la Web&lt;/a&gt;&lt;/p&gt; &lt;p&gt;4. Artículo: &lt;a title="Artículo" href="http://www.prensalibre.com/pl/2009/junio/29/324738.html" target="_blank"&gt;Prensa Libre se expresan en la web&lt;/a&gt;&lt;/p&gt; &lt;p&gt;5. &lt;a title="ALT1040" href="http://alt1040.com/2009/06/guatemala-bloquea-el-acceso-a-wordpresscom" target="_blank"&gt;ALT1040: Guatemala Bloquea acceso a WordPress&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-8897619786531795189?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/8897619786531795189/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/06/bloqueo-de-blogs-en-guatemala.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/8897619786531795189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/8897619786531795189'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/06/bloqueo-de-blogs-en-guatemala.html' title='Bloqueo de Blogs en Guatemala'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-9087836560811737452</id><published>2009-06-24T10:15:00.002-06:00</published><updated>2009-06-24T10:18:31.597-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ping'/><category scheme='http://www.blogger.com/atom/ns#' term='ip'/><category scheme='http://www.blogger.com/atom/ns#' term='resolve hostname'/><category scheme='http://www.blogger.com/atom/ns#' term='nombre'/><title type='text'>Obtener el Nombre de la maquina a partir de una IP</title><content type='html'>Mas de alguna vez me he topado con que tengo la ip de una pc y quiero saber quería saber de quien es la maquina (el nombre).&lt;br /&gt;&lt;br /&gt;Para buscar el nombre de la maquina desde una ip uso este comando dos.&lt;br /&gt;&lt;br /&gt;C:\Users\carcasco&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;ping -a 192.99.99.99&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Haciendo ping a &lt;span style="color: rgb(255, 0, 0);"&gt;carlosc &lt;/span&gt;[192.99.99.99] con 32 bytes de datos:&lt;br /&gt;Respuesta desde 192.99.99.99: bytes=32 tiempo&lt;1m TTL=128&lt;br /&gt;Respuesta desde 192.99.99.99: bytes=32 tiempo&lt;1m TTL=128&lt;br /&gt;Respuesta desde 192.99.99.99: bytes=32 tiempo&lt;1m TTL=128&lt;br /&gt;Respuesta desde 192.99.99.99: bytes=32 tiempo&lt;1m TTL=128&lt;br /&gt;&lt;br /&gt;Estadísticas de ping para 192.168.15.225:&lt;br /&gt;   Paquetes: enviados = 4, recibidos = 4, perdidos = 0&lt;br /&gt;   (0% perdidos),&lt;br /&gt;Tiempos aproximados de ida y vuelta en milisegundos:&lt;br /&gt;   Mínimo = 0ms, Máximo = 0ms, Media = 0ms&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-9087836560811737452?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/9087836560811737452/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/06/obtener-el-nombre-de-la-maquina-partir.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/9087836560811737452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/9087836560811737452'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/06/obtener-el-nombre-de-la-maquina-partir.html' title='Obtener el Nombre de la maquina a partir de una IP'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-6235332432815329992</id><published>2009-05-27T13:57:00.010-06:00</published><updated>2009-05-27T15:11:33.037-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fuzzy'/><category scheme='http://www.blogger.com/atom/ns#' term='Soundex'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle 10g'/><category scheme='http://www.blogger.com/atom/ns#' term='Contains'/><title type='text'>Oracle busquedas like (fuzzy, contains, soundex)</title><content type='html'>&lt;span style="font-family:arial;"&gt;Necesito hacer una busqueda por nombres, pero quiero que el sistema me diga si hay un nombre "parecido" en el sistema.  Es decir, quiero buscar un cliente llamado Carlos Castañeda pero en la base de datos tengo varios similares, aunque ninguno igual:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Juan Carlos Castañeda&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Carlos Castañeda Perez&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Carlos Castaneda&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La verdad estuve divagando bastante en el tema y no lograba encontrar el camino correcto.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Lo primero que busqué fue la funcion &lt;/span&gt;&lt;a style="font-family: arial;" href="http://es.wikipedia.org/wiki/Soundex"&gt;Soundex&lt;/a&gt;&lt;span style="font-family:arial;"&gt;. Soundex es un algoritmo que hace equivalencias foneticas de 2 palabras. Por ejemplo ait con eight.  Cada palabra tiene un valor soundex y si los valores son iguales, entonces, tengo un acierto.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  &lt;span style="font-style: italic;"&gt; &lt;span style="color: rgb(102, 102, 102);"&gt;select soundex('eigt'), soundex('eight') from dual&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  Ambos registros me devuelven E230 por lo que deben ser equivalentes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Pero.... este algoritmo solo funciona en ingles. No para español.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Seguí buscando y encontre un blog con una implementacion plsql del soundex: http://oraclenotepad.blogspot.com/2008/03/soundex-en-espaol.html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Pero el soundex me compara solamente una palabra y yo quería comparar 2 nombres completos. Modifiqué un poco el codigo e hize una funcion que sacaba el soundex de cada palabra del nombre_a_buscar en el campo_nombre y si cumplía mas del N porciento entonces devolvía ok.  Estaba bien, pero... &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;el performance se fue al suelo cuando quería buscar en una tabla con mas de medio millon de registros.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;De dedique entonces a buscar la funcion CONTAINS de Oracle. Esta funcion me permite buscar en textos grandes. Separa las palabras de un texto y las indexa. Hay que crear un indice para utilizarla:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);font-family:arial;" &gt;create index clientes_idx on temp (nombre) indextype;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;ya ahi podía hacer consultas:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153); font-style: italic;font-family:arial;" &gt;SELECT score(1),nombre FROM clientesWHERE CONTAINS (nombre, 'castañeda',1) &gt; 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;El contains devuelve un score con el que se evalúa el resultado. Mientras mas alto sea el resultado es mas exacta la busqueda.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Cuando busco con 2 nombres, este query me devuelve los resultados que tengan los 2 nombres, por ejemplo juan Carlos Castañeda o Carlos Castañeda Perez&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);font-family:arial;" &gt;SELECT score(1),nombre FROM clientesWHERE CONTAINS (nombre, 'carlos castañeda',1) &gt; 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;pero... no me devuelve nombres como Carlos Alberto Castañeda Perez.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;agregué un OR a la consulta&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153); font-style: italic;font-family:arial;" &gt;SELECT score(1),nombre FROM clientesWHERE CONTAINS (nombre, 'carlos or castañeda',1) &gt; 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;pero... me devuelve todos los carlos y todos los castañedas.  Carlos Perez, Carlos Lopez, Juan Castañeda, Carlos Castañeda, etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Cambié la consulta a un AND y mejoró &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);font-family:arial;" &gt;SELECT score(1),nombre FROM clientesWHERE CONTAINS (nombre, 'carlos or castañeda',1) &gt; 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Pero me posicionaba de igual manera el Carlos Castañeda del Carlos Jose Castañeda y del Carlos Castañeda Perez.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Necesitaba diferenciar las busquedas exactas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Busque entonces: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);font-family:arial;" &gt;SELECT score(1),nombre FROM clientesWHERE CONTAINS (nombre, 'carlos or castañeda or (carlos and castaneda)',1) &gt; 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;El query se empezaba a complicar un poco. Además estaba buscando tambien que me diera busquedas Fuzzy, es decir, busquedas que me devolvieran palabras que contienen "casi" todos los caracteres de la palabra a buscar.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;en ese caso debía buscar&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:arial;" &gt;SELECT score(1),nombre FROM clientesWHERE CONTAINS (nombre, '?carlos or ?castañeda',1) &gt; 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Encontré también algo que no había utilizado que es el "query template" que me permitiría tener un query un poco más sencillo, con esto deje mi query así:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt6c3XlwGIs/Sh2sQXxP6gI/AAAAAAAAAaI/74PTi9JdGPM/s1600-h/query.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 147px;" src="http://4.bp.blogspot.com/_nt6c3XlwGIs/Sh2sQXxP6gI/AAAAAAAAAaI/74PTi9JdGPM/s320/query.jpg" alt="" id="BLOGGER_PHOTO_ID_5340614130389740034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Lo que hace la plantilla es partir la cadena que envio en textquery como si fuesen varios tokens, y además va evaluando progresivamente cada una de las opciones que le envío. Es decir, primero busca con AND para ver si estan todas las palabras:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);font-family:arial;" &gt;&lt;rewrite&gt;transform((TOKENS, "{", "}", "AND"))&lt;/rewrite&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Luego busco con AND pero con palabras "fuzzy" o parecidas, añadiendo el "?"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:arial;" &gt;&lt;rewrite&gt;transform((TOKENS, "?{", "}", "AND"))&lt;/rewrite&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Si quisiera que hiciera un soundex pondria un "!" antes del token. Pero el soundex es en ingles y no me sirve.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; &lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;rewrite&gt;transform((TOKENS, "!{", "}", "AND"))&lt;/rewrite&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Luego hago lo mismo pero con OR para que busque alguna de las 2 palabras.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;pero...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  también estuve leyendo que el query no estaba sincronizado por default, habría que sincronizarlo.&lt;/span&gt;&lt;br /&gt;&lt;pre  style="font-family:arial;"&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;  CTX_DDL.SYNC_INDEX('clientes_idx','50K');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;pero.. yo no quería sincronizarlo cada ves que ejecuto el query... así que cambie el indice para que se sincronice al hacer commit:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;create index clientes_idx on temp (nombre) indextype is ctxsys.context parameters('sync (on commit)');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ahora sí, cuando  quise buscar CASTANEDA o JOSE en lugar de josé no me devolvia los mismo valores. Consideras las tildes como caracteres distintos.&lt;br /&gt;&lt;br /&gt;Encontre que el indice hay que indicarle que utilice un LEXER_BASIC.&lt;br /&gt;&lt;br /&gt;Para esto me conecte como sys y me di grants: &lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;grant execute on CTX_DDL to scott;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ya en mi esquema, creé una preferencia con el LEXER que necesito:&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;  CTX_DDL.CREATE_PREFERENCE ('LEXER_SINTILDES', 'BASIC_LEXER');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;  CTX_DDL.SET_ATTRIBUTE ('LEXER_SINTILDES', 'BASE_LETTER', 'YES');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;  /&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;recreé el indice:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;create index temp_nombre_idx on temp (nom_contacto) indextype is ctxsys.context parameters('sync (on commit) LEXER LEXER_SINTILDES');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Con eso ya logré los resultados que esperaba. mmm... no del todo. No encontré un soundex que me diera mejores resultados sin sacrificar el performance. Pero tengo buenos resultados.&lt;br /&gt;&lt;br /&gt;saludos!&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-family:arial;"&gt;Algunos de los links que leí... solo algunos:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;http://hugoracle.blogspot.com/2008/07/mejora-de-desempeo-con-oracle-text.html&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;http://www.orafaq.com/forum/t/95509/2/&lt;/span&gt;&lt;br /&gt;&lt;cite style="font-family: arial;"&gt;http://www.&lt;b&gt;oracle&lt;/b&gt;.com/technology/products/text/pdf/10gtext_features_overview.&lt;wbr&gt;pdf&lt;/cite&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;http://www.oracle.com/technology/products/text/htdocs/prog_relax.html?_template=/ocom/print&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-6235332432815329992?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/6235332432815329992/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/05/oracle-busquedas-like-fuzzy-contains.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6235332432815329992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6235332432815329992'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/05/oracle-busquedas-like-fuzzy-contains.html' title='Oracle busquedas like (fuzzy, contains, soundex)'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nt6c3XlwGIs/Sh2sQXxP6gI/AAAAAAAAAaI/74PTi9JdGPM/s72-c/query.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-6736115368087315154</id><published>2009-05-19T12:58:00.001-06:00</published><updated>2009-05-20T07:01:06.618-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rational Web Developer'/><category scheme='http://www.blogger.com/atom/ns#' term='WSWS3549E'/><category scheme='http://www.blogger.com/atom/ns#' term='WebService'/><title type='text'>WSWS3549E: Error: WSDL2Java could not discover a suitable StubWriter for null.</title><content type='html'>Estabamos creando un cliente de webservice en Rational Web Developer 6.0.&lt;br /&gt;El servicio estaba hecho en visual basic o .net&lt;br /&gt;Cuando tratabamos de consumirlo recibimos un error de WSWS3549E: Error: WSDL2Java could not discover a suitable StubWriter for null.&lt;br /&gt;&lt;br /&gt;Buscando un poco en la red, encontre que el problema es que RWD6.0 no utiliza soap 1.2 y por eso no me dejaba crear el cliente.&lt;br /&gt;&lt;br /&gt;Encontré 3 posibles soluciones:&lt;br /&gt;llamar a los desarrolladores del servicio y pedir que lo publiquen sin soporte soap 1.2, esto cambiando el web.config agregando estas lineas. Con esto logre crear el cliente correctamente.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nt6c3XlwGIs/ShMApeFYpTI/AAAAAAAAAZ4/BjzqKob0-sM/s1600-h/basic.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 437px; height: 78px;" src="http://3.bp.blogspot.com/_nt6c3XlwGIs/ShMApeFYpTI/AAAAAAAAAZ4/BjzqKob0-sM/s320/basic.jpg" alt="" id="BLOGGER_PHOTO_ID_5337610695814456626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Crear el cliente usando Axis, ahi logré utilizar el servicio.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt6c3XlwGIs/ShMAoy9rB0I/AAAAAAAAAZw/Af-ThrztYhY/s1600-h/axis.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 380px; height: 164px;" src="http://4.bp.blogspot.com/_nt6c3XlwGIs/ShMAoy9rB0I/AAAAAAAAAZw/Af-ThrztYhY/s320/axis.jpg" alt="" id="BLOGGER_PHOTO_ID_5337610684239382338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Modificar "a mano" los wsdl quitando las llamadas a soap 1.2&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nt6c3XlwGIs/ShMApWFA07I/AAAAAAAAAaA/SjU6629IgKs/s1600-h/wsdl1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 426px; height: 199px;" src="http://3.bp.blogspot.com/_nt6c3XlwGIs/ShMApWFA07I/AAAAAAAAAaA/SjU6629IgKs/s320/wsdl1.jpg" alt="" id="BLOGGER_PHOTO_ID_5337610693665412018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hasta ahí todo bien... pero... mas cosas pasaron en esa implementación....&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/forums/thread.jspa?threadID=113283&amp;amp;tstart=30"&gt;Ref. http://www.ibm.com/developerworks/forums/thread.jspa?threadID=113283&amp;amp;tstart=30&lt;/a&gt;&lt;br /&gt;continuará.-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-6736115368087315154?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/6736115368087315154/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/05/wsws3549e-error-wsdl2java-could-not.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6736115368087315154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6736115368087315154'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/05/wsws3549e-error-wsdl2java-could-not.html' title='WSWS3549E: Error: WSDL2Java could not discover a suitable StubWriter for null.'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nt6c3XlwGIs/ShMApeFYpTI/AAAAAAAAAZ4/BjzqKob0-sM/s72-c/basic.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-1044692425329619824</id><published>2009-04-16T07:00:00.000-06:00</published><updated>2009-04-16T07:00:00.615-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rational Web Developer'/><category scheme='http://www.blogger.com/atom/ns#' term='SAXException'/><category scheme='http://www.blogger.com/atom/ns#' term='WSWS3047E'/><category scheme='http://www.blogger.com/atom/ns#' term='WebService'/><title type='text'>Error WSWS3047E al consumir un webservice en Rational Web Developer</title><content type='html'>&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;Relacionado al Post Anterior, estabamos tratando de consumir un webservice desde el Rational Web Developer de IBM.&lt;br /&gt;Cuando consumiamos el webservice desde visual basic o desde el SoapUi, lograbamos consumirlo perfectamente, pero al tratar de consumirlo desde el RWD6 nos daba error.&lt;br /&gt;&lt;br /&gt;El problema específico que estabamos teniendo con este webservice es que luego de invocar al mismo, al traer los resultados de la ejecución nos estaba dando este mensaje:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;br /&gt;WebServicesFault&lt;br /&gt;faultCode: {&lt;a send="true" class="moz-txt-link-freetext" href="http://schemas.xmlsoap.org/soap/envelope/"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/a&gt;}Server.generalException&lt;br /&gt;faultString: org.xml.sax.SAXException: WSWS3047E: Error:&lt;b&gt; No se puede deserializar el elemento cod_Cuenta del bean&lt;/b&gt; dataTransferObject.customerABE.customerDomain.framework.scl.tmmas.com.RegistroComercialDTO.&lt;br /&gt;faultActor: null&lt;br /&gt;faultDetail:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;El servicio se ejecutaba, es decir, la llamada fue correcta y se hacian las acciones del servicio. Pero no lograbamos obtener el objeto que trae los resultados obtenidos de la ejecución.&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;  El servicio no fue desarrollado por nosotros y no teniamos acceso tampoco a los logs del servidor (del servicio) como para poder identificar el problema. Esto nos hizo perder mucho tiempo en pruebas infructuosas.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;Instalamos y probamos el TCPMon para rastrear el problema y encontramos que la respuesta del webservice si se estaba enviando por la red, pero que (como dice el error) no se podía parsear. Cambiamos los wsdl con tipos de datos String asumiendo alguna posible incompatibilidad de tipos entre el servicio y el cliente. No funcionó.&lt;br /&gt;&lt;br /&gt;Los servicios fueron desarrollados sobre WebLogic.&lt;br /&gt;&lt;br /&gt;Luego de algunas investigaciones, encontramos que al parecer habia cierta información que se enviaba en la respuesta que no era acorde a las especificaciones RFC de XML. Y que esto es lo que estaba dando el problema.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;a class="moz-txt-link-freetext" href="http://www-01.ibm.com/support/docview.wss?uid=swg21220377"&gt;http://www-01.ibm.com/support/docview.wss?uid=swg21220377&lt;/a&gt;   &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;Procedimos a cambiar nuevamente el wsdl indicandole la propiedad &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-family:Arial;"&gt;elementFormDefault="unqualified"&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;al&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt; wsdl &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;y recrear el cliente y apartir de ahi empezamos a consumir correctamente los servicios.&lt;br /&gt;&lt;br /&gt;El unqualified es porque el weblogic no genera los namespaces usando las especificaciones RFC al 100% mientras que el websphere sí.&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;br /&gt;saludos!&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-1044692425329619824?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/1044692425329619824/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/04/error-wsws3047e-al-consumir-un.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/1044692425329619824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/1044692425329619824'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/04/error-wsws3047e-al-consumir-un.html' title='Error WSWS3047E al consumir un webservice en Rational Web Developer'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-5064916260589873717</id><published>2009-04-15T08:43:00.001-06:00</published><updated>2009-04-15T08:43:24.283-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tcpmon'/><title type='text'>TCPMon</title><content type='html'>Ayer tuve que trabajar en un problema complicado relacionado con un webservice.  No lograba encontrar el error. Probaba el servicio desde unas aplicaciones en .net y funcionaba correctamente, pero al probarlo desde mi aplicación java, enviando los mismos parametros no lograba hacerlo funcionar.&lt;br /&gt;&lt;br /&gt;Leyendo en internet encontré un producto buenísimo que se llama &lt;a href="http://ws.apache.org/commons/tcpmon/"&gt;TCPMon&lt;/a&gt;. Este me sirvió para poder ver los paquetes enviados por la red, como un sniffer. Con esto pude rastrear lo que estaba enviando al WebService y lo que me contestaba exactamente y así logré encontrar el error.&lt;br /&gt;&lt;br /&gt;Yo estaba consumiendo un servicio en el SERVERXXX con el puerto 7103.&lt;br /&gt;&lt;br /&gt;Lo que hice fué configurar para que TCPMon actuara como listener y en un puerto 7199 y apuntara a SERVERXXX:7103.  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nt6c3XlwGIs/SeXyEMobukI/AAAAAAAAAZA/DtK-L5qLSEU/s1600-h/tcpmon02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 311px;" src="http://3.bp.blogspot.com/_nt6c3XlwGIs/SeXyEMobukI/AAAAAAAAAZA/DtK-L5qLSEU/s320/tcpmon02.jpg" alt="" id="BLOGGER_PHOTO_ID_5324928288359692866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Cambie mi aplicacion para usar localhost:7199 y pude rastrear todos los mensajes que pasaban por la red.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nt6c3XlwGIs/SeXx3I95tUI/AAAAAAAAAY4/uwasMap_4Ug/s1600-h/tcpmon01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 225px;" src="http://1.bp.blogspot.com/_nt6c3XlwGIs/SeXx3I95tUI/AAAAAAAAAY4/uwasMap_4Ug/s320/tcpmon01.jpg" alt="" id="BLOGGER_PHOTO_ID_5324928064037696834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Me parece una aplicacion muy util para temas de webservices, aplicaciones que leen datos de sockets, analisis de paquetes http.&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-5064916260589873717?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/5064916260589873717/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/04/tcpmon.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/5064916260589873717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/5064916260589873717'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/04/tcpmon.html' title='TCPMon'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nt6c3XlwGIs/SeXyEMobukI/AAAAAAAAAZA/DtK-L5qLSEU/s72-c/tcpmon02.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-7647509544034583841</id><published>2009-04-04T16:57:00.010-06:00</published><updated>2009-04-04T17:21:47.535-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='was 6.1'/><category scheme='http://www.blogger.com/atom/ns#' term='initialHeapSize'/><title type='text'>Configurar Memoria en un Websphere application server 6.1 (WAS6.1)</title><content type='html'>Como Configurar el tamaño de la Memoria en un Websphere application server 6.1 (WAS6.1)&lt;br /&gt;&lt;br /&gt;Hace algún tiempo tuve que reconfigurar la configuración de la memoria de un WAS.  Un tema "relativamente" facil. Hoy lo haré de nuevo, les cuento los detalles:&lt;br /&gt;&lt;br /&gt;Creo que por default el servidor asigna un rango de 256MB a 512MB.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nt6c3XlwGIs/SdfqN9j05oI/AAAAAAAAAYQ/AIe39sub-BM/s1600-h/was+memoria+00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 117px;" src="http://1.bp.blogspot.com/_nt6c3XlwGIs/SdfqN9j05oI/AAAAAAAAAYQ/AIe39sub-BM/s320/was+memoria+00.jpg" alt="" id="BLOGGER_PHOTO_ID_5320979010345559682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Entro al administrador y busco el servidor de aplicaciones que tengo configurado.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nt6c3XlwGIs/Sdfn6kGyqHI/AAAAAAAAAYI/c5d2O3TGK00/s1600-h/was+memoria+01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 209px;" src="http://2.bp.blogspot.com/_nt6c3XlwGIs/Sdfn6kGyqHI/AAAAAAAAAYI/c5d2O3TGK00/s320/was+memoria+01.jpg" alt="" id="BLOGGER_PHOTO_ID_5320976478072121458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Busco las opciones del JVM, donde dice "definición de procesos". (mi was esta en español :s )&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nt6c3XlwGIs/SdfqbKtdRRI/AAAAAAAAAYY/IiRuIjBz3xA/s1600-h/was+memoria+02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 291px;" src="http://3.bp.blogspot.com/_nt6c3XlwGIs/SdfqbKtdRRI/AAAAAAAAAYY/IiRuIjBz3xA/s320/was+memoria+02.jpg" alt="" id="BLOGGER_PHOTO_ID_5320979237213914386" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nt6c3XlwGIs/SdfqnD68XUI/AAAAAAAAAYg/RBgfgXWXyKk/s1600-h/was+memoria+03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 159px;" src="http://2.bp.blogspot.com/_nt6c3XlwGIs/SdfqnD68XUI/AAAAAAAAAYg/RBgfgXWXyKk/s320/was+memoria+03.jpg" alt="" id="BLOGGER_PHOTO_ID_5320979441549860162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;y luego seteo el tamaño de memoria (heap) maximo e inicial.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nt6c3XlwGIs/SdfqwJYorjI/AAAAAAAAAYo/pnjaWPnLEDo/s1600-h/was+memoria+04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_nt6c3XlwGIs/SdfqwJYorjI/AAAAAAAAAYo/pnjaWPnLEDo/s320/was+memoria+04.jpg" alt="" id="BLOGGER_PHOTO_ID_5320979597635399218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;aplico los cambios y luego bajo el servidor. &lt;span style="font-style: italic;font-family:courier new;" &gt;C:\IBM\WebSphere\AppServer\bin&gt;stopserver server1&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU0116I: La información de la herramienta se está anotando en el archivo&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\server1\stopServer.&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;log&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU7702I: Dado que server1 se ha registrado para ejecutarse como un servicio&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           de Windows, la petición de detener este servidor se realizar&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           deteniend&lt;/span&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;o el servicio de Windows asociado.&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU0116I: La información de la herramienta se está anotando en el archivo&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\server1\stopServer.&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;log&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU0128I: Iniciando herramienta con el perfil AppSrv01&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU3100I: Leyendo la configuración para el servidor: server1&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU3201I: Se ha emitido una petición de detención del servidor. Esperando el&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           estado de detención.&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU4000I: La detención del servidor server1 ha &lt;/span&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;finalizado.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reinicio el servidor:&lt;br /&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;C:\IBM\WebSphere\AppServer\bin&gt;startserver server1&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU0116I: La información de la herramienta se está anotando en el archivo&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\server1\startServer&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;.log&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU7701I: Dado que server1 se ha registrado para ejecutarse como un servicio&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           de Windows, la petición de iniciar este servidor se realizará&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           iniciando el servicio de Windows asociado.&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU0116I: La información de la herramienta se está anotando en el archivo&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;           C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\server1\startServer&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;.log&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU0128I: Iniciando herramienta con el perfil AppSrv01&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU3100I: &lt;/span&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;Leyendo la configuración para el servidor: server1&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU3200I: El servidor se ha iniciado. Esperando el estado de inicialización.&lt;/span&gt; &lt;span style="font-style: italic;font-family:courier new;" &gt;ADMU3000I: Servidor server1 abierto para e-business; el ID de proceso es 2920&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Luego de esto... listo! el server tiene nueva memoria.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nt6c3XlwGIs/Sdfq8FUvx6I/AAAAAAAAAYw/adroKvtd1wc/s1600-h/was+memoria+05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 114px;" src="http://1.bp.blogspot.com/_nt6c3XlwGIs/Sdfq8FUvx6I/AAAAAAAAAYw/adroKvtd1wc/s320/was+memoria+05.jpg" alt="" id="BLOGGER_PHOTO_ID_5320979802703775650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Troubleshooting&lt;/span&gt;&lt;br /&gt;Cuando  hice esto hace algún tiempo, tuve el problema de que por alguna extraña razon el servidor no levanto por falta de memoria. Es decir, le estaba asignando mas memoria de la que el servidor tenía. (esto probablemente lo detalle en un post luego del cambio que haga hoy ;)&lt;br /&gt;Esto me provocó que no pudiera entrar al administrador de was a configurar nuevamente la memoria.&lt;br /&gt;&lt;br /&gt;Lo que hice fue buscar el archivo server.xml &lt;span style="font-style: italic;font-family:courier new;" &gt;C:\IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\carloscNode01Cell\nodes\carloscNode01\servers\server1\server.xml&lt;/span&gt;&lt;br /&gt;Y modificar la configuración de la memoria desde el archivo de texto:&lt;br /&gt;initialHeapSize="512" maximumHeapSize="1024"&lt;br /&gt;&lt;br /&gt;luego reinicie el server y funcionó de nuevo ;)&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-7647509544034583841?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/7647509544034583841/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/04/configurar-memoria-en-un-websphere.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7647509544034583841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7647509544034583841'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/04/configurar-memoria-en-un-websphere.html' title='Configurar Memoria en un Websphere application server 6.1 (WAS6.1)'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nt6c3XlwGIs/SdfqN9j05oI/AAAAAAAAAYQ/AIe39sub-BM/s72-c/was+memoria+00.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-5758798998770594746</id><published>2009-03-27T17:30:00.001-06:00</published><updated>2009-03-27T17:30:44.667-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection reset'/><category scheme='http://www.blogger.com/atom/ns#' term='pool de conexiones'/><title type='text'>Pool de conexiones en websphere  - Connection reset</title><content type='html'>Me tope con el problema, de que en una aplicación habia un proceso que funcionaba y al rato dejaba de funcionar...&lt;br /&gt;&lt;br /&gt;Leyendo logs encontré este error:&lt;br /&gt;com.ibm.websphere.ce.cm.StaleConnectionException: Io exception: Connection reset&lt;br /&gt;  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)&lt;br /&gt;  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67)&lt;br /&gt;  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)&lt;br /&gt;&lt;br /&gt;Pero si entraba a probar la conexion funcionaba...&lt;br /&gt;&lt;br /&gt;No estoy seguro si la conexión fue cerrada por el servidor de base de datos o por caídas de conexión, pero la conexión fue cerrada.&lt;br /&gt;&lt;br /&gt;Cambie las propiedades del pool de conexiones para forzarlo a verificar si la conexion esta activa antes de utilizarla.  Esto es ponerle un sobrecosto al ejecutar conexiones, pero nos asegura que el pool tenga conexiones disponibles y funcionales.&lt;br /&gt;&lt;br /&gt;En propiedades avanzadas del origen de datos:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nt6c3XlwGIs/Sc1ggCC-9kI/AAAAAAAAAX4/dajEkGeYfFI/s1600-h/was+pool+1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 118px;" src="http://2.bp.blogspot.com/_nt6c3XlwGIs/Sc1ggCC-9kI/AAAAAAAAAX4/dajEkGeYfFI/s320/was+pool+1.jpg" alt="" id="BLOGGER_PHOTO_ID_5318012838415889986" border="0" /&gt;&lt;/a&gt;Cambio la propiedad para que se prueben las conexiones:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt6c3XlwGIs/Sc1g6_up4jI/AAAAAAAAAYA/VbY9hpHKp0I/s1600-h/was+pool+2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 213px;" src="http://4.bp.blogspot.com/_nt6c3XlwGIs/Sc1g6_up4jI/AAAAAAAAAYA/VbY9hpHKp0I/s320/was+pool+2.jpg" alt="" id="BLOGGER_PHOTO_ID_5318013301650219570" border="0" /&gt;&lt;/a&gt;Esto suena util si la base de datos te cierra las conexiones inactivas por cierto tiempo o si la conexion entre el servidor de aplicaciones y el servidor de base de datos es inestable.&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-5758798998770594746?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/5758798998770594746/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/03/pool-de-conexiones-en-websphere.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/5758798998770594746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/5758798998770594746'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/03/pool-de-conexiones-en-websphere.html' title='Pool de conexiones en websphere  - Connection reset'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nt6c3XlwGIs/Sc1ggCC-9kI/AAAAAAAAAX4/dajEkGeYfFI/s72-c/was+pool+1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-6602162193735086678</id><published>2009-03-23T19:49:00.009-06:00</published><updated>2009-03-27T07:36:12.818-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oradim'/><category scheme='http://www.blogger.com/atom/ns#' term='sga_max_size'/><category scheme='http://www.blogger.com/atom/ns#' term='ora-27102'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle 10g'/><title type='text'>Error ORA-27102 al modificar el sga_max_size en oracle</title><content type='html'>El sabado me topé con un error en una base de datos. Un error que me complicó un poco más de la cuenta.&lt;br /&gt;&lt;br /&gt;Necesitabamos modificar los parámetros de memoria asignada al SGA de una base de datos. Lo que hicieron fue modificar el sga_max_size de Oracle para que consumiera más memoria de la que se tenía.&lt;br /&gt;&lt;br /&gt;El problema fue que luego de hecho el cambio y reiniciada la base de datos, la misma no levantaba.&lt;br /&gt;&lt;br /&gt;Revisando logs encontré que me daba un mensaje:&lt;br /&gt;ORA-27102: Out of memory&lt;br /&gt;OSD-00022: aditional error information&lt;br /&gt;O/S-Error: (OS 8) Not enough storage avaible&lt;br /&gt;&lt;br /&gt;Resulta que la maquina donde estaba instalado el oracle era un nodo de un VMWARE y al tratar de asignar la memoria no se encontró espacio de memoria suficiente.&lt;br /&gt;&lt;br /&gt;Hasta aca todo normal, sería solo de modificar de nuevo los parámetros y reiniciar.&lt;br /&gt;&lt;br /&gt;Ingrese al sqlplus:&lt;br /&gt;sqlplus /nolog&lt;br /&gt;connect / as sysdba&lt;br /&gt;&lt;br /&gt;trate de subir el pfile al spfile y levantar la base de datos:&lt;br /&gt;CREATE spfile FROM pfile='c:/initORCL.ora';&lt;br /&gt;startup&lt;br /&gt;&lt;br /&gt;Y me dio un error:&lt;br /&gt;ORA-27100 shared memory realm already exists&lt;br /&gt;&lt;br /&gt;mmm.... la base esta levantada? probe bajarla&lt;br /&gt;shutdown immediate&lt;br /&gt;ORA-27101 shared memory realm does not exists&lt;br /&gt;&lt;br /&gt;Y entonces.. ni esta arriba ni esta abajo ???! Buscando en internet encontre un par de paginas que habia una especie de bug de oracle que te dejaba la base de datos asi...&lt;br /&gt;&lt;br /&gt;Que hice?&lt;br /&gt;&lt;br /&gt;  * baje el servicio de oracle&lt;br /&gt;  * baje la base con linea de comando oradim -shutdown -sid ORCL -shuttype srvc,inst&lt;br /&gt;  * me conecte al sqlplus&lt;br /&gt;  * sqlplus /nolog&lt;br /&gt;  * connect / as sysdba&lt;br /&gt;  * Cambie el pfile&lt;br /&gt;  * CREATE spfile FROM pfile='c:/initORCL.ora';&lt;br /&gt;  * Levante la base usando el nuevo pfile&lt;br /&gt;  *&lt;br /&gt;&lt;br /&gt;    oradim -startup -sid ORCL -starttype srvc -pfile c:/initORCL.ora&lt;br /&gt;&lt;br /&gt;Ahi ya me pude conectar.. pero la base no levantaba automaticamente. Lo siguiente es lo que creo que hay que hacer.. pero no quise hacerlo porque ya eran las 4:00am... y debiamos estar con la base levantada en produccion.. (ohh... fue en una base de datos en produccion).-&lt;br /&gt;&lt;br /&gt;  * Borrar el servicio de oracle oradim -delete -sid ORCL&lt;br /&gt;  * Recrear el servicio de oracle oradim -new -sid ORCL -pfile c:/initORCL.ora&lt;br /&gt;&lt;br /&gt;y ya....&lt;br /&gt;&lt;br /&gt;Saludos!&lt;br /&gt;&lt;br /&gt;Ref.&lt;br /&gt;http://www.dba-oracle.com/t_ora_27100_shared_memory_realm_already_exists.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://newsgroups.derkeiler.com/Archive/Comp/comp.databases.oracle.server/2005-10/msg01447.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-6602162193735086678?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/6602162193735086678/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/03/error-ora-27102-al-modificar-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6602162193735086678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6602162193735086678'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/03/error-ora-27102-al-modificar-el.html' title='Error ORA-27102 al modificar el sga_max_size en oracle'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-7249644321688637373</id><published>2009-03-22T17:45:00.005-06:00</published><updated>2009-03-22T17:59:34.390-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Guatemala internet tigo movil dns firewall'/><title type='text'>Internet movil de Tigo: Errores en el DNS, firewall??</title><content type='html'>Ya llevo unos 3 meses con el Internet &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;Móvil&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Tigo&lt;/span&gt; y hasta el momento no &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;había&lt;/span&gt; tenido &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;ningún&lt;/span&gt; problema con el.&lt;br /&gt;&lt;br /&gt;Hace un par de &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;días&lt;/span&gt; me &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;disponía&lt;/span&gt; a instalar un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;antivirus&lt;/span&gt; para mi computadora. Entre a google, y busque el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Avast&lt;/span&gt;. Al intentar ingresar, me lanzaba un error de que no se encontraba el sitio.&lt;br /&gt;&lt;br /&gt;Bueno, a buscar el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;AVG&lt;/span&gt; o el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Avira&lt;/span&gt;. Pero otra vez error!&lt;br /&gt;&lt;br /&gt;Entre a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;gmail&lt;/span&gt;, a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;yahoo&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;youtube&lt;/span&gt;, etc. y todo andaba bien. Entre a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;microsoft&lt;/span&gt; y error &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;también&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Llame a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;tigo&lt;/span&gt; y me dijeron que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;había&lt;/span&gt; un problema con el servicio, que desconectara el &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;módem&lt;/span&gt; porque lo iban a reiniciar.&lt;br /&gt;&lt;br /&gt;Lo hice y nada. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;Volví&lt;/span&gt; a llamar y me dijeron que: "En este caso tendremos que esperar a la &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;próxima&lt;/span&gt; semana para que lo revisen en el &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_20"&gt;departamento&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;técnico&lt;/span&gt;..."&lt;br /&gt;&lt;br /&gt;Esto &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_22"&gt;sucedió&lt;/span&gt; un &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;sábado&lt;/span&gt;, espero a ver que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;solución&lt;/span&gt; me dan y que tan &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;rápido&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Por el momento, us&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;é&lt;/span&gt; el servicio de ping online para obtener la Ip de avast y bajar mi antivirus :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-7249644321688637373?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/7249644321688637373/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/03/internet-movil-de-tigo-errores-en-el.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7249644321688637373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7249644321688637373'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/03/internet-movil-de-tigo-errores-en-el.html' title='Internet movil de Tigo: Errores en el DNS, firewall??'/><author><name>Alejandro Camargo</name><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-6399109949634790396</id><published>2009-02-18T14:59:00.010-06:00</published><updated>2009-02-26T14:47:18.400-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='optimización'/><category scheme='http://www.blogger.com/atom/ns#' term='DBMS_PROFILER'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle 10g'/><title type='text'>Optimización pl/sql Oracle 10g</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;div&gt;Hace un tiempo estaba trabajando en un proyecto que requería hacer grandes candidades de procesamiento en la base de datos (pl/sql en un oracle 10g).&lt;br /&gt;Entre muchos paquetes que fue necesario crear, estaba el principal que llegó a tener mas de 7000 lineas.&lt;br /&gt;&lt;br /&gt;Este paquete tenía que generar código pl/sql dinámico en base a tablas de configuración y luego aplicar este código a un repositorio de transacciones.&lt;br /&gt;&lt;br /&gt;El rendimiento era muy importante por lo que era necesario que el procesamiento de las transacciones fuera hecho de la manera más óptima. Googleando me encontré con esta solución.&lt;br /&gt;&lt;br /&gt;Oracle trae una paquete de optimización: DBMS_PROFILER. El DBMS_PROFILER es como un log con cronómetro que se activa antes de empezar con la ejecución, de código en la base de datos. Luego de registrar la información, por ejemplo, cuantas veces se ejecutó un linea de código o cuanto tiempo representó la ejecución de una línea de código con respecto al tiempo total de ejecución.&lt;br /&gt;&lt;br /&gt;Los pasos para usarlo son:&lt;br /&gt;&lt;br /&gt;1) Verificar que existan las siguientes tablas&lt;br /&gt;&lt;br /&gt;- plsql_profiler_runs&lt;br /&gt;- plsql_profiler_units&lt;br /&gt;- plsql_profiler_data&lt;br /&gt;&lt;br /&gt;Si no existen, buscar en: /opt/oracle/product/10.2/client_1/rdbms/admin # cat proftab.sql , este archivo contiene la definición de las secuencias y tablas necesarias.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;2) Con bloque de código como este se activa el DBMS_PROFILER.&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;--Activar el DBMS_PROFILER&lt;br /&gt;DBMS_OUTPUT.PUT_LINE (&lt;br /&gt;DBMS_PROFILER.START_PROFILER ('mi_procedimiento ' TO_CHAR (SYSDATE, 'YYYYMMDD HH24:MI:SS') ) --Para identificar mi log&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;MI_PROCEDIMIENTO('param1',10); --Ejecutar normalmente el procedimiento&lt;br /&gt;COMMIT;&lt;br /&gt;&lt;br /&gt;--Desactivar el DBMS_PROFILER&lt;br /&gt;DBMS_OUTPUT.PUT_LINE (&lt;br /&gt;DBMS_PROFILER.STOP_PROFILER);&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;Al ejecutar el procedimiento se han registrado las estadísticas.&lt;br /&gt;&lt;br /&gt;3) Con este query se podrá observar el porcentaje de tiempo usado por cada unidad de procesamiento (un trigger, un procedimiento, una funcion, un paquete, etc.)&lt;br /&gt;&lt;br /&gt;select unit_name,unit_number,unit_times.tiempo/t.total*100 as "%"&lt;br /&gt;from&lt;br /&gt;(&lt;br /&gt;select p2.unit_name, p2.unit_number, sum(p3.total_time) tiempo&lt;br /&gt;from plsql_profiler_data p3, plsql_profiler_units p2&lt;br /&gt;where p3.RUNID = p2.RUNID&lt;br /&gt;and p3.UNIT_NUMBER = p2.UNIT_NUMBER&lt;br /&gt;and p2.runid = :runid&lt;br /&gt;group by p2.unit_name, p2.unit_number&lt;br /&gt;order by unit_number asc&lt;br /&gt;) unit_times,&lt;br /&gt;(&lt;br /&gt;select sum(total_time) total&lt;br /&gt;from plsql_profiler_data&lt;br /&gt;where runid = :runid&lt;br /&gt;) t&lt;br /&gt;order by 3 desc&lt;br /&gt;&lt;br /&gt;Para saber cual es el runid (el parámetro usado en el query) vea la tabla plsql_profiler_runs, identifíquelo con el nombre que le asignó al iniciar el DBMS_PROFILER.&lt;br /&gt;&lt;br /&gt;Un ejemplo del resultado del query:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_c79F45ti47o/SZx4IyINO6I/AAAAAAAAAAk/pZvgkbIcF50/s1600-h/img1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5304246553426082722" style="margin: 0px auto 10px; display: block; width: 320px; height: 210px; text-align: center;" alt="" src="http://3.bp.blogspot.com/_c79F45ti47o/SZx4IyINO6I/AAAAAAAAAAk/pZvgkbIcF50/s320/img1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;El UNIT_NUMBER servirá en el siguiente query.&lt;br /&gt;&lt;br /&gt;4) Con este query obtenemos el porcentaje de tiempo usado por cada línea de la unidad.&lt;br /&gt;&lt;br /&gt;select line#,lines.total_occur, lines.total_time/t.total*100 as "%"&lt;br /&gt;from (&lt;br /&gt;select line#,total_occur,total_time&lt;br /&gt;from plsql_profiler_data p3&lt;br /&gt;where runid = :runid&lt;br /&gt;and unit_number = :unit_num&lt;br /&gt;) lines,&lt;br /&gt;(&lt;br /&gt;select sum(total_time) total&lt;br /&gt;from plsql_profiler_data p3&lt;br /&gt;where runid = :runid&lt;br /&gt;and unit_number = :unit_num&lt;br /&gt;) t&lt;br /&gt;order by 3 desc&lt;br /&gt;&lt;br /&gt;Un ejemplo con código ya optimizado:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_c79F45ti47o/SZx4JGPTJVI/AAAAAAAAAAs/N06792TRn44/s1600-h/img2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5304246558824539474" style="margin: 0px auto 10px; display: block; width: 291px; height: 286px; text-align: center;" alt="" src="http://2.bp.blogspot.com/_c79F45ti47o/SZx4JGPTJVI/AAAAAAAAAAs/N06792TRn44/s320/img2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Al revisar el código se ve que la línea 1939 está dentro de 3 bucles anidados por lo que es lógico que tome el 18% del tiempo. Cuando revise su código sabrá inmediatamente si está sub-optimizado o no. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-6399109949634790396?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/6399109949634790396/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/optimizacion-plsql-oracle-10g.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6399109949634790396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6399109949634790396'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/optimizacion-plsql-oracle-10g.html' title='Optimización pl/sql Oracle 10g'/><author><name>Alejandro Camargo</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c79F45ti47o/SZx4IyINO6I/AAAAAAAAAAk/pZvgkbIcF50/s72-c/img1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-7423867092425351004</id><published>2009-02-17T08:58:00.005-06:00</published><updated>2009-02-26T14:47:53.621-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='Maestos del Web'/><title type='text'>Hackearon maestrosdelweb.com</title><content type='html'>Hoy empece el día con mi lectura habitual de blogs y me tope con la sorpresa de que hackearon el sitio de Christian Van Deer www.maestrosdelweb.com.  Al parecer robaron la administracion del dominio en el dns. Este sitio tiene muchas visitas y un excelente ranking en los buscadores.  Segun he leido será un poco complicado hacer que le devuelvan el sitio e inclusive tendra que utilizar abogados para gestionar esto.&lt;br /&gt;&lt;br /&gt;No acostumbro escribir sobre lo que leo en otros blogs porque igual alguien ya lo publico, pero  esta noticia creo que vale la pena que se divulgue lo mas posible para "presionar" hasta donde sea posible para que GoDaddy devuelva el dominio al dueño original.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt6c3XlwGIs/SZrSlF3f2TI/AAAAAAAAAXw/h8enxIBhE40/s1600-h/mdw.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 134px;" src="http://4.bp.blogspot.com/_nt6c3XlwGIs/SZrSlF3f2TI/AAAAAAAAAXw/h8enxIBhE40/s320/mdw.jpg" alt="" id="BLOGGER_PHOTO_ID_5303783045854124338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Cuando inicié a trabajar en ambientes Web fui durante bastante tiempo un asiduo lector de las listas de correo de esta página, de sus articulos y ahora de los blogs.&lt;br /&gt;&lt;br /&gt;Sea cual sea la razón por la cual perdió su sitio esperemos que recupere rapido su dns y que le afecte lo menor posible.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dumitraqui.guateblogger.com/2009/02/maestros-del-web-foros-del-web.html"&gt;http://dumitraqui.guateblogger.com/2009/02/maestros-del-web-foros-del-web.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aeromental.com/2009/02/16/maestros-del-web-y-foros-del-web-quedaron-offline/"&gt;http://www.aeromental.com/2009/02/16/maestros-del-web-y-foros-del-web-quedaron-offline/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-7423867092425351004?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/7423867092425351004/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/hackearon-maestrosdelwebcom.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7423867092425351004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/7423867092425351004'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/hackearon-maestrosdelwebcom.html' title='Hackearon maestrosdelweb.com'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nt6c3XlwGIs/SZrSlF3f2TI/AAAAAAAAAXw/h8enxIBhE40/s72-c/mdw.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-2000090036704241288</id><published>2009-02-16T18:32:00.005-06:00</published><updated>2009-02-26T14:48:26.017-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pixeles atascados LCD'/><category scheme='http://www.blogger.com/atom/ns#' term='JScreenFix'/><title type='text'>JScreenFix Corregir pixeles en un LCD</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;El año pasado me decidi por actualizar mi vieja computadora de escritorio dentro del nuevo equipo que compre venía un monitor LCD de 16 pulgadas (muy bueno por cierto), al poco tiempo de uso el monitor empezó a mostrar un punto blanco cerca del centro de la pantalla en ese momento pues empece a buscar mi factura para reclamar la garantía, cuando finalmente la encontre, leí en los terminos de garantía me indicaban que la garantía no aplicaba para problemas con píxeles de  monitores, que desgracia!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Afortunadamente, a mi correo electrónico me llego un artículo con el asunto: JScreenFix, elimina los pixeles atascados en tu LCD, inmediatamente me llamo la atención y procedí a leerlo. Dentro del mismo explican la diferencia entre un pixel muerto y uno atascado.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6cDAULKtowk/SZoKK_hN_VI/AAAAAAAAAAM/2Vh5nvne3PM/s1600-h/lcd_display_dead_pixel.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 212px; height: 212px;" src="http://1.bp.blogspot.com/_6cDAULKtowk/SZoKK_hN_VI/AAAAAAAAAAM/2Vh5nvne3PM/s320/lcd_display_dead_pixel.jpg" alt="" id="BLOGGER_PHOTO_ID_5303562695147912530" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Un pixel muerto es aquel que sencillamente no prende, es decir, al tener un fondo blanco se ve un puntito negro que nunca cambia de color pues obviamente está apagado. Por otro lado, un pixel atascado (o zombie, como yo los nombro) está encendido pero fijo en un solo color, generalmente rojo pero puede variar.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  JScreenFix es un applet que funciona en cualquier navegador -consecuentemente en cualquier S.O.- que permite revivir esos pixeles atascados por medio de un “bombardeo” de cambios de color (recuerden que un pixel se compone de 3 colores: rojo, azul y verde) que con un poco de suerte te dejará con un pixel completamente funcional.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Según el autor puede funcionar incluso con las sombras que se quedan en un LCD si se ha dejado con una imagen fija por mucho tiempo, reduciendo las manchas gradualmente hasta que sean prácticamente imperceptibles.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Para utilizarlo simplemente presina este vínculo &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.jscreenfix.com/basic.php"&gt;JScreenFix&lt;/a&gt;&lt;span style="font-family:arial;"&gt;, coloca la ventana sobre el pixel atascado y espera una media hora para ver los resultados. Para las manchas se recomienda poner a pantalla completa por un par de horas para mantener uniformidad.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;A mi me funcionó hace mucho tiempo con un par de pixeles atascados pero si contigo no hace el truco o tienes un pixel muerto, prueba frotándolo suave pero firmemente de manera circular con una franela que no dañe tu monitor (similar a la que viene con los anteojos).&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-2000090036704241288?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/2000090036704241288/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/el-ano-pasado-me-decidi-por-actualizar.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/2000090036704241288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/2000090036704241288'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/el-ano-pasado-me-decidi-por-actualizar.html' title='JScreenFix Corregir pixeles en un LCD'/><author><name>PanchoGT</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6cDAULKtowk/SZoKK_hN_VI/AAAAAAAAAAM/2Vh5nvne3PM/s72-c/lcd_display_dead_pixel.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-1426463384985629266</id><published>2009-02-13T08:37:00.002-06:00</published><updated>2009-02-13T08:44:07.610-06:00</updated><title type='text'>Google Sync sincroniza contactos</title><content type='html'>Hace algunos días leí en blogs que google sync ahora ya sincroniza contactos. La funcionalidad esta buenísima, con eso me aseguro de tener un backup de mi libreta de direcciones en mi cuenta de gmail.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nt6c3XlwGIs/SZWHIUzOH0I/AAAAAAAAAXg/xxevgeVFdws/s1600-h/google+sync.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 246px; height: 265px;" src="http://3.bp.blogspot.com/_nt6c3XlwGIs/SZWHIUzOH0I/AAAAAAAAAXg/xxevgeVFdws/s320/google+sync.jpg" alt="" id="BLOGGER_PHOTO_ID_5302292713390874434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;El tema de los contactos siempre ha sido complicado porque tengo unos en el "outlook (o thunderbird)" otros en el telefono y otros en mi mail.. Ahora ya sincronizo entre mi telefono BlackBerry y mi gmail. Hace tiempo estuve usando el zindus para thunderbird... tendre que retormarlo ya que este sincroniza thunderbird con gmail.&lt;br /&gt;&lt;br /&gt;Esto no es tan util para quienes tiene exchange y sincronizan ahi todo, pero en mi caso esta perfecto.&lt;br /&gt;&lt;br /&gt;Para descargarlo simplemente entre a &lt;a href="http://m.google.com/sync"&gt;http://m.google.com/sync&lt;/a&gt; desde mi blackberry&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-1426463384985629266?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/1426463384985629266/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/google-sync-sincroniza-contactos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/1426463384985629266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/1426463384985629266'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/google-sync-sincroniza-contactos.html' title='Google Sync sincroniza contactos'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nt6c3XlwGIs/SZWHIUzOH0I/AAAAAAAAAXg/xxevgeVFdws/s72-c/google+sync.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-8022781312201735731</id><published>2009-02-07T10:45:00.002-06:00</published><updated>2009-02-07T10:52:34.798-06:00</updated><title type='text'>Hoy me di cuenta que no se ni mierda.</title><content type='html'>Hoy cuando entre a la universidad nuevamente despues de muchos intentos fallidos de solo llegar un par de dias para luego desaparecerme, llegue al salon entre a recibir la misma clase que he llevado desde hace varios años y me senti realmente frustrado.&lt;br /&gt;&lt;br /&gt;Mi primera impresion fue "yo ya se esta mierda", pero la verdad era que yo creia que ya sabia. Porque la verdad es que creo que se muchas cosas pero a la larga no se ni mierda de nada.&lt;br /&gt;&lt;br /&gt;De lo que si se es de pornografia, de putas y de star wars.&lt;br /&gt;&lt;br /&gt;Espero algun dia saber algo productivo para la sociedad, la verdad me gustaria que la mayoria de gente viviera mi mundo pornografico y de fantasia donde todo cogen con todos hasta llegar al placer absoluto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-8022781312201735731?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/8022781312201735731/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/hoy-me-di-cuenta-que-no-se-ni-mierda.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/8022781312201735731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/8022781312201735731'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/hoy-me-di-cuenta-que-no-se-ni-mierda.html' title='Hoy me di cuenta que no se ni mierda.'/><author><name>ron</name><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-4024954744782934203</id><published>2009-02-03T15:17:00.011-06:00</published><updated>2009-02-03T15:50:25.018-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Handshake'/><category scheme='http://www.blogger.com/atom/ns#' term='ssl'/><category scheme='http://www.blogger.com/atom/ns#' term='CertificateException'/><title type='text'>Instalar un certificado SSL en un IBM Websphere 6.1</title><content type='html'>Mas de alguna vez me he topado con el problema de instalar un certificado SSL en Java. Hoy nos toco instalarlo en un Was 6.1 (Websphere Application Server de IBM).&lt;br /&gt;&lt;br /&gt;¿porque necesitaría instalarlo?&lt;br /&gt;&lt;br /&gt;Porque tengo una aplicacion java instalada en el WAS que necesita consumir un servicio proveído por otra maquina mediante SSL, por ejemplo: consumir un webservice en una direccion https, crear usuarios en un LDAP, leer el contenido de un https.&lt;br /&gt;&lt;br /&gt;¿porque es complicado?&lt;br /&gt;&lt;br /&gt;Realmente no es muy complicado pero es un poco dificil conseguir documentacion ya que la mayoría de documentación relacionada esta orientada a Tomcat, o a configurarlo en un JVM usando herramientas como el keytool. Ademas que las busquedas en google regularmente te refieren a como instalar un SSL en tu WAS o a como conectar tu WAS a un LDAP con SSL.&lt;br /&gt;&lt;br /&gt;¿que error me da?&lt;br /&gt;&lt;br /&gt;Si trabajo con conexiones SSL sin tener los certificados registrados, me aparecen errores como:&lt;br /&gt;javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Could not find trusted certificate&lt;br /&gt;&lt;br /&gt;Handshake terminated SSL engine: CLOSED at com.ibm.ws.webservices.engine.transport.http.HttpOutboundChannelConnection.connect(HttpOutboundChannelConnection.java:752)  at   com.ibm.ws.webservices.engine.transport.http.HttpsOutboundChannelConnection.connect(HttpsOutboundChannelConnection.java)&lt;br /&gt;&lt;br /&gt;¿que debo hacer?&lt;br /&gt;La idea es encontrar el lugar de almacenamiento de los certificados en JVM (keystore) y registrar los certificados de las urls en las que confiamos.  Es decir si me voy a conectar a https://banco.com.gt debo de instalar el certificado de &lt;span style="font-style: italic;"&gt;banco&lt;/span&gt; dentro de mi JVM.&lt;br /&gt;&lt;br /&gt;En un tomcat buscaría el JRE que se esta ejecutando e instalaría el certificado: "keytool -keystore cacerts -trustcacerts -import -file xxx.cer".&lt;br /&gt;&lt;br /&gt;pero para el WAS 6.1 no puedo hacerlo de esa manera.&lt;br /&gt;&lt;br /&gt;WAS 6.0 funciono usando el keytool de la JRE que viene en WAS.&lt;br /&gt;&lt;br /&gt;¿que debo hacer?&lt;br /&gt;&lt;br /&gt;1. ir al sitio del banco  y desde el explorador descargar el certificado.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt6c3XlwGIs/SYi5tZsoLbI/AAAAAAAAAW4/oGJ1WMEUeu0/s1600-h/certificado.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 275px; height: 203px;" src="http://4.bp.blogspot.com/_nt6c3XlwGIs/SYi5tZsoLbI/AAAAAAAAAW4/oGJ1WMEUeu0/s320/certificado.png" alt="" id="BLOGGER_PHOTO_ID_5298689151244709298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2. En el sitio administrativo de WAS, buscar la opcion de "almacenes de claves" y desde ahi configurar los certificados:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nt6c3XlwGIs/SYi6TWJXKkI/AAAAAAAAAXY/TxpSRTkgKE4/s1600-h/sslwas04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 165px;" src="http://3.bp.blogspot.com/_nt6c3XlwGIs/SYi6TWJXKkI/AAAAAAAAAXY/TxpSRTkgKE4/s320/sslwas04.jpg" alt="" id="BLOGGER_PHOTO_ID_5298689803126516290" border="0" /&gt;&lt;/a&gt;Seleccionar las opciones de certificados firmados&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt6c3XlwGIs/SYi6TYjM0SI/AAAAAAAAAXQ/Uttkc6IOvbM/s1600-h/sslwas03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://4.bp.blogspot.com/_nt6c3XlwGIs/SYi6TYjM0SI/AAAAAAAAAXQ/Uttkc6IOvbM/s320/sslwas03.jpg" alt="" id="BLOGGER_PHOTO_ID_5298689803771760930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;y ahi busco el certificado default para el Nodo/celda en la que estoy trabajando dentro de WAS.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nt6c3XlwGIs/SYi6TSZqMxI/AAAAAAAAAXI/rVTvAlwrKLk/s1600-h/sslwas02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 147px;" src="http://2.bp.blogspot.com/_nt6c3XlwGIs/SYi6TSZqMxI/AAAAAAAAAXI/rVTvAlwrKLk/s320/sslwas02.jpg" alt="" id="BLOGGER_PHOTO_ID_5298689802121130770" border="0" /&gt;&lt;/a&gt;Aqui agrego el archivo CER generado y con esta información ya dejo registrado el certificado de banco como confiable (trusted).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nt6c3XlwGIs/SYi6Tev_WwI/AAAAAAAAAXA/Ht5qi3r0cQg/s1600-h/sslwas01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 220px;" src="http://3.bp.blogspot.com/_nt6c3XlwGIs/SYi6Tev_WwI/AAAAAAAAAXA/Ht5qi3r0cQg/s320/sslwas01.jpg" alt="" id="BLOGGER_PHOTO_ID_5298689805436017410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Luego de esto se reinicia el WAS y las aplicaciones ya encuentran los certificados como confiables y establecen la conexion.&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-4024954744782934203?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/4024954744782934203/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/instalar-un-certificado-ssl-en-un-ibm.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/4024954744782934203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/4024954744782934203'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/02/instalar-un-certificado-ssl-en-un-ibm.html' title='Instalar un certificado SSL en un IBM Websphere 6.1'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nt6c3XlwGIs/SYi5tZsoLbI/AAAAAAAAAW4/oGJ1WMEUeu0/s72-c/certificado.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-6898305436256254792</id><published>2009-01-29T13:20:00.006-06:00</published><updated>2009-01-30T08:15:37.027-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utilitarios'/><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><title type='text'>Expandir Escritorio y TaskBar</title><content type='html'>Tengo un monitor conectado a mi Laptop.&lt;br /&gt;&lt;br /&gt;Lo tengo como un monitor "expandido"  y  eso me permite tener varias ventanas abiertas al mismo tiempo en ambos monitores. Cada monitor tiene sus propias ventanas.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nt6c3XlwGIs/SYJBWLl4qKI/AAAAAAAAAWo/9EmZ0mHO5pk/s1600-h/taskbefore.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 115px;" src="http://1.bp.blogspot.com/_nt6c3XlwGIs/SYJBWLl4qKI/AAAAAAAAAWo/9EmZ0mHO5pk/s320/taskbefore.gif" alt="" id="BLOGGER_PHOTO_ID_5296867961065744546" border="0" /&gt;&lt;/a&gt;Uno de los temas que no me gustaba es que en la ventana "ampliada" no tenia una taskbar con los programas que se estan ejecutando sino que tenia solamente la pantalla.&lt;br /&gt;&lt;br /&gt;Yo quería tener barra de tareas en cada monitor para que cuando tenga varias ventanas abiertas en el monitor que no estoy viendo.&lt;br /&gt;&lt;br /&gt;googleando encontre un programita que hace lo que necesito: Multimonitor TaskBar . Este me permite tener en cada pantalla una taskbar con los programas ejecutandose en ese monitor.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nt6c3XlwGIs/SYJBWQrkAMI/AAAAAAAAAWw/n1h9-0EsrHk/s1600-h/mmtaskafter.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 116px;" src="http://2.bp.blogspot.com/_nt6c3XlwGIs/SYJBWQrkAMI/AAAAAAAAAWw/n1h9-0EsrHk/s320/mmtaskafter.gif" alt="" id="BLOGGER_PHOTO_ID_5296867962431733954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediachance.com/free/multimon.htm"&gt;http://www.mediachance.com/free/multimon.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-6898305436256254792?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/6898305436256254792/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/expandir-escritorio-y-taskbar.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6898305436256254792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/6898305436256254792'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/expandir-escritorio-y-taskbar.html' title='Expandir Escritorio y TaskBar'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nt6c3XlwGIs/SYJBWLl4qKI/AAAAAAAAAWo/9EmZ0mHO5pk/s72-c/taskbefore.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-1866319875039655887</id><published>2009-01-29T13:04:00.001-06:00</published><updated>2009-01-29T17:36:23.692-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Second Life'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiasco awards'/><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Second Life y Windows Vista compiten por premio al "mayor fiasco" tecnológico</title><content type='html'>&lt;p&gt;Hace &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;algún&lt;/span&gt; tiempo y bajo la influencia de PUBLICIDAD guiada, entre a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;second&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;life&lt;/span&gt; y cree mi cuenta, lo cual resulto en una &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;severenda&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;CAGADA&lt;/span&gt;.    Realmente me &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;pareció&lt;/span&gt; MUY MALO el concepto, y la interfaz con el usuario, daba bastantes errores, cada rato se me &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;caía&lt;/span&gt; la maquina.&lt;/p&gt;&lt;p&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;Tal vez&lt;/span&gt; sea comparar peras con manzanas, pero el nivel de interacción, calidad &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;gráfica&lt;/span&gt;, calidad de experiencia de usuario que logro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;WOW&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;World&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;of&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Warcraft&lt;/span&gt;) es años luz mejor que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;SECOND&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;LIFE&lt;/span&gt;.   Es &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;increíble&lt;/span&gt; que existan hasta personas que viven de hacer desarrollos sobre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;SECOND&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;LIFE&lt;/span&gt;.    En fin, les dejo la siguiente NOTA que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;encontré&lt;/span&gt; sobre los FIASCO &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;AWARDS&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;Existen nueve finalistas de la primera edición que compiten por los premios al mayor fiasco tecnológico del año, cuyo ganador elegirán los propios &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;internautas&lt;/span&gt;. &lt;/p&gt;&lt;p&gt;Los Fiasco &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Awards&lt;/span&gt; han sido promovidos en España por un grupo de personas vinculadas al sector de las Tecnologías de la Información y la Comunicación.&lt;br /&gt;El objetivo de los galardones es "potenciar el espíritu crítico y fomentar una actitud positiva ante los fracasos para poder aprender de ellos como un paso previo para asumir el éxito", explicaron los organizadores.&lt;br /&gt;Hasta el 26 de febrero, todos aquellos que visiten la página &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;web&lt;/span&gt; &lt;a href="http://www.fiascoawards.com/"&gt;www.fiascoawards.com&lt;/a&gt; podrán votar por uno de los nueve finalistas, entre las que figuran también el competidor de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Second&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Life&lt;/span&gt;, Google &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;Lively&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/3305350710615317946-1866319875039655887?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/1866319875039655887/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/second-life-y-windows-vista-compiten.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/1866319875039655887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/1866319875039655887'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/second-life-y-windows-vista-compiten.html' title='Second Life y Windows Vista compiten por premio al &quot;mayor fiasco&quot; tecnológico'/><author><name>LeonidasGT</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_sR4GTxv5tFs/SYB8olnnMmI/AAAAAAAAAAM/LEBm4MAAzR8/S220/evil_clown.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-41279781511318135</id><published>2009-01-29T09:25:00.000-06:00</published><updated>2009-01-29T09:39:25.335-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='XSLT'/><title type='text'>XSLT y caracteres especiales</title><content type='html'>En una pagina jsp que utiliza xslt encontramos este problema.&lt;br /&gt;&lt;br /&gt;Caused by: org.xml.sax.SAXParseException: The entity name must immediately follow the '&amp;amp;' in the entity reference.&lt;br /&gt;org.jdom.input.JDOMParseException: Error on line 9: The entity name must immediately follow the '&amp;amp;' in the entity reference.&lt;br /&gt;&lt;br /&gt;XSLT es una tecnología que permite tener un xml de datos  y un xml de presentacion y al combinar ambos resulta una pagina formateada. Ya sea en html, xhtml, texto o algun otro xml.&lt;br /&gt;&lt;br /&gt;El problema que se encontro fue que uno de los xml dentro de el contenido de una TAG tenía caracteres especiales de html., ej.&lt;br /&gt;&lt;br /&gt;&lt;dato&gt;prueba&amp;amp;prueba&lt;dato&gt;&lt;br /&gt;&lt;br /&gt;El mensaje aparece relacionado a jdom porque jdom es la librería que sirve para parsear el xml y al parecer es usada por la implementacion de xslt que estamos usando.&lt;br /&gt;&lt;br /&gt;la solucion fue simple, parseamos la data de el xml para que en lugar de usar un &amp;amp; pongamos el &amp;amp;amp;&lt;br /&gt;&lt;br /&gt;saludos!&lt;br /&gt;&lt;br /&gt;p.d.  DavidA proporciono el problema y la solucion de este post.&lt;br /&gt;&lt;/dato&gt;&lt;/dato&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-41279781511318135?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/41279781511318135/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/xslt-y-caracteres-especiales.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/41279781511318135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/41279781511318135'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/xslt-y-caracteres-especiales.html' title='XSLT y caracteres especiales'/><author><name>carcasco</name><uri>http://www.blogger.com/profile/04160609060642490217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_nt6c3XlwGIs/SX9c5mfgFLI/AAAAAAAAAWM/Pg8bH6yHZpc/S220/msn_ccc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-1366493068570903620</id><published>2009-01-28T18:58:00.000-06:00</published><updated>2009-01-28T19:01:06.196-06:00</updated><title type='text'>Etapas de un proyecto de Desarrollo</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_sR4GTxv5tFs/SYD_rJToLMI/AAAAAAAAAAo/58pGHFGnthg/s1600-h/project-cartoon-1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5296514278485404866" style="WIDTH: 257px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://3.bp.blogspot.com/_sR4GTxv5tFs/SYD_rJToLMI/AAAAAAAAAAo/58pGHFGnthg/s320/project-cartoon-1.jpg" border="0" /&gt;&lt;/a&gt; Cualquier parecido con la realidad es pura coincidencia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-1366493068570903620?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/1366493068570903620/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/etapas-de-un-proyecto-de-desarrollo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/1366493068570903620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/1366493068570903620'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/etapas-de-un-proyecto-de-desarrollo.html' title='Etapas de un proyecto de Desarrollo'/><author><name>LeonidasGT</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_sR4GTxv5tFs/SYB8olnnMmI/AAAAAAAAAAM/LEBm4MAAzR8/S220/evil_clown.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sR4GTxv5tFs/SYD_rJToLMI/AAAAAAAAAAo/58pGHFGnthg/s72-c/project-cartoon-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3305350710615317946.post-8039260791527152658</id><published>2009-01-27T13:04:00.001-06:00</published><updated>2009-02-26T14:48:04.378-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Arrancamos!</title><content type='html'>Este blog pretende ser un medio para publicar contenido de temas en los que nos vemos involucrados regularmente.&lt;br /&gt;&lt;br /&gt;Es una pagina que mantendremos actualizada entre un grupo de personas que trabajamos en el mundo del desarrollo y la informática.&lt;br /&gt;&lt;br /&gt;Queremos publicar contenido relaciondo a:&lt;br /&gt;* Notas sobre tecnología&lt;br /&gt;* Apuntes sobre desarrollo de software&lt;br /&gt;* Ciencia Ficcion&lt;br /&gt;* Linux, servidores, etc.&lt;br /&gt;* Chistes geeks y noticias&lt;br /&gt;* Otros temas: anime, series, películas y games&lt;br /&gt;&lt;br /&gt;Todo esto pretendemos hacerlo mediante un ambiente agradable, informal, tecnico y sobre todo.. GEEK!&lt;br /&gt;&lt;br /&gt;saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3305350710615317946-8039260791527152658?l=mygeekplace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mygeekplace.blogspot.com/feeds/8039260791527152658/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/arrancamos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/8039260791527152658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3305350710615317946/posts/default/8039260791527152658'/><link rel='alternate' type='text/html' href='http://mygeekplace.blogspot.com/2009/01/arrancamos.html' title='Arrancamos!'/><author><name>mygeekplace</name><uri>http://www.blogger.com/profile/03073871124502471855</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>
