Status Update: RMagick4J, Nokogiri, ruby2java and a possible MagickWand4J

Sábado, 6 de Junio de 2009

It’s been long time since last status update, but there are some things to tell, so here I am.

Thankfully, this year I’m a GSoC student again (and my mentor is Tom too). The main part of my project would be porting Nokogiri to JRuby, so I haven’t code for RMagick for a while now.

Let’s start with the status update then.

Nokogiri

I’ve been working on Nokogiri for a while. I forked Charles’ repo in Github, and I’ve implemented some cool features. For example, today I got my XML::Reader implementation to pass all tests in test_reader.rb. I hope I’ll be able to make a release this month (cross your fingers).

On the other hand, I got my first patch accepted in Nokogiri’s main repo.

RMagick4J

Not to much work done here, sorry. I haven’t code anything for a while now. Migrating from mercurial to git is already planned, but before that I would like to do a few commits more. Anyway, I’m quite happy with this project. Some people are using it and reporting bugs (in the end, those little things are all that matters). What else can I ask for?

Please, if you find a bug, report it here.

MagickWand

Tim Hunter (creator of RMagick) released MagickWand recently. I’ve been considering porting it to JRuby too. I have to take a deeper look at the C code, but, by now, I think it could be a good way to lead RMagick4J development. If finally I port it, I will split RMagick4J in two projects (Magick4J and RMagick4J). This way, MagickWand4J and RMagick4J would share the same java codebase, as MagickWand and RMagick share ImageMagick.

ruby2java

Take a look here. Awesome, isn’t it? And as soon as I have some time to work on it, siesta will be out too…

P.D. By the way, no more personal stuff in this blog. That stuff is now here, and only in Spanish (sorry about that).

Serabe General, Google, JRuby, Java, Programación, Ruby , , , , , , ,

I’ve gotta make my own kind of music.

Jueves, 7 de Mayo de 2009

Even if nobody else sings along.

Serabe Música , ,

It’s all about expectations.

Sábado, 25 de Abril de 2009

Two days ago, I was talking about Susan Boyle with a friend. I do not like her, my friend didn't even know who she is. I told her about Susan, she has a good voice (not a great one) and she can sing pretty well. The only difference is that she is quite ugly (in Spanish I would say that she is uglier than hitting your own father with a sweaty sock). Her answer was pretty simple: It's all about expectations.

She said that by looking at her, my expectations were low, so when she sang even with a good-but-not-extraordinary-as-they-want-us-to-believe voice.

Other way of making things look better is the Bluetooth-Cooper theorem ("Averything is better with bluetooth"), in this case, with the Jackson-Vader corollary:
YouTube Preview Image

Serabe General, Música, Vídeos , ,

RMagick4J 0.3.7 Happy Birthmonth released.

Lunes, 23 de Marzo de 2009

RMagick4J 0.3.7 Happy Birthmonth has been released!

RMagick is a Ruby binding to ImageMagick and GraphicsMagick. RMagick4J implements ImageMagick functionality and the C portions of RMagick for use with JRuby.

Current stable version: 0.3.7
Project URL: http://kenai.com/projects/rmagick4j
Installation: gem install rmagick4j

New effects:
· Charcoal
· Edge
· Implode
· Negate
· Normalize
· Shade
· Solarize
· Wave

