UPaint 1.0 (java)

25 julio 2009

Siempre me sucede, como a tantos programadores, que al utilizar cierta función de cierto programa me viene a la cabeza la pregunta: ¿Cómo está hecho esto? Mas específicamente, cual es la idea detrás de todo esto. Lo que intento descubrir es como se pensaron cada una de las funciones innovadoras de cada programa mas allá del código; es decir, haciendo foco en la idea, o el algoritmo. Ejemplos que se me ocurren ya mismo: atrás y adelante en el navegador (ese es fácil), capas en los programas de diseño, buscador de coincidencias en el OpenOffice(o MS Word), etc.

El cuatrimestre anterior en la universidad nos plantearon como semi-proyecto desarrollar un programa similar al MSPaint de Windows (o el KolourPaint de KDE. Hay gente que realmente cree que el único programa de dibujo es el paint de windows! ). Fue un gran ejercicio porque, a pesar que solo nos exigieron las funciones mas básicas (dibujo de línea, cambios de colores, y poco más), decidí ir mas allá e investigué algo acerca del resto, no incluidas en el trabajo. Entre ellas, el “aerosol”, el dibujo de cuadrado/circulo, y opciones para determinar el trazo.

A pesar de todo, como todo gran proyecto universitario, se pinchó con la venida del verano y el UPaint 1.0 ( así lo llamé), quedó solo en eso: una pobretona versión 1.0 que incluye algunas funciones, algunas a medias, y otras propuestas pero no implementadas. El que desee puede terminarlo, publicarlo, mejorarlo, preguntarme cualquier cosa o incluso sugerir algo.

Así sin mas les dejo el código para que cada uno haga con él lo que desee y una imagen de como se ve el proyecto cargado en Bluej. (*)

(*) El código esta escrito en Java. Para visualizarlo correctamente, lo ideal sería que lo abran con el BlueJ (DESCARGAR); solo basta elegir la carpeta donde estan las fuentes y el programa carga todo de una. Ideal para novatos en el lenguaje. Ademas, muestra una interfaz gráfica con flechas y cuadros para orientarse entre las clases y entender mejor la jerarquía encuanto a las herencias. Si prefieren abrirlo con el Eclipse (u otro editor), es probable que tengan que importarlo a una carpeta y modificar el encabezado de cada archivo agregandole el paquete correspondiente (eclipse lo hace muy fácil, basta hacer un par de clicks..).

mochila básica: jDownloader 0.6.xxx

24 julio 2009

El primer elemento que deseo añadir a nuestra mochila de elementos básicos para el internauta es un gestor de descargas que hace algo más que acelerar un poco nuestras descargas. En realidad, creo que ni siquiera las acelera. Lo que en realidad hace es automatizar todos los procesos de descarga de un archivo desde servidores gratuitos (Megaupload, Rapidshare, etc) que impiden que la descarga sea fluida: ingreso del captcha y la espera entre descarga y descarga. Todo esto era imposible(o al menos hasta yo lo usé) con el más famoso de los gestores que conozco: el “tengo muchos banners y cosas feas en mi interfaz Download Accelerator Plus. El programa del que estamos hablando es el jDownloader 0.6.xxx  (*).

“..Es una plataforma de código abierto escrita completamente en Java, diseñado para simplificar la descarga de archivos de servidores como Rapidshare.com o Megaupload.com, no solo para usuarios con cuenta Premium sino también para los de cuenta gratuita..”

