BlogPandora: el blog de pablot

Noviembre, 12 2008

el podcast de pablot – Episodio 30 – RetroGeek

Archivado en: Geek, Linux, Programación, Retro, Tech, episodios, historia, podcast — Etiquetas:, , , , — pablot @ 1:00 am

Aunque muchos ya me daban por perdido, aquí estoy nuevamente con un nuevo episodio del podcast. Esta vez vamos a hablar sobre algo retro, pero aplicado a algo moderno y con un factor retro geek muy alto!

Vamos a dar una mirada a un sitio muy interesante y hablaremos principalmente del código fuente oculto en los discos de Kickstart 1.0 de Amiga y de como usar el BASIC de Commodore (y también de Apple) como lenguaje de scripting en Linux, MacOS/X y Windows.

Julio, 2 2008

el podcast de pablot – Episodio 16 – LAMP y algo nuevo

Archivado en: General, Programación, Tech, episodios, podcast — Etiquetas:, , , , , , — pablot @ 1:00 am

Esta vez vamos a ver algo que desde hace tiempo vengo postergando sin ninguna razón en concreto. Y es la famosa arquitectura LAMP para aplicaciones web. Veremos que no es más que un conjunto de herramientas que interactúan entre si para permitirnos desarrollar una amplia variedad de soluciones web. Por otro lado, hay algo nuevo que van a notar apenas empiecen a escuchar el podcast.

Descargar: el podcast de pablot – Episodio 16 – LAMP y algo nuevo

Links adicionales: LAMP

Junio, 27 2008

Mini tutorial para encriptar datos con certificados digitales en PHP

Archivado en: Programación, Proyectos, Tech, seguridad — Etiquetas:, , , — pablot @ 12:39 pm

Resulta que estoy trabajando en un proyecto que requiere tener un cuidado especial con ciertos datos y me puse a buscar una alternativa segura para hacerlo. Luego de investigar un poco, decidí escribir un mini-tutorial para quienes necesiten algo parecido. Esto es solo la punta del iceberg, ya que brinda muchas más posibilidades de las que menciono en el tutorial. Espero que les sirva tanto como a mi.

Junio, 6 2008

Cansado y aburrido…

Archivado en: Programación, Tech — Etiquetas:, — pablot @ 9:53 pm

Lindo programa para un viernes a la noche; en este momento estoy esperando que termine de correr un proceso de una prueba de migración de sistemas en el cual estoy trabajando. Estoy cansado y aburrido a la vez porque no tengo nada que hacer hasta que termine, son las 21:53 y quiero irme a mi casa a comer, darme una ducha y relajarme un rato. Lejos han quedado los viernes a la noche en los que salía por ahí.

Los minutos pasan y el proceso no termina, ¿porque será que mi proceso era el último de hoy?. Pero bueno, igual prefiero estar en la oficina hasta ahora que tener que venir mañana a las 5 de la mañana como les va a tocar a algunos otros.

Solo para hacer que el tiempo se me pase más rápido, les cuento que en este momento esta corriendo un stored procedure en una base de datos Oracle el cual fue llamado desde un proceso escrito en PHP que toma datos de una base Informix, otra SQLServer y otra Oracle. Todo corriendo sobre Solaris, excepto por supuesto el SQLServer que esta corriendo sobre un Windows.

Si, ya se, ya se, como es que se me ocurre hacer un proceso batch en PHP, es cierto, desde el punto de vista de performance es una pésima decisión, pero conisderando que es un proceso que solo va a correr una vez y que tiene que acceder a las tres bases de datos que les conté, resultó más fácil hacerlo en PHP que en cualquier otra cosa. Y por otro lado, los procesos pesados en realidad estan escritos en stored procedures en la base de datos, por lo que el impacto en la performance no es tan grave.

Bueno, los dejo a ver si este #%&$& proceso termina de una vez y me voy a la #%&$&%&.

Mayo, 9 2008

Adelantos de PHP 6

Archivado en: Programación, Tech — Etiquetas:, , — pablot @ 10:45 am

