Siderevs

May 25, 2007

flickrFavs 0.2.1 - Corrected

This post is about a new corrected version of flickrFavs, statistics on the use of my tools for flickr and a list of the all time most visited interesting pictures pages in The Most Interesting Pictures By...

Nueva Versión de flickrFavs

Hay una nueva versión de flickrFavs. Corregí unos errores que surgieron por el uso de una versión vieja de Flickr.Net.

Gracias a Silke, Michael y Evolutica por avisarme acerca de esto. Ofrezco una disculpa por tomar tanto tiempo en corregirlo... Estoy trabajando en una versión completamente nueva pero la verdad es que he avanzado poco. Así que consideren esta versión sólo como un patch.

Algunos datos de mis programas para flickr.

flickrBuddy alcanza ya las 90 descargas por mes. flickrFavs está en un nivel similar, es un poco más popular pero este error que lo sacó del aire un tiempo le ha afectado.

Mi herramienta más utilizada sigue siendo The Most Interesting Pictures By...

En marzo alcanzó las 67441 visitas -visitantes únicos, con aproximadamente 90 000 page views. El ancho de banda comienza a ser un problema para mi, pero es un problema agradable.

Se han visto los perfiles de 65689 usuarios de flickr a través del sitio desde que inició en octubre del 2005.

Existen varios scripts de greasemonkey que hacen uso del sitio, particularmente me gusta More User Links

Top 5

Como una muestra de mi agradecimiento, he aquí la lista de los 5 usuarios con más visitas de todos los tiempos en The Most Interesting Pictures By...

  1. Seb Przd ¿Cómo logra ese efecto? :|
  2. Predi Un fotografo de la naturaleza, colorido y detallista
  3. somesai Todos amamos a los pandas
  4. valpopando El maestro del HDR
  5. Java Cafe Paisajista principalmente, pero versatil

Labels:

October 14, 2006

Probabilistic Roadmap Planner

Hace aproximadamente un año y medio, hice un verano, el único en mi vida. En él tomé un curso que impartió el profesor Seth Hutchinson: Robot Motion Planning.

Dicho curso se imparte generalmente a lo largo de un semestre, pero por ser verano, a mi me tocó hacerlo en un mes :| Fue un mes realmente intenso de noches sin dormir y mucha cafeína,… aún recuerdo el sabor de ése verano.

Para evaluarnos, el profesor dejaba cada semana un proyecto. Uno de ellos y que me pareció el más interesante, fue el Probabilistic Roadmap Planner.

Dicho algoritmo sirve para encontrar un camino que puede seguir un robot de una configuración inicial (home) a una final (goal) evitando los obstáculos que existen en su espacio.


Configuración inicial, final, una configuración que no colisiona con los obstáculos
y obstáculos.

Para lograr esto, el algoritmo calcula un número dado de posibles configuraciones del robot de manera aleatoria, tales que no colisionen con los obstáculos. Desde la posición inicial intenta encontrar el camino más corto pasando por las configuraciones que están libres de colisiones hasta llegar a la posición final, evitando colisionar con los obstáculos en su camino de una configuración a otra.


Con 200 configuraciones aleatorias


Por desgracia no alcancé a terminar dicho proyecto, le faltaron unos cuantos detalles, afortunadamente el profesor comprendió que tomar su curso en un mes es para suicidas (just the way i like it).


con 800 configuraciones aleatorias.

El proyecto lo desarrollé usando Visual C# 2005 Express. El código me gusto mucho y puede ser útil para estudiar cosas como la detecciones de colisiones entre polígonos, el cálculo de la cinemática directa para un robot articulado, la animación con OpenGL (Tao Framework), y en si, el algoritmo de un RPM. Pensé en terminarlo algún día y publicarlo orgulloso en mi blog, pero cada vez veo más lejano ese día así que aquí lo tienen, incompleto.

Me quedó pendiente hacer la cinemática inversa o algún otro método para realizar la animación adecuada del robot de una configuración a otra, e implementar algún algoritmo que calcule el camino más corto (Dijktra o alguno similar).