(I think that's all that you need to use simple_captcha)

Major bugs resolved:

· blur_image produced different images from RMagick.
· Draw#push and Draw#pop didn't work correctly in some cases.

Furthermore, RMagick4J does not depend on jhlabs library anymore (the gem has lost some weight!).

Thanks to:
· Tim Hunter and the ImageMagick team (obviously).
· JRuby community for its support.
· Everyone that has reported a bug, ask for help in the #jruby channel or suggest a new library compatibility.

Please try out your applications with rmagick4j and help us provide feedback (even birthmonth cake!). It is our goal to make a fully-compatible implementation of RMagick4j in JRuby.

You have some image examples here: http://www.serabe.com/rmagick4j

This is a very special release, cause March is my birthmonth.

Happy Birthmonth to:
· SuperTaz
· everyone else whose birthmonth is march
· and me!

Serabe JRuby, Java, Programación, Ruby , , ,

RMagick4J: Status Update 15/03/09

Lunes, 16 de Marzo de 2009

This week I've been fixing some bugs, adding some minor effects and adding wave effect.
In order to add wave effect I've had to read a lot of ImageMagick code. Lucky me, there was an if that made all too much simpler. Unlucky me, I didn't realize until the third reading-code day.
Anyway, after sweating blood, here you are the images:

RMagick RMagick4J
original
JRuby logo JRuby logo
charcoal 0.75
charcoal RMI charcoal JRuby
negate
negate RMI negate JRuby
normalize
normalize RMI normalize JRuby
blur_image 2
blur RMI blur JRuby
wave
wave RMI wave JRuby

Serabe General

Mi escala de compromiso personal.

Miércoles, 11 de Marzo de 2009

Inspirado por edans y esperando que El Teleoperador se apiade de mi alma public mi nivel de implicación con las cosas que leo.

Nivel "me la suda": no sólo no me aporta nada sino que prácticamente molesta.
Nivel "me la pela": no aporta nada, pero al menos sirve para pasar el rato.
Nivel estrellita: le pongo estrellita en el Google Reader con la ilusión de que en algún momento podría llegar a aspirar a ser útil.
Nivel compartir: Aquellas cosicas que pongo a compartir en el Reader, normalmente para que parezca que soy normal, o como mínimo más normal de lo que parezco.
Nivel delicious: Nivel máximo. O lo he leído y lo quiero conservar o no lo he leído y de verdad quiero leerlo. Todos a mi delicious.

Para el próximo artículo de este estilo prometo currarme unos tecnicismos en inglés. O no.

Serabe GOTAM , , ,

RMagick4J: Status Update 09/03/09

Lunes, 9 de Marzo de 2009

Finally I figure out the problem with the convolve method. The code I wrote was only prepared to deal with TYPE_INT_ARGB BufferedImages but when reading a image from a file, it doesn't ensure this type. Now this is fixed and working.

Furthermore, I added charcoal, solarize and shade effects. The latter gave some problem while testing, but finally the problem was in test not in code. From now on, the to_threshold method must be used in test when dealing with numbers that depend on the QuantumRange. This problem is due that QuantumRange can differ from one ImageMagick installation to another, but RMagick4J always uses 255.

Here you are some examples (the guy that looks like me is actually my non-existent twin brother):

RMagick RMagick4J (This is what I do)
original
original original
charcoal 0.75 (RMagick4J is not normalized)
Charcoal RMagick CharcoalEffect
edge 5
Edge RMagick EdgeEffect
shade true, 50, 50
Shade RMagick ShadeEffect
solarize 27.5/255*QuantumRange
Solarize RMagick SolarizeEffect

Serabe General

Predicción.

Viernes, 6 de Marzo de 2009

Escribo esto el miércoles 4 de marzo a las 21:52 y predigo que Alba no habrá escrito nada nuevo para cuando esta entrada vea la luz...
Actualización: Esto de predecir no es tan chungo. ¡He acertado!

Serabe General

Marco Hietala reached Diva level 6.

Viernes, 6 de Marzo de 2009

Confirmed, Marco Hietala reached Diva level 6 after a careful evaluation of the song Amaranth sung completely by him.
Nightwish en Chile
Creative Commons License photo credit: Lu ♥
Fans worlwide are waiting for his hug-and-letter to leave the band. Nevertheless, his current divaness level is higher than Tarja's.

Serabe GOTAM, Música , , , ,

Dead Like Me: Life After Death

Jueves, 5 de Marzo de 2009

I remember this TV show fondly. It was the last TV show I got up early (I mean, befor 13:00) only to watch it with my family. It was all about a girl who died in the pilot when a toilet crashed into her. Then, Georgia (the only girl I know had died because a toilet crashed into her) became a grim reaper, her work was to reap souls of time-to-go people. Furthermore, she was in the External Influence Division (accidents, nature disasters and others).
Later in the story we knew about the gravelings, a beings that cause deathly accidents. They are suppose to be invincible (spoiler, spoiler, spoiler) in the second season's finale Georgia reaped a graveling, and it turned to dust (you can read now safely).

So, this week I read a film about Dead Like Me was released and few hours ago, I finally saw it. No Rube (Mandy Patinkin, the 'I'm Iñigo Montoya, you killed my father. Prepare to die.' guy), no original Daisy, no Der Waffel Haus (it is even burned to dust!), suddenly the George's other face is not hard to look at. Ok, I can stand it. Maybe I can even enjoy it (no, I'm not kidding). But not graveling reaping? But not (the same spoiler comes again) graveling reaping? OMG! It was the cliffhanger of the second season!(you can read the rest of the post) And lostie Desmond instead of Rube!

Anyway, the film is watchable. It is not like Street Fighter: The Legend of Chun-Li (I'm still considering killing every people involved in that crime against humanity).

Serabe General

Improve the web with Nofollow Reciprocity.