tag:blogger.com,1999:blog-333563722008-05-08T20:23:04.464-03:00PHP y mi camino en aprender PythonDarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comBlogger45125tag:blogger.com,1999:blog-33356372.post-52830571748048001252007-08-25T12:11:00.000-03:002007-08-25T12:34:57.797-03:00Google es grande en talentoGoogle es el modelo a seguir de muchos y esto no es porque si, hay una larga lista de razones. Una de las razones que puedo dar para responder porque me gusta esta empresa es que sus soluciones son eso, soluciones. Es una de las pocas empresas que tuvieron éxito en algo (en este caso su buscador) y no se quedaron en eso solo, siguieron y sacaron un montón de nuevos servicios. También hicieron DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-48829838920297231852007-08-07T21:19:00.001-03:002007-08-07T21:20:51.438-03:00Yo y mis "regex's" - Parte 1Hace mucho que no usaba las expresiones regulares y justamente y a una semana de entrar, les di un buen uso. Para muchos las regex son una ciencia oscura... empezaré explicando que son. Las expresiones regulares no son otra cosa que un tipo de filtro pero "formal". Mucho de nosotros usamos este tipo de expresiones sin darnos cuenta, un ejemplo de eso pude ser cuando estamos esperando a alguien enDarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-77665086998804436962007-08-04T16:19:00.000-03:002007-08-04T23:59:18.085-03:00Mis primeras "ultimas impresiones"Raro el titulo, no? Bueno, en realidad no es tan raro, ayer en el camino de vuelta a casa después de un día laboral termine de leer libro de la certificación. Haciendo un balance general sobre el libro diría que las cosas que aprendí con el pagaron con creces el valor del libro (tengo un post pendiente con algo relacionado a esto) si bien no fueron muchas cosas las que aprendí, mas bien fueron DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-9762515524367446242007-07-29T09:10:00.000-03:002007-07-29T09:19:45.183-03:00"Memcached: un alivio para las bases de datos""Memcached: un alivio para las bases de datos" este es el nombre de un artículo muy bueno sobre Memcached escrito por Pichongol (Daniel López) en "Maestros del Web". Memcached es una de las cosas nuevas que empecé a ver en la empresa donde empecé a trabajar, si bien ya conocía algo sobre este no lo había usado anteriormente porque nunca trabaje en un proyecto que valiera algo de esta talla. Aquí DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-91690000433074811082007-07-28T16:33:00.000-03:002007-07-29T08:53:39.910-03:00Nueva etapa, nuevos tiempos.Desde el lunes anterior empecé a trabajar en una nueva empresa ésta es Fnbox. Por el tema del viaje tengo poco tiempo por día libre y que obviamente no lo paso adelante de una pantalla. A lo anterior sumemos que estoy terminando de leer el libro de la certificación (si, quiero terminarlo de una vez por todas) así que mucho tiempo para escribir aquí no tengo. Como estoy viendo cosas nuevas en el DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-7786865137986845762007-07-21T23:41:00.000-03:002007-07-22T00:00:31.818-03:00"PythonChallenge"PythonChallenge es una web donde se nos presenta varios desafíos que hay que ir resolviendo con Python (en realidad se puede solucionar con cualquier lenguaje). La idea es dar un "incentivo" para que se aprenda el lenguaje de una forma divertida y practica. La verdad es que la idea esta buena y es bastante adictivo tener un desafío adelante, empiezas con el primero "bueno, vamos a probar" y DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-54810347792038677332007-07-20T02:06:00.000-03:002007-07-20T02:14:36.097-03:00Tabla de comparación de tipos en PHPHoy de casualidad encontré algo bastante copado, una "Tabla de comparación de tipos" y que es eso con tan lindo nombre te preguntaras, bueno es muy simple es una tabla donde se muestra como se comportan distintos tipos de datos en PHP ante las comparaciones (flexibles como estrictas). En realidad esta tabla no tiene nada del otro mundo, pero nunca la había visto y me parece algo bastante lindo DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-91227302012859112672007-07-19T00:40:00.000-03:002007-07-19T01:19:15.434-03:00Jerarquía de las Excepciones en PythonLas Excepciones en Python son bastante fáciles de manejar y nos dan una forma muy buena de manejar los errores que pueden ocurrir en nuestros programas. Hay que tener cuidado cuando se intenta atrapar algunas excepciones, siempre debes tratar de agarrar algún tipo especifico de excepciones y mucho mejor si son excepción definidas por ti. Cuando se intenta agarrar cualquier tipo de excepciones DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-33564126728469453142007-07-18T00:14:00.000-03:002007-07-18T00:17:57.887-03:00Que imprime?No vale probarlo y responder... respondan lo que crean correcto y luego lo verifican si quieren (atentos despistados!). <?php $trece = chr(13); switch ($trece) {   case "\r":     echo 1;     break;   case "\n":     echo 2;     break;   case "\n\r":     echo 3;     break; } ?> Dario Ocles.DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-73820254571818883852007-07-16T22:10:00.000-03:002007-07-16T22:34:10.935-03:00CURL y PHPMuchas veces necesitamos abrir alguna pagina remota y tomar algo de su contenido, para eso existen varias funciones como fopen(), file_get_contents(). Pero existe un problema, que pasa si la pagina/script que intentamos abrir necesita de algún parámetro que vaya por POST? (si fuera GET se coloca en la URL) para estos casos se puede abrir un socket con fsockopen() e enviar las cabeceras HTTP DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-13653719804653788732007-07-15T20:27:00.000-03:002007-07-16T00:41:31.102-03:00Los Generadores de SymfonySymfony no es menos y como cualquier otro framework tiene para generar "scaffolding". Un "scaffolding" es una forma de generar un AMB "automático". Lo que se hace es generar código para manejar una tabla de la base de datos, simplemente se configura como conectarse a la base de datos y luego automáticamente se arma el código para un AMB o CRUD. A pesar de que lo anterior no solo es de Symfony, y DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-67016627586971175062007-07-14T18:17:00.000-03:002007-07-14T18:41:43.352-03:00El fin de PHP4Ayer 13 de Julio se anuncia en la pagina oficial de PHP que se le dejara de dar soporte a PHP4. Si quieren ver la nota simplemente vayan a php.net y podrán leerla sin problemas. En el anuncio dicen que después de este año (31 de Diciembre de 2007) se dejaran de publicar nuevas versiones y que solamente seguirán realizando parches de seguridad hasta el 08 de Agosto de 2008 (un día antes de mi DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-65981966964017457912007-07-12T21:24:00.000-03:002007-07-12T22:01:21.363-03:00Variable variable ¿?Una característica que PHP te da son las "variables variables". En realidad es algo que jamás use en algún desarrollo y dudo que algún día lo use, creo que hay muchas formas de hacer las cosas pero utilizar variables variables no es lo más "claro", es más diría que confunde bastante y no es fácil de leer código con variables variables. Es simple de leer lo siguiente? $nombre = 'dario'; $DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-77084889727242230922007-07-12T00:18:00.000-03:002007-07-12T01:14:37.179-03:00Symfony y su "guía definitiva"Este framework es de lo mejorcito que conocí. Este framework cuenta con un libro donde se enseña todo sobre este... obviamente el libro hay que pagarlo pero su traducción es libre y pueden descargar "Symfony, la guía definitiva" de aquí o pueden leerlo on-line desde aquí. Si tienen la oportunidad denlen la oportunidad y lean algunos capítulos, si esos no los convence nada lo hará xD ... es DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-49294215431295406442007-07-10T17:17:00.000-03:002007-07-10T17:32:34.220-03:00Aprender Python en pocos díasPor una cosa u otro nunca me puse a leer de manera sería alguna documentación de Python, simplemente leía la lista, algún capitulo de algo en concreto y dudas puntuales. Haces unos días (5 mas o menos) me propuse leer de punta a punta la Guía de aprendizaje de Python. Mi gran sorpresa es lo chica que es y lo rápido que se lee toda la guía. Con el poco tiempo que tengo ultimamente (muy poco por DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-69943144257336123232007-07-09T13:59:00.000-03:002007-07-09T14:25:37.595-03:00Ejemplo practico de la Interface Iterator de SPLExtendiendo el post anterior sobre SPL (Standar PHP Library), aquí voy a mostrar un ejemplo "mejor" (es relativo) del que se muestra en el libro de la certificación. En el post anterior comentaba que el ejemplo del libro si bien es bueno y cumple con su cometido creía que alguien con no mucha experiencia no vería todo el potencial de esto. Como siempre, yo no soy un experto en esto y puede que DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-44299732287549561792007-07-08T13:16:00.000-03:002007-07-08T13:57:05.713-03:00SPL - Standar PHP LibraryLa Standar PHP Library (SPL) es una adición que se le hizo a PHP para solucionar algunos problemas comunes. Sobre esto se habla en el capitulo 8 ("Elements pf Object-oriented Design) del libro de la certificación. Una de las implementaciones y ejemplos que muestra es la siguiente... como acceder a un objeto como si fuera un array. En el libro hay un ejemplo bastante "simplón" que si bien muestra DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-18290737064020142552007-07-06T23:03:00.000-03:002007-07-06T23:23:23.724-03:00Matar procesos de Windows con PHPSiguiendo con el post anterior "Reiniciar/apagar la computadora con PHP" vuelvo con este post y con el siguiente "tip". En Windows tenemos disponible dos comandos útiles uno es tasklist y el otro taskkill. Con el primero listamos los procesos y con el segundo lo matamos. Para listar los procesos: $procesos = ""; exec("tasklist",$procesos); echo nl2br(print_r($procesos,true)); Y para matarlos DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-2729933627545061332007-07-04T14:25:00.000-03:002007-07-04T14:33:49.546-03:00Mi propia consolaHydra es el nombre de un kit de desarrollo de tu propia consola. Este kit te permite programar juego para esta "consola casera" y así hacer juegos del mismo estilo que se hacían en los años 70/80. Link a la noticia La noticia ya es "vieja" tiene varios días pero no quería dejar de nombrarla aquí ya que sería algo muy lindo obtener. No creo que la llegue a comprar ya que seria una de esas cosas DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-63984051429491268882007-07-03T16:12:00.001-03:002007-07-03T16:12:30.239-03:00Intercambio de valores entre dos variables (Python)Extendiendo el post anterior aquí pretendo mostrar lo mismo pero Python el lenguaje más "elegante" que conozco. En el post anterior hacemos uso de dos funciones que nos provee PHP pero no estamos utilizando una "propiedad" del leguaje mismo. Unas de las cosas hermosas que tiene Python es la asignación multiple. Aquí, a diferencia del ejemplo anterior, no hacemos uso de funciones ni herramientas DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-82976011319061524752007-07-02T19:18:00.000-03:002007-07-02T20:05:06.068-03:00DCOP, GNU/Debian y KopeteHoy chateando con mi padre sobre algunas de las bondades de GNU/Linux quise mostrarle como se puede "jugar" con algunas cosas. Le explique sobre algunas cosas como los archivos FIFO y lo que podía hacer con ellos. También le mostré las cosas que se puede hacer gracias a DCOP... como por ejemplo saltar al siguiente tema en la lista de reproducción de Amarok y cosas de ese tipo. Como lo anterior noDarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-73397112171725258272007-07-01T03:57:00.000-03:002007-07-02T19:22:09.060-03:00Reiniciar/apagar la computadora con PHPGracias a un post en ForosDelWeb descubro algo interesante. En el post se pide algún código que reinicie/apague la pc con PHP. La computadora que hace de servidor en este caso es un Windows (crashes?). Me puse a buscar info y enseguida dí con una forma de apagar el Win y de inmediato termine con el siguiente código: exec('%systemroot%\system32\shutdown.exe -r -t 0'); Si desean apagar DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-19198773419734559382007-07-01T01:51:00.000-03:002007-07-01T03:57:05.633-03:00Intercambiar valores entre dos variablesQue cosa tan simple dirán algunos. Como lo harias? Yo lo haría así: list($a,$b) = array($b, $a); Y tú? Lo harías igual? Dario Ocles.DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-71582495298699126332007-06-24T19:13:00.000-03:002007-06-24T20:38:07.608-03:00Problemas en GNU/Linux y ayuda de PythonHace unos días instale un Debian Etch pero tengo un detalle con el sonido. El sonido me anda pero cuando escucho algo si intento bajar o subir el volumen me quedo totalmente sin el y debo hacerlo desde los propios parlantes. También tengo instalado un Ubuntu Dapper que hace rato no usaba. Como en Ubuntu no tube ningún problema y en Debian si se me ocurrio investigar. Primero quiero agregar que DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comtag:blogger.com,1999:blog-33356372.post-25640886031918361882007-06-23T16:56:00.000-03:002007-06-23T17:16:44.538-03:00Auto-completar en CMD.exe de WindowsSi trabajas o usastes GNU/Linux y has usado Bash, te acostumbras algunas cosas como puede ser el ir auto-completando los comando por medio de tab's. Es muy comodo escribir las primeras letras de un comando (o directoprio) apretar tab y que se complete automaticamente, si el nombre es muy difícil o muy largo el tab nos ayuda. El porque no viene activado por default en el shell de Win no lo sé, DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com