<?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-8807188472660304396</id><updated>2012-01-25T23:01:52.942-08:00</updated><title type='text'>El blog de Fagoner</title><subtitle type='html'>anime, juegos, linux, software, music....</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-4726313265171177432</id><published>2011-10-21T17:20:00.000-07:00</published><updated>2011-10-21T17:23:41.242-07:00</updated><title type='text'>No se puede iniciar MySQL - ERROR 2003 (Windows 7)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;En ciertas ocasiones nos encontramos que no podemos iniciar MySQL en Windows 7, y cuando ejecutamos el comando "mysql.exe" nos notifica el ERROR 2003&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 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;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; margin-left: 1em; margin-right: 1em;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 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://3.bp.blogspot.com/-M65W1y_7fqU/TqILWx6KZgI/AAAAAAAAAFg/-02F2Ffll-w/s1600/mysql+iniciado2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="175" src="http://3.bp.blogspot.com/-M65W1y_7fqU/TqILWx6KZgI/AAAAAAAAAFg/-02F2Ffll-w/s400/mysql+iniciado2.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: 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: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Lo que sucede es que el servicio no esta iniciado, así que lo que debemos hacer es iniciarlo por medio de consola, pero no la consola normal, necesitamos una consola con permisos de administrador, la cual se puede acceder:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 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: Arial, Helvetica, sans-serif;"&gt;Inicio -&amp;gt; (digitamos cmd en "&lt;i&gt;Buscar programas y archivos&lt;/i&gt;") -&amp;gt; damos click derecho en cmd, seleccionamos&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;"Ejecutar como administrador"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 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: Arial, Helvetica, sans-serif;"&gt;La imagen siguiente nos da una idea de como sería el proceso.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 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://2.bp.blogspot.com/-EFIiMXQBwVU/TqIGeP_WrSI/AAAAAAAAAE4/gKoLn-XJkKI/s1600/cmd+privilegio.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="358" src="http://2.bp.blogspot.com/-EFIiMXQBwVU/TqIGeP_WrSI/AAAAAAAAAE4/gKoLn-XJkKI/s400/cmd+privilegio.PNG" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 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: 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: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Luego que el prompt se abra con los persmisos, procedemos a digitar "NET START MySQL" lo cual permitirá que el servicio de MySQL se inicie, como muestra la siguiente figura.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 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;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZhJquGPavfQ/TqIIKeUALPI/AAAAAAAAAFI/_iU27jb3gB0/s1600/mysql+iniciado1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="110" src="http://3.bp.blogspot.com/-ZhJquGPavfQ/TqIIKeUALPI/AAAAAAAAAFI/_iU27jb3gB0/s400/mysql+iniciado1.PNG" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 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: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Podemos proceder a trabajar con MySQL sin ningún problema.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 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://2.bp.blogspot.com/-rdbV3NdNXL8/TqIIbUDk8eI/AAAAAAAAAFQ/gfdf9cNxDYk/s1600/mysql+trabajando.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="137" src="http://2.bp.blogspot.com/-rdbV3NdNXL8/TqIIbUDk8eI/AAAAAAAAAFQ/gfdf9cNxDYk/s400/mysql+trabajando.PNG" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&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/8807188472660304396-4726313265171177432?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/4726313265171177432/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=4726313265171177432' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/4726313265171177432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/4726313265171177432'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2011/10/no-se-puede-iniciar-mysql-error-2003.html' title='No se puede iniciar MySQL - ERROR 2003 (Windows 7)'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-M65W1y_7fqU/TqILWx6KZgI/AAAAAAAAAFg/-02F2Ffll-w/s72-c/mysql+iniciado2.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-8929867424904148920</id><published>2011-04-05T18:55:00.000-07:00</published><updated>2011-04-05T19:02:15.795-07:00</updated><title type='text'>Ajustar imagen al tamaño de un JLabel - Java</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;En el día a día de la programación deseamos que un JLabel contenga una imagen, sí la imagen no es del tamaño del JLabel pueda que sobre espacio, o no se vea completamente.&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-AJw3CofA85Y/TZvH8RHNWxI/AAAAAAAAAEE/mYYpMZgGdfo/s1600/foto_0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="235" src="http://1.bp.blogspot.com/-AJw3CofA85Y/TZvH8RHNWxI/AAAAAAAAAEE/mYYpMZgGdfo/s320/foto_0.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Como notamos, tenemos una imagen en un JLabel la cual no se puede distinguir, el siguiente código muestra como poder ajustar la imagen al tamaño del JLabel.&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;ImageIcon fot = new ImageIcon(path_ala_imagen);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Icon icono = new ImageIcon(fot.getImage().getScaledInstance(jLabel1.getWidth(), jLabel1.getHeight(), Image.SCALE_DEFAULT));&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;jLabel1.setIcon(icono);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;this.repaint();&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Explicación&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;En la primera línea se carga la imagen&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Se crea un icono, el cual cargará la imagen, pero usa la instancia "getScalesInsance" la cual permite crear un ajuste/redimensionar &amp;nbsp;la imagen. Hemos puesto que sea del ancho del jLabel1, el cual se especifica con jLabel1.getWidth, el alto con jLabel1.getHeight y lo último son parámetros de Image.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Se le otorga a JLabel1 el icono con su nueva dimensión.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Este pase es opcional, a veces es necesario un repaint para que se noten los cambios.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Resultado:&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_u04ajYdKsg/TZvHC0w0J0I/AAAAAAAAAEA/YGmeQHqMvh4/s1600/foto_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://1.bp.blogspot.com/-_u04ajYdKsg/TZvHC0w0J0I/AAAAAAAAAEA/YGmeQHqMvh4/s320/foto_1.png" width="320" /&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/8807188472660304396-8929867424904148920?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/8929867424904148920/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=8929867424904148920' title='11 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/8929867424904148920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/8929867424904148920'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2011/04/ajustar-imagen-al-tamano-de-un-jlabel.html' title='Ajustar imagen al tamaño de un JLabel - Java'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-AJw3CofA85Y/TZvH8RHNWxI/AAAAAAAAAEE/mYYpMZgGdfo/s72-c/foto_0.png' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-1204039567125787501</id><published>2011-04-03T18:52:00.000-07:00</published><updated>2011-04-03T18:52:15.395-07:00</updated><title type='text'>Marcar Paquetes por tarea</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;En el gesto de paquetes Synaptic existe una utilidad llamada "Marcar paquetes por tarea" el cual agrupa software que ofrece servicios tales como LAMP (Linux Apache MySql Php), Cloud Computing, DNS Server, Printer Server, OpenSSH Server y muchos más.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;En las versiones actuales de Ubuntu (10.10) esta opción no se encuentra habilitada en Synaptic, en el sub-menú edit. &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Para poder activarla es necesario instalar el paquete tasksel desde consola:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;sudo apt-get install tasksel&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Una vez instalada podrá verla en el sub-menú edit en Synaptic. con lo cual podrá instalar los servicios que mencionamos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-cpSH7LnccSM/TZkbSR7c1OI/AAAAAAAAAD0/eIXC64avRbw/s1600/tasksel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="279" src="http://4.bp.blogspot.com/-cpSH7LnccSM/TZkbSR7c1OI/AAAAAAAAAD0/eIXC64avRbw/s320/tasksel.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Y los Servicios que se ofrecen:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 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://1.bp.blogspot.com/-CYLhTHHIvWY/TZkbTazliEI/AAAAAAAAAD4/AM9-baVihKc/s1600/services.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-CYLhTHHIvWY/TZkbTazliEI/AAAAAAAAAD4/AM9-baVihKc/s320/services.png" width="284" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;También se puede acceder a ellos desde consola:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;sudo tasksel&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Y ver la lista de servicios por consola:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;tasksel --list-task&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&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/8807188472660304396-1204039567125787501?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/1204039567125787501/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=1204039567125787501' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/1204039567125787501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/1204039567125787501'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2011/04/marcar-paquetes-por-tarea.html' title='Marcar Paquetes por tarea'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-cpSH7LnccSM/TZkbSR7c1OI/AAAAAAAAAD0/eIXC64avRbw/s72-c/tasksel.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-8910910673405382553</id><published>2009-02-02T20:08:00.000-08:00</published><updated>2009-02-02T22:58:43.328-08:00</updated><title type='text'>FILOSOFIA UNIX</title><content type='html'>&lt;div align="center"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#ff0000;"&gt;UNIX&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;span style="font-family:courier new;"&gt;En nuestra vida informática, desde que nos adentramos al mundo de los sistemas operativos, hemos podido notar el reluciente nombre de “&lt;span style="color:#000000;"&gt;UNIX&lt;/span&gt;”, cosas como: “de ahí se baso el sistema operativo Linux”, “Ellos hablan de la simpleza en los programas”.&lt;br /&gt;&lt;br /&gt;Para poder entender a este sistema operativo portable y multiusuario, debemos comprender  los motivos por lo cual fue creado, y las bases que le dan sentido a la razón de ser.&lt;br /&gt;Luego de chequear su historia, los programadores: &lt;span style="color:#000000;"&gt;Ken Thompson, Dennis Ritchie&lt;/span&gt; deseaban llegar al término de “programa transportable” luego de la creación de Unix se adaptaron a lo el  Lenguaje C, el cual es portable y podía resumir milésimas líneas de código Assembler, tomaron la iniciativa para poder crear su sistema operativos en pequeños programas eficientes.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 226px; height: 320px;" src="http://1.bp.blogspot.com/_vrYQn4oTZRs/SYfpVsvhzEI/AAAAAAAAACU/yVcy3R5Cxdo/s320/unix-is-sexy_klein.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5298460045621709890" /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#ff0000;"&gt;Filosofía UNIX.&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:courier new;"&gt;Ken Thompson creo originalmente  la “Filosofía Unix” para diseñar un sistema operativo, de características pequeñas pero operar el sistema con una interfaz limpia aplicada a servicios. &lt;br /&gt;&lt;br /&gt;Cuando se dio a conocer estos principios, se aclararon muchos aspectos  para no tener una idea errónea del  sistema.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:courier new;"&gt;La filosofía Unix no es un método formal de programación.&lt;/span&gt;&lt;/p&gt;&lt;ul align="justify"&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;No utiliza la teoría de la computación para obtener “teóricamente un software perfecto”.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Su programación es de “abajo hacia arriba: bottom up”.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Es de conocimiento pragmático.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Basado en el conocimiento Empírico o Experiencia.&lt;/span&gt;&lt;/li&gt;&lt;li align="left"&gt;&lt;span style="font-family:courier new;"&gt;No se encuentra en los métodos y las normas oficiales, sino en el medio-reflexivo implícito el conocimiento.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:courier new;"&gt;Aparte de las aclaraciones, hay colaboradores a la par de Ken Thompson, los cuales dieron una explicación explicita sobre las condiciones que se cumplen para Unix. Entre ellos tenemos a Doug McIlroy , creador de las &lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:courier new;"&gt;Unix pipes&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;(Tuberías de Unix):&lt;/span&gt;&lt;/p&gt;&lt;ul align="justify"&gt;&lt;li align="justify"&gt;&lt;span style="font-family:courier new;"&gt;Hacer que cada programa haga una cosa específica, y que lo haga de manera correcta,  es mejor construir algo nuevo, que modificar programas viejos, en los cuales solo se atoran de pequeñas mejoras.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Se espera que la salida de cada programa para convertirse en la entrada a otro, esto permite conectar los  programas que hacen cosas especificas para tener un mayor control sobre que pudo haber fallado.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;No dudes en tirar las piezas sin sentido y luego reconstruirlas, esto permite la reusabilidad de código.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Utilice las herramientas en lugar de ayudar a trabajadores no calificados para aligerar una tarea de programación, incluso si tiene que desviarse para construir las herramientas y esperar para lanzar algunos de ellos después de que haya terminado de usarlos.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Escribir programas para manejar flujos de texto, ya que es una interfaz universal, lo cual permite la conexión con otros programas y poder obtener mejores resultados.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Escribir programas que trabajen de manera conjunta.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:courier new;"&gt;Todo lo anterior puede resumirse en la siguiente frase:&lt;br /&gt;“Esta es la filosofía Unix: Escribir programas que hacen una cosa y hacerlo bien. Escribir programas para trabajar juntos. Escribir programas para manejar flujos de texto, ya que es una interfaz universal.”&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:courier new;"&gt;Todos los colabores de Unix se unieron a la creación, también aportaron valores a  los principios filosóficos, que luego de mucho tiempo se aplico a la forma de poder programar como en el lenguaje C, dando aspectos que podrían  ayudar a programar en base a los principios filosóficos:&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul align="justify"&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Regla de Modularidad: Escribe módulos o partes simples conectadas a través de interfaces los cuales comunican a otros programas.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Regla de Composición: Diseñar programas que se conectarán a otros programas, una salida del programa es la entrada de otro programa.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Imperio de la Robustez: La robustez es el hijo de la transparencia y la simplicidad.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Regla del Silencio: Cuando un programa no tiene nada sorprendente que decir, probablemente no tiene nada que decir.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Énfasis de la menor sorpresa: en lo que respecta en el diseño de la interfaz, no es necesario sorprender.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="center"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#ff0000;"&gt;Una forma simple de ver la  Filosofía UNIX&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 150px;" src="http://4.bp.blogspot.com/_vrYQn4oTZRs/SYfqAiAgWAI/AAAAAAAAACc/iCqLrOgUsaA/s320/kiss.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5298460781474502658" /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;K.I.S.S.  :  Keep It Simple, Stupid&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Es la manera de simplificada de Unix, en lo cual exige ser efectivos a tener exageradas interfaces notorias. Los puntos más importantes rondan en:&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul align="justify"&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Todo lo que puede ser una fuente y destino-debe ser independiente de un filtro.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;Lo pequeño es hermoso. Escribir programas que hacen lo menos es coherente con la realización del trabajo.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="center"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#ff0000;"&gt;Ciertas invenciones en Unix&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Me queda la duda de este video que encontré en youtube, pero ustedes dirán.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;object width="425" height="344"&gt;&lt;embed src="http://www.youtube.com/v/x7pPajOvQGo&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;Fuentes:&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;http://www.unix.com/&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;http://www.geocities.com/v.iniestra/apuntes/unix.html&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;http://www.faqs.org/docs/artu/index.html&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;http://es.wikipedia.org/wiki/Unix#Historia&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;http://www.unix.org/&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;http://en.wikipedia.org/wiki/KISS_Principle&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8807188472660304396-8910910673405382553?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/8910910673405382553/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=8910910673405382553' title='21 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/8910910673405382553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/8910910673405382553'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2009/02/filosofia-unix.html' title='FILOSOFIA UNIX'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vrYQn4oTZRs/SYfpVsvhzEI/AAAAAAAAACU/yVcy3R5Cxdo/s72-c/unix-is-sexy_klein.gif' height='72' width='72'/><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-2810595316594048486</id><published>2009-01-28T09:39:00.000-08:00</published><updated>2009-02-02T19:44:27.086-08:00</updated><title type='text'>Poner una imágen como textura en Java 3D</title><content type='html'>Como siempre programando en Java3D, cree un box, pero me dije, ¿Porqué el box no puede tener como textura una foto o imágen que desee?.&lt;p&gt;Terminando de cuestionarme, investigue por internet como colocar las texturas y por fin llegue a mi respuesta. Se deben crear ciertos objetos que serán parámetros para las figuras geométricas.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#ff0000;"&gt;Crear un objeto para el tipo de textura:&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;int paratextura = Primitive.GENERATE_NORMALS + Primitive.GENERATE_TEXTURE_COORDS;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;em&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-size:100%;"&gt;/*Nota: Esta sentencia pide ciertas librerías, las cuales en Netbeans 5 ó superior indica cuales son las que deben declararse o incluirse.*/&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="font-size:100%;"&gt;Crear objetos de Carga de textura,textura y apariencia:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;TextureLoader loader=null;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;Texture texture=null;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;Appearance ap=null;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#ff0000;"&gt;Inicializar con parámetros:&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;loader = new TextureLoader("pared.jpg","INTENSITY", new Container());&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#006600;"&gt;&lt;em&gt;&lt;span style="font-size:100%;"&gt;/*Nota: "pared.jpg" es la imagen que deseamos sea la textura para nuestra figura geométrica.*/&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;texture = loader.getTexture();&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;ap = new Appearance();&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;ap.setTexture(texture);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="font-size:100%;"&gt;Ahora damos la textura a la figura geométricacon los parámetros ya creados&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;Box cabeza=new Box(1.2f,1.25f,1.25f,paratextura,ap);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#006600;"&gt;&lt;em&gt;&lt;span style="font-size:100%;"&gt;/*Nota: Ahora ingresamos el primer parámetro de paratextura, y el otro porsupuesto de apariencia, y listo.*/&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Y podemos ver los resultados,  para una pared que en si es un box:&lt;/p&gt;&lt;p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 315px; height: 320px;" src="http://2.bp.blogspot.com/_vrYQn4oTZRs/SYe9dYrXGeI/AAAAAAAAACM/DvI4f0bgQPA/s320/pared.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5298411799162853858" /&gt;&lt;/p&gt;&lt;p&gt;Saludos....&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8807188472660304396-2810595316594048486?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/2810595316594048486/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=2810595316594048486' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/2810595316594048486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/2810595316594048486'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2009/01/poner-una-imagen-como-textura-en-java.html' title='Poner una imágen como textura en Java 3D'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vrYQn4oTZRs/SYe9dYrXGeI/AAAAAAAAACM/DvI4f0bgQPA/s72-c/pared.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-7104146805906574709</id><published>2008-12-12T21:24:00.000-08:00</published><updated>2008-12-12T21:36:24.906-08:00</updated><title type='text'>Batallar hasta el último aliento</title><content type='html'>&lt;div style="text-align: justify;"&gt;Gracias a Dios puedo contar que me he librado de una asignatura que me atormento como loco, y pues no me da pena decir que es compiladores 2, dirán seguis hablando de eso.....&lt;br /&gt;&lt;br /&gt;Pero si lo hablo en alto y muchas veces debido, a que  pues fue un gran logro ganar esta asignatura, debido a que me parecia peculiar muchas cosas que en ello pasaron.&lt;br /&gt;Lo que gracias a Dios me ayudo bastante fue el hecho de no tirar el curso la 3ra vez que la cursaba, tomé la decisión de llegar a última instancia, y solo con esa decisión pude ver resultados íncreibles.&lt;br /&gt;&lt;br /&gt;Debido a esto recuerdo las palabras de un entrenador de futbol americano que una vez dijo luego de ganar un partido.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;"No hay ganadores en el partido de hoy.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;En este mundo, sólo los que experimenten&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;la decepción se harán mas fuertes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Todos los que juegan en el campo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;saborearon la derrota alguna vez.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;No hay ningún jugador que no haya perdido antes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Pero, los mejores jugadores hacen todo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lo que pueden para recuperarse cuanto antes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Los jugadores normales tardan en recuperarse.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Y los perdedores, se quedarán llorando en el campo.&lt;/span&gt;"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;asi que ...........&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vrYQn4oTZRs/SUNJs66DRVI/AAAAAAAAACE/FR_6SCHqa28/s1600-h/M93Never-Give-Up-Winston-Churchill-Posters.jpg"&gt;&lt;img style="cursor: pointer; width: 314px; height: 320px;" src="http://4.bp.blogspot.com/_vrYQn4oTZRs/SUNJs66DRVI/AAAAAAAAACE/FR_6SCHqa28/s320/M93Never-Give-Up-Winston-Churchill-Posters.jpg" alt="" id="BLOGGER_PHOTO_ID_5279144224284165458" border="0" /&gt;&lt;/a&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/8807188472660304396-7104146805906574709?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/7104146805906574709/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=7104146805906574709' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/7104146805906574709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/7104146805906574709'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2008/12/batallar-hasta-el-ltimo-aliento.html' title='Batallar hasta el último aliento'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vrYQn4oTZRs/SUNJs66DRVI/AAAAAAAAACE/FR_6SCHqa28/s72-c/M93Never-Give-Up-Winston-Churchill-Posters.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-486035928600520629</id><published>2008-05-01T11:31:00.000-07:00</published><updated>2008-12-12T21:04:46.221-08:00</updated><title type='text'>Gramática que reconoce el lenguaje Java</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vrYQn4oTZRs/SBoQ5n3AdXI/AAAAAAAAABc/L0S7w5ljZyY/s1600-h/05.28.07.ProperGrammar.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_vrYQn4oTZRs/SBoQ5n3AdXI/AAAAAAAAABc/L0S7w5ljZyY/s400/05.28.07.ProperGrammar.jpg" alt="" id="BLOGGER_PHOTO_ID_5195483702263575922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Sígo con el bendito dolor de cabeza de compiladores 2, espero seá la última vez, pues nos han pedido de que leamos código en lenguaje Java, y pues lo optimicemos por el método de mirilla, y luego lo pasemos a tres direcciones de C++, y luego optimizarlo y........... todo esto utilizando JLex y Cup.&lt;br /&gt;&lt;br /&gt;Bueno, el primer paso pues es tener la grámatica que pueda reconocer el código de Java, la cuál por medio de un amigo llego a mi manos( buena onda Yylex), ahora pues teniendo esa grámatica y traduciendola a mi antojo he logrado reconocer el código de Java.&lt;br /&gt;&lt;br /&gt;Los archivos necesarios están disponibles aca-&gt; &lt;a href="http://www.cs.princeton.edu/%7Eappel/modern/java/CUP/javagrm.zip"&gt;DIRECCION&lt;/a&gt;    que pertenece a la página de CUP que esta dirección -&gt; &lt;a href="http://www.cs.princeton.edu/%7Eappel/modern/java/CUP/"&gt;CUP&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Lo único que tuve que crear fue el método sintáctico, el cual con un buen rato sale, bueno otra cosa recomendable es que vean la especifiación del lenguaje java, la cual esta disponible &lt;a href="http://java.sun.com/docs/books/jls/index.html"&gt;ACA&lt;/a&gt; .&lt;br /&gt;Así se puede estudiar las partes en las que esta compuesta la gramática..&lt;br /&gt;&lt;br /&gt;Éxitos.............y que Dios se apiede de nuestro código&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8807188472660304396-486035928600520629?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/486035928600520629/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=486035928600520629' title='10 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/486035928600520629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/486035928600520629'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2008/05/gramtica-que-reconoce-el-lenguaje-java.html' title='Gramática que reconoce el lenguaje Java'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vrYQn4oTZRs/SBoQ5n3AdXI/AAAAAAAAABc/L0S7w5ljZyY/s72-c/05.28.07.ProperGrammar.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-3428384589562331280</id><published>2008-04-09T15:58:00.000-07:00</published><updated>2008-12-12T21:04:46.444-08:00</updated><title type='text'>Usando Janino para crear un FastScriptEvaluator (Ejecutar código de java en tiempo real)</title><content type='html'>&lt;div style="text-align: justify;"&gt;Bueno, estos días angustiado programando mi proyecto de compiladores me tope que una parte debía generar reglas, o mejor dicho procedimientos que se resuelven en tiempo en real, pueden pertenecer a una clase o algo asi, digamos,l lo que venía es:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Duelo&lt;/span&gt; &lt;span style="font-style: italic;"&gt;{&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Definir total_vida=vida+resistencia;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;vida=total_vida-daño;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;lo que logre convertir a java con mi parseador&lt;br /&gt;&lt;span style="font-style: italic;"&gt;public nodo_personaje duelo(nodo_personaje primero,nodo_personaje segundo)&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;{&lt;/span&gt; &lt;span style="font-style: italic;"&gt;    int total_vida;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;   primero.vida=total_vida-segundo.daño;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;  return primero; &lt;/span&gt; &lt;span style="font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Tengo eso en una cadena, y no que hacer con ello, es por eso que utilizo una clase llamada Janino, la cual permite ejecutar Script en tiempo real, entonces logre meter esto es una cadena la cual ejecutaría con el janino el cual pueden encontrar &lt;a href="http://www.janino.net/"&gt;ACA&lt;/a&gt; , bueno el ejemplo que mas sirve es el&lt;br /&gt;de &lt;span style="font-style: italic; font-weight: bold;"&gt;CreateFastScriptEvaluator  &lt;/span&gt;que está en la documentación de janino, áca esta el ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre&gt; Foo f = (Foo) ScriptEvaluator.createFastScriptEvaluator(&lt;br /&gt;new Scanner(null, new StringReader("return a + b;")),&lt;br /&gt;Foo.class,&lt;br /&gt;new String[] { "a", "b" },&lt;br /&gt;(ClassLoader) null         &lt;br /&gt;);&lt;br /&gt;System.out.println("1 + 2 = " + f.bar(1, 2));&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ahora podemos mandar a llamarla con  este bloque, las líneas mas importante son las de new Scanner, ahi pueden meter código java, al menos yo le metí if, while y funciono de maravilla.&lt;br /&gt;&lt;/div&gt;bueno, yo cambie mi interface de ejemplo y la hice de esta manera:&lt;br /&gt;&lt;br /&gt;nodo es esta clase:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;public class nodo {&lt;/span&gt; &lt;span style="font-style: italic;"&gt;    public String cadena="";    &lt;/span&gt; &lt;span style="font-style: italic;"&gt;    &lt;/span&gt; &lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;public nodo() {&lt;/span&gt; &lt;span style="font-style: italic;"&gt;    }&lt;/span&gt; &lt;span style="font-style: italic;"&gt;    &lt;/span&gt; &lt;span style="font-style: italic;"&gt;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La interface la deje asi&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;public interface fox {&lt;/span&gt; &lt;span style="font-style: italic;"&gt;    nodo bar(nodo a,nodo b);&lt;/span&gt; &lt;span style="font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y para ejecutar:&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;nodo un_nodo=new nodo();&lt;/span&gt; &lt;span style="font-style: italic;"&gt;            nodo dos_nodo=new nodo();&lt;/span&gt; &lt;span style="font-style: italic;"&gt;       &lt;br /&gt;un_nodo.cadena="beta";&lt;/span&gt; &lt;span style="font-style: italic;"&gt;            dos_nodo.cadena="gama";&lt;/span&gt; &lt;span style="font-style: italic;"&gt;            &lt;/span&gt; &lt;span style="font-style: italic;"&gt;       &lt;br /&gt;&lt;br /&gt;fox fx = (fox) ScriptEvaluator.createFastScriptEvaluator(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;            new Scanner(null, new StringReader(""+&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;this.jTextField1.getText()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;/span&gt;),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;fox.class,&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;new String[] { "a", "b" },&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;            (ClassLoader) null          // Use current thread's context class loader&lt;/span&gt; &lt;span style="font-style: italic;"&gt;            );&lt;/span&gt; &lt;span style="font-style: italic;"&gt;       &lt;br /&gt;&lt;br /&gt;System.out.println("" + fx.bar(un_nodo,dos_nodo).cadena); //ejecutando&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;NOTA:&lt;/span&gt; ahi puse un &lt;span style="color: rgb(51, 51, 255);"&gt;jTextField&lt;/span&gt; para meter código de java, puse   en jtextfield:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;a.cadena=a.cadena+"$"+b.cadena; return a;&lt;/span&gt;    &lt;/span&gt; y me ejecuto esa línea y dieron los resultado, de ahí varié el JtextField con if, con else while y funcióno, la verdad me sorprendí que cuando meti otro código, me lo ejecuto a la perfección(siempre y cuando metan código de java correctamente).&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;Y gracias a Dios funciono, recuerden que aunque sea un día antes todo llega a la luz, me costo un cacho usarla pero heme aquí, no quiero rendirme ahora seguiremos programando....&lt;br /&gt;&lt;br /&gt;hasta llegar  a ser ....&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vrYQn4oTZRs/R_1QJxXat1I/AAAAAAAAABU/5M4t8xN8pxY/s1600-h/esqueletor5.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_vrYQn4oTZRs/R_1QJxXat1I/AAAAAAAAABU/5M4t8xN8pxY/s400/esqueletor5.gif" alt="" id="BLOGGER_PHOTO_ID_5187390474601281362" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8807188472660304396-3428384589562331280?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/3428384589562331280/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=3428384589562331280' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/3428384589562331280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/3428384589562331280'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2008/04/usando-janino-para-crear-un.html' title='Usando Janino para crear un FastScriptEvaluator (Ejecutar código de java en tiempo real)'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vrYQn4oTZRs/R_1QJxXat1I/AAAAAAAAABU/5M4t8xN8pxY/s72-c/esqueletor5.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-4747728535457745208</id><published>2008-04-05T15:17:00.000-07:00</published><updated>2008-12-12T21:04:46.644-08:00</updated><title type='text'>Atributos Sintetizados en JLex y Cup</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vrYQn4oTZRs/R_f7oF42adI/AAAAAAAAABM/N3kaQxAIsGs/s1600-h/Tema220.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_vrYQn4oTZRs/R_f7oF42adI/AAAAAAAAABM/N3kaQxAIsGs/s400/Tema220.jpg" alt="" id="BLOGGER_PHOTO_ID_5185890162134378962" border="0" /&gt;&lt;/a&gt;&lt;p  style="text-align: justify;font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Llevando mi curso de compiladores 2, en laUSAC con el ingeniero Byron me di cuenta que el usaba mucho los atributos sintetizados de una manera libre, como de esta manera:&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;E -&gt; T + F { E.valor= T.valor+ F.valor} &lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul  style="text-align: justify;font-family:trebuchet ms;"&gt;&lt;li&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; El no terminal &lt;i&gt;“E”&lt;/i&gt; recibe valores de atributos de &lt;i&gt;“T&lt;/i&gt;” y &lt;i&gt;“F”, &lt;/i&gt;todos son el mismo tipo de no terminal, entonces me dije, como puedo lograr eso, ya que solo he usado como si fuera String o Integer, decidí lograrlo de alguna manera. Logre crear mis propios atributos sintetizados a mi manera, este es uno de los métodos:En el archivo que usen para el análisis léxico despues de agregar los import y todas las librerías y paquetes pueden declarar una clase de esta manera:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;import java_cup.runtime.Symbol;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;class cadena&lt;br /&gt;{&lt;br /&gt;public String cad;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;public cadena(String cad_){&lt;br /&gt;cad=new String(cad_);&lt;br /&gt;}&lt;br /&gt;public cadena(String cad1_,String cad2_)&lt;br /&gt;{&lt;br /&gt;cad=new String(cad1_+”,”+cad2_);&lt;br /&gt;}&lt;br /&gt;}&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul  style="text-align: justify;font-family:trebuchet ms;"&gt;&lt;li&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ahora como vemos tenemos esta clase en el archivo léxico, nos disponemos ahora a ir al archivo donde hagan el análisis sintáctico , y en la definicions de no terminales declaran de esta manera:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;   non terminal cadena expr_list, expr_part;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul  style="text-align: justify;font-family:trebuchet ms;"&gt;&lt;li&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; Ahora pasaremos a usarlo, esta es la parte que a todos nos llama la atención, como usar los atributos&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;&lt;br /&gt;expr ::= expr_list:a {:System.out.println(a.cad);:};&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;        expr_list::= expr_list:a COMA expr_part:b {:RESULT=new cadena(a.cad,b.cad);:}&lt;br /&gt;| expr_part:a {:RESULT=new cadena(a.cad);:}&lt;br /&gt;;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;expr_part ::= id:a {:RESULT=new cadena(a);:};&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: justify;font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Nota: id devuelva una cadena de letras y COMA es lo que indica el nombre, este ejemplo reconoce una cadena de palabras separadas por COM&lt;i&gt;A, &lt;/i&gt;pero pueden ser creativo, en su clase creada pueden meter lo que quieran, Arrays,Vector etc, todo lo que Java les permita.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p  style="text-align: justify;font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Además, si tenemos la clase que deseamos sintetizar en un paquete, fácilmente se puede usar igual, en el archivo que utilicen para el análisis sintáctico declaren ese paquete o la clase a usar import &lt;i&gt;package.clases_a_usar;&lt;/i&gt; y en el área de no terminales pueden declararlo libremente,     non terminal clase_a_usar  E; y listo.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p  style="text-align: justify;font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Acá les dejo el ejemplo si desean compilarlo y probarlo, recuerden que en lexico.lex esta la clase y en sintacticup.cup en el área de no terminales esta declarado.&lt;/span&gt;&lt;/p&gt;&lt;p  style="text-align: center;font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;a href="http://fagoner.files.wordpress.com/2008/04/atributos_sintetizado1.pdf"&gt;&lt;span style="font-weight: bold;"&gt;Ejemplo: Atributos sintetizados&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8807188472660304396-4747728535457745208?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/4747728535457745208/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=4747728535457745208' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/4747728535457745208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/4747728535457745208'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2008/04/atributos-sintetizados-en-jlex-y-cup.html' title='Atributos Sintetizados en JLex y Cup'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vrYQn4oTZRs/R_f7oF42adI/AAAAAAAAABM/N3kaQxAIsGs/s72-c/Tema220.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-5511094920961152556</id><published>2007-10-06T14:39:00.000-07:00</published><updated>2007-10-06T20:04:36.805-07:00</updated><title type='text'>Kurikinton fox, un prodigioso de la guitarra</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;Bueno, a mi me gusta tocar la guitarra y siempre he admirado a los chavos que suben sus interpretaciones de rock a youtube, tocando magistralmente como se debe, algunos tocan exítos famosos, otros juegos de video y anime. Pero hasta hoy vi a un maestro para interpretar la música de los videojuegos: "Kurikinton Fox", interpréta música de videos y anime, no pude creerlo al escuchar un viejo exito de ninja gaiden, recuerdos nostálgicos del juego de Final Fantasy VI, y para terminar una interpretación del anime Suzumiya Haruhi. puede entrar a su sitio y bajar las tablaturas y partituras. Enlace: &lt;/span&gt;&lt;a style="color: rgb(51, 102, 255);" href="http://kurikinton-fox.com/" target="_blank" title="http://kurikinton-fox.com/" rel="nofollow"&gt;http://kurikinton-fox.com/&lt;/a&gt;   &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Una particularidad de este artista es que su cubre con una máscara de zorro, motivos no se, talvez es algo tímido. Empecemos con la demostración:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;- Final Fantasy VII The Decisive Battle:&lt;/span&gt;&lt;br /&gt;La música de los enemigos mas fuertes de este juego&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mgXrVO7xR9U"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/mgXrVO7xR9U" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;- F. Chopin Ninja Gaiden&lt;/span&gt;&lt;br /&gt;La nostálgica música de Ninja Gaiden&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UyLxujpC59U"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/UyLxujpC59U" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;-God Knows Suzumiya Haruhi&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Kurikinton fox al ver los covers de muchas personas, decídio hacer el suyo, que en mi opinión es el mejor...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dfQh20oeZxs"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/dfQh20oeZxs" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Porfavor disfrutenlo como yo.....  ; )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8807188472660304396-5511094920961152556?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/5511094920961152556/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=5511094920961152556' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/5511094920961152556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/5511094920961152556'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2007/10/kurikinton-fox-un-prodigioso-de-la.html' title='Kurikinton fox, un prodigioso de la guitarra'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-4170918354972126203</id><published>2007-10-05T22:01:00.000-07:00</published><updated>2007-10-05T22:22:46.712-07:00</updated><title type='text'>Ubuntu por internet</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.cesarius.net/wp-content/uploads/ubuntu-video.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 251px; height: 180px;" src="http://www.cesarius.net/wp-content/uploads/ubuntu-video.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Desde hace por lo menos 10 meses he utilizado ubunto con mi conección ASDL, todo estaba de lujo, cualquier cosas que necesitára podia conseguirla buscando en google, y luego el famoso "sudo apt-get install"; hasta que llego mi desgracia, mi aparato de internet se estropeo, y debido a que no tenía reparación, habia que conseguir uno nuevo.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pero el nuevo aparato no tenia salida ASDL, era USB tipo moden telefónico, y para variar solo tenia el instalador para window$; me dije, "puede ser que funcione con wine" pero no funcionó, luego intente ver en google como instalar el controlador, y la resolución propuesta no me ha funcionado, no tienen idea que frustación ya que ahora debo buscar los paquetes mientras navego en window$,  y cuando intento instalar en ubuntu hay problemas con las dependencias........&lt;br /&gt;&lt;br /&gt;Bueno he visto soluciones, dentro de unos días instalaré el OpenSuse más reciente, puesto que varios foros y blogs mencionan que ellos puedan reconocer este USB moden telefónico que preferiría no decir la marca, pero los usuarios de telefónica movistar creo que sabrán a que me refiero.........&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/8807188472660304396-4170918354972126203?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/4170918354972126203/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=4170918354972126203' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/4170918354972126203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/4170918354972126203'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2007/10/ubuntu-por-internet.html' title='Ubuntu por internet'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-8222785957601800871</id><published>2007-05-27T22:07:00.000-07:00</published><updated>2008-04-05T15:13:37.659-07:00</updated><title type='text'>MEGATOKYO Manga/Comic</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.megatokyo.com/strips/0287.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 349px;" src="http://www.megatokyo.com/strips/0287.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Este manga de Megatokyo, es uno de las historiestas hechos por un americano, que en verdad me ha dejado impactado, su historia los personajes, todo me ha fascinado.&lt;br /&gt;&lt;/div&gt;Una pequeña sinópsis:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Megatokyo narra la historia de dos amigos Piro y Largo que se encaminan a un viaje espirítual a tokyo (en verdad iban a buscar juegos de videos y aparatos electrónicos),  pero cuando se han dado cuenta, se han quedado sin ningún centavo, para poder volver a América.&lt;br /&gt;Al principio se hospedan donde el buen amigo de Piro: Tsubasa, los acoge pero económicamente no puede mantener la situacíon de los huespedes debido a que el también es un comprador compulsivo de anime y juegos de videos.&lt;br /&gt;Con el tiempo Piro y Largo se hacen de amigos y algun tipo de trabajo pero con su obsesión por juegos y aparatos electrónicos les es muy díficil regresar, dado que el dinero lo usan ya sea en juegos o cerveza.&lt;br /&gt;Al principio talvez creerán que esta historia es una burla de los otakus(super aficionados al manga, juego, anime y utiliza la mayor parte de su tiempo en esto), pero en mi opinión es mas una forma fresca de ver como hay que cosas que nos apasionan.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.megatokyo.com/strips/1004.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 336px; height: 417px;" src="http://www.megatokyo.com/strips/1004.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La historia presenta una variedad de personajes muy interesantes y muy misteriosos, extensiones de play station 2.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;!!Y lo mejor de todo, es en línea.....no hay que descargarlo(si te gusta puedes guardarla en tu pc, en lo personal lo hice)!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para verla en inglés:  &lt;a href="http://www.megatokyo.com/index.php?strip_id=1"&gt;MEGATOKYO INGLES&lt;/a&gt;&lt;br /&gt;nota: El autor continúa haciendola, asi que no esperen ver el final todavía, ahorita(lleva por lo menos 1004 páginas dibujadas)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Se que a algunos nos cuesta el inglés, pero no hay que limitarnos, en este mundo del internet y la comunicación debemos estar listo para todos, por cierto saludos al creador de MegaTokyo Fred Gallagher.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8807188472660304396-8222785957601800871?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/8222785957601800871/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=8222785957601800871' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/8222785957601800871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/8222785957601800871'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2007/05/megatokyo-mangacomic.html' title='MEGATOKYO Manga/Comic'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-1066772299014670507</id><published>2007-05-27T21:52:00.000-07:00</published><updated>2007-05-27T21:55:25.488-07:00</updated><title type='text'>Anime + Metal</title><content type='html'>&lt;div style="text-align: justify;"&gt;Estos días vagaba por youtube, y encontré algo que me lleno demasiado la atención y es que encontre openings de retro-anime(anime viejo), pero para mi sorpresa la banda que tocaba el opening, era Animetal, gran banda que se dedica a hacer covers con un buen ritmo metal, bueno, escuchen por ustedes mismo.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bJzLsD7LxF8"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/bJzLsD7LxF8" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8807188472660304396-1066772299014670507?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/1066772299014670507/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=1066772299014670507' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/1066772299014670507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/1066772299014670507'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2007/05/anime-metal.html' title='Anime + Metal'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807188472660304396.post-8039122534810916697</id><published>2007-05-09T15:12:00.001-07:00</published><updated>2007-05-09T15:35:14.764-07:00</updated><title type='text'>TODO EN LINEA</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hola a todos, áca les dejo al menos una manera de ver  anime o manga en línea, tanto como manga on-line, como videos o software necesario para ver o descargar anime.&lt;br /&gt;Empiezo con líneas ya que no desea subir cosas a Megaupload o cosas por el estilo, ya que mi conexión apenas alcanza para bajar ;)    pero cuando tenga mejor conexión, otra será la historia.&lt;br /&gt;&lt;br /&gt;Espero les guste, les dejo una imagen de un comic/manga americano llamado MegaTokyo, de Fred Gallagher que me gusta como imagen para  mi blog....&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.megatokyo.com/strips/0884.jpg"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://www.megatokyo.com/strips/0884.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-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/8807188472660304396-8039122534810916697?l=fagonerx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fagonerx.blogspot.com/feeds/8039122534810916697/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8807188472660304396&amp;postID=8039122534810916697' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/8039122534810916697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807188472660304396/posts/default/8039122534810916697'/><link rel='alternate' type='text/html' href='http://fagonerx.blogspot.com/2007/05/todo-en-linea.html' title='TODO EN LINEA'/><author><name>fagoner</name><uri>http://www.blogger.com/profile/13368816252240860852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
