<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2542977524128160243</atom:id><lastBuildDate>Wed, 13 Nov 2024 11:27:42 +0000</lastBuildDate><category>Blogger</category><category>Java</category><category>Windows</category><category>Android</category><category>php</category><category>MySQL</category><category>ubuntu</category><category>Eclipse</category><category>Windows 7</category><category>frameworks</category><category>linux</category><category>CSS</category><category>Firefox</category><category>Google</category><category>Plugins</category><category>movil</category><category>opensuse</category><category>Addons</category><category>Chrome</category><category>Fotografía</category><category>HTML</category><category>Raspberry Pi</category><category>Router</category><category>Shortcut</category><category>Truco</category><category>Wii</category><category>codeigniter</category><category>iphone</category><category>Aplicación</category><category>Autenticación</category><category>Batch</category><category>Comparativa</category><category>Compra</category><category>Contraseña</category><category>DIV</category><category>DnD</category><category>Estadisticas</category><category>HDMI</category><category>HTML5</category><category>IDE</category><category>Ocultar</category><category>Recomendación</category><category>Reflex</category><category>Seguridad</category><category>Swing</category><category>Tutorial</category><category>VPN</category><category>Wicket</category><category>iphone 3G</category><category>javascript</category><category>jquery</category><category>proyecto</category><category>svn</category><category>Acceso directo</category><category>Adsense</category><category>Amon RA</category><category>Analisis</category><category>Analytics</category><category>Apagar</category><category>Arte</category><category>Arte oculto</category><category>Asus</category><category>Atajo</category><category>Backup</category><category>Barra lateral</category><category>Bloq Despl</category><category>Búsquedas</category><category>CMS</category><category>Cable Modem</category><category>Cables</category><category>Camara</category><category>Canon</category><category>Canon EOS 550D</category><category>Categoría</category><category>Cisco</category><category>Cloud</category><category>Compras online</category><category>Consola</category><category>Credenciales</category><category>Crítica</category><category>Cyanogen</category><category>Código</category><category>Dominio</category><category>Dos</category><category>Drivers</category><category>Dual</category><category>EPR2320</category><category>Editor</category><category>Firmware</category><category>Formatear</category><category>Google Cloud Print</category><category>HDD</category><category>HTC Magic</category><category>Hibernar</category><category>IP</category><category>Impresora</category><category>Inalámbrico</category><category>Installer</category><category>JTree</category><category>JavaHL</category><category>Joomla</category><category>Lectura</category><category>Libro Electrónico</category><category>M80</category><category>Mac</category><category>Madrid</category><category>Magic Lantern</category><category>MariaDB</category><category>Medir</category><category>Mensajeria</category><category>Mobile</category><category>Modem</category><category>Navegador</category><category>Neoya</category><category>Notas</category><category>Notepad++</category><category>ONO</category><category>PDF</category><category>Password</category><category>Picasa</category><category>Portátil</category><category>Posicionamiento</category><category>Post</category><category>Print</category><category>Programacion</category><category>Prueba</category><category>ROM</category><category>Radio</category><category>Ratón</category><category>Recargar</category><category>Refrescar</category><category>Regla</category><category>Remoto</category><category>Restaurar</category><category>SIM</category><category>SIM Card</category><category>SSD</category><category>Script</category><category>Scroll Lock</category><category>Servlet</category><category>Session</category><category>Shutdown.exe</category><category>Skype</category><category>Subclipse</category><category>Subdominio</category><category>Subversion</category><category>TODO</category><category>Tab</category><category>Taxonomy</category><category>Terms</category><category>Tienda online</category><category>Trust</category><category>Tuenti</category><category>Tunel</category><category>URL</category><category>USB</category><category>Unidad de Red</category><category>VHD</category><category>Variable</category><category>Virtual</category><category>Vídeo</category><category>Webmaster</category><category>WhatsApp</category><category>Widget</category><category>Wifi</category><category>Windows XP</category><category>Wordpress</category><category>XP Mode</category><category>apple</category><category>audio</category><category>clonado</category><category>configuracion</category><category>contador</category><category>date</category><category>ddclient</category><category>debug</category><category>dns</category><category>dolphin</category><category>drupal</category><category>dyndns</category><category>eBook</category><category>email</category><category>experimento</category><category>fecha</category><category>flash</category><category>foreign key</category><category>git</category><category>gmail</category><category>gparted</category><category>grub</category><category>height</category><category>homebrew</category><category>howto</category><category>jailbreak</category><category>jre</category><category>kvm</category><category>liberar</category><category>mover</category><category>netgear</category><category>party</category><category>pasado</category><category>performance</category><category>permisos</category><category>phonegap</category><category>php singleton</category><category>putty</category><category>redsnow</category><category>repositorio</category><category>root</category><category>scroll</category><category>simplen</category><category>strtotime</category><category>sun</category><category>synaptic</category><category>tiempo</category><category>update</category><category>vlc</category><category>webex</category><category>x</category><title>Chapucillas</title><description>Blog tecnológico, de programación, informática e internet todo en un popurri de consejos y recomendaciones que me van sucediendo en el día a día</description><link>http://chapucillas.spuas.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>109</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-8654670849298694798</guid><pubDate>Wed, 11 Oct 2017 06:33:00 +0000</pubDate><atom:updated>2017-10-10T23:33:59.344-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Dual</category><category domain="http://www.blogger.com/atom/ns#">movil</category><category domain="http://www.blogger.com/atom/ns#">SIM</category><category domain="http://www.blogger.com/atom/ns#">SIM Card</category><title>Desactivar una de las SIM en un teléfono dual Android</title><description>Por primera vez tengo un teléfono dual SIM. Se trata de un Android de la marca BQ al que se le puede insertar una segunda tarjeta SIM. Esto puede ser útil para mantener un número de teléfono personal y otro del trabajo sin tener que llevar dos teléfonos o si tenemos dos tarjetas con distintas tarifas y queremos usar una u otra dependiendo del momento.&lt;br /&gt;
&lt;br /&gt;
En mi caso, tengo dos tarjetas SIM de la misma compañía y en caso de que se me acaben los minutos de la primera, entra en juego la segunda. Esto no me pasa a menudo y si me pasa, suele ser a final de mes por lo que tener la segunda tarjeta activa todo ese tiempo, me parecía una tontería además de un gasto de batería.&lt;br /&gt;
&lt;br /&gt;
Por suerte, existe una pantalla de configuración entera para las preferencias de las tarjetas SIM en la que se puede elegir qué tarjeta queremos usar por defecto para las llamadas, los datos y los mensajes cortos SMS.&lt;br /&gt;
&lt;br /&gt;
En la versión 7 de Android, Android Nougat, en la pantalla de configuración, encontramos esta opción casi arriba del todo: &quot;SIM Cards&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI7B7kgdB3FlzcoCxAuJJw0nx6I_bweInF1uhGbqkrATzcsawjDqLsxlq6pSg96PNHQCtFGKwuQ3yA_TbmPZopyIJF2i0rnhXMY6S8235Hgm64WoF-vPjyiqCjxOtmkvdVbyV8i5o3w_F0/s1600/Screenshot_20171011-082206.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;900&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI7B7kgdB3FlzcoCxAuJJw0nx6I_bweInF1uhGbqkrATzcsawjDqLsxlq6pSg96PNHQCtFGKwuQ3yA_TbmPZopyIJF2i0rnhXMY6S8235Hgm64WoF-vPjyiqCjxOtmkvdVbyV8i5o3w_F0/s400/Screenshot_20171011-082206.png&quot; width=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Ahí encontraremos la opción para desactivar una de las SIM y así ahorrar algo de batería hasta que de verdad nos haga falta usarla, o si queremos desactivar la tarjeta del trabajo fuera de las horas laborales.</description><link>http://chapucillas.spuas.com/2017/10/desactivar-una-de-las-sim-en-un.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI7B7kgdB3FlzcoCxAuJJw0nx6I_bweInF1uhGbqkrATzcsawjDqLsxlq6pSg96PNHQCtFGKwuQ3yA_TbmPZopyIJF2i0rnhXMY6S8235Hgm64WoF-vPjyiqCjxOtmkvdVbyV8i5o3w_F0/s72-c/Screenshot_20171011-082206.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-4802828162453160429</guid><pubDate>Sat, 07 Feb 2015 15:18:00 +0000</pubDate><atom:updated>2015-02-07T07:20:04.614-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">IP</category><category domain="http://www.blogger.com/atom/ns#">Raspberry Pi</category><category domain="http://www.blogger.com/atom/ns#">Router</category><title>IP estática en Raspberry Pi</title><description>Para definir IP estática en nuestra Raspberry hay que seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
El comando &lt;i&gt;&lt;b&gt;ifconfig&lt;/b&gt;&lt;/i&gt; nos da la configuración actual de la red. Si no tienes instalado hay que ejecutar lo siguiente.&lt;br /&gt;
&lt;div style=&quot;background: #dddddd; border-radius: 25px; border: 2px solid #a1a1a1; font-size: 15px; margin-top: 20px; padding: 10px 40px; width: 700px;&quot;&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;sudo apt-get install wireless-tools
&amp;gt;sudo ifconfig -a&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
De ahí obtendras la IP actual asignada.&lt;br /&gt;
&lt;br /&gt;
A continuación hay que editar el archivo&lt;i&gt;&lt;b&gt; /etc/network/interfaces&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Podemos hacer una copia para no perder la configuración actual&lt;br /&gt;
&lt;div style=&quot;background: #dddddd; border-radius: 25px; border: 2px solid #a1a1a1; font-size: 15px; margin-top: 20px; padding: 10px 40px; width: 500px;&quot;&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;cd /etc/network
&amp;gt;sudo cp interfaces interfaces_old
&amp;gt;ls&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
Editar archivo&lt;br /&gt;
&lt;div style=&quot;background: #dddddd; border-radius: 25px; border: 2px solid #a1a1a1; font-size: 15px; margin-top: 20px; padding: 10px 40px; width: 500px;&quot;&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;sudo nano /etc/network/interfaces&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Localizamos la linea que pone:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #e06666;&quot;&gt;&lt;i&gt;iface eth0 inet dhcp&lt;/i&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
y la sustituimos por esto&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;i&gt;iface eth0 inet static&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;i&gt;address 192.168.1.41&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;i&gt;netmask 255.255.255.0&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;i&gt;gateway 192.168.1.1&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Los datos son los siguientes:&lt;br /&gt;
- 192.168.1.41 es la IP fija que se va a asignar&lt;br /&gt;
- 255.255.255.0 es la máscara de la red&lt;br /&gt;
- 192.168.1.1 es la IP del router&lt;br /&gt;
&lt;br /&gt;
Sutituir también la primera línea del archivo&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #e06666;&quot;&gt;&lt;i&gt;auto lo&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Por esta línea &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;i&gt;auto eth0&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;/pre&gt;
</description><link>http://chapucillas.spuas.com/2015/02/ip-estatica-en-raspberry-pi.html</link><author>noreply@blogger.com (Cristina)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-1397945126300802695</guid><pubDate>Thu, 09 Oct 2014 07:17:00 +0000</pubDate><atom:updated>2014-10-09T00:17:24.464-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">netgear</category><category domain="http://www.blogger.com/atom/ns#">Router</category><title>Contraseña por defecto de un router NETGEAR</title><description>Para la mayoría de dispositivos NETGEAR los datos de usuario y contraseña por defecto son los siguientes:&lt;br /&gt;
&lt;br /&gt;
Username: &lt;b&gt;admin&lt;/b&gt;&lt;br /&gt;
Password: &lt;b&gt;password&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Para routers antiguos el password es: 1234</description><link>http://chapucillas.spuas.com/2014/10/contrasena-por-defecto-de-un-router.html</link><author>noreply@blogger.com (Cristina)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-2042427431053498653</guid><pubDate>Tue, 07 Oct 2014 07:34:00 +0000</pubDate><atom:updated>2014-10-07T00:42:19.193-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Skype</category><title>Problema con la sesión de Skype: siempre online</title><description>¿Apareces siempre conectado en tu cuenta de Skype?&lt;br /&gt;
&lt;br /&gt;
Puede que tengas la cuenta de Skype asociada al correo de Hotmail o la cuenta de Facebook y tengas abierta la sesión a través de estas aplicaciones.&lt;br /&gt;
&lt;br /&gt;
Pero si no es así, lo más probable es que la sesión de tu cuenta se haya quedado abierta por iniciar sesión en tu móvil o en otro PC.&lt;br /&gt;
&lt;br /&gt;
Para comprobar si hay otras sesiones abiertas hay que escribir en el chat de cualquier persona (no le llegará nada al destinatario):&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background: #dddddd; border-radius: 25px; border: 2px solid #a1a1a1; font-size: 15px; margin-top: 20px; padding: 10px 40px; width: 500px;&quot;&gt;
&lt;i&gt;/showplaces&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Este comando muestra todos los dispositivos donde está iniciada la sesión.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Si aparecen más de un dispositivo, debes cerrar la sesión en el resto ejecutando este comando: &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background: #dddddd; border-radius: 25px; border: 2px solid #a1a1a1; font-size: 15px; margin-top: 20px; padding: 10px 40px; width: 500px;&quot;&gt;
&lt;i&gt;/remotelogout&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Cierra la sesión en todos los dispositivos excepto en el actual.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Ya no aparecerás siempre conectado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://chapucillas.spuas.com/2014/10/problema-con-la-sesion-de-skype-siempre.html</link><author>noreply@blogger.com (Cristina)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-2567555118388671038</guid><pubDate>Wed, 01 Oct 2014 10:24:00 +0000</pubDate><atom:updated>2014-10-01T03:54:28.626-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">HTML</category><category domain="http://www.blogger.com/atom/ns#">HTML5</category><category domain="http://www.blogger.com/atom/ns#">jquery</category><title>Restringir el valor de un campo en un formulario con jQuery Mask Plugin</title><description>Para restringir los valores al rellenar un formulario HTML se puede usar el plugin &lt;a href=&quot;http://igorescobar.github.io/jQuery-Mask-Plugin/&quot; target=&quot;_blank&quot;&gt;jQuery Mask Plugin&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo uso de las nuevas funcionalidades de HTML5 y cambiando el valor del atributo &quot;type&quot; a &quot;number&quot;&lt;br /&gt;
&amp;lt;input type=&quot;number&quot; name=&quot;hours&quot; id=&quot;hours&quot;&amp;gt; realiza una validación al enviar el formulario, pero antes de eso, te ha permitido introducir una serie de letras en el input.&lt;br /&gt;
&lt;br /&gt;
Con jQuery Mask Plugin, solo permite introducir valores posibles definidos en la máscara que se le ha asignado al input.&lt;br /&gt;
&lt;br /&gt;
Os dejo un ejemplo siguiendo la función &#39;&lt;span style=&quot;font-weight: normal;&quot;&gt;On-the-fly mask change&#39; &lt;/span&gt;de la documentación para restringir el valor de un campo al número de horas (0-24). Es necesario incluir jQuery y jQuery Mask&lt;br /&gt;
&lt;br /&gt;
Ejemplo en JSFiddle &lt;a href=&quot;http://jsfiddle.net/crismahe/of1fawpy/&quot; target=&quot;_blank&quot;&gt;aquí&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background: #dddddd; border-radius: 25px; border: 2px solid #a1a1a1; font-size: 15px; margin-top: 20px; padding: 10px 40px; width: 600px;&quot;&gt;
&lt;pre id=&quot;line1&quot;&gt;&lt;i&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;script&lt;/span&gt; &lt;span class=&quot;attribute-name&quot;&gt;type&lt;/span&gt;=&quot;&lt;a class=&quot;attribute-value&quot; href=&quot;https://www.blogger.com/null&quot;&gt;text/javascript&lt;/a&gt;&quot; &lt;span class=&quot;attribute-name&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;
&lt;pre id=&quot;line1&quot;&gt;&lt;i&gt;&lt;span class=&quot;attribute-name&quot;&gt;src&lt;/span&gt;=&quot;&lt;a class=&quot;attribute-value&quot; href=&quot;view-source:http://code.jquery.com/jquery-latest.min.js&quot;&gt;http://code.jquery.com/jquery-latest.min.js&lt;/a&gt;&quot;&amp;gt;&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;script&lt;/span&gt;&amp;gt;&lt;/i&gt;&lt;/pre&gt;
&lt;pre id=&quot;line1&quot;&gt;&lt;i&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;script&lt;/span&gt; &lt;span class=&quot;attribute-name&quot;&gt;type&lt;/span&gt;=&quot;&lt;a class=&quot;attribute-value&quot; href=&quot;https://www.blogger.com/null&quot;&gt;text/javascript&lt;/a&gt;&quot; &lt;span class=&quot;attribute-name&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;
&lt;pre id=&quot;line1&quot;&gt;&lt;i&gt;&lt;span class=&quot;attribute-name&quot;&gt;src&lt;/span&gt;=&quot;&lt;a class=&quot;attribute-value&quot; href=&quot;view-source:http://igorescobar.github.io/jQuery-Mask-Plugin/js/jquery.mask.min.js&quot;&gt;js/jquery.mask.min.js&lt;/a&gt;&quot;&amp;gt;&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;script&lt;/span&gt;&amp;gt;&lt;/i&gt;&lt;/pre&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&amp;lt;input id=&quot;hours&lt;/i&gt;&lt;i&gt;&quot; type=&quot;text&quot; value=&quot;&quot; name=&quot;hours&quot; &amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&amp;lt;script&amp;nbsp; type=&quot;text/javascript&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;var options_hours = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;translation&#39;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pattern: /[0-2*]/,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; optional: true&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pattern: /[0-4*]/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; onKeyPress: function (cep) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var masks = [&#39;30&#39;, &#39;24&#39;];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (cep.length &amp;gt; 1) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var first_number = cep.substring(0, 1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var &lt;/i&gt;&lt;i&gt;&lt;i&gt;first_number &lt;/i&gt;= &quot;&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mask = (&lt;/i&gt;&lt;i&gt;&lt;i&gt;first_number &lt;/i&gt;== &#39;2&#39;) ? masks[1] : masks[0];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(&#39;#hours&#39;).mask(mask, this);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;$(&#39;#hours&#39;).mask(&#39;30&#39;, options_hours); &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&amp;lt;/script&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://chapucillas.spuas.com/2014/10/restringir-el-valor-del-campo-en-un.html</link><author>noreply@blogger.com (Cristina)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-6738513237129330722</guid><pubDate>Wed, 30 Jul 2014 16:46:00 +0000</pubDate><atom:updated>2014-11-22T13:09:29.321-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">phonegap</category><title>Crea tu primera aplicación con PhoneGap</title><description>Para crear tu primera aplicación con &lt;a href=&quot;http://www.phonegapspain.com/&quot; target=&quot;_blank&quot;&gt;PhoneGap&lt;/a&gt; hay que seguir los siguientes pasos:
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
Instalar NodeJS. Desde la versión 3.0 e PhoneGap la instalación se realiza mediante NodeJS.

