<?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-2727349126998148192</id><updated>2011-04-21T22:25:49.568-07:00</updated><category term='servicios'/><category term='typo3'/><category term='linux'/><category term='patrones de diseño'/><category term='programacion'/><category term='postgresql'/><category term='Firefox'/><category term='Bases de datos'/><category term='gof'/><title type='text'>Go To Line</title><subtitle type='html'>Vamos a la Línea</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2727349126998148192.post-3984249546402540658</id><published>2008-11-16T12:30:00.000-08:00</published><updated>2008-11-16T13:15:36.049-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typo3'/><title type='text'>Configuración de Plugins mediante FlexForm en Typo3 (Parte 2)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;En este segundo apartado se revisará como recuperar los datos ingresados por Backend en la configuración  creada con FlexForm.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Una vez creado  el archivo xml, y agrega&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;r las líneas de reconocimiento en el archivo “&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;ext_tables.php&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;”, lo que sigue es ir a la clase generada por kickstarter ”&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;class.tx_lzpruebasflexform_pi1.php&lt;/span&gt;” y en la sección de &lt;span style="font-weight: bold;"&gt;main&lt;/span&gt; (siguiendo un desarrollo habitual) agregar la siguiente línea:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&lt;/style&gt;&lt;span style="font-family:Monospace;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;$this&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&gt;pi_initPIflexForm();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Ahora bien,para recuperar cada uno de los valores contenidos en los nodos  definidos en el archivo “&lt;/span&gt;&lt;/span&gt;&lt;a href="http://oancan.googlepages.com/flexform.xml"&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:100%;"  &gt;flexform.xml&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;”, se deben agregar lo siguiente:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Monospace;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;$sInput = $this&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&gt;pi_getFFvalue(&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;$this&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&gt;cObj-&gt;data[&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'pi_flexform'&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;], &lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;&lt;span style="background: rgb(35, 35, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;op1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;&lt;span style="background: rgb(255, 0, 0) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;sTAB1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:Monospace;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$sText  = &lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;$this&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&gt;pi_getFFvalue(&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;$this&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&gt;cObj-&gt;data[&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'pi_flexform'&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;], &lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;&lt;span style="background: rgb(92, 133, 38) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;op2&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;&lt;span style="background: rgb(255, 0, 0) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;sTAB1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 130, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;El código de la sección main sería el siguiente:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;  &lt;title&gt;&lt;/title&gt;  &lt;meta name="GENERATOR" content="OpenOffice.org 2.4  (Linux)"&gt;  &lt;style type="text/css"&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;  &lt;/span&gt;&lt;/code&gt;&lt;span style="font-family:Monospace;"&gt;&lt;span style="font-size:85%;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;function &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;main&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$content&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$conf&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) {&lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;conf &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$conf&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;pi_setPiVarDefaults&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;();&lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;pi_loadLL&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;();&lt;br /&gt;   &lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;pi_initPIflexForm&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;();&lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$sInput &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;pi_getFFvalue&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;cObj&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;data&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;[&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'pi_flexform'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;], &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'op1'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'sTAB1'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$sText &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;pi_getFFvalue&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;cObj&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;data&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;[&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'pi_flexform'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;], &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'op2'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'sTAB1'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;   &lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$content &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;.= &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'Valor Input:' &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;. &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$sInput&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$content &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;.= &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'&lt;br /&gt;'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;     &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$content &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;.= &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'Valor Textarea:' &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;. &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$sText&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;     return &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$this&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;pi_wrapInBaseClass&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$content&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt; }&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Finalmente el resultado  es una hermosa &lt;a href="http://oancan.googlepages.com/T3X_lz_pruebas_flexform-0_0_0-z-2008.t3x"&gt;extension&lt;/a&gt; para typo3 con configuración para la página donde se instalará :)&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/2727349126998148192-3984249546402540658?l=gotoline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/3984249546402540658/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2727349126998148192&amp;postID=3984249546402540658' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/3984249546402540658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/3984249546402540658'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/2008/11/configuracin-de-plugins-mediante.html' title='Configuración de Plugins mediante FlexForm en Typo3 (Parte 2)'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2727349126998148192.post-8356548500797412711</id><published>2008-08-25T19:35:00.000-07:00</published><updated>2008-08-25T20:00:49.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Accediendo a medios online</title><content type='html'>Desde hace algún tiempo que deseaba escuchar &lt;a href="http://www.futuro.cl/"&gt;Radio Futuro&lt;/a&gt;(La radio del Rock) desde mi ubuntu Hardy. Sin embargo en linux y en especial con firefox no era del todo transparente.&lt;br /&gt;Buscando y buscando en addons-firefox, encontre una extensión llamada "&lt;a href="https://addons.mozilla.org/es-ES/firefox/addon/446"&gt;MediaPlayerConnectivity&lt;/a&gt;". Dicha extensión despliega el reproductor Totem(o el que se configure), para reproducir diversos medios, entre los que se encuentran RealMedia, QuickTime, WindowsMedia,  Nullsoft video, Shockwavern.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_meKJipYQ3Rc/SLNwR-ywXUI/AAAAAAAAA0w/G2r5ig47htg/s1600-h/Pantallazo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_meKJipYQ3Rc/SLNwR-ywXUI/AAAAAAAAA0w/G2r5ig47htg/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5238654245777988930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Adicionalmente, con todo mi proceso de emancipación, he quedado sin TV y sin radio. No obstante sitios de&lt;a href="http://www.tvweb360.com/"&gt;  TV&lt;/a&gt; y de &lt;a href="http://www.shoutcast.com/"&gt;Radio&lt;/a&gt; online resultan una fuente abundante de medios de comunicación.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2727349126998148192-8356548500797412711?l=gotoline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/8356548500797412711/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2727349126998148192&amp;postID=8356548500797412711' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/8356548500797412711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/8356548500797412711'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/2008/08/escuchando-radio-online-basadas-en.html' title='Accediendo a medios online'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_meKJipYQ3Rc/SLNwR-ywXUI/AAAAAAAAA0w/G2r5ig47htg/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2727349126998148192.post-909285644165172123</id><published>2008-07-04T19:17:00.000-07:00</published><updated>2008-12-14T18:15:05.974-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bases de datos'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><title type='text'>Breve How-To Postgresql</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Desde hace casi 3 años vengo trabajando con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Postgresql&lt;/span&gt; para los diversos proyectos de desarrollo en que he participado. Sin lugar a duda es un gran motor de base de datos pero (siempre hay un "pero") algo complejo al inicio del aprendizaje.&lt;br /&gt;Siempre antes de instalar en un máquina LOCAL, sigo esta guía que dejo a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;continuación&lt;/span&gt; y que he elaborado con el pasar del tiempo. Posee lo preciso para que todo comience a funcionar de forma &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;rápida&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BREVE &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;HOW&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;TO&lt;/span&gt; DE &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;POSTGRESQL&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Oancan&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Version&lt;/span&gt; 1.3 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;---------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------------------------------------------------------------------------- &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;A. CONFIGURACIONES PREVIAS &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------------------------------------------------------------------------- &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1. Para establecer una &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;conexion&lt;/span&gt; remota con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;postgres&lt;/span&gt;, en el archivo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;postgresql&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;conf&lt;/span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ubicado en "/etc/postgresql/8.2/main" &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;descomentar&lt;/span&gt; las lineas &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;tcpip&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;socket&lt;/span&gt; = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;true&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;port&lt;/span&gt; = 5432&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y en la linea listen_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;addresses&lt;/span&gt; dejar:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;listen_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;addresses&lt;/span&gt; = '*' &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2. En el archivo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;pg&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;hba&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;conf&lt;/span&gt; ubicado en "/etc/postgresql/8.2/main" agregar la  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;linea siguiente &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;IPv&lt;/span&gt;4-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;style&lt;/span&gt; local &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;connections&lt;/span&gt; (solo para maquinas locales, esto permite que todas las maquinas desde &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_27"&gt;cualquier&lt;/span&gt; red se puedan conectar &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_28"&gt;útil&lt;/span&gt; cuando necesitas una &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;conexion&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_30"&gt;rápida&lt;/span&gt;): &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;host&lt;/span&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;all&lt;/span&gt;         &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;all&lt;/span&gt;         0.0.0.0/0             &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;md&lt;/span&gt;5 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;3. Reiniciar&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/etc/init.d/postgres-8.2 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;restart&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;---------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MODO DE &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;CONEXION&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;---------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1. Estando como &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;root&lt;/span&gt; ingresar con:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;su &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;postgres&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2. Ingresar a modo consulta:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;psql&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;3. Crear un usuario.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;CREATE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;USER&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;miusuario&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;superuser&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;password&lt;/span&gt; '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;mipass&lt;/span&gt;';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;SET&lt;/span&gt; ROLE &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;miusuario&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;CREATE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;DATABASE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;bd&lt;/span&gt;_prueba &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;WITH&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;OWNER&lt;/span&gt; = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;miusuario&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;ENCODING&lt;/span&gt; = '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_55"&gt;LATIN&lt;/span&gt;1' &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;TABLESPACE&lt;/span&gt; = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_57"&gt;pg&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_58"&gt;default&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;4.Conectarme remotamente:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_59"&gt;psql&lt;/span&gt; -h numero.de.ip -U &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;miusuario&lt;/span&gt; -d &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;bd&lt;/span&gt;_prueba -W&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------------------------------------------------------------------------- &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;C. COMANDOS EJECUTABLES ESTANDO DENTRO DE UNA &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_62"&gt;BD&lt;/span&gt; a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_63"&gt;través&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_64"&gt;psql&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------------------------------------------------------------------------- &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1. Mostrar todos los usuarios &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    \&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_65"&gt;du&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2. Mostrar todas las bases de datos &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    \l &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;3. Mostrar todas las tablas de una determinada base de datos &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    \d &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;4. Mostrar todos los campos de una tabla &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    \d nombre_tabla &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;5. Conectarse a otra base de datos &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    \c nombre_base_datos &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2727349126998148192-909285644165172123?l=gotoline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/909285644165172123/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2727349126998148192&amp;postID=909285644165172123' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/909285644165172123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/909285644165172123'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/2008/07/breve-how-to-postgresql.html' title='Breve How-To Postgresql'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2727349126998148192.post-2281498676455838204</id><published>2008-05-28T20:23:00.000-07:00</published><updated>2008-05-28T20:40:26.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='programacion'/><title type='text'>Mandatos Básicos para Emacs</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Los mandatos en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Emacs&lt;/span&gt; permiten realizar cualquier tarea habitual a la hora de editar un determinado texto o código, sin embargo en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Emacs&lt;/span&gt; existe una infinidad de comandos asociados al envío de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Mail&lt;/span&gt;, Juegos entro muchos otros que nos prestan mucha utilidad.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Los principales se describen a continuación:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;1. Entrar a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;emacs&lt;/span&gt; modo texto &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;emacs&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;name&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;txt&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;2. Seleccionar un trozo de texto &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;CTR&lt;/span&gt; + barra_espacio&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;3. Seleccionar todo el documento &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;CTR&lt;/span&gt; + x     h&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;4. Cortar lo seleccionado &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;CTR&lt;/span&gt; + w&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;4.A. Copiar lo seleccionado &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;ALT&lt;/span&gt; + w&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;5. Pegar lo Cortado &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;CTR&lt;/span&gt; + y&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;6. Eliminar una linea completa &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;CTR&lt;/span&gt; + k&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;         &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;7. Deshacer lo escrito &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;CTR&lt;/span&gt; + x    u&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;8. Ir al principio del archivo &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;ALT&lt;/span&gt; + &lt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;9. Ir al final del archivo &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;   ALT + shif + &gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;10. Reemplazar palabras ubicarse al comienzo del archivo &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;ALT&lt;/span&gt; + x &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;replace&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;string&lt;/span&gt;    (original) (destino)    &lt;/span&gt;         &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;11. Deshacer una orden &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;CTR&lt;/span&gt; + g&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;12. Ver la Ayuda &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;CTR&lt;/span&gt; + h &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;13. Abrir un archivo &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;CTR&lt;/span&gt; + x    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;CTR&lt;/span&gt; + f&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;13.A. Abrir un directorio y seleccionarlo con el cursor &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;CTR&lt;/span&gt; + x    d&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;14. Guardar &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;CTR&lt;/span&gt; + x    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;CTR&lt;/span&gt; + s&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;15. Guardar una copia con otro nombre &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;CTR&lt;/span&gt; + x    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;CTR&lt;/span&gt; + w      nombre_archivo&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;16. Abrir una nueva ventana horizontal &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;CTR&lt;/span&gt; + x    2&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;17. Abrir una nueva ventana Vertical &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;CTR&lt;/span&gt; + x    3&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;18. Cambiar de ventana &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;CTR&lt;/span&gt; + x    o    (letra o)&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;19. Ver la lista de archivos abiertos(en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;bufer&lt;/span&gt;, con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;navegacion&lt;/span&gt;) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;CTR&lt;/span&gt; + x    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;CTR&lt;/span&gt; + b&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;19.A. Eliminar un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;bufer&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;CTR&lt;/span&gt; + x    k&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;20. Seleccionar una archivo especifico(o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;bufer&lt;/span&gt; especifico) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;CTR&lt;/span&gt; + x    b    nombre_archivo&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;21. Cerrar una ventana actual &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;CTR&lt;/span&gt; + x    4       0    (numero 0), responder pregunta "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;yes&lt;/span&gt;"&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;22. Cerrar todas las otras ventanas menos la actual &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;CTR&lt;/span&gt; + x     1&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;23. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;Busqueda&lt;/span&gt; incremental &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;CTR&lt;/span&gt; + s palabra&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;24. Salir al &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;shell&lt;/span&gt; temporalmente &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;span style="font-family:courier new;"&gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;CTR&lt;/span&gt; + z&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;25. Retornar a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;emacs&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;    %    (o bien) &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;fg&lt;/span&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;26. Salir de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;emacs&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;CTR&lt;/span&gt; + x  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;CTR&lt;/span&gt; + c &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Mas información &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://savannah.nongnu.org/projects/emacs-man-es"&gt;acá.&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2727349126998148192-2281498676455838204?l=gotoline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/2281498676455838204/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2727349126998148192&amp;postID=2281498676455838204' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/2281498676455838204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/2281498676455838204'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/2008/05/mandatos-bsicos-para-emacs.html' title='Mandatos Básicos para Emacs'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2727349126998148192.post-5206041213601766256</id><published>2008-05-28T18:55:00.000-07:00</published><updated>2008-05-28T20:39:58.105-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='programacion'/><title type='text'>Como configurar Emacs y no dormirse en el intento.</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Sin lugar a duda &lt;a href="http://es.wikipedia.org/wiki/Emacs"&gt;Emacs&lt;/a&gt; y Vi, son los editores en modo texto que mas seguidores tienen a nivel mundial dentro del mundo Gnu/Linux, sin embargo para cuestiones de gustos no hay nada escrito.  Llevo usando Emacs desde casi 5 años, pese a que mis inicios fueron con el Vi. Pero ¿Por qué  el cambio a emacs?, simplemente por probar otras herramientas, y por que el modo comando de vi me hastío.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_meKJipYQ3Rc/SD4dxD9JGRI/AAAAAAAAAyI/k72alIxVSUM/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_meKJipYQ3Rc/SD4dxD9JGRI/AAAAAAAAAyI/k72alIxVSUM/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5205630947999422738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Dentro de la gran gama de opciones que tiene este editor se encuentra la facilidad de extensión, debido a que esta escrito en una variante de Lisp llamado &lt;a href="http://es.wikipedia.org/wiki/Emacs_Lisp"&gt;Emacs-Lisp&lt;/a&gt;, por ende cualquiera que sepa programar en dicho dialecto puede agregar sus propios mandatos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Este editor no viene incluido en la mayoría de las distribuciones y para instalarlo en debian o ubuntu basta solo con realizar:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;apt-get emacs21-nox&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;El NOX indica que no tiene soporte para X mucho mas liviano. Por defecto si abrimos un archivo con emacs, como por ejemplo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;#&lt;span style="font-weight: bold;font-family:courier new;" &gt;emacs hola.php&lt;/span&gt; o bien &lt;span style="font-weight: bold;font-family:courier new;" &gt;#emacs hola.py&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;el marcado sintáctico no será incluido, para lograr lo anterior podemos escribir el mandato:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;ALT + x  global-font-lock-mode&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;No obstante existe una opción mucho mas óptima, que es generar en la carpeta del usuario un archivo oculto llamado &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-family:verdana;" &gt;.&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;emacs&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; y una carpeta oculta llamada &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-family:verdana;" &gt;.&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;emacs&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-family:verdana;" &gt;.d&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;  que contiene los archivos de marcado sintáctico especifico de un determinado lenguaje en este caso php y python, sin embargo emacs detecta los marcados sintácticos para variados lenguajes de programación.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Tanto el archivo de configuración como la carpeta las pueden obtener haciendo click &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://oancan.googlepages.com/configuraciones_emacs.tar.gz"&gt;acá&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. Recordar que como son archivos ocultos los puedes visualizar realizando CTR+H en nautilus o por terminal con el comando "ll".&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/2727349126998148192-5206041213601766256?l=gotoline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/5206041213601766256/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2727349126998148192&amp;postID=5206041213601766256' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/5206041213601766256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/5206041213601766256'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/2008/05/como-configurar-emacs-y-no-dormirse-en.html' title='Como configurar Emacs y no dormirse en el intento.'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_meKJipYQ3Rc/SD4dxD9JGRI/AAAAAAAAAyI/k72alIxVSUM/s72-c/Pantallazo-2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2727349126998148192.post-7632162207062958857</id><published>2008-05-22T22:41:00.000-07:00</published><updated>2008-05-22T23:36:44.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='patrones de diseño'/><category scheme='http://www.blogger.com/atom/ns#' term='gof'/><title type='text'>Aplicando el Patrón Iterator</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Hace algún tiempo atrás me toco diseñar un pequeño componente cuyo único objetivo era generar documentos de manera secuencial. La carta bajo la manga que permite recorrer determinados objetos o una estructura en particular es un patrón de comportamiento llamado patrón Iterator.&lt;br /&gt;Dicho patrón facilita las reiteradas iteraciones con obje&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;tos sin la necesidad de conocer los elementos que este contenga. Se caracteriza por manejar los métodos:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Elemento actual.&lt;/li&gt;&lt;li&gt;Elemento siguiente&lt;/li&gt;&lt;li&gt;hay Mas elementos, entre otros varios métodos dependiendo del caso.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:verdana;"&gt;El diagrama que maneja es patrón (existen otras variaciones) se puede apreciar en la siguiente imagen:&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_meKJipYQ3Rc/SDZhwD9JGOI/AAAAAAAAAxg/vvWDJzKRK7I/s1600-h/iterator_generico.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_meKJipYQ3Rc/SDZhwD9JGOI/AAAAAAAAAxg/vvWDJzKRK7I/s320/iterator_generico.png" alt="" id="BLOGGER_PHOTO_ID_5203453897796557026" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt; soporta, y dependiendo del caso este Lo anterior usa la clase Collection como una interfaz pública. Sin embargo el acceso a los elementos de las colecciones esta encapsulado en un nivel superior de abstracción llamado Iterator. Cada Clase derivada de la Colleccion sabe de que Clase iterador Proviene para generar y retornar elementos, por lo tanto solo basta que el cliente se comunique con la interfaz publica para lograr su identificación. Desde luego existen muchas implementaciones, y muchos modelos que este patrón de diseño puede tomar.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Proximamente el código.....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2727349126998148192-7632162207062958857?l=gotoline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/7632162207062958857/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2727349126998148192&amp;postID=7632162207062958857' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/7632162207062958857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/7632162207062958857'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/2008/05/aplicando-el-patrn-iterator.html' title='Aplicando el Patrón Iterator'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_meKJipYQ3Rc/SDZhwD9JGOI/AAAAAAAAAxg/vvWDJzKRK7I/s72-c/iterator_generico.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2727349126998148192.post-357468702561002549</id><published>2008-05-22T19:08:00.000-07:00</published><updated>2008-05-22T22:06:30.200-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='servicios'/><title type='text'>Wuala para Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_meKJipYQ3Rc/SDYwNj9JGGI/AAAAAAAAAwI/R8tiOzwPqPU/s1600-h/Pantallazo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_meKJipYQ3Rc/SDYwNj9JGGI/AAAAAAAAAwI/R8tiOzwPqPU/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5203399429021309026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;style type="text/css"&gt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;  &lt;p  style="margin-bottom: 0cm;font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.linuxjournal.com/content/online-storage-wuala"&gt;Linux Jounal&lt;/a&gt; acaba de comentar  la aparición de la nueva aplicación para &lt;a href="http://wua.la/en/what.html"&gt;Wuala&lt;/a&gt;. Dicho servicio permite compartir y almacenar archivos de todo tipo gracias a un avanzado sistema de tipo &lt;a href="http://es.wikipedia.org/wiki/P2p"&gt;P2P&lt;/a&gt;, que sin lugar a duda revolucionará los actuales portales de almacenamiento, y no esta demás decir que es totalmente gratis.&lt;br /&gt;&lt;br /&gt;El principio básico que está detrás de este servicio es muy conocido "&lt;/span&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;Mientras más compartas, más espacio tendrás&lt;/span&gt;&lt;span style="font-size:100%;"&gt;", con una base de 1GB. Pues bien la cantidad de almacenamiento online que tengamos recide en algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Capacidad de almacenamiento Online&lt;/span&gt;&lt;span style="font-size:100%;"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Espacio Compartido&lt;/span&gt;&lt;span style="font-size:100%;"&gt; x&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt; % tiempo conectado&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;Donde tiempo conectado considera las 24 horas del día (100%), es decir si compartimos 10GB y estamos conectado 50% del día, tendremos 5GB de almacenamiento ... Muy bien para comenzar.&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;Habrá que probar en nuestro linux que tal funciona. Por el momento dejo una de las primera presentaciones de &lt;a href="http://www.youtube.com/watch?v=3xKZ4KGkQY8"&gt;WUALA&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/2727349126998148192-357468702561002549?l=gotoline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/357468702561002549/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2727349126998148192&amp;postID=357468702561002549' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/357468702561002549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/357468702561002549'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/2008/05/wuala-para-linux.html' title='Wuala para Linux'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_meKJipYQ3Rc/SDYwNj9JGGI/AAAAAAAAAwI/R8tiOzwPqPU/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2727349126998148192.post-5660815315965006153</id><published>2008-05-05T19:22:00.000-07:00</published><updated>2008-11-16T13:17:42.486-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typo3'/><title type='text'>Configuración de Plugins mediante FlexForm en Typo3 (Parte 1)</title><content type='html'>&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Este Post pretende explicar como usar Flexform en nuestras extensiones &lt;a href="http://www.typo3.org/"&gt;Typo3&lt;/a&gt; asumiendo que el lector s&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;abe:&lt;/span&gt;&lt;ul&gt;&lt;li  style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;Crear extensiones&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;e instalar dichas extensión en una página.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Dentro de las configuraciones que permite agreg&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;ar typo3 a las extensiones que desarrollamos, se encuentran las configuraciones por Flexform son a nivel de pagina y tienen un aspecto como el siguiente:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_meKJipYQ3Rc/SDZGAD9JGMI/AAAAAAAAAxQ/xLU2BH-xJiE/s1600-h/Pantallazo.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_meKJipYQ3Rc/SDZGAD9JGMI/AAAAAAAAAxQ/xLU2BH-xJiE/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5203423386348886210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;Una vez creada la extensión mediante &lt;a href="http://typo3.org/extensions/repository/view/kickstarter/0.3.8/"&gt;kickstarter&lt;/a&gt; lo que sigue es abrir el proyecto con nuestro IDE, en mi caso con &lt;a href="http://www.eclipse.org/pdt/"&gt;Eclipse PDT&lt;/a&gt;. Si estas usando Linux, debes cambiar los permisos a tu carpeta con la extensión creada con typo3 para poder abrir la extensión desde Eclipse en este caso específico la extensión se llama: “lz_prueba_flexform”:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_meKJipYQ3Rc/SDZGIz9JGNI/AAAAAAAAAxY/f5A90uoRuRM/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_meKJipYQ3Rc/SDZGIz9JGNI/AAAAAAAAAxY/f5A90uoRuRM/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5203423536672741586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Un vez realizado todo lo anterior, lo que sigue es generar un nuevo archivo llamado “&lt;a href="http://oancan.googlepages.com/flexform.xml"&gt;flexform.xml&lt;/a&gt;”, dicho archivo contendrá todas las especificaciones que el usuario encargado de configurar el plugin realizará.&lt;br /&gt;&lt;br /&gt;Lo que sigue es realizar las configuraciones para que nuestro plugin reconozca el archivo flexform.xml. En el archivo “&lt;span style="font-style: italic; color: rgb(204, 102, 0);"&gt;ext_tables.php&lt;/span&gt;” se deben agregar las siguientes líneas que permiten manejar subtipos y localizar la ruta donde el archivo flexform será ubicado.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(102, 51, 0);"&gt;$TCA&lt;/span&gt;&lt;span style="color: rgb(0, 51, 0);"&gt;['tt_content']['types']['list']['subtypes_addlist']&lt;br /&gt;[&lt;/span&gt;&lt;span style="color: rgb(102, 51, 0);"&gt;$_EXTKEY&lt;/span&gt;.&lt;span style="color: rgb(0, 51, 0);"&gt;'_pi1']='pi_flexform';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;t3lib_extMgm::addPiFlexFormValue(&lt;/span&gt;&lt;span style="color: rgb(102, 51, 0);"&gt;$_EXTKEY&lt;/span&gt;.&lt;span style="color: rgb(0, 51, 51);"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;'_pi1', 'FILE:EXT:'&lt;/span&gt;.&lt;/span&gt;&lt;span style="color: rgb(102, 51, 0);"&gt;$_EXTKEY&lt;/span&gt;.'/flexform.xml');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Guardamos la configuración y debería aparecer por backend algo similar a la primera imagen expuesta en este Primer Post.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gotoline.blogspot.com/2008/11/configuracin-de-plugins-mediante.html"&gt;Ver segunda parte.&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2727349126998148192-5660815315965006153?l=gotoline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gotoline.blogspot.com/feeds/5660815315965006153/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2727349126998148192&amp;postID=5660815315965006153' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/5660815315965006153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2727349126998148192/posts/default/5660815315965006153'/><link rel='alternate' type='text/html' href='http://gotoline.blogspot.com/2008/05/configuracin-de-plugins-mediante.html' title='Configuración de Plugins mediante FlexForm en Typo3 (Parte 1)'/><author><name>Oancan</name><uri>http://www.blogger.com/profile/17468558943952490859</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_meKJipYQ3Rc/TCwoKfdPYiI/AAAAAAAABJM/i-VdveePkHU/S220/nieve.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_meKJipYQ3Rc/SDZGAD9JGMI/AAAAAAAAAxQ/xLU2BH-xJiE/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
