My RSS feeds

Several people asked me recently (in different situations) about what are the sites that i read/visit on a daily basis (most times hourly :P). So here it goes the list,

  • Planet GNOME - This is my favorite one, great hackers post here.
  • Unofficial Planet Python - great planet.
  • Planet DEBIAN - You can find some good posts here also.
  • Planet Ubuntu - My distro plane.
  • Universe Gentoo - The “distro i would love to have time to ” planet :P
  • Monologue - Planet of mono developer.
  • DIGG - im getting bored of this one, but from time to time you find a great article.
  • Slashdot - i dont read it this one as frequent as before, but i enjoy reading the comments.
  • LinuxToday - Quite good in selecting linux news.
  • Phoronix - Mostly hardware reviews.
  • Reddit - better than digg in some aspects but very similar idea.

That’s the list, there are other sites that i visit from time to time like lenovo blogs or planet openbox. Also to the list above you can add my family/friends blog that you can find in my blogroll.

I love jython!

So if you thought that python was good, well jython is even better! You have all the great stuff that you have in java with out the need of programing in java :D For example, the other day i was in need of reading some xmls from a web. In python you have httplib for doing HTTP GETs and retrieve the documents and you have nice libraries like Beautiful Soup or pyxml. But in this case i needed something even simpler, as i could use the xsd for this xmls, something like xmlbeans would be great.

I already had the code for downloading the xmls in python, it was something like this,

import httplib, os

def get_listing(conn):
	conn.request("GET", "/oai2?verb=ListIdentifiers&metadataPrefix=oai_dc")
	response = conn.getresponse()

def get_papers(out):
	conn = httplib.HTTPConnection("export.arxiv.org")
	listids = get_listing(conn)
	for id in listids:

That URL (export.arxiv.org/oai2?verb=ListIdentifiers&metadataPrefix=oai_dc) returns a xml defined by a xsd, so with the help of xmlbean we can generate a jar to handle that xml. The code looks just like a python script and will probably run fine….. Now we can get those identifiers just with the following modifications,

import httplib, os
import org.openarchives.oai.x20

import org.apache.xmlbeans
def get_listing(conn):
	conn.request("GET", "/oai2?verb=ListIdentifiers&metadataPrefix=oai_dc")

	response = conn.getresponse()

	listidsdoc = org.openarchives.oai.x20.OAIPMHDocument.Factory.parse(response.read())

	listids = listidsdoc.getOAIPMH().getListIdentifiers().getHeaderArray()

	return listids

def get_papers(out):
	conn = httplib.HTTPConnection("export.arxiv.org")

	listids = get_listing(conn)
	for id in listids:

So, the only thing left was the export of the classpath (something like “export CLASSPATH=”"/path/to/xmlbean/jar”") and adding some additional logic to the script to actually do what i was looking for :P and my jython hello world was ready :D

That was a great time with jython and you can have it to, go and download it from here. They have a really painless “next, next, next” installation wizard. You can read something else, here, here and here.

Bruce Eckel (from the fame of “Thinking in Java”) posted this that later Guido replied here, beyond the discussion of py3k one thing got my attention,

(Talking about breaking language backward compatibility)“And the Java designers should certainly take notice, especially because the people they are so worried about offending with language incompatibilities are still using Java 1.1 with no plans to change; they aren’t even paying attention to these discussions. In the meantime, Java continues to ossify, pursuing its endless quest to produce the perfect program through static type checking, by adding more and more. The good thing is that people are finally beginning to see that static type checking is useful in small amounts and intrusive in large amounts (although I suspect this realization won’t reach the main group of Java designers for years to come). The bad thing is that, in the meantime, we get abominations like Java “generics”; via daily use people are finally beginning to see what I tried to explain years ago — Java “generics” are far more painful than helpful, just like checked exceptions.”

That got me really happy cause i’m quite surrounded of people that think that Java is the shit and i think it’s quite far from being it…..

waiting for this to end….

Been quite busy with my thesis work and i have not been doing much of the things that i would like…. but well…. Today i found this nice video about django on a google plex presentation, the video is quite nice and there are other videos also interesting (like this one about python 3000). The videos are from the 2006 but still interesting :). This also remembers me how bad the experience of uploading a video to an ipod is…..

Investigating about Amazon S3 (God damn they are cheap!i think they are using recycled paper as storage medium :P) i found this great article of guy explaining REST to his wife, the article is great and it explain some core definitions in a very simple way.

On other news tried Ubuntu 7.10 tribe 3 some weeks ago but rolledback as it’s way too green for me and i don’t have the time to try to fix it. i did not saw such a improve in battery life as a lot of people are saying with tickless kernel, i played with powertop and some of the upcoming gui modifications that will be showing on the next version of ubuntu (they made a winblows-like dialog for screen proprieties management, don’t spend 15 minutes looking for the font configuration app at System > Preferences is not there). I think this will be an other great release of a great Operating System, i just hope my cheap video card manufacturer release a decent driver with AIGLX support, apparently the last version, release today is more of the same crap. Well at least i know i wont be buying AMD any more.