<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4883090113279351504</id><updated>2012-01-27T13:02:44.188-08:00</updated><category term='Libros'/><category term='PHP vs Python'/><category term='Diccionario'/><category term='Nota Mental'/><category term='Poesía'/><category term='Windows'/><category term='SQLite'/><category term='Wine'/><category term='Mi Escritorio'/><category term='Seven'/><category term='Web'/><category term='Escritorio'/><category term='Photoshop'/><category term='JQuery'/><category term='Varios'/><category term='Kubuntu'/><category term='Opensource'/><category term='Manuales'/><category term='Animación'/><category term='Humor'/><category term='Koan'/><category term='Antivirus'/><category term='Ing. de Software'/><category term='JasperReports'/><category term='MySQL'/><category term='CAD'/><category term='PDF'/><category term='CC'/><category term='Personalizacion'/><category term='Thunderbird'/><category term='Herramientas web'/><category term='Estadística'/><category term='Blogger'/><category term='Ciencia'/><category term='GPL'/><category term='Diapositiva'/><category term='Virtual Box'/><category term='¿Cómo hacer?'/><category term='PySide'/><category term='Firefox'/><category term='PostgreSQL'/><category term='Juegos'/><category term='Django'/><category term='Eclipse'/><category term='HTML'/><category term='CMS'/><category term='Seguridad'/><category term='JavaScript'/><category term='Optimización'/><category term='Localización'/><category term='Versionamiento'/><category term='Python'/><category term='Software Libre'/><category term='Twitter'/><category term='Discurso'/><category term='UNI'/><category term='Opengl'/><category term='XP'/><category term='AppEngine'/><category term='Programación'/><category term='Gráficos'/><category term='PyGTK'/><category term='Kindle Fire'/><category term='OpenSuse'/><category term='C++'/><category term='Videos'/><category term='GRUB'/><category term='Plone'/><category term='Citas'/><category term='Audio'/><category term='Chrome'/><category term='Diseño Web'/><category term='Documentación'/><category term='Imprescindibles'/><category term='Virus'/><category term='Carpetas'/><category term='Diseño Gráfico'/><category term='IRC'/><category term='Software'/><category term='Problemas'/><category term='Regedit'/><category term='Android'/><category term='Lecturas'/><category term='Motivación'/><category term='HTML5'/><category term='KDE'/><category term='Linux Mint'/><category term='Internet'/><category term='Portables'/><category term='Herramientas'/><category term='Multimedia'/><category term='PyQt'/><category term='Office'/><category term='Pidgin'/><category term='Libro'/><category term='Java'/><category term='Google'/><category term='PHP'/><category term='Base de Datos'/><category term='Maquetado de Interfaces Gráficas'/><category term='Linux'/><category term='Ubuntu'/><title type='text'>De todo</title><subtitle type='html'>Lo que se me ocurra..</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default?start-index=101&amp;max-results=100'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>248</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-849186660004503966</id><published>2012-01-27T13:02:00.000-08:00</published><updated>2012-01-27T13:02:44.208-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Kindle Fire'/><title type='text'>Instalar Android Debug Bridge (ADB) con conexión al Kindle Fire en Linux - Windows</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Hn_dVN60IDw/TyMCOtH8DHI/AAAAAAAAA8o/3_IP25ZeZoI/s1600/cyanogen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-Hn_dVN60IDw/TyMCOtH8DHI/AAAAAAAAA8o/3_IP25ZeZoI/s1600/cyanogen.png" /&gt;&lt;/a&gt;&lt;/div&gt;Para quienes quieran experimentar con su Kindle Fire:&lt;br /&gt;&lt;br /&gt;Android Debug Bride: Es una herramienta de linea de comandos incluida en la SDK de Android que nos permite comunicar un dispositivo Android emulado o conectado. Es una aplicación del tipo cliente-servidor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lo necesario: Una PC con un sistema operativo Linux o Windows (No tengo una Mac en la que probar), un Kindle Fire y un poco de paciencia no vendría mal.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Pasos a seguir:&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;0&lt;/b&gt;. Antes de nada, necesitamos tener instalado el JDK que podemos descargar desde &lt;i&gt;&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"&gt;Oracle&lt;/a&gt;&lt;/i&gt;:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1&lt;/b&gt;. Descargamos el SDK de Android correspondiente a nuestro sistema operativo de la siguiente URL:&amp;nbsp;&lt;a href="http://developer.android.com/sdk/index.html"&gt;http://developer.android.com/sdk/index.html&lt;/a&gt;&amp;nbsp;-tgz para Linux y de preferencia el .exe para Windows-&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2&lt;/b&gt;. La instalación para Windows, como casi siempre es trivial (Install - Next - Next - Finish). En el caso de Linux una vez descargado el paquete, solo debemos descomprimirlo y ya estará listo para usarse.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3&lt;/b&gt;. Iniciamos en SDK Manager en Windows realizando un complicado doble click en el bonito acceso directo que se debió agregar en algún sitio de nuestro menú Inicio. En Linux nos ubicamos en la carpeta: android-sdk-linux/tools y por medio de la terminal, escribiendo&amp;nbsp;&lt;i&gt;./android&lt;/i&gt; iniciamos el 'SDK Manager'&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4&lt;/b&gt;. Ahora tenemos abierto el SDK Manager con una pantalla similar a:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-efPnzmaRRTY/TyMHosENihI/AAAAAAAAA8w/DvyfsF3HEV8/s1600/Android+SDK+Manager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" src="http://2.bp.blogspot.com/-efPnzmaRRTY/TyMHosENihI/AAAAAAAAA8w/DvyfsF3HEV8/s400/Android+SDK+Manager.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Para ambos sistemas operativos, marcamos el check de Android SDK Tools y Android SDK Platform-tools y clickeamos l botón Install Packages -el cual aqui no se muestra porque no he maximizado la ventana-&lt;br /&gt;&lt;br /&gt;En caso de Windows será necesario que instalemos tambien el Driver de Google que se encuentra al final de la lista en el apartado 'Extras - Google USB Driver' .&lt;br /&gt;&lt;br /&gt;Hasta aquí tenemos descargadas e instaladas todas las herramientas necesarias para nuestro propósito, ahora lo configuraremos para reconocer al Kindle Fire.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5&lt;/b&gt;. En Windows:&lt;br /&gt;&lt;div style="text-align: left;"&gt;w1. Vamos a nuestro directoria personal y luego al directorio .android, podemos colocar esto en la ruta del explorador: %USERPROFILE\.android% y agregamos o editamos el archivo: adb_usb.ini al cual le adicionamos en una nueva linea:&amp;nbsp;&lt;i&gt;0x1949&lt;/i&gt;&lt;/div&gt;w2. Ahora, en la carpeta en la que tenemos el SDK instalado, probablemente en Archivos de Programa/Android/android-sdk/extras/google/drivers editamos el archivo:&amp;nbsp;&lt;i&gt;android_winusb.inf &lt;/i&gt;&amp;nbsp;agregando la siguientes lineas:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;;Kindle Fire&lt;br /&gt;%SingleAdbInterface% = USB_Install, USB\VID_1949&amp;amp;PID_0006&lt;br /&gt;%CompositeAdbInterface% = USB_Install, USB\VID_1949&amp;amp;PID_0006&amp;amp;MI_01&lt;/blockquote&gt;a los apartados&amp;nbsp;&amp;nbsp;[Google.NTx86] y&amp;nbsp;[Google.NTamd64] -me parece que solo es necesario agregarlo a uno de los dos dependiendo de nuestro Sistema Operativo .. pero, para que arriesgarse ..-&lt;br /&gt;w3. Ahora por medio del administrador de dispositivos y con el Kindle conectado instalamos o actualizamos el driver desde la carpeta en la que tenemos el driver de Google (aquella cuyo contenido acabamos de modificar).&lt;br /&gt;w4. Una vez instalado el driver podemos abrir el cmd (si gustamos agregamos el directorio plataform-tools al path, mas o menos como &lt;i&gt;&lt;a href="http://sudokill.blogspot.com/2011/05/agregar-una-variable-al-path-en-windows.html"&gt;aqui&lt;/a&gt;&lt;/i&gt;) nos dirigimos al directorio plataform tools y si digitamos adb devices nos debería aparecer el Kindle en la lista (observaremos algo como esto:&amp;nbsp;1902000600000001&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;device)&lt;br /&gt;&lt;br /&gt;En Linux:&lt;br /&gt;l1. Similar a windows, editamos el archivo:&amp;nbsp;~/.android/adb_usb.ini &amp;nbsp;y agregamos la linea: 0x1949&lt;br /&gt;l2. Editamos o creamos el archivo:&amp;nbsp;/etc/udev/rules.d/51-android.rules &amp;nbsp;y adicionamos las lineas:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;# adb protocol for blaze / ottter (Amazon Kindle Fire)&lt;br /&gt;SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTRS{idProduct}=="0006", MODE="0660", OWNER="root", GROUP="androiddev", SYMLINK+="android%n"&amp;gt;&lt;/blockquote&gt;l3. Creamos el grupo androiddev:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo addgroup --system androiddev&lt;/blockquote&gt;l4. Agregamos nuestro usuario al grupo:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo adduser &amp;lt;username&amp;gt; androiddev&lt;/blockquote&gt;Reemplazamos &amp;lt;username&amp;gt; por nuestro nombre de usuario.&lt;br /&gt;l5. Reiniciamos udev:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo service udev restart&lt;/blockquote&gt;l6. Ahora si nos ubicamos por medio de la terminal en el directorio plataform-tools en el que tenemos nuestro SDK(no es necesario si se agregó el directorio al path) y escribimos:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;./adb devices deberiamos obtener listado nuestro Kindle Fire.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;En caso de algun problema, solo tenemos que ir a Google y buscar términos como:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;adb kindle fire linux -o windows según sea-&lt;/blockquote&gt;o en todo caso, realizar una pregunta por medio de los comentarios.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Recursos&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Documentación oficial de Android&lt;br /&gt;&amp;nbsp; &amp;nbsp; - &lt;i&gt;&lt;a href="http://developer.android.com/sdk/index.html"&gt;SDK&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; - &lt;i&gt;&lt;a href="http://developer.android.com/guide/developing/tools/adb.html"&gt;ADB&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Otros&lt;br /&gt;&amp;nbsp; &amp;nbsp; - &lt;i&gt;&lt;a href="http://www.subinet.es/software/rootea-e-instalar-adb-en-tu-kindle-fire-con-superoneclick/"&gt;ADB en Windows&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; - &lt;i&gt;&lt;a href="http://forums.androidcentral.com/amazon-kindle-fire/148861-how-enable-adb-kindle-fire-ubuntu-linux.html"&gt;Enable ADB on Kindle Fire&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; - &lt;i&gt;&lt;a href="http://ronguilmet.com/2012/01/debugging-kindle-fire-apps-with-ubuntu/"&gt;Debuggin Kindle Fire en Ubuntu&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-849186660004503966?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/849186660004503966/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=849186660004503966' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/849186660004503966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/849186660004503966'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2012/01/instalar-android-debug-bridge-adb-con.html' title='Instalar Android Debug Bridge (ADB) con conexión al Kindle Fire en Linux - Windows'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Hn_dVN60IDw/TyMCOtH8DHI/AAAAAAAAA8o/3_IP25ZeZoI/s72-c/cyanogen.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1331265513488310446</id><published>2012-01-22T19:11:00.000-08:00</published><updated>2012-01-22T19:11:57.188-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Validar código python con pep8 y pylint en SublimeText 2</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-8E0NpXAz3Kc/TxzPa-n0i4I/AAAAAAAAA8c/D0MEof7tgX4/s1600/Pantallazo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://4.bp.blogspot.com/-8E0NpXAz3Kc/TxzPa-n0i4I/AAAAAAAAA8c/D0MEof7tgX4/s400/Pantallazo.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Por medio de un complemente desarrollado inicialmente por &lt;i&gt;&lt;a href="https://github.com/ehamiter/Sublime-Text-2-Plugins"&gt;ehamiter&lt;/a&gt;&lt;/i&gt;, mejorado por &lt;i&gt;&lt;a href="https://github.com/nstielau/Sublime-Text-2-Plugins"&gt;nstielau&lt;/a&gt;&lt;/i&gt; y al cual le agregué una&amp;nbsp;corrección&amp;nbsp;menor, se puede validar código python en el editor 'Sublime Text' de manera sencilla.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para agregarlo:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Nos instalamos pep8 y pylint:&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;div style="text-align: justify;"&gt;pip install pep8&lt;/div&gt;&lt;div style="text-align: justify;"&gt;pip install pylint&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;2. Obtenemos los archivos: Context.sublime-menu, Main.sublime-menu y python_validation.py (los podemos obtener de: &lt;i&gt;&lt;a href="https://github.com/alexander-ae/Sublime-Text-2-Plugins"&gt;Sublime-Text-2-Plugins&lt;/a&gt;&lt;/i&gt;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Copiamos los 3 archivos en el directorio 'User packages' de Sublime Text 2, el cual lo podemos encontrar en:&lt;/div&gt;&lt;blockquote class="tr_bq" style="text-align: justify;"&gt;Sublime Text 2 &amp;gt; Preferences &amp;gt; Browse Packages... &amp;gt; User&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;4. Reiniciamos Sublime Text y podremos observar en el menú contextual o en el menú Tools las opciones de validación para nuestro archivos .py abiertos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Cada vez que se encuentre algún posible error de validación, se nos mostrará un menú desplegable con la lista de los mismos tal y como se muestra en la imagen al inicio.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="color: #274e13;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;i&gt;&lt;a href="https://github.com/alexander-ae/Sublime-Text-2-Plugins"&gt;Sublime-Text-2-Plugins&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="color: #274e13;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://www.sublimetext.com/dev"&gt;&lt;i&gt;Sublime Text 2&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1331265513488310446?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1331265513488310446/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1331265513488310446' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1331265513488310446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1331265513488310446'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2012/01/validar-codigo-python-con-pep8-y-pylint.html' title='Validar código python con pep8 y pylint en SublimeText 2'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-8E0NpXAz3Kc/TxzPa-n0i4I/AAAAAAAAA8c/D0MEof7tgX4/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2618727377344731899</id><published>2012-01-21T17:20:00.000-08:00</published><updated>2012-01-21T17:20:20.466-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Mint'/><title type='text'>Instalar ntfs-config en Linux Mint 12</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-jwg4vewCCF8/TxtkHFwljnI/AAAAAAAAA8U/o1A3xif0eUk/s1600/mint-logo-200.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="120" src="http://3.bp.blogspot.com/-jwg4vewCCF8/TxtkHFwljnI/AAAAAAAAA8U/o1A3xif0eUk/s200/mint-logo-200.png" width="120" /&gt;&lt;/a&gt;&lt;/div&gt;Y para variar, ahora estoy probando Linux Mint 12 en la versión Gnome:&lt;br /&gt;&lt;br /&gt;Para que la utilidad ntfs-config funcione correctamente, en mi caso fue necesario crear un directorio:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo mkdir -p /etc/hal/fdi/policy&lt;/blockquote&gt;Y luego de ello instalamos ntfs-config:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo apt-get install ntfs-config&lt;/blockquote&gt;o simplemente lo usamos si es que ya lo habíamos instalado.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #274e13;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en:&amp;nbsp;&lt;a href="http://community.linuxmint.com/software/view/ntfs-config"&gt;&lt;i&gt;http://community.linuxmint.com&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2618727377344731899?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2618727377344731899/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2618727377344731899' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2618727377344731899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2618727377344731899'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2012/01/instalar-ntfs-config-en-linux-mint-12.html' title='Instalar ntfs-config en Linux Mint 12'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-jwg4vewCCF8/TxtkHFwljnI/AAAAAAAAA8U/o1A3xif0eUk/s72-c/mint-logo-200.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-7297964112900631748</id><published>2012-01-08T06:41:00.000-08:00</published><updated>2012-01-21T17:37:23.172-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Mint'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Instalar Sublime Text 2 en Ubuntu 11.10 o en Linux Mint 12</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NtbyC9JY1DM/TwmqiFFVBmI/AAAAAAAAA8I/WrePxbn6ZWs/s1600/SublimeText2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="96" src="http://1.bp.blogspot.com/-NtbyC9JY1DM/TwmqiFFVBmI/AAAAAAAAA8I/WrePxbn6ZWs/s200/SublimeText2.png" width="96" /&gt;&lt;/a&gt;&lt;/div&gt;Agregamos el siguiente PPA:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo add-apt-repository ppa:webupd8team/sublime-text-2&lt;/blockquote&gt;actualizamos:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo apt-get update&lt;/blockquote&gt;Instalamos:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo apt-get install sublime-text-2&lt;/blockquote&gt;Y con ello tendremos Sublime Text instalado en:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;/usr/lib/sublime-text-2&lt;/blockquote&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;i&gt;&lt;a href="http://www.webupd8.org/2011/03/sublime-text-2-ubuntu-ppa.html"&gt;WEB UPD8&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-7297964112900631748?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/7297964112900631748/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=7297964112900631748' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7297964112900631748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7297964112900631748'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2012/01/instalar-sublime-text-2-en-ubuntu-1110.html' title='Instalar Sublime Text 2 en Ubuntu 11.10 o en Linux Mint 12'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-NtbyC9JY1DM/TwmqiFFVBmI/AAAAAAAAA8I/WrePxbn6ZWs/s72-c/SublimeText2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6173496296076903157</id><published>2012-01-05T21:11:00.000-08:00</published><updated>2012-01-14T09:53:00.043-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Instalar  C++ Boost en Ubuntu</title><content type='html'>C++ Bost, un conjunto de librerias para C++&lt;br /&gt;&lt;br /&gt;Como siempre, tan sencillo como solo hacer:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;sudo apt-get install libboost-dev&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6173496296076903157?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6173496296076903157/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6173496296076903157' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6173496296076903157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6173496296076903157'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2012/01/instalar-c-boost-en-ubuntu.html' title='Instalar  C++ Boost en Ubuntu'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-4320293581741505498</id><published>2011-12-27T21:10:00.000-08:00</published><updated>2011-12-27T21:20:56.502-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><title type='text'>Neil Pasricha: The 3 A's of awesome</title><content type='html'>&lt;div style="text-align: justify;"&gt;Una charla de TED en la que&amp;nbsp;Neil Pasricha, nos relata un poco sobre su vida, su blog, y su punto de vista sobre el&amp;nbsp;día&amp;nbsp;a&amp;nbsp;día.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;center&gt;&lt;object height="365" width="510"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt;&lt;param name="flashvars" value="vu=http://video.ted.com/talk/stream/2010X/Blank/NeilPasricha_2010X-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/NeilPasricha-2010X.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1048&amp;lang=es&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=neil_pasricha_the_3_a_s_of_awesome;year=2010;theme=master_storytellers;theme=what_makes_us_happy;event=TEDxToronto+2010;tag=book;tag=happiness;tag=life;tag=love;tag=personal+growth;tag=psychology;tag=writing;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt;&lt;center&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="500" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talk/stream/2010X/Blank/NeilPasricha_2010X-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/NeilPasricha-2010X.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1048&amp;lang=es&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=neil_pasricha_the_3_a_s_of_awesome;year=2010;theme=master_storytellers;theme=what_makes_us_happy;event=TEDxToronto+2010;tag=book;tag=happiness;tag=life;tag=love;tag=personal+growth;tag=psychology;tag=writing;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;/embed&gt;&lt;/center&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;a href="http://acceso-directo.com/llenando-nuestra-vida-de-awesome"&gt;accesodirecto.com&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://www.ted.com/talks/lang/en/neil_pasricha_the_3_a_s_of_awesome.html"&gt;TED&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-4320293581741505498?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/4320293581741505498/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=4320293581741505498' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4320293581741505498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4320293581741505498'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/12/neil-pasricha-3-as-of-awesome.html' title='Neil Pasricha: The 3 A&apos;s of awesome'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-7629120824613831182</id><published>2011-12-17T18:16:00.000-08:00</published><updated>2011-12-17T18:16:41.462-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='Diapositiva'/><title type='text'>Open Source Software - A Guide to Innovation</title><content type='html'>&lt;center&gt;&lt;iframe src="http://www.slideshare.net/slideshow/embed_code/5438085" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-7629120824613831182?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/7629120824613831182/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=7629120824613831182' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7629120824613831182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7629120824613831182'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/12/open-source-software-guide-to.html' title='Open Source Software - A Guide to Innovation'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-4276442954443471888</id><published>2011-12-17T13:55:00.000-08:00</published><updated>2011-12-17T13:55:20.838-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><title type='text'>deck.js: Modernas Presentaciones HTML</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-geYzmoineGU/Tu0JpDst1ZI/AAAAAAAAA78/uzgd4FwuFCI/s1600/deck.js2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="230" src="http://2.bp.blogspot.com/-geYzmoineGU/Tu0JpDst1ZI/AAAAAAAAA78/uzgd4FwuFCI/s400/deck.js2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;deck.js es una librería JavaScript que nos permite generar presentaciones en formato HTML. Brinda a los conocedores de CSS y JavaScript la posibilidad de construir personalizadas presentaciones,&amp;nbsp;así&amp;nbsp;como&amp;nbsp;también&amp;nbsp;provee de plantillas html y algunos temas css para que cualquiera pueda comenzar a realizar sus propios slides.&lt;br /&gt;&lt;br /&gt;deck-js depende de&amp;nbsp;&lt;a href="http://jquery.com/" style="font-style: italic;"&gt;Jquery&lt;/a&gt;&amp;nbsp;y&amp;nbsp;&lt;a href="http://www.modernizr.com/" style="font-style: italic;"&gt;Modernizer&lt;/a&gt;, ambos incluidos junto a la descarga de la&amp;nbsp;librería.&lt;br /&gt;&lt;br /&gt;¿Como se usa?&lt;br /&gt;&lt;br /&gt;1. Comenzamos creando una plantilla html en la cual agregamos al bloque head:&lt;br /&gt;&amp;nbsp; &amp;nbsp; - El CSS de las extensiones a utilizar&lt;br /&gt;&amp;nbsp; &amp;nbsp; - El CSS del tema de nuestra presentación&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Modernizer&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Jquery&lt;br /&gt;&lt;br /&gt;2. En el bloque del body, al cual le agregamos &lt;span style="color: #38761d;"&gt;class = 'deck-container'&lt;/span&gt; irá el contenido de nuestro slide en bloques &lt;span style="color: #38761d;"&gt;&amp;lt;section class&amp;nbsp;= 'slide'&amp;gt; &amp;lt;/section&amp;gt;&lt;/span&gt; y con ello tendríamos lista una presentación con lo básico.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://imakewebthings.github.com/deck.js/"&gt;deck.js&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://imakewebthings.github.com/deck.js/introduction/"&gt;Introduccion a deck.js&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-4276442954443471888?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/4276442954443471888/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=4276442954443471888' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4276442954443471888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4276442954443471888'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/12/deckjs-modernas-presentaciones-html.html' title='deck.js: Modernas Presentaciones HTML'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-geYzmoineGU/Tu0JpDst1ZI/AAAAAAAAA78/uzgd4FwuFCI/s72-c/deck.js2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5149474290722855559</id><published>2011-12-08T09:18:00.001-08:00</published><updated>2011-12-08T09:40:03.993-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Problemas'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Box'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Solución a: '' Target filesystem doesn't have /sbin/init. '' en Virtual Box</title><content type='html'>En caso de que al iniciar la máquina virtual -VirtualBox- se obtenga un error similar a:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;mount: mounting /dev on /root/dev failed: No such file or directory&lt;br /&gt;mount: mounting /sys on /root/sys failed: No such file or directory&lt;br /&gt;mount: mounting /proc on /root/proc failed: No such file or directory&lt;br /&gt;Target filesystem doesn't have /sbin/init.No init found.&lt;br /&gt;Try passing init= bootarg.&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;BusyBox v1.13.3 (Ubuntu 1:1.13.3-1ubuntu11) built-in shell (ash)&lt;br /&gt;Enter 'help' for a list of built-in commands.&lt;br /&gt;(initramfs)&lt;/blockquote&gt;Para solucionarlo:&lt;br /&gt;- Agregamos un archivo imagen ISO de ubuntu a nuestra máquina virtual o agregamos nuestro disco virtual fallido a otra máquina virtual con ubuntu.&lt;br /&gt;- Iniciamos desde el archivo ISO o desde la otra máquina virtual&lt;br /&gt;- Abrimos la utilidad de discos o gparted, con ello chekeamos/reparamos nuestro disco dañado.&lt;br /&gt;- Apagamos la máquina *retiramos la iso&lt;br /&gt;- Reiniciamos nuestra máquina virtual -dañada- y ya debería de funcionar correctamente.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;/b&gt;Visto en: &lt;a href="http://superuser.com/questions/325949/virtualbox-ubuntu-target-filesystem-doesnt-have-sbin-init"&gt;&lt;i&gt;superuser.com&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5149474290722855559?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5149474290722855559/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5149474290722855559' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5149474290722855559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5149474290722855559'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/12/solucion-target-filesystem-doesnt-have.html' title='Solución a: &apos;&apos; Target filesystem doesn&apos;t have /sbin/init. &apos;&apos; en Virtual Box'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3363170796389184670</id><published>2011-12-04T05:39:00.001-08:00</published><updated>2011-12-04T05:45:45.884-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Problemas'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Teclado numérico desconfigurado en Ubuntu</title><content type='html'>Cuando nos suceda que el teclado numérico ha dejado de funcionar:&lt;br /&gt;&lt;br /&gt;* Vamos a Sistema -&amp;gt; Preferencias -&amp;gt; Teclado&lt;br /&gt;&lt;br /&gt;* Pestaña: Teclas del ratón, y allí desmarcamos el check que permite controlar el puntero mediante teclado.&lt;br /&gt;&lt;br /&gt;* Con ello&amp;nbsp;deberíamos&amp;nbsp;de haber&amp;nbsp;reactivado&amp;nbsp;correctamente nuestro teclado numérico.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3363170796389184670?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3363170796389184670/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3363170796389184670' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3363170796389184670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3363170796389184670'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/12/teclado-numerico-desconfigurado-en.html' title='Teclado numérico desconfigurado en Ubuntu'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1009860931226594048</id><published>2011-11-06T16:11:00.000-08:00</published><updated>2012-01-06T17:46:08.961-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Problemas'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Instalar PIL con virtualenv</title><content type='html'>Al instalar PIP en un entorno virtualizado creado con virtualenv, es muy posible que obtengamos un error como: 'JPEG support not available'&lt;br /&gt;&lt;br /&gt;Ello es debido a que al compilar PIP, no se encontró libjpeg-dev, procedemos a instalarlo:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo apt-get install libjpeg-dev&lt;/blockquote&gt;Ahora crearemos un enlace simbólico:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/&lt;/blockquote&gt;Y reinstalamos PIL:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pip uninstall PIL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pip install PIL&lt;/blockquote&gt;&lt;br /&gt;**Editado el 6 de enero del 2012:&lt;br /&gt;En caso de que tampoco contemos con soporte para png, creamos un enlace simbólico a:&lt;br /&gt;sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en: &lt;a href="http://www.eddiewelker.com/2010/03/31/installing-pil-virtualenv-ubuntu/"&gt;&lt;i&gt;Eddie welker.com&lt;/i&gt;&lt;/a&gt; y &lt;a href="http://littlebrain.org/2011/08/21/installing-pil-in-virtualenv-in-ubuntu/"&gt;&lt;i&gt;littlebrain.com&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1009860931226594048?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1009860931226594048/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1009860931226594048' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1009860931226594048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1009860931226594048'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/11/instalar-pil-con-virtualenv.html' title='Instalar PIL con virtualenv'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2585129669880918814</id><published>2011-10-29T08:52:00.000-07:00</published><updated>2011-10-29T08:53:12.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Versionamiento'/><category scheme='http://www.blogger.com/atom/ns#' term='Diapositiva'/><title type='text'>Mercurial: La vía fácil</title><content type='html'>&lt;center&gt;&lt;div id="__ss_9939609" style="width: 425px;"&gt;&lt;div style="text-align: justify;"&gt;&lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/9939609" style="text-align: -webkit-center;" width="425"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt;&lt;/center&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Presentación de Igor Támara en el Campus Party Colombia 2011 en la que nos habla sobre Mercurial, también se puede encontrar en la página web de su autor:&amp;nbsp;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;a href="http://igor.tamarapatino.org/presentaciones/cpco04/mercurial.pdf"&gt;igor.tamarapatino.org&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2585129669880918814?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2585129669880918814/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2585129669880918814' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2585129669880918814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2585129669880918814'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/mercurial-la-via-facil.html' title='Mercurial: La vía fácil'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-7451119479460114671</id><published>2011-10-23T08:37:00.000-07:00</published><updated>2011-10-23T08:37:41.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citas'/><title type='text'>Cuida tus pensamientos</title><content type='html'>&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Cuida tus pensamientos&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;porque se volverán palabras.&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Cuida tus palabras&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;porque se transformarán en actos.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Cuida tus actos&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;porque se harán costumbre.&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Cuida tus costumbres&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;porque forjarán tu carácter.&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Cuida tu carácter&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;porque formará tu destino.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&amp;nbsp;y tu destino, será tu vida.&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://es.wikipedia.org/wiki/Mahatma_Gandhi"&gt;Mahatma Gandhi&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-7451119479460114671?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/7451119479460114671/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=7451119479460114671' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7451119479460114671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7451119479460114671'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/cuida-tus-pensamientos.html' title='Cuida tus pensamientos'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2350029141097443234</id><published>2011-10-18T21:30:00.000-07:00</published><updated>2011-10-18T21:30:11.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas web'/><title type='text'>HTML5Pattern: Herramienta para probar patrones en formularios HTML5</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://es.wikipedia.org/wiki/HTML_5" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://2.bp.blogspot.com/-G4p1r08cPzU/Tp5QVZy2mNI/AAAAAAAAA5w/jrrnPtOYDH8/s200/HTML5_Logo_256.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;HTML5Pattern es una web que nos brinda una lista de algunos patrones de datos comunes a ingresar en formularios, los cuales podemos utilizar con HTML5.&lt;br /&gt;&lt;br /&gt;Tenemos algunos patrones como los de una tarjeta de crédito, fechas, IP's, .. &amp;nbsp;; así como la opción de probar nuestros propios patrones en línea.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://html5pattern.com/"&gt;HTMLPattern&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2350029141097443234?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2350029141097443234/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2350029141097443234' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2350029141097443234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2350029141097443234'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/html5pattern-herramienta-para-probar.html' title='HTML5Pattern: Herramienta para probar patrones en formularios HTML5'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-G4p1r08cPzU/Tp5QVZy2mNI/AAAAAAAAA5w/jrrnPtOYDH8/s72-c/HTML5_Logo_256.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1706955076039833461</id><published>2011-10-16T17:43:00.000-07:00</published><updated>2011-10-16T17:43:46.303-07:00</updated><title type='text'>Django: Ignorar validación de ChoiceField</title><content type='html'>Sucede que en &lt;i&gt;&lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt;&lt;/i&gt;, un &amp;nbsp;campo &lt;i&gt;&lt;a href="https://docs.djangoproject.com/en/1.3/ref/forms/fields/#choicefield"&gt;ChoiceField&lt;/a&gt;&lt;/i&gt; requiere que se le entregue una lista de las opciones a mostrar, las cuales se otorgan por medio del atributo choices.&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: #f6f8ff; color: #000020;"&gt;&lt;span style="color: #200080; font-weight: bold;"&gt;from&lt;/span&gt; django&lt;span style="color: #308080;"&gt;.&lt;/span&gt;forms &lt;span style="color: #200080; font-weight: bold;"&gt;import&lt;/span&gt; ChoiceField&lt;br /&gt;list_of_choices &lt;span style="color: #308080;"&gt;=&lt;/span&gt; &lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #008c00;"&gt;1&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'Choice 1'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #008c00;"&gt;2&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'Choice 2'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #008c00;"&gt;3&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'Choice 3'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #595979;"&gt;# ...&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #308080;"&gt;(&lt;/span&gt;n&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'Choice n'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #200080; font-weight: bold;"&gt;class&lt;/span&gt; MyForm&lt;span style="color: #308080;"&gt;(&lt;/span&gt;forms&lt;span style="color: #308080;"&gt;.&lt;/span&gt;Form&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;:&lt;/span&gt;&lt;br /&gt;    my_choice_field &lt;span style="color: #308080;"&gt;=&lt;/span&gt; ChoiceField&lt;span style="color: #308080;"&gt;(&lt;/span&gt;choices &lt;span style="color: #308080;"&gt;=&lt;/span&gt; list_of_choices&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Entonces, cuando nosotros enviamos nuestra&amp;nbsp;opción&amp;nbsp;en el formulario, Django comprueba que sea una opción válida, pero existen situaciones en las que esta auto-validación no es lo que deseamos, por ejemplo, en caso de que usemos un 'Selector dinámico' que obtiene sus campos a través de &lt;a href="http://es.wikipedia.org/wiki/AJAX" style="font-style: italic;"&gt;Ajax&lt;/a&gt;.&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;En esta situación, lo que podemos hacer es crear un nuevo campo que herede de ChoiceField, pero que incluya una validación personalizada, sobre-escribiendo a la que viene por defecto, lo que nos quedaría de la siguiente manera:&lt;br /&gt;&lt;pre style="background: #f6f8ff; color: #000020;"&gt;&lt;span style="color: #200080; font-weight: bold;"&gt;from&lt;/span&gt; django&lt;span style="color: #308080;"&gt;.&lt;/span&gt;forms &lt;span style="color: #200080; font-weight: bold;"&gt;import&lt;/span&gt; ChoiceField&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #200080; font-weight: bold;"&gt;class&lt;/span&gt; LazyChoiceField&lt;span style="color: #308080;"&gt;(&lt;/span&gt;ChoiceField&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;:&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #200080; font-weight: bold;"&gt;def&lt;/span&gt; &lt;span style="color: #e34adc;"&gt;__init__&lt;/span&gt;&lt;span style="color: #308080;"&gt;(&lt;/span&gt;self&lt;span style="color: #308080;"&gt;,&lt;/span&gt; choices&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; required&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #e34adc;"&gt;True&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; widget&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #e34adc;"&gt;None&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;                 label&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #e34adc;"&gt;None&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; initial&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #e34adc;"&gt;None&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; help_text&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #e34adc;"&gt;None&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;                 &lt;span style="color: #308080;"&gt;*&lt;/span&gt;args&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #308080;"&gt;*&lt;/span&gt;&lt;span style="color: #308080;"&gt;*&lt;/span&gt;kwargs&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;:&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #e34adc;"&gt;super&lt;/span&gt;&lt;span style="color: #308080;"&gt;(&lt;/span&gt;LazyChoiceField&lt;span style="color: #308080;"&gt;,&lt;/span&gt; self&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;.&lt;/span&gt;&lt;span style="color: #e34adc;"&gt;__init__&lt;/span&gt;&lt;span style="color: #308080;"&gt;(&lt;/span&gt;required&lt;span style="color: #308080;"&gt;=&lt;/span&gt;required&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;        widget&lt;span style="color: #308080;"&gt;=&lt;/span&gt;widget&lt;span style="color: #308080;"&gt;,&lt;/span&gt; label&lt;span style="color: #308080;"&gt;=&lt;/span&gt;label&lt;span style="color: #308080;"&gt;,&lt;/span&gt; initial&lt;span style="color: #308080;"&gt;=&lt;/span&gt;initial&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;        help_text&lt;span style="color: #308080;"&gt;=&lt;/span&gt;help_text&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #308080;"&gt;*&lt;/span&gt;args&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #308080;"&gt;*&lt;/span&gt;&lt;span style="color: #308080;"&gt;*&lt;/span&gt;kwargs&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #200080; font-weight: bold;"&gt;def&lt;/span&gt; valid_value&lt;span style="color: #308080;"&gt;(&lt;/span&gt;self&lt;span style="color: #308080;"&gt;,&lt;/span&gt; value&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;:&lt;/span&gt;      &lt;br /&gt;        &lt;span style="color: #595979;"&gt;# aqui va nuestra nueva validacion&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #595979;"&gt;# en caso de ser correcta, retorna True&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #200080; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #e34adc;"&gt;True&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;opciones &lt;span style="color: #308080;"&gt;=&lt;/span&gt; &lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #008c00;"&gt;1&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'Choice 1'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #008c00;"&gt;2&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'Choice 2'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #008c00;"&gt;3&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'Choice 3'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #595979;"&gt;# ...&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #308080;"&gt;(&lt;/span&gt;n&lt;span style="color: #308080;"&gt;,&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'Choice n'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #200080; font-weight: bold;"&gt;class&lt;/span&gt; MyForm&lt;span style="color: #308080;"&gt;(&lt;/span&gt;forms&lt;span style="color: #308080;"&gt;.&lt;/span&gt;Form&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;:&lt;/span&gt;&lt;br /&gt;    my_choice_field &lt;span style="color: #308080;"&gt;=&lt;/span&gt; LazyChoiceField&lt;span style="color: #308080;"&gt;(&lt;/span&gt;choices &lt;span style="color: #308080;"&gt;=&lt;/span&gt; opciones&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;i&gt;&lt;a href="http://blog.ikraftsoft.com/post/1342312823/django-form-choicefield-dynamic-values"&gt;ikraftsoft&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1706955076039833461?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1706955076039833461/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1706955076039833461' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1706955076039833461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1706955076039833461'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/django-ignorar-validacion-de.html' title='Django: Ignorar validación de ChoiceField'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5602999626902567280</id><published>2011-10-13T15:39:00.000-07:00</published><updated>2011-10-13T15:39:08.163-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Django'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Django: Usar un FormWizard en una Vista</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-C7ce4ebsFRM/TWiOggcWRyI/AAAAAAAAApQ/KcyZqUomr0A/s1600/django-logo-positive.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="69" src="http://2.bp.blogspot.com/-C7ce4ebsFRM/TWiOggcWRyI/AAAAAAAAApQ/KcyZqUomr0A/s200/django-logo-positive.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;En caso de que se deseara incluir un formulario creado con &lt;a href="https://docs.djangoproject.com/en/1.3/ref/contrib/formtools/form-wizard/"&gt;&lt;i&gt;FormWizard&lt;/i&gt;&lt;/a&gt; en una vista (para agregarle un @login_required por ejemplo), podríamos crear una vista como la siguiente:&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;@login_required&lt;br /&gt;&lt;span style="color: maroon; font-weight: bold;"&gt;def&lt;/span&gt; view_form_wizard&lt;span style="color: #808030;"&gt;(&lt;/span&gt;request&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: #808030;"&gt;:&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;# Ajustamos un diccionario con datos iniciales&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;# En este caso, estamos pre-llenando informacion&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;# solo para el 1er formulario.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background: none repeat scroll 0% 0% rgb(255, 255, 255); color: black;"&gt;    initial &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;span style="color: #008c00;"&gt;0&lt;/span&gt;&lt;span style="color: #808030;"&gt;:&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;span style="color: #0000e6;"&gt;'first_name'&lt;/span&gt;&lt;span style="color: #808030;"&gt;:&lt;/span&gt; request&lt;span style="color: #808030;"&gt;.&lt;/span&gt;user&lt;span style="color: #808030;"&gt;.&lt;/span&gt;first_name&lt;span style="color: #808030;"&gt;,&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color: #0000e6;"&gt;'last_name'&lt;/span&gt;&lt;span style="color: #808030;"&gt;:&lt;/span&gt; request&lt;span style="color: #808030;"&gt;.&lt;/span&gt;user&lt;span style="color: #808030;"&gt;.&lt;/span&gt;last_name&lt;span style="color: #808030;"&gt;,&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color: #0000e6;"&gt;'email'&lt;/span&gt;&lt;span style="color: #808030;"&gt;:&lt;/span&gt; request&lt;span style="color: #808030;"&gt;.&lt;/span&gt;user&lt;span style="color: #808030;"&gt;.&lt;/span&gt;email&lt;span style="color: #808030;"&gt;,&lt;/span&gt;&lt;br /&gt;                  &lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;# Se crea el FormWizard&lt;/span&gt;&lt;br /&gt;    form &lt;span style="color: #808030;"&gt;=&lt;/span&gt; EditFormWizard&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;[&lt;/span&gt;FirstForm&lt;span style="color: #808030;"&gt;,&lt;/span&gt; SecondForm&lt;span style="color: #808030;"&gt;,&lt;/span&gt;&lt;span style="color: #808030;"&gt;]&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt; initial&lt;span style="color: #808030;"&gt;=&lt;/span&gt;initial&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;# Llamamos al FormWizard, enviándole el context y el request&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: maroon; font-weight: bold;"&gt;return&lt;/span&gt; form&lt;span style="color: #808030;"&gt;(&lt;/span&gt;context&lt;span style="color: #808030;"&gt;=&lt;/span&gt;RequestContext&lt;span style="color: #808030;"&gt;(&lt;/span&gt;request&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt; request&lt;span style="color: #808030;"&gt;=&lt;/span&gt;request&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style="color: black;"&gt;Y en nuestro archivo urls.py, llamos a esta vista, como siempre.&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en: &lt;a href="http://ten.ynottony.net/2011/01/using-django-formwizard-in-a-view/"&gt;&lt;i&gt;Ten.Ynottony&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5602999626902567280?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5602999626902567280/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5602999626902567280' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5602999626902567280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5602999626902567280'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/django-usar-un-formwizard-en-una-vista.html' title='Django: Usar un FormWizard en una Vista'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-C7ce4ebsFRM/TWiOggcWRyI/AAAAAAAAApQ/KcyZqUomr0A/s72-c/django-logo-positive.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6139733942822832554</id><published>2011-10-11T19:59:00.000-07:00</published><updated>2011-10-11T19:59:25.722-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Koan'/><title type='text'>Koan: En manos del destino</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nySSzFmxv48/TpUCW1BKmoI/AAAAAAAAA5o/wdd6Y4Lrad4/s1600/enso.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://2.bp.blogspot.com/-nySSzFmxv48/TpUCW1BKmoI/AAAAAAAAA5o/wdd6Y4Lrad4/s200/enso.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;Un gran guerrero japones llamado Nobunaga decidio atacar al enemigo pese a tener solo una decima parte de los hombres de que disponia este. El sabia que la victoria seria suya, pero sus soldados dudaban.De camino, hicieron una parada en una hermita Shinto, y dijo a sus hombres: "Despues de visitar el altar, lanzare una moneda. Si sale cara, ganaremos. Si sale cruz, perderemos. El destino nos tiene en su mano."&lt;/blockquote&gt;&lt;blockquote&gt;Nobunaga entro al altar y ofrecio una silenciosa plegaria. Despues salio y lanzo una moneda al aire delante de sus hombres. Salio cara. Sus hombres tenian tantas ganas de luchar que ganaron la batalla facilmente.&lt;span style="color: #444444;"&gt;"Nadie puede cambiar el destino."&lt;/span&gt;, le dijo su ayudante despues de la batalla.&lt;span style="color: #444444;"&gt;"Desde luego que no."&lt;/span&gt;, dijo Nobunaga, mostrandole una moneda trucada, que tenia cara a ambos lados.&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en: &lt;a href="http://cincinato.org/koans/showone_es.php?koan=en_manos_del_destino.txt"&gt;&lt;i&gt;cincinato.org &lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6139733942822832554?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6139733942822832554/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6139733942822832554' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6139733942822832554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6139733942822832554'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/koan-en-manos-del-destino.html' title='Koan: En manos del destino'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-nySSzFmxv48/TpUCW1BKmoI/AAAAAAAAA5o/wdd6Y4Lrad4/s72-c/enso.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3785578604930478249</id><published>2011-10-11T19:47:00.000-07:00</published><updated>2011-10-11T19:47:18.768-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libro'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='CC'/><title type='text'>Libro: Fundamentos de jQuery</title><content type='html'>&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-aoqRrDuwJcg/TpT9CtqYyMI/AAAAAAAAA5g/4fqxqSlPrpc/s1600/fundamentos+de+jquery.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="308" src="http://3.bp.blogspot.com/-aoqRrDuwJcg/TpT9CtqYyMI/AAAAAAAAA5g/4fqxqSlPrpc/s400/fundamentos+de+jquery.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Fundamentos de Jquery es un libro en español, bajo licencia Creative Commons que nos introduce a JavaScript, Jquery y Ajax entre otros temas.&lt;br /&gt;&lt;br /&gt;El libro se encuentra en un repositorio de &lt;a href="https://github.com/dzignus/librojquery"&gt;&lt;i&gt;GitHub&lt;/i&gt;&lt;/a&gt;, y su versión en PDF la podemos obtener de la carpeta &lt;a href="https://github.com/dzignus/librojquery/tree/master/libro/pdf"&gt;&lt;i&gt;/libro/pdf&lt;/i&gt;&lt;/a&gt; del reporitorio.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://librojquery.com/"&gt;&lt;i&gt;librojquery.com&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3785578604930478249?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3785578604930478249/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3785578604930478249' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3785578604930478249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3785578604930478249'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/libro-fundamentos-de-jquery.html' title='Libro: Fundamentos de jQuery'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-aoqRrDuwJcg/TpT9CtqYyMI/AAAAAAAAA5g/4fqxqSlPrpc/s72-c/fundamentos+de+jquery.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5865539716113391842</id><published>2011-10-09T14:25:00.000-07:00</published><updated>2011-10-09T14:25:21.710-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas web'/><title type='text'>HTML5 Test: !Comprueba tu navegador!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5kihZ3XCG70/TpIPrJ69CEI/AAAAAAAAA5c/qstCkXLSKTs/s1600/html5test.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-5kihZ3XCG70/TpIPrJ69CEI/AAAAAAAAA5c/qstCkXLSKTs/s1600/html5test.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Sitio web que nos dice detalla cada característica de HTML5 ha sido o no implementada en nuestro navegador, además de ello incluye una comparativa con los otros navegadores.&lt;/div&gt;&lt;br /&gt;Como dato adicional, &lt;a href="http://www.google.com/chrome%20%20%20%20%20"&gt;&lt;i&gt;Chrome&lt;/i&gt;&lt;/a&gt; es el navegador que alcanza un puntaje más alto.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://html5test.com/index.html"&gt;&lt;i&gt;HTML5Test&lt;/i&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5865539716113391842?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5865539716113391842/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5865539716113391842' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5865539716113391842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5865539716113391842'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/html5-test-comprueba-tu-navegador.html' title='HTML5 Test: !Comprueba tu navegador!'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-5kihZ3XCG70/TpIPrJ69CEI/AAAAAAAAA5c/qstCkXLSKTs/s72-c/html5test.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-8931126275763241872</id><published>2011-10-09T09:13:00.000-07:00</published><updated>2011-10-09T09:13:22.886-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Versionamiento'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Instalar TortoiseHG en Ubuntu</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-oRdVpRck6ko/TpHHVROGFdI/AAAAAAAAA5Y/0QJWsAT2qt8/s1600/TorotiseHG_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="83" src="http://1.bp.blogspot.com/-oRdVpRck6ko/TpHHVROGFdI/AAAAAAAAA5Y/0QJWsAT2qt8/s320/TorotiseHG_logo.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Agregamos los repositorios e instalamos:&lt;br /&gt;&lt;blockquote&gt;sudo add-apt-repository ppa:mercurial-ppa/releases&lt;br /&gt;sudo add-apt-repository ppa:tortoisehg-ppa/releases&lt;br /&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install tortoisehg tortoisehg-nautilus&lt;/blockquote&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en:&amp;nbsp; &lt;a href="http://blog.ragingfx.com/"&gt;&lt;i&gt;blog.ragingfx.com&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-8931126275763241872?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/8931126275763241872/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=8931126275763241872' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8931126275763241872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8931126275763241872'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/instalar-tortoise-en-ubuntu.html' title='Instalar TortoiseHG en Ubuntu'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-oRdVpRck6ko/TpHHVROGFdI/AAAAAAAAA5Y/0QJWsAT2qt8/s72-c/TorotiseHG_logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3559897266817016202</id><published>2011-10-08T19:14:00.000-07:00</published><updated>2011-10-08T19:14:46.190-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citas'/><title type='text'>Cita</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wORCK26yEkA/TpEDFlAPRiI/AAAAAAAAA5U/a_MlzdXfUfc/s1600/wikicitas.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="http://1.bp.blogspot.com/-wORCK26yEkA/TpEDFlAPRiI/AAAAAAAAA5U/a_MlzdXfUfc/s200/wikicitas.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;"Debido a que no sabemos cuándo moriremos, pensamos en la vida como un pozo inagotable. Sin embargo, todo pasa sólo un cierto número de veces y, en realidad, muy pocas. ¿Cuántas veces más recordarás una tarde de la niñez, una tarde que se volvió una parte tan profunda de tu ser, que no concibes la vida sin ella? Tal vez cuatro o cinco veces más. Tal vez ni siquiera eso. ¿Cuántas veces más verás salir la luna llena? Tal vez veinte. Sin embargo, todo parece ilimitado". &lt;span class="hotspot"&gt;&lt;a href="http://es.wikipedia.org/wiki/Paul_Bowles" target="_blank"&gt;Paul Bowles&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en &lt;a href="http://www.wikicitas.net/2011/06/todo-pasa-solo-un-cierto-numero-de.html"&gt;&lt;i&gt;wikicitas &lt;/i&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3559897266817016202?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3559897266817016202/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3559897266817016202' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3559897266817016202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3559897266817016202'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/cita.html' title='Cita'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-wORCK26yEkA/TpEDFlAPRiI/AAAAAAAAA5U/a_MlzdXfUfc/s72-c/wikicitas.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-108378734053638811</id><published>2011-10-08T09:47:00.000-07:00</published><updated>2011-10-08T09:47:53.539-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Plone'/><category scheme='http://www.blogger.com/atom/ns#' term='Nota Mental'/><category scheme='http://www.blogger.com/atom/ns#' term='CMS'/><title type='text'>Usuario y contraseña por defecto en Plone</title><content type='html'>&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-dLUjHYXrP34/TpB-GQ6Yk2I/AAAAAAAAA5Q/pMzFhCh6x4g/s1600/plone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-dLUjHYXrP34/TpB-GQ6Yk2I/AAAAAAAAA5Q/pMzFhCh6x4g/s1600/plone.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Después de buscar un poco:&lt;br /&gt;Para Windows (desconozco si es de la misma manera para linux): el usuario por defecto es admin, la contraseña por defecto es admin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-108378734053638811?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/108378734053638811/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=108378734053638811' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/108378734053638811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/108378734053638811'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/usuario-y-contrasena-por-defecto-en.html' title='Usuario y contraseña por defecto en Plone'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-dLUjHYXrP34/TpB-GQ6Yk2I/AAAAAAAAA5Q/pMzFhCh6x4g/s72-c/plone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-4362574455881639905</id><published>2011-10-01T19:57:00.000-07:00</published><updated>2011-10-01T19:57:54.691-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas web'/><category scheme='http://www.blogger.com/atom/ns#' term='Diseño Gráfico'/><title type='text'>Herramientas para escoger colores que 'combinen'</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-gSOkk6DVfpQ/TofTBX1rwKI/AAAAAAAAA5M/P_h3Pqr7bus/s1600/agave.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="220" src="http://2.bp.blogspot.com/-gSOkk6DVfpQ/TofTBX1rwKI/AAAAAAAAA5M/P_h3Pqr7bus/s320/agave.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;u&gt;De escritorio:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://home.gna.org/colorscheme/"&gt;&lt;i&gt;Agave&lt;/i&gt;&lt;/a&gt; -&amp;gt; para Gnome&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Web:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://colorschemedesigner.com/"&gt;&lt;i&gt;ColorSchemeDesigner &lt;/i&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://kuler.adobe.com/#create/fromacolor"&gt;&lt;i&gt;Kuler&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-4362574455881639905?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/4362574455881639905/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=4362574455881639905' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4362574455881639905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4362574455881639905'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/herramientas-para-escoger-colores-que.html' title='Herramientas para escoger colores que &apos;combinen&apos;'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-gSOkk6DVfpQ/TofTBX1rwKI/AAAAAAAAA5M/P_h3Pqr7bus/s72-c/agave.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-9173387199902347014</id><published>2011-10-01T19:25:00.000-07:00</published><updated>2011-10-01T19:25:26.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='Maquetado de Interfaces Gráficas'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Libre'/><title type='text'>Pencil 1.3</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-j_ki_rVBfhI/TofKyOPTqwI/AAAAAAAAA5I/0MDwhAllTGg/s1600/pencil.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="219" src="http://2.bp.blogspot.com/-j_ki_rVBfhI/TofKyOPTqwI/AAAAAAAAA5I/0MDwhAllTGg/s320/pencil.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Evolus Pencil, aplicación OpenSource que permite realizar maquetas GUI se actualizó para permitir su uso desde Firefox 4 a Firefox 7.&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://pencil.evolus.vn/en-US/Home.aspx"&gt;&lt;i&gt;Evolus Pencil&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-9173387199902347014?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/9173387199902347014/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=9173387199902347014' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/9173387199902347014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/9173387199902347014'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/10/pencil-13.html' title='Pencil 1.3'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-j_ki_rVBfhI/TofKyOPTqwI/AAAAAAAAA5I/0MDwhAllTGg/s72-c/pencil.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-7062219120629660628</id><published>2011-09-24T12:09:00.000-07:00</published><updated>2011-09-24T12:09:40.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Scrapy: Un framework de extraccion de datos web</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-h9wino8HFdg/Tn4OfabjOrI/AAAAAAAAA44/wvzJbhjI-9M/s1600/scrapy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-h9wino8HFdg/Tn4OfabjOrI/AAAAAAAAA44/wvzJbhjI-9M/s1600/scrapy.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Scrapy es un framework desarrollado en python de alto nivel que nos permite extraer información estructurada de un sitio web, puede ser utilizado para realizar mineria de datos, monitorizacion web o generar test automaticos, entre otros.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A modo de ejemplo, hice una aplicación que obtuviese las imagenes de los comics de xkcd-es, a continuación, describo el proceso que realizé:&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Con Ubuntu 10.10, que incluye python 2.6:&lt;br /&gt;&lt;br /&gt;1. Instalamos algunos requerimientos:&lt;br /&gt;&lt;blockquote&gt;sudo apt-get intall libxslt1-dev libxml2&lt;/blockquote&gt;2. Creo un entorno de prueba con virtualenv:&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install virtualenv&lt;br /&gt;virtualenv --no-site-packages test&lt;br /&gt;cd test&lt;br /&gt;# creamos una carpeta en la que almacenaremos el codigo&lt;br /&gt;mkdir src&lt;br /&gt;cd src&lt;/blockquote&gt;&lt;blockquote&gt;# activamos el entorno de prueba&lt;br /&gt;source ../bin/activate&lt;br /&gt;# instalamos scrapy&lt;br /&gt;pip install scrapy&lt;br /&gt;&amp;nbsp;#iniciamos un nuevo proyecto &lt;br /&gt;scrapy startproject xkcd&lt;/blockquote&gt;Ahora podremos observar un árbol de archivos similar a:&lt;br /&gt;&lt;br /&gt;xkcd/ &lt;br /&gt;&amp;nbsp; &amp;nbsp; scrapy.cfg&lt;br /&gt;&amp;nbsp; &amp;nbsp; xkcd/&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __init__.py&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items.py&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pipelines.py&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; settings.py&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spiders/&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; __init__.py&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; ...&lt;br /&gt;&lt;br /&gt;- scrapy.cfg : El archivo de configuración del proyecto&lt;br /&gt;- xkcd/ : El módulo python del proyecto&lt;br /&gt;- xkcd/items.py : El archivo que contiene los items a utilizar&lt;br /&gt;- xkcd/pipelines.py: Un archivo de filtros ¿?&lt;br /&gt;- xkcd/spiders/ : El directorio que contiene a los spiders, que son clases creadas por nosotros que obtienen la información requerida de los sitios web&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #38761d;"&gt;¿Cómo podremos obtener las imagenes de los comics en xkcd-es?&lt;/div&gt;&lt;br /&gt;A diferencia de el sitio original, en inglés, que utiliza links numerados para los comics, xkcd-es utiliza los nombres de los comics, por ejemplo:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;http://es.xkcd.com/strips/google-plus/ &lt;/i&gt;vs &lt;i&gt;http://xkcd.com/918/&lt;/i&gt;&lt;/blockquote&gt;en el sitio original hubieramos podido realizar primero un recorrido numérico y luego obtener las imagenes de estos links, mientras que en XKCD-ES, lo que hare es:&lt;br /&gt;&lt;br /&gt;1. Obtener los links individuales de las paginas de los comics desde: http://es.xkcd.com/archive/ y almacenar estos resultados en un archivo de texto plano.&lt;br /&gt;&lt;br /&gt;2. Analizar cada link del archivo de texto y obtener el nombre del comic y el link de la imagen.&lt;br /&gt;&lt;br /&gt;para ello:&lt;br /&gt;&lt;br /&gt;- Editamos el archivo items.py, de tal manera que quede:&lt;br /&gt;&lt;blockquote&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: grey;"&gt;# xkcd/items.py&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; scrapy.item &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; Item, Field&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;class&lt;/span&gt; XkcdItem(Item):&lt;br /&gt;    nombre = Field()&lt;br /&gt;    link = Field()&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;- Creamos un archivo en blanco llamado lista.txt en el directorio actual&lt;br /&gt;&lt;blockquote&gt;nano lista.txt &lt;br /&gt;# grabamos con Ctrl + O&lt;/blockquote&gt;- Creamos el 1er spider:&lt;br /&gt;&lt;blockquote&gt;scrapy genspider xkcdSpider es.xkcd.com/archive&lt;/blockquote&gt;y editamos el archivo &lt;span style="color: #38761d;"&gt;xkcdSpider.py&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: grey;"&gt;# xkcd/spiders/xkcdSpider.py&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; re&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; scrapy.selector &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; HtmlXPathSelector&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; scrapy.contrib.linkextractors.sgml &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; SgmlLinkExtractor&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; scrapy.contrib.spiders &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; CrawlSpider, Rule&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; xkcd.items &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; XkcdItem&lt;br /&gt;&lt;br /&gt;filename = &lt;span style="color: blue;"&gt;'lista.txt'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;class&lt;/span&gt; XkcdSpider(CrawlSpider):&lt;br /&gt;    name = &lt;span style="color: blue;"&gt;'xkcdSpider'&lt;/span&gt;&lt;br /&gt;    allowed_domains = [&lt;span style="color: blue;"&gt;'http://es.xkcd.com/archive'&lt;/span&gt;]&lt;br /&gt;    start_urls = [&lt;span style="color: blue;"&gt;'http://es.xkcd.com/archive/'&lt;/span&gt;]&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #000084; font-weight: bold;"&gt;def&lt;/span&gt; parse(self, response):&lt;br /&gt;        hxs = HtmlXPathSelector(response)&lt;br /&gt;        it = XkcdItem()&lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: grey;"&gt;# Extraemos la lista de links&lt;/span&gt;&lt;br /&gt;        it[&lt;span style="color: blue;"&gt;'link'&lt;/span&gt;] = hxs.select(&lt;br /&gt;        &lt;span style="color: grey;"&gt;"""//div[@id="archive-ul"]/ul/li/a/@href&lt;/span&gt;&lt;br /&gt;&lt;span style="color: grey;"&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;"""&lt;/span&gt;).extract()&lt;br /&gt;            &lt;br /&gt;        &lt;span style="color: #000084; font-weight: bold;"&gt;for&lt;/span&gt; i &lt;span style="color: #000084; font-weight: bold;"&gt;in&lt;/span&gt; it[&lt;span style="color: blue;"&gt;'link'&lt;/span&gt;]:&lt;br /&gt;            &lt;span style="color: grey;"&gt;#Agregamos cada link al archivo&lt;/span&gt;&lt;br /&gt;            open(filename,&lt;span style="color: blue;"&gt;'a+'&lt;/span&gt;).write(i+&lt;span style="color: blue;"&gt;'\n'&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;XkcdSpider()&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;- Scrapy utiliza XPath como lenguaje para saber que elementos del sitio web utilizar, en este caso, para obtener los links, se utilizó:&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;&lt;span style="color: grey;"&gt;"""//div[@id="archive-ul"]/ul/li/a/@href """&lt;/span&gt;&lt;/blockquote&gt;- Ahora podremos ejecutar el spider:&lt;br /&gt;&lt;blockquote&gt;scrapy crawl xkcdSpider&lt;/blockquote&gt;y obtendremos el archivo lista.txt con la relación de enlaces de los webcomics &lt;br /&gt;&lt;br /&gt;- Crearemos otro spider para recorrer cada link y obtener el nombre y link de la imagen:&lt;br /&gt;&lt;blockquote&gt;scrapy genspider xkcd2Spider es.xkcd.com/archive&lt;/blockquote&gt;- Creamos la carpeta strips en la que guardaremos las imágenes &lt;br /&gt;- Editamos el archivo xkcd2spider.py para que quede de la siguiente manera:&lt;br /&gt;&lt;blockquote&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: grey;"&gt;# xkcd/spiders/xkcd2Spider.py&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; re&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; scrapy.selector &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; HtmlXPathSelector&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; scrapy.contrib.linkextractors.sgml &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; SgmlLinkExtractor&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; scrapy.contrib.spiders &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; CrawlSpider, Rule&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;from&lt;/span&gt; xkcd.items &lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; XkcdItem&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;import&lt;/span&gt; urllib&lt;br /&gt;&lt;br /&gt;filename = &lt;span style="color: blue;"&gt;'lista.txt'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000084; font-weight: bold;"&gt;class&lt;/span&gt; Xkcd2Spider(CrawlSpider):&lt;br /&gt;    name = &lt;span style="color: blue;"&gt;'xkcd2Spider'&lt;/span&gt;&lt;br /&gt;    allowed_domains = [&lt;span style="color: blue;"&gt;'http://es.xkcd.com/archive'&lt;/span&gt;]&lt;br /&gt;    start_urls = []&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: grey;"&gt;# Leemos nuestro archivo que contiene las urls listadas&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    f = open(filename).read()&lt;br /&gt;    &lt;span style="color: #000084; font-weight: bold;"&gt;for&lt;/span&gt; linea &lt;span style="color: #000084; font-weight: bold;"&gt;in&lt;/span&gt; f.split(&lt;span style="color: blue;"&gt;'\n'&lt;/span&gt;):&lt;br /&gt;        &lt;span style="color: #000084; font-weight: bold;"&gt;if&lt;/span&gt; linea != &lt;span style="color: blue;"&gt;''&lt;/span&gt;:&lt;br /&gt;            &lt;span style="color: grey;"&gt;# Agregamos cada link a las urls a examinar&lt;/span&gt;&lt;br /&gt;            start_urls.append(linea)&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #000084; font-weight: bold;"&gt;def&lt;/span&gt; parse(self, response):&lt;br /&gt;        hxs = HtmlXPathSelector(response)&lt;br /&gt;        it = XkcdItem()&lt;br /&gt;&lt;br /&gt;        it[&lt;span style="color: blue;"&gt;'nombre'&lt;/span&gt;] = hxs.select(&lt;br /&gt;            &lt;span style="color: grey;"&gt;"""//div[@class="bd"]/div[@class="c"]/div[@class="s"]/h1/text()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: grey;"&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;"""&lt;/span&gt;).extract()&lt;br /&gt;        it[&lt;span style="color: blue;"&gt;'link'&lt;/span&gt;] = hxs.select(&lt;span style="color: grey;"&gt;"""//img[@class='strip']/@src"""&lt;/span&gt;).extract()&lt;br /&gt;        &lt;span style="color: #000084; font-weight: bold;"&gt;try&lt;/span&gt;:&lt;br /&gt;            urllib.urlretrieve(&lt;span style="color: blue;"&gt;'http://es.xkcd.com'&lt;/span&gt;+it[&lt;span style="color: blue;"&gt;'link'&lt;/span&gt;][0],&lt;br /&gt;            &lt;span style="color: blue;"&gt;'strips/'&lt;/span&gt;+it[&lt;span style="color: blue;"&gt;'nombre'&lt;/span&gt;][0]+it[&lt;span style="color: blue;"&gt;'link'&lt;/span&gt;][0][-4:])&lt;br /&gt;        &lt;span style="color: #000084; font-weight: bold;"&gt;except&lt;/span&gt;:&lt;br /&gt;            &lt;span style="color: #000084; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: blue;"&gt;'-------------------------'&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #000084; font-weight: bold;"&gt;print&lt;/span&gt; it[&lt;span style="color: blue;"&gt;'nombre'&lt;/span&gt;], &lt;span style="color: blue;"&gt;'---'&lt;/span&gt;, it[&lt;span style="color: blue;"&gt;'link'&lt;/span&gt;]&lt;br /&gt;&lt;br /&gt;Xkcd2Spider()&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;- Ejecutamos este 2do spider, y esperamos:&lt;br /&gt;&lt;blockquote&gt;scrapy crawl xkcd2Spider&lt;/blockquote&gt;- Si todo salió bien, debemos de tener una carpeta (strips) llena de los webcomics de xkcd-es, cualquier observación, corrección, sugerencia es bienvenida.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BFfcNma1FTo/Tn4qM_8TVhI/AAAAAAAAA48/C-Ds8JLIRws/s1600/xkcd-es-strips.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" id=":current_picnik_image" src="http://3.bp.blogspot.com/-pzIDvFsihD0/Tn4qxJsu3XI/AAAAAAAAA5E/exbjePEYQfA/s1600/16501979560_cwPBK.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://scrapy.org/"&gt;Spider&lt;/a&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://www.w3.org/TR/xpath/"&gt;xPath &lt;/a&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://es.xkcd.com/"&gt;xkcd-es&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-7062219120629660628?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/7062219120629660628/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=7062219120629660628' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7062219120629660628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7062219120629660628'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/09/scrapy-un-framework-de-extraccion-de.html' title='Scrapy: Un framework de extraccion de datos web'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-h9wino8HFdg/Tn4OfabjOrI/AAAAAAAAA44/wvzJbhjI-9M/s72-c/scrapy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2106161430995175230</id><published>2011-09-18T13:50:00.000-07:00</published><updated>2011-09-18T13:52:24.332-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Matar procesos con kill, grep y awk</title><content type='html'>&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0HMmHc9Xg2c/TnZTs_uPAtI/AAAAAAAAA40/Ov76dBcLRpA/s1600/i__ll_kill_you_by_EllenSch.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="133" src="http://4.bp.blogspot.com/-0HMmHc9Xg2c/TnZTs_uPAtI/AAAAAAAAA40/Ov76dBcLRpA/s200/i__ll_kill_you_by_EllenSch.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="font-family: inherit;"&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;h1 style="margin-top: -4px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;a href="http://ellensch.deviantart.com/art/i-ll-kill-you-75675045"&gt;i'll kill you&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;Sucede que a veces deseamos matar procesos que hemos listado con grep, por ejemplo una lista de workers de uwsgi, para ello podemos usar una secuencia de comandos como esta:&lt;/div&gt;&lt;blockquote&gt;sudo kill -9 $(ps aux c | grep uwsgi -m 32 |awk '{print $2}') &lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b style="color: #6aa84f;"&gt;grep&lt;/b&gt; nos permite listar solo los procesos que contengan uwsgi en el texto, indicandole que nos devuelva solo los 32 primeros ya que es el límite de procesos a matar por el comando kill.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="color: #6aa84f;"&gt;awk&lt;/span&gt;&lt;/b&gt; nos permite extraer la columna de los nímeros pid, que son los valores que enviaremos a kill.&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #6aa84f;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://www.linuxfocus.org/Castellano/September1999/article103.html"&gt;Ejemplo con awk&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2106161430995175230?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2106161430995175230/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2106161430995175230' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2106161430995175230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2106161430995175230'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/09/matar-procesos-con-kill-grep-y-awk.html' title='Matar procesos con kill, grep y awk'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-0HMmHc9Xg2c/TnZTs_uPAtI/AAAAAAAAA40/Ov76dBcLRpA/s72-c/i__ll_kill_you_by_EllenSch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-4570407946639305427</id><published>2011-08-25T19:04:00.000-07:00</published><updated>2011-08-25T19:04:17.495-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Instalar complementos para versiones anteriores de Firefox</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-pfplS6DfTLQ/Tlb-JzIsSsI/AAAAAAAAA4o/8hUgJ0NA7h4/s1600/firefox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-pfplS6DfTLQ/Tlb-JzIsSsI/AAAAAAAAA4o/8hUgJ0NA7h4/s1600/firefox.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Debido a que estoy probando Mozilla Firefox 7 beta , y algunos de los complementos como Secure Login son incompatibles,&amp;nbsp; he buscado un método que permita seguir usando estos addons como siempre, y sería el que describo a continuación:&lt;br /&gt;&lt;br /&gt;Si bien los complementos tienen la extensión xpi, cada uno de estos es en realidad un paquete de archivos comprimidos en formato zip, entonces, lo que debemos hacer es:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;*&lt;/span&gt; Descomprimir el archivo xpi&lt;br /&gt;&lt;span style="color: #38761d;"&gt;*&lt;/span&gt; Abrimos con algún editor de texto el archivo "install.rdf", en el cual buscamos la siguiente linea:&lt;br /&gt;&lt;blockquote&gt;&amp;lt;em:maxVersion&amp;gt;6.*&amp;lt;/em:maxVersion&amp;gt;&lt;/blockquote&gt;&lt;span style="color: #38761d;"&gt;*&lt;/span&gt; Y, en mi caso, cambio el 6.* por 7.* , vuelvo a comprimir con formato zip, los archivos que extraje, cambio la extensión por xpi.&lt;br /&gt;&lt;span style="color: #38761d;"&gt;*&lt;/span&gt; Procedemos a instalar el complemento con el gestor de addons de &lt;a href="http://www.mozilla.org/es-AR/firefox/"&gt;&lt;i style="color: #38761d;"&gt;firefox&lt;/i&gt;&lt;/a&gt; y todo debería funcionar, aunque es posible que aun después del cambio el complemento siga fallando debido a problemas de compatibilidad, pero, ¿vale la pena intentarlo no?&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en &lt;a href="http://onsoftware.softonic.com/como-instalar-extensiones-obsoletas-de-firefox"&gt;&lt;i&gt;onsoftware.softonic&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-4570407946639305427?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/4570407946639305427/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=4570407946639305427' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4570407946639305427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4570407946639305427'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/08/instalar-complementos-para-versiones.html' title='Instalar complementos para versiones anteriores de Firefox'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-pfplS6DfTLQ/Tlb-JzIsSsI/AAAAAAAAA4o/8hUgJ0NA7h4/s72-c/firefox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2285403935963414515</id><published>2011-08-14T21:23:00.000-07:00</published><updated>2011-08-14T21:24:27.434-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Django'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Uso de pyfpdf en Django</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vJWLR53msx0/TX1WJj3zGhI/AAAAAAAAArM/PxkXA3I-jRs/s1600/pyfpdf.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-vJWLR53msx0/TX1WJj3zGhI/AAAAAAAAArM/PxkXA3I-jRs/s1600/pyfpdf.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Ya había descrito a este generador de documentos PDF en una entrada anterior: &lt;a href="http://sudokill.blogspot.com/2011/03/crear-archivos-pdf-con-python-y-pyfpdf.html"&gt;&lt;i style="color: #38761d;"&gt;pyfpdf&lt;/i&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Esta vez, después de algunos intentos, averigué como generar un reporte en PDF con pyfpdf y utilizar esto en una vista de Django.&lt;br /&gt;&lt;br /&gt;A continuación, una vista de ejemplo que podríamos utilizar en Django, no olvidando que debemos incluir la linea del import:&lt;br /&gt;&lt;blockquote&gt;from pyfpdf import FPDF&lt;/blockquote&gt;&lt;pre style="background: #f6f8ff; color: #000020;"&gt;&lt;span style="color: #200080; font-weight: bold;"&gt;def&lt;/span&gt; reporte_pdf&lt;span style="color: #308080;"&gt;(&lt;/span&gt;request&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;:&lt;/span&gt;&lt;br /&gt;    response &lt;span style="color: #308080;"&gt;=&lt;/span&gt; HttpResponse&lt;span style="color: #308080;"&gt;(&lt;/span&gt;mimetype&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'application/pdf'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    response&lt;span style="color: #308080;"&gt;[&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'Content-Disposition'&lt;/span&gt;&lt;span style="color: #308080;"&gt;]&lt;/span&gt; &lt;span style="color: #308080;"&gt;=&lt;/span&gt; 'attachment&lt;span style="color: #308080;"&gt;;&lt;/span&gt;\&lt;br /&gt;     filename&lt;span style="color: #308080;"&gt;=&lt;/span&gt;prueba&lt;span style="color: #308080;"&gt;.&lt;/span&gt;pdf'&lt;br /&gt;    &lt;br /&gt;    title &lt;span style="color: #308080;"&gt;=&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;u'Este es el título del documento'&lt;/span&gt;&lt;br /&gt;    title &lt;span style="color: #308080;"&gt;=&lt;/span&gt; title&lt;span style="color: #308080;"&gt;.&lt;/span&gt;encode&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'iso-8859-1'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    heading &lt;span style="color: #308080;"&gt;=&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;u'Primer Párrafo'&lt;/span&gt;&lt;br /&gt;    heading &lt;span style="color: #308080;"&gt;=&lt;/span&gt; heading&lt;span style="color: #308080;"&gt;.&lt;/span&gt;encode&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'iso-8859-1'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    texto &lt;span style="color: #308080;"&gt;=&lt;/span&gt; &lt;span style="color: #1060b6;"&gt;'bla '&lt;/span&gt;&lt;span style="color: #308080;"&gt;*&lt;/span&gt; &lt;span style="color: #008c00;"&gt;400&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;    pdf&lt;span style="color: #308080;"&gt;=&lt;/span&gt;FPDF&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    pdf&lt;span style="color: #308080;"&gt;.&lt;/span&gt;add_page&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    pdf&lt;span style="color: #308080;"&gt;.&lt;/span&gt;set_font&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'Helvetica'&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'B'&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;span style="color: #008c00;"&gt;15&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    pdf&lt;span style="color: #308080;"&gt;.&lt;/span&gt;cell&lt;span style="color: #308080;"&gt;(&lt;/span&gt;w&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;210&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;h&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;9&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;txt&lt;span style="color: #308080;"&gt;=&lt;/span&gt;title&lt;span style="color: #308080;"&gt;,&lt;/span&gt;border&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;0&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;ln&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;1&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;align&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'C'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    pdf&lt;span style="color: #308080;"&gt;.&lt;/span&gt;set_font&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'Helvetica'&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'B'&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;span style="color: #008c00;"&gt;15&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    pdf&lt;span style="color: #308080;"&gt;.&lt;/span&gt;cell&lt;span style="color: #308080;"&gt;(&lt;/span&gt;w&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;0&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;h&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;6&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;txt&lt;span style="color: #308080;"&gt;=&lt;/span&gt;heading&lt;span style="color: #308080;"&gt;,&lt;/span&gt;border&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;0&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;ln&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;1&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;align&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'L'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    pdf&lt;span style="color: #308080;"&gt;.&lt;/span&gt;set_font&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'Helvetica'&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;''&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;span style="color: #008c00;"&gt;12&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    pdf&lt;span style="color: #308080;"&gt;.&lt;/span&gt;multi_cell&lt;span style="color: #308080;"&gt;(&lt;/span&gt;w&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;0&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;h&lt;span style="color: #308080;"&gt;=&lt;/span&gt;&lt;span style="color: #008c00;"&gt;5&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;txt&lt;span style="color: #308080;"&gt;=&lt;/span&gt;texto&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;    response&lt;span style="color: #308080;"&gt;.&lt;/span&gt;write&lt;span style="color: #308080;"&gt;(&lt;/span&gt;pdf&lt;span style="color: #308080;"&gt;.&lt;/span&gt;output&lt;span style="color: #308080;"&gt;(&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;''&lt;/span&gt;&lt;span style="color: #308080;"&gt;,&lt;/span&gt;&lt;span style="color: #1060b6;"&gt;'S'&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;span style="color: #308080;"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #200080; font-weight: bold;"&gt;return&lt;/span&gt; response&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Nótese que para que el archivo PDF nos muestre los textos en unicode correctamente, debemos de codificar los textos como: iso-8859-1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2285403935963414515?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2285403935963414515/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2285403935963414515' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2285403935963414515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2285403935963414515'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/08/uso-de-pyfpdf-en-django.html' title='Uso de pyfpdf en Django'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-vJWLR53msx0/TX1WJj3zGhI/AAAAAAAAArM/PxkXA3I-jRs/s72-c/pyfpdf.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5871764303390181538</id><published>2011-07-31T20:24:00.000-07:00</published><updated>2011-07-31T20:27:02.315-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Base de Datos'/><title type='text'>Realizar diagramas ER en Eclipse</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Ejj8QS2jyJY/TjYY7VgJo9I/AAAAAAAAA4M/G4G6sf3bOv0/s1600/eclipse_indigo.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="206" src="http://3.bp.blogspot.com/-Ejj8QS2jyJY/TjYY7VgJo9I/AAAAAAAAA4M/G4G6sf3bOv0/s320/eclipse_indigo.jpeg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Como sabemos, una de las ventajas de Eclipse son las gran cantidad de plugins con los que cuenta, como por ejemplo: ERMaster, una herramienta que nos permite realizar diagramas Entidad Relación de manera sencilla, e incluso generar código SQL para diversos gestores de BBDD como MySQL, PostgreSQL, SQLite, entre otros.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-SVJzIoD9wBM/TjYZ4qUODyI/AAAAAAAAA4Q/3ku1IkwPgA4/s1600/model+-+django.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" id=":current_picnik_image" src="http://1.bp.blogspot.com/-e9OGFZ2fTcg/TjYaj2U1thI/AAAAAAAAA4Y/BLt63Krsb2k/s1600/15580455045_mt2g2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Para instalar ERMaster en Eclipse:&lt;br /&gt;&lt;br /&gt;1. Seleccionamos el menú Ayuda - Actualizaciones de Software -&amp;gt; Búsqueda de nuevas características a instalar&lt;br /&gt;2. Click en nuevo sitio, y agregamos: http://ermaster.sourceforge.net/update-site/&lt;br /&gt;3. Esperamos que se actualize y ya podemos instalar ERMaster, el cual no pesa más de 4MB aparentemente.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; ERMaster en &lt;a href="http://ermaster.sourceforge.net/"&gt;&lt;i&gt;SourceForge&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5871764303390181538?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5871764303390181538/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5871764303390181538' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5871764303390181538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5871764303390181538'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/07/realizar-diagramas-er-en-eclipse.html' title='Realizar diagramas ER en Eclipse'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Ejj8QS2jyJY/TjYY7VgJo9I/AAAAAAAAA4M/G4G6sf3bOv0/s72-c/eclipse_indigo.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5382052367615632825</id><published>2011-07-28T17:18:00.000-07:00</published><updated>2011-07-31T20:30:15.614-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Instalar interfaz gráfica en Ubuntu Server</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Y9tHCSVUzjw/TjH72igcTCI/AAAAAAAAA4I/CvTkWc1jCD0/s1600/ubuntu_Server.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://3.bp.blogspot.com/-Y9tHCSVUzjw/TjH72igcTCI/AAAAAAAAA4I/CvTkWc1jCD0/s320/ubuntu_Server.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Instalamos la interfaz con:&lt;br /&gt;&lt;blockquote&gt;sudo apt-get xorg gnome-core&lt;/blockquote&gt;Y la iniciamos con:&lt;br /&gt;&lt;blockquote&gt;sudo startx&lt;/blockquote&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en: &lt;a href="http://sliceoflinux.com/2009/06/20/ubuntu-server-con-interfaz-grafica/"&gt;&lt;i&gt;Sliceoflinux&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5382052367615632825?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5382052367615632825/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5382052367615632825' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5382052367615632825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5382052367615632825'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/07/instalar-interfaz-grafica-en-ubuntu.html' title='Instalar interfaz gráfica en Ubuntu Server'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Y9tHCSVUzjw/TjH72igcTCI/AAAAAAAAA4I/CvTkWc1jCD0/s72-c/ubuntu_Server.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5259882382886039922</id><published>2011-07-16T21:40:00.000-07:00</published><updated>2011-07-16T21:40:33.787-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><category scheme='http://www.blogger.com/atom/ns#' term='Ciencia'/><title type='text'>Video: La ciencia salvó mi vida</title><content type='html'>&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/xrCHNsBSkek" width="425"&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en: &lt;a href="http://www.youtube.com/watch?v=xrCHNsBSkek"&gt;&lt;i&gt;Youtube&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5259882382886039922?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5259882382886039922/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5259882382886039922' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5259882382886039922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5259882382886039922'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/07/video-la-ciencia-salvo-mi-vida.html' title='Video: La ciencia salvó mi vida'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/xrCHNsBSkek/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-8039836616986820275</id><published>2011-07-07T21:05:00.000-07:00</published><updated>2011-07-07T21:05:46.029-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Poesía'/><title type='text'>Reir llorando</title><content type='html'>&lt;blockquote&gt;&lt;div style="text-align: left;"&gt;Viendo a Garrik —actor de la Inglaterra—&lt;/div&gt;&lt;div style="text-align: left;"&gt;el pueblo al aplaudirle le decía:&lt;/div&gt;&lt;div style="text-align: left;"&gt;«Eres el mas gracioso de la tierra&lt;/div&gt;&lt;div style="text-align: left;"&gt;y el más feliz...»&lt;/div&gt;&lt;div style="text-align: left;"&gt;Y el cómico reía.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Víctimas del spleen, los altos lores,&lt;/div&gt;&lt;div style="text-align: left;"&gt;en sus noches más negras y pesadas,&lt;/div&gt;&lt;div style="text-align: left;"&gt;iban a ver al rey de los actores&lt;/div&gt;&lt;div style="text-align: left;"&gt;y cambiaban su spleen en carcajadas.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Una vez, ante un médico famoso,&lt;/div&gt;&lt;div style="text-align: left;"&gt;llegóse un hombre de mirar sombrío:&lt;/div&gt;&lt;div style="text-align: left;"&gt;«Sufro —le dijo—, un mal tan espantoso&lt;/div&gt;&lt;div style="text-align: left;"&gt;como esta palidez del rostro mío.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;»Nada me causa encanto ni atractivo;&lt;/div&gt;&lt;div style="text-align: left;"&gt;no me importan mi nombre ni mi suerte&lt;/div&gt;&lt;div style="text-align: left;"&gt;en un eterno spleen muriendo vivo,&lt;/div&gt;&lt;div style="text-align: left;"&gt;y es mi única ilusión, la de la muerte».&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Viajad y os distraeréis.&lt;/div&gt;&lt;div style="text-align: left;"&gt;— ¡Tanto he viajado!&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Las lecturas buscad.&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¡Tanto he leído!&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Que os ame una mujer.&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¡Si soy amado!&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¡Un título adquirid!&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¡Noble he nacido!&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¿Pobre seréis quizá?&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Tengo riquezas&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¿De lisonjas gustáis?&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¡Tantas escucho!&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¿Que tenéis de familia?&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Mis tristezas&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¿Vais a los cementerios?&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Mucho... mucho...&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¿De vuestra vida actual, tenéis testigos?&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Sí, mas no dejo que me impongan yugos;&lt;/div&gt;&lt;div style="text-align: left;"&gt;yo les llamo a los muertos mis amigos;&lt;/div&gt;&lt;div style="text-align: left;"&gt;y les llamo a los vivos mis verdugos.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Me deja —agrega el médico— perplejo&lt;/div&gt;&lt;div style="text-align: left;"&gt;vuestro mal y no debo acobardaros;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Tomad hoy por receta este consejo:&lt;/div&gt;&lt;div style="text-align: left;"&gt;sólo viendo a Garrik, podréis curaros.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¿A Garrik?&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Sí, a Garrik... La más remisa&lt;/div&gt;&lt;div style="text-align: left;"&gt;y austera sociedad le busca ansiosa;&lt;/div&gt;&lt;div style="text-align: left;"&gt;todo aquél que lo ve, muere de risa:&lt;/div&gt;&lt;div style="text-align: left;"&gt;tiene una gracia artística asombrosa.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¿Y a mí, me hará reír?&lt;/div&gt;&lt;div style="text-align: left;"&gt;—¡Ah!, sí, os lo juro,&lt;/div&gt;&lt;div style="text-align: left;"&gt;él sí y nadie más que él; mas... ¿qué os inquieta?&lt;/div&gt;&lt;div style="text-align: left;"&gt;—Así —dijo el enfermo— no me curo;&lt;/div&gt;&lt;div style="text-align: left;"&gt;¡Yo soy Garrik!... Cambiadme la receta.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;¡Cuántos hay que, cansados de la vida,&lt;/div&gt;&lt;div style="text-align: left;"&gt;enfermos de pesar, muertos de tedio,&lt;/div&gt;&lt;div style="text-align: left;"&gt;hacen reír como el actor suicida,&lt;/div&gt;&lt;div style="text-align: left;"&gt;sin encontrar para su mal remedio!&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;¡Ay! ¡Cuántas veces al reír se llora!&lt;/div&gt;&lt;div style="text-align: left;"&gt;¡Nadie en lo alegre de la risa fíe,&lt;/div&gt;&lt;div style="text-align: left;"&gt;porque en los seres que el dolor devora,&lt;/div&gt;&lt;div style="text-align: left;"&gt;el alma gime cuando el rostro ríe!&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Si se muere la fe, si huye la calma,&lt;/div&gt;&lt;div style="text-align: left;"&gt;si sólo abrojos nuestra planta pisa,&lt;/div&gt;&lt;div style="text-align: left;"&gt;lanza a la faz la tempestad del alma,&lt;/div&gt;&lt;div style="text-align: left;"&gt;un relámpago triste: la sonrisa.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;El carnaval del mundo engaña tanto,&lt;/div&gt;&lt;div style="text-align: left;"&gt;que las vidas son breves mascaradas;&lt;/div&gt;&lt;div style="text-align: left;"&gt;aquí aprendemos a reír con llanto&lt;/div&gt;&lt;div style="text-align: left;"&gt;y también a llorar con carcajadas.&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://es.wikipedia.org/wiki/Juan_de_Dios_Peza"&gt;Juan de Dios Peza&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-8039836616986820275?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/8039836616986820275/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=8039836616986820275' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8039836616986820275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8039836616986820275'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/07/reir-llorando.html' title='Reir llorando'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-8082648064216025410</id><published>2011-07-03T07:23:00.000-07:00</published><updated>2011-07-03T07:29:29.799-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Nota Mental'/><category scheme='http://www.blogger.com/atom/ns#' term='JasperReports'/><title type='text'>Importar y exportar reportes con JasperServer</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-rF4WH4ty2fM/ThB2RNElhFI/AAAAAAAAA2M/xq85T7e4KvY/s1600/ico-jrsp-200x162.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="161" src="http://2.bp.blogspot.com/-rF4WH4ty2fM/ThB2RNElhFI/AAAAAAAAA2M/xq85T7e4KvY/s200/ico-jrsp-200x162.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ahora que estoy aprendiendo a usar el JasperReports,JasperServer e Ireport, un set de herramientas para crear reportes en PDF, guardaré por aquí uno que otro apunte sobre el tema.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para exportar o importar los reportes disponemos de algunos scripts ubicados dentro de la carpeta buildomatic, como: js-import.sh / js-import.bat y js-export.sh / js-export.bat (el script sh para linux y el bat para windows).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para exportar/importar a/desde un directorio:&lt;/div&gt;&lt;blockquote&gt;js-export.bat --uris /reports/myreports --output-dir myreports/&lt;br /&gt;js-import.bat --input-dir myreports/ &lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Para exportar/importar a/desde un archivo zip:&lt;/div&gt;&lt;blockquote&gt;js-export.bat --uris /reports/myreports --output-zip myreports.zip&lt;br /&gt;js-import.bat --input-zip myreports.zip&lt;/blockquote&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en: &lt;a href="http://jasperforge.org/projects/jasperserver"&gt;&lt;i&gt;JasperForge&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-8082648064216025410?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/8082648064216025410/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=8082648064216025410' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8082648064216025410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8082648064216025410'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/07/importar-y-exportar-reportes-con.html' title='Importar y exportar reportes con JasperServer'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-rF4WH4ty2fM/ThB2RNElhFI/AAAAAAAAA2M/xq85T7e4KvY/s72-c/ico-jrsp-200x162.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-900438366715217339</id><published>2011-06-29T20:19:00.000-07:00</published><updated>2011-06-29T20:36:20.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nota Mental'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Realizar una copia de la BBDD en PostgreSQL</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s1600/postgresql.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="64" src="http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s200/postgresql.png" width="64" /&gt;&lt;/a&gt;&lt;/div&gt;Para realizar una copia de la BBDD, nos logueamos como usuario postgres y luego:&lt;br /&gt;&lt;blockquote&gt;pg_dump -c NOMBRE_DE_LA_BD &amp;gt; ARCHIVO.sql&lt;/blockquote&gt;y para restaurarla en otra base de datos:&lt;br /&gt;&lt;blockquote&gt;cat ARCHIVO.sql | psql NOMBRE_DE_LA_BD&lt;/blockquote&gt;* BBDD: Base de Datos&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en:&amp;nbsp; &lt;a href="http://spejman.blogspot.com/2008/06/copiar-o-hacer-backup-en-postgresql-de.html"&gt;&lt;i&gt;Spejman's Blog&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-900438366715217339?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/900438366715217339/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=900438366715217339' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/900438366715217339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/900438366715217339'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/realizar-una-copia-de-la-bbdd-en.html' title='Realizar una copia de la BBDD en PostgreSQL'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s72-c/postgresql.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2763811710561913104</id><published>2011-06-27T21:17:00.000-07:00</published><updated>2011-06-27T21:21:37.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Poesía'/><title type='text'>¿Qué es el punto?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hrcZQuEcNTQ/TglVBUtXLgI/AAAAAAAAA1k/V7uDFB7FbMI/s1600/nueve-puntos-conectados.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="http://3.bp.blogspot.com/-hrcZQuEcNTQ/TglVBUtXLgI/AAAAAAAAA1k/V7uDFB7FbMI/s200/nueve-puntos-conectados.png" width="95" /&gt;&lt;/a&gt;&lt;/div&gt;Qué es el punto, pregunta el mundo&lt;br /&gt;Qué es el punto preguntan los matemáticos?..&lt;br /&gt;Qué es el punto preguntan todos….y &lt;/blockquote&gt;&lt;blockquote&gt;yo respondo, para mi el punto es el lugar de intersecciòn de dos trayectorias diferentes,&lt;br /&gt;Punto, es el que le da sentido a la recta,&lt;br /&gt;Punto, es el lugar en donde tu te encuentras,&lt;br /&gt;Punto tiene el triángulo,&lt;br /&gt;punto tiene la parábola,&lt;br /&gt;punto tiene la circunferencia y hasta punto tienen los poemas que nos inspiran. &lt;/blockquote&gt;&lt;blockquote&gt;Punto es, y ojalá que a ninguno de ustedes mal les parezca, que esta tierra ante de que desaparezca, muchos puntos erosionados sobre ella nos haràn sufrir ante la desobediencia a quien nos envió a sobre este punto vivir.&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #274e13;"&gt;Autor:&lt;/b&gt; &lt;a href="http://jaramilloadonay.blogspot.com/"&gt;&lt;i&gt;Adonay Jaramillo Garrido&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2763811710561913104?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2763811710561913104/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2763811710561913104' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2763811710561913104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2763811710561913104'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/que-es-el-punto-pregunta-el-mundo-que.html' title='¿Qué es el punto?'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-hrcZQuEcNTQ/TglVBUtXLgI/AAAAAAAAA1k/V7uDFB7FbMI/s72-c/nueve-puntos-conectados.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5877475315913572837</id><published>2011-06-24T17:52:00.000-07:00</published><updated>2011-06-24T17:52:18.298-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Versionamiento'/><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas web'/><title type='text'>Bitbucket</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-IcslmyKOOPM/TgUo5HewUeI/AAAAAAAAA1g/LTZjWgQA_zw/s1600/Bitbucket.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://4.bp.blogspot.com/-IcslmyKOOPM/TgUo5HewUeI/AAAAAAAAA1g/LTZjWgQA_zw/s200/Bitbucket.png" width="128" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://es.wikipedia.org/wiki/Bitbucket"&gt;&lt;i&gt;Bitbucket&lt;/i&gt;&lt;/a&gt; es un servicio de alojamiento de código (desarrollado con django) que maneja el Sistema de Control de Versiones Mercurial.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; Entre algunas de sus características estan:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;- Permite mantener el código en la web: cada commit, directorio, archivo, .. todo visible desde el navegador.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; - Cambios visuales: podemos realizar comparaciones entre repositorios o ramas de manera gráfica resaltando los cambios.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;- Muestre su trabajo: Bitbucket es una herramienta que permite compartir nuestro trabajo en una agradable página web con quienes gustemos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;- Siga sus errores: inclute también un sistema de reporte y seguimiento de errores&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;- Incluye una wiki que también utiliza mercurial.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Cuenta con un plan gratuito para proyectos OpenSource y diversos planes entre los que se encuentra el Free que permite manejar hasta 5 repositorios privados.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;A mi consideración, para aquellos que utilizamos mercurial es una muy buena opción y para los que no, tal vez deberían probar mercurial..&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="https://bitbucket.org/"&gt;&lt;i&gt;Bitbucket&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5877475315913572837?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5877475315913572837/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5877475315913572837' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5877475315913572837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5877475315913572837'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/bitbucket.html' title='Bitbucket'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-IcslmyKOOPM/TgUo5HewUeI/AAAAAAAAA1g/LTZjWgQA_zw/s72-c/Bitbucket.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6328334896611393504</id><published>2011-06-19T10:40:00.000-07:00</published><updated>2011-06-19T10:40:24.362-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nota Mental'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Obtener la versión de PostgreSQL</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s1600/postgresql.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="64" src="http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s200/postgresql.png" width="64" /&gt;&lt;/a&gt;&lt;/div&gt;Bastará con escribir la siguiente orden en la terminal:&lt;br /&gt;&lt;blockquote&gt;psql --version&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;i&gt;&lt;a href="http://aprendizdetodo.wordpress.com/2006/12/18/saber-la-version-de-postgresql/"&gt;Aprendiendo de Todo&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6328334896611393504?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6328334896611393504/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6328334896611393504' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6328334896611393504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6328334896611393504'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/obtener-la-version-de-postgresql.html' title='Obtener la versión de PostgreSQL'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s72-c/postgresql.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5544140460045151749</id><published>2011-06-14T20:15:00.000-07:00</published><updated>2011-06-14T20:15:40.982-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nota Mental'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>SHOW TABLES en postgresql</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s1600/postgresql.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="64" src="http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s200/postgresql.png" width="64" /&gt;&lt;/a&gt;&lt;/div&gt;Para listar las tablas en PostgreSQL:&lt;br /&gt;&lt;blockquote&gt;SELECT table_name&amp;nbsp;FROM information_schema.tables&amp;nbsp;WHERE table_schema='public' AND table_type='BASE TABLE';&lt;/blockquote&gt;o también podríamos usar:&lt;br /&gt;&lt;blockquote&gt;\dt&lt;/blockquote&gt;y presionar enter lo cual nos mostraría las tablas y un poco de más información.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; Visto en: &lt;i&gt;&lt;a href="http://morthylla.blogspot.com/2008/12/el-show-tables-de-mysql-en-postgres.html"&gt;Aire&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5544140460045151749?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5544140460045151749/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5544140460045151749' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5544140460045151749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5544140460045151749'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/show-tables-en-postgresql.html' title='SHOW TABLES en postgresql'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-J8AqGHVFM0s/TJ-NiLqQSmI/AAAAAAAAAao/PPhNU6OvRLs/s72-c/postgresql.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-917127172895484632</id><published>2011-06-11T08:37:00.000-07:00</published><updated>2011-06-11T08:37:18.672-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><title type='text'>Comprimir y descomprimir archivos tar.gz mediante la terminal</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-twGIDtuUdsU/TfOEQJf5h9I/AAAAAAAAA1I/wwmL-Bkj_7Q/s1600/tar-gz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://4.bp.blogspot.com/-twGIDtuUdsU/TfOEQJf5h9I/AAAAAAAAA1I/wwmL-Bkj_7Q/s200/tar-gz.png" width="128" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;SI tuviésemos una carpeta llamada "prueba" que contiene nuestros archivos y nos hemos ubicado en el directorio superior (el que contiene a la carpeta prueba).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para comprimirla:&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;tar -czvf prueba.tar.gz prueba/&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;-c: Crea un nuevo archivo comprimido&lt;/div&gt;&lt;div style="text-align: justify;"&gt;-z: Utiliza gzip&lt;/div&gt;&lt;div style="text-align: justify;"&gt;-v: "Verbose" -&amp;gt; muestra información mientras se comprime&lt;/div&gt;&lt;div style="text-align: justify;"&gt;-f: nombre de archivo&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Y la descompresión la podemos realizar con:&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;tar -xzvf prueba.tar.gz&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;-x: descomprime un fichero&lt;/div&gt;&lt;div style="text-align: justify;"&gt;-z: utiliza gzip&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para mayor información consulte la página man del comando tar con:&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;man tar&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Visto en:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://www.pedroventura.com/blog_programacion/linux/como-comprimir-una-carpeta-entera-en-linux-desde-consola/"&gt;pedroventura.com&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-917127172895484632?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/917127172895484632/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=917127172895484632' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/917127172895484632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/917127172895484632'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/comprimir-y-descomprimir-archivos-targz.html' title='Comprimir y descomprimir archivos tar.gz mediante la terminal'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-twGIDtuUdsU/TfOEQJf5h9I/AAAAAAAAA1I/wwmL-Bkj_7Q/s72-c/tar-gz.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-645095024471754166</id><published>2011-06-08T21:08:00.000-07:00</published><updated>2011-06-08T21:08:53.653-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='Varios'/><title type='text'>Teamlab: Plataforma Colaborativa</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FTcjKS28fKw/TfA-1TeusUI/AAAAAAAAA1E/CoOU1EkDYyI/s1600/teamlab.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-FTcjKS28fKw/TfA-1TeusUI/AAAAAAAAA1E/CoOU1EkDYyI/s1600/teamlab.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;" TeamLab es una plataforma de colaboración desarrollada por Ascensio System SIA, una empresa de rápido crecimiento que proporciona soluciones de alta tecnología para el uso corporativo y personal." -&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;i&gt;&lt;a href="http://www.teamlab.com/es/About.aspx"&gt;About TeamLab&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Es una plataforma Colaborativa que cuenta entre otras características con:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Herramientas para facilitar la comunicación en una comunidad, como: Foros, Wikis, Blogs, Encuestas, Fotos, Eventos, administración de empleados, notificación de noticias, chat entre miembros ..&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Módulo de Gestión de Proyectos: Permite la creación de nuevos proyectos, gestión de hitos y tareas, entre otros ..&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Módulo de creación, edición de documentos, importación desde: Google Docs, Zoho y Box.net&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Manejo de suscripciones a las diversas funciones de TeamLab&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;TeamLab también dispone de una opción OpenSource para aquellos usuarios que deseen configurar el sitio ajustándolo a sus necesidades, por todo ello es una alternativa que vale la pena probar.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en:&amp;nbsp;&lt;i&gt;&lt;a href="http://wwwhatsnew.com/2011/06/08/nueva-version-de-teamlab-la-herramienta-de-gestion-de-proyectos-con-codigo-abierto/comment-page-1/#comment-197302"&gt;wwwhatsnew&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://www.teamlab.com/"&gt;TeamLab&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;a href="http://draft.blogger.com/"&gt;&lt;/a&gt;&lt;span id="goog_1748104570"&gt;&lt;/span&gt;&lt;span id="goog_1748104571"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-645095024471754166?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/645095024471754166/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=645095024471754166' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/645095024471754166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/645095024471754166'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/teamlab-plataforma-colaborativa.html' title='Teamlab: Plataforma Colaborativa'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-FTcjKS28fKw/TfA-1TeusUI/AAAAAAAAA1E/CoOU1EkDYyI/s72-c/teamlab.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5136584576255444092</id><published>2011-06-06T19:00:00.000-07:00</published><updated>2011-06-06T19:00:45.946-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Varios'/><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>365 signage</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NzRNXsIIufw/Te2ELQqPNnI/AAAAAAAAA1A/e2VXJmrC0z4/s1600/dia4-1-1307006049_full550.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-NzRNXsIIufw/Te2ELQqPNnI/AAAAAAAAA1A/e2VXJmrC0z4/s400/dia4-1-1307006049_full550.jpg" width="301" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;365signage es un proyecto personal de &lt;i&gt;&lt;a href="http://www.antonionavajas.com/sobre-mi.html"&gt;Antonio Navajas&lt;/a&gt;&lt;/i&gt; el cual se ha propuesto la tarea de realizar una señalética cada día, durante un año las cuales son liberadas bajo licencia Creative Commons BY-ND-NC 3.0 o como el autor explica:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;Este es un proyecto abierto. Como dice la licencia, podéis copiar, difundir y adaptar lo que queráis, siempre que me pongáis una pequeña reseña de mi autoría o mi web por algún lado.&lt;/div&gt;&lt;/blockquote&gt;En fin, muy recomendado para pasar un rato ameno.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://antonionavajas.com/blog/category/365signages/"&gt;365signage&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5136584576255444092?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5136584576255444092/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5136584576255444092' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5136584576255444092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5136584576255444092'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/365-signage.html' title='365 signage'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-NzRNXsIIufw/Te2ELQqPNnI/AAAAAAAAA1A/e2VXJmrC0z4/s72-c/dia4-1-1307006049_full550.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1893591410629698654</id><published>2011-06-05T08:50:00.000-07:00</published><updated>2011-06-05T08:50:39.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLite'/><category scheme='http://www.blogger.com/atom/ns#' term='Base de Datos'/><title type='text'>Tipos de datos en SQLite 3 - I</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-wOUf_7S-vJk/TeukBDriY2I/AAAAAAAAA08/-Ez51U7wroU/s1600/SQLite_Logo_4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="94" src="http://3.bp.blogspot.com/-wOUf_7S-vJk/TeukBDriY2I/AAAAAAAAA08/-Ez51U7wroU/s320/SQLite_Logo_4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Nota: El siguiente texto es una traducción libre de parte de la documentación de SQLite&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;La mayoría de los motores de base de datos (que no sean SQLite) por lo que se sabe utilizan tipado estático. Con el tipado estático, el tipo de dato de un valor está determinado por su contenedor.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;SQLite usa un sistema de tipado dinámico más general. En SQLite, el tipo de dato de un valor está asociado con el valor en sí mismo, no con su contenedor. El sistema de tipado dinámico de datos SQLite es compatible con los sistemas de tipado estáticos más comunes de otros motores de base de datos en el sentido de que las sentencias SQL que trabajan en bases de datos de tipado estático deberían trabajar de la misma manera en SQLite. Sin embargo, el tipado dinámico en SQLite permite hacer cosas que no son posibles en las tradicionales bases de datos de tipado rígido.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Clases de Almacenamiento y tipos de datos&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para maximizar la compatibilidad entre SQLite y otros motores de BBDD, SQLite soporta el concepto de "Afinidad Tipo" en las columnas. La afinidad tipo de una columna es el tipo recomendado para el valor almacenado en esta columna. La idea central es que este tipo es el recomendado pero no obligatorio. Cualquier columna puede almacenar cualquier tipo de dato. Es solo que algunas columnas tienen que escoger usar una clase de almacenamiento sobre otra. La clase de almacenamiento para una columna es llamada afinidad.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cada valor almacenado en una BBDD SQlite tiene uno de las siguientes clases de almacenamiento:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Integer&lt;/li&gt;&lt;li&gt;Text&lt;/li&gt;&lt;li&gt;None&lt;/li&gt;&lt;li&gt;Real&lt;/li&gt;&lt;li&gt;Numeric&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;a href="http://3.bp.blogspot.com/-Y_JVvZ0QlJY/TeubvUwFqFI/AAAAAAAAA04/OrU7oE5ihFk/s1600/sqlite.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="193.83" src="http://3.bp.blogspot.com/-Y_JVvZ0QlJY/TeubvUwFqFI/AAAAAAAAA04/OrU7oE5ihFk/s400/sqlite.png" width="450" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Referencias:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://www.sqlite.org/datatype3.html"&gt;Tipos de Datos en SQLite 3&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1893591410629698654?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1893591410629698654/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1893591410629698654' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1893591410629698654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1893591410629698654'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/tipos-de-datos-en-sqlite-3-i.html' title='Tipos de datos en SQLite 3 - I'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-wOUf_7S-vJk/TeukBDriY2I/AAAAAAAAA08/-Ez51U7wroU/s72-c/SQLite_Logo_4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6041361332619703221</id><published>2011-06-01T19:48:00.000-07:00</published><updated>2011-06-01T19:48:35.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenSuse'/><category scheme='http://www.blogger.com/atom/ns#' term='PySide'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Instalar PySide en OpenSUSE 11.04</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-F45LgKncjds/Teb5OCKoC3I/AAAAAAAAA00/qQfhTFJo4Rs/s1600/pyside.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-F45LgKncjds/Teb5OCKoC3I/AAAAAAAAA00/qQfhTFJo4Rs/s1600/pyside.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;¿Qué es Pyside?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;div style="text-align: justify;"&gt;Es una implementación en Python del conjunto de herramientas de diseño de interfaces gráficas de usuario Qt, que provee de similares funcionalidades a PyQt pero con una licencia LGPL.&lt;/div&gt;&lt;br /&gt;Agregando el repositorio:&lt;br /&gt;&lt;blockquote&gt;sudo zypper ar&amp;nbsp;&lt;a href="http://download.opensuse.org/repositories/home:/cgoncalves:/pyside:/shiboken/openSUSE_11.4/"&gt;http://download.opensuse.org/repositories/home:/cgoncalves:/pyside:/shiboken/openSUSE_11.4/&lt;/a&gt;&amp;nbsp;pyside&lt;/blockquote&gt;Actualizando&lt;br /&gt;&lt;blockquote&gt;sudo zypper refresh pyside&lt;/blockquote&gt;Instalando:&lt;br /&gt;&lt;blockquote&gt;sudo zypper install python-pyside python-pyside-tools&lt;/blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://www.pyside.org/"&gt;PySide&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6041361332619703221?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6041361332619703221/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6041361332619703221' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6041361332619703221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6041361332619703221'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/06/instalar-pyside-en-opensuse-1104.html' title='Instalar PySide en OpenSUSE 11.04'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-F45LgKncjds/Teb5OCKoC3I/AAAAAAAAA00/qQfhTFJo4Rs/s72-c/pyside.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3573826714117271802</id><published>2011-05-25T14:11:00.000-07:00</published><updated>2011-05-25T14:11:35.550-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Django'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Agregar django-admin a /usr/local/bin</title><content type='html'>Después de mucho problema creando el enlace simbólico, me funcionó con:&lt;br /&gt;&lt;blockquote&gt;sudo ln -s /usr/local/python2.5/lib/python2.5/site-packages/django/bin/django-admin.py /usr/local/bin/&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; Visto en el foro de &lt;i&gt;&lt;a href="http://www.esdebian.org/foro/42587/ejecutable-applicationx-executable-crear-ejecutable-que-quede-path-usrlocalbin"&gt;esdebian&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Información sobre enlaces simbólicos: &lt;i&gt;&lt;a href="http://tocandolinux.blogspot.com/2009/04/enlaces-simbolicos.html"&gt;Tocando Linux&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Y con la ayuda de: &lt;i&gt;&lt;a href="http://manpages.ubuntu.com/manpages/natty/es/man1/namei.1.html"&gt;namei&lt;/a&gt;&lt;/i&gt; -&amp;gt; Un comando que sigue una trayectoria, muy útil a la hora de verificar vínculos simbólicos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3573826714117271802?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3573826714117271802/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3573826714117271802' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3573826714117271802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3573826714117271802'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/agregar-django-admin-usrlocalbin.html' title='Agregar django-admin a /usr/local/bin'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3598287033127833940</id><published>2011-05-24T21:09:00.000-07:00</published><updated>2011-05-24T21:09:41.774-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AppEngine'/><category scheme='http://www.blogger.com/atom/ns#' term='Problemas'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Error al iniciar AppEngine</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RrX7LZVaA_8/TVArv7HG4DI/AAAAAAAAAoE/WfO4J0miJzA/s1600/google-app-engine.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="96" src="http://2.bp.blogspot.com/-RrX7LZVaA_8/TVArv7HG4DI/AAAAAAAAAoE/WfO4J0miJzA/s200/google-app-engine.png" width="96" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Si como yo, alguien al ejecutar:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;python2.5 dev_appserver.py helloworld/&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Obtuvo un error como:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Traceback (most recent call last):&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; File "dev_appserver.py", line 71, in&amp;nbsp;run_file(__file__, globals())&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; File "dev_appserver.py", line 67, in run_file&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; &amp;nbsp; execfile(script_path, globals_)&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; File "/ruta/google_appengine/google/appengine/tools/dev_appserver_main.py", line 503, in &lt;module&gt;&lt;/module&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; &amp;nbsp; sys.exit(main(sys.argv))&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; File "/ruta/google_appengine/google/appengine/tools/dev_appserver_main.py", line 446, in main&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; &amp;nbsp; config, matcher = dev_appserver.LoadAppConfig(root_path, {})&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; File "/ruta/google_appengine/google/appengine/tools/dev_appserver.py", line 3515, in LoadAppConfig&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; &amp;nbsp; raise AppConfigNotFoundError&lt;/div&gt;&lt;div style="text-align: left;"&gt;google.appengine.tools.dev_appserver.AppConfigNotFoundError&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Es que no especificó bien la ruta del archivo &lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;app.yaml&lt;/span&gt;&lt;/b&gt;; en mi caso, &amp;nbsp;debió ser:&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;python2.5 dev_appserver.py ../helloworld/&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;/b&gt;Visto en: &lt;a href="http://code.google.com/p/googleappengine/issues/detail?id=4800"&gt;code.google.com&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3598287033127833940?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3598287033127833940/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3598287033127833940' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3598287033127833940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3598287033127833940'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/error-al-iniciar-appengine.html' title='Error al iniciar AppEngine'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-RrX7LZVaA_8/TVArv7HG4DI/AAAAAAAAAoE/WfO4J0miJzA/s72-c/google-app-engine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3949634352289870130</id><published>2011-05-23T12:59:00.000-07:00</published><updated>2011-05-23T12:59:37.535-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citas'/><title type='text'>Especificaciones</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-H7dSaz2mg7E/Tdq8SR-L_1I/AAAAAAAAA0w/SmTtMLgKxds/s1600/fmdui2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-H7dSaz2mg7E/Tdq8SR-L_1I/AAAAAAAAA0w/SmTtMLgKxds/s1600/fmdui2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;Consultor: El sistema no ha superado las pruebas de rendimiento. En los requisitos consta que el sistema debe de alcanzar los doscientos por hora.&lt;/blockquote&gt;&lt;blockquote style="text-align: justify;"&gt;Manager: El rendimiento siempre puede variar dependiendo de la plataforma. Las especificaciones de este sistema son: "Carretera de Hielo con 70% de pendiente descendiente"&lt;/blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Leido en:&amp;nbsp;&lt;a href="http://www.perspicalia.com/fuckowski-on-line"&gt;&lt;i&gt;Fuckowski: Memorias de un Ingeniero&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3949634352289870130?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3949634352289870130/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3949634352289870130' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3949634352289870130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3949634352289870130'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/especificaciones.html' title='Especificaciones'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-H7dSaz2mg7E/Tdq8SR-L_1I/AAAAAAAAA0w/SmTtMLgKxds/s72-c/fmdui2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-4041274827650676462</id><published>2011-05-22T23:51:00.000-07:00</published><updated>2011-05-22T23:52:06.459-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CAD'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Leer archivos de Autocad "dxf" con Python</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nSv_mWhHG5M/Tdn7aBM-oEI/AAAAAAAAA0s/C8dpnaUpR44/s1600/freecad-0-9-icon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-nSv_mWhHG5M/Tdn7aBM-oEI/AAAAAAAAA0s/C8dpnaUpR44/s1600/freecad-0-9-icon.png" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/-HYYiZcakczM/TXa5Z-85HEI/AAAAAAAAAq8/xEqxX4n2E_Y/s1600/python-logo+%25281%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="64" src="http://3.bp.blogspot.com/-HYYiZcakczM/TXa5Z-85HEI/AAAAAAAAAq8/xEqxX4n2E_Y/s200/python-logo+%25281%2529.png" width="64" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;¿Qué son archivos DXF?&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;DXF (acrónimo del inglés Drawing Exchange Format) es un formato de archivo informático para dibujos de diseño asistido por computadora, creado fundamentalmente para posibilitar la interoperabilidad entre los archivos .DWG, usados por el programa AutoCAD, y el resto de programas del mercado. &lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;Extraido de Wikipedia.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Lectura de archivos DXF:&lt;br /&gt;&lt;br /&gt;Revisando el código de FreeCAD, software desarrollado en Python y distribuido bajo licencia GPL y LGLP orientado a CAD (Computer Aided Design), extraje un par de archivos que se encargan de la Importación de archivos dxf. Estos archivos son:&amp;nbsp;&lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;a href="https://docs.google.com/leaf?id=0B1EEfkytHFvzOTljMTM4ZWQtZTZjNC00ZWExLWE2MGUtYzIwZDY2MWEwNjEw&amp;amp;hl=es&amp;amp;authkey=COn1npUO"&gt;dxfReader.py&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt; y &lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;a href="https://docs.google.com/leaf?id=0B1EEfkytHFvzMTc1YzI3NDAtZWU0MS00ODQwLWI0YzEtYjQ4ZjNmNjE0NjY3&amp;amp;hl=es&amp;amp;authkey=CKf5kJMB"&gt;dxfImportObjects.py&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt; ubicados en&amp;nbsp;/src/Mod/Draft/draftlibs/ dentro del código fuente del programa.&lt;br /&gt;&lt;br /&gt;¿Cómo usarlos?&lt;br /&gt;&lt;br /&gt;Adjunto un archivo de ejemplo: &lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0B1EEfkytHFvzZTYyOGJjNWQtOWNhMC00ZGNlLWE0ZjctMTRlYzg2ZGUyYTU4&amp;amp;hl=es&amp;amp;authkey=CNH1rusG"&gt;2007.dxf&lt;/a&gt;&lt;br /&gt;El archivo dxfReader.py crea una máquina de estados en la que se almacenará la información&amp;nbsp;leída&amp;nbsp;a través del módulo dxfImportObjects. Si ejecutamos directamente el archivo dxfReader.py (con el archivo dxfImportObjects.py y el archivo de prueba: 2007.dxf en la misma carpeta) observaremos que la salida del programa es una lista de los objetos leidos: Puntos, Lineas, Arco, Elipse, etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;Nota 01 :&lt;/span&gt;&lt;/b&gt; Modifiqué ligeramente el archivo dxfImportObjects.py (en relación al usado por FreeCAD) agregándole una clase Point, que permite mostrar información sobre los Puntos y editando algunos métodos __repr__ para mostrar más información. #en algún momento lo explicaré mejor.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;Nota 02:&lt;/span&gt;&lt;/b&gt;&amp;nbsp;La lectura de archivos dxf provista por estos archivos es limitada y puede que no muestren o capten características avanzadas.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/AutoCAD_DXF"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://usa.autodesk.com/adsk/servlet/item?siteID=123112&amp;amp;id=12272454&amp;amp;linkID=10809853"&gt;Autodesk&lt;/a&gt;: archivos de referencia del formato dxf&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page"&gt;FreeCAD&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-4041274827650676462?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/4041274827650676462/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=4041274827650676462' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4041274827650676462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4041274827650676462'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/leer-archivos-autocad-dxf-con-python.html' title='Leer archivos de Autocad &quot;dxf&quot; con Python'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-nSv_mWhHG5M/Tdn7aBM-oEI/AAAAAAAAA0s/C8dpnaUpR44/s72-c/freecad-0-9-icon.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-8227368525316428109</id><published>2011-05-09T18:36:00.000-07:00</published><updated>2011-05-09T18:36:27.029-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Versionamiento'/><title type='text'>Aprendiendo a usar Mercurial - II</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VGIbVXzoxAg/TcgFSQX_ECI/AAAAAAAAAzk/rgB-feYeJ0o/s1600/mercurial_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-VGIbVXzoxAg/TcgFSQX_ECI/AAAAAAAAAzk/rgB-feYeJ0o/s1600/mercurial_logo.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Una vez que ya se tiene instalado mercurial, ya sea tanto en Linux o Windows:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Podemos comprobar la instalación abriendo la terminal en Linux o la consola de comandos (cmd) en windows y escribir:&lt;/div&gt;&lt;blockquote&gt;hg version&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Obtendremos un resultado similar a:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;Mercurial Distributed SCM (version 1.8.2)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(see http://mercurial.selenic.com for more information)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Copyright (C) 2005-2011 Matt Mackall and others&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This is free software; see the source for copying conditions. There is NO&lt;/div&gt;&lt;div style="text-align: justify;"&gt;warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;/div&gt;&lt;/blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;Preparando Mercurial&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Antes de comenzar con un proyecto debemos de indicar nuestro nombre a mercurial, ello lo podemos realizar editando el archivo /home/nombredeusuario/.hgrc en linux o mercurial.ini para nuestro directorio personal en windows; al que agregaremos lo siguiente:&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;[ui]&lt;br /&gt;username = nombre_de_usuario &lt;span style="color: black;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: black;"&gt;johnson&lt;/span&gt;@smith.com&lt;span style="color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;Iniciando un nuevo proyecto&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;blockquote&gt;hg clone ubicación_del_proyecto&lt;/blockquote&gt;&amp;nbsp; &amp;nbsp; por ejemplo:&lt;br /&gt;&lt;blockquote&gt;hg clone http://selenic.com/repo/hello&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;Obteniendo Información&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;hg status&lt;/blockquote&gt;&amp;nbsp; &amp;nbsp; para conocer el estado de los archivos(modificados, agregados, eliminados ..)&lt;br /&gt;&lt;blockquote&gt;hg diff&lt;/blockquote&gt;&amp;nbsp; &amp;nbsp; muestra la diferencia entre las revisiones especificadas&lt;br /&gt;&lt;blockquote&gt;hg log&lt;/blockquote&gt;&amp;nbsp; &amp;nbsp; permite observar un historial de las revisiones realizadas&lt;br /&gt;&lt;blockquote&gt;hg annotate archivo_a_observar&lt;/blockquote&gt;&amp;nbsp; &amp;nbsp; nos informa sobre las revisiones en las que se realizaron las modificaciones para un archivo.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;Registrando cambios&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Registramos los archivos modificados:&lt;br /&gt;&lt;blockquote&gt;hg add&lt;/blockquote&gt;Creando una nueva revisión:&lt;br /&gt;&amp;nbsp; &amp;nbsp; Si no hemos configurado nuestro usuario:&lt;br /&gt;&lt;blockquote&gt;hg commit -u 'usuario' -m 'nuestro_mensaje'&lt;/blockquote&gt;&amp;nbsp; &amp;nbsp; Si ya hemos configurado el usuario:&lt;br /&gt;&lt;blockquote&gt;hg commit -m 'nuestro_mensaje'&lt;/blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;Obteniendo ayuda:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;hg help comando_a_consultar&lt;/blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Para una información más detallada sobre el uso de mercurial: &lt;i&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;a href="http://hgbook.red-bean.com/"&gt;Mercurial: The Definitive Guide&lt;/a&gt;&lt;/span&gt;&lt;/i&gt; - Bryan O'Sullivan&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-8227368525316428109?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/8227368525316428109/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=8227368525316428109' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8227368525316428109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8227368525316428109'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/aprendiendo-usar-mercurial-ii.html' title='Aprendiendo a usar Mercurial - II'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-VGIbVXzoxAg/TcgFSQX_ECI/AAAAAAAAAzk/rgB-feYeJ0o/s72-c/mercurial_logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5237934787727274564</id><published>2011-05-09T00:05:00.000-07:00</published><updated>2011-05-09T05:01:21.399-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Versionamiento'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><title type='text'>Aprendiendo a usar Mercurial - I</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ZPE557s_CNs/Tcdlx5ocn3I/AAAAAAAAAzg/7X9rX2IxoYU/s1600/mercurial_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ZPE557s_CNs/Tcdlx5ocn3I/AAAAAAAAAzg/7X9rX2IxoYU/s1600/mercurial_logo.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ahora se me dio por aprender mercurial,&amp;nbsp;así&amp;nbsp;que escribiré en varias partes sobre ello (tomando como referencia a Mercurial: The definitive Guide)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Control de Versiones:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El control de revisiones es el proceso de administrar múltiples versiones de una pieza de información. Esto es algo que muchas personas hacen a mano: cada vez que modificamos un archivo lo grabamos bajo un nombre que contiene un número y cada subsiguiente vez que lo modificamos, lo grabamos con el mismo nombre y el número siguiente.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;La administración de múltiples versiones de un solo archivo es una tarea propensa a errores. Por lo que en el tiempo .. se han creado herramientas que permiten manejar incluso múltiples archivos y múltiples personas en un proyecto.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;¿Por qué usar Mercurial?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Mercurial tiene un set de propiedades únicas que lo hacen una buena elección como un Sistema de Control de Versiones (CVS):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Sencillo de aprender y usar&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Es ligero&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Excelente escalabilidad&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Fácil de Personalizar&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;¿Quiénes apoyan a &amp;nbsp;Mercurial?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Algunos grandes como Google, Microsoft, Mozilla, Python, Symbian .. entre otros: &lt;i&gt;&lt;a href="http://mercurial.selenic.com/sponsors/"&gt;Sponsors&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;¿Cómo Instalar Mercurial?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. En Linux: Nos logueamos como root y dependiendo de nuestra distribución:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - (K)Ubuntu y Debian: apt-get install mercurial&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Fedora: yum install mercurial&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Opensuse: zypper install mercurial&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Gentoo: emerge mercurial&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. En Windows:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Requiere python instalado entre la versión 2.4 y 2.7&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; - Podemos obtener mercurial desde su página de descargas, tanto si deseamos solo mercurial o incluyendo TortoiseHG una herramienta gráfica para el mismo: &lt;a href="http://mercurial.selenic.com/downloads/"&gt;Descargar&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;u&gt;Referencias:&lt;/u&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;*&lt;/span&gt;&lt;/b&gt; &lt;a href="http://hgbook.red-bean.com/"&gt;Mercurial: The Definitive Guide&lt;/a&gt; - Bryan O'Sullivan&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;*&lt;/span&gt;&lt;/b&gt; &lt;a href="http://goo.gl/OM9Og"&gt;Mercurial Usage&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;*&lt;/span&gt;&lt;/b&gt; &lt;a href="http://mercurial.selenic.com/guide/"&gt;Mercurial Guide&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5237934787727274564?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5237934787727274564/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5237934787727274564' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5237934787727274564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5237934787727274564'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/aprendiendo-usar-mercurial-i.html' title='Aprendiendo a usar Mercurial - I'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ZPE557s_CNs/Tcdlx5ocn3I/AAAAAAAAAzg/7X9rX2IxoYU/s72-c/mercurial_logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6255588521280212520</id><published>2011-05-08T08:40:00.000-07:00</published><updated>2011-05-08T08:40:58.962-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seven'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><title type='text'>Agregar una variable al path en windows</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6lgebKfXQf8/Tca4de_fm4I/AAAAAAAAAzc/nK9u3VemLbA/s1600/Variables+de+entorno.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-6lgebKfXQf8/Tca4de_fm4I/AAAAAAAAAzc/nK9u3VemLbA/s320/Variables+de+entorno.png" width="287" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A veces, al seguir algún tutorial .. nos dicen que debemos agregar alguna variable al path, por ejemplo python, java, etc ..&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El procedimiento a seguir no es muy complicado y es como sigue:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Click derecho sobre Mi PC o Equipo y seleccionamos la opción "Propiedades"&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Click en "Opciones Avanzadas del Sistema"&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. En la pestaña "Opciones Avanzadas" seleccionamos "Variables de Entorno"&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. En la parte inferior seleccionamos la variable path y clickeamos en Editar&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Ahora solo nos debemos de ubicar al inicio del valor de la variable, pegar nuestra ruta a agregar y colocarle un punto y coma, para separarla de los otros campos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;¿Qué nos permite esto?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nos permitirá llamar a los ejecutables de nuestra ruta agregada(por ejemplo: C:\Python27) desde el cmd.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6255588521280212520?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6255588521280212520/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6255588521280212520' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6255588521280212520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6255588521280212520'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/agregar-una-variable-al-path-en-windows.html' title='Agregar una variable al path en windows'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-6lgebKfXQf8/Tca4de_fm4I/AAAAAAAAAzc/nK9u3VemLbA/s72-c/Variables+de+entorno.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3885107020314695259</id><published>2011-05-08T08:15:00.000-07:00</published><updated>2011-05-08T08:15:49.929-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>¿Qués es RSS?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-__Mp3ZVmlkM/TcaxJ_W6kWI/AAAAAAAAAzY/T_RW2Kimjqk/s1600/rss.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-__Mp3ZVmlkM/TcaxJ_W6kWI/AAAAAAAAAzY/T_RW2Kimjqk/s200/rss.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;""" RSS son las siglas de Really Simple Syndication, un formato XML para sindicar o compartir contenido en la web. Se utiliza para difundir información actualizada frecuentemente a usuarios que se han suscrito a la fuente de contenidos.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El formato permite distribuir contenidos sin necesidad de un navegador, utilizando un software diseñado para leer estos contenidos RSS (agregador). A pesar de eso, es posible utilizar el mismo navegador para ver los contenidos RSS. Las últimas versiones de los principales navegadores permiten leer los RSS sin necesidad de software adicional. RSS es parte de la familia de los formatos XML desarrollado específicamente para todo tipo de sitios que se actualicen con frecuencia y por medio del cual se puede compartir la información y usarla en otros sitios web o programas. A esto se le conoce como redifusión web o sindicación web (una traducción incorrecta, pero de uso muy común) """ Extracto de la wikipedia&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Entre algunas aplicaciones del tipo Agregadores tenemos:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;*&lt;/span&gt;&lt;/b&gt; &lt;a href="http://userbase.kde.org/Akregator/es"&gt;Akregator&lt;/a&gt;: Es la aplicación por defecto en KDE para realizar esta tarea, parte de la suite Kontact y el de mi uso diario.&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;*&lt;/b&gt;&lt;/span&gt; &lt;a href="http://www.google.com/reader/"&gt;Google Reader&lt;/a&gt;: Aplicación web&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;*&lt;/span&gt;&lt;/b&gt; &lt;a href="http://liferea.sourceforge.net/"&gt;Liferea&lt;/a&gt;: Un agregador de escritorio para Linux con una interfaz GTK.&lt;br /&gt;&lt;br /&gt;¿Para que nos sirve esto?&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Nos permitiría tener noticias de nuestro interés en un solo sitio (todo centralizado), solo necesitamos iniciar nuestro agregador favorito y leer la información de los blogs o webs que hallamos decidido seguir a través de RSS sin necesidad de abrir manualmente cada página web que usualmente visitamos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Y .. para los que deseen seguir este blog, solo deben de agregar el siguiente enlace: &lt;i&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&lt;a href="http://sudokill.blogspot.com/feeds/posts/default"&gt;Entradas RSS&lt;/a&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;Fuentes:&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;gt;&amp;gt; ¿Qué es un feed RSS? -&amp;gt; &lt;a href="http://www.microsiervos.com/archivo/internet/que-es-un-feed-rss.html"&gt;Microsiervos&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;gt;&amp;gt; RSS en &lt;a href="http://es.wikipedia.org/wiki/RSS"&gt;wikipedia&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3885107020314695259?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3885107020314695259/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3885107020314695259' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3885107020314695259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3885107020314695259'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/ques-es-rss.html' title='¿Qués es RSS?'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-__Mp3ZVmlkM/TcaxJ_W6kWI/AAAAAAAAAzY/T_RW2Kimjqk/s72-c/rss.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5598359743681527417</id><published>2011-05-07T18:41:00.000-07:00</published><updated>2011-05-07T18:41:57.686-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Poesía'/><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><title type='text'>Red y Libertad</title><content type='html'>Agradable video que nos muestr algunas ideas sobre la libertad en cuestión de cultura:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/XabPTsH1SZQ?rel=0" width="480"&gt;&lt;/iframe&gt; &lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Y tal como dice Manuel Machado:&lt;br /&gt;&lt;blockquote&gt;Hasta que el pueblo las canta,&lt;br /&gt;las coplas, coplas no son,&lt;br /&gt;y cuando las canta el pueblo&lt;br /&gt;ya nadie sabe el autor.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;Tal es la gloria, Guillén,&lt;br /&gt;de los que escriben cantares:&lt;br /&gt;oír decir a la gente&lt;br /&gt;que no los ha escrito nadie.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;Procura tú que tus coplas&lt;br /&gt;vayan al pueblo a parar,&lt;br /&gt;aunque dejen de ser tuyas&lt;br /&gt;para ser de los demás.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;Que, al fundir el corazón&lt;br /&gt;en el alma popular,&lt;br /&gt;lo que se pierde de nombre&lt;br /&gt;se gana de eternidad.&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;/b&gt;&lt;a href="http://www.youtube.com/watch?v=XabPTsH1SZQ"&gt;Red y Libertad&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5598359743681527417?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5598359743681527417/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5598359743681527417' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5598359743681527417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5598359743681527417'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/05/red-y-libertad.html' title='Red y Libertad'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/XabPTsH1SZQ/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6047324498267808948</id><published>2011-04-26T21:51:00.000-07:00</published><updated>2011-04-26T21:59:17.864-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Sockets en Python</title><content type='html'>Ejemplo de programación con sockets en python, pero antes .. ¿Qué es un socket?&lt;br /&gt;&lt;blockquote style="text-align: justify;"&gt;Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada.&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Y, ¿en python?, a continuación se muestra el código comentado de una implementación sencilla:&lt;/div&gt;&lt;br /&gt;&lt;u&gt;1. Código del servidor: (servidor.py)&lt;/u&gt;&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #3f7f59;"&gt;#!/usr/bin/env python&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; socket&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; sys&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Creamos un objeto socket&lt;/span&gt;&lt;br /&gt;s = socket.socket()&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# No es necesario especificar la dirección ip del host&lt;/span&gt;&lt;br /&gt;host = &lt;span style="color: #2a00ff;"&gt;''&lt;/span&gt;&lt;br /&gt;puerto = int (sys.argv[1])&lt;br /&gt;&lt;br /&gt;s.bind((host,puerto))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Máximo de conexiones a 'oir': 1&lt;/span&gt;&lt;br /&gt;s.listen(1)&lt;br /&gt;conn,addr = s.accept()&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# ¿Quién fue el que solicitó una conexión?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'La dirección del cliente es: '&lt;/span&gt;,addr&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;while&lt;/span&gt; True:&lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;try&lt;/span&gt;:&lt;br /&gt;        &lt;span style="color: #3f7f59;"&gt;# Recibiremos paquetes de 4 bytes&lt;/span&gt;&lt;br /&gt;        recibido = conn.recv(4)&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;if&lt;/span&gt; recibido:&lt;br /&gt;            &lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'Recibido: '&lt;/span&gt;,recibido&lt;br /&gt;            &lt;span style="color: #3f7f59;"&gt;# Reenvío la información recibida&lt;/span&gt;&lt;br /&gt;            conn.send(recibido)&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;else&lt;/span&gt;:&lt;br /&gt;            &lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'Adios'&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #7f0055; font-weight: bold;"&gt;break&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;except&lt;/span&gt; socket.error:&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'\nError de conexión'&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;break&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'\nFinalizando la conexión'&lt;/span&gt;&lt;br /&gt;s.close()&lt;br /&gt;conn.close()&lt;/pre&gt;&lt;pre style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial;"&gt;&lt;span class="Apple-style-span" style="color: #3f7f59;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/pre&gt;&lt;u&gt;2. Código del cliente (cliente.py)&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #3f7f59;"&gt;#!/usr/bin/env python&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; socket&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; sys&lt;br /&gt;&lt;br /&gt;s = socket.socket()&lt;br /&gt;&lt;br /&gt;host = sys.argv[1]&lt;br /&gt;puerto = int(sys.argv[2])&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'(host,puerto) : '&lt;/span&gt;,(host,puerto)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Nos conectamos con el servidor&lt;/span&gt;&lt;br /&gt;s.connect((host,puerto))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Envío la informacióm&lt;/span&gt;&lt;br /&gt;s.send(sys.argv[3])&lt;br /&gt;&lt;br /&gt;i = 0&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;while&lt;/span&gt; True:&lt;br /&gt;        data = s.recv(4)&lt;br /&gt;    i = i+1&lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;if&lt;/span&gt; i&amp;lt; 5:&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; data&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'\tRecibidos: '&lt;/span&gt;,len(data),&lt;span style="color: #2a00ff;"&gt;' bytes'&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;else&lt;/span&gt;:&lt;br /&gt;                &lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'\tEl mensaje continua ...'&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #7f0055; font-weight: bold;"&gt;break&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold;"&gt;not&lt;/span&gt; data:&lt;br /&gt;                &lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'No hay data'&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;break&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;'\nFinalizando la conexión'&lt;/span&gt;    &lt;br /&gt;s.close()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3. Modo de uso:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Lo que hice para probarlo fue abrir una terminal en el sistema operativo (OpenSuse), y ejecutar el comando (ubicándonos en la carpeta en la que tenemos el archivo servidor.py):&lt;/div&gt;&lt;blockquote&gt;python servidor.py 2000&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Y en una máquina virtual con Windows 7 en VirtualBox (y con la opción '&lt;i&gt;&lt;a href="http://sudokill.blogspot.com/2011/04/como-hacer-ping-entre-host-y-huesped-en.html"&gt;Adaptador puente&lt;/a&gt;&lt;/i&gt;' habilitada ), se ejecuta en el cmd (estando en la carpeta en la que se ubica el archivo cliente.py y con python agregado a la variable de entorno &lt;b&gt;path&lt;/b&gt;):&lt;/div&gt;&lt;blockquote&gt;python cliente.py 192.168.1.34 2000 "Hola a quien se atreva a responderme"&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;Tomando como referencia al artículo publicado en&amp;nbsp;&lt;i&gt;&lt;a href="http://mundogeek.net/archivos/2008/04/12/sockets-en-python/"&gt;mundogeek&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Socket en &lt;i&gt;&lt;a href="http://es.wikipedia.org/wiki/Socket_de_Internet"&gt;wikipedia&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Sockets en la &lt;i&gt;&lt;a href="http://docs.python.org/library/socket.html"&gt;documentación de python&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6047324498267808948?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6047324498267808948/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6047324498267808948' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6047324498267808948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6047324498267808948'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/sockets-en-python.html' title='Sockets en Python'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1873059079910315030</id><published>2011-04-25T23:13:00.000-07:00</published><updated>2011-04-25T23:13:50.154-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Box'/><title type='text'>Cómo hacer ping entre host y huésped en VirtualBox</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-jzj-xQd6Zj0/TbZckadmxMI/AAAAAAAAAx8/OpIgFsvCBRI/s1600/vbox_puente.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="144" src="http://4.bp.blogspot.com/-jzj-xQd6Zj0/TbZckadmxMI/AAAAAAAAAx8/OpIgFsvCBRI/s400/vbox_puente.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Me encontraba leyendo sobre sockets en Python, cuando se me ocurrió como podría probar la aplicación cliente - servidor en una sola PC,utilizando una máquina virtual, y a través de google, encontré la solución:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Solo se debe de ingresar a la configuración de la máquina virtual, y en la sección &lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;Red&lt;/b&gt;&lt;/span&gt; (como en la imagen mostrada en la parte superior) habilitar un adaptador de red de tipo: &lt;span class="Apple-style-span" style="color: #274e13;"&gt;&lt;b&gt;Adaptador puente&lt;/b&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Y listo .. solo ello, podremos comprobar la ip asignada a la máquina virtual&amp;nbsp;iniciándola&amp;nbsp;y en el terminal/cmd ejecutando el comando ifconfig/ipconfig según sea el caso.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Con este método podremos hacer ping entre diferentes &lt;i&gt;máquinas virtuales&lt;/i&gt; y &lt;i&gt;máquina virtual - host&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en:&amp;nbsp;&lt;a href="http://house9.blogspot.com/2011/04/ping-guest-os-from-host-os-with.html"&gt;&lt;i&gt;house9.blogspot.com&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1873059079910315030?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1873059079910315030/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1873059079910315030' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1873059079910315030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1873059079910315030'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/como-hacer-ping-entre-host-y-huesped-en.html' title='Cómo hacer ping entre host y huésped en VirtualBox'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-jzj-xQd6Zj0/TbZckadmxMI/AAAAAAAAAx8/OpIgFsvCBRI/s72-c/vbox_puente.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-7618865758719201618</id><published>2011-04-25T22:33:00.000-07:00</published><updated>2011-04-25T22:33:31.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Problemas'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Box'/><title type='text'>Virtual Box: /usr/lib/virtualbox/VirtualBox : Permiso denegado</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s1600/vbox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s200/vbox.png" width="155" /&gt;&lt;/a&gt;&lt;/div&gt;El error:&lt;br /&gt;&lt;blockquote&gt;/usr/bin/virtualbox: línea 77: /usr/lib/virtualbox/VirtualBox: Permiso denegado/usr/bin/virtualbox: línea 77: exec: /usr/lib/virtualbox/VirtualBox: no se puede ejecutar: Permiso denegado&lt;/blockquote&gt;&lt;div&gt;Para solucionarlo:&lt;/div&gt;&lt;blockquote&gt;sudo chmod +x /usr/lib/virtualbox/VirtualBox&lt;/blockquote&gt;&amp;nbsp;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;i&gt;&lt;a href="http://www.unixmen.com/linux-tutorials/documentations-a-howto/1111--line-72-usrlibvirtualboxvirtualbox-permission-denied"&gt;Unixmen&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-7618865758719201618?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/7618865758719201618/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=7618865758719201618' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7618865758719201618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7618865758719201618'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/virtual-box-usrlibvirtualboxvirtualbox.html' title='Virtual Box: /usr/lib/virtualbox/VirtualBox : Permiso denegado'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s72-c/vbox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5993428898587205153</id><published>2011-04-25T06:32:00.000-07:00</published><updated>2011-04-25T06:32:04.530-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>Sustituto</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-kU4T6hCl8XI/TbV1YiMrSWI/AAAAAAAAAx4/hqiKSEz8j5w/s1600/135_substitute.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-kU4T6hCl8XI/TbV1YiMrSWI/AAAAAAAAAx4/hqiKSEz8j5w/s1600/135_substitute.png" title="¿PENSÁIS QUE ESTO ES COSA DE BROMA?" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #660000;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;Webcomic visto en&amp;nbsp;&lt;u&gt;&lt;a href="http://es.xkcd.com/" style="color: #1f7eaf; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;xkcd-es&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5993428898587205153?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5993428898587205153/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5993428898587205153' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5993428898587205153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5993428898587205153'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/sustituto.html' title='Sustituto'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-kU4T6hCl8XI/TbV1YiMrSWI/AAAAAAAAAx4/hqiKSEz8j5w/s72-c/135_substitute.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-640256493956464257</id><published>2011-04-24T16:30:00.000-07:00</published><updated>2011-04-24T16:43:00.860-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><title type='text'>Automontar particiones en Linux</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-L6we6hssD2U/TbSj2HiNczI/AAAAAAAAAxw/m_gD11ufsDQ/s1600/particiones.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-L6we6hssD2U/TbSj2HiNczI/AAAAAAAAAxw/m_gD11ufsDQ/s320/particiones.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Cada vez que 'malogro el S.O.' termino aprendiendo algo nuevo, al menos así es en Linux, porque en Windows, siempre era: Formatear -&amp;gt; Instalar Windows -&amp;gt; Instalar programas -&amp;gt; next-&amp;gt; next -&amp;gt; next -&amp;gt; Finalizar.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Como yo, es posible que muchos hayan particionado sus discos de manera similar a: Windows S.O.(NTFS)/ Datos (NTFS)/ Linux S.O.(Ext4) / Home Linux(Ext4); como hemos notado, las particiones del tipo NTFS (New Technology FileSystem) no se montan por si mismas al iniciar el sistema por lo que es necesario unos cuantos ajustes:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;1.&lt;/span&gt;&lt;/b&gt; Necesitamos un editor de texto en terminal, en mi caso, utilizo &lt;i&gt;&lt;a href="http://www.nano-editor.org/"&gt;nano&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;2.&lt;/span&gt;&lt;/b&gt; Abrimos la terminal, nos logueamos como root, escribiendo:&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;su&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp;y luego ingresamos nuestra contraseña&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;3.&lt;/span&gt;&lt;/b&gt; A continuación escribimos:&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;fdisk -l&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp;lo que nos listará las particiones, de manera similar a:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-lJBET8wsYqE/TbSufnynNFI/AAAAAAAAAx0/j_3xBA_e-oQ/s1600/listado_de_particiones.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="98" src="http://1.bp.blogspot.com/-lJBET8wsYqE/TbSufnynNFI/AAAAAAAAAx0/j_3xBA_e-oQ/s400/listado_de_particiones.png" width="440" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nuestras particiones Windows y Datos (ambas en NTFS y que sirven ejemplos para este caso) corresponden a /dev/sda2 y /dev/sda3 respectivamente.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;4.&lt;/span&gt;&lt;/b&gt; Editamos /etc/fstab con:&lt;/div&gt;&lt;blockquote&gt;nano /etc/fstab&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;con lo que se debió de abrir el editor con el archivo selecto en la terminal, al final del cual debemos de ingresar:&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;blockquote&gt;/dev/sda2 &amp;nbsp; &amp;nbsp; &amp;nbsp; /media/Windows &amp;nbsp;ntfs-3g rw,user,auto,exec &amp;nbsp; 0 &amp;nbsp; 0&lt;br /&gt;/dev/sda3 &amp;nbsp; &amp;nbsp; &amp;nbsp; /media/Datos &amp;nbsp; &amp;nbsp;ntfs-3g rw,user,auto,exec &amp;nbsp; 0 &amp;nbsp; 0&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;guardamos y listo.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Note&lt;/b&gt; que debemos de haber creado las carpetas en las que montaremos las particiones, en este caso bastaría con:&lt;/div&gt;&lt;blockquote&gt;mkdir /media/Windows&lt;br /&gt;mkdir /media/Datos&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;5.&lt;/span&gt;&lt;/b&gt; Después de reiniciar las particiones en cuestión debieron de haberse montado.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;i&gt;&lt;a href="http://www.cav.jovenclub.cu/comunidad/?q=node/100"&gt;Comunidad de Software Libre en Ciego del Ávila&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Para los que deseen saber algo más: &lt;i&gt;&lt;a href="http://www.taringa.net/posts/linux/6497790/Organiza-tus-particiones-en-Linux-_-_fisicas_-red_-pen____.html"&gt;Organizar particiones en Linux&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-640256493956464257?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/640256493956464257/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=640256493956464257' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/640256493956464257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/640256493956464257'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/automontar-particiones-en-linux.html' title='Automontar particiones en Linux'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-L6we6hssD2U/TbSj2HiNczI/AAAAAAAAAxw/m_gD11ufsDQ/s72-c/particiones.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5556214380337858626</id><published>2011-04-24T10:37:00.000-07:00</published><updated>2011-04-24T10:37:01.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Netbeans 7.0: Un IDE para Java, C, Python ..</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-nhMW4SV1xoA/TbRNJ6vYZJI/AAAAAAAAAxs/Z09WKSRf7zA/s1600/netbeans-7.0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://4.bp.blogspot.com/-nhMW4SV1xoA/TbRNJ6vYZJI/AAAAAAAAAxs/Z09WKSRf7zA/s400/netbeans-7.0.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Netbeans es un IDE (Entorno de Desarrollo Integrado) utilizado preferentemente para desarrollar aplicaciones en Java, este mes (20/04/11) fue liberada la versión 7.0 que incluye entre sus características principales:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Disponibilidad en varios idiomas tales como: Inglés, Español,&amp;nbsp;Portugués, Chino, Francés .. entre muchos más&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Permite el desarrollo de aplicaciones de escritorio en Java, lo cual se facilita con Netbeans Swing GUI Builder&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Introducción de Soporte de la versión previa de JDK 7&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Soporte de diversas tecnologías: Java, C++, Python, PHP, Mercurial, GIT, Apache, HTML5, entre otras..&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Desarrollo visual de aplicaciones móviles: a través de Java Fx Mobile y Java ME&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Soporte para Oracle DB&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;u&gt;Para instalar en Linux:&lt;/u&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Requiere la presencia de un paquete jdk, el cual podemos obtener de: &lt;i&gt;&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"&gt;JDK&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Descargamos la versión deseada de su web y procedemos a instalar con:&lt;/div&gt;&lt;blockquote&gt;sh&amp;nbsp;netbeans-7.0-ml-linux.sh&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://netbeans.org/downloads/index.html"&gt;Netbeans&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5556214380337858626?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5556214380337858626/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5556214380337858626' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5556214380337858626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5556214380337858626'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/netbeans-70-un-ide-para-java-c-python.html' title='Netbeans 7.0: Un IDE para Java, C, Python ..'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-nhMW4SV1xoA/TbRNJ6vYZJI/AAAAAAAAAxs/Z09WKSRf7zA/s72-c/netbeans-7.0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-8732980521462198012</id><published>2011-04-22T17:42:00.000-07:00</published><updated>2011-04-22T17:42:45.650-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Problemas'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Box'/><title type='text'>Error montando una carpeta compartida en Virtual Box (Linux como guest)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s1600/vbox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s1600/vbox.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para montar una carpeta compartida, nosotros realizabamos:&lt;/div&gt;&lt;br /&gt;&lt;blockquote style="text-align: justify;"&gt;sudo mount -t vboxsf caarpeta_compartida /media/carpeta_en_donde_montaremos_la_unidad&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Pero es posible que obtengamos algún error como:&lt;/div&gt;&lt;div&gt;&lt;blockquote style="text-align: justify;"&gt;/sbin/mount.vboxsf: mounting failed with the error: Invalid argument&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Esto puede suceder por dos motivos:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. El nombre de la carpeta a montar y la carpeta en la que se monta son iguales (puede dar problemas)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Estabamos intentar montando el directorio personal de&amp;nbsp;algún&amp;nbsp;linux: /home/usuario o Mis Documentos de Windows&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Las soluciones respectivas serían usar otros nombres o subdirectorios.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;Visto en: &lt;a href="http://forums.virtualbox.org/viewtopic.php?t=15868"&gt;How to use shared folders&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-8732980521462198012?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/8732980521462198012/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=8732980521462198012' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8732980521462198012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8732980521462198012'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/error-montando-una-carpeta-compartida.html' title='Error montando una carpeta compartida en Virtual Box (Linux como guest)'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s72-c/vbox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6205196008878252775</id><published>2011-04-22T05:45:00.000-07:00</published><updated>2011-04-22T05:49:01.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ing. de Software'/><category scheme='http://www.blogger.com/atom/ns#' term='CC'/><category scheme='http://www.blogger.com/atom/ns#' term='Libros'/><title type='text'>Libro: Flexibilidad con Scrum</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-7TqDeHHdeoE/TbF4Ve_5xMI/AAAAAAAAAxo/9qIsGDKGzsE/s1600/320.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-7TqDeHHdeoE/TbF4Ve_5xMI/AAAAAAAAAxo/9qIsGDKGzsE/s1600/320.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;En palabras del autor, Juan Palacio:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;Ensamblando apuntes y conceptos he intentado, y ojalá lo haya conseguido, mostrar el modelo Scrum, dándole sentido desde la perspectiva general de la gestión de proyectos y el "management" de las empresas de software.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Estos apuntes que recopilo, son conclusiones a las que llego por la experiencia y lo aprendido hasta ahora. Son los consejos que daría a un amigo, al que al mismo tiempo diría que siempre que sea posible, antes de copiar las formas de trabajar de otros, las cuestione, y si su realidad le demuestra que es mejor adaptarlas, que no lo dude.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Por eso el libro no da recetas para calcar, sino conocimiento para adaptarlas o para diseñar las propias.&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;El libro está dividido en 3 partes: Gestión de Proyectos / Administración en el Desarrollo de Software y la Práctica de Scrum. Es de fácil lectura, por lo que se recomienda.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://www.navegapolis.net/content/view/694/"&gt;&lt;i&gt;Navegápolis&lt;/i&gt;&lt;/a&gt; : Libro y diapositivas : Licencia Creative Commons Reconocimiento-NoComercial 3.0&lt;br /&gt;&amp;gt;&amp;gt; Libro en formato &lt;i&gt;&lt;a href="http://www.navegapolis.net/files/Flexibilidad_con_Scrum.pdf"&gt;pdf&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6205196008878252775?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6205196008878252775/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6205196008878252775' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6205196008878252775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6205196008878252775'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/libro-flexibilidad-con-scrum.html' title='Libro: Flexibilidad con Scrum'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-7TqDeHHdeoE/TbF4Ve_5xMI/AAAAAAAAAxo/9qIsGDKGzsE/s72-c/320.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-8405385978743451030</id><published>2011-04-21T13:34:00.000-07:00</published><updated>2011-04-21T13:34:56.133-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Audio'/><category scheme='http://www.blogger.com/atom/ns#' term='Problemas'/><title type='text'>Clementine no reproduce archivos mp3 (Solucionado)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-8oTRXtBH-BU/TbCSPnFNWeI/AAAAAAAAAxk/05B19vxkxHs/s1600/clementine.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="http://3.bp.blogspot.com/-8oTRXtBH-BU/TbCSPnFNWeI/AAAAAAAAAxk/05B19vxkxHs/s200/clementine.png" width="100" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Para aquellos con un problema similar al que tuve: Clementine me funcionaba bien, pero en algun momento (mala actualización o tal vez configuración errónea) dejó de reproducir archivos con formato mp3, salteándose las canciones en este formato.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;La solución: Dirigirnos a nuestro directorio personal, luego a &lt;b&gt;.config/Clementine&lt;/b&gt; y eliminamos el archivo llanado &lt;b&gt;Clementine.conf&lt;/b&gt;, reiniciamos Clementine, y, en mi caso, se solucionó el problema.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;i&gt;&lt;a href="http://forums.opensuse.org/english/get-technical-help-here/applications/457259-clementine-error-can-not-play-mp3-3.html"&gt;Forums OpenSuse&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-8405385978743451030?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/8405385978743451030/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=8405385978743451030' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8405385978743451030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8405385978743451030'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/clementine-no-reproduce-archivos-mp3.html' title='Clementine no reproduce archivos mp3 (Solucionado)'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-8oTRXtBH-BU/TbCSPnFNWeI/AAAAAAAAAxk/05B19vxkxHs/s72-c/clementine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-7784422014955531749</id><published>2011-04-18T18:05:00.000-07:00</published><updated>2011-04-18T18:05:41.248-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenSuse'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><title type='text'>Como instalar VirtualBox en OpenSuse</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s1600/vbox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s1600/vbox.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. VirtualBox en algunas distribuciones Linux, como OpenSuse requiere DKMS (Dynamic Kernel Module Support), antes necesitamos instalar el paquete kernel-devel, el cual lo podemos obtener de &lt;i&gt;&lt;a href="http://software.opensuse.org/search?q=kernel-devel&amp;amp;baseproject=openSUSE%3A11.4&amp;amp;lang=es&amp;amp;exclude_debug=true"&gt;Opensuse Software&lt;/a&gt;&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Luego de ello podemos instalar &lt;i&gt;&lt;a href="http://www.virtualbox.org/wiki/Linux_Downloads"&gt;VirtualBox&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nota: En caso de que primero hallamos instalado VirtualBox y luego el paquete kernel-devel, se puede solucionar tecleando en la terminal:&lt;/div&gt;&lt;blockquote&gt;sudo /etc/init.d/vboxdrv setup&lt;/blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en &lt;i&gt;&lt;a href="http://forums.opensuse.org/english/get-technical-help-here/install-boot-login/455377-where-linux-kernel-headers-11-4-a.html"&gt;Opensuse Forum&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-7784422014955531749?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/7784422014955531749/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=7784422014955531749' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7784422014955531749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7784422014955531749'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/como-instalar-virtualbox-en-opensuse.html' title='Como instalar VirtualBox en OpenSuse'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-smdbqCRTVSQ/TRjEiPc2lMI/AAAAAAAAAkw/qC611KqxToc/s72-c/vbox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2004998376198480627</id><published>2011-04-18T06:51:00.000-07:00</published><updated>2011-04-18T06:57:46.883-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Libre'/><category scheme='http://www.blogger.com/atom/ns#' term='Libros'/><title type='text'>LIbro: La pastilla Roja</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-RxS3HBsz2N4/Taw8K4DafmI/AAAAAAAAAxY/I4g6xU-G1FU/s1600/la+pastilla+roja.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-RxS3HBsz2N4/Taw8K4DafmI/AAAAAAAAAxY/I4g6xU-G1FU/s1600/la+pastilla+roja.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Un libro muy instructivo sobre Software Libre y el por qué debe de ser implantado en nuestra sociedad, a continuación, un resumen ejecutivo de su propio autor:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;"La Pastilla Roja pretende mostrar el porqué del Software Libre como la base ideal sobre la que construir nuestro futuro como sociedad. Se describen los fundamentos sobre los que se basa el Software Libre, la realidad del mismo y por qué su implantación es idónea para todo t ipo de organizaciones. Se analiza la repercusión socio-económica que tiene actualmente en la Administración Pública y la Educación. También las posibilidades concretas que las tecnologías libres ofrecen al conjunto de la Sociedad, especialmente el Plan España.es promovido por el Ministerio de Ciencia y Tecnología para el Desarrollo de la Sociedad del Conocimiento.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Se revisan los modelos de negocio de las empresas que ofrecen servicios sobre tecnologías libres y el mercado español existente. Se analiza, por otra parte, el posicionamiento de los diferentes tipos de empresa que proponen servicios sobre Software Libre (multinacionales, canal y consultoras independientes), además de las diferentes oportunidades de negocio existentes, como la liberación de programas informáticos bajo licencias libres. Además se muestra la situación global en la cual se encuentra el Software Libre y cómo diferentes agentes intentan monopolizar el conocimiento y la infraestructura (Amenazas al Patrimonio Común de Innovación). A través de un anális is de Debilidades, Amenazas, Fortalezas y Oportunidades, veremos la situación actual y la posible evolución que tiene el Software Libre, recogiendo las diferentes tendencias que se antojan en la tecnología como la comoditización de la infraestructura básica, la evolución hacia los Personal Fabricators o la unificación de estándares abiertos y libres para uso en la sociedad.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Por último, se ofrecen posibilidades de actuaciones concretas a todo tipo de colectivos y las ventajas que la implantación y utilización de Software Libre traería. Entre ellos encontramos a los empresarios, dueños de PYMEs, directores de tecnología, directores de sistemas, empresas de software propietario, políticos, funcionarios públicos, rectores de Universidad, dirigentes de colectivos, asociaciones, fundaciones, federaciones, colegios profesionales, estudiantes de tecnologías, de Humanidades, de Periodismo, etc."&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://lapastillaroja.net/libro/"&gt;La pastilla Roja&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;a href="http://lapastillaroja.net/libro/descargar-libro/"&gt;Descargar el libro&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2004998376198480627?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2004998376198480627/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2004998376198480627' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2004998376198480627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2004998376198480627'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/libro-la-pastilla-roja.html' title='LIbro: La pastilla Roja'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-RxS3HBsz2N4/Taw8K4DafmI/AAAAAAAAAxY/I4g6xU-G1FU/s72-c/la+pastilla+roja.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3199017073139497149</id><published>2011-04-17T08:41:00.000-07:00</published><updated>2011-04-17T08:41:19.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Libre'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Nano: Un editor de Texto</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/-Rta6UGm5ZlE/TasGL9lrhXI/AAAAAAAAAxI/n1LWe8_g9oY/s1600/nano.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" src="http://3.bp.blogspot.com/-Rta6UGm5ZlE/TasGL9lrhXI/AAAAAAAAAxI/n1LWe8_g9oY/s400/nano.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Un excelente editor de textos incluido por defecto en algunas distribuciones Linux que puede usarse a través de la linea de comandos (terminal), permite crear o editar archivos de texto, HTML, scripts, en general cualquier archivo de &lt;i&gt;&lt;a href="http://es.wikipedia.org/wiki/Archivo_de_texto"&gt;texto plano&lt;/a&gt;&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Entre algunas de sus características, tenemos:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Buscar y reemplazar&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Cortar y pegar&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Corrección de Ortografia&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Entre otras&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Podemos instalarlo utilizando el gestor de paquetes por defecto en nuestra distribución o a través de su página de &lt;i&gt;&lt;a href="http://www.nano-editor.org/download.php"&gt;descargas&lt;/a&gt;&lt;/i&gt;.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://www.nano-editor.org/"&gt;Nano&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3199017073139497149?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3199017073139497149/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3199017073139497149' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3199017073139497149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3199017073139497149'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/nano-un-editor-de-texto.html' title='Nano: Un editor de Texto'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Rta6UGm5ZlE/TasGL9lrhXI/AAAAAAAAAxI/n1LWe8_g9oY/s72-c/nano.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-4040036983606668992</id><published>2011-04-17T08:40:00.000-07:00</published><updated>2011-04-17T08:40:59.732-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Poesía'/><title type='text'>Non, Je ne regrette rien</title><content type='html'>Non, Je ne regrette rien -&amp;nbsp;Edith Piaf (1915-1963)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;Non, rien de rien&lt;br /&gt;Non, je ne regrette rien&lt;br /&gt;Ni le bien qu'on m'a fait, ni le mal&lt;br /&gt;Tout ça m'est bien égal&lt;br /&gt;Non, rien de rien&lt;br /&gt;Non, je ne regrette rien&lt;br /&gt;C'est payé, balayé, oublié&lt;br /&gt;Je me fous du passé&lt;br /&gt;Avec mes souvenirs&lt;br /&gt;J'ai allumé le feu&lt;br /&gt;Mes chagrins, mes plaisirs&lt;br /&gt;Je n'ai plus besoin d'eux&lt;br /&gt;Balayés mes amours&lt;br /&gt;Avec leurs trémolos&lt;br /&gt;Balayés pour toujours&lt;br /&gt;Je repars à zéro&lt;br /&gt;Non, rien de rien&lt;br /&gt;Non, je ne regrette rien&lt;br /&gt;Ni le bien qu'on m'a fait, ni le mal&lt;br /&gt;Tout ça m'est bien égal&lt;br /&gt;Non, rien de rien&lt;br /&gt;Non, je ne regrette rien&lt;br /&gt;Car ma vie&lt;br /&gt;Car mes joies&lt;br /&gt;Aujourd'hui&lt;br /&gt;Ça commence avec toi...&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;Traducción&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;No, nada de nada&lt;br /&gt;No, no me arrepiento de nada&lt;br /&gt;Ni el bien que me han hecho, ni el mal&lt;br /&gt;Todo eso me da lo mismo&lt;br /&gt;No, nada de nada&lt;br /&gt;No, no me arrepiento de nada&lt;br /&gt;Está pagado, barrido, olvidado&lt;br /&gt;Me da lo mismo el pasado&lt;br /&gt;Con mis recuerdos&lt;br /&gt;Yo prendí el fuego&lt;br /&gt;Mis tristezas, mis placeres&lt;br /&gt;Ya no tengo necesidad de ellos&lt;br /&gt;Barridos mis amores&lt;br /&gt;con sus trémolos&lt;br /&gt;barridos para siempre&lt;br /&gt;Vuevo a partir de cero&lt;br /&gt;No, nada de nada&lt;br /&gt;No, no me arrepiento de nada&lt;br /&gt;Ni el bien que me han hecho, ni el mal&lt;br /&gt;Todo eso me da lo mismo&lt;br /&gt;No, nada de nada&lt;br /&gt;No, no me arrepiento de nada&lt;br /&gt;Pues mi vida&lt;br /&gt;mis alegrías&lt;br /&gt;hoy&lt;br /&gt;comienzan contigo...&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;i&gt;&lt;a href="http://poemasenfrances.blogspot.com/2000/05/edith-piaf-non-je-ne-regrette-rien.html"&gt;Poemasenfrances&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Canción en &lt;i&gt;&lt;a href="http://www.youtube.com/watch?v=Q3Kvu6Kgp88"&gt;Youtube&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Non, je ne regrette rien en &lt;i&gt;&lt;a href="http://es.wikipedia.org/wiki/Non,_je_ne_regrette_rien"&gt;Wikipedia&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-4040036983606668992?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/4040036983606668992/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=4040036983606668992' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4040036983606668992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4040036983606668992'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/non-je-ne-regrette-rien.html' title='Non, Je ne regrette rien'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-9049295181457393910</id><published>2011-04-15T20:41:00.000-07:00</published><updated>2011-04-22T05:51:03.548-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ing. de Software'/><category scheme='http://www.blogger.com/atom/ns#' term='CC'/><category scheme='http://www.blogger.com/atom/ns#' term='Libros'/><title type='text'>Libro: Diseño Ágil con TDD</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NGdS-72lGQU/TakGbJXMIyI/AAAAAAAAAxE/bhq0BORytYY/s1600/dirigidoportest.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-NGdS-72lGQU/TakGbJXMIyI/AAAAAAAAAxE/bhq0BORytYY/s320/dirigidoportest.jpg" width="216" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Excelente libro sobre TDD (desarrollo guiado por pruebas) que&amp;nbsp;comencé&amp;nbsp;a leer esta semana, cuyos autores: Carlos Blé Jurado, Juan Gutiérrez Plaza, &amp;nbsp;Fran Reyes Perdomo y Gregorio Mena tuvieron el agrado de publicar&amp;nbsp;bajo licencia &lt;i&gt;&lt;a href="http://www.safecreative.org/work/1001085275573"&gt;Creative Commons-nd&lt;/a&gt;.&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Una breve sinopsis escrita por &lt;a href="http://weblogs.javahispano.org/artesanodeprimera/"&gt;&lt;i&gt;Alberto Casado&lt;/i&gt;&lt;/a&gt;:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;¿Dedicas una gran parte de tu tiempo de desarrollo a resolver incidencias de aplicaciones en producción?, ¿te enfrentas a sesiones de depuración interminables para encontrar la raíz de un problema?, ¿te extenúa descubrir innumerables fallos cada vez que introduces nuevas características a funcionalidades ya existentes?. Si respondes afirmativamente estas cuestiones y quieres promover el cambio, en este libro encontrarás la clave.&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;TDD es una técnica de desarrollo que se lleva aplicando durante años con gran éxito en lugares como EEUU y Reino Unido, sin embargo, la ausencia de información en español sobre la misma ha supuesto un freno para su difusión en los países hispano-parlantes. El objetivo de este libro es poner solución a este dilema y ofrecer una referencia completa, tanto teórica como práctica, que permita al lector iniciarse en su comprensión y aplicación.&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;A estas alturas sabemos que aprender nuevos lenguajes o frameworks incrementa nuestra productividad a corto plazo, pero los problemas más graves a los que nos enfrentamos siguen sin solución. TDD propone una nueva forma de afrontar los desarrollos atacando estas dificultades de frente y permitiendo entregar software más robusto y fiable. Con TDD, nuestro rendimiento a largo plazo sí se ve beneficiado, no olvidemos que uno de los factores con más influencia en la productividad de hoy es la calidad del código escrito ayer.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Diseño Ágil con TDD nos enseñará a:&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;* Escribir tests que aumenten la fiabilidad del código.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;* Escribir tests de aceptación que nos ayudarán a centrarnos, específicamente, en el problema a resolver.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;* Mejorar nuestros diseños para hacerlos más simples y flexibles.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;* Escribir código fácil de mantener. Con TDD, los test son documentación viva y actualizada de nuestro código, la mejor documentación posible.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;* Encajar TDD dentro del paradigma ágil y relacionarlo con otras técnicas como la integración continua.&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;/b&gt;Versión electrónica del libro: &lt;b&gt;&lt;i&gt;&lt;a href="https://docs.google.com/viewer?url=http%3A%2F%2Fwww.dirigidoportests.com%2Fwp-content%2Fuploads%2F2009%2F12%2FdisenoAgilConTDD.pdf"&gt;Diseño ágil con TDD&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;a href="http://www.dirigidoportests.com/"&gt;&lt;i&gt;Dirigido por &amp;nbsp;Tests&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-9049295181457393910?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/9049295181457393910/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=9049295181457393910' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/9049295181457393910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/9049295181457393910'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/libro-diseno-agil-con-tdd.html' title='Libro: Diseño Ágil con TDD'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-NGdS-72lGQU/TakGbJXMIyI/AAAAAAAAAxE/bhq0BORytYY/s72-c/dirigidoportest.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-825996085690316660</id><published>2011-04-11T09:07:00.000-07:00</published><updated>2011-04-11T09:08:40.026-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diapositiva'/><title type='text'>7 caminos para matar tu presentación - 7 ways to kill your presentation</title><content type='html'>&lt;div style="text-align: justify;"&gt;¿Quien no ha necesitado realizar una presentación?; ya sea en la escuela, universidad, trabajo, etc .. a continuación una diapositiva (en inglés) de &lt;i&gt;&lt;a href="http://www.slideshare.net/jmtcz"&gt;Jeanne Trojan&lt;/a&gt;&lt;/i&gt; que nos brinda algunos consejos al respecto:&lt;/div&gt;&lt;br /&gt;&lt;center&gt;&lt;div id="__ss_5616832" style="width: 425px;"&gt;&lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/5616832?rel=0" width="425"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Resumiendo:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. No hable de si mismo&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. No se disculpes por cualquier cosa&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Las preguntas no deben de ser al final, sino durante el transcurrir de la exposición.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. Usted no es comediante&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Si su presentación no se puede leer, !No la use!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;6. Si no tiene pasión por el tema, !No lo presente!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;7. No&amp;nbsp;utilice&amp;nbsp;la expresión 'Espero que ...', esté seguro de que ha hecho una diferencia.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;i&gt;&lt;a href="http://www.slideshare.net/jmtcz"&gt;Jeanne Trojan&lt;/a&gt;&amp;nbsp;&lt;/i&gt;en Slideshare&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-825996085690316660?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/825996085690316660/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=825996085690316660' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/825996085690316660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/825996085690316660'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/7-caminos-para-matar-tu-presentacion-7.html' title='7 caminos para matar tu presentación - 7 ways to kill your presentation'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2463047500158358860</id><published>2011-04-07T08:10:00.000-07:00</published><updated>2011-04-07T08:10:59.485-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLite'/><category scheme='http://www.blogger.com/atom/ns#' term='Base de Datos'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>SQLite en Python #1</title><content type='html'>&lt;div style="text-align: justify;"&gt;Como sabemos SQLite viene por defecto incluido con Python, a continuación un ejemplo sencillo y comentado que muestra como se puede utilizar:&lt;/div&gt;&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #3f7f59;"&gt;#!/usr/bin/env python&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Importamos las librerias de sqlite&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; sqlite3&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Realizamos la conexión con la Base de Datos&lt;/span&gt;&lt;br /&gt;con_bd = sqlite3.connect(&lt;span style="color: #2a00ff;"&gt;"bd.dat"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Creamos un objeto cursor&lt;/span&gt;&lt;br /&gt;cur=con_bd.cursor()&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Creamos una tabla&lt;/span&gt;&lt;br /&gt;cur.execute(&lt;span style="color: #3f7f59;"&gt;"""    create table empleados (&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dni text,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nombre text,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;departamento text )"""&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Realizamos la inserción de algunos datos&lt;/span&gt;&lt;br /&gt;cur.execute(&lt;span style="color: #3f7f59;"&gt;"""    insert into empleados values(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'142857','Astrid','Desarrollo'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;)"""&lt;/span&gt;)&lt;br /&gt;            &lt;br /&gt;cur.execute(&lt;span style="color: #3f7f59;"&gt;"""    insert into empleados values(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'285714','Luis','Ventas'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;)"""&lt;/span&gt;)&lt;br /&gt;            &lt;br /&gt;cur.execute(&lt;span style="color: #3f7f59;"&gt;"""    insert into empleados values(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'428571','Felipe','Desarrollo'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;)"""&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Llamamos al método commit para que se efectuen los&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# cambios en el archivo.&lt;/span&gt;&lt;br /&gt;con_bd.commit()&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Realizamos una consulta&lt;/span&gt;&lt;br /&gt;cur.execute(&lt;span style="color: #3f7f59;"&gt;"""select * from empleados where &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&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;&amp;nbsp;departamento ='Desarrollo'    """&lt;/span&gt;)&lt;br /&gt;                &lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Leemos los valores obtenidos en la consulta&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;for&lt;/span&gt; valor &lt;span style="color: #7f0055; font-weight: bold;"&gt;in&lt;/span&gt; cur.fetchall():&lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; valor&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Cerramos el cursor y la conexión&lt;/span&gt;&lt;br /&gt;cur.close()&lt;br /&gt;con_bd.close()&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;Con la ayuda del excelente libro -&amp;gt;&amp;nbsp;Python Para Todos:&amp;nbsp;&lt;a href="http://mundogeek.net/archivos/2008/05/06/el-tutorial-de-python-en-pdf/"&gt;MundoGeek&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2463047500158358860?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2463047500158358860/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2463047500158358860' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2463047500158358860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2463047500158358860'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/sqlite-en-python-1.html' title='SQLite en Python #1'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6943847527602215106</id><published>2011-04-05T09:40:00.000-07:00</published><updated>2011-04-05T09:40:54.476-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>staticmethod y classmethod en Python</title><content type='html'>&lt;div style="text-align: justify;"&gt;Más sobre python:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Métodos Estáticos: Son aquellos métodos a los que podemos acceder a sus atributos, sin necesidad de crear una&amp;nbsp;instancia&amp;nbsp;de la clase, es necesario otorgar la clase como parámetro.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Métodos de Clase: Tienen un similar comportamiento a los métodos estáticos, con la diferencia de que por defecto otorga como parámetro a la propia clase.&lt;/div&gt;&lt;br /&gt;Un ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #3f7f59;"&gt;#!/usr/bin/env python&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;#-*-coding:utf-8-*-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;class&lt;/span&gt; E(object):&lt;br /&gt;    x=True&lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;def&lt;/span&gt; __init__(self):&lt;br /&gt;        self.x=False&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;def&lt;/span&gt; n(self):&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;return&lt;/span&gt; self.x&lt;br /&gt;&lt;br /&gt;    @staticmethod&lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;def&lt;/span&gt; s(self):&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;return&lt;/span&gt; self.x&lt;br /&gt;&lt;br /&gt;    @classmethod&lt;br /&gt;    &lt;span style="color: #7f0055; font-weight: bold;"&gt;def&lt;/span&gt; c(self):&lt;br /&gt;        &lt;span style="color: #7f0055; font-weight: bold;"&gt;return&lt;/span&gt; self.x&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# No podemos hacer lo siguiente porque no hemos instanciado la clase&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# print E.n()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# Debimos de realizar:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; E().n()&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# En cambio con los métodos estáticos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;"@staticmethod"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; E.s(E)&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; E().s(E)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# y los métodos de clase de funcionamiento similar, solo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;# que no es necesario otorgar la clase como 1er argumento&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;"@classmethod"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; E.c()&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; E().c()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;/b&gt;Un artículo más completo en: &lt;i&gt;&lt;a href="http://spayder26.blogspot.com/2010/03/metodos-estaticos-en-python.html"&gt;S.26&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://users.rcn.com/python/download/Descriptor.htm"&gt;Descriptors How to guide&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6943847527602215106?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6943847527602215106/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6943847527602215106' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6943847527602215106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6943847527602215106'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/staticmethod-y-classmethod-en-python.html' title='staticmethod y classmethod en Python'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5462231612273747736</id><published>2011-04-03T20:15:00.000-07:00</published><updated>2011-04-03T20:15:09.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><title type='text'>Como instalar JDownloader en Linux</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-KRM3fpn_ERs/TZkyM5LvQxI/AAAAAAAAAvQ/GHRQnyj--PI/s1600/jd_logo_128_128.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-KRM3fpn_ERs/TZkyM5LvQxI/AAAAAAAAAvQ/GHRQnyj--PI/s1600/jd_logo_128_128.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;1. Descargamos el siguiente &lt;i&gt;&lt;a href="http://212.117.163.148/jd.sh"&gt;script&lt;/a&gt;&lt;/i&gt; que&amp;nbsp;también&amp;nbsp;podemos encontrar en la&amp;nbsp;sección&amp;nbsp;descargas de la web de Jdownloader.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Nos dirigimos a la terminal y editamos los permisos del archivo:&lt;/div&gt;&lt;blockquote&gt;chmod +x jd.sh&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;3. Utilizamos el editor de texto de nuestra preferencia para configurar el archivo jd.sh según nuestras necesidades (para ajustar directorio de instalación).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. Ejecutamos el scrip&lt;/div&gt;&lt;blockquote&gt;sudo ./jd.sh&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;5. Luego de ello, por medio de la terminal (y el comando wget) se auto-descargará la versión más actual de Jdownloader.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;6. Para configurar un lanzador personalizado, podemos usar el icono que viene en la carpeta en la que instalamos JDownloader y como ordena &amp;nbsp;ejecutar:&lt;/div&gt;&lt;blockquote&gt;java -jar JDownloader.jar&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;i&gt;&lt;a href="http://jdownloader.org/download/index"&gt;JDownloader&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5462231612273747736?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5462231612273747736/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5462231612273747736' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5462231612273747736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5462231612273747736'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/como-instalar-jdownloader-en-linux.html' title='Como instalar JDownloader en Linux'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-KRM3fpn_ERs/TZkyM5LvQxI/AAAAAAAAAvQ/GHRQnyj--PI/s72-c/jd_logo_128_128.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3155864418434097971</id><published>2011-04-03T19:39:00.000-07:00</published><updated>2011-04-03T19:39:11.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='PyQt'/><title type='text'>google-url-shortener-plasmoid: Un plasmoid que acorta url's</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/_QMnmexFCb1Q/TZj2VDm8sTI/AAAAAAAAAu0/v-lM5oiAIqQ/google-url-shortener-v0.1-opensuse.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="https://lh5.googleusercontent.com/_QMnmexFCb1Q/TZj2VDm8sTI/AAAAAAAAAu0/v-lM5oiAIqQ/google-url-shortener-v0.1-opensuse.png" width="286" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Un plasmoid para KDE que hice como quien practica un poco de PyQt, PyKDE, su función es la de acortar direcciones web utilizando el servicio de Google URL Shortener.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;¿Cómo usar?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Muy sencillo, solo pegamos el vínculo, click en acortar y la dirección corta quedará en el portapapeles (aunque también se muestra).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;En estos días trataré de agregarle una que otra característica como: Internacionalización, que soporte autenticación de cuentas google, y ya veremos que otra idea más me aparece, como siempre, se acepta cualquier sugerencia.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Proyecto en &lt;i&gt;&lt;a href="http://code.google.com/p/google-url-shortener-plasmoid/"&gt;google code&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; .. en &lt;i&gt;&lt;a href="http://kde-look.org/content/show.php/google-url-shortener?content=140531"&gt;kde-look&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3155864418434097971?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3155864418434097971/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3155864418434097971' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3155864418434097971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3155864418434097971'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/04/google-url-shortener-plasmoid-un.html' title='google-url-shortener-plasmoid: Un plasmoid que acorta url&apos;s'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/_QMnmexFCb1Q/TZj2VDm8sTI/AAAAAAAAAu0/v-lM5oiAIqQ/s72-c/google-url-shortener-v0.1-opensuse.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3812422831396314431</id><published>2011-03-31T07:06:00.000-07:00</published><updated>2011-03-31T07:06:54.172-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>Belleza</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-VkX97qEj3kw/TZSIeeT9oGI/AAAAAAAAAuA/3vX0nAkUugo/s1600/belleza.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Belleza" title="Probablemente los mejores abrazos los dan los mixinos, que pueden extrudir filamentos microscópicos que convierten un gran volumen de agua en baba en cuestión de segundos. ¡Una manta blandita instantánea!" border="0" height="183" src="http://2.bp.blogspot.com/-VkX97qEj3kw/TZSIeeT9oGI/AAAAAAAAAuA/3vX0nAkUugo/s400/belleza.png" width="460" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #660000;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;Webcomic visto en&amp;nbsp;&lt;u&gt;&lt;a href="http://es.xkcd.com/" style="color: #1f7eaf; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;xkcd-es&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3812422831396314431?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3812422831396314431/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3812422831396314431' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3812422831396314431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3812422831396314431'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/belleza.html' title='Belleza'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-VkX97qEj3kw/TZSIeeT9oGI/AAAAAAAAAuA/3vX0nAkUugo/s72-c/belleza.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-9113072072587560100</id><published>2011-03-28T21:29:00.000-07:00</published><updated>2011-03-28T21:29:01.423-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenSuse'/><title type='text'>Restricted Extras en OpenSuse</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-giqq4UOSfec/TZFfPSlbX7I/AAAAAAAAAt8/SoyYIBmS_go/s1600/opensuse-logo-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-giqq4UOSfec/TZFfPSlbX7I/AAAAAAAAAt8/SoyYIBmS_go/s200/opensuse-logo-2.png" width="172" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ahora que estoy probando OpenSuse 11.4, para instalar lo que en (K)Ubuntu conocemos como "Restricted Extras": Codecs multimedia extras y algún software propietario adicional como flash, solo debemos de clickear el siguiente enlace, según usemos gnome o kde:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; - &lt;a href="http://opensuse-community.org/codecs-gnome.ymp"&gt;&lt;i&gt;codecs-gnome.ymp&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; - &lt;a href="http://opensuse-community.org/codecs-kde.ymp"&gt;&lt;i&gt;codecs-kde.ymp&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;Nota: &lt;/i&gt;Un archivo ymp tambien es conocido como: &lt;i&gt;yast meta package.&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; Visto en: &lt;a href="http://instalandolibertades.wordpress.com/2010/08/31/opensuse-11-3-instalando-codecs-multimedia/"&gt;InstalandoLibertades&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-9113072072587560100?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/9113072072587560100/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=9113072072587560100' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/9113072072587560100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/9113072072587560100'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/restricted-extras-en-opensuse.html' title='Restricted Extras en OpenSuse'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-giqq4UOSfec/TZFfPSlbX7I/AAAAAAAAAt8/SoyYIBmS_go/s72-c/opensuse-logo-2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1102110665116975516</id><published>2011-03-28T18:56:00.000-07:00</published><updated>2011-03-28T18:56:26.066-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diccionario'/><title type='text'>Diccionario: noarch</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;noarch : no architecture : no arquitectura : se usa para referirse al software que contiene imágenes, documentación o cualquier dato de este tipo que no depende de la arquitectura del computador.&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/b&gt; &lt;a href="http://en.wiktionary.org/wiki/noarch"&gt;&lt;i&gt;Wictionary&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1102110665116975516?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1102110665116975516/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1102110665116975516' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1102110665116975516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1102110665116975516'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/diccionario-noarch.html' title='Diccionario: noarch'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6151329995880127257</id><published>2011-03-25T01:30:00.000-07:00</published><updated>2011-03-24T23:38:09.242-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>¿Cómo insertar metatag en blogger?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-0FrryC9iIcs/TYtkjMm71uI/AAAAAAAAAtg/os-eceBIM74/s1600/meta_tags_blogger.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="161" src="https://lh3.googleusercontent.com/-0FrryC9iIcs/TYtkjMm71uI/AAAAAAAAAtg/os-eceBIM74/s200/meta_tags_blogger.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;¿Qué son los metatag?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;Desde Wikipedia:&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;Las metatags son etiquetas html que se incorporan en el encabezado de una página web y que resultan invisibles para un visitante normal, pero de gran utilidad para navegadores u otros programas que puedan valerse de esta información.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Su propósito es el de incluir información (metadatos) de referencia sobre la página: autor, título, fecha, palabras clave, descripción, etc.&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Los metatag sonde gran utilidad para los buscadores, ya que toman parte de esta información para realizar una mejor indexación del sitio web en cuestión.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;¿Cómo insertar metatag en nuestra plantilla de blogger?&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;1.&lt;/span&gt;&lt;/b&gt; Para ello nos dirigimos a la sección Diseño de nuestro blog -en el escritorio e blogger- , allí seleccionamos Editor de HTML.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;2.&lt;/span&gt;&lt;/b&gt; Ahora buscamos el código -un Ctrl + F puede que ayude-:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt; &amp;lt;title&amp;gt;&amp;lt;data:blog.pageTitle/&amp;gt;&amp;lt;/title&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;3.&lt;/span&gt;&lt;/b&gt; E inmediatamente después del código anterior, se debe de insertar el código de los metatag:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&amp;lt;!-- Metatags de la página principal --&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&amp;lt;b:if cond='data:blog.pageType == "index"'&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&amp;lt;meta content='aquí las palabras clave separadas por comas' name='keywords'/&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&amp;lt;meta content='una descripción del contenido general del blog' name='description'/&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&amp;lt;/b:if&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;&lt;b&gt;4.&lt;/b&gt;&lt;/span&gt;&amp;nbsp;También&amp;nbsp;es posible agregar Metatag por cada página de etiquetas, mas información en: &lt;i&gt;&lt;a href="http://blogandweb.com/blogger/metatags-en-blogger/"&gt;blogandweb.com&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; Metatag en &lt;i&gt;&lt;a href="http://es.wikipedia.org/wiki/Metatag"&gt;Wikipedia&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; blogandweb: &lt;i&gt;&lt;a href="http://blogandweb.com/blogger/metatags-en-blogger/"&gt;Metatags en Blogger&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6151329995880127257?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6151329995880127257/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6151329995880127257' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6151329995880127257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6151329995880127257'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/como-insertar-metatag-en-blogger.html' title='¿Cómo insertar metatag en blogger?'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-0FrryC9iIcs/TYtkjMm71uI/AAAAAAAAAtg/os-eceBIM74/s72-c/meta_tags_blogger.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3249811465074764984</id><published>2011-03-24T09:38:00.000-07:00</published><updated>2011-03-24T09:38:13.486-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>¿Cómo convertir archivos .rpm a deb con alien?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-lm1t0Pb3boQ/TYtH36469vI/AAAAAAAAAtc/z_AlvLex2oQ/s1600/david68-tux-alien.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="https://lh5.googleusercontent.com/-lm1t0Pb3boQ/TYtH36469vI/AAAAAAAAAtc/z_AlvLex2oQ/s200/david68-tux-alien.png" width="149" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Alien es un programa que convierte entre los formatos de archivos rpm, dpkg, slp y tgz. Resulta muy útil para situaciones en las que por ejemplo&amp;nbsp;queramos&amp;nbsp;instalar alguna aplicación empaquetada como rpm en (K)ubuntu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para instalar:&lt;/div&gt;&lt;blockquote&gt;sudo apt-get install alien&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Para convertir el archivo prueba.rpm:&lt;/div&gt;&lt;blockquote&gt;sudo alien -k prueba.rpm&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;y ya podremos instalar nuestro nuevo .deb:&lt;/div&gt;&lt;blockquote&gt;sudo dpkg -i prueba.deb&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en &lt;i&gt;&lt;a href="http://linuxsan.wordpress.com/2007/11/08/instalar-paquetes-rpm-con-alien-convertir-de-rpm-a-deb/"&gt;LinuxSan&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Imagen de: &lt;i&gt;&lt;a href="http://tux.crystalxp.net/es.id.2240-david68-tux-alien.html"&gt;david68&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3249811465074764984?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3249811465074764984/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3249811465074764984' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3249811465074764984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3249811465074764984'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/como-convertir-archivos-rpm-deb-con.html' title='¿Cómo convertir archivos .rpm a deb con alien?'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-lm1t0Pb3boQ/TYtH36469vI/AAAAAAAAAtc/z_AlvLex2oQ/s72-c/david68-tux-alien.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-190344318233423095</id><published>2011-03-24T09:37:00.000-07:00</published><updated>2011-03-24T09:41:04.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nota Mental'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas web'/><title type='text'>Dos herramientas web: Online Syntax Highlighting y Simple Sintax</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-r5e6cGwrkiM/TYtyt90GVbI/AAAAAAAAAtk/253PSSBzdCk/s1600/html-logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="https://lh5.googleusercontent.com/-r5e6cGwrkiM/TYtyt90GVbI/AAAAAAAAAtk/253PSSBzdCk/s200/html-logo.png" width="140" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Online Syntax&amp;nbsp;Highlighting&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Es una herramienta que recibe código fuente de diversos lenguajes como: Java, C, Python, Perl, entre otros y nos genera "código html" del "código entregado" coloreado. Para quienes de vez en cuando publicamos algo de código, nos será muy útil.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;SimpleCode&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Esta utilidad nos permitirá insertar código html en las entradas de un blog, convirtiendo previamente el código a texto plano.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://tohtml.com/"&gt;Online Syntax Highlighting&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://www.simplebits.com/cgi-bin/simplecode.pl"&gt;SimpleCode&lt;/a&gt;&lt;/i&gt;,&lt;i&gt;&amp;nbsp;&lt;/i&gt;visto en &lt;i&gt;&lt;a href="http://nestavista.com/2008/08/insertar-cdigo-html-en-los-post-de.html#comment-form"&gt;Nestavista&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-190344318233423095?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/190344318233423095/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=190344318233423095' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/190344318233423095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/190344318233423095'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/dos-herramientas-web-online-syntax.html' title='Dos herramientas web: Online Syntax Highlighting y Simple Sintax'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-r5e6cGwrkiM/TYtyt90GVbI/AAAAAAAAAtk/253PSSBzdCk/s72-c/html-logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2584162330073009145</id><published>2011-03-20T11:19:00.000-07:00</published><updated>2011-03-20T11:19:12.951-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Como realizar un instalador con NSIS 2</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-Ek_pV515stY/TYVxwOswaBI/AAAAAAAAAtI/8HIPvBGN5Og/s1600/nsis.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="120" src="https://lh6.googleusercontent.com/-Ek_pV515stY/TYVxwOswaBI/AAAAAAAAAtI/8HIPvBGN5Og/s200/nsis.png" width="120" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;NSIS o Nullsoft Scriptable Install System es un sistema profesional de código abierto para crear instaladores en Windows. NSIS se basa en scripts y permite manejar la lógica para cada una de las más complejas tareas de instalación.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;¿Cómo empezar?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;1. Primero se debe de descargar la herramienta desde su página: &lt;a href="http://nsis.sourceforge.net/Download" style="font-style: italic;"&gt;Descargar&lt;/a&gt;, luego, lo instalamos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;2. Considerando de que tenemos a nuestra aplicación 'Mi programa' a la que crearemos el instalador en una carpeta llamada 'Mi carpeta' posiblemente con&amp;nbsp;algún&amp;nbsp;subdirectorio dentro.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;3. Creamos un archivo de texto dentro de 'Mi carpeta' con un nombre cualquiera, escogeré 'mi script.nsi', cuyo contenido será:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;blockquote&gt;!include "MUI2.nsh"&lt;/blockquote&gt;&lt;blockquote&gt;Name "Mi programa"&lt;/blockquote&gt;&lt;blockquote&gt;OutFile "Instalador.exe"&lt;/blockquote&gt;&lt;blockquote&gt;InstallDir $PROGRAMFILES\Mi programa&lt;/blockquote&gt;&lt;blockquote&gt;RequestExecutionLevel user&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;!insertmacro MUI_PAGE_WELCOME&lt;/blockquote&gt;&lt;blockquote&gt;!insertmacro MUI_PAGE_LICENSE 'Archivo de&amp;nbsp;licencia.txt'&lt;/blockquote&gt;&lt;blockquote&gt;!insertmacro MUI_PAGE_DIRECTORY&lt;/blockquote&gt;&lt;blockquote&gt;!insertmacro MUI_PAGE_INSTFILES&lt;/blockquote&gt;&lt;blockquote&gt;!insertmacro MUI_PAGE_FINISH&lt;/blockquote&gt;&lt;blockquote&gt;;Lenguajes&lt;/blockquote&gt;&lt;blockquote&gt;!insertmacro MUI_LANGUAGE "Spanish"&lt;/blockquote&gt;&lt;blockquote&gt;Section ""&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; SetOutPath $INSTDIR&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; File /r /x *.nsi *&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; WriteUninstaller "Desinstalar.exe"&lt;/blockquote&gt;&lt;blockquote&gt;SectionEnd&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Section "Uninstall"&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; Delete "$INSTDIR\*"&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; RMDir /r $INSTDIR&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; Delete "$SMPROGRAMS\Mi programa\*"&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; RMDir /r "$SMPROGRAMS\Mi programa"&lt;/blockquote&gt;&lt;blockquote&gt;SectionEnd&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Section "Accesos directos en menú inicio"&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;CreateDirectory "$SMPROGRAMS\Mi programa\Desinstalar"&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;CreateShortCut "$SMPROGRAMS\Mi programa\Desinstalar\Desinstalar.lnk" \&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; "$INSTDIR\Desinstalar.exe" "" "$INSTDIR\Desinstalar.exe" 0&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;CreateShortCut "$SMPROGRAMS\Horarios UNI\Horario UNI.lnk" \&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; "$INSTDIR\Mi programa.exe" "" "$INSTDIR\Mi programa.exe" 0&lt;/blockquote&gt;&lt;blockquote&gt;SectionEnd&lt;/blockquote&gt;&lt;/blockquote&gt;4. Guardamos, abrimos el menú NSI, seleccionamos 'Compile NSI Scripts', allí podemos seleccionar el tipo de compresión en el menú Tools - Settings (yo utilizé LZMA solid con buenos resultados).&lt;br /&gt;5. Luego seleccionamos File - Load y seleccionamos nuestro script 'mi script.nsi', esperamos ... y listo, tendremos nuestro instalador: 'Instalador.exe' en nuestra carpeta 'Mi carpeta'.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://nsis.sourceforge.net/Main_Page"&gt;NSIS&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=nsis"&gt;Adictos al trabajo&lt;/a&gt;: Realizar instaladores de forma sencilla con NSIS 2&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://san566.wordpress.com/2010/12/28/como-crear-un-instalador-con-nsis/"&gt;san566&lt;/a&gt;: Cómo crear un instalador con NSIS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2584162330073009145?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2584162330073009145/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2584162330073009145' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2584162330073009145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2584162330073009145'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/como-realizar-un-instalador-con-nsis-2.html' title='Como realizar un instalador con NSIS 2'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-Ek_pV515stY/TYVxwOswaBI/AAAAAAAAAtI/8HIPvBGN5Og/s72-c/nsis.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3625272202596731268</id><published>2011-03-19T21:54:00.000-07:00</published><updated>2011-03-20T09:56:49.755-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diseño Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Libre'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Bluefish: Un poderoso editor HTML/CSS/PHP</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-T6gBkXvyEx8/TYWA4Y8Za9I/AAAAAAAAAtM/rogPmj4soxg/s1600/bluefish-screen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img border="0" height="302" src="https://lh4.googleusercontent.com/-T6gBkXvyEx8/TYWA4Y8Za9I/AAAAAAAAAtM/rogPmj4soxg/s400/bluefish-screen.png" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Bluefish es un editor de &lt;i&gt;código abierto&lt;/i&gt; orientado a programadores y diseñadores web con muchas&amp;nbsp;opciones&amp;nbsp;para escribir scripts. Bluefish soporta algunos lenguajes de marcado y programación, centrado en la edición de sitios web dinámicos e interactivos.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Algunas de sus características:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: green; line-height: 19px;"&gt;╣&lt;/span&gt;&amp;nbsp;Ligero: Bluefish trata de ser simple y limpio, en la medida de lo posible, considerando que es un editor gráfico.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: green; line-height: 19px;"&gt;╣&lt;/span&gt;&amp;nbsp;Rápido - Bluefish inicia muy rápido (incluso en una netbook) y carga cientos de archivos en cuestión de segundos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: green; line-height: 19px;"&gt;╣&lt;/span&gt;&amp;nbsp;Interfaz: Lo que ve, es lo que usted necesita (WYSIWYG)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: green; line-height: 19px;"&gt;╣&lt;/span&gt;&amp;nbsp;Sin límite para la funcionalidad Deshacer/Rehacer&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: green; line-height: 19px;"&gt;╣&lt;/span&gt;&amp;nbsp;Edición en pantalla completa, entre otras..&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: green; line-height: 19px;"&gt;╣&lt;/span&gt;&amp;nbsp;Autorecuperación de cambios en archivos modificados antes de un 'crash', cierre de proceso o apagado.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: green; line-height: 19px;"&gt;╣&lt;/span&gt;&amp;nbsp;Incluye un mapa de todos los caracteres unicode:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: green; line-height: 19px;"&gt;╣&lt;/span&gt;&amp;nbsp;Incluye una funcionalidad de marcadores&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A continuación un video que nos da una idea de&amp;nbsp;Bluefish:&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/r370JvinLuw?rel=0" title="YouTube video player" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; text-align: justify;"&gt;&lt;span style="color: #274e13;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #274e13; font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Para instalarlo sobre (K)ubuntu:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #274e13; font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;sudo apt-get install bluefish&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span style="color: #274e13;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;a href="http://bluefish.openoffice.nl/download.html" style="color: #a9251e; text-decoration: none;"&gt;Bluefish&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://iyanmv.com/2010/02/17/bluefish-2/"&gt;iyanmv.com&lt;/a&gt;: Reseña de Bluefish 2.0&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3625272202596731268?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3625272202596731268/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3625272202596731268' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3625272202596731268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3625272202596731268'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/bluefish-un-poderoso-editor-htmlcssphp.html' title='Bluefish: Un poderoso editor HTML/CSS/PHP'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-T6gBkXvyEx8/TYWA4Y8Za9I/AAAAAAAAAtM/rogPmj4soxg/s72-c/bluefish-screen.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1641911402603982647</id><published>2011-03-17T18:11:00.000-07:00</published><updated>2011-03-17T18:11:45.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Versionamiento'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Mercurial y Google Code</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-uA2Vm18d1p4/TYKUDrJ9u0I/AAAAAAAAAsU/sgoxhcSxUhc/s1600/code_logo.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh6.googleusercontent.com/-uA2Vm18d1p4/TYKUDrJ9u0I/AAAAAAAAAsU/sgoxhcSxUhc/s1600/code_logo.gif" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href="https://lh3.googleusercontent.com/-rumIPw8WAak/TYKUD8CZbFI/AAAAAAAAAsY/Y9bDkDr7Rv8/s1600/mercurial_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="https://lh3.googleusercontent.com/-rumIPw8WAak/TYKUD8CZbFI/AAAAAAAAAsY/Y9bDkDr7Rv8/s200/mercurial_logo.png" width="83" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;¿Qué es google code Hosting?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Es un servicio de alojamiento de proyectos de código abierto (Open Source) de google, el cual tiene entre algunas de sus caracterrísticas: soportar Subversión y Mercurial, permite crear una wiki, realizar un seguimiento de los problemas, entre otras.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A continuación, describiré los pasos a seguir para alojar un proyecto en Google Code utilizando Mercurial:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;1.&lt;/span&gt;&lt;/b&gt; Debemos de tener una cuenta de google (gmail), con ella, para crear un proyecto en Google Code Hosting, nos dirigimos a: &lt;i&gt;&lt;a href="http://code.google.com/hosting/createProject"&gt;Create Project&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;2.&lt;/span&gt;&lt;/b&gt; Ingresamos los datos de nuestro proyecto: Nombre, Resumen, Descripción, Sistema de Control de Versionamiento (Mercurial en este caso), licencia a&amp;nbsp;utilizar&amp;nbsp;y algunas etiquetas.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;3.&lt;/span&gt;&lt;/b&gt; Abrimos la terminal e instalamos mercurial en caso de no tenerlo con:&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;sudo apt-get install mercurial&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;4.&lt;/span&gt;&lt;/b&gt; Ahora nos dirigimos a la pestaña source de nuestro proyecto creado, y ejecutamos el comando mostrado en la terminal, el cual sería similar a:&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;hg clone https://mi-proyecto.googlecode.com/hg/ mi-proyecto&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;5.&lt;/span&gt;&lt;/b&gt; Lo cual nos debe de haber creado una carpeta llamada mi-proyecto en nuestro directorio de trabajo, en la terminal cambiamos a esta nueva carpeta:&lt;/div&gt;&lt;blockquote&gt;cd mi-proyecto&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;e iniciamos un nuevo proyecto con mercurial&lt;/div&gt;&lt;blockquote&gt;hg init&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;6&lt;/span&gt;&lt;/b&gt;. Agregamos los archivos de nuestro proyecto dentro de la nueva carpeta creada, y editamos el archivo hgrc, escribiendo en la terminal:&lt;/div&gt;&lt;blockquote&gt;kate .hg/hgrc &amp;nbsp; &amp;nbsp;&amp;lt;- si usamos kde, o&lt;br /&gt;gedit .hg/hgrc &amp;nbsp; &amp;lt;- si usamos gnome&lt;/blockquote&gt;Nuestro archivo hgrc debe de quedar similar a:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;[paths]&lt;br /&gt;default = https://mi-proyecto.googlecode.com/hg/&lt;br /&gt;[ui]&lt;br /&gt;username = mi-username &lt;mi-correo@mail.com&gt;&lt;br /&gt;[auth]&lt;br /&gt;doc.prefix = mi-proyecto.googlecode.com/hg&lt;br /&gt;doc.username = mi-usuario@gmail.com&lt;br /&gt;doc.password = mi-password&lt;br /&gt;doc.schemes = http https&lt;br /&gt;[trusted]&lt;br /&gt;users= *&lt;br /&gt;groups= *&lt;/mi-correo@mail.com&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;7.&lt;/b&gt;&lt;/span&gt; Una vez que hallamos copiado los archivos, le informamos a mercurial que debe de agregarlos:&lt;/div&gt;&lt;blockquote&gt;hg add&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;8.&lt;/span&gt;&lt;/b&gt; Podemos observar el estado de los archivos con:&lt;/div&gt;&lt;blockquote&gt;hg status&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;9. Observar los cambios exactos con:&lt;/div&gt;&lt;blockquote&gt;hg diff&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;10. Actualizar los cambios con:&lt;/div&gt;&lt;blockquote&gt;hg commit&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;debemos de ingresar una breve descripción de los cambios realizados (1er update por ejemplo) y grabar el archivo.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;11. Subimos nuestros cambios&lt;/div&gt;&lt;blockquote&gt;hg push&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;12. Y en supuesto, con ello tendremos nuestro proyecto listo, en caso de que&amp;nbsp;algún&amp;nbsp;comando 'hg' falle, podemos probar a realizarlo con 'sudo'. #espero no haberme equivocado en&amp;nbsp;ningún&amp;nbsp;paso&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&lt;a href="http://code.google.com/p/support/wiki/GettingStarted"&gt;Google Code&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;: Wiki&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&amp;gt;&amp;gt; &lt;i&gt;&lt;a href="http://mercurial.selenic.com/wiki/SpanishTutorial"&gt;Tutorial&lt;/a&gt;&lt;/i&gt; de Mercurial en Español&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://goo.gl/OM9Og"&gt;Mercurial Usage&lt;/a&gt;&lt;/i&gt;: Resumen del funcionamiento de mercurial.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1641911402603982647?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1641911402603982647/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1641911402603982647' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1641911402603982647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1641911402603982647'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/mercurial-y-google-code.html' title='Mercurial y Google Code'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-uA2Vm18d1p4/TYKUDrJ9u0I/AAAAAAAAAsU/sgoxhcSxUhc/s72-c/code_logo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5631421442573289706</id><published>2011-03-15T22:31:00.000-07:00</published><updated>2011-03-18T11:37:45.081-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Decoradores en Python</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Video muy instructivo de una charla realizada en el 1er Pyday en Rafaela/Argentina por Juanjo Conti.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;iframe frameborder="0" height="300" src="http://player.vimeo.com/video/16976108" width="400"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Más sobre decoradores en Python:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; &lt;i&gt;&lt;a href="http://www.juanjoconti.com.ar/2008/07/11/decoradores-en-python-i/"&gt;En borrador permanente&lt;/a&gt;&amp;nbsp;: Serie de 3 artículos sobre decoradores&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://olivaresa.wordpress.com/2010/03/18/otro-cuento-sobre-decoradores-en-python/#comment-31"&gt;aox Weblog&lt;/a&gt;&amp;nbsp;: Introducción a los decoradores.&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5631421442573289706?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5631421442573289706/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5631421442573289706' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5631421442573289706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5631421442573289706'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/decoradores-en-python.html' title='Decoradores en Python'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-8838433058692160432</id><published>2011-03-13T18:02:00.000-07:00</published><updated>2011-08-14T21:19:42.712-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Crear archivos PDF con python y PyFpdf</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-vJWLR53msx0/TX1WJj3zGhI/AAAAAAAAArM/PxkXA3I-jRs/s1600/pyfpdf.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="63" src="https://lh3.googleusercontent.com/-vJWLR53msx0/TX1WJj3zGhI/AAAAAAAAArM/PxkXA3I-jRs/s400/pyfpdf.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue',Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;En vista de que Reportlab me pareció una opción un tanto complicada aunque también más completa, traté con otra opción para generar archivos pdf en python:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Pypdf: Es una libreria para generar archivos pdf portada desde PHP (véase FPDF)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Características Principales:&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;* Fácil de usar y de extender&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;* No necesita dependencias externas (PIL para el soporte JPG es opcional)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;* Código pequeño y compacto, útil para probar nuevas características.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Permite agregar texto en la posición deseada, alinearlo, cambiar de fuente, manejar tablas, editar algunas propiedades del archivo como autor &amp;nbsp;o Título, adicionar imágenes, manejar múltiples páginas . entre otras. Es muy útil para crear archivos PDF Sencillos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Para más información,se puede consultar su&amp;nbsp;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;a href="http://code.google.com/p/pyfpdf/wiki/Tutorial"&gt;Tutorial&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; &lt;a href="http://code.google.com/p/pyfpdf/"&gt;PyFpdf&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-8838433058692160432?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/8838433058692160432/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=8838433058692160432' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8838433058692160432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8838433058692160432'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/crear-archivos-pdf-con-python-y-pyfpdf.html' title='Crear archivos PDF con python y PyFpdf'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-vJWLR53msx0/TX1WJj3zGhI/AAAAAAAAArM/PxkXA3I-jRs/s72-c/pyfpdf.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-9183220952536638873</id><published>2011-03-13T17:59:00.000-07:00</published><updated>2011-03-18T11:46:01.118-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Poesía'/><title type='text'>Una Epístola</title><content type='html'>&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;No he de callar, por más que con el dedo,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Ya tocando la boca, ya la frente,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Me representes o silencio o miedo.&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;¿No ha de haber un espíritu valiente?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;¿Siempre se ha de sentir lo que se dice?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;¿Nunca se ha de decir lo que se siente?&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Hoy sin miedo que libre escandalice&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Puede hablar el ingenio, asegurado&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;De que mayor poder le atemorice.&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Extraido de: Epístola Satírica y Censoria&amp;nbsp;contra las costumbres presentes de los castellanos&amp;nbsp;escrita al Conde-Duque de Olivares de Francisco de Quevedo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;a href="http://www.camagueycuba.org/cienpoesias/54.html"&gt;Epístola completa&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-9183220952536638873?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/9183220952536638873/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=9183220952536638873' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/9183220952536638873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/9183220952536638873'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/una-epistola.html' title='Una Epístola'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-4469929231094606110</id><published>2011-03-13T11:14:00.000-07:00</published><updated>2011-03-13T11:14:50.133-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>Activar el teclado numérico al iniciar (K)Ubuntu</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-mWeOrX1yNuk/TX0I8cV2UeI/AAAAAAAAArI/ilRzOiqtdKw/s1600/NumLock.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh5.googleusercontent.com/-mWeOrX1yNuk/TX0I8cV2UeI/AAAAAAAAArI/ilRzOiqtdKw/s200/NumLock.png" width="157" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Para solucionar este 'pequeño' problema:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;1.Abrimos una terminal y procedemos a instalar el paquete numlockx:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;2.Configurar el teclado:&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;sudo apt-get install numlockx&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Y listo ..&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;En caso de que el problema persista, editamos el archivo gdm en ubuntu o kdm para kubuntu:&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;sudo kate /etc/kde4/kdm/Xsetup&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Añadiendo el siguiente texto:&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;if [ -x /usr/bin/numlockx ]; then&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;/usr/bin/numlockx on&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;fi&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; Visto en &lt;i&gt;&lt;a href="http://iloo.wordpress.com/2010/11/03/kubuntu-activar-teclado-numerico-al-iniciar/"&gt;Iloo&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-4469929231094606110?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/4469929231094606110/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=4469929231094606110' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4469929231094606110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/4469929231094606110'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/activar-el-teclado-numerico-al-iniciar.html' title='Activar el teclado numérico al iniciar (K)Ubuntu'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-mWeOrX1yNuk/TX0I8cV2UeI/AAAAAAAAArI/ilRzOiqtdKw/s72-c/NumLock.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-7326195880516266911</id><published>2011-03-08T16:23:00.000-08:00</published><updated>2011-03-08T16:23:19.310-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Crear archivos PDF con python y ReportLab</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span id="goog_1686586737"&gt;&lt;/span&gt;&lt;span id="goog_1686586740"&gt;&lt;/span&gt;&lt;a href="http://www.python.org/"&gt;&lt;span id="goog_1686586744"&gt;&lt;/span&gt;&lt;span id="goog_1686586748"&gt;&lt;/span&gt;&lt;img border="0" height="96" src="https://lh3.googleusercontent.com/-HYYiZcakczM/TXa5Z-85HEI/AAAAAAAAAq8/xEqxX4n2E_Y/s200/python-logo+%25281%2529.png" width="96" /&gt;&lt;span id="goog_1686586749"&gt;&lt;/span&gt;&lt;span id="goog_1686586745"&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span id="goog_1686586741"&gt;&lt;/span&gt;&lt;span id="goog_1686586738"&gt;&lt;/span&gt;&lt;span id="goog_1686586753"&gt;&lt;/span&gt;&lt;span id="goog_1686586757"&gt;&lt;/span&gt;&lt;span id="goog_1686586760"&gt;&lt;/span&gt;&lt;a href="http://www.reportlab.com/software/opensource/"&gt;&lt;span id="goog_1686586766"&gt;&lt;/span&gt;&lt;span id="goog_1686586770"&gt;&lt;/span&gt;&lt;img border="0" height="96" src="https://lh3.googleusercontent.com/-PvUNZHfRHrE/TXa4MSq_upI/AAAAAAAAAq0/pbZQD9Enqlc/s200/reportlab.png" width="150" /&gt;&lt;span id="goog_1686586771"&gt;&lt;/span&gt;&lt;span id="goog_1686586767"&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span id="goog_1686586761"&gt;&lt;/span&gt;&lt;span id="goog_1686586758"&gt;&lt;/span&gt;&lt;span id="goog_1686586754"&gt;&lt;/span&gt;&lt;span id="goog_1686586775"&gt;&lt;/span&gt;&lt;a href="http://es.wikipedia.org/wiki/PDF"&gt;&lt;span id="goog_1686586779"&gt;&lt;/span&gt;&lt;img border="0" height="96" src="https://lh5.googleusercontent.com/-PAFrJ5kjOB4/TXa4nQjxqjI/AAAAAAAAAq4/tz9oFUGCdUg/s200/pdf_logo.png" width="96" /&gt;&lt;span id="goog_1686586780"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span id="goog_1686586776"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Ahora comparto lo que aprendí hoy, a crear archivos pdf con Python, para ello utilizaremos el conjunto de&amp;nbsp;librerías&amp;nbsp;Opensource de ReportLab:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;1. Se necesita tener &lt;b&gt;Python&lt;/b&gt; instalado, y en caso de que deseemos incluir imágenes debemos de instalar la&amp;nbsp;&lt;i&gt;Librería&amp;nbsp;de Imágenes de Python&lt;/i&gt; (Python Imaging Library) que se pueden encontrar en el gestor de paquetes de (K)Ubuntu como "python-imaging"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;2. Luego nos dirigimos a la web de &lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;a href="http://www.reportlab.com/software/opensource/rl-toolkit/download/"&gt;&lt;span id="goog_1686586784"&gt;&lt;/span&gt;&lt;span id="goog_1686586787"&gt;&lt;/span&gt;Report&lt;span id="goog_1686586790"&gt;&lt;/span&gt;&lt;span id="goog_1686586791"&gt;&lt;/span&gt;Lab&lt;/a&gt;&amp;nbsp;&lt;span id="goog_1686586785"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;y descargamos el archivo .tar, descomprimimos e instalamos con:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;sudo python setup.py install&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;3. Una vez instalado, podemos realizar una prueba sencilla:&lt;/span&gt;&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;from&lt;/span&gt; reportlab.pdfgen &lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; canvas&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;def&lt;/span&gt; helloWorld(c):&lt;br /&gt;    c.drawString(250,420,&lt;span style="color: #2a00ff;"&gt;"Ubicado en el centro?"&lt;/span&gt;)&lt;br /&gt;    c.drawString(0,0,&lt;span style="color: #2a00ff;"&gt;"Hola Mundo"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;c = canvas.Canvas(&lt;span style="color: #2a00ff;"&gt;"HolaMundo.pdf"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;helloWorld(c)&lt;br /&gt;c.showPage()&lt;br /&gt;c.save()&lt;br /&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;4. Y al ejecutar el código anterior, deberiamos de obtener un documento pdf que se ve similar a esto:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-owy3rFIrG_8/TXbFTCgslZI/AAAAAAAAArE/eYRoX4-ZVvY/s1600/reportlabTest.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh3.googleusercontent.com/-owy3rFIrG_8/TXbFTCgslZI/AAAAAAAAArE/eYRoX4-ZVvY/s200/reportlabTest.png" width="141" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;5. Para mayor información podemos leer la documentación oficial: &lt;b&gt;&lt;a href="http://www.reportlab.com/software/documentation/"&gt;&lt;span id="goog_1686586803"&gt;&lt;/span&gt;docs&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;a href="http://www.reportlab.com/software/documentation/"&gt;&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Visto en: &lt;i&gt;&lt;a href="http://elviajedelnavegante.blogspot.com/2010/03/crear-documentos-pdf-en-python-y-1.html"&gt;&lt;span id="goog_1686586807"&gt;&lt;/span&gt;El viaje del Navegante&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;a href="http://www.reportlab.com/software/opensource/"&gt;&lt;span id="goog_1686586810"&gt;&lt;/span&gt;ReportLabs&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-7326195880516266911?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/7326195880516266911/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=7326195880516266911' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7326195880516266911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7326195880516266911'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/crear-archivos-pdf-con-python-y.html' title='Crear archivos PDF con python y ReportLab'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-HYYiZcakczM/TXa5Z-85HEI/AAAAAAAAAq8/xEqxX4n2E_Y/s72-c/python-logo+%25281%2529.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6712149371111148285</id><published>2011-03-06T16:26:00.000-08:00</published><updated>2011-03-06T16:26:05.906-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Documentación'/><title type='text'>Epydoc: Como documentar en Python de manera sencilla</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-rpK5EY1-Ess/TXQbRhoeqII/AAAAAAAAAqw/nPnvxJh7SpE/s1600/epydoc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="55" src="https://lh5.googleusercontent.com/-rpK5EY1-Ess/TXQbRhoeqII/AAAAAAAAAqw/nPnvxJh7SpE/s320/epydoc.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Epydoc es una herramienta que nos ayuda a generar la documentación necesaria para nuestros proyectos en Python . Utiliza un lenguaje de marcado ligero para docstring llamado &lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;a href="http://epydoc.sourceforge.net/epytext.html"&gt;epytext&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt; en el proceso de documentación.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Podemos instalar epydoc en (K)ubuntu a través del gestor de paquetes (buscando python-epydoc) o a través de la terminal con la siguiente orden:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;&lt;em style="font-style: normal;"&gt;sudo apt&lt;/em&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;-&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;&lt;em style="font-style: normal;"&gt;get install&lt;/em&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;&amp;nbsp;python-&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;&lt;em style="font-style: normal;"&gt;epydoc&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; line-height: 15px;"&gt;Un ejemplo de la entrada que usa epydoc, sería el siguiente:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; line-height: normal;"&gt;&lt;a href="http://draft.blogger.com/post-edit.g?blogID=4883090113279351504&amp;amp;postID=6712149371111148285" name="fieldlist"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="1" cellpadding="3" cellspacing="0" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: black; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 1px; border-right-color: black; border-right-style: solid; border-right-width: 1px; border-top-color: black; border-top-style: solid; border-top-width: 1px; color: black;"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td style="background-attachment: initial; background-clip: initial; background-color: #e8f0f8; background-image: initial; background-origin: initial; border-bottom-color: black; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 1px; border-right-color: black; border-right-style: solid; border-right-width: 1px; border-top-color: black; border-top-style: solid; border-top-width: 1px;"&gt;&lt;pre style="color: black;"&gt;&lt;code class="keyword" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #705000;"&gt;def&lt;/code&gt; &lt;code class="function" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: navy;"&gt;example&lt;/code&gt;():&lt;br /&gt;    &lt;code class="string" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #007000;"&gt;"""&lt;br /&gt;    &lt;code class="field" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #007060;"&gt;@param x:&lt;/code&gt; Esta es la descripción del parámetro x&amp;nbsp;en&lt;/code&gt;&lt;/pre&gt;&lt;pre style="color: black;"&gt;&lt;code class="string" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #007000;"&gt;        una función.&lt;br /&gt;        Note que la descripción está indentada cuatro&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre style="color: black;"&gt;&lt;code class="string" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #007000;"&gt;        espacios.&lt;br /&gt;    &lt;code class="field" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #007060;"&gt;@type x:&lt;/code&gt; Esta es una descripción del tipo de x.&lt;br /&gt;    &lt;code class="field" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #007060;"&gt;@return:&lt;/code&gt; Esta es una descripción del valor de retorno&lt;/code&gt;&lt;/pre&gt;&lt;pre style="color: black;"&gt;&lt;code class="string" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #007000;"&gt;        de la&lt;/code&gt;&lt;span class="Apple-style-span" style="color: #007000;"&gt; función.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="color: black;"&gt;&lt;code class="string" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #007000;"&gt;&lt;br /&gt;        Esto contiene dos párrafos.&lt;br /&gt;    """&lt;/code&gt;&lt;br /&gt;    &lt;i&gt;[...]&lt;/i&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;Y la salida en el documento HTML o PDF generado sería:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;table border="1" cellpadding="3" cellspacing="0" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: black; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 1px; border-right-color: black; border-right-style: solid; border-right-width: 1px; border-top-color: black; border-top-style: solid; border-top-width: 1px; color: black;"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td style="background-attachment: initial; background-clip: initial; background-color: #e8f0f8; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: black; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 1px; border-right-color: black; border-right-style: solid; border-right-width: 1px; border-top-color: black; border-top-style: solid; border-top-width: 1px; color: black;"&gt;&lt;b&gt;Parameters:&lt;/b&gt;&lt;br /&gt;&lt;dl&gt;&lt;dd&gt;&lt;code&gt;&lt;b&gt;x&lt;/b&gt;&lt;/code&gt;&amp;nbsp;- Esta es la descripción del parámetro x en         una función. Note que la descripción está indentada cuatro espacios.&amp;nbsp;&lt;i&gt;(type=Esta es una descripción del tipo de x.)&lt;/i&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl&gt;&lt;dt&gt;&lt;b&gt;Returns:&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;Esta es una descripción del valor de retorno de la función.Esto contiene dos párrafos.&lt;/dd&gt;&lt;/dl&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;En fin, una muy buena herramienta para la tarea de generar documentación.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;&lt;a href="http://epydoc.sourceforge.net/"&gt;Epydoc&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6712149371111148285?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6712149371111148285/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6712149371111148285' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6712149371111148285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6712149371111148285'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/epydoc-como-documentar-en-python-de.html' title='Epydoc: Como documentar en Python de manera sencilla'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-rpK5EY1-Ess/TXQbRhoeqII/AAAAAAAAAqw/nPnvxJh7SpE/s72-c/epydoc.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-5831978711760099133</id><published>2011-03-04T21:11:00.000-08:00</published><updated>2011-03-04T21:11:12.040-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Crear y Ejecutar archivo JAR</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-9Pvu-UF4YUk/TXHEprKX8xI/AAAAAAAAAqU/ChdzDOko7Tk/s1600/javalogosolo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh3.googleusercontent.com/-9Pvu-UF4YUk/TXHEprKX8xI/AAAAAAAAAqU/ChdzDOko7Tk/s200/javalogosolo.jpg" width="161" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Para aquello a quienes crean un .jar e intentan ejecutarlo les aparece un mensaje similar a:&amp;nbsp;&lt;i&gt;&lt;b&gt;Failed to load Main-Class manifest attribute from ..&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Crearemos un archivo jar a partir de dos archivos: HolaMundo.class y HolaMundoTest.class, donde el archivo HolaMundoTest.class es el que contiene el método main.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;1. Creamos un archivo llamado Manifest.txt que contendrá:&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Manifest-Version: 1.0&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Created-By: 1.6.0 (Sun Microsystems Inc.)&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Main-Class: HolaMundoTest&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Observe que HolaMundoTest es quien contiene el método main.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;2. Ingresamos los siguientes comandos en la terminal (considerando que estamos en la carpeta de trabajo):&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;jar -cfm archivo_salida.jar Manifest.txt HolaMundo.class HolaMundoTest.class&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;3. Deberíamos obtener un nuevo archivo llamado: &lt;i&gt;archivo_salida.jar&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;4. Para ejecutar nuestro archivo .jar, escribimos:&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;java -jar archivo_salida.jar&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;5. !A jugar!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Leido en &lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;i&gt;&lt;a href="http://download.oracle.com/javase/tutorial/deployment/jar/appman.html"&gt;TheJavaTutorials&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-5831978711760099133?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/5831978711760099133/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=5831978711760099133' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5831978711760099133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/5831978711760099133'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/crear-y-ejecutar-archivo-jar.html' title='Crear y Ejecutar archivo JAR'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-9Pvu-UF4YUk/TXHEprKX8xI/AAAAAAAAAqU/ChdzDOko7Tk/s72-c/javalogosolo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1313758194550626941</id><published>2011-03-03T21:31:00.000-08:00</published><updated>2011-03-03T21:31:18.592-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nota Mental'/><category scheme='http://www.blogger.com/atom/ns#' term='PyQt'/><title type='text'>Como remover elementos de un Layout con PyQT</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Para eliminar elementos como QLabel, QComboBox, QCheckBox, ... después de intentar varias cosas, solo me funcionó:&lt;/span&gt;&lt;/div&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;while&lt;/span&gt; gridLayout.count()&amp;gt;0:&lt;br /&gt;    i=gridLayout.takeAt(0)&lt;br /&gt;    m=i.widget()&lt;br /&gt;    m.close()&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Puede que ayude: &lt;a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwidget.html"&gt;QWidget&lt;/a&gt; Class Reference&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1313758194550626941?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1313758194550626941/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1313758194550626941' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1313758194550626941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1313758194550626941'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/como-remover-elementos-de-un-layout-con.html' title='Como remover elementos de un Layout con PyQT'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-7554304994902083653</id><published>2011-03-02T21:53:00.000-08:00</published><updated>2011-03-02T21:57:21.984-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>Compás y Regla</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-4Gu8ZvZ6mMc/TW8opSgKauI/AAAAAAAAAqA/qkLYPg31_64/s1600/compass_and_straightedge.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="hola" border="0" height="298" src="https://lh3.googleusercontent.com/-4Gu8ZvZ6mMc/TW8opSgKauI/AAAAAAAAAqA/qkLYPg31_64/s320/compass_and_straightedge.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;blockquote&gt;&lt;div style="font-family: &amp;quot;Helvetica Neue&amp;quot;,Arial,Helvetica,sans-serif;"&gt;He aprendido en la secundaria lo que los geómetras descubrieron hace mucho tiempo: usando solo un compás y una regla, es imposible construir amigos.&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;b style="color: #38761d; font-family: &amp;quot;Helvetica Neue&amp;quot;,Arial,Helvetica,sans-serif;"&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Helvetica Neue&amp;quot;,Arial,Helvetica,sans-serif;"&gt; &lt;a href="http://xkcd.com/866/"&gt;xkcd.com&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-7554304994902083653?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/7554304994902083653/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=7554304994902083653' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7554304994902083653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/7554304994902083653'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/compas-y-regla.html' title='Compás y Regla'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-4Gu8ZvZ6mMc/TW8opSgKauI/AAAAAAAAAqA/qkLYPg31_64/s72-c/compass_and_straightedge.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1710045751370458498</id><published>2011-03-01T18:29:00.000-08:00</published><updated>2011-03-02T22:51:11.338-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>DBUS y Python</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: large;"&gt;D-Bus&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Desktop Bus es un sistema de comunicación entre procesos, una manera sencilla por la que las aplicaciones puedan comunicarse entre sí en sistemas Linux -Unix . Desarrollado como parte del proyecto freedesktop.org.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: large;"&gt;Arquitectura:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;1. Una biblioteca: libdbus, que permite a las aplicaciones conectarse entre sí e intercambiar mensajes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;2. Un demonio ejecutable que funciona como bus de mensajes, construido sobre libdbus que permite conectarse a múltiples aplicaciones. El demonio puede enrutar mensajes desde una aplicación hacia cero o más aplicaciones.&amp;nbsp;Hay dos tipos de demonios de bus:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-N-yHQi4-YFg/TW2R2JB2dDI/AAAAAAAAAp4/DyUFvPZTOAM/s1600/figure1-sessionbus-250x123.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img height="98" src="https://lh4.googleusercontent.com/-N-yHQi4-YFg/TW2R2JB2dDI/AAAAAAAAAp4/DyUFvPZTOAM/s200/figure1-sessionbus-250x123.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;D-Bus SessionBus&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-XUq-BYfMFyU/TW2R24CtxxI/AAAAAAAAAp8/549Roq5lYuY/s1600/figure2-systembus-250x123.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img height="98" src="https://lh6.googleusercontent.com/-XUq-BYfMFyU/TW2R24CtxxI/AAAAAAAAAp8/549Roq5lYuY/s200/figure2-systembus-250x123.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;D-Bus SystemBus&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&amp;nbsp; &lt;br /&gt;&lt;div align="center"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;a href="https://lh6.googleusercontent.com/-XUq-BYfMFyU/TW2R24CtxxI/AAAAAAAAAp8/549Roq5lYuY/s1600/figure2-systembus-250x123.png"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;3. Bibliotecas adaptadas o implementaciones para entornos de aplicaciones en particular. Por ejemplo: libdbus-glib y libdbus-qt&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;=====&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Para observar los mensajes que pasan a través del bus de mensajes D-Bus, podemos abrir la terminal y utilizar el comando: dbus-monitor&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;=====&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: large;"&gt;Ejemplos en Python 2.6:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;1.&lt;/b&gt; Mostrando una notificación en el escritorio:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; dbus&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;"Inicializando el bus de tipo session"&lt;/span&gt;&lt;br /&gt;bus = dbus.SessionBus()&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;"Obteniendo el objeto Notifications"&lt;/span&gt;&lt;br /&gt;notify_object = bus.get_object(&lt;span style="color: #2a00ff;"&gt;'org.freedesktop.Notifications'&lt;/span&gt;,&lt;span style="color: #2a00ff;"&gt;'/org/freedesktop/Notifications'&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="background-attachment: scroll; background-clip: initial; background-color: white; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat repeat;"&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;"Obteniendo una interface de tipo Notificatios del objecto"&lt;/span&gt;&lt;br /&gt;notify_interface = dbus.Interface(notify_object,&lt;span style="color: #2a00ff;"&gt;'org.freedesktop.Notifications'&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;"Lanzando la notificacion"&lt;/span&gt;&lt;br /&gt;noti_id = notify_interface.Notify(&lt;span style="color: #2a00ff;"&gt;"DBus Test"&lt;/span&gt;, 0, &lt;span style="color: #2a00ff;"&gt;""&lt;/span&gt;, &lt;span style="color: #2a00ff;"&gt;"Hola mundo!"&lt;/span&gt;,&lt;span style="color: #2a00ff;"&gt;'Solo un saludo!'&lt;/span&gt;, &lt;span style="color: #2a00ff;"&gt;''&lt;/span&gt;,{},10000 )&lt;/pre&gt;&lt;pre style="background-attachment: scroll; background-clip: initial; background-color: white; background-image: none; background-origin: initial; background-position: 0% 0%; background-repeat: repeat repeat;"&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #2a00ff;"&gt;"Tenemos la notificacion con el ID: "&lt;/span&gt;,noti_id&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;/pre&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;Al ejecutar el código anterior, debemos de obtener una notificación en el escritorio que nos dice: "Hola Mundo, Solo un saludo"&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;=====&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; white-space: normal;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; white-space: normal;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; white-space: normal;"&gt;&lt;b&gt;2. &lt;/b&gt;Manejando al reproductor de audio: Para utilizar un objeto, debemos de conocerlo, D-Bus obliga a todos los objetos a usar Introspección que es una manera de informar sobre los métodos e interfaces que implementa; esto se verá en los siguientes ejemplos (teniendo abierto el respectivo reproductor):&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;*&lt;/b&gt; Ya sea &lt;i&gt;Amarok&lt;/i&gt;:&lt;/span&gt;&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; dbus&lt;br /&gt;bus = dbus.SessionBus()&lt;br /&gt;amarok = bus.get_object(&lt;span style="color: #2a00ff;"&gt;"org.kde.amarok"&lt;/span&gt;, &lt;span style="color: #2a00ff;"&gt;"/Player"&lt;/span&gt;) &lt;br /&gt;&lt;span style="color: #3f7f59;"&gt;#Obtenemos una lista de los métodos e Interfaces&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; amarok.Introspect()&lt;br /&gt;amarok.Play()&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;*&lt;/b&gt; O &lt;i&gt;Clementine&lt;/i&gt;:&lt;/span&gt;&lt;/div&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;import&lt;/span&gt; dbus&lt;br /&gt;bus = dbus.SessionBus()&lt;br /&gt;clem = bus.get_object(&lt;span style="color: #2a00ff;"&gt;"org.mpris.clementine"&lt;/span&gt;, &lt;span style="color: #2a00ff;"&gt;"/Player"&lt;/span&gt;) &lt;br /&gt;&lt;span style="color: #7f0055; font-weight: bold;"&gt;print&lt;/span&gt; clem.Introspect()&lt;br /&gt;clem.Play()&lt;br /&gt;clem.ShowOSD()&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Ambos códigos nos permiten conocer como interactúan estos dos reproductores con D-Bus.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: 'Times New Roman'; text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;=====&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: large;"&gt;Recursos Empleados:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; &lt;a href="http://es.scribd.com/doc/49811766/DBus-y-La-Serpiente-LInux-Magazine"&gt;D-Bus y la Serpiente&lt;/a&gt;: Artículo de Linux Magazine&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; &lt;a href="http://es.wikipedia.org/wiki/D-Bus"&gt;Wikipedia&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; FreeDesktop &lt;a href="http://www.freedesktop.org/wiki/Software/dbus"&gt;D-Bus&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; &lt;a href="http://en.wikibooks.org/wiki/Python_Programming/Dbus"&gt;Wikibooks&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; &lt;a href="http://blog.etxea.net/index.php/2007/12/17/como-mandar-notificaciones-a-traves-dbus-en-python"&gt;Moeblog&lt;/a&gt;: Notificaciones a través de D-Bus&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; D-Bus &lt;a href="http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html"&gt;Python Tutorial&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; &lt;a href="http://wiki.python.org/moin/DbusExamples"&gt;Wiki.python&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; &lt;a href="http://pythonmania.wordpress.com/2008/09/08/notificaciones-con-dbus-y-python/"&gt;PythonMania&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; &lt;a href="http://excid3.com/blog/2010/05/an-actually-decent-python-dbus-tutorial/"&gt;Excid3.com&lt;/a&gt;: Un tutorial decente sobre D-Bus (En inglés)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; Ubuntu Forums: &lt;a href="http://ubuntuforums.org/showthread.php?t=1095195"&gt;Python DBus&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=1095195"&gt;&lt;/a&gt;&amp;gt;&amp;gt; LinuxForu: &lt;a href="http://www.linuxforu.com/teach-me/d-bus-the-smart-simple-powerful-ipc/"&gt;DBus&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;gt;&amp;gt; &lt;a href="http://blackshell.usebox.net/archive/dbus-otra-vez.html"&gt;BlackShell&lt;/a&gt;: D-Bus otra vez&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1710045751370458498?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1710045751370458498/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1710045751370458498' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1710045751370458498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1710045751370458498'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/03/dbus-y-python.html' title='DBUS y Python'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-N-yHQi4-YFg/TW2R2JB2dDI/AAAAAAAAAp4/DyUFvPZTOAM/s72-c/figure1-sessionbus-250x123.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2864244411790702884</id><published>2011-02-28T05:29:00.000-08:00</published><updated>2011-02-28T05:29:58.477-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diapositiva'/><category scheme='http://www.blogger.com/atom/ns#' term='Motivación'/><title type='text'>!Mamá, que trabajo en NINTENDO! ; Hay vida después de la facultad</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;object height="355" id="__sse4349874" width="425"&gt; &lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=charlagranada-100529091045-phpapp01&amp;stripped_title=charla-granada&amp;userName=pmstrad" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse4349874" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=charlagranada-100529091045-phpapp01&amp;stripped_title=charla-granada&amp;userName=pmstrad" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Presentación de &lt;a href="http://twitter.com/#!/pmstrad"&gt;&lt;i&gt;Pablo Muñoz Sánchez&lt;/i&gt;&lt;/a&gt; realizada en Granada sobre su experiencia como traductor.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Su blog: &lt;i&gt;&lt;a href="http://algomasquetraducir.com/"&gt;AlgoMásQueTraducir&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2864244411790702884?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2864244411790702884/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2864244411790702884' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2864244411790702884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2864244411790702884'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/mama-que-trabajo-en-nintendo-hay-vida.html' title='!Mamá, que trabajo en NINTENDO! ; Hay vida después de la facultad'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2061158732667356162</id><published>2011-02-25T21:29:00.000-08:00</published><updated>2011-02-25T21:29:58.666-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Instalar Django en (K)Ubuntu</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-C7ce4ebsFRM/TWiOggcWRyI/AAAAAAAAApQ/KcyZqUomr0A/s1600/django-logo-positive.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="111" src="https://lh5.googleusercontent.com/-C7ce4ebsFRM/TWiOggcWRyI/AAAAAAAAApQ/KcyZqUomr0A/s320/django-logo-positive.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Django es un framework de desarrollo web de código abierto, escrito en Python, que cumple en cierta medida el paradigma del Modelo Vista Controlador.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;u&gt;Para instalarlo:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;1. Considerando que tenemos Python 2.4 o superior ya instalado.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;2. Descargamos el archivo .tar de la web de django: &lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&lt;a href="http://www.djangoproject.com/download/"&gt;Descargar&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;3. Descomprimos el archivo, sea usando el descompresor o mediante la terminal:&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;tar xzvf Django-1.2.5.tar.gz&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;4. En la terminal, cambiamos el directorio de trabajo a la carpeta descargada:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;code&gt;cd Django-1.2.5&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;5. Instalamos:&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;code&gt;sudo python setup.py install&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt; Project&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; &lt;a href="http://es.wikipedia.org/wiki/Django"&gt;Django&lt;/a&gt; en Wikipedia&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2061158732667356162?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2061158732667356162/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2061158732667356162' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2061158732667356162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2061158732667356162'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/instalar-django-en-kubuntu.html' title='Instalar Django en (K)Ubuntu'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-C7ce4ebsFRM/TWiOggcWRyI/AAAAAAAAApQ/KcyZqUomr0A/s72-c/django-logo-positive.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-6381700821080267000</id><published>2011-02-24T06:48:00.000-08:00</published><updated>2011-02-24T06:51:53.046-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Libre'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Tucan Manager</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-lD_hqYUGTzM/TWZsDqL50gI/AAAAAAAAApM/9oP-5t1cg5k/s1600/tucan.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="103" src="http://4.bp.blogspot.com/-lD_hqYUGTzM/TWZsDqL50gI/AAAAAAAAApM/9oP-5t1cg5k/s320/tucan.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;"Intercambio de ficheros, libre y abierto, como debería ser"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Tucan&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Manager es una&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;aplicación&lt;/span&gt;&amp;nbsp;gratuita&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;para compartir archivos &lt;/span&gt;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;diseñado&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;para&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Hosters&lt;/span&gt;&amp;nbsp;de&amp;nbsp;&lt;span class="hps atn" title="Haz clic para obtener traducciones alternativas"&gt;1-&lt;/span&gt;&lt;span class="" title="Haz clic para obtener traducciones alternativas"&gt;Click&lt;/span&gt;&lt;span class="" title="Haz clic para obtener traducciones alternativas"&gt;.&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Rápido y&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;ligero&lt;/span&gt;&lt;span title="Haz clic para obtener traducciones alternativas"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Tucan&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;es&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;totalmente&amp;nbsp;&lt;/span&gt;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;de código abierto&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;y compatible&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;con&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Windows&lt;/span&gt;&lt;span title="Haz clic para obtener traducciones alternativas"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;GNU&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;/&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Linux&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;y&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;MacOSX&lt;/span&gt;&lt;span title="Haz clic para obtener traducciones alternativas"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Con el&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;soporte&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;modular de&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Tucán&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;para&lt;/span&gt;&amp;nbsp;los&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;Hosters&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;principales (Megaupload - Rapidshare - 4Shared - Hotfile - Fileserve - Zshare..)&lt;/span&gt;&lt;span class="" title="Haz clic para obtener traducciones alternativas"&gt;, la resolución de&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;captcha&lt;/span&gt;&lt;span title="Haz clic para obtener traducciones alternativas"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;enlaces&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;intercambiables&lt;/span&gt;&lt;span title="Haz clic para obtener traducciones alternativas"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;cuentas&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;premium &lt;/span&gt;&lt;span title="Haz clic para obtener traducciones alternativas"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;y&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;muchas&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;otras grandes características.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;=====&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="hps" title="Haz clic para obtener traducciones alternativas"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;El texto anterior fue una traducción libre de su página web, a mi me va bien con este programa, uso la versión 0.3.10 Alfa que compile a partir del código, &amp;nbsp;ya que en los repositorios de Ubuntu aun solo está disponible la versión 0.3.9&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;La aplicación esta escrita en Python y utiliza GTK+ para la interfaz, por ello el consumo de recursos es mínimo, en comparación a alternativas como Jdownloader que utiliza la máquina virtual de Java. Por ello, si bien es una versión Alfa, no está de más probarla ..&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://tucaneando.com/index.html"&gt;Tucan Manager&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://forja.rediris.es/frs/download.php/2051/tucan-0.3.10.tar.gz"&gt;Source&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-6381700821080267000?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/6381700821080267000/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=6381700821080267000' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6381700821080267000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/6381700821080267000'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/tucan-manager.html' title='Tucan Manager'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-lD_hqYUGTzM/TWZsDqL50gI/AAAAAAAAApM/9oP-5t1cg5k/s72-c/tucan.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-8119206075351563626</id><published>2011-02-21T08:00:00.000-08:00</published><updated>2011-02-21T08:00:17.988-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='IRC'/><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Configurar IRC en Pidgin</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-K5KUMDI8LxE/TWKLhpbP19I/AAAAAAAAApE/umdbT86SIeg/s1600/pidgin-irc-300x300.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-K5KUMDI8LxE/TWKLhpbP19I/AAAAAAAAApE/umdbT86SIeg/s200/pidgin-irc-300x300.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;¿Qué es Pidgin?&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Es un cliente de mensajería instantánea multiplataforma capaz de conectarse a múltiples redes (multiprotocolo) y cuentas (multicuenta) de manera simultánea.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt; ¿Qué es IRC?&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Es un protocolo en tiempo real basado en texto, que permite debates entre dos o mas personas. Se diferencia de la mensajería instantánea en que los usuarios no deben de acceder a establecer la comunicación de antemano , de tal forma que todos los usuarios que se encuentran en un canal pueden comunicarse entre sí,aunque no hayan tenido ningún contacto anterior.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Servidores y Canales&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;IRC trabaja con canales sobre servidores. El concepto de servidor es bastante autoexplicativo, mientras que uno puede pensar en un canal como en una sala de chat.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Por ejemplo: #ubuntu-es sobre irc.freenode.com&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Servidor: irc.freenode.com&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Canal: #ubuntu-es&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Configurar Pidgin como cliente IRC:&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;1. Iniciamos Pidgin, seleccionamos el Menú Cuentas &amp;gt;&amp;gt; Gestionar Cuentas&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;2. Click en &lt;u&gt;Añadir&lt;/u&gt; Cuenta, en la pestaña Básica, seleccionamos como Protocolo a IRC, ingresamos nuestro nombre de usuario, el servidor y nuestra contraseña si es que la tuviésemos. Luego click en &lt;u&gt;Añadir&lt;/u&gt; para confirmar.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;3. Se nos debió de abrir una ventana llamada NickServ, allí podemos registrar nuestro nick si es que no se encuentra en uso. Para ello escribimos:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;code&gt;REGISTER aqui_su_password&lt;/code&gt; &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;4. Ahora nos uniremos a un canal: podemos hacerlo escribiendo: &lt;code&gt;/join nombre_del_canal&lt;/code&gt; o podemos tambien agregar el canal a nuestra lista de canales. Para ello vamos a la ventana principal del Pidgin &amp;gt;&amp;gt; Menú Amigos &amp;gt;&amp;gt; Añadir un chat &amp;gt;&amp;gt; Seleccionamos la cuenta, escribimos el nombre del canal, contraseña si la tuviésemos, Apodo del canal y si lo deseamos un grupo al cual añadir el canal.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-dmYbe0i5BE8/TWKLhG_iqfI/AAAAAAAAApA/pjXzIbG-cdY/s1600/pidgin-irc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-dmYbe0i5BE8/TWKLhG_iqfI/AAAAAAAAApA/pjXzIbG-cdY/s320/pidgin-irc.png" width="216" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;img src="file:///home/alexander/Im%C3%A1genes/Blog/pidgin-irc.png" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span style="color: #285714;"&gt;&lt;strong&gt;&amp;gt;&amp;gt;&lt;/strong&gt;&lt;/span&gt; Los conceptos de IRC y Pidgin fueron extraídos de &lt;a href="http://es.wikipedia.org/"&gt;Wikipedia&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span style="color: #285714;"&gt;&lt;strong&gt;&amp;gt;&amp;gt;&lt;/strong&gt;&lt;/span&gt; Tutorial Original en: &lt;a href="http://eclug.homelinux.org/content/view/192/59/"&gt;Using IRC Pidgin&lt;/a&gt; - By Alex J. Tanner&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-8119206075351563626?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/8119206075351563626/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=8119206075351563626' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8119206075351563626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/8119206075351563626'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/configurar-irc-en-pidgin.html' title='Configurar IRC en Pidgin'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-K5KUMDI8LxE/TWKLhpbP19I/AAAAAAAAApE/umdbT86SIeg/s72-c/pidgin-irc-300x300.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1410178896843892962</id><published>2011-02-18T23:39:00.000-08:00</published><updated>2011-02-25T15:13:52.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personalizacion'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Plymouth Manager</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Desde wikipedia:&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Plymouth es un programa de arranque de sistema en modo gráfico que despliega una animación mientras la computadora se inicia&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Plymouth Manager es un programa escrito en Gambas por un usuario Italiano de Ubuntu, esta aplicación se encarga de ayudarnos de manera gráfica en la&amp;nbsp;configuración&amp;nbsp;de Plymouth.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-RuWYtH2pLy0/TV9zjdq5dLI/AAAAAAAAAo8/k7A-F6j2ais/s1600/plymouth.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-RuWYtH2pLy0/TV9zjdq5dLI/AAAAAAAAAo8/k7A-F6j2ais/s320/plymouth.png" width="308" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt; Plymouth Manager en &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;a href="http://sourceforge.net/projects/plymouthmanager/"&gt;Sourceforge&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;a href="http://sourceforge.net/projects/plymouthmanager/files/"&gt;Descargar&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1410178896843892962?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1410178896843892962/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1410178896843892962' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1410178896843892962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1410178896843892962'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/plymouth-manager.html' title='Plymouth Manager'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-RuWYtH2pLy0/TV9zjdq5dLI/AAAAAAAAAo8/k7A-F6j2ais/s72-c/plymouth.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1252144649816816870</id><published>2011-02-17T05:21:00.000-08:00</published><updated>2011-02-18T23:02:43.615-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><title type='text'>The Sound Machine (2008)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Un video de corta duración que nos relata el descubrimiento de un científico obsesionado con la ciencia y el sonido .. lo que encuentra nos deja pensando en sus posibles consecuencias.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="320" src="http://www.youtube.com/embed/zZYiZ81X-uk?rel=0" title="YouTube video player" width="460"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Y como dice en uno de los comentarios publicados en el video anterior:&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp;Si la gente pudiera escuchar al mundo gritando de dolor .. entonces nos daríamos cuenta de que somos nosotros los que causamos ese dolor. Thoradude666&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1252144649816816870?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1252144649816816870/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1252144649816816870' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1252144649816816870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1252144649816816870'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/sound-machime-2008.html' title='The Sound Machine (2008)'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/zZYiZ81X-uk/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1589487323637535108</id><published>2011-02-15T19:13:00.000-08:00</published><updated>2011-02-15T19:13:51.884-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='¿Cómo hacer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas web'/><title type='text'>¿Cómo descargar Videos de TED con subtítulos?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_DLSML_Bllo/TVs8qOpf74I/AAAAAAAAAow/d-T0RzcA8Cs/s1600/ted_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="http://2.bp.blogspot.com/-_DLSML_Bllo/TVs8qOpf74I/AAAAAAAAAow/d-T0RzcA8Cs/s320/ted_logo.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #274e13; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;¿Que es TED?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;blockquote style="text-align: justify;"&gt;La respuesta nos llega desde &lt;b&gt;&lt;a href="http://es.wikipedia.org/wiki/TED"&gt;Wikipedia&lt;/a&gt;&lt;/b&gt;: TED (Tecnología, Entretenimiento, Diseño, del inglés: Technology, Entertainment, Design) es una organización sin ánimo de lucro dedicada a las "ideas que vale la pena difundir" (del inglés: Ideas worth spreading).&amp;nbsp;TED es ampliamente conocida por su conferencia anual (TED Conference) y sus charlas (TED Talks) que cubren un amplio espectro de temas que incluyen ciencias, arte y diseño, política, educación, cultura, negocios, asuntos globales, tecnología y desarrollo, y entretenimiento.&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Estas conferencias&amp;nbsp;están&amp;nbsp;disponibles de manera gratuita tanto de su página web,&amp;nbsp;así&amp;nbsp;como de Youtube u otros medios.&lt;/div&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;¿Como descargar los videos?&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Desde su propia web, podemos acceder al video y en la parte inferior del mismo se nos muestra la opción "Download", desde la que podremos descargar el video en calidad normal o HD.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;&lt;u&gt;¿Y los subtítulos?&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Los&amp;nbsp;subtítulos&amp;nbsp;los podemos obtener mediante &lt;b&gt;&lt;a href="http://dotsub.com/"&gt;dotsub.com&lt;/a&gt;&lt;/b&gt;, registrándonos en esta web y utilizando el buscador para localizar el subtítulo deseado.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Se recomienda el formato &lt;b&gt;srt&lt;/b&gt; para los subtítulos, y no olvidar que el archivo de video debe de tener el mismo nombre del archivo del subtítulo, la única diferencia claro, sería la extensión de los archivos.&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Fuente: &lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;&lt;a href="http://www.diegoleal.org/social/blog/blogs/index.php/2009/06/08/videos-de-ted-y-los-subtitulos?blog=2"&gt;.Edu.Co.Blog&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;b style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;&lt;a href="http://dotsub.com/"&gt;DotSub.com&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1589487323637535108?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1589487323637535108/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1589487323637535108' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1589487323637535108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1589487323637535108'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/como-descargar-videos-de-ted-con.html' title='¿Cómo descargar Videos de TED con subtítulos?'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-_DLSML_Bllo/TVs8qOpf74I/AAAAAAAAAow/d-T0RzcA8Cs/s72-c/ted_logo.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-1464045432709979833</id><published>2011-02-13T19:45:00.000-08:00</published><updated>2011-10-09T15:32:59.881-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Audio'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>Songbird 1.9.3 en Ubuntu 10.10</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-VbebTmLtefA/THanLiHbadI/AAAAAAAAAZI/mkOWdXiXOWA/s1600/Songbird_Logo.resized.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-VbebTmLtefA/THanLiHbadI/AAAAAAAAAZI/mkOWdXiXOWA/s1600/Songbird_Logo.resized.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue',Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;Ha sido liberada una nueva versión de Songbird para Linux (1.9.3), si bien oficialmente se dejó de publicar versiones para Linux, gracias a terceros, tenemos las C&lt;i&gt;ontributed Builds&lt;/i&gt; e incluso podemos usar las &lt;i&gt;Nightly Builds&lt;/i&gt; (publicaciones diarias -de desarrollo-).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;La versión 1.9 destaca por las mejoras de rendimiento implementadas.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;*&lt;/b&gt; &lt;u&gt;Para usar Songbird en Ubuntu 10.10:&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;1. Descargamos el archivo tar.gz: &lt;a href="http://download.songbirdnest.com/installer/linux/i686/Songbird_1.9.3-1959_linux-i686.tar.gz"&gt;&lt;span class="Apple-style-span" style="color: #4d4d4d; line-height: 21px;"&gt;Songbird&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;2. Extraemos la carpeta Songbird, eliminamos el directorio lib que se halla dentro de la carpeta principal.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;3. Iniciamos dandole doble click al archivo llamado &lt;i&gt;songbird&lt;/i&gt;, incluso podríamos crearle un lanzador indicando como orden a ejecutar: "&lt;i&gt;./directorio_de_songbird/songbird&lt;/i&gt;"&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://www.getsongbird.com/"&gt;Songbird&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://wiki.songbirdnest.com/Developer/Articles/Builds/Contributed_Builds#Linux"&gt;Contributes Builds&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://wiki.songbirdnest.com/Developer/Articles/Builds/Nightly_Builds"&gt;Nighty Builds&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://getnightingale.com/"&gt;Nightingale&lt;/a&gt;: Alternativa a Songbird aun en desarrollo&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-1464045432709979833?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/1464045432709979833/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=1464045432709979833' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1464045432709979833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/1464045432709979833'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/songbird-193-en-ubuntu-1010.html' title='Songbird 1.9.3 en Ubuntu 10.10'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-VbebTmLtefA/THanLiHbadI/AAAAAAAAAZI/mkOWdXiXOWA/s72-c/Songbird_Logo.resized.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-2475235133901410253</id><published>2011-02-10T22:21:00.000-08:00</published><updated>2011-02-15T20:02:23.463-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Poesía'/><title type='text'>Cerraron sus ojos</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;.. Otro poema que me agradó:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;u&gt;&lt;b&gt;Cerraron sus Ojos&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Cerraron sus ojos, que aún tenía abiertos;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;taparon su cara con un blanco lienzo;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;y unos sollozando, otros en silencio,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;de la triste alcoba todos se salieron.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;La luz que en un vaso ardía en el suelo,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;al muro arrojaba la sombra del lecho;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;y entre aquella sombra, veíase a intervalos&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;dibujarse rígida la sombra del cuerpo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Despertaba el día y a su albor primero,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;con sus mil ruidos despertaba el pueblo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Ante aquel contraste de vida y misterios,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;de luz y tinieblas, medité un momento:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Dios mío, qué solos se quedan los muertos!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;De la casa en hombros lleváronla al templo,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;y en una capilla dejaron el féretro.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Allí rodearon sus pálidos restos&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;de amarillas velas y de paños negros.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Al dar de las ánimas el toque postrero&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;acabó una vieja sus últimos rezos;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;cruzó la ancha nave, las puertas gimieron&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;y el santo recinto quedóse desierto.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;De un reloj se oía, compasado el péndulo,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;y de algunos cirios el chisporroteo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Tan medroso y triste, tan oscuro y yerto&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;todo se encontraba que pensé un momento....&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;¡Dios mío, que solos se quedan los muertos!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;De la alta campana, la lengua de hierro&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;le dio, volteando su adiós lastimero.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;El luto, en las ropas y amigos y deudos&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;cruzaron en fila formando un cortejo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Del último asilo oscuro y estrecho;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;abrió la piqueta el nicho a un extremo&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Allí la acostaron, tapiáronla luego&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;y con un satudo despidióse el duelo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;La piqueta al hombro el sepulturero,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;cantando entre dientes, se perdió a lo lejos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;La noche se entraba, reinaba el silencio;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;perdido en las sombras, medité un momento:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;¡Dios mío, que solos se quedan los muertos!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;En las largas noches del helado invierno,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;cuando las maderas, crujir hace el viento&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;y azota los vidrios el fuerte aguacero;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;de la pobre niña, a solas me acuerdo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Allí cae la lluvia con un son eterno;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;allí la combate el soplo del cierzo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Del húmedo muro tendido en el hueco,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Acaso de frío, se hielan sus huesos! ...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;¿Vuelve el polvo, al polvo? ¿Vuela el alma al cielo?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;¿Todo es vil materia, podredumbre y cieno?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;¡No sé: pero hay algo que explicar no puedo,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;que al par nos infunde repugnancia y duelo,&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;al dejar tan tristes, tan solos, los muertos!...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://es.wikipedia.org/wiki/Gustavo_Adolfo_B%C3%A9cquer"&gt;Adolfo Bequer&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-2475235133901410253?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/2475235133901410253/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=2475235133901410253' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2475235133901410253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/2475235133901410253'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/cerraron-sus-ojos.html' title='Cerraron sus ojos'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4883090113279351504.post-3847548309990332730</id><published>2011-02-10T10:27:00.000-08:00</published><updated>2011-02-10T10:27:23.853-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Juegos'/><title type='text'>JVGS: Un juego de plataformas minimalista</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-8VdHK3XI56g/TVQjh7u72NI/AAAAAAAAAoY/NcdyMH9TE9g/s1600/jvgs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143" src="http://1.bp.blogspot.com/-8VdHK3XI56g/TVQjh7u72NI/AAAAAAAAAoY/NcdyMH9TE9g/s320/jvgs.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;blockquote style="text-align: justify;"&gt;&lt;i&gt;Este juego tiene lugar en un mundo parecido al nuestro, que ha comenzado a desvanecerse. En un momento donde casi todo se ha ido, un poeta se encuentra, solo en un extraño mundo de peligro.Comienza un viaje a lo largo de la corriente de pensamientos rotos que queda.&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Como nos dicen en su pagina web, algunos elementos estan basados en xkcd,&amp;nbsp;también&amp;nbsp;observaremos un poco de Super Mario World, V de Venganza, El Principito .. y cuidado que hay velociraptores sueltos .. A continuación un video que nos da una idea general del juego:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/YgKSCOk8tTk" title="YouTube video player" width="450"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;El juego está disponible tanto para Linux así como Windows, Mac y según su creador para otros sistemas operativos oscuros también.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;a href="http://jvgs.sourceforge.net/"&gt;JVGS&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; Descargar desde &lt;i&gt;&lt;a href="http://sourceforge.net/projects/jvgs/"&gt;SourceForge&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4883090113279351504-3847548309990332730?l=sudokill.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sudokill.blogspot.com/feeds/3847548309990332730/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4883090113279351504&amp;postID=3847548309990332730' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3847548309990332730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4883090113279351504/posts/default/3847548309990332730'/><link rel='alternate' type='text/html' href='http://sudokill.blogspot.com/2011/02/jvgs-un-juego-de-plataformas.html' title='JVGS: Un juego de plataformas minimalista'/><author><name>Alexander Ayasca Esquives</name><uri>https://profiles.google.com/107055491376120563457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-8TkUmSlQ3n4/AAAAAAAAAAI/AAAAAAAAA7g/LZwzNu8dZhE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-8VdHK3XI56g/TVQjh7u72NI/AAAAAAAAAoY/NcdyMH9TE9g/s72-c/jvgs.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
