<?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-4453366539740716284</id><updated>2011-11-27T15:49:11.312-08:00</updated><category term='apache'/><category term='OffTopic'/><category term='Articulos'/><category term='Youtube'/><category term='mysql'/><category term='java'/><category term='hilos'/><category term='php'/><category term='sockets'/><category term='GNU/Linux'/><category term='C'/><category term='MP3'/><category term='O.S'/><category term='ansicoder.org'/><category term='Programacion Segura'/><category term='HTTP'/><category term='codes'/><category term='charlas'/><category term='Portabilidad'/><category term='Software libre'/><category term='Diseño Web'/><category term='Noticias'/><category term='OpenSUSE'/><category term='irc'/><category term='undersecurity'/><category term='Ubuntu'/><category term='Expresiones Regulares'/><category term='Criptografia'/><category term='Procesador de C'/><category term='humor'/><title type='text'>Chilean Coder</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-5517907579289400945</id><published>2010-09-15T05:06:00.000-07:00</published><updated>2011-07-19T18:21:50.882-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ansicoder.org'/><title type='text'>NUEVO BLOG</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Nuevo blog&lt;/span&gt;: &lt;a href="http://ansicoder.net/"&gt;http://ansicoder.&lt;/a&gt;org&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-5517907579289400945?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/5517907579289400945/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2010/09/nuevo-blog.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/5517907579289400945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/5517907579289400945'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2010/09/nuevo-blog.html' title='NUEVO BLOG'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-4088108654060375782</id><published>2010-04-03T11:05:00.000-07:00</published><updated>2010-04-03T18:36:45.494-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='O.S'/><category scheme='http://www.blogger.com/atom/ns#' term='hilos'/><title type='text'>Sistemas Operativos: Universidad de Valladolid</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;BLOQUE 1&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;Fundamentos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Capítulo 1&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Introducción &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[*] Qué es un sistema operativo.&lt;br /&gt;[*] Organización y arquitectura de los sistemas de computación&lt;br /&gt;[*] Estructura y operaciones de los sistemas operativos&lt;br /&gt;[*] Gestión de procesos, de memoria, del almacenamiento.&lt;br /&gt;[*] Protección y seguridad. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Capítulo 2&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Estructuras de los sistemas operativos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[*] Servicios&lt;br /&gt;[*] Interfaces&lt;br /&gt;[*] Llamadas al sistema&lt;br /&gt;[*] Tipos de llamadas al sistema&lt;br /&gt;[*] Programas de sistema&lt;br /&gt;[*] Diseño e implementación de sistemas operativos&lt;br /&gt;[*] Estructura de los sistemas operativos&lt;br /&gt;[*] Máquinas virtuales&lt;br /&gt;[*] Generación de sistemas operativos&lt;br /&gt;[*] Arranque&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;BLOQUE 2&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;Procesos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Capítulo 3&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Procesos &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[*] Concepto de proceso.&lt;br /&gt;[*] Planificación de procesos.&lt;br /&gt;[*] Operaciones con procesos.&lt;br /&gt;[*] Comunicación entre procesos&lt;br /&gt;[*] Sistemas cliente-servidor&lt;br /&gt;[*] Apuntes de creación de procesos e hilos (POSIX) en UNIX.&lt;br /&gt;[*] Colas de mensajes UNIX System V&lt;br /&gt;&lt;br /&gt;Ejercicio: gestión de procesos en Solaris&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Capítulo 4&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;hilos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[*] Introducción&lt;br /&gt;[*] Modelos multihilo&lt;br /&gt;[*] Bibliotecas de hilos&lt;br /&gt;[*] Gestión de hilos&lt;br /&gt;&lt;br /&gt;eso y mas ...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.infor.uva.es/%7Ebenja/programa-sistemas-operativos.html"&gt;Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-4088108654060375782?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/4088108654060375782/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2010/04/sistemas-operativos-universidad-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/4088108654060375782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/4088108654060375782'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2010/04/sistemas-operativos-universidad-de.html' title='Sistemas Operativos: Universidad de Valladolid'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-7174618423415997497</id><published>2010-03-18T14:16:00.000-07:00</published><updated>2010-03-18T14:20:31.856-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diseño Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Software libre'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Diseño Web en GNU/Linux</title><content type='html'>Mirando videos en &lt;a href="http://video.google.es"&gt;googlevideo&lt;/a&gt;  dí con esta conferencia sobre diseño web en GNU/Linux, me gustó saber un poco mas sobre desarrollo en un entorno libre y tambien el enfoque por el lado del profesionalismo que se da en la conferencia, bueno sin más, los invito a verlo:&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="225"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8553900&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8553900&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/8553900"&gt;Diseño Web en GNU/Linux&lt;/a&gt; from &lt;a href="http://vimeo.com/jesusda"&gt;jEsuSdA&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fuente&lt;/span&gt;: &lt;a href="http://video.google.es"&gt;GoogleVideo&lt;/a&gt; &amp; &lt;a href="http://vimeo.com/8553900"&gt;Vimeo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-7174618423415997497?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/7174618423415997497/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2010/03/diseno-web-en-gnulinux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/7174618423415997497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/7174618423415997497'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2010/03/diseno-web-en-gnulinux.html' title='Diseño Web en GNU/Linux'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-2717700062413530625</id><published>2010-03-05T11:06:00.000-08:00</published><updated>2010-03-18T14:23:31.362-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>syntax highlighter en Nano</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Primero veremos todas las opciones de resaltado disponibles, para esto ejecutamos lo siguiente:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;solarin@Gentoo ~ $ ls /usr/share/nano/&lt;br /&gt;asm.nanorc      groff.nanorc   objc.nanorc    ruby.nanorc&lt;br /&gt;awk.nanorc      html.nanorc    ocaml.nanorc   sh.nanorc&lt;br /&gt;c.nanorc        java.nanorc    patch.nanorc   tcl.nanorc&lt;br /&gt;css.nanorc      man-html       perl.nanorc    tex.nanorc&lt;br /&gt;debian.nanorc   man.nanorc     php.nanorc     xml.nanorc&lt;br /&gt;fortran.nanorc  mutt.nanorc    pov.nanorc&lt;br /&gt;gentoo.nanorc   nanorc.nanorc  python.nanorc&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ahora en la carpeta del usuario al que queremos activar el syntax highlighter creamos o editamos el archivo: .nanorc, yo usare el mismo nano.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;nano ~/.nanorc&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;En mi caso yo agregare las lineas necesarias para resaltar el código en C,python,bash,php,perl,asm,awk y java :&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;include "/usr/share/nano/c.nanorc"&lt;br /&gt;include "/usr/share/nano/python.nanorc"&lt;br /&gt;include "/usr/share/nano/sh.nanorc"&lt;br /&gt;include "/usr/share/nano/php.nanorc"&lt;br /&gt;include "/usr/share/nano/perl.nanorc"&lt;br /&gt;include "/usr/share/nano/asm.nanorc"&lt;br /&gt;include "/usr/share/nano/awk.nanorc" &lt;br /&gt;include "/usr/share/nano/java.nanorc"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mas Info:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://linux.die.net/man/5/nanorc"&gt;Man Pages nanorc&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nano-editor.org/"&gt;Nano WebSite Oficial&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-2717700062413530625?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/2717700062413530625/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2010/03/syntax-highlighter-en-nano.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/2717700062413530625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/2717700062413530625'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2010/03/syntax-highlighter-en-nano.html' title='syntax highlighter en Nano'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-5502816451584647368</id><published>2010-03-05T08:22:00.000-08:00</published><updated>2010-03-18T14:23:43.629-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Buscar Texto dentro de un archivo [Linux]</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(51, 204, 0);"&gt;P&lt;/span&gt;ara ello usamos el comando grep:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Por ej, tenemos&lt;/span&gt;: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;solarin@Gentoo ~/Desktop/docs $ ls -l&lt;br /&gt;total 8&lt;br /&gt;-rw-r--r-- 1 solarin solarin   38 Mar  5 13:25 test.txt&lt;br /&gt;-rw-r--r-- 1 solarin solarin   23 Mar  5 13:27 test2.txt&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Con el siguiente respectivo contenido&lt;/span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;solarin@Gentoo ~/Desktop/docs $ cat test.txt&lt;br /&gt;hola esta es una prueba,&lt;br /&gt;esta es otra linea de esta prueba.&lt;br /&gt;otra linea&lt;br /&gt;otra linea&lt;/pre&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;solarin@Gentoo ~/Desktop/codes/docs $ cat test2.txt&lt;br /&gt;esta es una prueba mas&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ahora para buscar la cadena "esta" dentro de uno de estos archivos, sería de la siguiente manera&lt;/span&gt;:&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;solarin@Gentoo ~/Desktop/codes/docs $ grep "esta" test.txt&lt;br /&gt;hola esta es una prueba,&lt;br /&gt;esta es otra linea de esta prueba.&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;Para buscar una cadena en varios archivos, por ejemplo todos los con extension ".txt"&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;solarin@Gentoo ~/Desktop/codes/docs $ grep "esta" ./*.txt&lt;br /&gt;./test.txt:hola esta es una prueba,&lt;br /&gt;./test.txt:esta es otra linea de esta prueba.&lt;br /&gt;./test2.txt:esta es una prueba mas&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Para buscar en todos los archivos dentro de un directorio de manera recursiva (esto se logra utilizando el parametro "-r"&lt;/span&gt;:&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;solarin@Gentoo ~/Desktop/codes/docs $ grep "esta" ./*.txt&lt;br /&gt;./test.txt:hola esta es una prueba,&lt;br /&gt;./test.txt:esta es otra linea de esta prueba.&lt;br /&gt;./test2.txt:esta es una prueba mas&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;Para mas informacion&lt;/span&gt;:&lt;/span&gt; &lt;a href="http://linux.die.net/man/1/grep"&gt;Man Pages&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-5502816451584647368?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/5502816451584647368/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2010/03/buscar-texto-dentro-de-un-archivo-linux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/5502816451584647368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/5502816451584647368'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2010/03/buscar-texto-dentro-de-un-archivo-linux.html' title='Buscar Texto dentro de un archivo [Linux]'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-8933261333270099540</id><published>2010-03-04T18:21:00.000-08:00</published><updated>2010-03-18T14:23:51.625-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Comprimir / Descomprimir Linux</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.tar (tar)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Empaquetar:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;tar cvf archivo.tar /archivo/mayo/*&lt;/pre&gt;&lt;br /&gt;Desempaquetar:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;tar xvf archivo.tar&lt;/pre&gt;&lt;br /&gt;Ver el contenido (sin extraer):&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;tar tvf archivo.tar&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.tar.gz - .tar.z - .tgz (tar con gzip)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Empaquetar y comprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;tar czvf archivo.tar.gz /archivo/mayo/*&lt;/pre&gt;&lt;br /&gt;Desempaquetar y descomprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;tar xzvf archivo.tar.gz&lt;/pre&gt;&lt;br /&gt;Ver el contenido (sin extraer):&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;tar tzvf archivo.tar.gz&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.gz (gzip)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Comprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;gzip -q archivo&lt;/pre&gt;&lt;br /&gt;(El archivo lo comprime y lo renombra como "archivo.gz")&lt;br /&gt;Descomprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;gzip -d archivo.gz&lt;/pre&gt;&lt;br /&gt;(El archivo lo descomprime y lo deja como "archivo"&lt;br /&gt;Nota: gzip solo comprime archivos, no directorios&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.bz2 (bzip2)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Comprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;bzip2 archivo&lt;/pre&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;bunzip2 archivo&lt;/pre&gt;&lt;br /&gt;(El archivo lo comprime y lo renombra como "archivo.bz2")&lt;br /&gt;Descomprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;bzip2 -d archivo.bz2&lt;/pre&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;bunzip2 archivo.bz2&lt;/pre&gt;&lt;br /&gt;(El archivo lo descomprime y lo deja como "archivo")&lt;br /&gt;Nota: bzip2 solo comprime archivos, no directorios&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.tar.bz2 (tar con bzip2)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Comprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;tar -c archivos | bzip2 &gt; archivo.tar.bz2&lt;/pre&gt;&lt;br /&gt;Descomprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;bzip2 -dc archivo.tar.bz2 | tar -xv&lt;/pre&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;tar jvxf archivo.tar.bz2 (versiones recientes de tar)&lt;/pre&gt;&lt;br /&gt;Ver contenido:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;bzip2 -dc archivo.tar.bz2 | tar -tv&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.zip (zip)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Comprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;zip archivo.zip /mayo/archivos&lt;/pre&gt;&lt;br /&gt;Descomprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;unzip archivo.zip&lt;/pre&gt;&lt;br /&gt;Ver contenido:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;unzip -v archivo.zip&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.lha (lha)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Comprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;lha archivo.lha /mayo/archivos&lt;/pre&gt;&lt;br /&gt;Descomprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;lha -x archivo.lha&lt;/pre&gt;&lt;br /&gt;Ver contenido:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;lha -v archivo.lha&lt;/pre&gt;&lt;br /&gt;lha -l archivo.lha&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.zoo (zoo)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Comprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;zoo -a archivo.zoo /mayo/archivos&lt;/pre&gt;&lt;br /&gt;Descomprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;zoo -x archivo.zoo&lt;/pre&gt;&lt;br /&gt;Ver contenido:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;zoo -v archivo.zoo&lt;/pre&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;zoo -L archivo.zoo&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;.rar (rar)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Comprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;rar -a archivo.rar /mayo/archivos&lt;/pre&gt;&lt;br /&gt;Descomprimir:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;rar -x archivo.rar&lt;/pre&gt;&lt;br /&gt;Ver contenido:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;rar -v archivo.rar&lt;/pre&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;rar -l archivo.rar&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 255, 51);"&gt;Visto en&lt;/span&gt;: &lt;a href="http://www.linuxtotal.com.mx/index.php?cont=info_admon_004"&gt;LinuxTotal&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-8933261333270099540?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/8933261333270099540/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2010/03/comprimir-descomprimir-linux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8933261333270099540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8933261333270099540'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2010/03/comprimir-descomprimir-linux.html' title='Comprimir / Descomprimir Linux'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-8929282046375618352</id><published>2010-02-22T14:11:00.000-08:00</published><updated>2010-02-22T14:14:19.333-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Estudio: Dormir la siesta ayuda a estudiar</title><content type='html'>&lt;blockquote&gt;La siesta es una tradición muy arraigada en los países latinos, tanto así que la palabra “siesta” se ha convertido casi en el término universal para referirse al sueño tras el mediodía, ojalá bajo la sombra de un árbol.&lt;br /&gt;&lt;br /&gt;Pero eso no quiere decir que seamos flojos. Según un estudio dado a conocer hoy, la siesta permite despejar la mente y dejarla lista para ser más eficiente después.&lt;br /&gt;&lt;br /&gt;Durante el sueño, la información que está acumulada en tu cerebro en la zona de memoria de corto plazo se traslada al “disco duro” – la memoria de largo plazo. Así, dejas libre la memoria de corto plazo para procesar nuevas informaciones y limpias tu mente, permitiendo aceptar nuevas experiencias.&lt;br /&gt;&lt;br /&gt;Matthew Walker, a cargo del estudio de la Universidad de California, afirmó que “no sólo es importante dormir después de estudiar, sino que es crítico dormir antes”.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold; color: rgb(51, 204, 0);"&gt;&lt;span style="font-size:130%;"&gt;El estudio&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;"&gt;D&lt;/span&gt;urante la investigación se le pidió a 39 jóvenes realizar distintas tareas relacionadas con el aprendizaje. Un grupo debía dormir 90 minutos de siesta mientras el otro debía permanecer despierto. Luego, ambos grupos debían hacer tareas. Y resultó que los que se quedaron despiertos tenían un rendimiento mucho peor que la gente que durmió siesta.&lt;br /&gt;&lt;br /&gt;Una medición de la actividad cerebral de las personas que durmieron reveló que durante la etapa 2 del sueño que no es REM, se “borró el caché” de los durmientes. El estudio explicaría también para qué sirve esta etapa 2 del sueño no-REM, en la que los humanos pasan la mitad del tiempo que duermen.&lt;br /&gt;&lt;br /&gt;La etapa REM es importante para el pensamiento más complejo, permitiendo hacer conexiones y asociaciones entre datos que a primera vista no parecen relacionados.&lt;br /&gt;&lt;br /&gt;Un argumento más a favor del reposo post-almuerzo, que ojalá alguna vez los profesores y las oficinas tomaran en cuenta.&lt;br /&gt;&lt;br /&gt;Visto en: &lt;a href="http://www.fayerwayer.com"&gt;Fayerwayer&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-8929282046375618352?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/8929282046375618352/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2010/02/estudio-dormir-la-siesta-ayuda-estudiar.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8929282046375618352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8929282046375618352'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2010/02/estudio-dormir-la-siesta-ayuda-estudiar.html' title='Estudio: Dormir la siesta ayuda a estudiar'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-2839742364398900763</id><published>2010-02-12T13:01:00.000-08:00</published><updated>2010-02-12T17:13:49.068-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Expresiones Regulares'/><title type='text'>Expresiones regulares en Java</title><content type='html'>Bueno esta publicación consiste en un básico ejemplo del uso de expresiones regulares en java. Ademas ya que estoy comenzando en este lenguaje recuerdo ese dicho de: "Enseñando/compartiendo se aprende", así es que vamos allá:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;¿ Que son las expresiones regulares ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Una expresión regular, a menudo llamada también patrón, es una expresión que describe un conjunto de cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas Handel, Händel y Haendel se describe mediante el patrón "H(a|ä|ae)ndel".&lt;/blockquote&gt;&lt;br /&gt;Citado de: &lt;a href="http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;¿ Que necesitamos para usar expresiones regulares en Java ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En Java a partir del JDK 1.4 se nos proporciona el paquete &lt;span style="color: rgb(204, 51, 204);"&gt;java.util.regexp&lt;/span&gt; el cual está formado por dos clases, que explicaré a continuación, la clase &lt;span style="color: rgb(204, 51, 204);"&gt;Matcher&lt;/span&gt; y la clase &lt;span style="color: rgb(204, 51, 204);"&gt;Pattern &lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Las cuales incluiremos en nuestro programa de la siguiente manera:&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;import java.util.regex.Matcher;&lt;br /&gt;import java.util.regex.Pattern;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;A&lt;/span&gt;lgunos métodos interesantes de la clase &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;"Matcher"&lt;/span&gt;&lt;span style="font-size:130%;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;int end(int group)&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Devuelve el índice del último carácter más 1 de la coincidente con la expresión regular.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;boolean find()&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Busca en la cadena de texto a analizar a partir del último matching, la secuencia de caracteres que puede concordar con la expresión regular&lt;/blockquote&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;boolean find(int start)&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Lo mismo que find() , pero empieza a buscar a partir de un índice que le es dado como parámetro.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;String group()&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Devuelve la cadena que ha sido aceptada por la expresión regular.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;String group (int group)&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Es el equivalente en perl a $n. Es decir, si tenemos una expresión regular tal que : “((a)(b)(c))”, group(2) sería a.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;A&lt;/span&gt;lgunos métodos interesantes de la clase &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;"Pattern"&lt;/span&gt;&lt;span style="font-size:130%;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;static Pattern compile (String expreg)&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Crea un patrón a partir de la expresión regular dada por expreg.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;static Pattern compile(String regex, int flags)&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Crea un patrón a partir de la expresión expreg teniendo en cuenta los flags. Los flags son opciones que se incluyen para tener un trato especial cuando se este trabajando con la expresión regular.&lt;br /&gt;Ejemplo: si quiero que no me distinga entre mayúsculas y minúsculas, tendré que añadir el flag Pattern.CASE_INSENSITIVE.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;int flags ()&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Devuelve los flags asociados a la expresión regular o patrón.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;Matcher matcher(CharSequence input)&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Realizará el tratamiento del patrón sobre el texto que se le pase como entrada.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;static boolean matches(String regex, CharSequence input)&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;La utilidad de este método es que permite la no utilización de un matcher para indicar si una expresión regular puede albergar una cadena o parte de esta.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;String pattern()&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Devuelve la expresión regular asociada al objeto Pattern sobre el que estemos trabajando.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;String [] split (CharSequence input)&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;Tiene el mismo significado que en Perl;es decir, dado un patrón, te crea un array de String con las diferentes cadenas en las que se ha dividido.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;E&lt;/span&gt;l ejemplo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;import java.util.regex.Matcher;&lt;br /&gt;import java.util.regex.Pattern;&lt;br /&gt;&lt;br /&gt;public class regexpjava {&lt;br /&gt;&lt;br /&gt;       public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;           Pattern pat=null;&lt;br /&gt;           Matcher mat=null;&lt;br /&gt;           String texto="&amp;lt;title&amp;gt;Hola soy el titulo&amp;lt;/title&amp;gt;";&lt;br /&gt;           pat=Pattern.compile("&amp;lt;title&amp;gt;(.*?)&amp;lt;/title&amp;gt;");&lt;br /&gt;           mat=pat.matcher(texto);&lt;br /&gt;           System.out.println("Texto \t\t\t: "+texto);&lt;br /&gt;           if(mat.find()){&lt;br /&gt;&lt;br /&gt;               System.out.println("Expresion regular \t: &amp;lt;title&amp;gt;(.*?)&amp;lt;/title&amp;gt;");&lt;br /&gt;               System.out.println("Match! \t\t\t: "+mat.group(1));&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;L&lt;/span&gt;a salida sería la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;Texto    : &amp;lt;title&amp;gt;Hola soy el titulo&amp;lt;/title&amp;gt;&lt;br /&gt;Expresion regular  : &amp;lt;title&amp;gt;(.*?)&amp;lt;/title&amp;gt;&lt;br /&gt;Match!    : Hola soy el titulo&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Bueno creo que el ejemplo es mas que entendible, como para no explicarlo, cualquier cosa aquí estamos.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Referencias:&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/package-summary.html"&gt;java.util.regex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html"&gt;java.util.regex.Pattern&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Matcher.html"&gt;java.util.regex.Matcher&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bpsmind.wordpress.com/2007/07/20/expresiones-regulares-en-java-i-pattern-y-matcher/"&gt;BPSMind&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-2839742364398900763?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/2839742364398900763/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2010/02/expresiones-regulares-en-java.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/2839742364398900763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/2839742364398900763'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2010/02/expresiones-regulares-en-java.html' title='Expresiones regulares en Java'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-6306794174646823490</id><published>2009-11-20T13:44:00.000-08:00</published><updated>2010-02-12T11:28:39.960-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OffTopic'/><title type='text'>Chan Chan!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlEf4POXMoo/S3TSxyHsbaI/AAAAAAAAADY/PrOJ50HHkgw/s1600-h/chan.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 257px;" src="http://2.bp.blogspot.com/_ZlEf4POXMoo/S3TSxyHsbaI/AAAAAAAAADY/PrOJ50HHkgw/s400/chan.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5437202402852498850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Chan Chan!&lt;br /&gt;&lt;br /&gt;No hay mucho que decir la verdad, una web con dos botones, el archiconocido Chan y el Chan Chan! jeje&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Link:&lt;/span&gt; &lt;a href="http://instantchan.com/"&gt;Chan Chan!&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Visto en:&lt;/span&gt; &lt;a href="http://foro.undersecurity.net/read.php?51,6366,6370#msg-6370"&gt;Undersec&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-6306794174646823490?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/6306794174646823490/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/11/chan-chan.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/6306794174646823490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/6306794174646823490'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/11/chan-chan.html' title='Chan Chan!'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZlEf4POXMoo/S3TSxyHsbaI/AAAAAAAAADY/PrOJ50HHkgw/s72-c/chan.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-5749855894690140503</id><published>2009-11-14T11:14:00.000-08:00</published><updated>2010-03-18T14:24:11.294-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Articulos'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Instalación Apache, php, mysql en OpenSuse</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://es.opensuse.org/skins/opensuse/images/common/geeko.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 129px; height: 85px;" src="http://es.opensuse.org/skins/opensuse/images/common/geeko.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Introducción&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Bueno me he descargado la ultima version de opensuse (11.2) , solo quiero decir que es mi primera experiencia con esta distro y luego de tenerla instalada y querer instalar este trio(apache-php-mysql) tan ampliamente utilizado, me he impresionado por la facilidad de instalación, y pues quería compartirlo con todos los que visitan este blog (que hace un tiempo no actualizaba, pido disculpas). Sin mas preámbulo vamos a lo que nos importa.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;El como&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Vamos a instalar apache, para esto abriremos una shell, nos logearemos como root (su root [enter] pones tu password [enter]) , y procedemos con la instalación:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/ap.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 658px; height: 110px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/ap.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Comprobamos el estado del servicio:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/2-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 661px; height: 112px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/2-2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ahora vamos a crear un pequeño código para probar el funcionamiento del servidor:&lt;br /&gt;&lt;br /&gt;Primero nos situamos en el directorio raíz por defecto de nuestro servidor web y creamos el archivo index.html, en mi caso use gedit .&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/index.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 658px; height: 90px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/index.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 651px; height: 268px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/4.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Aquí el código para los copy/paste xD!&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt; Web Server Found&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;h1&amp;gt; Server Web Found !!&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;texto de prueba texto de prueba texto de prueba&lt;br /&gt;texto de prueba &amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Guardamos, cerramos el editor y nos vamos al navegador a ver que tal:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 846px; height: 387px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/9.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A continuación instalaremos php, como módulo de apache y php-mysql, de la siguiente forma:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 658px; height: 79px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/5.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ahora para provar esto, crearemos un nuevo archivo info.php, con lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;phpinfo();&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Lo debería verse mas o menos de la siguiente manera:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/ppp.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 728px; height: 529px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/ppp.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ahora solo nos queda instalar mysql, vamos alla:&lt;br /&gt;&lt;br /&gt;Volvemos a la shell y tipeamos:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/mysql1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 660px; height: 85px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/mysql1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Vemos el estado del servicio con el comando "rcmysql status", como vemos que esta en des-uso lo iniciamos, con "rcmysql start":&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/mysql2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 663px; height: 145px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/mysql2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Veamos si podemos acceder para realizar consultas a nuestro servidor de mysql:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/mysql3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 662px; height: 198px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/mysql3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Estamos dentro :D&lt;br /&gt;&lt;br /&gt;Nota:&lt;br /&gt;&lt;blockquote&gt;Por defecto el usuario de mysql es root sin password alguno, por lo tanto lo que haremos sera modificar el password de root, mas adelante podriamos crear nuevos usuarios con los provilegios mas reducidos pero por ahora y como medida minima de seguridad cambiaremos el password del usuario root.&lt;br /&gt;&lt;/blockquote&gt;Para lo dicho anteriormente usaremos la forma descrita en la referencia oficial de mysql en :  &lt;a href="http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html"&gt;dev.mysql.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/mysql4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 660px; height: 349px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/mysql4.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ahora probamos entrar con nuestro nuevo password:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/testmysql.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 662px; height: 412px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/testmysql.png" alt="" border="0" /&gt;&lt;/a&gt;Al lado de donde dice &lt;span style="color: rgb(204, 51, 204);"&gt;Enter password:&lt;/span&gt; lo que e tipeado es justamente toor .&lt;br /&gt;&lt;br /&gt;Y con eso doy por terminado el proceso de instalción de nuestro servidor web con soporte php y base de datos mysql, solo decir que es una guía básica y muy mejorable, cualquier comentario/sugerencia/corrección/insulto/manifiesto (con respeto) sera bien recibido.&lt;br /&gt;&lt;br /&gt;Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-5749855894690140503?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/5749855894690140503/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/11/instalacion-apache-php-mysql-en.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/5749855894690140503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/5749855894690140503'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/11/instalacion-apache-php-mysql-en.html' title='Instalación Apache, php, mysql en OpenSuse'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-3179387472070109335</id><published>2009-10-23T15:12:00.000-07:00</published><updated>2009-10-23T15:23:33.153-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Leyes de Murphy versión Geek</title><content type='html'>La Ley de murphy como todos sabras y el que no sabe aca se entera dice: "&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 255); font-style: italic;font-size:130%;" &gt;Si algo puede salir mal, saldrá mal. &lt;span style="color: rgb(51, 102, 255);"&gt;(y en el peor momento posible)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);font-size:130%;" &gt;&lt;/span&gt;&lt;/span&gt;". Mirando por ahí encontre esta version Geek de la misma y deribaciones, estan muy buenas xd , sobre todo para esos momentos dificiles del día a día.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1. Todo gadget fallará un día después de que expire la garantía.&lt;br /&gt;&lt;br /&gt;2. Cuando quieres demostrar a alguien que algo no funciona, funcionará.&lt;br /&gt;&lt;br /&gt;3. Nunca tendrás un disco duro del tamaño necesario.&lt;br /&gt;&lt;br /&gt;4. Tu teléfono celular nunca suena pero el día que lo olvidas será el día que mas lo necesites.&lt;br /&gt;&lt;br /&gt;5. Si en una prueba de Matemáticas entre 10.000 temas hay uno del que no estas seguro, ten claro que de eso se va a tratar la prueba.&lt;br /&gt;&lt;br /&gt;6. Es imposible recordar todas tus contraseñas.&lt;br /&gt;&lt;br /&gt;7.El servicio de atención al cliente nunca resolverá tus dudas.&lt;br /&gt;&lt;br /&gt;8. Si un artefacto no funciona, apágalo y enciéndelo el día siguiente, volverá a funcionar como debe.&lt;br /&gt;&lt;br /&gt;8. Las actualizaciones llegaran en el momento menos oportuno.&lt;br /&gt;&lt;br /&gt;9. La probabilidad de que un CD y/o DVD caiga con los datos hacia el piso es directamente proporcional a la importancia de los datos o al costo del disco.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://entretecnologia.blogspot.com/2009/06/leyes-de-murphy-version-geek.html"&gt;Fuente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-3179387472070109335?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/3179387472070109335/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/10/leyes-de-murphy-version-geek.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/3179387472070109335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/3179387472070109335'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/10/leyes-de-murphy-version-geek.html' title='Leyes de Murphy versión Geek'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-2654888295139991561</id><published>2009-09-25T20:27:00.000-07:00</published><updated>2009-09-25T20:32:35.591-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>¿Qué es Programar? ¿Qué es un programador?</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a style="font-weight: bold;" href="http://picandocodigo.net/index.php/2008/06/17/definicion-que-es-la-programacion/"&gt;¿Qué es la programación?&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;: &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;em&gt;&lt;span&gt;&lt;blockquote&gt;La programación se trata de saber cuándo hervir el burro esponja de naranja a través de las filipinas con un gorila orangután cruzado con un sandwich de jamón a la cuarta potencia de doce a través del nilo con un terrible dolor de cabeza de la noche anterior cuando todos los traviesos morrones jalapeños de alfred marchaban como ranas a los elfos del norte a través de los burros de pantano inducidos por jerónimo avecinándose por la línea sobre y encima de la cerca fortificada kilomanjaro fortran pasando la escena de torta anti desagradable meticulosamente hecha a mano donde todos los sombreros hacen citas la leche la cual no es diferente al super hombre lobo del reino infinito del paso-ninja. Es difícil de definir, realmente.&lt;/blockquote&gt;&lt;/span&gt;&lt;/em&gt; &lt;p style="text-align: center; font-weight: bold;"&gt;&lt;a href="http://www.guapacho.net/2008/06/19/acerca-de-programadores/"&gt;¿Qué es un programador?&lt;/a&gt;&lt;em&gt;&lt;span&gt;:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;&lt;blockquote&gt;Un programador es la persona considerada experta en ser capaz de sacar, después de innumerables tecleos, &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;una&lt;/span&gt; serie infinita de respuestas incomprensibles calculadas con precisión micrométrica a partir de vagas asunciones basadas en discutibles cifras tomadas de documentos inconcluyentes y llevados a cabo con instrumentos de escasa precisión, por personas de fiabilidad dudosa y cuestionable mentalidad con el propósito declarado de molestar y confundiar al desesperado e indefenso departamento que tuvo la mala fortuna de pedir la información en primer lugar.&lt;/blockquote&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Claro como el agua.&lt;/p&gt;&lt;p&gt;&lt;a href="http://casidiablo.net/%c2%bfque-es-programar-%c2%bfque-es-un-programador/"&gt;Fuente&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-2654888295139991561?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/2654888295139991561/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/09/que-es-programar-que-es-un-programador.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/2654888295139991561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/2654888295139991561'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/09/que-es-programar-que-es-un-programador.html' title='¿Qué es Programar? ¿Qué es un programador?'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-4478089529473283958</id><published>2009-09-15T12:41:00.000-07:00</published><updated>2009-09-15T12:45:59.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MP3'/><category scheme='http://www.blogger.com/atom/ns#' term='Youtube'/><title type='text'>Subir MP3 a YouTube</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.puntogeek.com/wp-content/uploads/2009/09/mp32tube.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 430px; height: 83px;" src="http://www.puntogeek.com/wp-content/uploads/2009/09/mp32tube.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Uno de los problemas obvios que hay a la hora de intentar &lt;strong style="font-weight: normal;"&gt;subir un MP3 a YouTube&lt;/strong&gt; es el tema del formato incompatible, el sistema no permite subir archivos de audio, por lo tanto, la única solución para hacerlo es adjuntarle una imagen estática para que pueda ser tomado como un video y sea aceptado por el sitio. &lt;p&gt;&lt;a href="http://www.mp32tube.com/"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/a&gt;&lt;a href="http://www.mp32tube.com/"&gt;Mp32Tube&lt;/a&gt; es una herramienta que nos permite hacer esa tarea de manera online, sólo tenemos que subir el archivo en MP3 que queremos para el video, especificar una imagen que tengamos en nuestra computadora, que es la que se le adjuntará y verá en el video, y luego de procesado el mismo se subirá a a YouTube.&lt;/p&gt; &lt;p&gt;A la hora de subirlo tenemos dos opciones, una es la de dejar que se aloje en la cuenta de MP32Tube, lo que nos ahorra tener que loguearnos y no dar datos de acceso, o bien loguearnos con nuestros datos y que el video se aloje en nuestra cuenta de YouTube.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://wwwhatsnew.com/2009/09/13/como-subir-un-mp3-a-youtube/"&gt;&lt;span style="font-weight: bold;"&gt;Fuente&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-4478089529473283958?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/4478089529473283958/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/09/subir-mp3-youtube.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/4478089529473283958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/4478089529473283958'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/09/subir-mp3-youtube.html' title='Subir MP3 a YouTube'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-8451358511059880294</id><published>2009-09-15T05:53:00.000-07:00</published><updated>2009-09-15T07:01:14.801-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Portabilidad'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><category scheme='http://www.blogger.com/atom/ns#' term='Procesador de C'/><title type='text'>Ver identificadores de nuestro procesador, desde la línea de comandos.</title><content type='html'>&lt;span style="color: rgb(102, 102, 204);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;¿Que son los identificadores de Procesador?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Los identificadores de procesador son constantes definidas, dependiendo de nuestra maquina. Estas constantes nos sirven para identificar facilmente en programacion el SO, la arquitectura del ordenador,  o cosas tan simples como la version de nuestro SO, el tamaño de algunos tipos de datos en nuestra maquina, entre otros.&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;¿Cómo puedo saber los identificadores de procesador en mi maquina?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desde una shell tipeamos:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;cpp -dM FICHERO_VACÍO&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Por ejemplo, la salida en mi maquina es:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlEf4POXMoo/Sq-dFQYhWdI/AAAAAAAAABs/rgWUWqcdIa4/s1600-h/1.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 282px;" src="http://4.bp.blogspot.com/_ZlEf4POXMoo/Sq-dFQYhWdI/AAAAAAAAABs/rgWUWqcdIa4/s400/1.jpeg" alt="" id="BLOGGER_PHOTO_ID_5381692793353755090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 102, 204);font-size:100%;" &gt;¿Pero, y toda esa información, para que nos sirve?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Daré un ejemplo muy sencillo, pero muy útil, mas de alguno de ustedes (quienes programan) sabran que el uso de la función system no se recomienda por su portabilidad, bueno pues usando los identificadores del procesador nosotros podemos simular la portabilidad de nuestros programas, el como lo veremos mediante un código de ejemplo.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#ifdef __unix__&lt;br /&gt;#define LIMPIA "clear"&lt;br /&gt;#endif&lt;br /&gt;#ifdef __WIN32__&lt;br /&gt;#define LIMPIA "cls"&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;{&lt;br /&gt;printf("texto que sera limpiado\n");&lt;br /&gt;system(LIMPIA);&lt;br /&gt;printf("\nlimpio\n");&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;span style="color: rgb(102, 102, 204);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;#ifdef &amp;amp; #endif &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Son dos de las Directivas del procesador del lenguaje C, las que nos sirven para incluir condiciones en tiempo de compilación en nuestros programas.&lt;/blockquote&gt;&lt;br /&gt;Es decir: en el caso de este codigo, al momento de compilar:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 153, 0);"&gt;1º -&lt;/span&gt; Se realiza la inclución de la libreria stdio&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 153, 0);"&gt;2º -&lt;/span&gt; Se pregunta esta definido __unix__ o __WIN32__ , y dependiendo de este resultado se opta o por definir LIMPIAR como clear o cls, lo que nos resuelve el problema de la compatibilidad entre estos dos SO.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 102, 204);font-size:100%;" &gt;Acá unos screens, para que vean esto en acción&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;&lt;span style="color: rgb(255, 153, 0);"&gt;&lt;span style="font-weight: bold;"&gt;E&lt;/span&gt;n Linux&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlEf4POXMoo/Sq-bR0TjcrI/AAAAAAAAABM/6dwZ66kLIeg/s1600-h/2.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 224px;" src="http://4.bp.blogspot.com/_ZlEf4POXMoo/Sq-bR0TjcrI/AAAAAAAAABM/6dwZ66kLIeg/s320/2.jpeg" alt="" id="BLOGGER_PHOTO_ID_5381690810131772082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlEf4POXMoo/Sq-bbxhC-MI/AAAAAAAAABU/SY4ukvtOHnc/s1600-h/salida.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 224px;" src="http://3.bp.blogspot.com/_ZlEf4POXMoo/Sq-bbxhC-MI/AAAAAAAAABU/SY4ukvtOHnc/s320/salida.jpeg" alt="" id="BLOGGER_PHOTO_ID_5381690981181749442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0); font-style: italic; font-weight: bold;font-size:100%;" &gt;E&lt;/span&gt;&lt;span style="color: rgb(255, 153, 0); font-style: italic;font-size:100%;" &gt;n Windows&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlEf4POXMoo/Sq-cHLIYj-I/AAAAAAAAABc/ACeJj9FZE1w/s1600-h/win2.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 119px;" src="http://2.bp.blogspot.com/_ZlEf4POXMoo/Sq-cHLIYj-I/AAAAAAAAABc/ACeJj9FZE1w/s320/win2.jpeg" alt="" id="BLOGGER_PHOTO_ID_5381691726792003554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlEf4POXMoo/Sq-cPJ8FyXI/AAAAAAAAABk/tZCSvPHXCzA/s1600-h/win1.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 129px;" src="http://3.bp.blogspot.com/_ZlEf4POXMoo/Sq-cPJ8FyXI/AAAAAAAAABk/tZCSvPHXCzA/s320/win1.jpeg" alt="" id="BLOGGER_PHOTO_ID_5381691863910959474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Links Interesantes:&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://es.wikipedia.org/wiki/Preprocesador_de_C"&gt;Procesador de C&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://msdn.microsoft.com/es-es/library/cc484307%28VS.71%29.aspx"&gt;Directivas del procesador en la MSDN&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-8451358511059880294?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/8451358511059880294/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/09/ver-identificadores-de-nuestro.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8451358511059880294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8451358511059880294'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/09/ver-identificadores-de-nuestro.html' title='Ver identificadores de nuestro procesador, desde la línea de comandos.'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlEf4POXMoo/Sq-dFQYhWdI/AAAAAAAAABs/rgWUWqcdIa4/s72-c/1.jpeg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-4720747912491805833</id><published>2009-09-06T14:03:00.000-07:00</published><updated>2009-09-06T15:54:41.470-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='irc'/><category scheme='http://www.blogger.com/atom/ns#' term='charlas'/><category scheme='http://www.blogger.com/atom/ns#' term='undersecurity'/><title type='text'>Disponibles PDFs Charlas Agosto 2009 US &amp; Mitm</title><content type='html'>&lt;blockquote&gt;Bueno, para los que no estaban enterados, el pasado mes de agosto se realizaron en el Canal IRC de Undersecurity una serie de tres charlas, los expositores fueron OzX, &gt;&gt; s E t H &lt;&lt; &amp;amp; S[e]C  (yo) .&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;L&lt;/span&gt;os temas expuestos en las charlas con sus respectivos PDFs fueron&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1&lt;/span&gt;- &lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;Minería de Datos en PHP&lt;/span&gt; - ( &lt;span style="color: rgb(255, 153, 0);"&gt;OzX&lt;/span&gt; )&lt;u&gt;&lt;span style="color: rgb(204, 153, 153);"&gt;&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;&lt;u&gt;&lt;span style="color: rgb(204, 153, 153);"&gt;Referencias&lt;/span&gt;&lt;/u&gt;: &lt;a href="http://es.wikipedia.org/wiki/Miner%C3%ADa_de_datos" target="_blank" rel="nofollow"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mitm.cl/charlas/Mineria%20de%20Datos.pdf"&gt;Descarga&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;- &lt;b style="color: rgb(51, 102, 255);"&gt;RFI, LFI y Bypass de filtros&lt;/b&gt; - ( &lt;span style="color: rgb(255, 153, 0);"&gt;&gt;&gt; s E t H &lt;&lt;&lt;/span&gt; )&lt;u&gt;&lt;span style="color: rgb(204, 153, 153);"&gt;&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;&lt;u&gt;&lt;span style="color: rgb(204, 153, 153);"&gt;Referencias&lt;/span&gt;&lt;/u&gt;: &lt;a href="http://es.wikipedia.org/wiki/Remote_File_Inclusion_%28RFI%29" target="_blank" rel="nofollow"&gt;RFI&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.xd-blog.com.ar/manuales/bugs/LFI-RFI-UNDERSEC.pdf"&gt;Descarga&lt;/a&gt; - &lt;a href="http://blog.xd-blog.com.ar/programas/php/LFI-RFI-UNDERSEC-PRUEBAS.php.txt"&gt;Código vulnerable expuesto en la charla&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3&lt;/span&gt;- &lt;b style="color: rgb(51, 102, 255);"&gt;Acceso y manejo de Bases de datos básico en C&lt;/b&gt; - ( &lt;span style="color: rgb(255, 153, 0);"&gt;S[e]C&lt;/span&gt; )&lt;u&gt;&lt;span style="color: rgb(204, 153, 153);"&gt;&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;&lt;u&gt;&lt;span style="color: rgb(204, 153, 153);"&gt;Referencias&lt;/span&gt;&lt;/u&gt;: &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/c.html" target="_blank" rel="nofollow"&gt;API&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.xd-blog.com.ar/manuales/programacion/mysql_en_c_sEc_undersecurity.pdf"&gt;Descarga&lt;/a&gt; - &lt;a href="http://pastebin.com/f384b1fd9"&gt;Código C visto en la charla&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;P&lt;/span&gt;&lt;span style="font-style: italic;"&gt;ara mas info ver los siguientes enlaces&lt;/span&gt;:&lt;br /&gt;&lt;a href="http://foro.undersecurity.net/read.php?53,3966"&gt;Enlace1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://foro.undersecurity.net/read.php?53,3838"&gt;Enlace2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://foro.undersecurity.net/read.php?53,4123,4145"&gt;Enlace3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Esta de mas decir que estan todos cordialmente invitados al canal :), los datos son los siguientes:&lt;br /&gt;&lt;br /&gt;Servidor IRC: irc.ircnode.com&lt;br /&gt;Canal IRC   : #undersec&lt;br /&gt;&lt;br /&gt;Olvidaba decir, no dejen de visitar:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://undersecurity.net/"&gt;Undersecurity&lt;/a&gt;, &lt;a href="http://mitm.cl/"&gt;Mitm&lt;/a&gt; &amp;amp; &lt;a href="http://blog.xd-blog.com.ar/"&gt;xD-Blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-4720747912491805833?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/4720747912491805833/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/09/disponibles-pdfs-charlas-agosto-2009-us.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/4720747912491805833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/4720747912491805833'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/09/disponibles-pdfs-charlas-agosto-2009-us.html' title='Disponibles PDFs Charlas Agosto 2009 US &amp; Mitm'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-6383107232483548330</id><published>2009-08-11T17:47:00.000-07:00</published><updated>2009-08-11T20:20:38.528-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Articulos'/><title type='text'>Programacion en C [Parte 1]</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="font-weight: bold;"&gt;L&lt;/span&gt;enguaje C&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;I&lt;/span&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;ntroducción y primer acercamiento&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;B&lt;/span&gt;ueno antes de comenzar con el tema quiero ver algo de que es C y para que se usa, si  vamos a aprender a programar debemos saber para que y porque no?, bueno una pequeña  reseña extraída de wikipedia y algo de saber hehe.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;C es un lenguaje de programación creado en 1972 por Kenneth L. Thompson y Dennis   M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez  basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix . C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.&lt;/blockquote&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/3/36/Ken_n_dennis.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 311px; height: 202px;" src="http://upload.wikimedia.org/wikipedia/commons/3/36/Ken_n_dennis.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;                     “Ken Thompson y Dennis Ritchie”&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Bueno haber como experiencia personal del lenguaje que les puedo decir, yo amo el      lenguaje,   no me considero experto pero lo que se del lenguaje, lo se muy bien, por lo que si  surgen dudas en algo pueden preguntar y yo estaré feliz de ayudar.&lt;br /&gt;Quiero detenerme un minuto para decir que toda la teoría y código expuesto en este articulo  y lo que vendran seran orientados netamente a la programación en C para Unix y usaremos  como compilador el conodicimos GCC.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Instalacion de GC&lt;/span&gt;:&lt;br /&gt;&lt;blockquote&gt;Debian: &lt;span style="color: rgb(255, 204, 0);"&gt;#apt-get install gcc&lt;/span&gt;&lt;br /&gt;Fedora:  &lt;span style="color: rgb(255, 204, 0);"&gt;#yum install gcc&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Los que usen alguna otra distro, les toca buscar xD.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;Hello World!!&lt;/span&gt;&lt;br /&gt;hello.c&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;           &lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;{&lt;br /&gt;printf("Hello World\n");&lt;br /&gt;return 0;&lt;br /&gt;}&lt;/code&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;C&lt;/span&gt;onceptos nuevos Introducidos:&lt;br /&gt;&lt;blockquote&gt;&gt; Librería&lt;br /&gt;&gt; Palabra reservada&lt;br /&gt;&gt; Función&lt;br /&gt;&gt; Tipo de dato&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-family:georgia;font-size:100%;"  &gt;L&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:100%;"  &gt;ibreria&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:100%;"  &gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;font-size:100%;"  &gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;blockquote&gt;En ciencias de la computación, una biblioteca (o librería) es un conjunto de subprogramas utilizados&lt;br /&gt;para desarrollar software. Las bibliotecas contienen código y datos, que proporcionan servicios a programas independientes,&lt;br /&gt;es decir, pasan a formar parte de éstos. En C las librerias tienen la terminacion .h ,&lt;br /&gt;y el formato para incluirlas en nuestros programas es una de las siguientes:&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Georgia,serif;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;P&lt;/span&gt;alabra Reservada&lt;/span&gt;&lt;blockquote face="georgia"&gt;Una palabra reservada en C como en muchos lenguajes de programación&lt;br /&gt;indica palabras con un significado especial dentro del lenguaje&lt;br /&gt;por lo que no pueden ser usadas como nombres de variables. Lista de palabras reservadas aca.&lt;/blockquote&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;F&lt;/span&gt;unción:&lt;blockquote&gt;Entender que es una función es algo muy importante en cualquier lenguaje de programación,&lt;br /&gt;pero en C mas que en ningún otro. Una función es un trozo de código que realiza una tarea especifica.&lt;br /&gt;Una función tiene la siguiente estructura:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;type name(type1 param1, type2 param2)&lt;/code&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-family:Georgia,serif;font-size:100%;"  &gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;br /&gt;D&lt;/span&gt;onde&lt;blockquote&gt;&gt; type   : tipo de dato que retorna la función.&lt;br /&gt;&gt; name   : nombre que recibirá la función.&lt;br /&gt;&gt; param1: dato Nº1 que recibirá la función.&lt;br /&gt;&gt; param2: dato Nº2 que recibirá la función.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;Una función puede recibir mas de un parámetro como podemos ver,&lt;br /&gt;en el ejemplo la función recibe dos parámetros pero podrían ser 3,8,50, o cero,&lt;br /&gt;si es cero se debe usar la palabra reservada void (vacío, nada, cero).&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Estamos recién comenzando por lo que solo me interesa que entiendan&lt;br /&gt;el funcionamiento de la función main la cual existirá si o si en todos nuestros programas.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;La función main para nosotros siempre tendrá esta estructura (forma&lt;span style="font-family:Georgia,serif;"&gt;&lt;pre&gt;&lt;code&gt;int main(type1 param1, type2 param2)&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Donde los parámetros tiene el mismo significado que el que vimos en la estructura de las  funciones en general&lt;/span&gt;&lt;span style=";font-family:Georgia,serif;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Ahora que tenemos una base volvamos al archivo hello.c, analizaremos linea a linea.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/code&gt;&lt;/pre&gt; &lt;stdio.h&gt;&lt;br /&gt;             &lt;br /&gt;&lt;/stdio.h&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style=";font-family:Georgia,serif;font-size:100%;"  &gt;Incluimos la libreria stdio que en C es la libreria que contiene funciones para el manejo de la  entrada y salida de datos estandar. &lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;Entrada estandar: &lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;Teclado.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Salida estandar  : &lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;Pantalla.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;int main(void)&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;Hablabamos de los parametros de una funcion, en este caso no recibe nada (void) ,&lt;br /&gt;el unico caso enque main recibe parametro es cuando queremos llamarlo por consola&lt;br /&gt;de la siguiente forma:   &lt;/span&gt;&lt;span style="color: rgb(255, 204, 0);font-size:100%;" &gt;./programa arg1 arg2 ...&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;Comienzo de la función main.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;cosw&gt;&lt;/cosw&gt;&lt;/span&gt;&lt;pre&gt;&lt;code&gt;&lt;span style="font-size:100%;"&gt;fprintf(stdout,"Hello World\n");&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;Utilizamos la funcion printf, la cual se encuentra definida en la libreria stdio.h,&lt;br /&gt;para imprimir en la salida estandar(stdout - pantalla) la palabra Hello World,&lt;br /&gt;y el caracter \n indica un salto de linea luego de esta impresion.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;return 0;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;Return es una palabra reservada del lenguaje, el la funcion main es un numero entero&lt;br /&gt;que indica al sistema operativo como finalizo el programa, un 0 indica que el programa finalizo correctamente,&lt;br /&gt;un valor distinto indica lo contrario.&lt;/span&gt;&lt;/blockquote&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;Fin de la función main.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-6383107232483548330?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/6383107232483548330/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/08/programacion-en-c-parte-1.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/6383107232483548330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/6383107232483548330'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/08/programacion-en-c-parte-1.html' title='Programacion en C [Parte 1]'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-6949849862088220006</id><published>2009-07-19T07:57:00.000-07:00</published><updated>2009-07-19T08:40:40.746-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Montar y desmontar imágenes .iso en Ubuntu</title><content type='html'>&lt;blockquote&gt;Les presento Gmount-iso ^^ hehe, esta herramienta lo que hace es simplificar mediandiante una interfaz grafica el uso del comando:&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;mount -o loop -t iso9660 My_Image.iso /mountpoint&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Para instalarlo en Ubuntu solo debemos abrir una terminal y tipear: &lt;span style="font-weight:bold;"&gt;aptitude install gmountiso&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Aplicaciones-&gt;Accesorios-&gt;Terminal&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Finalmente en "Aplicaciones-&gt;Herramientas del sistema-&gt;gmount-iso" y deberiamos tener lo siguiente:&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlEf4POXMoo/SmM95lwnkEI/AAAAAAAAAAU/y29APG2ndO0/s1600-h/gmountiso.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 305px; height: 305px;" src="http://3.bp.blogspot.com/_ZlEf4POXMoo/SmM95lwnkEI/AAAAAAAAAAU/y29APG2ndO0/s320/gmountiso.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5360196041098891330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bueno desde aquí la interfaz es mas que intuitiva, queda nada mas seleccionar el .iso, darle a montar y a disfrutar ^^ .&lt;br /&gt;&lt;br /&gt;Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-6949849862088220006?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/6949849862088220006/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/07/montar-y-desmontar-imagenes-iso-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/6949849862088220006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/6949849862088220006'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/07/montar-y-desmontar-imagenes-iso-en.html' title='Montar y desmontar imágenes .iso en Ubuntu'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlEf4POXMoo/SmM95lwnkEI/AAAAAAAAAAU/y29APG2ndO0/s72-c/gmountiso.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-7320216156277490099</id><published>2009-07-10T14:54:00.000-07:00</published><updated>2010-03-18T14:24:29.090-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTTP'/><category scheme='http://www.blogger.com/atom/ns#' term='sockets'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>Obtener código fuente de una web v2.0 Linux by Me</title><content type='html'>&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;#include &amp;lt;netdb.h&amp;gt;  //gethostbyname, structs, recv,send, ...&lt;br /&gt;#include &amp;lt;unistd.h&amp;gt;  //close&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#define PORT 80&lt;br /&gt;#define BUFSIZE 1024&lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;int mi_socket;&lt;br /&gt;struct sockaddr_in *con;&lt;br /&gt;struct hostent *he;&lt;br /&gt;char buffer[BUFSIZE];&lt;br /&gt;char peticion[100];&lt;br /&gt;int i;&lt;br /&gt;&lt;br /&gt;if (argc != 3)&lt;br /&gt;{&lt;br /&gt;  fprintf(stderr,"Parametros incorrectos:\nModo de uso: %s &amp;lt;host&amp;gt; &amp;lt;path&amp;gt;\n",argv[0]);&lt;br /&gt; fprintf(stderr,"Ejemplo    : %s www.web.com index.php\n",argv[0]);&lt;br /&gt;  exit(1);&lt;br /&gt;}&lt;br /&gt;sprintf(peticion,"GET /%s/ HTTP/1.0\r\nHost:%s\r\nUser-agent:Mozilla 5.0 Compatible\r\n\r\n",argv[2],argv[1]);&lt;br /&gt;&lt;br /&gt;fprintf(stdout,"#===========#Request:#============#\n");&lt;br /&gt;fprintf(stdout,"%s\n",peticion);&lt;br /&gt;fprintf(stdout,"#=================================#\n");&lt;br /&gt;mi_socket=socket(AF_INET,SOCK_STREAM,0);&lt;br /&gt;&lt;br /&gt;if(mi_socket==-1)&lt;br /&gt;{&lt;br /&gt; fprintf(stderr,"-&amp;gt;Error al crear el socket\n");&lt;br /&gt; exit(1);&lt;br /&gt;}&lt;br /&gt;fprintf(stdout,"-&amp;gt;Socket creado\n");&lt;br /&gt;if ((he=gethostbyname(argv[1])) == NULL)&lt;br /&gt;{&lt;br /&gt;       fprintf(stderr,"-&amp;gt;Error al obtener informacion de la maquina\n");    &lt;br /&gt;       exit(1);&lt;br /&gt;}&lt;br /&gt;con = (struct sockaddr_in *)malloc(sizeof(struct sockaddr_in *));&lt;br /&gt;con-&amp;gt;sin_family = AF_INET;&lt;br /&gt;con-&amp;gt;sin_port = htons(PORT);&lt;br /&gt;con-&amp;gt;sin_addr = *((struct in_addr *)he-&amp;gt;h_addr);&lt;br /&gt;memset(con-&amp;gt;sin_zero,0,8);&lt;br /&gt;&lt;br /&gt;if (connect(mi_socket, (struct sockaddr *)con,sizeof(struct sockaddr)) == -1)&lt;br /&gt;{&lt;br /&gt;       fprintf(stderr,"-&amp;gt;Error al conectar\n");&lt;br /&gt;       exit(1);&lt;br /&gt;}&lt;br /&gt;fprintf(stdout,"-&amp;gt;Socket conectado\n");&lt;br /&gt;send(mi_socket, peticion, strlen(peticion), 0);&lt;br /&gt;fprintf(stdout,"-&amp;gt;Peticion enviada\n");&lt;br /&gt;fprintf(stdout,"-&amp;gt;Recibiendo respuesta...\n\n");&lt;br /&gt;memset(buffer, 0, sizeof(buffer));&lt;br /&gt;while((i=recv(mi_socket, buffer, BUFSIZE, 0))&amp;gt;0)&lt;br /&gt;{&lt;br /&gt;   fprintf(stdout,"%s",buffer);&lt;br /&gt;   memset(buffer, 0, i); //seteo lo que use del buffer en 0&lt;br /&gt;}&lt;br /&gt;free(con);          &lt;br /&gt;close(mi_socket);&lt;br /&gt;fprintf(stdout,"-&amp;gt;Conexion cerrada\n");&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Compilar:&lt;/span&gt;&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div class="quote"&gt;gcc -Wall code.c -o code&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="quote"&gt;&lt;/div&gt;el -Wall es opcional ya saben &lt;img src="http://xianur0.com/foro/Smileys/default/smiley.gif" alt="Sonrisa" border="0" /&gt; .&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-7320216156277490099?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/7320216156277490099/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/07/obtener-codigo-fuente-de-una-web-v20.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/7320216156277490099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/7320216156277490099'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/07/obtener-codigo-fuente-de-una-web-v20.html' title='Obtener código fuente de una web v2.0 Linux by Me'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-485166434448379273</id><published>2009-07-01T05:33:00.000-07:00</published><updated>2010-02-16T15:49:28.686-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Articulos'/><category scheme='http://www.blogger.com/atom/ns#' term='Criptografia'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C] Code/Decode Cifrado Garbo</title><content type='html'>&lt;a href="http://es.wikipedia.org/wiki/Juan_Pujol_%28Garbo%29"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a href="http://es.wikipedia.org/wiki/Juan_Pujol_%28Garbo%29"&gt;&lt;b&gt;Juan Pujol García&lt;/b&gt;&lt;/a&gt; (Barcelona, España, 14 de febrero de&lt;br /&gt;1912 - Caracas, Venezuela, 10 de octubre de 1988) conocido por su&lt;br /&gt;nombre en clave británico &lt;i&gt;&lt;u&gt;Garbo&lt;/u&gt;&lt;/i&gt;, y por su nombre en&lt;br /&gt;clave alemán &lt;i&gt;&lt;u&gt;Arabel&lt;/u&gt;&lt;/i&gt;, fue un &lt;u&gt;agente doble español&lt;/u&gt;&lt;br /&gt;que desempeñó un papel clave en el éxito del Desembarco de&lt;br /&gt;Normandía al final de la Segunda Guerra Mundial. La información&lt;br /&gt;falsa que Pujol proporcionó a Alemania ayudó a convencer a Hitler&lt;br /&gt;de que el ataque principal sería más tarde y en otro lugar, lo que&lt;br /&gt;resultó en su decisión de reducir las tropas en la zona del&lt;br /&gt;desembarco.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Durante su desempeño como agente doble Garbo empleo entre otros&lt;br /&gt;algoritmos de cifrado, el que veremos a continuación:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;La base del algoritmo son los siguiente alfabetos:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/tabla.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 539px; height: 145px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/tabla.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para cifrar un texto mediante este algoritmo se siguen los siguientes&lt;span style="font-size:100%;"&gt; pasos:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="background: transparent none repeat scroll 0% 0%; margin-bottom: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: center;"&gt;&lt;span style="font-size:100%;"&gt;Supondremos la siguiente cadena: “ARABEL”&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="background: transparent none repeat scroll 0% 0%; margin-bottom: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: center;"&gt;&lt;span style="font-size:100%;"&gt;1º-  Se considera como indice de cada letra de la cadena su respectiva&lt;br /&gt;posicion, es decir:&lt;/span&gt;&lt;/p&gt;&lt;p style="background: transparent none repeat scroll 0% 0%; margin-bottom: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/tabla2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 170px; height: 53px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/tabla2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;2º- se Obtiene para cada letra, su indice módulo 5, y para indices&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;menores que cinco solo se considera su indice, es decir:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/tabla3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 473px; height: 79px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/tabla3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;3º-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Ahora dependiendo el modulo obtenido para cada letra, se decide con&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;que alfabeto sera cifrada(este proceso se realiza dos veces, se cifra cada caracter dos veces), por lo tanto para nuestro ejemplo seria:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/tabla4.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 587px; height: 72px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/tabla4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Esto mismo en formato pdf, &lt;a href="http://www.mediafire.com/?sharekey=440604ee15cd5ac5b64026cfc0611236e04e75f6e8ebb871"&gt;ACA&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Links sobre el tema: &lt;a href="http://es.wikipedia.org/wiki/Juan_Pujol_%28Garbo%29"&gt;[1]&lt;/a&gt; - &lt;a href="http://www.sinfocol.org/2008/12/cifrado-de-garbo-parte-i/"&gt;[2]&lt;/a&gt; - &lt;a href="http://es.wikipedia.org/wiki/MI5"&gt;[3]&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Una implementacion del cifrado y descifrado del mismo algoritmo en lenguaje C por mi, aca:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;/**********************************************&lt;br /&gt;* Nombre        : garbo.c&lt;br /&gt;* Author        : S[e]C&lt;br /&gt;* Date          : 30-06-09&lt;br /&gt;* Description   : Code/Decode Cifrado Garbo&lt;br /&gt;***********************************************/&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Alfabeto original y los 5 alfabetos de cifrado&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;char alfabeto[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";&lt;br /&gt;char alf1[]    ="GHIJKLMNOPQRSTUVWXYZABCDEFghijklmnopqrstuvwxyzabcdef";&lt;br /&gt;char alf2[]    ="EFGHIJKLMABCDNOPQRSTZUVWXYefghijklmabcdnopqrstzuvwxy";&lt;br /&gt;char alf3[]    ="AZYBXCWDVEFUTGHSRIJQKPLMONazybxcwdvefutghsrijqkplmon";&lt;br /&gt;char alf4[]    ="QRSTUVWXYZBACEDFHGJILKMONPqrstuvwxyzbacedfhgjilkmonp";&lt;br /&gt;char alf5[]    ="DEGFIHJABCKOLMNPRQTSVUZXYWdegfihjabckolmnprqtsvuzxyw";&lt;br /&gt;&lt;br /&gt;//Prototipo funciones cifrado y descifrado&lt;br /&gt;void cifra(char *text);&lt;br /&gt;void descifra(char *text);&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;{&lt;br /&gt;char cad[50];&lt;br /&gt;fprintf(stdout,"Cadena a cifrar\t:");&lt;br /&gt;fscanf(stdin,"%s",cad);&lt;br /&gt;cifra(cad);                       //primera pasada&lt;br /&gt;cifra(cad);                       //segunda pasada&lt;br /&gt;printf("Cadena codificada\t:%s\n",cad);&lt;br /&gt;descifra(cad);                    //revierte primera pasada&lt;br /&gt;descifra(cad);                    //revierte segunda pasada&lt;br /&gt;printf("\nCadena decodificada\t:%s\n",cad);&lt;br /&gt;getchar();&lt;br /&gt;getchar();&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void cifra(char *text)&lt;br /&gt;{&lt;br /&gt;int i,k,modulo;&lt;br /&gt;for(i=0;*(text+i)!='\0';i++)&lt;br /&gt;{&lt;br /&gt;modulo=(i+1)%5; /* Obtengo el modulo de la posicion+1  ya que se considera desde&lt;br /&gt;              la letra Nº 1 de la cadena, no la posicion numero 0 de ella. */&lt;br /&gt;switch(modulo)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;case 0: //si el modulo es 0 uso el alfabeto 5&lt;br /&gt;    for(k=0;*(alfabeto+k)!='\0';k++) //miro cada letra del alfabeto&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alfabeto+k))  //y comparo con la primera letra de la cadena&lt;br /&gt;          {                          //si son iguales:&lt;br /&gt;            *(text+i)=*(alf5+k);     //le asigno el valor del alfabeto de cifrado correspondiente(alfX)&lt;br /&gt;            break;                   //salgo del ciclo.&lt;br /&gt;          }&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;&lt;br /&gt;case 1:  //si el modulo es 1 uso el alfabeto 1&lt;br /&gt;    for(k=0;*(alfabeto+k)!='\0';k++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alfabeto+k))&lt;br /&gt;          {&lt;br /&gt;            *(text+i)=*(alf1+k);&lt;br /&gt;            break;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;case 2:  // si el modulo es 2 uso el alfabeto 2&lt;br /&gt;    for(k=0;*(alfabeto+k)!='\0';k++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alfabeto+k))&lt;br /&gt;          {&lt;br /&gt;            *(text+i)=*(alf2+k);&lt;br /&gt;            break;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;case 3: // si el modulo es 3 uso el alfabeto 3&lt;br /&gt;    for(k=0;*(alfabeto+k)!='\0';k++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alfabeto+k))&lt;br /&gt;          {&lt;br /&gt;            *(text+i)=*(alf3+k);&lt;br /&gt;            break;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;case 4: // si el modulo es 4 uso el alfabeto 4&lt;br /&gt;    for(k=0;*(alfabeto+k)!='\0';k++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alfabeto+k))&lt;br /&gt;          {&lt;br /&gt;            *(text+i)=*(alf4+k);&lt;br /&gt;            break;&lt;br /&gt;          }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void descifra(char *text)&lt;br /&gt;{&lt;br /&gt;int i,k,modulo;&lt;br /&gt;for(i=0;*(text+i)!='\0';i++)&lt;br /&gt;{&lt;br /&gt;modulo=(i+1)%5;  //Obtengo el modulo, IDEM que en el proceso de cifrado&lt;br /&gt;switch(modulo)&lt;br /&gt;{&lt;br /&gt;case 0: //si el modulo es 0 decodifico la letra buscando en el alfabeto 5&lt;br /&gt;    for(k=0;*(alf5+k)!='\0';k++)     //miro cada letra del alfabeto X&lt;br /&gt;    {                                //( X = alfabeto correspondiente al modulo )&lt;br /&gt;       if(*(text+i)==*(alf5+k))      //comparo con la primera letra de la cadena&lt;br /&gt;          {                          //si son iguales:&lt;br /&gt;            *(text+i)=*(alfabeto+k); //Le asigno la letra correspondiente&lt;br /&gt;            break;                   //en el alfabeto Original, y salgo del ciclo.&lt;br /&gt;          }&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;&lt;br /&gt;case 1: //si el modulo es 0 decodifico la letra buscando en el alfabeto 1&lt;br /&gt;    for(k=0;*(alf1+k)!='\0';k++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alf1+k))&lt;br /&gt;          {&lt;br /&gt;            *(text+i)=*(alfabeto+k);&lt;br /&gt;            break;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;case 2: //si el modulo es 0 decodifico la letra buscando en el alfabeto 2&lt;br /&gt;    for(k=0;*(alf2+k)!='\0';k++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alf2+k))&lt;br /&gt;          {&lt;br /&gt;            *(text+i)=*(alfabeto+k);&lt;br /&gt;            break;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;case 3: //si el modulo es 0 decodifico la letra buscando en el alfabeto 3&lt;br /&gt;    for(k=0;*(alf3+k)!='\0';k++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alf3+k))&lt;br /&gt;          {&lt;br /&gt;            *(text+i)=*(alfabeto+k);&lt;br /&gt;            break;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;case 4: //si el modulo es 0 decodifico la letra buscando en el alfabeto 4&lt;br /&gt;    for(k=0;*(alf4+k)!='\0';k++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+i)==*(alf4+k))&lt;br /&gt;          {&lt;br /&gt;            *(text+i)=*(alfabeto+k);&lt;br /&gt;            break;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-485166434448379273?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/485166434448379273/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/07/c-codedecode-cifrado-garbo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/485166434448379273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/485166434448379273'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/07/c-codedecode-cifrado-garbo.html' title='[C] Code/Decode Cifrado Garbo'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-249961965831295398</id><published>2009-06-28T15:56:00.000-07:00</published><updated>2010-02-16T15:48:13.240-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Articulos'/><category scheme='http://www.blogger.com/atom/ns#' term='Criptografia'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C]Codifica/Decodifica Cifrado Julio César</title><content type='html'>&lt;p style="font-style: italic;"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;En &lt;a href="http://es.wikipedia.org/wiki/Criptograf%C3%ADa" title="Criptografía"&gt;criptografía&lt;/a&gt;, un cifrado César, también conocido como cifrado por desplazamiento, es una de las técnicas de &lt;a href="http://es.wikipedia.org/wiki/Codificaci%C3%B3n" title="Codificación"&gt;codificación&lt;/a&gt; más simples y más usadas. Es un tipo de &lt;a href="http://es.wikipedia.org/wiki/Cifrado_por_sustituci%C3%B3n" title="Cifrado por sustitución"&gt;cifrado por sustitución&lt;/a&gt; en el que una letra en el texto original es reemplazada por otra letra que se encuentra tres posiciones más adelante en el &lt;a href="http://es.wikipedia.org/wiki/Alfabeto" title="Alfabeto"&gt;alfabeto&lt;/a&gt;. Por ejemplo, la &lt;tt&gt;A&lt;/tt&gt; sería sustituida por la &lt;tt&gt;D&lt;/tt&gt; (situada 3 lugares a la derecha de la &lt;tt&gt;A&lt;/tt&gt; ), la &lt;tt&gt;B&lt;/tt&gt; sería reemplazada por la &lt;tt&gt;E&lt;/tt&gt;, etc. Este método debe su nombre a &lt;a href="http://es.wikipedia.org/wiki/Julio_C%C3%A9sar" title="Julio César"&gt;Julio César&lt;/a&gt;, que lo usaba para comunicarse con sus &lt;a href="http://es.wikipedia.org/wiki/General" title="General"&gt;generales&lt;/a&gt;.&lt;/p&gt; El cifrado César muchas veces es parte componente de sistemas más complejos de codificación, como el &lt;a href="http://es.wikipedia.org/wiki/Cifrado_de_Vigen%C3%A8re" title="Cifrado de Vigenère"&gt;cifrado Vigenère&lt;/a&gt;, e incluso tiene aplicación en el sistema &lt;a href="http://es.wikipedia.org/wiki/ROT13" title="ROT13"&gt;ROT13&lt;/a&gt;.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar"&gt;Fuente&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Nota&lt;/b&gt;&lt;/u&gt;:&lt;br /&gt;Como dice wikipedia el cifrado César es del tipo de cifrados por desplazamiento ( los mas simple jeje), en este caso yo lo eh implementado con un desplazamiento de tres posiciones, si se desea cambiar esto debe modificarse directamente la cadena cifrado y realizar el dezplazamiento deseado.&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;/*&lt;br /&gt;* Codificacion &amp;amp; Decodificacion&lt;br /&gt;*      Cifrado Julio César&lt;br /&gt;* Coder: S[e]C&lt;br /&gt;* Date : 28/06/2009&lt;br /&gt;********************************/&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// cadenas referenciadoras para el mensaje original y cifrado&lt;br /&gt;char *alfabeto="abcdefghijklmnñopqrstuvwxyz";&lt;br /&gt;char *cifrado ="DEFGHIJKLMNÑOPQRSTUVWXYZABC";&lt;br /&gt;&lt;br /&gt;//Prototipo de funcionar para cifrar y decibrar el texto&lt;br /&gt;char* cifra(char*);&lt;br /&gt;char* descifra(char*);&lt;br /&gt;&lt;br /&gt;//Funcion principal para probar el uso de las funciones&lt;br /&gt;int main(void)&lt;br /&gt;{&lt;br /&gt;char cadena[300];&lt;br /&gt;char *res;&lt;br /&gt;fprintf(stdout,"Ingrese texto a cifrar\t:\n");&lt;br /&gt;fscanf(stdin,"%s",cadena);&lt;br /&gt;res=cifra(cadena);&lt;br /&gt;fprintf(stdout,"\nLa cadena Cifrada es\t:%s\n\n",res);&lt;br /&gt;res=descifra(res);&lt;br /&gt;fprintf(stdout,"La cadena Desifrada es\t:%s",res);&lt;br /&gt;getchar();&lt;br /&gt;getchar();&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Funcion que cifra el mensaje&lt;br /&gt;char* cifra(char *text)&lt;br /&gt;{&lt;br /&gt;  int i,j;&lt;br /&gt;  for(j=0;j&amp;lt;strlen(text);j++)&lt;br /&gt;  {&lt;br /&gt;    for(i=0;i&amp;lt;strlen(alfabeto);i++)&lt;br /&gt;    {&lt;br /&gt;       if(*(text+j)==*(alfabeto+i))&lt;br /&gt;       {&lt;br /&gt;       *(text+j)=*(cifrado+i);&lt;br /&gt;       }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  return text;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Funcion que descifra el mensaje&lt;br /&gt;char* descifra(char *text)&lt;br /&gt;{&lt;br /&gt;  int i,j;&lt;br /&gt;  for(j=0;j&amp;lt;strlen(text);j++)&lt;br /&gt;  {&lt;br /&gt;    for(i=0;i&amp;lt;strlen(alfabeto);i++)&lt;br /&gt;    {&lt;br /&gt;       if((*(text+j))==*(cifrado+i))&lt;br /&gt;       {&lt;br /&gt;       *(text+j)=*(alfabeto+i);&lt;br /&gt;       }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  return text;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-249961965831295398?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/249961965831295398/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/ccodificadecodifica-cifrado-julio-cesar.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/249961965831295398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/249961965831295398'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/ccodificadecodifica-cifrado-julio-cesar.html' title='[C]Codifica/Decodifica Cifrado Julio César'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-7807947292912654052</id><published>2009-06-26T19:03:00.000-07:00</published><updated>2009-06-26T19:04:57.616-07:00</updated><title type='text'>Comentarios graciosos en codigos fuentes</title><content type='html'>Me siento ignorado&lt;br /&gt;&lt;br /&gt;   &lt;pre&gt;&lt;code&gt; // a veces creo que el compilador ignora todos mis comentarios&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sinceridad&lt;br /&gt;&lt;br /&gt;   &lt;pre&gt;&lt;code&gt; // estoy borracho, lo arreglo después&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Un poco de magia&lt;br /&gt;&lt;br /&gt;   &lt;pre&gt;&lt;code&gt; // Mágico. No tocar. &lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Por si no se entiende&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;&lt;code&gt;return 1; //retorna 1&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dios, ayúdanos&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;&lt;code&gt;// Cuando escribí esto sólo Dios y yo sabíamos lo que hace.&lt;br /&gt;    // Ahora, sólo Dios sabe.&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Aviso&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;    /*&lt;br /&gt;    * Quizás creas que sabés lo que hace esta porción de código.&lt;br /&gt;    * Creeme, no lo sabés.&lt;br /&gt;    * Si tratás de entenderlo vas a pasar muchos horas sin dormir,&lt;br /&gt;    * maldiciendo el momento que pensaste que eras los suficientemente&lt;br /&gt;    * inteligente para "optimizar" el siguiente código.&lt;br /&gt;    * Así que, cerrá este archivo y andá a jugar con otra cosa.&lt;br /&gt;    */&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Advertencia para al mantenedor&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;    //&lt;br /&gt;    // Querido mantenedor:&lt;br /&gt;    //&lt;br /&gt;    // Una vez que termines de intentar "optimizar" esta rutina,&lt;br /&gt;    // y que te des cuenta del terrible error que cometiste,&lt;br /&gt;    // por favor incrementá el siguiente contador como una&lt;br /&gt;    // advertencia para el próximo:&lt;br /&gt;    //&lt;br /&gt;    // total_de_horas_gastadas_aqui = 16&lt;br /&gt;    //&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Desconfiar de la documentación&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;    /**&lt;br /&gt;    * Siempre devuelve true.&lt;br /&gt;    */&lt;br /&gt;    public boolean isAvailable() {&lt;br /&gt;    return false;&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Arreglo&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;    // no estoy seguro de que esto funcione, pero resuelve el problema&lt;/pre&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-7807947292912654052?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/7807947292912654052/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/comentarios-graciosos-en-codigos.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/7807947292912654052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/7807947292912654052'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/comentarios-graciosos-en-codigos.html' title='Comentarios graciosos en codigos fuentes'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-4953169939309495745</id><published>2009-06-26T18:57:00.000-07:00</published><updated>2009-06-26T19:03:21.994-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[PHP]Forzar la descarga de un fichero en php</title><content type='html'>Si queremos que se fuerce la descargar de un fichero en lugar de abrirlo desde el propio navegador (imágen, pdf, etc...) podemos utilizar la siguiente cabecera desde nuestro fichero php:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;header("Content-type: application/force-download");&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-4953169939309495745?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/4953169939309495745/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/forzar-la-descarga-de-un-fichero-en-php.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/4953169939309495745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/4953169939309495745'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/forzar-la-descarga-de-un-fichero-en-php.html' title='[PHP]Forzar la descarga de un fichero en php'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-5245618447125122527</id><published>2009-06-24T14:14:00.000-07:00</published><updated>2009-06-24T14:16:54.829-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>Codigo Fuente Windows 2000</title><content type='html'>Sin comentarios,  es solo un chiste informatico  ^^ .&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include "Win30.h"&lt;br /&gt;&lt;br /&gt;#include "Win31.h"&lt;br /&gt;&lt;br /&gt;#include "Win95.h"&lt;br /&gt;&lt;br /&gt;#include "AlgoMas.h"&lt;br /&gt;&lt;br /&gt;#include "CodigoAntiguo.h"&lt;br /&gt;&lt;br /&gt;#include "NormasDeBillGates.h"&lt;br /&gt;&lt;br /&gt;#include "CosasDeRelleno.h"&lt;br /&gt;&lt;br /&gt;#include "Monopoly.h"&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;#define INSTALAR&amp;#160;&amp;#160;&amp;#160;&amp;#160; TODO_SIN_EXCEPCION_Y_A_LO_BESTIA&lt;br /&gt;&lt;br /&gt;#define CASCAR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -5483021548692487811456214478252114545621&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;static char Escritorio[16000000];&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* 16 Mb */&lt;br /&gt;&lt;br /&gt;static char Accesorios[8000000];&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/*&amp;#160;&amp;#160;8 Mb */&lt;br /&gt;&lt;br /&gt;static char Explorer4[4000000];&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /*&amp;#160;&amp;#160;4 Mb */&lt;br /&gt;&lt;br /&gt;static char ProgramasDeUsuario[2000000];&amp;#160;&amp;#160;/*&amp;#160;&amp;#160;2 Mb */&lt;br /&gt;&lt;br /&gt;static char MemoriaLibre[2000000];&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/*&amp;#160;&amp;#160;2 Mb */&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; while (NoCasque())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; {&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MostrarMensajeCopyright();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MostrarMensajeNormasBillGates();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;DesactivarBotonReset();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;BucleParaNoHacerNada();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (PRIMERA_INSTALACION)&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; while (TamanyoDiscoSwap() &amp;lt; (ESPACIO_PARA_WINDOWS_ENTERITO * 5))&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Ocupar50MbParaDiscoDeSwap();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;BucleParaNoHacerNada();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EliminarSistemaDeArchivosHPFS();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EliminarCualquierRastroDeOS2();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DeshabilitarInstalacionDeNetscape();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DeshabilitarInstalacionDeRealPlayer();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (QuedaAlgunRastroSospechoso())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ColgarSistema();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MostrarAlgunaCosaBonitaPeroInutil();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MostrarMensajeCopyrightOtraVez();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;BucleParaNoHacerNada();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;HacerVerQueHaceAlgo();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (SigueSinCascar())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MostrarMensajeCopyrightOtraVez();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BucleParaNoHacerNada();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EjecutarWin31();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (AunSigueSinCascar())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;EjecutarWin30();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BucleParaNoHacerNada_1();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BucleParaNoHacerNada_2();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BucleParaNoHacerNada_3();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BucleParaNoHacerNada_Etcetera();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (UsuarioNoAceptaWindowsComoAlgoUtil())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; goto VETE_A_SABER_DONDE;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (SeHaDetectadoCache())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DeshabilitarCache();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (CPU_Rapida())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EstablecerEstadosDeEspera(MUCHISIMOS);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EstablecerRaton(VELOCIDAD, MUY_LENTO);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EstablecerRaton(ACCION, DESPLAZARSE_A_SALTOS);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EstablecerRaton(REACCION, A_VECES);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EstablecerTeclado(VELOCIDAD_PARPADEO, MUY_LENTO);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EstablecerTeclado(VELOCIDAD_REPETICION, MUY_LENTO);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/* printf("Bienvenido a Windows 3.0"); */&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/* printf("Bienvenido a Windows 3.1"); */&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/* printf("Bienvenido a Windows 95");&amp;#160;&amp;#160;*/&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/* printf("Bienvenido a Windows 98");&amp;#160;&amp;#160;*/&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;printf("Bienvenido a Windows 2000");&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (CPU != INTEL)&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DeshabilitarRaton();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DesconfigurarTeclado();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ColgarSistema(INDICADOR_MSDOS);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;else&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MemoriaDeSistema = open("a:\swp0001.swp", O_CREATE);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; while (NoHayaSuficienteEspacioEnDisco())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;printf("Inserte un nuevo disco en la unidad A:");&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;while (NOS_SALGA_DE_LOS_HUEVOS)&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sleep(5000);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ObtenerEntradaUsuario();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sleep(5000);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ReaccionarAPeticionUsuario();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (ObtenerNumeroAlAzar() != BINGOOOO)&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; GenerarErrorDeProteccionGeneral();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/* Fin de bucle principal */&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; }&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; /* Finalizar sesión */&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; if (AunNoHaCascadoDelTodo())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; {&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (ObtenerOtroNumeroAlAzar() != BINGOOOO)&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MandarExplorerALaMierda();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (HayAlgoAbierto())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Accion = MostrarMensaje("¿Desea guardar los datos?");&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (Accion == SI)&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; GuardarDatos_JAJAJA();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MandarloTodoAlCarajo();&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;printf("Windows se está cerrando");&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;while (HAYA_PRISA)&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sleep(5000);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (UsuarioYaLlegaTardeDondeTeniaQueIr())&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; printf("Ahora puede apagar el equipo.");&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; }&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; return ((int)((long)((float)((double)((re double)CASCAR)))));&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-5245618447125122527?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/5245618447125122527/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/codigo-fuente-windows-2000.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/5245618447125122527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/5245618447125122527'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/codigo-fuente-windows-2000.html' title='Codigo Fuente Windows 2000'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-2666554937641623006</id><published>2009-06-20T08:58:00.000-07:00</published><updated>2009-06-20T09:03:03.740-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[Java]  Suma dos números</title><content type='html'>Bueno estoy comenzando con Java, aquí el primer codigo ^^ jeje,  despues de todo este blog pretende ser una biblioteca para ver luego mis avances y ademas servir de apoyo o referencia a quien lo necesites :) .&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Nota:&lt;/span&gt; Recibi sugerencia de comentarios en mis codigos, cosa que no acostumbro hacer, desde ahora intentare que asi sea desde ahora.&lt;br /&gt;&lt;br /&gt;Bueno aca el codigo:&lt;br /&gt;&lt;br /&gt;Suma.java&lt;br /&gt;&lt;div style="text-align: center;"&gt;________________________&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;import java.io.*; /*  Libreria equivalente a stdio en C,                       */&lt;br /&gt;                 /*  que proporciona gestion de la entrada y salida de datos, */&lt;br /&gt;                 /*  tanto para la I/O estandar, como manejo de archivos .    */&lt;br /&gt;                 /*************************************************************/&lt;br /&gt;                &lt;br /&gt;public class suma  //signatura de clase que usare para sumar dos numeros enteros&lt;br /&gt;{&lt;br /&gt;   public static void main (String [] args) //funcion principal del programa&lt;br /&gt;   {&lt;br /&gt;    int suma,num1,num2;&lt;br /&gt;    //Creo un flujo para leer datos&lt;br /&gt;       InputStreamReader isr = new InputStreamReader(System.in);&lt;br /&gt;       //Creo un buffer que se adapte al tamaño de lo que lea con el ISR&lt;br /&gt;       BufferedReader br = new BufferedReader (isr);&lt;br /&gt;&lt;br /&gt;       try // Hago esto&lt;br /&gt;       {&lt;br /&gt;           System.out.print("Sumando 1\t:");       //Pido el primer sumando&lt;br /&gt;           num1 = Integer.parseInt(br.readLine()); //Leo el primer sumando y hago un cast a Entero&lt;br /&gt;           System.out.print("Sumando 2\t:");       //     ´´&lt;br /&gt;           num2 = Integer.parseInt(br.readLine()); //     ´´&lt;br /&gt;           suma=num1+num2;&lt;br /&gt;           System.out.println ("La suma es " + num1+ "+" + num2 +"="+ suma); //Muestro el Resultado&lt;br /&gt;       }&lt;br /&gt;       catch (Exception e) // en caso de error captura la excepcion y la muestra (control de errores)&lt;br /&gt;       {&lt;br /&gt;           e.printStackTrace(); //Muestro la excepcion en caso de que se generace&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-2666554937641623006?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/2666554937641623006/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/java-suma-dos-numeros.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/2666554937641623006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/2666554937641623006'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/java-suma-dos-numeros.html' title='[Java]  Suma dos números'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-3989180642251275487</id><published>2009-06-17T07:55:00.000-07:00</published><updated>2009-06-17T07:57:25.453-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C]Consulta a mysql desde C</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt; &lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt; &lt;br /&gt;&lt;br /&gt;#include &amp;lt;mysql/mysql.h&amp;gt; &lt;br /&gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;#define HOST&amp;#160;&amp;#160;"localhost"&amp;#160;&amp;#160;&amp;#160;&amp;#160; // nombre del servidor local&lt;br /&gt;&lt;br /&gt;#define MYSQL_USER&amp;#160;&amp;#160;"muyuser" // nombre de usuario&lt;br /&gt;&lt;br /&gt;#define MYSQL_PASS "123456"&amp;#160;&amp;#160;// password xD &lt;br /&gt;&lt;br /&gt;#define MYSQL_DB&amp;#160;&amp;#160;"test"&amp;#160;&amp;#160; // nombre de la base de datos&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;int main(void) &lt;br /&gt;&lt;br /&gt;{&amp;#160;&amp;#160;MYSQL_ROW&amp;#160;&amp;#160; row; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; MYSQL_RES&amp;#160;&amp;#160; *res; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; MYSQL_FIELD field; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; MYSQL mysql; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; char consulta[1024]; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; mysql_init(&amp;amp;mysql); &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; if (!mysql_real_connect(&amp;amp;mysql,HOST,MYSQL_USER,MYSQL_PASS,MYSQL_DB,0,NULL,0)) &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; {&amp;#160;&amp;#160; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; printf( "Error de conexión: [$s]", mysql_error(&amp;amp;mysql)); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 1; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; } &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; sprintf(consulta,"SELECT * FROM usuarios "); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; if(mysql_query(&amp;amp;mysql,consulta)==0) &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; {&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; res = mysql_use_result(&amp;amp;mysql); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; while((row=mysql_fetch_row(res)) &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{ &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; printf("%s\n",row[2]); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;} &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!mysql_eof(res)) &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{ &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; printf( "Error de lectura: [%s]\n", mysql_error(&amp;amp;mysql)); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mysql_close(&amp;amp;mysql); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 1; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; } &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; mysql_close(&amp;amp;mysql); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160; return 0;&amp;#160;&amp;#160;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-3989180642251275487?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/3989180642251275487/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cconsulta-mysql-desde-c.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/3989180642251275487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/3989180642251275487'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cconsulta-mysql-desde-c.html' title='[C]Consulta a mysql desde C'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-3229063910182467418</id><published>2009-06-17T07:49:00.000-07:00</published><updated>2009-06-17T07:54:12.733-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C]DecToBin</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int binario(int num); &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;int main(void) &lt;br /&gt;&lt;br /&gt;{ &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;int n;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;printf("Dame un numero:"); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;scanf("%d",&amp;amp;n); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;binario(n); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;getchar(); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;getchar(); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;return 0;&lt;br /&gt;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;int binario(int num) &lt;br /&gt;&lt;br /&gt;{ &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;if (num == 0) &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;return 1; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;}else{ &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;binario(num/2); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;} &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;printf("%d",num%2); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;return 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-3229063910182467418?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/3229063910182467418/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cdectobin.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/3229063910182467418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/3229063910182467418'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cdectobin.html' title='[C]DecToBin'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-803086544533079288</id><published>2009-06-10T14:54:00.000-07:00</published><updated>2010-02-16T15:47:00.485-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C]Ordenacion - Método Burbuja</title><content type='html'>&lt;span style="color: rgb(255, 102, 0); font-weight: bold; font-style: italic;"&gt;Definicion:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El &lt;span style="font-style: italic;"&gt;Ordenamiento de Burbuja&lt;/span&gt; (Bubble Sort en inglés) es un sencillo &lt;a style="color: rgb(51, 204, 0);" href="http://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento" title="Algoritmo de ordenamiento"&gt;algoritmo de ordenamiento&lt;/a&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;.&lt;/span&gt; Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este &lt;a style="color: rgb(51, 255, 51);" href="http://es.wikipedia.org/wiki/Algoritmo" title="Algoritmo"&gt;algoritmo&lt;/a&gt; obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el &lt;span style="font-style: italic;"&gt;método del intercambio directo&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Un codigo que implementa ese sencillo metodo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#define SIZE 100&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;{&lt;br /&gt;  int vector[SIZE],tam,i,j,aux;&lt;br /&gt;&lt;br /&gt;  printf("\nIngrese el numero de Columnas de la matriz\t:");&lt;br /&gt;  scanf("%d",&amp;amp;tam);&lt;br /&gt;  printf("\n");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   for(j=0;j&amp;lt;tam;j++)&lt;br /&gt;   {&lt;br /&gt;     printf("\nIngrese el elemento [%d] del vector\t:",j);&lt;br /&gt;     scanf("%d",&amp;amp;vector[j]);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;  for(i=0;i&amp;lt;tam;i++)&lt;br /&gt;  {&lt;br /&gt;   for(j=0;j&amp;lt;tam;j++)&lt;br /&gt;   {&lt;br /&gt;    if(vector[j+1] &amp;lt; vector[j])&lt;br /&gt;       {      &lt;br /&gt;        aux=vector[j+1];       // Se intercambian los elementos&lt;br /&gt;        vector[j+1]=vector[j]; // de las posiciones j y j+1&lt;br /&gt;        vector[j]=aux;         // usando una variable auxiliar.&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  printf("\nEl vector Ordenado es\t:\n");&lt;br /&gt;&lt;br /&gt;   for(j=0;j&amp;lt;tam;j++)&lt;br /&gt;   {&lt;br /&gt;     printf("%d",vector[j]);&lt;br /&gt;   }&lt;br /&gt;  getchar();&lt;br /&gt;  getchar();&lt;br /&gt;&lt;br /&gt;  return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-803086544533079288?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/803086544533079288/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cordenacion-metodo-burbuja.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/803086544533079288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/803086544533079288'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cordenacion-metodo-burbuja.html' title='[C]Ordenacion - Método Burbuja'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-272161318926500370</id><published>2009-06-10T08:31:00.000-07:00</published><updated>2009-07-13T08:36:53.531-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programacion Segura'/><title type='text'>Links sobre programacion Segura</title><content type='html'>&lt;strong style="color: rgb(255, 102, 0); font-style: italic;"&gt;Contenido&lt;/strong&gt;&lt;br /&gt;Transparencias (en pdf)&lt;br /&gt;Transparencias de Fernando Tricas&lt;br /&gt;&lt;br /&gt;&lt;quote&gt;* Introducción&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema I&lt;/span&gt;: Gestión del riesgo&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema II&lt;/span&gt;: Seleccionando tecnologías&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema III&lt;/span&gt; ¿Qué hacemos con el código fuente?&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema IV&lt;/span&gt;: Principios básicos&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema V&lt;/span&gt;: Control de acceso&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema VI&lt;/span&gt;: Condiciones de carrera&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema VII&lt;/span&gt;: Autentificación con clave&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema VIII&lt;/span&gt;: Aleatoriedad y determinismo&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema IX&lt;/span&gt;: Criptografía&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema X&lt;/span&gt;: Desbordamientos de memoria&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema XI&lt;/span&gt;: Gestión de la confianza y validación de entradas&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema XII&lt;/span&gt;: Seguridad en bases de datos&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema XIII&lt;/span&gt;: Seguridad en el lado del cliente&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema XIV&lt;/span&gt;: Auditoría de programas&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema XV&lt;/span&gt;: En la web&lt;br /&gt;* &lt;span style="color: rgb(51, 204, 0);"&gt;Tema XVI&lt;/span&gt;: Algunos lenguajes&lt;br /&gt;* Conclusiones&lt;br /&gt;&lt;/quote&gt;&lt;br /&gt;&lt;a href="http://webdiis.unizar.es/%7Eftricas/Asignaturas/seguridadD/transparencias.html"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-272161318926500370?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/272161318926500370/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/links-sobre-programacion-segura.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/272161318926500370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/272161318926500370'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/links-sobre-programacion-segura.html' title='Links sobre programacion Segura'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-8211366369489141203</id><published>2009-06-07T17:23:00.000-07:00</published><updated>2009-07-13T08:38:55.082-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='sockets'/><category scheme='http://www.blogger.com/atom/ns#' term='irc'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C] Conectar a IRC / Bot Simple</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;conio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;winsock2.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#define PORT 6667&lt;br /&gt;&lt;br /&gt;#define SERVER "irc.freenode.net"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;   WSADATA wsa_;&lt;br /&gt;&lt;br /&gt;   SOCKET sock;&lt;br /&gt;&lt;br /&gt;   struct hostent *host;&lt;br /&gt;&lt;br /&gt;   struct sockaddr_in direc;&lt;br /&gt;&lt;br /&gt;   char buffer[8192];&lt;br /&gt;&lt;br /&gt;   char mensaje[]="PRIVMSG #txus_sala :Holaaa soy un Bot de IRC =P\r\n";&lt;br /&gt;&lt;br /&gt;   char peticion1[]="NICK SeC\r\n";&lt;br /&gt;&lt;br /&gt;   char peticion2[]="USER S[e]C_Bot Bot version : 2.0v \r\n";&lt;br /&gt;&lt;br /&gt;   char peticion3[]="JOIN #txus_sala\r\n";&lt;br /&gt;&lt;br /&gt;   int len1=strlen(peticion1),len2=strlen(peticion2),len3=strlen(peticion3);&lt;br /&gt;&lt;br /&gt;   int sock;&lt;br /&gt;&lt;br /&gt;   int i;  &lt;br /&gt;&lt;br /&gt;   WSAStartup(MAKEWORD(2,2),&amp;amp;wsa_);&lt;br /&gt;&lt;br /&gt;   host=gethostbyname(SERVER);&lt;br /&gt;&lt;br /&gt;   sock=socket(AF_INET,SOCK_STREAM,0);&lt;br /&gt;&lt;br /&gt;   if(sock==-1)&lt;br /&gt;&lt;br /&gt;   {&lt;br /&gt;&lt;br /&gt;     fprintf(stdout,"Error al crear socket\n");&lt;br /&gt;&lt;br /&gt;     return (-1);&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;   direc.sin_family=AF_INET;&lt;br /&gt;&lt;br /&gt;   direc.sin_port=htons(PORT);&lt;br /&gt;&lt;br /&gt;   direc.sin_addr=*((struct in_addr *)host-&amp;gt;h_addr);&lt;br /&gt;&lt;br /&gt;   memset(direc.sin_zero,0,8);&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;   if (connect(sock, (struct sockaddr *)&amp;amp;direc,sizeof(struct sockaddr)) == -1)&lt;br /&gt;&lt;br /&gt;   {&lt;br /&gt;&lt;br /&gt;             fprintf(stdout,"Error al conectar al servidor\n");&lt;br /&gt;&lt;br /&gt;             return (-1);&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;           send(sock, peticion1, len1, 0);&lt;br /&gt;&lt;br /&gt;           printf("Sent nick\n");&lt;br /&gt;&lt;br /&gt;           send(sock, peticion2, len2, 0);&lt;br /&gt;&lt;br /&gt;           printf("Sent user id\n");&lt;br /&gt;&lt;br /&gt;           send(sock, peticion3, len3, 0);&lt;br /&gt;&lt;br /&gt;           printf("Joining Channel\n");&lt;br /&gt;&lt;br /&gt;   i=0;&lt;br /&gt;&lt;br /&gt;   send(sock,mensaje,strlen(mensaje),0);&lt;br /&gt;&lt;br /&gt;   do&lt;br /&gt;&lt;br /&gt;   {&lt;br /&gt;&lt;br /&gt;       i = recv(sock, buffer, sizeof(buffer), 0);      &lt;br /&gt;&lt;br /&gt;       fprintf(stdout,"%s",buffer);      &lt;br /&gt;&lt;br /&gt;   } while (i != 0);&lt;br /&gt;&lt;br /&gt;   getchar();&lt;br /&gt;&lt;br /&gt;   getchar();&lt;br /&gt;&lt;br /&gt;   return 0; &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-8211366369489141203?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/8211366369489141203/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/c-conectar-irc-bot-simple.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8211366369489141203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8211366369489141203'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/c-conectar-irc-bot-simple.html' title='[C] Conectar a IRC / Bot Simple'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-970689801377659998</id><published>2009-06-07T10:20:00.000-07:00</published><updated>2009-07-13T08:39:21.750-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C] Numeros primos</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Definicion:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;En matemáticas, un número primo es un número natural que tiene únicamente dos divisores naturales distintos: él mismo y el 1. Euclides demostró alrededor del año 300 a.C. que existen infinitos números primos. Se contraponen así a los números compuestos, que son aquellos que tienen algún divisor natural aparte de él mismo y del 1. El número 1, por convenio, no se considera ni primo ni compuesto.&lt;br /&gt;&lt;br /&gt;Los números primos menores que cien son los siguientes: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 y 97.[1]&lt;br /&gt;&lt;br /&gt;La propiedad de ser primo se denomina primalidad, y el término primo se puede emplear como adjetivo. A veces se habla de número primo impar para referirse a cualquier número primo mayor que 2, ya que éste es el único número primo par.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;Cita textual desde: &lt;/span&gt;&lt;a href="http://es.wikipedia.org/wiki/N%C3%BAmero_primo"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Funcion que comprueba si un número es primo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;void esPrimo(int num)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;     int divisor=2; &lt;br /&gt;&lt;br /&gt;     while(divisor&amp;lt;num)&lt;br /&gt;&lt;br /&gt;     {&lt;br /&gt;&lt;br /&gt;       while( num % divisor != 0) divisor=divisor+1;&lt;br /&gt;&lt;br /&gt;       if(num== divisor)                              &lt;br /&gt;&lt;br /&gt;          printf("&amp;gt; %d es PRIMO \n",num);    //%d ES PRIMO&lt;br /&gt;&lt;br /&gt;       else&lt;br /&gt;&lt;br /&gt;            //fprintf(stdout,"%d NO es PRIMO ,pues ES  multiplo de %d\n",num,divisor);  &lt;br /&gt;&lt;br /&gt;          break;&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Implementacion de la funcion:&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void esPrimo(int num);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;   int n,i;&lt;br /&gt;&lt;br /&gt;   fprintf(stdout,"Programa que imprime los numeros primos entre 0 y N\n\n");&lt;br /&gt;&lt;br /&gt;   fprintf(stdout,"Ustede desea imprimir los Numeros primeros entre 0 y ??");&lt;br /&gt;&lt;br /&gt;   fscanf(stdin,"%d",&amp;amp;n);&lt;br /&gt;&lt;br /&gt;   printf("&amp;gt; 2 es PRIMO\n");&lt;br /&gt;&lt;br /&gt;   for(i=1;i&amp;lt;n;i++)esPrimo(i);&lt;br /&gt;&lt;br /&gt;   getchar();&lt;br /&gt;&lt;br /&gt;   getchar();&lt;br /&gt;&lt;br /&gt;   return 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void esPrimo(int num)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;     int divisor=2; &lt;br /&gt;&lt;br /&gt;     while(divisor&amp;lt;num)&lt;br /&gt;&lt;br /&gt;     {&lt;br /&gt;&lt;br /&gt;       while( num % divisor != 0) divisor=divisor+1;&lt;br /&gt;&lt;br /&gt;       if(num== divisor)                              &lt;br /&gt;&lt;br /&gt;          printf("&amp;gt; %d es PRIMO \n",num);    //%d ES PRIMO&lt;br /&gt;&lt;br /&gt;       else&lt;br /&gt;&lt;br /&gt;            //fprintf(stdout,"%d NO es PRIMO ,pues ES  multiplo de %d\n",num,divisor);  &lt;br /&gt;&lt;br /&gt;          break;&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-970689801377659998?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/970689801377659998/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/c-numeros-primos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/970689801377659998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/970689801377659998'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/c-numeros-primos.html' title='[C] Numeros primos'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-8984120498914911348</id><published>2009-06-05T07:53:00.000-07:00</published><updated>2009-07-13T08:39:52.253-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C] Números perfectos</title><content type='html'>&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void es_perfecto(int n);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    int i,n;&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;    printf("Ingrese n\t:");&lt;br /&gt;&lt;br /&gt;    scanf("%i",&amp;amp;n);&lt;br /&gt;&lt;br /&gt;    for(i=0;i&amp;lt;quote&amp;gt;&amp;lt;&amp;lt;/quote&amp;gt;=n;i++)&lt;br /&gt;&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;      es_perfecto(i);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    printf("no ahi mas anumeros perfectos en el rango indicado\n");&lt;br /&gt;&lt;br /&gt;    getchar();&lt;br /&gt;&lt;br /&gt;    getchar();&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void es_perfecto(int n)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;   int sum=0,i;&lt;br /&gt;&lt;br /&gt;   for(i=1;i&amp;lt;quote&amp;gt;&amp;lt;&amp;lt;/quote&amp;gt;n;i++)&lt;br /&gt;&lt;br /&gt;   {&lt;br /&gt;&lt;br /&gt;      if(n%i==0) sum+=i;&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   if(n==sum) printf("%i Es perfecto\n",n);&lt;br /&gt;&lt;br /&gt;   //else printf("%i no es perfecto\n",n);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-8984120498914911348?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/8984120498914911348/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/c-numeros-perfectos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8984120498914911348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/8984120498914911348'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/c-numeros-perfectos.html' title='[C] Números perfectos'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-1989776542878113026</id><published>2009-06-04T20:56:00.000-07:00</published><updated>2009-08-11T20:16:41.580-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Articulos'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>Mini Guía Aprendizaje PHP By S[e]C</title><content type='html'>&lt;span style="font-weight: bold; font-style: italic;"&gt;Aclaracion.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hola brothers, bueno quiero aclarar una cosilla desde el comienzo, en esta fuia no entrare a explicar como abrir block de notas, guardar con extencion .php los scripts aqui creados ni mucho menos, para eso ahi muchisima info en la red (si alguien se digna a crear un pequeño tutorial sobre eso tendra mis gracias), vamos alla.&lt;br /&gt;&lt;br /&gt;El modo de aprendizaje sera sencillo, pondre un script y lo explicare lo mas detallado posible, comenzare con scripts simples para explicar lo basico del lenguaje... cualquier duda en este mismo hilo porfavor, asi yo o cualquiero usuario del Club podra solucionar sus dudas.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;S[e]C&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Introduccion.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Definicion:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.&lt;br /&gt;&lt;br /&gt;PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdof en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);"&gt;Extraido de Wikipedia&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-Vease:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://es.wikipedia.org/wiki/Lenguaje_interpretado"&gt;Lenguaje Interpretado&lt;/a&gt;&lt;br /&gt;&lt;a href="http://es.wikipedia.org/wiki/.php"&gt;PHP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Sintaxis de un script en PHP:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El codigo php en una pagina web se distinge por las siguiente etiquetas:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1&lt;/span&gt;-Usando las etiquetas &lt;quote&gt;&lt;&lt;/quote&gt;?php y ?&lt;quote&gt;&gt;&lt;/quote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;-Mediante  &lt;quote&gt;&lt;&lt;/quote&gt;? y ?&lt;quote&gt;&gt;&lt;/quote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3&lt;/span&gt;-&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Mediante &lt;quote&gt;&lt;&lt;/quote&gt;script languaje="php"&lt;quote&gt;&gt;&lt;/quote&gt; y &lt;quote&gt;&lt;&lt;/quote&gt;/script&lt;quote&gt;&gt;&lt;/quote&gt;&lt;br /&gt;La primera etiqueta para indicar el inicio del codigo y la segunda para indicar su termino en cada caso.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;NOTA:&lt;/span&gt; Algunos editores como FrontPage solo admiten el tercer método.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Operadores en PHP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Los operadores en PHP son simbolos (uno o mas) que nos permiten tomar deciciones realizar operaciones matematicas o logicas, etc...&lt;br /&gt;si alguien a programado anteriormente sabra a que me refiero, vamos alla:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Operadores aritméticos&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;+  Suma dos valores&lt;br /&gt;-  Resta dos valores (o pasa a negativo un valor)&lt;br /&gt;*  Multiplica dos valores&lt;br /&gt;/  Divide dos valores&lt;br /&gt;%  Resto de dividir dos valores&lt;br /&gt;++  Incremento en una unidad&lt;br /&gt;--  Decremento en una unidad&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Operadores de asignación&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;=  Asigna a la parte derecha el valor izquierdo&lt;br /&gt;+=  Realiza la suma de la derecha con la izquierda y la asigna a la derecha&lt;br /&gt;-=  Realiza la resta de la derecha con la izquierda y la asigna a la derecha&lt;br /&gt;*=  Realiza la multiplicación de la derecha con la izquierda y la asigna a la derecha&lt;br /&gt;/=  Realiza la división de la derecha con la izquierda y la asigna a la derecha&lt;br /&gt;%=  Se obtiene el resto y se asigna&lt;br /&gt;.=  Concatena el valor de la izquierda con la derecha y lo asigna a la derecha&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Operadores lógicos&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;!  Operador NO o negacion.Si era true pasa a false y viceversa&lt;br /&gt;and  Operador Y, si ambos son verdaderos vale verdadero&lt;br /&gt;or  Operador O, vale verdadero si alguno de los dos es verdadero&lt;br /&gt;xor  Verdadero si alguno de los dos es true pero nunca ambos&lt;br /&gt;&amp;amp;&amp;amp;  True si ambos lo son&lt;br /&gt;||  True si alguno lo es&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Operadores condicionales&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;==  Comprueba si dos números son iguales&lt;br /&gt;!=  Comprueba si dos números son distintos&lt;br /&gt;&gt;  Mayor que, devuelve true en caso afirmativo&lt;br /&gt;&lt;&gt;=  Mayor o igual&lt;br /&gt;&lt;=  Menor o igual&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Variables en PHP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bueno en php los tipos de las variables se autoasignan dependiendo de su contenido.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$dia = 10;                                   #variable de tipo integer (entera)&lt;br /&gt;$salario = 268.61;                       #variable de tipo double (decimal)&lt;br /&gt;$nombre = "El gran haxxor xD";   #variable de tipo string (cadena de caracteres)&lt;br /&gt;$salir = true;                              #variable de tipo boolean (booleana)&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;De esto podriamos rescatar un pequeño ejemplo de variables de tipo string, ya que las otras no ofrecen nada nuevo con respecto a otros lenguajes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Ejemplo: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Lo que mostraria en el navegador:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Chilean Coder&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Fijarse que la utilizacion del punto &lt;span style="color: rgb(255, 0, 0);"&gt;(.)&lt;/span&gt; ,   sirve para la concatenacion de cadenas de caracteres pequeñas en una mayor, ver:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;echo $cadena1." ".$cadena2;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Estructuras de Control&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Las estructuras de contro son lo fundamental de todo lenguaje de programacion, pues con ellas se realizan todas las acciones en nuestros scripts, por esto es muy importante aprenderlos. Las estructuras de control dan dinamismo a los scripts, es decir los llevan a otro nivel ya que un script podria realizar una tarea completamente distinta dependiendo de lo que el usuario desee:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Estructura IF&lt;/span&gt;&lt;br /&gt;if es una estructura de control utilizada para tomar decisiones según se cumpla una condición (o varias) o no. Su estructura básica es la siguiente:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;if(condición/es)&lt;br /&gt;{&lt;br /&gt;acción a realizar;&lt;br /&gt;} else{&lt;br /&gt;acción a realizar en caso de que no se cumpla;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;veamos un ejemplo para despejar dudas:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;if($edad&gt;=18)&lt;br /&gt;{&lt;br /&gt;echo "Puedes comprar alcohol";&lt;br /&gt;}&lt;br /&gt;else{&lt;br /&gt;echo "No puedes comprar alcohol porque no tienes 18 años";&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Incluso usando el operador logico &amp;amp; (ampersand) por ejemplo podemos hacer lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;if(($edad&gt;=18)&amp;amp;&amp;amp;($dinero&gt;0))&lt;br /&gt;{&lt;br /&gt;echo "Puedes comprar alcohol porque tienes 18 y tienes dinero;&lt;br /&gt;}&lt;br /&gt;else{&lt;br /&gt;echo "No tienes dinero o no tienes los 18 años de edad" ;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Estructura SWITCH&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Toma distintas decisiones en función de distintos estados de la variable.Su sintaxis es la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;switch(expresión)&lt;br /&gt;{&lt;br /&gt;case valor1:&lt;br /&gt;#sentencia a ejecutar cuando la expresión tiene como valor valor1&lt;br /&gt;break&lt;br /&gt;case valor2:&lt;br /&gt;#sentencia a ejecutar cuando la expresión tiene como valor valor2&lt;br /&gt;break&lt;br /&gt;case valor3:&lt;br /&gt;#sentencia a ejecutar cuando la expresión tiene como valor valor3&lt;br /&gt;break&lt;br /&gt;default:&lt;br /&gt;#sentencia que se ejecutar por defecto cuando no se cumpla ninguna de las condiciones anteriores&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Bucle FOR&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El bucle for se usa para repetir una misma operación un número determinado de veces. Su sintaxis es la siguiente:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;for(inicialización;condición;actualización)&lt;br /&gt;{&lt;br /&gt;sentencia a ejecutar mientras se cumpla la condición&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;El bucle for esta compuesto de 3 partes:&lt;br /&gt;&lt;br /&gt;- &lt;span style="color: rgb(51, 204, 0);"&gt;Inicialización:&lt;/span&gt; Se ejecuta tan solo al iniciar por primera vez el bucle.En esta parte se suele colocar la variable que contara el numero de veces que se repite el bucle.&lt;br /&gt;- &lt;span style="color: rgb(51, 204, 0);"&gt;Condición:&lt;/span&gt; Es la condición que se evaluara cada vez que se inicie el bucle.Esta condición es la que determina la duración del bucle.&lt;br /&gt;- &lt;span style="color: rgb(51, 204, 0);"&gt;Actualización:&lt;/span&gt; Sirve para indicar los cambios que queremos ejecutar en las variables cada vez que se ejecuta el bucle.&lt;br /&gt;&lt;br /&gt;Un ejemplo de su uso seria el siguiente:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;for($i=1;i&lt;=10;i++) {    echo "El número actual es".$i; }&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Lo que mostraria los numeros desde el 1 al 10.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ciclo WHILE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Este bucle se usa cuando queremos repetir la ejecución de unas sentencias un número indefinido de veces. Su sintaxis es la siguiente:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;while(condición)&lt;br /&gt;{&lt;br /&gt;sentencia a ejecutar&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;while($color != "rojo")&lt;br /&gt;{&lt;br /&gt;color = dame un color;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ciclo DO WHILE &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Este bucle se usa cuando no sabemos el número de veces que va a ejecutarse un bucle pero lo que si tenemos claro es que por lo menos una vez si que se ejecutara la accion.Su sintaxis es la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;do{&lt;br /&gt;sentencia del bucle&lt;br /&gt;}while(condicion)&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Habiendo explicado el ciclo while no creo deba dar un ejemplo del do hile ya que solo se agrega a este una condicion(tal como en el if), lo que no le añade ninguna complejidad.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;BREAK&lt;/span&gt;&lt;br /&gt;Se usa para detener el bucle y dejar de interpretar el código que sigue después de el break.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;CONTINUE&lt;/span&gt;&lt;br /&gt;Sirve para volver al principio del bucle desde cualquier parte del bucle.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;PHP &amp;amp; HTML&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Métodos de envio de datos GET &amp;amp; POST y método de recepcion de datos REQUEST &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para entrar de lleno a este tema he preparado dos scripts, con los cuales veremos estos tres métodos y de manera muy simple un formulario, es para que asimilen los conceptos y la manera que tiene php de enviar y recibir datos, vamos alla.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;title&amp;gt;Uso del Metodo POST&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;echo "Introduce lo que desees:";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;form method="POST" action=""&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=textame name="cajita" size=20&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=submit name="enviar" value="Imprimir"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$mensaje="Texto: ";&lt;br /&gt;&lt;br /&gt;echo $mensaje.$_REQUEST['cajita'];&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno guardo mi code, lo subo a mi servidor (local en mi caso), y ejecuto mi script, veamos que tal:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/post.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 622px; height: 224px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/post.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un Lindo script no creen??, ahora introduciremos algo en la caja de texto:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/post2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 601px; height: 227px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/post2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Le damos a imprimir y vemos el resultado:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/post3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 581px; height: 236px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/post3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En lo que quiero que se den cuenta es en la &lt;span style="color: rgb(255, 0, 0);"&gt;URL&lt;/span&gt; la cual no cambia en absolutamente nada con el envio de la informacion.&lt;br /&gt;&lt;br /&gt;Ahora veamos el metodo GET.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;title&amp;gt;Uso del Metodo GET&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;echo "Introduce lo que desees:";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;form method="GET" action=""&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=textame name="cajita" size=20&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=submit name="enviar" value="Imprimir"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$mensaje="Texto: ";&lt;br /&gt;&lt;br /&gt;echo $mensaje.$_REQUEST['cajita'];&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Una vez mas subimos el code, vamos a nuestro script:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/get.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 735px; height: 237px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/get.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Muy similar a nuestro anterior script, introduzcamos algo en el campo de texto:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/get2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 730px; height: 237px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/get2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Le damos click a imprimir como antes:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i288.photobucket.com/albums/ll177/sh4k4/get3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 722px; height: 234px;" src="http://i288.photobucket.com/albums/ll177/sh4k4/get3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Y sharan!! aqui esta la gran diferencia de estos dos métodos, en la &lt;span style="color: rgb(255, 0, 0);"&gt;URL&lt;/span&gt;, fijadse en esto:&lt;br /&gt;&lt;br /&gt;http://localhost/pruebas/ejemploget.php&lt;span style="color: rgb(255, 0, 0);"&gt;?cajita=texto+cualquiera&amp;amp;enviar=Imprimir&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;los datos son enviados por la &lt;span style="color: rgb(255, 0, 0);"&gt;URL&lt;/span&gt; cajita(el nombre de mi caja de texto) luego dice k la informacion que fue sacada de ella es text cualquiera, y finalmente dice que s envio mediante el submit Imprimir.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:100%;" &gt;Explicacion del Code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Tomare como ejemplo el del método GET&lt;/span&gt; (Pudo ser cualquiera es solo conceptos)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;title&amp;gt;Uso del Metodo GET&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;title&amp;gt;Uso del Método&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;hasta aqui nada mas que html comun y silvestre.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;echo "Introduce lo que desees:";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;imprimimos en pantalla Introduce tu nombre:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;form method="GET" action=""&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;creamos un form que contendra nuestra los objetos, efinimos que el método de envio de la informacon sera GET y que la informacion sera enviada al mismo formulario (action="").&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;input type=textame name="cajita" size=20&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=submit name="enviar" value="Imprimir"&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;creamos una caja de texto ( llamada cajita :D ),&lt;br /&gt;Saltamos un espacio y creamos un boton  de nombre enviar que diga Imprimir.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Cerramos el form.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$mensaje="Texto: ";&lt;br /&gt;&lt;br /&gt;echo $mensaje.$_REQUEST['cajita'];&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;declaro una variable que Imprima &lt;span style="font-weight: bold;"&gt;texto:&lt;/span&gt; y seguidamente muestro lo que fue introducido en cajita, para ello recojo la informacion mediante &lt;span style="font-weight: bold;"&gt;$_REQUEST['nombre_del_objeto'];&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Nota:&lt;/span&gt; Algun día posteare la segund parte de esta mini guía, esto es para lo que recien comienzan, por lo que con esto se podran divertir un tiempo creo .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;By S[e]C&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-1989776542878113026?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/1989776542878113026/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/mini-guia-aprendizaje-php-by-sec.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/1989776542878113026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/1989776542878113026'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/mini-guia-aprendizaje-php-by-sec.html' title='Mini Guía Aprendizaje PHP By S[e]C'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-1094456937942402774</id><published>2009-06-04T19:04:00.000-07:00</published><updated>2009-07-13T08:41:21.302-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C]Converter TextToHexa</title><content type='html'>&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    int len,i;&lt;br /&gt;&lt;br /&gt;    char input[100];&lt;br /&gt;&lt;br /&gt;    while(1)&lt;br /&gt;&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;    fprintf(stdout,"\n");&lt;br /&gt;&lt;br /&gt;    fprintf(stdout,"Text\t:");&lt;br /&gt;&lt;br /&gt;    fscanf(stdin,"%s",&amp;amp;input);&lt;br /&gt;&lt;br /&gt;    len=strlen(input);&lt;br /&gt;&lt;br /&gt;    fprintf(stdout,"Hex\t:0x");&lt;br /&gt;&lt;br /&gt;    for(i=0;i&amp;lt;len;i++)&lt;br /&gt;&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;       fprintf(stdout,"%x",input[i]);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    getchar();&lt;br /&gt;&lt;br /&gt;    getchar();&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-1094456937942402774?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/1094456937942402774/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cconverter-texttohexa.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/1094456937942402774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/1094456937942402774'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cconverter-texttohexa.html' title='[C]Converter TextToHexa'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-3903015190147945617</id><published>2009-06-04T18:54:00.000-07:00</published><updated>2009-07-13T08:42:02.272-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='HTTP'/><category scheme='http://www.blogger.com/atom/ns#' term='sockets'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C]Obtener Codigo Fuente de una Web</title><content type='html'>&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;winsock2.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;  FILE *code;&lt;br /&gt;&lt;br /&gt;  WSADATA wsa_Data;&lt;br /&gt;&lt;br /&gt;  SOCKET mi_socket;&lt;br /&gt;&lt;br /&gt;  struct sockaddr_in con;&lt;br /&gt;&lt;br /&gt;  struct hostent *he;&lt;br /&gt;&lt;br /&gt;  int i;&lt;br /&gt;&lt;br /&gt;  char buffer[1024]; &lt;br /&gt;&lt;br /&gt;  char *peticion1 = "GET / HTTP/1.1\r\nHost: ";&lt;br /&gt;&lt;br /&gt;  char *peticion2 = argv[1];&lt;br /&gt;&lt;br /&gt;  char *peticion3 = "\r\n\r\nConnection: close\r\n";&lt;br /&gt;&lt;br /&gt;  char peticion[strlen(peticion1)+strlen(peticion2)+strlen(peticion3)+1];&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  strcat(peticion,peticion1);&lt;br /&gt;&lt;br /&gt;  strcat(peticion,peticion2);&lt;br /&gt;&lt;br /&gt;  strcat(peticion,peticion3);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  WSAStartup(MAKEWORD(2,0),&amp;amp;wsa_Data);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  if (argc != 2)&lt;br /&gt;&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;           fprintf(stderr,"uso: cliente.exe host_name\n");&lt;br /&gt;&lt;br /&gt;           exit(1);&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;  if ((he=gethostbyname(argv[1])) == NULL)&lt;br /&gt;&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;           printf("error al obtener informacion de la maquina");         &lt;br /&gt;&lt;br /&gt;           exit(1);&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  mi_socket=socket(AF_INET,SOCK_STREAM,0);&lt;br /&gt;&lt;br /&gt;  if(mi_socket==-1)&lt;br /&gt;&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;     printf("error al crear el socket\n");&lt;br /&gt;&lt;br /&gt;     exit(1);&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  con.sin_family = AF_INET;&lt;br /&gt;&lt;br /&gt;  con.sin_port = htons(80); &lt;br /&gt;&lt;br /&gt;  con.sin_addr = *((struct in_addr *)he-&amp;gt;h_addr);&lt;br /&gt;&lt;br /&gt;  memset(con.sin_zero,0,8);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  if (connect(mi_socket, (struct sockaddr *)&amp;amp;con,sizeof(struct sockaddr)) == -1)&lt;br /&gt;&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;           printf("error al conectar el socket");&lt;br /&gt;&lt;br /&gt;           exit(1);&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  send(mi_socket, peticion, strlen(peticion), 0);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  code = fopen("code.txt","a+");&lt;br /&gt;&lt;br /&gt;  do&lt;br /&gt;&lt;br /&gt;   {&lt;br /&gt;&lt;br /&gt;       i = recv(mi_socket, buffer, sizeof(buffer), 0);     &lt;br /&gt;&lt;br /&gt;       fprintf(code,"%s",buffer);     &lt;br /&gt;&lt;br /&gt;   } while (i != 0); &lt;br /&gt;&lt;br /&gt;   fclose(code);&lt;br /&gt;&lt;br /&gt;  closesocket(sock);&lt;br /&gt;&lt;br /&gt;  WSACleanup();&lt;br /&gt;&lt;br /&gt;  printf("\n");&lt;br /&gt;&lt;br /&gt;  system("PAUSE");&lt;br /&gt;&lt;br /&gt;  return 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;El mismo code en paste2.org &lt;a href="http://paste2.org/p/167143"&gt;CODE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nota:&lt;/span&gt;Solo eh probado el codigo compilando desde Dev-cpp 4.9.9.2, y se debe añadir la siguiente linea al linker:  -lwsock32&lt;br /&gt;&lt;br /&gt;Herramientas-&gt;Opciones del Compilador-&gt; Seleccionamos: Añadir estos comandos a la linea del linker: y agregamos esto:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;-lwsock32&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Una cosilla no soy muy bueno comendando los codes, por lo que pueden preguntar aca sin ningun problema, a modo de compansar esa carencia mia =) jeje.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-3903015190147945617?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/3903015190147945617/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cobtener-codigo-fuente-de-una-web.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/3903015190147945617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/3903015190147945617'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cobtener-codigo-fuente-de-una-web.html' title='[C]Obtener Codigo Fuente de una Web'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4453366539740716284.post-6184579791741827917</id><published>2009-06-04T18:01:00.000-07:00</published><updated>2009-07-13T08:42:22.230-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='codes'/><title type='text'>[C]Menu simple</title><content type='html'>&lt;pre&gt;&lt;code&gt;&lt;br /&gt;/*********************/&lt;br /&gt;&lt;br /&gt;/** Coded By: S[e]C&lt;br /&gt;&lt;br /&gt;/** Date    : 2009 &lt;br /&gt;&lt;br /&gt;/*********************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int opcion;&lt;br /&gt;&lt;br /&gt;  do&lt;br /&gt;&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;     fprintf(stdout,"__________________________\n");&lt;br /&gt;&lt;br /&gt;     fprintf(stdout,"0.- \tsalir\n");&lt;br /&gt;&lt;br /&gt;     fprintf(stdout,"1.- \thago algo\n");&lt;br /&gt;&lt;br /&gt;     fprintf(stdout,"2.- \totra cosa\n");&lt;br /&gt;&lt;br /&gt;     fprintf(stdout,"ingresa tu opcion\t:");&lt;br /&gt;&lt;br /&gt;     fscanf(stdin,"%d",&amp;amp;opcion);  &lt;br /&gt;&lt;br /&gt;     switch(opcion)&lt;br /&gt;&lt;br /&gt;     {&lt;br /&gt;&lt;br /&gt;      case 0:    exit(EXIT_SUCCESS);&lt;br /&gt;&lt;br /&gt;      case 1:    fprintf(stdout,"1 aqui estoy realizando la opcion uno\n\n");&lt;br /&gt;&lt;br /&gt;      case 2:    fprintf(stdout,"2 aqui estoy realizando la opcion dos\n\n");&lt;br /&gt;&lt;br /&gt;      default:   fprintf(stdout,"Opcion Invalida ingrese otra opcion\n");&lt;br /&gt;&lt;br /&gt;                 getchar(); getchar();&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;  }while(opcion!=0);&lt;br /&gt;&lt;br /&gt;  getchar();&lt;br /&gt;&lt;br /&gt;  return 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4453366539740716284-6184579791741827917?l=chilean-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chilean-coder.blogspot.com/feeds/6184579791741827917/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cmenu-simple.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/6184579791741827917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4453366539740716284/posts/default/6184579791741827917'/><link rel='alternate' type='text/html' href='http://chilean-coder.blogspot.com/2009/06/cmenu-simple.html' title='[C]Menu simple'/><author><name>César</name><uri>http://www.blogger.com/profile/10364343662656239414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_ZlEf4POXMoo/S8KPCHxroGI/AAAAAAAAAEI/-Py_WAymw30/S220/caminando.png'/></author><thr:total>0</thr:total></entry></feed>