Las características de mi aplicación son:
  • Zoom in o out con las teclas: i y o
  • Panning: con las flechas del teclado
  • Mostrar u ocultar las posibles configuraciones del robot con la tecla: c
  • Se pueden agregar cualquier número de obstáculos, se puede calcular cualquier número de configuraciones probabilísticas del robot.
  • El robot es un brazo de 4 articulaciones.

Por cierto recomiendo mucho el libro del profesor Hutchinson:

CHOSET, HUTCHINSON. Principles of Robot Motion, Theory, Algorithms and Implementation. The MIT Press.

Aquí el código fuente.

Labels:

January 04, 2006

Releasing the code

I've been receiving feedback from the users of one of my projects, MSNAliceBot. This little project doesn't had the number of downloads as my projects for flickr. But the users are more "participative".

I wanted to continue the develop of this project because i think it got some potencial. But I'm running out of time for other projects, so i think it is time to release the source code. I don't want to see it die.

So, consider this a new year's gift. ;)

You'll find more information on the project's page.

Another project under the GPL

Have fun!

Labels:

December 20, 2005

HintNotes 0.1

This week i been working on an application to take notes, you can see the details in the project's page.

Yes, there is the source code :P

HintNotes project's page

Labels:

HintNotes

Estos últimos 3 días, he estado programando una pequeña aplicación para tomar notas. Se que hay muchas por ahi, pero todas ellas tienen muchas cosas que no uso - y quería hacer la mía.

Me gustan las aplicaciones que recuerdan su estado de la última vez que corrieron y también aquellas a las que se les puede asignar una hotkey . Así que le puse ambas características a mi aplicación.

Para recordar su estado uso serialización con XML y la parte de la hotkey se tiene que realizar con código unmanaged.

Como un pequeño extra, le puse la característica de poder leer la nota actual.


HintNotes


Por desgracia consume bastante memoria, eso es una desventaja conocida de los programas .Net

Subí el código fuente (se puede consultar desde la página del proyectito).

Labels:

December 11, 2005

Most Interesting by... White Flavor

Today i added another theme to my popular tool for flickr.



See my most interesting pictures in white

I used smarty as the template engine.

More features to come soon.

Labels:

December 08, 2005

Valid XHTML 1.0 and CSS

Hoy le dí una manita de gato al estilo de mi blog. Me interesa apoyar los estándares y demás,... así que ahora mi blog es válido para XHTML 1.0 y CSS.

Invertí algo de tiempo editando los post anteriores. Desde ahora con cada nuevo post intentaré pasar la validación ;)

Labels:

December 02, 2005

1D Histogram with OpenCV C++

I'd like to say again that the documentation of the OpenCV is very poor.

This is a histogram of 1D for an image of 8 bit single channel (grayscale).

The code is commented for an easier understanding.

I used the same image to obtain the histogram as i made it in Python

1D histogram


The advantage of the opencv histograms functions is that you can obtain a histogram of n - dimensions.

Labels:

November 30, 2005

Obtaining the histogram of an image with Python

To obtain the histogram of an image with Python using the PIL there is a specific function called histogram.

So, this code just create a grafic of that histogram.

Call it this way:

C:\python>python histogram.py inputfile.jpg output.jpg

The image could be .gif, .png, and other formats supported by the PIL

The code is here

Here is a histogram of this picture.



histogram

Labels:

November 26, 2005

Batch watermarking images with Python