Veamos como funcionaría la descarga de un archivo de tres piezas hospedado en Rapidshare con jDownloader.

  • Abrimos el programa y volvemos al explorador de internet.
  • Seleccionamos la ruta del enlace al archivo que queremos descarga. (ejemplo.part1)
  • Automaticamente, el link es copiado al programa. Si repetimos el paso 2 con las otras dos partes de nuestro archivo, ambos links se copiarán también agregandose a los que ya teníamos.
  • Vamos al programa, seleccionamos el Link Grabber y veremos que un cartel nos invita a copiar las direcciones de los archivos que deseamos agregar, y debajo lista los que ya tenemos. Seleccionamos el comando que dice add links.
  • En la siguiente pantalla el programa nos mostrará detalles de cada uno. Y este es el primer detalle que quiero remarcar: el programa nos muestra el nombre del archivo, su peso, el servidor donde esta alojado y el estado actual del archivo. Aquí ya podremos saber instantaneamente que archivos están disponibles. Es decir, si estamos por descargar una peli de 30 enlaces, sabremos de antemano si algún enlace está roto.
  • Una vez chequeados todos los archivos, seleccionamos “Add all packages” de la barra de la izquierda y vamos a la sección “Downloads”.
  • En Downloads se encuentra la lista de reproducción del programa: aquí podremos consultar el estado de los archivos.
  • Ahora bien, ¿Cómo tratará el programa nuestros tres archivos del mismo servidor? jDownloader no sabe que rapidshare solo admite una descarga a la vez. Entonces, consultará desde el primer archivo al último para intentar descargarlo. Consultado el primero de los nuestros, el programa accede a descargarlo. La descarga inicia automaticamente, NADA DE CAPTCHAS(**) ni de WAITING TIME. En realidad todo esto si se hace, pero de forma transparente al usuario. Cuando el programa intente descargar el segundo archivo, se encontrará con que el servidor le responde que debe esperar, por lo que lo pone en “Waiting” y avanza con el siguiente. De esta forma, una vez termine el primero se continuará con el siguiente, sin necesidad de que vengamos nosotros a hacerlo manualmente cada cierto tiempo.
  • Nos despertamos a la mañana siguiente y hemos descargado nuestro archivo, automaticamente y emulando a un robot. Hemos salteado de manera super sencilla las barreras anti-robot de los servidores. Somos unos genios.

jDownloader utiliza muchas características muy interesantes para hacer el Anti-Captcha, calcular el tiempo de espera y manejar el tema de los TOS (Terminos de Servicio – Terms of Service). Como ademas es de código abierto, todo puede ser consultado en su sitio web de forma abierta, sin nada que esconder. De todas estas cositas interesantes hablaremos en la próxima salida. Por ahora, solo quería hacerlo conocer a más gente porque me pareció increíble a mí cuando me lo mostraron por primera vez.

(*) Hago la aclaración de la versión porque, creanme, las versiones anteriores eran muy pobres tanto en interfaz como funcionamiento. Sin embargo, cuando actualizé a la 0.6 me encontré con esta maravilla.
(**)El captcha funciona mediante una especie de brute force asociado a un reconocimiento ocr. En los servidores mas populares funciona en el 95% de los casos instantaneamente. En páginas menos conocidas o cuando es incapaz de leerlo, el programa lo solicita al usuario. También se pueden utilizar reconocedores externos a partir de la versión 0.5. Una característica formidable.

Usar páginas como enlaces directos en WordPress

23 julio 2009

Seguramente alguna vez te habrás encontrado ante la necesidad de colocar enlaces a otros sitios (una universidad a otros departamentos, un blog a blogs amigos, un sitio de gobierno a otros sitios relacionados…) fuera del blogroll. Es decir, como pestañas en la parte superior o junto a las categorías. En este artículo mostraremos como hacer para utilizar una página como un enlace a otro sitio, incluso mezclado entre otras páginas que si funcionan como tales.

WordPress en las versiones mas nuevas (no se exactamente a partir de cual) permite personalizar nuestras páginas utilizando distintos patrones (templates) que podemos escojer, si hemos subido al directorio correspondiente alguno. El método consiste en crear un fichero redirect.php que será el patrón de la página. (En lenguajes de programación Web, se llama redirect a los ficheros que se utilizan para redireccionar el tráfico hacia otro sitio.)

En fin, para que funcione debemos seguir los siguiente pasos:

  1. Desde nuestro Ftp/FileBrowser subimos el fichero redirect.php que hemos creado (si no sabes como, puede usar ESTE) al mismo directorio donde se encuentran el resto de los ficheros de nuestro tema principal (el que usamos actualmente). Por ejemplo, si mi tema se llama “ejemplo”, la ubicación correcta sería ../wp-content/themes/ejemplo/.
  2. Creamos la página que será el enlace de forma tradicional, pero en el cuerpo solo incluimos la dirección del enlace. Es decir, si queremos redireccionar a http://www.google.com.ar, el cuerpo deberá contener unicamente http://www.google.com.ar. Hecho esto, buscamos la sección Atributos (Attributes), y donde dice Template seleccionamos redirect.php (si hemos hecho todo correcto, deberá aparecer en el recuadro). Tener en cuenta que muchos, pero no todos los themes de WordPress soportan esta característica!
  3. Publicamos la página y probamos.

Parece mentira que algo tan sencillo y super necesario como esto aún no sea una característica básica del editor de WordPress, aunque no tengo dudas que en el futuro cercano estará incluido. Les dejo una imagen, aunque el proceso es demasiado sencillo..

Redirect.php


Random pic = new Random();

22 julio 2009

exception


Dinero dinero, quiero dinero