Cuando aún mucha gente no ha terminado de migrar a PHP 5, ya tenemos un adelanto de lo que será PHP 6. El lenguaje se va refinando cada vez más y en esta ocasión se le agregarán algunas cosas interesantes, pero también se eliminarán algunas que tal vez nunca debieron ser incorporadas, o que ya no son necesarias o recomendables hoy en día, aunque si lo fueran en el pasado.

Las nuevas funcionalidades o mejoras de PHP 6 serán:

Lo que dejará de tener soporte sera:

  • magic_quotes
  • register_globals
  • register_long_arrays
  • safe_mode
  • FreeType 1
  • GD 1

Para mayores detalles pueden consultar la nota original.

Abril, 9 2008

el podcast de pablot – Episodio 4 – Servicio!!!

Archivado en: Programación, Tech, episodios, podcast — Etiquetas:, — pablot @ 12:59 am

En este episodio nos apartamos un poco de los temas que hemos venido tratando hasta ahora y vemos de forma simple, que es un web service o servicio web y para que sirve.

Descargar El podcast de pablot – Episodio 4 – Servicio!!!

Links adicionales: Wikipedia: Servicio Web, Lista de servicios web 2.0, Servicios web: Documentación en Mozilla Developer Center.

Abril, 7 2008

Adelanto del episodio 4 del podcast

Archivado en: Programación, Tech, podcast — pablot @ 6:31 pm

Y se esta por venir el episodio 4 del podcast. En esta ocasión el tema son los servicios web o web services que se utilizan para construir aplicaciones que utilicen en forma transparente funcionalidad que puede estar tanto en el mismo equipo como en otro servidor al otro lado del mundo.

¡Solo esperen hasta el miércoles! ;-)

Octubre, 4 2007

Como crear una aplicación web.

Archivado en: Programación — pablot @ 6:58 pm

Leo en Read/WriteWeb un interesante artículo sobre como crear una aplicación web. El artículo esta en inglés, pero es bastante interesante y proporciona una buena manera de encarar el diseño de una aplicación web.

Agosto, 24 2007

Feeds RSS en deremate.com.ar (2)

Archivado en: Geek, Programación, Proyectos, Tech — pablot @ 2:24 pm

Continuando con el post Feeds RSS en deremate.com.ar y a pedido de HellMind acá va la explicación y los scripts para crearte tus propios feeds RSS en deremate.com.ar.

Básicamente el tema es crear un proceso que haga la búsqueda en deremate y luego generar los feeds RSS para que sean accedidos con cualquier agregador o reader que se quiera.

Quiero aclarar que esto fue realizado muy rápidamente y sin mucha dedicación, por lo cual obviamente hay muuuucho para mejorar.

El primer script lo llamaremos busquedas.sh (puede ser invocado con un cron) y se encarga de disparar el proceso de búsqueda. Por cada una de las cadenas de texto a buscar contenidas en lista-busqueda.txt dispara el script search-deremate.sh que realiza la búsqueda propiamente dicha.

busqueda.sh
	for i in `cat lista-busquedas.txt`; do search-deremate.sh $i; done


lista-busquedas.txt
	comodore
	commodore
	sun
	sparc
	tungsten+palm
	tungsten+palm+t5
	treo



search-deremate.sh
	wget -O $1 "http://www.deremate.com.ar/form/advSearch.asp?txtSearch=$1&Type=0&searchKey1=$1&objectFilter=0&auctionFilter=0&display=3&sortBy=&sortDirection=&searchKey123=&searchKey1222=&txtmoneda=1&txtregion1=0&txtCatg=&cbOperators=0&chkTarifVar=&txtUserMinCalif=&txtExcludeWords=&TipoVenta=0&chkUserMinCalif=False&chkExcludeWords=False&cbOperators2=0&chkSoloFoto=False&iTypePage=1&TipoRemates=0&TipoRemates1=0&TipoRemates2=0&IdCamino=0&TipoOrden=1" 
	grep viewItem $1 | grep -v comprainm | grep " " | sed 's//accdb/http://www.deremate.com.ar/accdb/g' | sed 's//<br>/g' | sed 's/ //g' > $1.html