Descargar el instalador desde la web de &lt;a href=&quot;http://nodejs.org/&quot; target=&quot;_blank&quot;&gt;NodeJS&lt;/a&gt; y seguir los pasos de instalación.&lt;/div&gt;
&lt;br /&gt; &lt;/li&gt;
&lt;li&gt;
Una vez instalado NodeJS abrir un terminal y ejecutar el siguiente comando. &lt;br /&gt;
&lt;i&gt;&amp;gt; npm install -g phonegap&lt;/i&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
Con esto se habrán descargado desde el repositorio oficial todos los paquetes necesarios para crear aplicaciones con PhoneGap &lt;/div&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
Desde el terminal, nos dirigimos al directorio donde se vamos a crear nuestra aplicación. Desde ahí ejecutamos el siguiente comando.&lt;/div&gt;
&lt;i&gt;&amp;gt; phonegap create my-first-app&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Comprobamos que se ha creado un directorio my-first-app
&lt;br /&gt;
&lt;i&gt;&amp;gt;cd my-first-app&lt;br /&gt;
&amp;gt;dir &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
Comprobamos que dentro de este directorio tenemos 4 nuevas carpetas: hooks, platforms, plugins, www&lt;/div&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
Para compilar la aplicación de forma remota mediante PhoneGap Build para la versión de Android, ejecutamos el siguiente comand. Nos pedirá un usuario y contraseña &lt;/div&gt;
&lt;i&gt;&amp;gt; phonegap remote run android&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
Esta acción nos devuelve un código QR . Con esta compilación, no disponemos de la aplicación 
en local, se ha generado de forma online con la plataforma PhoneGap 
Build. &lt;/div&gt;
&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
La aplicación remota la podremos ver en la página de &lt;a href=&quot;https://build.phonegap.com/&quot; target=&quot;_blank&quot;&gt;Adobe PhoneGap Build&lt;/a&gt;. Para compilar con PhoneGap Build necesitamos disponer de cuenta de ID de Adobe o de GIT. Con la cuenta gratuita PhoneGap Build solo nos permite subir una aplicación. También se puede subir la aplicación directamente desde la página subiendo en un ZIP la carpeta www de la aplicación, en vez de hacerlo por línea de comandos. &lt;/div&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Para ejecutar la aplicación en local&lt;br /&gt;
&lt;i&gt;&amp;gt; phonegap local run android&lt;/i&gt;&lt;br /&gt;
Se abrirá un emulador que cargará la aplicación si no hay ningún emulador ya ejecutándose.&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;b&gt;NOTA 1:&lt;/b&gt; También se puede ejecutar para otras plataformas (en este caso iOs) con el comando&lt;br /&gt;
&lt;i&gt;&amp;gt; phonegap run ios &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;NOTA 2:&lt;/b&gt; Para ejecutar la aplicación en Android, deberemos tener instalado el SDK de Android y configuradas las siguientes variables de entorno:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;ANDROID_HOME = C:\ADT\adt-bundle-windows-x86_64-20140702\sdk&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;ANDROID_PLATFORM_TOOLS = C:\ADT\adt-bundle-windows-x86_64-20140702\sdk\platform-tools&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;ANDROID_TOOLS = C:\ADT\adt-bundle-windows-x86_64-20140702\sdk\tools&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;ANT_HOME = C:\apache-ant-1.9.4-bin\apache-ant-1.9.4&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Incluir estas variables en el PATH&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;PATH = %ANDROID_HOME%\tools;%ANDROID_PLATFORM_TOOLS%;%ANT_HOME%\bin;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Atención: la versión de ant debe ser superior a 1.6&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;NOTA 3:&lt;/b&gt; Es necesario tener instalado GIT en nuestro PC, sino durante la instalación de PhoneGap nos aparecerá un error.&amp;nbsp; &lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;NOTA 4:&lt;/b&gt; Si aparece el error&lt;code&gt; &lt;i&gt;Failure [INSTALL_FAILED_OLDER_SDK]&lt;/i&gt; &lt;/code&gt;hay que comprobar que la versión de android:minSdkVersion=&quot;&quot; del fichero AndroidManifest.xml es igual o menor a la API con la que se ejecuta el emulador donde se instala la aplicación y que dicha API está instalada en nuestro ordenador. &lt;/div&gt;
&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://chapucillas.spuas.com/2014/07/crea-tu-primera-aplicacion-con-phonegap.html</link><author>noreply@blogger.com (Cristina)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-3994608826467722526</guid><pubDate>Tue, 24 Sep 2013 09:45:00 +0000</pubDate><atom:updated>2013-09-24T02:45:47.741-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dolphin</category><category domain="http://www.blogger.com/atom/ns#">opensuse</category><category domain="http://www.blogger.com/atom/ns#">permisos</category><category domain="http://www.blogger.com/atom/ns#">root</category><title>Ejecutar Dolphin como root</title><description>&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Muchas ocasiones, cuando voy a hacer algn cambio desde el navegador de &lt;b&gt;OpenSuse&lt;/b&gt; (&lt;b&gt;Dolphin&lt;/b&gt;) me encuentro con que no tengo suficientes &lt;b&gt;permisos&lt;/b&gt; ya que necesito ser root&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Una alternativa es hacer las acciones desde la consola, por lnea de comandos. Pero si queremos hacerlo en modo grfico, es posible ejecutar Dolphin o el explorador de archivos con permisos de root o &lt;b&gt;administrador&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Desde la consola escribimos&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #b6d7a8; font-family: Courier New, Courier, monospace;&quot;&gt;kdesu dolphin&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;introducimos el password de root y listo, Dolphin con &lt;b&gt;permisos de administracin&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;ACTUALIZACIN&lt;/b&gt;:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Tambin se puede arrancar desde el escritorio:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Desde el &lt;b&gt;botn de inicio&lt;/b&gt;, escribimos &#39;dolphin&#39; y en la segunda opcin nos aparecer el administrador de archivos en &#39;&lt;b&gt;&lt;i&gt;super user mode&lt;/i&gt;&lt;/b&gt;&#39;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Si no tambin se puede buscar en Aplications &amp;gt; System &amp;gt; File Manager &amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
</description><link>http://chapucillas.spuas.com/2013/09/ejecutar-dolphin-como-root.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-3937979833540293534</guid><pubDate>Tue, 24 Sep 2013 08:20:00 +0000</pubDate><atom:updated>2013-09-24T01:20:09.922-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">configuracion</category><category domain="http://www.blogger.com/atom/ns#">MariaDB</category><category domain="http://www.blogger.com/atom/ns#">MySQL</category><category domain="http://www.blogger.com/atom/ns#">opensuse</category><category domain="http://www.blogger.com/atom/ns#">Seguridad</category><title>Configuarcin y seguridad de MariaDB (MySQL) en OpenSUSE</title><description>&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;La instalacin de &lt;a href=&quot;http://chapucillas.spuas.com/search/label/MySQL&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;MySQL&lt;/b&gt;&lt;/a&gt; en &lt;a href=&quot;http://chapucillas.spuas.com/search/label/opensuse&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;OpenSUSE&lt;/b&gt;&lt;/a&gt; es muy sencilla, incluso es muy posible que venga preinstalado en muchas instalaciones. De lo contrario, abre YaST, y en la opcin de administracin de software, busca los paquetes escribiendo &quot;mysql&quot; en el campo de bsqueda. Te debern aparecer todos los necesarios (ten en cuenta que la versin que se instalar es &lt;a href=&quot;http://es.wikipedia.org/wiki/MariaDB&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;MariaDB&lt;/b&gt;&lt;/a&gt;, una ramificacin del original &lt;a href=&quot;http://chapucillas.spuas.com/search/label/MySQL&quot; target=&quot;_blank&quot;&gt;MySQL&lt;/a&gt;, pero de los mismos autores).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Muy posiblemente tambin te aparecern otros paquetes como el mdulo de PHP para MySQL o phpMyAdmin, para gestionar tu base de datos desde el navegador. Si ests interesado, instalalos tambin.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZE3vuRz00H1btqVHvugJz1M0dCSVI0GzyvGiS-i5-Gk2FoiRp7yONz1D7Wp3BguT5yriXDm6H_EYJ2Fl7XTQtBsNGQJeJ06xabeo-IlvRXO1b7sw-LM1niQK1Hwpth7z8u5gA5yRal1n3/s1600/mariadb_mysql.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;129&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZE3vuRz00H1btqVHvugJz1M0dCSVI0GzyvGiS-i5-Gk2FoiRp7yONz1D7Wp3BguT5yriXDm6H_EYJ2Fl7XTQtBsNGQJeJ06xabeo-IlvRXO1b7sw-LM1niQK1Hwpth7z8u5gA5yRal1n3/s320/mariadb_mysql.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Pero no es la instalacin lo que quiero comentar ahora, si no la &lt;b&gt;configuracin inicial&lt;/b&gt; y como &lt;b&gt;&lt;a href=&quot;http://chapucillas.spuas.com/search/label/Seguridad&quot; target=&quot;_blank&quot;&gt;asegurar&lt;/a&gt;&lt;/b&gt; la instalacin.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;El &lt;b&gt;archivo de configuracin&lt;/b&gt; se aloja en&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #b6d7a8; font-family: Courier New, Courier, monospace;&quot;&gt;/etc/my.cnf&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;y ah podremos, entre otras cosas, cambiar la ubicacin donde se guardarn las tablas de mysql o los puertos de escucha. Est todo muy bien documentado, as que leyendo se podr sacar mucha informacin.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #b6d7a8; font-family: Courier New, Courier, monospace;&quot;&gt;datadir = /var/lib/mysql&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Para hacer nuestra &lt;b&gt;instalacin ms &lt;a href=&quot;http://chapucillas.spuas.com/search/label/Seguridad&quot; target=&quot;_blank&quot;&gt;segura&lt;/a&gt;&lt;/b&gt;, se puede ejecutar el script&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #b6d7a8; font-family: Courier New, Courier, monospace;&quot;&gt;mysql_secure_instalation&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;que nos guiar a travs de una serie de preguntas para crear una password para el usuario root (por defecto no hay contrasea), borrar las tablas de prueba, eliminar a los usuarios annimos o denegar el acceso remoto para la administracin, todo ello cosas recomendables.&lt;/span&gt;</description><link>http://chapucillas.spuas.com/2013/09/configuarcin-y-seguridad-de-mariadb.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZE3vuRz00H1btqVHvugJz1M0dCSVI0GzyvGiS-i5-Gk2FoiRp7yONz1D7Wp3BguT5yriXDm6H_EYJ2Fl7XTQtBsNGQJeJ06xabeo-IlvRXO1b7sw-LM1niQK1Hwpth7z8u5gA5yRal1n3/s72-c/mariadb_mysql.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-5892737992111720366</guid><pubDate>Mon, 23 Sep 2013 11:24:00 +0000</pubDate><atom:updated>2013-09-23T04:24:51.234-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CSS</category><category domain="http://www.blogger.com/atom/ns#">frameworks</category><category domain="http://www.blogger.com/atom/ns#">HTML5</category><category domain="http://www.blogger.com/atom/ns#">movil</category><title>Enlaces a algunos frameworks HTML que pueden ser interesantes</title><description>He vivido ajeno al mundo de los frameworks HTML hasta que descubrí Bootstrap. Desde entonces no he hecho más que encontrar y descubrir otros tantos, con sus propios componentes listos para usar, sin tener que toquetear el CSS y los distintos estilos, algo muy interesante si no eres un gran diseñador (me incluyo).&lt;br /&gt;
&lt;br /&gt;
Simplemente voy a poner una lista de ellos, para tenerlos presentes y como referencia para un futuro:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://getbootstrap.com/&quot; target=&quot;_blank&quot;&gt;Bootstrap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://jqueryui.com/&quot; target=&quot;_blank&quot;&gt;jQuery UI&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://foundation.zurb.com/&quot; target=&quot;_blank&quot;&gt;Foundation&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://exacttarget.github.io/fuelux/&quot; target=&quot;_blank&quot;&gt;Fuel UX&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.99lime.com/elements/&quot; target=&quot;_blank&quot;&gt;HTML KickStart&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://groundwork.sidereel.com/&quot; target=&quot;_blank&quot;&gt;Groundwork&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://alloyui.com/&quot; target=&quot;_blank&quot;&gt;AlloyUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kendoui.com/&quot; target=&quot;_blank&quot;&gt;KendoUI&lt;/a&gt; - de pago&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Aunque algo distinto, esta tabla o &#39;grid&#39; parece bastante interesante también si lo que buscas es ese tipo de componentes:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.trirand.com/blog/jqgrid/jqgrid.html&quot; target=&quot;_blank&quot;&gt;jqGri&lt;/a&gt;d&lt;br /&gt;
&lt;br /&gt;
Para móvil, tenemos &lt;a href=&quot;http://jquerymobile.com/&quot; target=&quot;_blank&quot;&gt;jQuery Mobile&lt;/a&gt; que funciona únicamente con JavaScript. Hay otros frameworks, quizá más potentes, pero también más complejos que ofrecen un desarrollo en HTML, JS y CSS que luego irá compilado en formato de aplicación para las distintas plataformas móviles. &lt;a href=&quot;http://www.appcelerator.com/&quot; target=&quot;_blank&quot;&gt;Titanium&lt;/a&gt; es un buen ejemplo de una de ellas</description><link>http://chapucillas.spuas.com/2013/09/enlaces-algunos-frameworks-html-que.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-5733666679494922731</guid><pubDate>Wed, 04 Sep 2013 08:30:00 +0000</pubDate><atom:updated>2014-06-02T04:04:56.266-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">opensuse</category><category domain="http://www.blogger.com/atom/ns#">webex</category><title>Webex no me funciona en OpenSuse: SOLUCIÓN</title><description>Ayer abr por primera vez una sesin de &lt;b&gt;Webex&lt;/b&gt; desde &lt;b&gt;OpenSuse&lt;/b&gt; y para mi sorpresa, aunque todo cargaba y poda ver a los participantes, &lt;b&gt;no era capaz de ver la pantalla compartida&lt;/b&gt;, con lo que me quedaba fuera completamente.&lt;br /&gt;
&lt;br /&gt;
Gracias a algn consejo de entendidos en el tema y de &lt;a href=&quot;http://blog.seader.us/2013/02/running-webex-on-opensuse-123-64-bit.html&quot; target=&quot;_blank&quot;&gt;este post&lt;/a&gt;, he descubierto una serie de libreras que deben estar instaladas para que &lt;b&gt;Webex funcione correctamente en OpenSuse&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Aqu dejo la lista (ejecutar con sudo si fuera necesario), que en teora aplica para la versin 12.3 64-bit, mi caso:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;zypper in libpango-1_0-0-32bit libpangomm-1_4-1-32bit libpangox-1_0-0-32bit libgtk-2_0-0-32bit libgtk-3-0-32bit libglib-2_0-0-32bit libXau6-32bit libXmu6-32bit libxcb1-32bit_64 libXext6-32bit&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Yo todava no lo he probado, pero espero que la prxima sesin de &lt;b&gt;Webex&lt;/b&gt; funcione como la seda</description><link>http://chapucillas.spuas.com/2013/09/webex-no-me-funciona-en-opensuse-solucin.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-4020482108947366666</guid><pubDate>Fri, 30 Aug 2013 15:11:00 +0000</pubDate><atom:updated>2013-08-30T08:11:58.639-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Chrome</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">opensuse</category><category domain="http://www.blogger.com/atom/ns#">PDF</category><title>Cmo usar el lector de PDF por defecto de Chromium (Linux...)</title><description>Desde que tengo &lt;b&gt;Chromium&lt;/b&gt; (en &lt;b&gt;OpenSuse&lt;/b&gt;) no me haba dado cuenta, pero ayer apreci que los archivos &lt;b&gt;PDF no se visualizaban en el navegador&lt;/b&gt;, si no que se descargaban automticamente. Esto aplica tanto para los enlaces directos a ficheros PDF como para PDFs que se cargan en iframes dentro de una pgina, el resultado es el mismo: la descarga del fichero.&lt;br /&gt;
&lt;br /&gt;
Investigando descubr que mientras Chrome (versin que se instala en Windows) y Chromium hay ciertas diferencias y una de ellas es que el primero tiene un &lt;b&gt;lector de PDF integrado por defecto&lt;/b&gt;, mientras que el segundo, no lo tiene. La solucin es descargar el primero, coger el fichero (que es un plugin de Chrome) y meterlo en la carpeta de plugins de nuestro Chromium.&lt;br /&gt;
&lt;br /&gt;
Paso a paso:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Descargar&lt;/b&gt; la ltima versin de Google Chrome en desarrollo:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_deb&lt;/li&gt;
&lt;li&gt;http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_amd64_deb&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;b&gt;Extraer&lt;/b&gt; los contenidos del paquete y localizar el fichero &lt;b&gt;libpdf.so&lt;/b&gt; en el directorio&amp;nbsp;&lt;span style=&quot;background-color: white; color: #4f4f4f; font-family: Lato, Ubuntu, &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 28px;&quot;&gt;&lt;i&gt;/opt/google/chrome&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Copiar&lt;/b&gt; dicho archivo a&amp;nbsp;&lt;i&gt;/usr/lib/chromium-browser/&lt;/i&gt;&amp;nbsp; o&amp;nbsp;&lt;i&gt;/usr/lib64/chromium-browser/&lt;/i&gt; o el directorio donde est instalado chromium (no s como se puede saber eso...). Harn falta permisos de administrador muy posiblemente, as que yo te recomiendo que lo hagas desde la consola con el comando &lt;b&gt;sudo cp&lt;/b&gt;. De lo contrario tendrs que abrir el explorador (dolphin, nautilus...) con permisos de administrador.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Reinicia&lt;/b&gt; Chromium (o brelo si ya estaba cerrado) y ve a la direccin &quot;about:plugins&quot;, sin las comillas. Una vez ah, localiza el plugin de PDF y &lt;b&gt;actvalo&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;b&gt;Listo!&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.omgubuntu.co.uk/2010/07/use-google-chrome%E2%80%99s-native-pdf-reader-in-chromium&quot; target=&quot;_blank&quot;&gt;Fuente&lt;/a&gt;&amp;nbsp;(en ingls).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En &lt;a href=&quot;https://wiki.archlinux.org/index.php/Chromium#PDF_viewer_plugin&quot; target=&quot;_blank&quot;&gt;esta otra pgina&lt;/a&gt;&amp;nbsp;(en ingls tambin) dan un mtodo alternativo, pero la verdad yo no lo he probado puesto que me funcion el primero&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://chapucillas.spuas.com/2013/08/cmo-usar-el-lector-de-pdf-por-defecto.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-7932350758288807035</guid><pubDate>Mon, 18 Feb 2013 23:28:00 +0000</pubDate><atom:updated>2014-10-22T16:08:20.601-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Raspberry Pi</category><title>Como apagar Raspberry Pi desde línea de comandos</title><description>&lt;a href=&quot;http://chapucillas.spuas.com/search/label/Raspberry%20Pi&quot; target=&quot;&quot;&gt;Raspberry Pi&lt;/a&gt; no tiene ningún botón de encendido y apagado pero no por ello debemos tirar del cable sin más: esto puede causar grandes problemas, siendo el mayor la corrupción de los archivos de la SD y el tener que volver a instalar todo de nuevo para que arranque.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Desde XBMC está la opción apagar en la interfaz de usuario&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
Desde la línea de comandos se puede utilizar para apagar:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;brush: java; title: ; notranslate&quot; title=&quot;&quot;&gt;sudo shutdown -h now
&lt;/pre&gt;o para reiniciar:&lt;br /&gt;
&lt;pre class=&quot;brush: java; title: ; notranslate&quot; title=&quot;&quot;&gt;sudo reboot -f
&lt;/pre&gt;&lt;/div&gt;</description><link>http://chapucillas.spuas.com/2013/02/como-apagar-raspberry-pi-desde-linea-de.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-7194826528322580469</guid><pubDate>Wed, 30 Jan 2013 23:15:00 +0000</pubDate><atom:updated>2013-01-30T15:15:53.414-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Búsquedas</category><category domain="http://www.blogger.com/atom/ns#">Truco</category><category domain="http://www.blogger.com/atom/ns#">Vídeo</category><title>Canción de duración específica</title><description>Quizá esto se salga un pelín de la temática del blog, pero me ha parecido tan útil, y no deja de estar relacionado con los ordenadores e internet, que no puedo por menos que compartirlo.&lt;br /&gt;
&lt;br /&gt;
Estaba buscando una canción de una duración específica para poner en un vídeo, cuando di con esta solución en un foro: poner en la búsqueda de Google&lt;br /&gt;&lt;br /&gt;inurl:newgrounds.com/audio/listen +&quot;1 min 0 sec&quot;&lt;br /&gt;
&lt;br /&gt;
dónde lógicamente 1min 0sec es la duración que desees para tu canción. En este sitio (newgrounds.com) hay montones de pistas de audio y así sacaremos las que tengan una duración determinada. Ya sólo hay que elegir la mejor.&lt;br /&gt;
&lt;br /&gt;
Si alguien tiene otro método, soy todo oídos.</description><link>http://chapucillas.spuas.com/2013/01/cancion-de-duracion-especifica.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-8179023994073585147</guid><pubDate>Fri, 25 Jan 2013 08:04:00 +0000</pubDate><atom:updated>2013-01-25T00:04:31.186-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">codeigniter</category><category domain="http://www.blogger.com/atom/ns#">frameworks</category><category domain="http://www.blogger.com/atom/ns#">php</category><title>Empezando de cero con CodeIgniter</title><description>Ayer quise empezar un nuevo proyecto &lt;a href=&quot;http://chapucillas.spuas.com/search/label/php&quot;&gt;PHP &lt;/a&gt;con el &lt;a href=&quot;http://chapucillas.spuas.com/search/label/frameworks&quot;&gt;framework &lt;/a&gt;CodeIgniter. Como otras tantas veces, no me acordaba en absoluto de como se hacía pero al ir recordándolo, me lleve una grata sorpresa al ver cuan &lt;b&gt;fácil es comenzar un proyecto &lt;a href=&quot;http://chapucillas.spuas.com/search/label/codeigniter&quot;&gt;codeigniter&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Los pasos a seguir para una primera instalación son:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://ellislab.com/codeigniter/download&quot; target=&quot;_blank&quot;&gt;Descargar &lt;/a&gt;desde su página oficial&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Descomprimir y colocar en la carpeta del servidor, ya sea en local o subiéndolo a la red vía ftp, por ejemplo. El archivo &#39;index.php&#39; debe quedar en el directorio raíz de nuestro servidor web&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Abrir el archivo &#39;application/config/config.php&#39; y editarlo para configurar la &#39;base_url&#39; que será la dirección web donde estará nuestra aplicación:&lt;br /&gt;
&lt;code&gt;&lt;i&gt;$config[&#39;base_url&#39;]= &#39;http://midominio.com/misubcarpeta&#39;&lt;/i&gt;;&lt;/code&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Si se va a usar una base de datos con la aplicación, también hay que abrir &#39;application/config/database.php&#39; y editarlo para introducir la información de nuestra página.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y eso es todo. Al abrir la URL que hemos indicado en el paso 3 debería de aparecer la página de bienvenida de CodeIgniter informándonos de que ya podemos empezar a trabajar cuando queramos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Link:&amp;nbsp;&lt;a href=&quot;http://ellislab.com/codeigniter/user-guide/installation/index.html&quot; target=&quot;_blank&quot;&gt;Instrucciones de instalación&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://chapucillas.spuas.com/2013/01/empezando-de-cero-con-codeigniter.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-5549854112283357710</guid><pubDate>Wed, 16 Jan 2013 07:53:00 +0000</pubDate><atom:updated>2013-01-15T23:53:19.941-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">HDMI</category><category domain="http://www.blogger.com/atom/ns#">Raspberry Pi</category><title>Raspberry Pi no entra en el televisor</title><description>Ya tenemos una &lt;b&gt;raspberry pi&lt;/b&gt; en nuestras manos, o como amistosamente la denominamos: Raspi. Raspberry pi es la placa de bajo coste que hace de ordenador y que te podrá solucionar muchas de las tareas que te solucionaba ese servidor que tenías encendido 24h en casa: podrás emplearlo para descargar, para tener discos duros en red, lo podrás utilizar como media center o incluso para fabricarte una televisión inteligente o &quot;smart tv&quot; casera. Rapsberry Pi es la caña, en otras palabras.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi62yQResLrfsXFMbQt1_rqvVC6fclNV7tQ1j3FtkKwSSz-eodONfgFOwfLSENkmVKwHs3YJ_k2kmJfqMkcVP8uJ0G3WOZpMby0lT8wqsYVLqZGUnn2SlU66XTRfaFXwQ_asxyniQz4ezMN/s1600/Raspi.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;245&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi62yQResLrfsXFMbQt1_rqvVC6fclNV7tQ1j3FtkKwSSz-eodONfgFOwfLSENkmVKwHs3YJ_k2kmJfqMkcVP8uJ0G3WOZpMby0lT8wqsYVLqZGUnn2SlU66XTRfaFXwQ_asxyniQz4ezMN/s320/Raspi.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Sin embargo, el primer problema que tuvimos cuando lo enganchamos a la televisión a través de su cable &lt;b&gt;HDMI &lt;/b&gt;fue que la imagen estaba recortada. Por cada margen nos&amp;nbsp;perdíamos&amp;nbsp;un trocito de imagen y aunque no era demasiado, es un rollo y más si lo quieres utilizar para ver la televisión, películas o series. Intentamos cambiar la relación de aspecto del televisor y probamos con las diferentes resoluciones de salida de Raspberry Pi, pero ninguna cuadraba con la pantalla de la televisión. Pensando que no tenía solución y que era un problema debido a la televisión que ya es algo antigua casi lo dejamos pasar hasta que encontramos la solución al problema: se puede ajustar la salida de vídeo!&lt;br /&gt;
&lt;br /&gt;
Entramos en la &lt;b&gt;configuración de Raspberry Pi&lt;/b&gt; y buscamos &quot;Video Output&quot; que no recuerdo si está entre las primeras opciones o si hay que acceder a alguna antes. Y ahí, la tercera o cuarta opción nos permite configurar el aspecto que tendrá la salida de vídeo en nuestro monitor ajustando las esquinas, situando la posición de los subtitulos y redibujando la relación de aspecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enlace: &lt;a href=&quot;http://www.raspberrypi.org/&quot; target=&quot;_blank&quot;&gt;Raspberry Pi&lt;/a&gt;</description><link>http://chapucillas.spuas.com/2013/01/raspberry-pi-no-entra-en-el-televisor.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi62yQResLrfsXFMbQt1_rqvVC6fclNV7tQ1j3FtkKwSSz-eodONfgFOwfLSENkmVKwHs3YJ_k2kmJfqMkcVP8uJ0G3WOZpMby0lT8wqsYVLqZGUnn2SlU66XTRfaFXwQ_asxyniQz4ezMN/s72-c/Raspi.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-3587965901697890009</guid><pubDate>Mon, 26 Nov 2012 11:49:00 +0000</pubDate><atom:updated>2013-08-30T08:14:24.414-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Eclipse</category><category domain="http://www.blogger.com/atom/ns#">svn</category><title></title><description>Si actualizas SVN y tienes copias locales anteriores, posiblemente te encuentres con que no puedes sincronizar con los repositorios.&lt;br /&gt;
&lt;br /&gt;
En concreto, si actualizas SVN en eclipse y sincronizas, te encontrars con este error:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy &#39;C:\.... is too old (format 10, created by Subversion 1.6)&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La manera ms sencilla de solucionar este problema es botn derecho en los proyectos que necesiten actualizar, Team y Upgrade&amp;nbsp;&lt;br /&gt;
</description><link>http://chapucillas.spuas.com/2012/11/si-actualizas-svn-y-tienes-copias.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-2895318461935758497</guid><pubDate>Tue, 13 Nov 2012 15:48:00 +0000</pubDate><atom:updated>2012-11-13T07:48:54.668-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Cloud</category><category domain="http://www.blogger.com/atom/ns#">Google</category><category domain="http://www.blogger.com/atom/ns#">Google Cloud Print</category><category domain="http://www.blogger.com/atom/ns#">Impresora</category><category domain="http://www.blogger.com/atom/ns#">Print</category><title>Imprimir en tu ordenador desde cualquier sitio: Google Cloud Print</title><description>Hoy Google me vuelve a impresionar con su servicio &lt;a href=&quot;http://www.google.com/cloudprint/learn/&quot; target=&quot;_blank&quot;&gt;Google Cloud Print&lt;/a&gt; que permite imprimir documentos desde cualquier sitio en tu impresora de casa o de la oficina, como si estuviera conectada ahí mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHX9a0V22JVxWtFo3eYuzSRf1mw73WzJ7qXM-plZh9BDlA2jAdy0JkgNP_w9J3UiNdBfSndvgLASE6BJFdh49RW-WzK41n8QZxOcOacy2EcXibegtVwuGjOM6GEQVCyBWwBG1XVySAQA_Y/s1600/Google+Cloud+Print.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHX9a0V22JVxWtFo3eYuzSRf1mw73WzJ7qXM-plZh9BDlA2jAdy0JkgNP_w9J3UiNdBfSndvgLASE6BJFdh49RW-WzK41n8QZxOcOacy2EcXibegtVwuGjOM6GEQVCyBWwBG1XVySAQA_Y/s320/Google+Cloud+Print.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Varias veces me he tirado en casa horas configurando todos los ordenadores para que estuvieran en red, para que la impresora estuviera disponible en todos ellos, que hubiera visibilidad y que funcionara todo correctamente: elegir la impresora, darle imprimir y recoger el documento. Pues bien, todo este trabajo ya no es necesario con el nuevo servicio de Google: es suficiente con tener Chrome instalado (sí, todo funciona a través de Chrome), configurar las impresoras y &amp;nbsp;a correr.&lt;br /&gt;
&lt;br /&gt;
Para configurar las impresoras en tu cuenta de Google:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Abrir google Chrome (¿no lo tienes? &lt;a href=&quot;http://www.google.com/chrome&quot; target=&quot;_blank&quot;&gt;Descargalo&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Abrir el menú (arriba a la derecha) y elegir Settings (u Opciones)&lt;/li&gt;
&lt;li&gt;Abajo del todo, hay un link que dice &quot;Mostrar opciones avanzadas&quot;, hacer click ahí.&lt;/li&gt;
&lt;li&gt;Bajar hasta Google Cloud Print y registrarse en el servicio (no hay que hacer nada, sólo darle al botón).&lt;/li&gt;
&lt;li&gt;Una vez registrado, podrás administrar tus impresoras. Automáticamente se importan todas las impresoras que tengas en el ordenador en el servicio.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Una vez que tienes las impresoras configuradas, puedes administrarlas, añadir otras (desde otros ordenadores), cambiarles el nombre, eliminarlas... Y una de las mejores cosas: compartirlas! Sí, comparte una impresora con quien quieras y esta persona podrá imprimir directamente en tu impresora: bastante increíble no?&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Esta mañana he estado haciendo un par de pruebas y funciona bastante bien: he probado yo a imprimir desde la misma red, en otro ordenador y también he pedido a otra personas que imprimiera algo una vez que le había compartido la impresora: como por arte de magia, la impresora ha empezado a trabajar y ha impreso lo que desde otro sitio completamente distinto le han mandado. Fascinante&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Pero aquí no acaba todo. Tiene más ventajas: se puede imprimir desde el móvil. Actualmente está algo limitado puesto que un móvil no tiene la opción &quot;Imprimir&quot; como aparece en un ordenador por todos lados por lo que hay que instalarse una aplicación intermedia. Creo que hay varias aunque yo la que he usado es &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.pauloslf.cloudprint&amp;amp;feature=search_result&quot; target=&quot;_blank&quot;&gt;Cloud Print&lt;/a&gt;, que recomienda google en su propia página. La aplicación puede imprimir directamente al abrir un documento que tengamos en nuestro móvil o a través de la opción &quot;compartir...&quot;, se comparte con la aplicación y esta nos da a elegir la impresora con la que queremos imprimirlo e incluso las opciones de impresión (blanco y negro o color, apaisado o no, dos caras por hoja, doble cara...). También lo he probado, he impreso un PDF mientras comía y al llegar al despacho ahí estaba impreso en papel.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para imprimir desde el móvil también se puede hacer a través de Google Drive u otras aplicaciones de Google, pero para imprimir cualquier cosa, hay que instalar una aplicación como la que acabo de comentar.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Sin duda me encanta este servicio y aunque quizá ahora esté algo emocionado por ser una novedad, creo que lo usaré bastante en el futuro.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Una pega que tiene es que tiene que estar Chrome abierto para poder imprimir ya que la conexión con la impresora se realiza a través de este programa.&lt;/div&gt;
&lt;div&gt;
Otra pega es que funciona muy bien para imprimir cosas desde Chrome (páginas web, PDFs...) o desde aplicaciones web de Google, igual que pasa con el móvil, pero para imprimir cualquier documento de nuestro ordenador es algo más complicado: hay que ir a la página del servicio, darle imprimir y elegir el archivo para que se suba al servidor y se mande a la impresora seleccionada.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Una cosa más que hecho en falta (están en beta, supongo que esto evolucionará) es una opción para permisos: es decir poder elegir si alguien puede imprimir libremente o bajo tu supervisión una vez que has compartido una impresora. Cuando alguien quisiera imprimir tu recibirías un email o una notificación en el móvil y de esta manera confirmas la impresión o la rechazas antes de que se haga todo automático.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Aún así, como ya he dicho, me ha gustado bastante el servicio&lt;/div&gt;
</description><link>http://chapucillas.spuas.com/2012/11/imprimir-en-tu-ordenador-desde.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHX9a0V22JVxWtFo3eYuzSRf1mw73WzJ7qXM-plZh9BDlA2jAdy0JkgNP_w9J3UiNdBfSndvgLASE6BJFdh49RW-WzK41n8QZxOcOacy2EcXibegtVwuGjOM6GEQVCyBWwBG1XVySAQA_Y/s72-c/Google+Cloud+Print.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-3646493376807936339</guid><pubDate>Wed, 24 Oct 2012 22:18:00 +0000</pubDate><atom:updated>2014-10-22T16:18:29.189-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">codeigniter</category><category domain="http://www.blogger.com/atom/ns#">email</category><category domain="http://www.blogger.com/atom/ns#">frameworks</category><category domain="http://www.blogger.com/atom/ns#">gmail</category><category domain="http://www.blogger.com/atom/ns#">php</category><title>Enviar emails con Codeigniter y Gmail</title><description>Sigo aprendiendo como funciona Codeigniter y hoy una de las cosas que he aprendido y me ha gustado es la simplicidad para mandar correos electrónicos.&lt;br /&gt;
&lt;br /&gt;
Una de las limitaciones que tenía hasta ahora cuando probaba en local es que no podía mandar correos por no tener ningún servidor montado. Seguramente haya otras posibilidades, pero tampoco me había molestado en aprender.&lt;br /&gt;
&lt;br /&gt;
Hoy, con codeigniter, he conseguido mandar emails desde mi propio ordenador a través de mi cuenta de gmail, en tan solo unos minutos:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Para empezar, hay que crear un archivo de configuración llamado &quot;email.php&quot; (tiene que llamarse así exactamente) y que esté situado dentro de la carpeta de configuración.&lt;br /&gt;
En este archivo colocaremos las propiedades del servidor de correo que serán algo así:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: php&quot;&gt;&amp;lt;?php  if ( ! defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
$config[&#39;protocol&#39;] = &#39;smtp&#39;;
$config[&#39;smtp_host&#39;] = &#39;ssl://smtp.googlemail.com&#39;;
$config[&#39;smtp_port&#39;] = 465;
$config[&#39;smtp_user&#39;] = &#39;youremail@gmail.com&#39;;
$config[&#39;smtp_pass&#39;] = &#39;yourpassword&#39;;
$config[&#39;smtp_timeout&#39;] = &#39;7&#39;;
$config[&#39;charset&#39;]    = &#39;utf-8&#39;;
$config[&#39;newline&#39;]    = &quot;\r\n&quot;;
$config[&#39;mailtype&#39;] = &#39;text&#39;; // or html
$config[&#39;validation&#39;] = TRUE; // bool whether to validate email or not&lt;/pre&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Segundo, tenemos que cargar la librería en el lugar donde queramos enviar el email:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: php&quot;&gt;$this-&amp;gt;load-&amp;gt;library(&#39;email&#39;,&#39;&#39;,&#39;correo&#39;);&lt;/pre&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Y por último preparar el email para enviar&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: php&quot;&gt;$this-&amp;gt;correo-&amp;gt;from(&#39;noreply@yourdomain.com&#39;, &#39;Your Name&#39;);
  $this-&amp;gt;correo-&amp;gt;to(&#39;toemail@gmail.com&#39;);
  $this-&amp;gt;correo-&amp;gt;subject(&#39;This is an email test&#39;);
  $this-&amp;gt;correo-&amp;gt;message(&#39;This is the body of the message&#39;);
if($this-&amp;gt;correo-&amp;gt;send())
  {
   echo &#39;Correo enviado&#39;;
  }

  else
  {
   show_error($this-&amp;gt;correo-&amp;gt;print_debugger());
  }&lt;/pre&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Y eso es todo! Correo enviado &lt;/li&gt;
&lt;/ol&gt;</description><link>http://chapucillas.spuas.com/2012/10/enviar-emails-con-codeigniter-y-gmail.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-3878202921506970520</guid><pubDate>Tue, 23 Oct 2012 12:56:00 +0000</pubDate><atom:updated>2012-10-23T05:56:49.479-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">codeigniter</category><category domain="http://www.blogger.com/atom/ns#">frameworks</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">URL</category><title>Añadir la extensión .html a algunas páginas de Codeigniter</title><description>En la configuración de codeigniter, en el archivo config.php, tenemos la opción de añadir una extensión a todas las páginas de nuestra aplicación de manera que la página&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: html&quot;&gt;/pagina/de/contacto
&lt;/pre&gt;&lt;br /&gt;
se convierta en&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: html&quot;&gt;/pagina/de/contacto.html
&lt;/pre&gt;&lt;br /&gt;
Pero esto tiene la pega de que se aplicará a cualquier URL de la aplicación y a lo mejor no queremos que esto sea así.&lt;br /&gt;
&lt;br /&gt;
Si sólo queremos añadir el sufijo a algunas páginas, pero que siga funcionando el motor de codeigniter, podemos añadirlas en el archivo de routes.php. Por ejemplo podría quedar de la siguiente manera&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;$routes[&#39;/pagina/de/contacto.html&#39;] = &amp;quot;nuestro_controlador/contacto&amp;quot;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
También se pueden poner expresiones regulares del tipo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt; &lt;span style=&quot;color: #0000bb;&quot;&gt;$route[&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#39;^([^\/]*).html$&#39;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#39;pages/view/$1&#39;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;;&amp;nbsp;&lt;/span&gt; &lt;/code&gt;&lt;/div&gt;</description><link>http://chapucillas.spuas.com/2012/10/anadir-la-extension-html-algunas.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-2670272159149422493</guid><pubDate>Tue, 18 Sep 2012 17:06:00 +0000</pubDate><atom:updated>2012-09-18T10:07:19.373-07:00</atom:updated><title>Protección de directorios web a través de .htaccess</title><description>Esta sea quizá la manera más fácil de proteger un directorio web de la vista del público en general. Al intentar acceder, saltará una ventana pidiendo que se introduzca un usuario y una contraseña con un mensaje personalizado:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcHMr3TCwa2apMxXQ2PbDhu82RCKtbOWlxPv-Ou20-UnaRj-iWiGsSGmbzMj7uf9w2MP3jBebUf1teUhLQYyYwgy5Ev0wLifunXSPX1WNRzY4l9BnHk56L5LjQxvRQ11wxK2t9AwCs73kG/s1600/Authentication.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcHMr3TCwa2apMxXQ2PbDhu82RCKtbOWlxPv-Ou20-UnaRj-iWiGsSGmbzMj7uf9w2MP3jBebUf1teUhLQYyYwgy5Ev0wLifunXSPX1WNRzY4l9BnHk56L5LjQxvRQ11wxK2t9AwCs73kG/s400/Authentication.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Este tipo de protección se realiza a través de los archivos .htaccess situados en cada directorio. Se ha de tener cuidado pues de colocarlo en el directorio erróneo, podremos bloquear el tráfico a toda nuestra página.&lt;br /&gt;
&lt;br /&gt;
Para proteger un directorio de esta manera, deberemos subir al mismo el archivo .htaccess (con FTP, directamente a través de la línea de comandos...) con el siguiente contenido:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: plain&quot;&gt;AuthUserFile /usr/www/dirname/.htpasswd
AuthGroupFile /dev/null
AuthName &quot;The Secret Page&quot;
AuthType Basic

&amp;lt;Limit GET POST&amp;gt;
require valid-user
&amp;lt;/Limit&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
Este archivo indicará que el directorio está protegido y que los diferentes usuarios y contraseñas se encuentran en el archivo&amp;nbsp;&lt;i&gt;/usr/www/dirname/.htpasswd&lt;/i&gt;&lt;br /&gt;
Por supuesto deberemos sustituir ese valor por el correspondiente a nuestro caso, pero con cuidado que sea el correcto, de lo contrario nada funcionará. El valor de este campo debe ser la ruta al archivo .htpasswd desde la raíz de nuestro servidor.&lt;br /&gt;
En los servidores web de los que no seamos administradores, deberemos conseguir esta ruta, bien a través del comando &lt;i&gt;pwd &lt;/i&gt;en la línea de comandos o bien con algún &lt;a href=&quot;http://www.caminoweb.com/basecouser/entry/18/&quot; target=&quot;_blank&quot;&gt;script en PHP&lt;/a&gt; o bien preguntando al servicio técnico de tu hosting.&lt;br /&gt;
&lt;br /&gt;
Una vez tenemos el archivo .htaccess deberemos crear el .htpasswd. Para ello existen dos maneras: a través de la línea de comandos o con una herramienta online (lee más abajo).&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Línea de comandos&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Si tienes acceso a tu servidor, probablemente prefieras hacerlo así, pues es bastante sencillo y tienes mayor flexibilidad. Para ello, en el directorio que desees proteger introduce el siguiente comando:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;i&gt;htpasswd -c .htpasswd usuario&lt;/i&gt;&lt;/blockquote&gt;
Donde deberás sustituir usuario por el nombre que desees utilizar. A continuación se te pedirá la contraseña y que la repitas y listo. Se habrá creado el archivo .htpasswd con el contenido que deseamos.&lt;br /&gt;
&lt;br /&gt;
Ya lo puedes probar para ver si todo funciona correctamente.&lt;br /&gt;
&lt;br /&gt;
Si quieres añadir más usuarios, hazlo a través del comando&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;i&gt;htpasswd .htpasswd usuario&lt;/i&gt;&lt;/blockquote&gt;
y se añadirán.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Herramienta online&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Si no tienes acceso a la consola, puedes acceder al sitio&amp;nbsp;&lt;a href=&quot;http://tools.dynamicdrive.com/password/&quot; target=&quot;_blank&quot;&gt;http://tools.dynamicdrive.com/password/&lt;/a&gt; y seguir los pasos que ahí se indican para generar el archivo .htpasswd que luego habrás de subir a tu servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fuente:&amp;nbsp;http://www.technotrade.com/htaccess.html&lt;/div&gt;
</description><link>http://chapucillas.spuas.com/2012/09/proteccion-de-directorios-web-traves-de.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcHMr3TCwa2apMxXQ2PbDhu82RCKtbOWlxPv-Ou20-UnaRj-iWiGsSGmbzMj7uf9w2MP3jBebUf1teUhLQYyYwgy5Ev0wLifunXSPX1WNRzY4l9BnHk56L5LjQxvRQ11wxK2t9AwCs73kG/s72-c/Authentication.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-7197350145103790465</guid><pubDate>Tue, 31 Jul 2012 09:20:00 +0000</pubDate><atom:updated>2012-07-31T02:20:14.971-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Arte</category><category domain="http://www.blogger.com/atom/ns#">Arte oculto</category><category domain="http://www.blogger.com/atom/ns#">Madrid</category><category domain="http://www.blogger.com/atom/ns#">proyecto</category><title>Arte Oculto Madrid, nuevo sitio de arte madrileño</title><description>De vez en cuando me embarco en algún que otro proyecto además del trabajo del día a día. Esto requiere una buena cantidad de esfuerzo, pues hay que seguir llevando las tareas del día a día del trabajo cotidiano, y una vez terminadas estas, seguir un poco más allá para ir completando los objetivos del nuevo proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;a href=&quot;http://www.blogger.com/goog_406231945&quot; title=&quot;Arte Oculto Madrid&quot;&gt;&lt;img alt=&quot;Logo de Arte Oculto Madrid&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZj0-vKzfck1x7UORjlzvoa43SieLQj8QTJcMZR93rygcy6pimaZGfiBMH5CzVwS40JgXf6YbDkyQLK6Hwm-ET47J4AaetKJhLtNAFqL5LpDOMV68i6nFwaLyRnCwbPPuugHGfRVJ5ZP-G/s1600/logo-aom.jpg&quot; title=&quot;Arte Oculto Madrid&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://arteocultomadrid.com/&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
En esta ocasión me encuentro embarcado en &lt;a href=&quot;http://arteocultomadrid.com/&quot; target=&quot;_blank&quot; title=&quot;Arte Oculto Madrid&quot;&gt;Arte Oculto Madrid&lt;/a&gt;, un proyecto muy ligado al arte, y en concreto al &lt;b&gt;arte de Madrid&lt;/b&gt;. La idea es expandirlo más adelante a otras ciudades españolas y europeas, pero para comenzar hemos elegido Madrid, ciudad con abundancia de arte de todo tipo, como lanzadera.&lt;br /&gt;
&lt;br /&gt;
No puedo adelantar mucho más, en el &lt;a href=&quot;http://blog.arteocultomadrid.com/&quot; target=&quot;_blank&quot; title=&quot;Blog de Arte Oculto Madrid&quot;&gt;blog de Arte Oculto&lt;/a&gt; se puede leer más info sobre el proyecto, pero de momento nos guardamos hasta el lanzamiento, que será a través de invitaciones, la información detallada del mismo.&lt;br /&gt;
Sí que puedo decir, que el proyecto está llevando gran cantidad de trabajo y esperamos ver recompensadas todas estas horas con la satisfacción de que guste a los usuarios y al público en general.&lt;br /&gt;
&lt;br /&gt;
Muy pronto sabréis más... permaneced atentos!</description><link>http://chapucillas.spuas.com/2012/07/arte-oculto-madrid-nuevo-sitio-de-arte.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZj0-vKzfck1x7UORjlzvoa43SieLQj8QTJcMZR93rygcy6pimaZGfiBMH5CzVwS40JgXf6YbDkyQLK6Hwm-ET47J4AaetKJhLtNAFqL5LpDOMV68i6nFwaLyRnCwbPPuugHGfRVJ5ZP-G/s72-c/logo-aom.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-6834295125337547286</guid><pubDate>Tue, 31 Jul 2012 00:42:00 +0000</pubDate><atom:updated>2014-10-22T16:31:05.042-07:00</atom:updated><title>HTML5 y los datos propios</title><description>Con HTML5 tenemos la posibilidad de poder añadir campos propios a los objetos DOM, además de los que ya estaban establecidos.&lt;br /&gt;
&lt;br /&gt;
De esa manera&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: html&quot;&gt;&amp;lt;span class=&amp;quot;miClase&amp;quot; mipropiedad=&amp;quot;mivalor&amp;quot;&amp;gt;Texto del span&amp;lt;/span&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
tiene todo el sentido del mundo y habremos creado una propiedad llamada &#39;mipropiedad&#39; dentro del nodo del span. El valor de dicha propiedad será &#39;mivalor&#39;.&lt;br /&gt;
&lt;br /&gt;
Esto cobra especial importancia cuando queremos utilizar esos valores por ejemplo desde javascript para realizar diferentes acciones en su función, o para poder enviar datos al servidor en las sucesivas peticiones a través de ajax.&lt;br /&gt;
&lt;br /&gt;
Estos datos además se pueden manejar más facilmente a través de jQuery con la propiedad &lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: jscript&quot;&gt;$(&#39;#element&#39;).data(&#39;mipropiedad&#39;)
&lt;/pre&gt;&lt;br /&gt;
que deberemos declarar anteponiendo el texto &lt;b&gt;data-&lt;/b&gt; al nombre de nuestra variable, de manera que quede de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: html&quot;&gt;&amp;lt;span class=&amp;quot;miClase&amp;quot; data-mipropiedad=&amp;quot;mivalor&amp;quot;&amp;gt;Texto del span&amp;lt;/span&amp;gt;
&lt;/pre&gt;</description><link>http://chapucillas.spuas.com/2012/07/html5-y-los-datos-propios.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-1295193711536104730</guid><pubDate>Sun, 15 Jul 2012 18:45:00 +0000</pubDate><atom:updated>2012-07-15T11:45:49.290-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">eBook</category><category domain="http://www.blogger.com/atom/ns#">Google</category><category domain="http://www.blogger.com/atom/ns#">Lectura</category><category domain="http://www.blogger.com/atom/ns#">Libro Electrónico</category><category domain="http://www.blogger.com/atom/ns#">Recomendación</category><title>¿Conocéis Google Books?</title><description>Si el otro día escribía acerca de los mayores &lt;a href=&quot;http://chapucillas.spuas.com/2012/07/los-fallos-de-google-chrome-por-que-no.html&quot; target=&quot;_blank&quot;&gt;defectos de Google Chrome&lt;/a&gt;, hoy voy a escribir de otro servicio que aunque no muy conocido (creo), a mi me gusta bastante.&lt;br /&gt;
&lt;br /&gt;
Se trata de Google Books, una enorme base de datos de todos los libros habidos y por haber (yo tan solo he dejado de encontrar un libro y era una versión muy rara y muy antigua) que te puede permitir catalogar tu biblioteca física en un formato digital. Para que te hagas una idea, aquí está &quot;&lt;a href=&quot;http://books.google.es/books?uid=108455267659980166295&quot; target=&quot;_blank&quot;&gt;mi biblioteca&lt;/a&gt;&quot; que he ido poniendo al día: pongo los nuevos libros que voy leyendo, que compro o me regalan y tengo pendientes de leer u otros que leí en el pasado y que tengo danzando por casa.&lt;br /&gt;
&lt;br /&gt;
¿De qué modo me ayuda? Pues de diversas formas:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;¿Qué libros he leído recientemente? Muchas veces no recuerdo que es lo último que he leído (sí, mala memoria se llama, pero me pasa) y de esta manera, con un simple vistazo, puedo saber cuáles son los últimos.&lt;/li&gt;
&lt;li&gt;¿He leído tal o cual libro? De la misma manera, puedo saber si he leído un libro aunque haya pasado mucho tiempo, pues ahí quedará como leído. Además se pueden hacer comentarios sobre los libros que al leerlos nos recordarán de que iban, por si no nos acordamos.&lt;/li&gt;
&lt;li&gt;¿Dónde están mis libros? Con la creación de &quot;estanterías&quot; virtuales, puedes poner tus libros en distintos catálogos para tenerlos clasificados y controlados: libros que he prestado, libros que me han prestado, libros históricos, libros que tengo en casa de mis padres...&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Esto es como lo uso yo, pero realmente tiene mucho más de fondo. La base de datos que tiene Google es información sobre el libro, no el libro en sí. Pero últimamente también ha entrado en el negocio de la venta de libros electrónicos. Todos los nuevos dispositivos Android vienen con su aplicación que permite leer libros electrónicos en las pantallas de los teléfonos o tabletas. Y aunque creo que Google no tiene actualmente ningún eBook, apuesto a que no dentro de mucho, lanzará alguno con su sistema operativo Android o de alguna otra forma. Si esto sucede, podremos tener integrada nuestra biblioteca digital con la analógica. Y no sólo eso, también los libros digitales de distintos dispositivos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Pues ahí queda la reseña, el servicio me gusta, y así lo recomiendo (soy un poco empedernido del orden de estas cosas...)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Enlace: &lt;a href=&quot;http://books.google.es/books&quot; target=&quot;_blank&quot;&gt;Google Books&lt;/a&gt;&lt;/div&gt;</description><link>http://chapucillas.spuas.com/2012/07/conoceis-google-books.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-5294007848217637757</guid><pubDate>Tue, 10 Jul 2012 18:57:00 +0000</pubDate><atom:updated>2012-07-10T11:57:46.647-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Chrome</category><category domain="http://www.blogger.com/atom/ns#">Firefox</category><category domain="http://www.blogger.com/atom/ns#">Navegador</category><category domain="http://www.blogger.com/atom/ns#">Seguridad</category><title>Los fallos de Google Chrome: ¿por qué no usarlo?</title><description>Desde hace mucho tiempo que no uso Internet Explorer como navegador (si tu lo haces, te recomiendo que &lt;a href=&quot;http://www.mozilla.org/es-ES/firefox/new/&quot; target=&quot;_blank&quot;&gt;dejes de hacerlo&lt;/a&gt;). La mejor alternativa que he encontrado es &lt;a href=&quot;http://www.mozilla.org/es-ES/firefox/new/&quot; target=&quot;_blank&quot;&gt;Firefox&lt;/a&gt;, navegador de software libre y código abierto, creado por la comunidad y que da mil patadas a IE y a otros muchos.&lt;br /&gt;
Está en constante evolución, sacando soluciones a los fallos de seguridad y tiene la ventaja de que los propios usuarios pueden crear extensiones para realizar miles de acciones.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjPZ65HEF761n55inEYeGAHbLZ6QAvUxe5bZLzdYyyN8ArXWUui_go3i7lyIaaRUkCmfMsYy_RICp48cW6eFWPSL12_4HWNeAwPUksPnawHkjIfz_1Aw8bvkTbyXq8Un18oNNGSDicCy-l/s1600/firevschr.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;132&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjPZ65HEF761n55inEYeGAHbLZ6QAvUxe5bZLzdYyyN8ArXWUui_go3i7lyIaaRUkCmfMsYy_RICp48cW6eFWPSL12_4HWNeAwPUksPnawHkjIfz_1Aw8bvkTbyXq8Un18oNNGSDicCy-l/s320/firevschr.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Cuando creía que nadie podía superar a Firefox, apareció Chrome, el navegador de Google. Y efectivamente, le hacía sombra: potente, ligero y con una gran velocidad. Sin embargo tiene truco: Chrome va rapidísimo para las páginas de Google, repletas de javascript que han creado ellos y que es especialmente interpretado por su motor de Chrome. De esta manera páginas como google maps o gmail, van mucho más rápido que en firefox.&lt;br /&gt;
&lt;br /&gt;
Ya son varias las ocasiones en las que me he querido cambiar &amp;nbsp;a Chrome y dejar de lado firefox, pero siempre encuentro sus problemas y eso me echa para atrás y me hace volver a firefox, al que tengo especial cariño y en el fondo no quiero dejar.&lt;br /&gt;
Para que no se me olvide en el futuro, aquí está la lista de cosas que no me gustan en Chrome:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Falta de seguridad. &lt;/b&gt;Como navegador es bastante seguro, no menos que firefox, pero a la hora de guardar los datos de los usuarios deja mucho que desear. Ambos navegadores te permiten guardar contraseñas de las distintas páginas, lo cual es una gran ventaja en un uso diario. Estas contraseñas pueden ser vistas desde la configuración del navegador, y aquí está la diferencia: Firefox te permite configurar una contraseña maestra con la cual tendrás acceso al resto de contraseñas guardadas. Si un usuario abre el navegador y no pone la contraseña maestra, es como si no hubiera ninguna contraseña guardada, lo cual está muy bien para evitar que cualquier acceda a tu correo o cualquier otra página. Chrome no tiene esta opción de manera que CUALQUIER USUARIO que abra el navegador podrá acceder a las páginas con contraseñas guardadas. Y no solo eso, a través de las opciones de configuración, podrá ver las contraseñas.&lt;br /&gt;Este es el principal motivo por el que no uso Chrome&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Perfiles&lt;/b&gt;. En Firefox se pueden crear distintos perfiles, en los que guardarás tus extensiones, contraseñas, favoritos... Chrome ha incluido una opción últimamente para cambiar de usuario, pero no tiene la misma potencia y no se puede configurar para iniciar el navegador como ese usuario automáticamente. Además, volviendo al punto anterior, no permite proteger dicho perfil con contraseña por lo que es un poco tontería lo de los perfiles, tiene cierta utilidad pero no toda la que se le podría sacar.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Falta de extensiones&lt;/b&gt;. Bien, esto ha sido solucionado, al menos en parte: al inicio de Chrome no había extensiones en absoluto. Luego aparecieron algunas, pero con opciones muy limitadas porque las APIs de Google no permitían acceso completo a las opciones. Ahora mismo ya hay más opciones y han surgido también gran cantidad de extensiones para el navegador. De todas formas Firefox le saca años de ventaja en el tema de las extensiones y aunque como digo esto ha cambiado, en firefox se encuentran extensiones para hacer casi cualquier cosa.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Monopolio&lt;/b&gt;. Google sabe más de mi que yo mismo. Eso a veces me asusta. Además, de seguir a este ritmo, no habrá cosas que no sean Google. Como he dicho Firefox me parece un proyecto fantástico y quiero seguir dándole mi voto de confianza. Por tanto, usemos algo más que no sea de Google que está colapsando el mercado... en general! Además, hacen sus sitios para que funcionen mejor con Chrome lo que en cierto sentido es trampa pues una de dos: te obligan a instalar su navegador o a que te funcione un poco más lento y esa actitud no me gusta.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
No dudo que Chrome tiene muchas ventajas, pero amigos, mientras no mejoren esos aspectos de seguridad, ni me planteo cambiarme.&amp;nbsp;&lt;/div&gt;</description><link>http://chapucillas.spuas.com/2012/07/los-fallos-de-google-chrome-por-que-no.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjPZ65HEF761n55inEYeGAHbLZ6QAvUxe5bZLzdYyyN8ArXWUui_go3i7lyIaaRUkCmfMsYy_RICp48cW6eFWPSL12_4HWNeAwPUksPnawHkjIfz_1Aw8bvkTbyXq8Un18oNNGSDicCy-l/s72-c/firevschr.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2542977524128160243.post-5282808240405040576</guid><pubDate>Tue, 03 Jul 2012 09:22:00 +0000</pubDate><atom:updated>2012-07-03T02:22:29.738-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Amon RA</category><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Cyanogen</category><category domain="http://www.blogger.com/atom/ns#">HTC Magic</category><category domain="http://www.blogger.com/atom/ns#">ROM</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Cambiar de ROM en la HTC Magic 32B</title><description>Muchos de los usuarios de smartphones o tablets quieren sacar más partido de ellas instalando ROMs que aumentan el rendimiento y ofrecen nuevas características de los terminales. Sin embargo, la gran mayoría de ellos, entre los cuales me incluyo, realizan acciones como loros siguiendo tutoriales en internet, pero en realidad no tienen (tenemos) mucha idea de lo que en realidad estamos haciendo.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9FRqLxNcaQ5aB2vnO2lYvS473MT3TJmtBgzVJR2Fp823cWGlSHIAHegwmiZ1F8MsLHwII0iyNTuFpxzE8NGxk_ig71uTwAZAd0dWUDR4mA0ti52pRlio7uReyj-FQZcPJaHli7zFPkTdo/s1600/C360_2012-07-03-10-48-01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;ROM de Cyanoget cargando en mi HTC Magic&quot; border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9FRqLxNcaQ5aB2vnO2lYvS473MT3TJmtBgzVJR2Fp823cWGlSHIAHegwmiZ1F8MsLHwII0iyNTuFpxzE8NGxk_ig71uTwAZAd0dWUDR4mA0ti52pRlio7uReyj-FQZcPJaHli7zFPkTdo/s320/C360_2012-07-03-10-48-01.jpg&quot; title=&quot;ROM de Cyanoget en mi HTC Magic&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
A base de trastear, instalar, rootear, desinstalar, formatear, particionar, etc... uno va cogiendo conocimiento y parece que las acciones le van sonando. Pero siempre que tengo que volver a hacer algo en el teléfono, mismo problema: ¿cómo se hacía esto? Aquí lo dejo para que no se me vuelva a olvidar, o al menos, saber donde buscarlo.&lt;br /&gt;
&lt;br /&gt;
Pues aquí va un mini-tutorial de cómo instalar una nueva ROM en la &lt;b&gt;HTC Magic 32B &lt;/b&gt;(si es 32A tiene pequeñas modificaciones), suponiendo que ya se encuentra &lt;b&gt;rooteada &lt;/b&gt;y que tenemos instalado un &lt;b&gt;bootloader&lt;/b&gt; propio como el de &lt;b&gt;Cyanogen &lt;/b&gt;o mejor todavía (el de Cyanogen ya no está soportado) el de &lt;b&gt;&lt;a href=&quot;http://forum.xda-developers.com/showthread.php?t=530492&quot; target=&quot;_blank&quot;&gt;Amon Ra&lt;/a&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;b style=&quot;background-color: #ead1dc;&quot;&gt;Si no es así&lt;/b&gt;&lt;/span&gt;, no creo que puedas hacer el pequeño proceso que a continuación describo, pero aunque puedas, &lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;b style=&quot;background-color: #ead1dc;&quot;&gt;no sigas adelante&lt;/b&gt;&lt;/span&gt; pues puede tener consecuencias no deseadas (no digas que no te advertí, y no me responsabilizo por supuesto).&lt;br /&gt;
&lt;br /&gt;
Pues si tu teléfono se encuentra en esas condiciones, el trabajo sucio ya está hecho, instalar ROMs es lo más sencillo que hay:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Si tienes datos que quieras guardar, &lt;b&gt;haz un backup&lt;/b&gt;. Yo no tengo nada que no pueda permitirme perder (quizá alguna foto pero poco más) así que me salto este paso. Hay aplicaciones estupendas que automatizan esto.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Descarga la ROM&lt;/b&gt; que desees instalar. Asegúrate que sea la adecuada para tu teléfono. &lt;b&gt;&lt;a href=&quot;http://wiki.cyanogenmod.com/wiki/Latest_version&quot; target=&quot;_blank&quot;&gt;Cyanogen &lt;/a&gt;&lt;/b&gt;seguramente sea el desarrollador de ROMs más conocido del momento, pero hay otras muchas por ahí: busca, lee y elige.&lt;br /&gt;Muy posiblemente también tengas que bajar otro zip con las &lt;a href=&quot;http://wiki.cyanogenmod.com/wiki/Latest_Version#Google_Apps&quot; target=&quot;_blank&quot;&gt;aplicaciones nativas de Google&lt;/a&gt; como gmail, maps, youtube... Las ROMs no suelen incluirlo&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Copia el archivo&lt;/b&gt; (o los archivos) descargado &lt;b&gt;en la raíz de tu tarjeta micro SD&lt;/b&gt;, bien sacándola y pinchándola a un ordenador o bien conectando el teléfono al ordenador y habilitando la transferencia de archivos. No olvides extraer con seguridad una vez hayas terminado.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Apaga &lt;/b&gt;el teléfono, espera unos segundos y vuelve a encenderlo manteniendo el botón home (la casita) apretado. En unos pocos segundos habremos accedido al bootloader que tengamos instalado (Amon Ra) seguramente. &lt;span style=&quot;font-size: x-small;&quot;&gt;(&lt;a href=&quot;http://wiki.cyanogenmod.com/wiki/Howto:_Using_the_Recovery&quot; target=&quot;_blank&quot;&gt;Lista de como acceder al bootloader en distintos dispositivos&lt;/a&gt;).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Para que nada falle y todo vaya bien, yo siempre elijo hacer un &lt;b&gt;wipe completo&lt;/b&gt; del teléfono, pero esto es opcional. Al menos es recomendable hacer wipe de la caché dalvik.&lt;/li&gt;
&lt;li&gt;A continuación elige la opción&lt;b&gt; flashear zip desde tarjeta SD&lt;/b&gt; que nos mostrará los archivos que hemos descargado anteriormente. Elige el de la ROM. Opcionalmente, instala también las aplicaciones de google si quieres o si es necesario siguiendo el mismo paso pero eligiendo esta vez el otro archivo.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Reinicia &lt;/b&gt;el teléfono y listo. La primera carga puede tardar bastante, cosa de 5 minutos es normal aunque también puede tardar menos.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
En estos 7 pasos hemos cambiado la ROM, como veis, es algo sencillo que no implica casi ningún riesgo y que podemos hacer cada vez que queramos probar una nueva ROM o reinstalar la que tenemos porque el teléfono empieza a ir lento, cosa que a mi me sucede cada pocos meses al ir instalando aplicaciones.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Espero haya sido de utilidad&lt;/div&gt;</description><link>http://chapucillas.spuas.com/2012/07/cambiar-de-rom-en-la-htc-magic-32b.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9FRqLxNcaQ5aB2vnO2lYvS473MT3TJmtBgzVJR2Fp823cWGlSHIAHegwmiZ1F8MsLHwII0iyNTuFpxzE8NGxk_ig71uTwAZAd0dWUDR4mA0ti52pRlio7uReyj-FQZcPJaHli7zFPkTdo/s72-c/C360_2012-07-03-10-48-01.jpg" height="72" width="72"/><thr:total>2</thr:total></item></channel></rss>