21 julio 2009

Hoy retomé mi vieja cuenta de Bux.to, y como tiene casi 3 dolares guardados y sigue activa, me propuse continuar con el trabajo. Si bien no espero obtener millonadas, sí espero sumar unos buenos dolares para las vacaciones de verano que se aproximan a lo lejos:

Si puedo hacer 15 clicks por dia a razón de 0,01 centavos de dolar, y considerando que faltan 6 meses para febrero, epoca de mochilas y viajes, entonces habré conseguido ahorrar 15*0,01*6*30, es decir, cerca de 27 dolares. Si lo paso a pesos argentinos entonces tengo $99.9 (1 dolar= 3.7 args), habré hecho 2700 clicks y gastado un tiempo neto de 81.000 segundos. Claro que en realidad no voy a ver cada aviso durante 30 segundos.

Supongamos ahora que hemos referido a 3 amigos (por decir una cifra pequeña y accesible) y que los tres son activos. Podemos decir que en vez de 100 pesos ahora tenemos 27*4*3.7 = $400 args. Para nada despreciable.

Si bien las matemáticas no me fallarán, y yo en lo personal me he propuesto hacer los clicks diarios, ¿Realmente voy a cobrar en tiempo y forma lo que deseo? ¿Cómo me aseguro que no me cierren el sitio antes de cobrar? Solo hace falta ser referido por alguien al sitio correcto. La mayoría de estas “empresas” se valen de la honestidad, ya que sus ingresos detrás de los clicks son muy superiores a la paga que hacen. Entonces, ¿de qué vale enroscarse (posiblemente) con algun usuario molesto en un lio judicial cuando estan obteniendo ganancias, no astronomicas, pero si importantes en comparación con lo que pagan? Veamos como funcionan:

Los servicios Paid To Click ofrecen una cierta suma de dinero (centavos de dolar) a los usuarios que se registren y miren una publicidad durante cierto tiempo (segundos). Obviamente, todo esta pensado de antemano: existe un limite en las publicidades que podemos ver diariamente, y claro que no podemos ver dos al mismo tiempo. Lo que el sitio no exige es que “realmente” veamos la publicidad: basta con abrir una pestaña en el explorador y dejarla allí el tiempo necesario hasta que se acredite el dinero. El verdadero jugo de todo esto esta en que, si logramos referir a otras personas, podemos multiplicar nuestros ingresos, y con una buena táctica y mucha paciencia, generar ciertos ingresos mensuales mínimos generalmente, pero ingresos en fin (NADIE vive de esto, se los puedo asegurar).

Si bien existen cientos y cientos de estos sitios, solo algunos tienen largas trayectorias que permiten confiar en que realmente se nos pagará lo que nos corresponde algún día. El único que puedo recomendar es BUX.TO, que es donde tengo mi única cuenta hace 1 año casi.


Mas allá del orden alfabético

20 julio 2009

Los usuarios de WordPress como yo que muestren páginas en la barra superior del sitio habrán notado que el sistema automáticamente las ordena alfabéticamente. Generalmente, esto no es lo deseado, y no existe en principio una manera de organizarlos a placer y gusto. Ayer me vi ante la necesidad de solucionar este incoveniente y encontré lo siguiente: My Page Order.

My Page Order es un plugin para WP que permite, mediante una interfaz Drag n’ Drop, ubicar los enlaces a las páginas en el orden que se nos antoje.

Actualmente se encuentra en los repositorios oficiales de WP, así que basta ingresar a la administración de nuestro blog y en la sección titulada Plugins, ingresar en Add New. Una vez hallemos la versión deseada (hoy la mas reciente es la 2.8b), la instalamos y luego la activamos. (*)(**)

(*) No se pueden utilizar Plugins si somos usuarios de WordPress.com. Para utilizar nuestros plugins, es necesario contratar un hosting e instalar WordPress en el servidor.
(**) En mi caso, no pude utilizar el gestor por tener el blog en un dominio distinto. Por alguna razón, el sistema es incapaz de hallar la ruta correcta. Para hacerlo funcionar podemos descargar el archivo del plugin y subirlo via FTP a la carpeta /wp-content/plugins (el plugin es un simple php), y luego activarlo desde la sección “Installed Plugins”.

Aquí pueden encontrar mas información sobre la instalación/utilización del plugin (inglés),  y desde el siguiente enlace pueden descargarlo.

My Page Order


allá usted con sus cantares, a la luna y a la flor

15 julio 2009

treesQué mas que poner una foto interesante se puede hacer en el primer artículo de un blog?