Top Latest Append

pterjan's diary


2005-09-04

  Flickr

I finally decided to open a flickr account 2 weeks ago but was desapointed when I discovered that perl Flickr::Upload did not use the API needed for new accounts, and the nautilus script was using Flickr::Upload so I had to upload my pictures by hand.

I had not to wait much as the new version released on Tuesday use the new API ! I packaged perl-Flickr-API and perl-Flickr-Upload into Mandriva and now wait for an update of the nautilus script, but can at least upload in CLI :)

  Ruby RPM automatic dependencies

I tried implementing ruby.req and ruby.prov to have rpm generating dependancies between ruby packages as it already does for perl and for libraries. ruby.prov was trivial, ruby.req is more difficult and I still have 16 requirements provided by no package. Some of them are easy to understand, like activerecord's db2 adapter requiring ruby-db2 which is not packaged.

The 15 other come from ruby rpm itself and are more complicated to avoid : xsd/xmlparser/xmlparser.rb requires xml/parser which does not exist. The reason is xsd/xmlparser.rb tries to load the various parser and this one will always fail, so xsd/xmlparser/xmlparser.rb is useless but provided...

Today's TSUKKOMI(Total: 1) [Add a TSUKKOMI]

  gr8k [About perl-Flickr-Upload, why not put it in gthumbs ?]


2005-09-14

  How can rpm -qa be so slow ?

rpm -qa is about 20 times slower than the same search in ruby, even if I enforce the search on name.
When I search a particular rpm using its name, the time is the same with rpm -q and ruby version. In fact, I didn't find any case when the C version is faster than the ruby one !
I really can't understand how the binding code can be faster than the official C rpm software...
[root@plop tmp]# time ruby -rrpm -e 'RPM::DB.new.each{ |p| puts "#{p.name}-#{p.version}"}' > ra
0.27user 0.08system 0:00.44elapsed 82%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+7219minor)pagefaults 0swaps
[root@plop tmp] # time rpm -qa > rb 7.14user 0.07system 0:07.48elapsed 96%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+4543minor)pagefaults 0swaps
[root@plop tmp] # time ruby -rrpm -e 'RPM::DB.new.each_match(RPM::TAG_NAME,nil){ |p| puts "#{p.name}-#{p.version}"}' > rc 0.29user 0.06system 0:00.44elapsed 81%CPU (0avgtext+0avgdata 0maxresident)k
[root@plop tmp]# diff ra rb [root@plop tmp]# diff ra rc [root@plop tmp]#
[root@plop tmp]# time ruby -rrpm -e 'RPM::DB.new.each_match(RPM::TAG_NAME,"rpm"){ |p| puts "#{p.name}-#{p.version}"}'
rpm-4.4.1-10mdk
0.03user 0.00system 0:00.10elapsed 34%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+1319minor)pagefaults 0swaps
[root@plop tmp] # time ruby -rrpm -e 'RPM::DB.new.each_match(RPM::DBI_LABEL,"rpm"){ |p| puts "#{p.name}-#{p.version}"}' rpm-4.4.1-10mdk 0.03user 0.00system 0:00.10elapsed 34%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1321minor)pagefaults 0swaps
[root@plop tmp] # time rpm -q rpm rpm-4.4.1-10mdk 0.03user 0.00system 0:00.10elapsed 36%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1630minor)pagefaults 0swaps
[root@plop tmp]# time ruby -rrpm -e 'RPM::DB.new.each_match(RPM::TAG_BASENAMES, "/bin/sh"){ |p| puts "#{p.name}-#{p.version}"}'
bash-3.0-6mdk
0.04user 0.00system 0:00.11elapsed 42%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+2029minor)pagefaults 0swaps
[root@plop tmp] # time rpm -qf /bin/sh bash-3.0-6mdk 0.04user 0.00system 0:00.12elapsed 42%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+2311minor)pagefaults 0swaps
[root@plop tmp]# time ruby -rrpm -e 'RPM::DB.new.each_match(RPM::TAG_NAME,"rpm"){ |p| puts p.sprintf("[%{RequireName} %{RequireFlags:depflags} %{RequireVersion}\n]")}' > ra
0.03user 0.00system 0:00.10elapsed 34%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+1288minor)pagefaults 0swaps
[root@plop tmp] # time rpm -q --requires rpm > rb 0.03user 0.00system 0:00.11elapsed 36%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1610minor)pagefaults 0swaps
[root@plop tmp] # diff ra rb [root@plop tmp]#
[root@plop tmp]# time ruby -rrpm -e 'RPM::DB.new.each_match(RPM::TAG_REQUIRENAME,"rpm"){ |p| puts "#{p.name}-#{p.version}"}'
basesystem-10.1-1mdk
menu-2.1.23-1mdk
cups-common-1.1.23-11mdk
rpm-python-4.4.1-10mdk
rpm-build-4.4.1-10mdk
perl-URPM-1.24-1mdk
rpmtools-5.0.21-1mdk
0.03user 0.00system 0:00.11elapsed 33%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+1431minor)pagefaults 0swaps
[root@plop tmp] # time rpm -q --whatrequires rpm basesystem-10.1-1mdk menu-2.1.23-1mdk cups-common-1.1.23-11mdk rpm-python-4.4.1-10mdk rpm-build-4.4.1-10mdk perl-URPM-1.24-1mdk rpmtools-5.0.21-1mdk 0.07user 0.00system 0:00.16elapsed 48%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1673minor)pagefaults 0swaps
Today's TSUKKOMI(Total: 17) [Add a TSUKKOMI]

Before...

  mbt shoes india [mbt shoes chicago pterjan's diary(2005-09-14) mbt shoes india http://mrmc.hkesociety.org/mbt-shoes-outlet/online-shop..]

  replica watch [Best replica watches with genuine Swiss movement for sale replica watch http://www.aiwatch.in]

  creative ideas  [Great article post.Really looking forward to read more. Keep writing. <a href="http://www.premed.fudan.edu.cn/preme..]


2005-09-20

  OpenOffice2 can write DocBook

I tried exporting to DocBook from OpenOffice 1.1.x (using the available xls files) and the result was not usable. Today I tried with OpenOffice2, the format is available in "Save As", it works fine and produces clean XML !

The import is not as good however, the only preserved things are lists (even section titles are no longer titles :( ).

Today's TSUKKOMI(Total: 6) [Add a TSUKKOMI]

Before...

  cterdjan-stern [o brother !?]

  pterjan [catherine ? hello :)]

  Moosh [All the PEAR doc is (like PHP DOC) write in docbook. I have try to write some chapter with OOo. That's work pretty go..]


2004|06|07|08|09|11|
2005|01|02|05|06|07|08|09|10|11|12|
2006|01|02|03|06|08|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|12|
2011|02|04|06|
2012|01|05|11|
2013|01|02|04|06|
2014|02|
2015|06|
2017|05|07|12|