Archive for the 'Software' Category

Ruby libxml annoyances

Wednesday, June 13th, 2007
>> doc.find('/*').first.name
doc.find('/*').first.name
=> "Customer"
>> doc.find('/Customer').first.name
doc.find('/Customer').first.name
NoMethodError: You have a nil object when you didn't expect it!
The error occurred while evaluating nil.name
	from (irb):52

Something is wrong with Ruby’s libxml xpath evaluator. I’m only able to use the wildcard * to select elements and not the element’s name. After doing some research on the project’s page, there are 2 comments about the problem, complaining that libxml’s support of XPath is just too limited and it has lots of problems when dealing with namespaces. Default namespaces are not parsed, namespace wildcards are not supported and namespace prefixes won’t work all the time. What’s the advantage of announcing a 300x faster xpath speed than rexml when it doesn’t work and valid xpath expressions return syntax error?

>> doc.find('/*:Customer').first.name
doc.find('/*:Customer').first.name
XML::XPath::InvalidPath: Invalid XPath expression
	from (irb):73:in `find'
	from (irb):73

It’s time to go back to the slower but working rexml.

VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 9% [?]

Ruby and libxml in Windows

Monday, May 14th, 2007

If you happen to be using Ruby in Windows and need to use libxml and don’t feel like compiling it from the source code, here is an alternative. Charlie Savage did the work himself and provides the binary that you can use instead of compiling your own.

VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 5% [?]

Request for comments on Python and Django APIs for DB2

Thursday, March 15th, 2007

Antonio Cangiano is one of of the persons involved in the creation of a Ruby and Rails native adapter and vendor supported driver for DB2. He now has a post in his blog requesting comments on Python and Django APIs for DB2

If you use Python or Django with DB2 and would like to make comments that will help creating a high quality DB2 adapter for your programming language, this is your opportunity. Even if you don’t use DB2 yet, but have knowledge on Python database application development, I’m sure you have lots of ideas you would like to contribute. Stop by Antonio’s blog and leave your comments.

VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 10% [?]

Joost server down

Tuesday, March 6th, 2007

joost_server_down.jpgI’ve noticed that Joost website has been very sluggish over the last week (with exception of one day or two) and today the server is down. No website and no joost TV for anyone.

About the service itself, I still have the same idea: quality could be better and content is very very limited. I’ve only been watching some NG shows as I have no major interest on the other available shows. The menus have a nice look and feel and are somewhat user friendly (after the first 2 or 3 times you use them you will now how to access everything). I would like to have the feature of “staying on top” for Joost windowed mode, but it doesn’t seem to exist yet.

I have no invitations yet, but once I have I will respect the request list on my previous post about Joost

VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 3% [?]

Joost Beta Test

Thursday, March 1st, 2007

joost_beta.jpgAfter a few weeks of wait, I just got my Joost beta test invitation. It was bellow my expectations.

I don’t have a TV, so I’m an avid consumer of TV Shows available on the internet (OVGuide and TV-links are great sources) and was expecting Joost to providing me something more than just a very small catalog of recorded shows. 

Good Things:

  • Very simple and aesthetic interface, although it would be nicer if the buttons show some activity when you click on them with the mouse.
  • Speed. Full quality stream available faster than in others P2P alike programs like TVU, TVants [1][2] or Sopcast.
  • Goodbye iTunes store. If you used to buy National Geographic shows from iTunes store, now you have them for free, without having to wait for download to finish, and without DRM [1].

Not so good things:

  • There is nothing new on the technology. P2P streaming has been around for some time.
  • Quality: I’ve found some online streaming sites to have better quality, mainly when streaming content as divx. (But most of Flash based streaming have very very bad quality, so Joost kicks their @ss). SOME channels on TVU/TVants/Sopcast have the same quality as Joost shows.
  • No real-time streaming. I’m looking for real-time streaming of TV channels so we can definitely say goodbye to conventional TV. There are plenty of alternatives on real-time TV streaming, but I’m not sure about their legitimacy.

Although many P2P TV programs have been around for a long time, it’s very likely that Joost is the only one with legal rights to broadcast all of its contents. That may be the reason why there are so few choices available for now. Let’s wait that someday we will be able to watch LOST, Heroes and CSI in Joost :-)

I’ll wait for the weekend to explore it better and maybe add some more comments about it.

I don’t have any invitations to offer yet, but feel free to leave a comment and I will send you an invitation when they become available.

VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 3% [?]

Contributing to Open-Source

Wednesday, February 14th, 2007

Some of us have been using opensource software for a long time, but how many times have we contributed back to the community? Indeed, it looks much simpler to use a product than to help developing it. However, sometimes this is not the case. There are a lot of projects out there waiting for our help. So, if you feel it’s time to give it back to the community, here are some ways to do it:

  • open bugs when the software doesn’t work. Don’t just quit using the software because it doesn’t work properly. Open a bug and you will see that eventually it will be fixed.
  • if you have the know-how or the will to do it, fix the bug by yourself and submit your patch, either to the mailing lists or attach it to the bug report.
  • subscribe to the mailing lists of the projects you are interested. Soon you will find yourself giving your opinion and suggestion and thus contributing to the project.
  • if stability is not a major concern for you, keep updating your software to the latest version and give your input back to the developers.
  • help developing new features. Often opensource projects lack new features because the lack o resources to develop them.

So, you still think you cannot help because you are not a developer, or you don’t know the programming language being used by the project you want to help? Projects need help in many other ways other than developing code:

  •  you can help with translations. Translate it to your own language, or if a translation already exists, review it to ensure accuracy.
  • help writing and reviewing the docs.
  • you can help by just being a test user and reporting back the problems.
  • help maintaining website, moderating forums, etc..

Do you feel the urge to help? A good place to start is sourceforge.net. Besides the thousands (or even millions?) of projects that you can browse trough, there is a “Help Wanted” section, where you can see all the requests for help from projects being hosted at sourcefourge. From help with design, to development and documentation, I’m sure you will find something that interests you. 

 

VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 4% [?]

Eclipse SVN Plugin

Thursday, February 8th, 2007
Any recommendation on a Eclipse SVN plugin? Both Subversive, Subeclipse and ToirtoiseSVN have good ratings on eclipse plugins sites. If you have experience with any of these plugins, please leave some comments.
VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 7% [?]

GIMP Perspective Clone Tool

Saturday, February 3rd, 2007

Gimp 2.4 will have a new feature called Perspective Clonning. This tool is already available in Photoshop CS3 and it allows you to clone part of your picture maintaining the perspective distortion of the subject.

This feature was developed by Pedro Alonso as one of GIMP’s projects for Google Summer of Code, and you can find some video tutorials and examples on his website. I gave it a try, and the result was this:

 clonning 1

clonning 2

Very neat tool indeed!

VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: +1 (from 1 vote)

Popularity: 12% [?]

Marketing with Vista in Canada

Friday, February 2nd, 2007

It is a generally accepted idea that Apple has a fantastic marketing team. We see their ads, their launch parties, their website, their design, and we almost want to buy the product just because it looks cool, nice and great, but we didn’t even try it yet. Today I was surprised by another company’s marketing ideas. Believe it or not, it was Microsoft and it’s Vista marketing campaign! I should say that I know nothing about Vista, besides the fact that was launched this week and that was being developed for a long time. I still have no curiosity in learn about it or its new features, since I don’t plan to use it in a near future.

To the official Vista’s launch in Toronto, Microsoft built a very cool ice house. The house has been a huge attraction in downtown Toronto, and the house visitors have the opportunity to see the the new msft OS and Office packages in action. This was a great way of calling people and try to impose the “coolness” factor. I checked the house today from the outside and it looks cool. I will try to visit the inside part tomorrow to see how does a ice toilet works!

Despite the factor of the ice house being a huge attraction by itself, the location chosen (the same used by Sony for the recent launch of the PS3) was also very good. It was just outside the main entrance of the Toronto Eaton Centre, that is just the biggest shopping mall in Toronto (and the 3rd biggest in Canada), and currently Toronto’s top tourist attraction regarding number of visitors. What best location can you have to demo a product than a place where all the families go and most of the tourists also go?

After checking out the ice house, I decided to stop and the Indigo store inside the mall to read some magazines and look at the bargain books (sometimes you find really great value in there). And what was my surprise when I looked at the “Hot & New” section at the entrance, and it was all about Vista! There were more than 10 different books on Vista, from the Bible to the Idiots series. That I was not expecting, but I should say that it was also a good strategy. While I was reading a magazine close to the Vista stand, I would see people stopping and looking at the Vista books with plenty of interest and commenting about it. They definitely caught people’s attention to their product launch.

And at the end I came home thinking: if only Linux had an opportunity like this…

In other news: I gave a try to GIMP 2.3.14 and it rocks! Some very good new features. More on that soon.

VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 5% [?]

How to get an access plan in DB2 using db2exfmt

Thursday, January 25th, 2007

The most common way used to generate and retrieve access plans in DB2 is by using DB2 Control Center. CC provides a graphical representation of a query’s access plan, and it also includes an Index Advisor, that you can use when you are not sure about which indexes to create and to use.

However, not always you have access to a graphical environment (needed to run DB2 Control Center). For the command line, there are two utilities that you can use. DB2 EXPLAIN command and the db2exfmt utility. Although the first one is more complete, I find the second one to be easier to use. So, in order to get an access plan for your query using db2exfmt, you just need to do:

  • db2 -tvf ~/sqllib/misc/EXPLAIN.DDL (create the explain tables where all the explain data will be stored)
  • db2 set current explain mode explain (this will put DB2 in explain mode
    and all the subsequent queries won’t be run, but explain data will be
    gathered)
  • run your workload (e.g., db2 -tvf query.sql)
  • db2exfmt -d dbname -1 -o output.txt (formats the information on the explain tables)

 Detailed information about the access plan for your query will be in the file output.txt. By using this information, you can see which indexes are being used or not as also other performance considerations about your query.

PS: don’t forget to run "db2 set current explain mode no" when you are done with your access plans, so the queries will be executed. 

VN:F [1.8.1_1037]
Rating: 10.0/10 (1 vote cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Popularity: 10% [?]