Luego de todo esto, un script PHP se encarga de tomar los datos dejados por los scripts anteriores y armar el feed correspondiente (para crear los feeds utilizo una clase a tal fin denominada FeedCreator.class.php).

Este script PHP debe ser colocado en un web server y ser invocado (por ejemplo con un cron) para generar los feeds. Luego uno debe subscribirse directamente al feed cuyo nombre se corresponde directamente con cada uno de los strings de búsqueda punto xml.

Por ejemplo de acuerdo a nuestra lista-busquedas.txt, podemos subscribirnos al feed http://tusitio.tuservidor.com/path/commodore.xml



crearfeed.php
	<?

	include("feedcreator.class.php");
	// para cada feed

	$busquedas = file("lista-busquedas.txt");
	foreach( $busquedas as $busqueda ) {

	 $rss = new UniversalFeedCreator();	 $rss->title = "Deremate.com.ar: ".trim($busqueda);

	 $rss->description = "Remates Interesantes de ".trim($busqueda);	 // Aqui se debe reemplazar esta direccion por la del servidor donde pongas este script.

	 $rss->link = "http://tusitio.tuservidor.com";	 // Aqui tambien se debe reemplazar la siguiente direccion por el path completo

							 // al directorio donde se encuentre este sxcript.

	 $rss->syndicationURL = "http://tusitio.tuservidor.com/path/".$PHP_SELF; 

	 $lines = file(trim($busqueda).".html");
 	 foreach ( $lines as $line ) {

		$linea = eregi_replace("<a href=\"","",$line);

		$linea = eregi_replace("</a><br>","",$linea);

		$linea = eregi_replace("\"","",$linea);

		$arr = split(">",$linea);

		$arr[0] = trim($arr[0]);

		$arr[1] = trim($arr[1]);

		$item = new FeedItem();

		$item->title = $arr[1];

		$item->link = $arr[0];

		$item->date = time();

		$item->author = "Deremate.com.ar";

		$rss->addItem($item);

		}

	$rss->saveFeed("RSS1.0", trim($busqueda).".xml");

	}

	?>

NOTA: Cabe aclarar que esto esta desarrollado para plataformas Unix, en concreto esta corriendo sobre un Linux que utiliza mi proveedor de web-hosting. Habría que trabajarlo un poco para pasarlo a Windows. Por otro lado tampoco sería muy difícil modificarlo para generar feeds RSS de otros sitios.

Otra opción.

Otra manera mucho más sencilla y para la que no se necesita instalar nada es utilizar el robot que creé en OpenKapow al que pueden acceder directamente aquí.

La ventaja es que no se necesita tener un server donde instalar nada, ya que se utilizan directamente los servidores de OpenKapow. Por todo esto esta última opción resulta mucho más cómoda y conveniente. El único tema es que si quieren crearse sus propios robots hay que bajarse el desarrollador de OpenKapow.

Junio, 28 2007

Se busca hacker

Archivado en: Geek, Programación, Tech — pablot @ 2:25 pm

Hoy vi un artículo en el que se busca un hacker para ofrecerle un trabajo. El CV hay que enviarlo a:

43616c6c204a756c69616e206f6e2030323020373932342036363
232206f7220656d61696c206a756c69616e406c6f6e7265732e636f6d

Para quien no le resulte claro donde hay que enviarlo, pueden probar con esto:

<?
$hex = “43616c6c204a756c69616e206f6e2030323020373932342036363
232206f7220656d61696c206a756c69616e406c6f6e7265732e636f6d”;
$long = strlen($hex);
for ($a=0; $a<$long; $a=$a+2) {
echo chr(hexdec(substr($hex, $a, 2)));
}
?>

Yo no pienso enviarlo, pero les comento que la dirección esta en hexadecimal y es la siguiente:

Call Julian on 020 7924 6622 or email julian@lonres.com

Blog de WordPress.com.