tag:blogger.com,1999:blog-1147583384082912852024-02-19T18:51:53.512-08:00Sheldon RulesWeb programming stuff. Tutoriales, noticias, curiosidades de todo lo que me encuentre relacionado con programación web: frameworks, php, javascript, html, css, aplicaciones web y programación en general. Quality Assurance. Automatización de pruebas (Selenium, JUnit,...).Unknownnoreply@blogger.comBlogger103125tag:blogger.com,1999:blog-114758338408291285.post-28001596226151038132016-09-02T02:57:00.003-07:002016-09-02T02:57:47.633-07:00Desconectar Facebook de WhatsappPara desenlazar/desvincular Facebook de Whatsapp, o lo que es lo mismo, no dar permiso a que Facebook tenga información de sus datos y conversaciones en Whatsapp, para supuestamente mostrarle unos anuncios más interesantes cuando se encuentre en Facebook:<br />
<br />
Siga los siguientes pasos:<br />
<br />
<ol>
<li>Menú de whatsapp -> Ajustes</li>
<li>Ajustes -> Cuenta</li>
<li>Desmarque el check de la opción "Compartir info. de cuenta", que se encuentra al fondo del menú de cuenta.</li>
<li>Confirme, pulsando en "NO COMPARTIR", que no quiere compartir datos de Whatsapp con Facebook.</li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-16850255348456051612016-07-25T13:14:00.002-07:002016-07-25T13:14:54.119-07:00Error 404 para pretty permalinks en Wordpress en hosting compartido<p>
Borramos (o mejor guardamos el fichero .htaccess antiguo renombrado). En las configuraciones de Wordpress establecemos el tipo de permalinks por defecto (o "simple", que acaban en ?p=123.. ). Y guardamos esa configuración.
</p>
<p>
Wordpress genera un .htaccess que debe tener la siguiente pinta:
</p>
<pre class="codigo">
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
</pre>
<p>
Volvemos al ajuste de permalinks, y establecemos la opción de pretty links que queremos, por ejemplo nuestro_dominio/%postname%/. Guardamos.
</p>
<p>
En la configuración de nuestro hosting compartido, donde tenemos instalado el Wordpress, buscamos un apartado donde nos permita sincronizar el .htaccess. En mi caso en Acens/Hostalia, fue un botón "Sync htaccess".
</p>
<p>
Ya está. Tenemos el blog funcionando con los enlaces permanentes con el formato que hemos elegido.
</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-12260082408395699092016-06-29T12:29:00.002-07:002016-06-29T12:29:37.488-07:00Los DNS del hosting de Hostalia<p>Los DNS(servidores de nombre) de <a href="https://www.hostalia.com/hosting/">Hostalia</a>, que puedes necesitar para alojar en su hosting dominios que tengas contratado en otro sitio.</p>
<pre>
ns1.srv-hostalia.com Dirección IP: 176.28.103.143
ns2.srv-hostalia.com Dirección IP: 176.28.103.144
</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-64008755393955347982016-06-29T12:26:00.001-07:002016-06-29T12:30:25.966-07:00Los DNS del hosting de Acens<p>Los DNS(servidores de nombre) de <a href="http://www.acens.com/hosting/">acens</a>, que puedes necesitar para alojar en su hosting dominios que tengas contratado en otro sitio.</p>
<pre>
ns1.srv-acens.com Dirección IP: 176.28.103.154
ns2.srv-acens.com Dirección IP: 176.28.103.155
</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-10255723415220202962016-06-11T08:18:00.001-07:002016-09-01T10:58:47.549-07:00Anidar variables en un script de bashQuiero ir componiendo dinámicamente el nombre de una variable, mediante otra variable, que actúe a modo de una especie de índice, para despues, usar el valor de esa variable indexada.<br />
Por ejemplo:<br />
<div class="codigo">
<pre>
foo1=aaa
foo2=bbb
foo3=ccc
</pre>
</div>
En ese ejemplo, el pseudo índice sería una variable que pudiera tener valores {1,2,3} y la variable compuesta sería {foo1, foo2, foo3}, que se ha compuesto con foo+(i={1,2,3})<br />
Quiero usar (imprimir para el ejemplo) los valores de fooN donde N={1,2,3}, con un <i>'for i in'</i>. De momento no he encontrado la forma de componer la variable directamente con algo como <i>'${foo${i}}'</i>, así que, lo que sí puedo hacer es componer secuencialmente la variable, guardando cada paso de la composición en una variable: <i>'bar=foo$i; echo $bar;'</i><br />
<div class="codigo">
<pre>for i in {1..3} do; bar=foo$i; echo $bar; done</pre>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-61508171027203680772016-06-11T06:37:00.000-07:002016-06-11T06:45:10.483-07:00DNS de Piensasolutions<div class="fecha">11/06/2016</div>
<ul>
<li>ns1.piensasolutions.com (217.76.150.137)</li>
<li>ns2.piensasolutions.com (82.223.219.201)</li>
</ul>
<h2>"Letra pequeña" o servicios extra y sus tarifas adicionales</h2>
<ul>
<li>Whois Privado (GRATIS el primer año, después 3,95€/año).</li>
<li>Filtro Anti-virus / Anti-spam (GRATIS el primer año, después 2€/mes).</li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-31994721803210531582016-05-24T05:04:00.000-07:002016-05-24T05:06:03.087-07:00Cambiar el color de fondo del texto seleccionado en Atom<p>El color del texto seleccionado, que viene por defecto en los temas oscuros de Atom, tiene poco contraste, es difícil diferenciar lo que está realmente seleccionado.</p>
<p>Para cambiar el color de fondo del texto seleccionado en el editor Atom:</p>
<ol>
<li><p>Abrimos la hoja de estilos personal para el editor:</p>
<p>edit -> Open Your Stylesheet.</p>
<p>Se abre una nueva pestaña con el fichero <em>styles.less</em>. Al final del cuál añadimos la regla del siguiente paso.</p></li>
<li>Añadimos la regla que determine el color y el borde la región seleccionada:</li>
<div class="codigo"><pre>
atom-text-editor::shadow .selection .region {
border: 1px solid <em>yellow</em>; /* color del borde */
background-color: <em>yellow</em> !important; /* color de fondo */
}
</pre></div>
<li><p>Tan sólo con salvar el fichero, el editor vuelve a cargar esa hoja de estilos, porque y aplicar la nueva regla. Se puede probar sin cambiar de pestaña seleccionado un texto.</p></li>
</ol>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-85404291117466991812016-05-22T04:28:00.004-07:002016-05-22T04:28:49.826-07:00Atom - shortcut / atajo para cambiar gramática / tipo del texto editado<p>Problema: Cuando abres una pestaña nueva, empiezas a escribir o pegas un texto, quieres que atom aplique una gramática, aunque todavía no hayas guardado el fichero con una extensión. Quieres establecer la gramática sin recurrir al ratón para pinchar en la equina inferior derecha para cambiar el tipo de texto editado.</p>
<p>El atajo para elegir la gramática aplicada, es:</p>
<kbd>ctrl</kbd>+<kbd>shift</kbd>+<kbd>L</kbd>
<p>Y del menú eliges el tipo de texto, CSS, HTML, C, JAVA, ...</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-8222145267819215812016-05-06T08:38:00.000-07:002016-05-06T09:08:15.319-07:00Teclas para cambiar de pestaña en el terminal/consola en Ubuntu<p>
Teclas o atajos de teclado (shortcuts) para cambiar de pestaña en el terminal o consola de Ubuntu:
</p>
<p>
<kbd>Ctrl</kbd>+<kbd>Tab</kbd>, <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Tab</kbd> no funcionan en el terminal de Ubuntu, para cambiar de pestaña hacia delante o atrás.
</p>
<p>
Para cambiar a una pestaña anterior o posterior en el terminal, funciona:
</p>
<p>
<kbd>Ctrl</kbd> + <kbd>PgUp</kbd>/<kbd>PgDn</kbd>
</p>
<p>
Para activar la pestaña # (1..9), en el terminal:
</p>
<p>
<kbd>Alt</kbd> + <kbd>#</kbd>
</p>
<p>
En gedit, para cambiar de pestaña a una previa/posterior:
</p>
<p>
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>PgUp</kbd>/<kbd>PgDn</kbd>
</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-65474776463077298882016-04-13T06:20:00.002-07:002016-04-13T06:20:50.792-07:00Shortcuts para Atom - atajos para tecladoChuleta de atajos de teclado para operaciones comunes y/o útiles en el editor Atom.
<a href="http://sweetme.at/2014/03/10/atom-editor-cheat-sheet/">http://sweetme.at/2014/03/10/atom-editor-cheat-sheet/</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-37948385560582820512016-04-13T06:19:00.000-07:002016-04-16T01:47:28.577-07:00CDN para Bootstrap<h3>Servidores externos para Bootstrap</h3>
<p>CDN: content delivery network - Red de Nodo(s) ajeno(s), distintos al tuyo, que alojan y sirven determinados recursos estándar o populares, que puedes usar habitualmente gratis, confiando que esos nodos ofrecen una garantía de disponibilidad y calidad de servicio mayor a la que puedes ofrecer tú con tu servidor. Desde esa red usuario podrá descargar los ficheros servidos, de los que puede depender tu página o aplicación web, que estando externalizados, serán servidos a tu usuario con mayores garantías, además liberando de esa tarea a tu servidor.</p>
<a href="https://www.bootstrapcdn.com">www.bootstrapcdn.com</a>
<p>Permite elegir distintas versiones y formatos de Bootstrap y te ofrece sus links a esos recursos.</p>
<h3>Otros CDN para bootstrap y otros recursos</h3>
<ul>
<li><a href="https://cdnjs.com/libraries/twitter-bootstrap">cdnjs.com</a> bootstrap, incluyendo versiones 'alpha' de bootstrap 4</li>
<li><a href="https://cdnjs.com/libraries#">cdnjs.com/libraries</a> js, css, html, bootstrap, ...</li>
<li><a href="https://www.jsdelivr.com/?query=bootstrap">jsdelivr.com</a> bootstrap, cientos de librerías populares js, css...</li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-26024864323717226432016-04-04T06:33:00.000-07:002016-04-13T06:18:14.010-07:00<p><h2>Problema:</h2>Al intentar hacer un push con git a un repositorio remoto de gitlab.com, se obtiene un error de acceso debido a autentificación fallida.</p>
<div class="codigo">
<pre>
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.</pre>
</div>
<p>
<h2>Solución:</h2>
Definir el protocolo del repositorio remoto con https en vez de ssh. Para ello desde el menú de administración del proyecto en gitlab.com, obtenemos la dirección del repositorio del proyecto, seleccionado HTTPS en el menú desplegable:
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj66bhtvD9jxIf9PZFpGVySBqbT-HKagfkdqAbEwTBEXP6LvAR3gNvOVHFK19ecFG4Vkwkwr4JgWXEGXImlj5NMdKe9Nu_E7f9D_xpmlsh1jSi5-hPi2tPLWY6ktHdVmdti4264YYfBGoPB/s1600/gitlabhttps.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj66bhtvD9jxIf9PZFpGVySBqbT-HKagfkdqAbEwTBEXP6LvAR3gNvOVHFK19ecFG4Vkwkwr4JgWXEGXImlj5NMdKe9Nu_E7f9D_xpmlsh1jSi5-hPi2tPLWY6ktHdVmdti4264YYfBGoPB/s320/gitlabhttps.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;"></div>
<p>Pongamos que la dirección del repositorio que hemos obtenido es:</p>
<div class="codigo">
https://gitlab.com/pepito/proyecto.git
</div>
<p>Y usamos esa dirección a la hora de definir el remote local (que llamaremos or ejemplo 'repohttps') que usaremos al hacer el push:</p>
<div class="codigo">
git remote add repohttps https://gitlab.com/pepito/proyecto.git
</div>
<p>Si ahora revisamos los remote que tenemos, entre ellos estará el nuevo con la dirección https que indicamos:</p>
<div class="codigo">
git remote -v<br/>
... (probablemente otros remote que tengamos)<br/>
<strong>repohttps https://gitlab.com/pepito/proyecto.git</strong><br/>
... (probablemente otros remote que tengamos)
</div>
<p>
Ahora al hacer push, usaremos el remoto que acabamos de crear, para conectar a través de https.
</p>
<div class="codigo">
git push repohttps <nombre_del_branch_local o master>
</div>
<p>
Con ésto (a mí) ya no se me queja de fallo de autentificación, y hace el push (sube las cosas al repositorio remoto) sin problemas.
</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-84002625969575033802016-03-31T04:59:00.002-07:002016-03-31T04:59:38.389-07:00Emulador Android en Visual Studio<p>Microsoft promociona su emulador de Android para su perenne IDE (Visual Studio).</p>
<a href="https://channel9.msdn.com/events/Visual-Studio/Visual-Studio-2015-Final-Release-Event/Visual-Studio-Emulator-for-Android/">https://channel9.msdn.com/events/Visual-Studio/Visual-Studio-2015-Final-Release-Event/Visual-Studio-Emulator-for-Android/</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-38347423353082525192016-03-30T04:38:00.002-07:002016-03-30T04:46:48.499-07:00Tutoriales: Git, Cocoa, Objective-C, MathML<p>Tutoriales en inglés de:</p>
<p>
<ul>
<li><a href="http://rypress.com/tutorials/git/index">Git (gratuito)</a></li>
<li><a href="http://rypress.com/tutorials/objective-c/index">Objective-C (gratuito)</a></li>
<li><a href="http://rypress.com/tutorials/mathml/index">MathML (gratuito)</a></li>
</ul>
</p>
<p>
<ul>
<li><a href="http://rypress.com/tutorials/cocoa/index">Cocoa (<strong>no</strong> gratuito)</a></li>
</ul>
</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-59289111041321883532016-03-30T04:31:00.000-07:002016-03-30T04:32:16.048-07:00git: crear nuevo branch y pasar a él (checkout), en un sólo comando <p>Para crear un nuevo branch a partir de la versión del código (puede que estemos sobre el master o sobre un branch, o sobre un (sub)+branch), con el que estamos trabajando, y colocarnos directamente sobre el branch creado (hacer un checkout del branch, tras haberlo creado) en un sólo comando:</p>
<pre class="codigo">
git checkout -b nombre_nuevo_branch #crear y activar branch
</pre>
<p>Esto sería equivalente a los siguiente dos comandos:</p>
<pre class="codigo">
git branch nombre_nuevo_branch # crear branch
git checkout nombre_nuevo_branch # activar branch
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-1486235035717045682016-03-30T02:18:00.001-07:002016-03-30T02:25:27.978-07:00Centrar horizontalmente bloques dentro de un bloque contenedor<p>
<div>Problema: Queremos tener una lista de bloques ("elementos_a_centrar") dentro de un contenedor, que estén centrados respecto a ese contenedor.</div>
<div>Solución: Metemos los "elementos_a_centrar" dentro de un contenedor auxiliar ("contenedor_auxiliar") con el estilo:</div>
</p>
<pre class="codigo">
.contenedor_auxiliar {
float: right;
position: relative;
left: -50%; /* ó right 50% */
}
</pre>
<p>A los "elementos_a_centrar" les asignamos el estilo:</p>
<pre class="codigo">
elementos_a_centrar {
position: relative;
left: 50%;
}
</pre>
<p>
Referencia a la solución original, con ejemplo:
<a href="http://codepen.io/alexandredees/pen/ojaFr">http://codepen.io/alexandredees/pen/ojaFr</a>
</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-29946823028190464772016-03-23T03:43:00.002-07:002016-03-23T03:43:32.240-07:00app WAZYPARK - plazas libres de aparcamiento en la calleLa app española <a href="http://www.wazypark.com/">wazypark</a> te dice dónde hay plazas libres para aparcar en la calle, cerca de ti, gratis.
En su página oficial se puede ver un mapa que refleja la actividad de uso de su aplicación. Ésta ha sido realizada por <a href="https://es.linkedin.com/in/carlosrodriguezvargas">Carlos Rodriguez Vargas</a>, que ha usado para ello <a href="https://cartodb.com/">CartoDB</a>.
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc3zFLycFdJFiRF6Awaw9UTPmruP14CunvnVZ2kil6WU5A1r0VqirkZO30BxHoLQfl0hOfPSEIiAmnkFK843G__qOab-XmeodlTf7Js67TuSA4ZM0gj0Felzi9t6k4iVtTC_rQjs5mQgVC/s1600/cartodb.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc3zFLycFdJFiRF6Awaw9UTPmruP14CunvnVZ2kil6WU5A1r0VqirkZO30BxHoLQfl0hOfPSEIiAmnkFK843G__qOab-XmeodlTf7Js67TuSA4ZM0gj0Felzi9t6k4iVtTC_rQjs5mQgVC/s320/cartodb.png" /></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-28432852639245672332016-03-08T12:03:00.000-08:002016-03-08T12:03:15.485-08:00Sillas inteligentesCon éstas sillas, en más de una oficina aumentaría la productividad, si además se les pusiera un cinturón para "asegurar" al empleado.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/O1D07dTILH0/0.jpg" src="https://www.youtube.com/embed/O1D07dTILH0?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-89192366547186589462014-11-01T06:19:00.000-07:002014-11-01T06:19:17.864-07:00Desactivar enlaces en Notepad++Para desactivar el resalte o formato de los textos que representan un enlace/URL, en la última versión de notepad++ version 6.2.3 desmarcamos la siguiente opción :
Settings » Preferences » Misc » Clickable Link settings
<div class="separator" style="clear: both; text-align: center;"><a href="http://i.stack.imgur.com/giUry.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.stack.imgur.com/giUry.png" /></a></div>
Para que tenga efecto, hay que cerrar y abrir el programa(notepad++).Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-87864494243108720502013-07-19T05:58:00.002-07:002013-07-19T05:58:46.028-07:00Desactivar buzón de voz de Tuenti<div class="tr_bq">
Instrucciones copiadas de la web de Tuenti: </div>
<br /><blockquote>
Cómo configurar el buzón de voz <br />Puedes escuchar tu buzón de voz gratis llamando al 22123. Si quieres desactivar tu buzón de voz puedes hacerlo marcando el ##002# y la tecla de llamada. Para activarlo de nuevo, marca **62*22123# más la tecla de llamada.</blockquote>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-48994675977509287712012-11-28T13:34:00.001-08:002012-11-28T13:34:58.500-08:00Frameworks de javascript que no conocía<ul>
<li><a href="http://www.bindows.net/">Bindows</a></li>
<li><a href="http://qooxdoo.org/">QOOXDOO </a></li>
<li><a href="http://yuilibrary.com/">YUI Library</a></li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-65129470404061976342012-11-28T13:26:00.000-08:002012-11-28T13:26:12.190-08:00Portabilidad ADSL y teléfono fijo desde Jazztel a Vodafone (españa)Información, que espero le sea útil a alguien, sobre la portabilidad desde Jazztel a Vodafone (Noviembre 2012, España)<br />
<br />
Plazos:<br />
<ul>
<li>7 días para revocar portabilidad</li>
<li>7 días para entrega en la dirección que has indicado. </li>
<li>La entrega se hace a través de Correos. Si no lo recibes te dejan una notificación y la recoges en la oficina de correos.)</li>
<li>20 días en tramitarse la portabilidad.</li>
</ul>
En el departamento de "Fidelización" de Jazztel me dijeron que me cobrarían hasta el día que se dá la baja y no el resto del mes.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-85262744764482801602012-10-30T17:00:00.000-07:002012-10-30T17:00:00.675-07:00Top frameworks de CSS actuales<ul>
<li><a href="http://twitter.github.com/bootstrap/">Bootstrap</a> </li>
<li><a href="http://foundation.zurb.com/">Foundation</a> </li>
<li><a href="http://getskeleton.com/">Skeleton</a> </li>
<li><a href="http://imperavi.com/kube/">Kube</a></li>
</ul>
Artículo con la comparación de los 3 primeros [<a href="http://responsive.vermilion.com/compare.php">en inglés</a>][<a href="http://koulikov.com/wp-content/uploads/2012/10/css-frameworks/">en ruso</a>].Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-89636743447623446882012-08-04T04:26:00.000-07:002012-08-04T04:26:11.382-07:00Parsers de XML y JSON para la plataforma JAVALibrerías de código abierto para parsear XML y JSON en la plataforma JAVA.<br />
<a href="http://fasterxml.com/projects.html">http://fasterxml.com/projects.html</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-114758338408291285.post-13384774891369535322012-06-22T17:30:00.000-07:002012-06-22T17:37:31.806-07:00HtmlUnit - Desactivar trazas de advertencia de css y javascriptAñadir el siguiente código:<br />
<div class="codigo">LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");</div>
De ésta forma ya no veremos más en la consola las (molestas) trazas de HtmlUnit del tipo:
<div class="codigo">
21-jun-2012 17:26:01 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
ADVERTENCIA: Obsolete content type encountered: 'application/x-javascript'.
21-jun-2012 17:26:01 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
ADVERTENCIA: Obsolete content type encountered: 'application/x-javascript'.
21-jun-2012 17:26:02 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
ADVERTENCIA: Obsolete content type encountered: 'application/x-javascript'.
21-jun-2012 17:26:02 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
ADVERTENCIA: Obsolete content type encountered: 'application/x-javascript'.
21-jun-2012 17:26:02 com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine handleJavaScriptException
INFO: Caught script exception
======= EXCEPTION START ========
EcmaError: lineNumber=[797] column=[0] lineSource=[<no source>] name=[ReferenceError] sourceName=[script in http://aURL from (794, 64) to (798, 12)#797)]
com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "flush" is not defined. (script in http://aURL from (794, 64) to (798, 12)#797)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:595)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:499)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:474)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:870)
at com.gargoylesoftware.htmlunit.html.HtmlScript.executeInlineScriptIfNeeded(HtmlScript.java:302)
at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:368)
at com.gargoylesoftware.htmlunit.html.HtmlScript$1.execute(HtmlScript.java:230)
at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:240)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:598)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:556)
at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1142)
at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1044)
at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206)
at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:329)
at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:3018)
at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2005)
at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:908)
at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499)
at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:789)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:225)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:179)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:221)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:106)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:433)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:311)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:373)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:358)
at es.cuponet.AirfastScrapper.main(AirfastScrapper.java:115)
Caused by: net.sourceforge.htmlunit.corejs.javascript.EcmaError: ReferenceError: "flush" is not defined. (script in http://aURL from (794, 64) to (798, 12)#797)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3790)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3768)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3852)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getNameFunctionAndThis(ScriptRuntime.java:2239)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1505)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:854)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:429)
at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:267)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3183)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScriptEngine.java:490)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:589)
... 32 more
Enclosed exception:
net.sourceforge.htmlunit.corejs.javascript.EcmaError: ReferenceError: "flush" is not defined. (script in http://aURL from (794, 64) to (798, 12)#797)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3790)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3768)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3852)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getNameFunctionAndThis(ScriptRuntime.java:2239)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1505)
at script(script in http://aURL from (794, 64) to (798, 12):797)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:854)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:429)
at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:267)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3183)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScriptEngine.java:490)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:589)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:499)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:474)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:870)
at com.gargoylesoftware.htmlunit.html.HtmlScript.executeInlineScriptIfNeeded(HtmlScript.java:302)
at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:368)
at com.gargoylesoftware.htmlunit.html.HtmlScript$1.execute(HtmlScript.java:230)
at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:240)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:598)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:556)
at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1142)
at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1044)
at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206)
at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:329)
at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:3018)
at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2005)
at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:908)
at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499)
at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:789)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:225)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:179)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:221)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:106)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:433)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:311)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:373)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:358)
at es.cuponet.AirfastScrapper.main(AirfastScrapper.java:115)
======= EXCEPTION END ========
21-jun-2012 17:26:02 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
ADVERTENCIA: Obsolete content type encountered: 'application/x-javascript'.
21-jun-2012 17:26:03 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error
ADVERTENCIA: CSS error: [563:46] Error in expression. Invalid token "=". Was expecting one of: ...</div>Unknownnoreply@blogger.com1