I was wondering how to put a mark on my photos, i mean all the photos from a directory in my hard drive (i'm a little bit lazy :P)

So i read about the PIL (Python Imaging Library) and found this script: Watermarks with PIL then i extend it to do batch processing.

Use it this way:

c:\python\python batchsign.py YOURSIGN


signed image


It will create a signed copy of your files. FILENAME_signed.jpg

You have to put the jpg files to sing in the same directory as the script.

Hope you find it useful

See it here

Labels:

flickrBuddy 0.1

This tool allows you to see and download the most interesting pictures of your contacts in flickr.

flickrBuddy 0.1



No source code for the moment -i need to figure out how to do some things with threads...

You'll need the .Net Framework 2.0 to run it

The tool page is here

Labels:

October 30, 2005

Interesting by...

When i find a good photographer in flickr, i wonder which are his most interesting pictures, but it isn't a feature in flickr right now. I guess it will be sooner or later.

I can't wait, so here is a permalink to my most interesting pictures.

You can generate your own in this address.

This script is powered by phpFlickr.

Is there anyone interested in helping me with the design? I am a pretty bad designer

Labels:

October 12, 2005

Sierpinski's triangle

I had always wanted to program the chaos game,... I know, it is a stupid thing...

Well here is it:
I used Opengl in C# with the Tao Framework. Most of the opengl in my code is from the nehe tutorials.

You can put as many points as you want, but be careful with your memory, they are stored in an arraylist (the C# equivalent to a Java, C and many other languages vectors)

The insteresting part are this 4 lines of code:
//the three vertices of triangle
oglw.mainvertex.Add(new obvertex(5f,13f));
oglw.mainvertex.Add(new obvertex(-15f,-15f));
oglw.mainvertex.Add(new obvertex(15f, -11f));
//starting point
oglw.obvertexArr.Add(new obvertex(0f,0f));

Change the values to see what happen
Features:Zoom in and out: i o keys
panning: arrow keys
turn off the axes: c key


Sierpinsky's triangle


Binary here
Source here (Visual C# Express 2005)
Source here SharpDevelop project

Labels:

October 07, 2005

flickrFavs 0.2.1

flickrFavs 0.2.1 - Now with a new and more friendly installer.

I made this installer with Windows Installer XML (WiX) toolset, wich i found amazing.

"The WiX tools allow you to define the structure of a Windows Installer package using an XML file. This gives you all of the usual benefits of XML: easy editing with a variety of tools, the ability to modify the files using well-known technologies, and the ability to put the source file under source code control, for example. The WiX tools themselves are command-line tools, so they fit well with almost any build process."

Labels:

September 12, 2005

MSNAliceBot: a .net Chatter bot

Some time ago,... about a year and a half i programmed an inteface between the programD of alicebot.org and my msn messenger acount using dotMSN. The process was a mess.

There was a programD server running on my machine; a wget which passes the paremeters in an url and file processing to get the answers of alice. 3 separated applications,...

Today i discovered the AIMLBot and i rewrote my application.

I'm proud to announce the first release of MSNAliceBot.

I guess you will need the Microsoft .NET Framework 2.0 beta 2 (here) to run it

Features:
  • A log file of the conversation for every contact
  • The ALICE AIML-set (you can change it, it is in the AIML directory)
  • A random delay (1 to 5 seconds) when sending the answers


It still lacking of the "is typing" message. Any ideas of how to implement it with the dotMSN?

Here is a screenshot of a conversation between me and my SelfElectricEgo :D


MSNAliceBot



You can add him to your contact list if you want to see how it works: selfelectricego@hotmail.com (Not always running)

The source code will be released soon under the GPL as always (i need to do some cleaning on it)

Labels:

September 05, 2005

Installing Robocup soccer simulator (soccer server) on Fedora Core 3

The file rcsoccersim-9.3.4 contains everything for running the soccer simulator, but it doesn't work for me.

I've tried many ways to install it,... this is the one that worked for me.

Get the files:
rcssbase-11.0.11.tar.bz2
rcssserver-10.0.7.tar.bz2
rcsoccersim-9.3.4.tar.gz
trilearn_base_sources-3.3 (to try a team)

Untar all the files

Install rcssbase-11.0.11
cd rcssbase-11.0.11./
./configure CC=c89 CFLAGS=-O2
make
make install (root)

Install rcssserver-10.0.7
cd rcssserver-10.0.7/
./configure CC=c89 CFLAGS=-O2
make
make install (as root)

Install monitor classic
I use the monitor classic included with rcsoccersim 9.3.4

cd rcsoccersim-9.3.4/rcssmonitor_classic/
./configure
make
make install (as root)

Install UVA_trilearn
cd trilearn_base_sources-3.3/
./configure
make
make install (as root)

See the trilearn play alone :P
rcssmonitor_classic
cd trilearn_base_sources-3.3/
./start.sh

Labels:

September 01, 2005

Smarty tutorial

I made this tutorial about a year and a half ago. It contains the version 2.6.2 of smarty, but you can switch to the current release without any problem.

It is useful if you want to build a multi-language, cached, data-driven, multi-design smarty application.

All of the files of the tutorial are here.

If you want so se them online:

Mini Smarty Tutorial

Oh! I almost forgot,... it is in spanish :P

Labels:

August 24, 2005

Getting a section of a video (c++ OpenCV experiments)

I think that the documentation of OpenCV is very poor in this moment, so the only way to learn it is to start writting code.

Maybe this will be useful for somebody.

Yesterday i made a program to get a section of a video and display it on a diferent window with OpenCV.


section of a video

The code is here

The video showed is "deliver me" of The beloved

Labels:

August 13, 2005

Frame extractor (c++ OpenCV experiments)

I'm experimenting with the OpenCV library 'cause i'll be using it for my Master's thesis

So i made this little program which extracts each frame from an avi file - creates a jpeg file for each frame.

Code here

Labels:

August 07, 2005

miniPaint in Java (an old homework)

This is a little drawing tool. It is useful to comprehend the object oriented paradigm, packages and swing design in Java.


Features:
  • save as... (png file)
  • undo, redo (using vectors to store objects)
  • color chooser

Source code here


screenshot

minipaint in java

Labels:

July 31, 2005

flickrFavs v 0.2

This new release contains a list of the downloaded pictures, a picture box showing the last downloaded pic and a progress bar that give you an idea of the pictures that left to download.

Here is a screen shot:

flickrFavs 0.2

You can download an installer here

More info here

Labels:

July 25, 2005

flickrFavs v 0.1

I love flickr, and i wanted to have my favorites in my hard drive in order to see them with picasa or something like that.

So i made this .Net application using the Flickr.Net API with a little modification. I guess you will need the Microsoft .NET Framework 2.0 beta 2 (here) to run it

FlickrFavs allows you to download the original size of any flickr user public favorites.

Here's a screenshot:



flickrFavs 0.1



How to use it:
  • Choose a folder to put the pics
  • Enter a username and click the "get user info" button
  • Wait for the user info to be displayed
  • Choose the page (or pages) of the user favorites to download
  • Click download
  • Be pacient,... some of the pics are 5MB or larger
  • Enjoy


The filename format for the downloaded pics is userId-pictureId.jpg it could look like this 38113767@N00-921348e931.jpg (pretty weird... uh?)

Flickr.Net uses a cache system, so if you started downloading your pics and for some reason you have to stop and return another day,... you can start where you left.

I made this program in just one sleepless night, so there may be many bugs. I will release the source code acording to the GPL license, but not today. Today i'm very tired,.... I release it today, 'cause i know myself. If i don't do this today... well i'm a perfectionist and that is my curse

Anyway, if you're interested in the code (which is very simple) i can send it to you.

I'm planning to incorporate some other fancy stuff in this little program, like organize the pictures in folders by username and title, show a progressbar for each photo, etc.

By the way,... use it at your own risk :P


Isaias
siderevs[at]gmail.com

Labels:

July 21, 2005

ID3SharpTool

This is my C# implementation (very simple) of the ID3 Data mining Algorithm. I know there is weka, but i wanted to do my own implementation and to experiment with a XML format as a representation of the database.

I use Xpath to do all the countings involved.

This is how it looks an input file: weather.

ID3SharpTool



You can download the code (a SharpDevelop project) and a binary here. You can do whatever you want with this code, but if you find it useful or you improve it, please let me know.

I use a php script to convert from de input file from the arff format

Labels: