Ruby downloader for Jamendo
Also this year I’ll attend the Linux day (a day dedicated to Gnu/Linux and FLOSS that occurs every year in Italy) organized by my LUG. Guess what I’ll be talking about… ;)
While organizing the event somebody proposed to setup a local server with some music released under CC license. He suggested to download some albums from Jamendo (due to network issues we won’t be able to provide direct access to the website).
Since nobody wanted to download the albums by hand, last night I wrote a small ruby program that does the dirty job.
Requirements:
Ruby and json gem have to be installed on you machine.
Usage:
Help:[](http://www.flavio.castelli.name/wp- content/uploads/2008/10/jamendo_downloader.rb)
./jamendo_downloader.rb –help
Download the top 10 rock albums:
./jamendo_downloader.rb -g rock -t 10
Have fun
I think there’s nothing more to say… enjoy it!
{% gist 2437530 jamendo_downloader.rb %}
Wineconf 2008
So I traveled there on Friday, spending 24 hours of total awake time due to some rerouting,
arriving at 23:00 in the hotel. Now the first government body has all my fingerprints, and
its not Germany. :/
Conference was on Saturday and Sunday, starting with the keynote from Alexandre as only fixed
agenda item, and then went on with all-hands introduction, and other sessions collected ad-hoc.
Our group photo with names is on the wineconf wikipage.
I took some more pictures now uploaded to my gallery.
All in all it was nice seeing all the developers again, and having some fun inbetween.
Traveled back on Monday, arriving at 10am in Nuernberg on Tuesday.
Touching Banshee, Porting Tasque
I've written on a patch to make the artist and album text in the Banshee track info display interactive. 95% of the time I am listening to my library on shuffle, and sometimes I hear a song and decide I want to hear more from that artist or album. Well, with my patch, you can click on either to perform a search on your library.

You can also right-click and add the album or all tracks by the artist right to the play queue, which is my favorite Banshee trick now. Have you ever used the Banshee Play Queue? It's really cool...if you're listening on shuffle and you add a bunch of stuff to the play queue, it will play those items in order and then go back to shuffling through your library (or whatever you were listening to before you shoved stuff into the queue).
Click to see low-quality demo on YouTube.
So why is this still just a patch and not in Banshee SVN? Well, really, it's kind of ugly, don't you think? Here's this pretty Banshee UI with some gross hyperlink-looking text in the middle of it. What do you folks think I should do?
- Use a different color, like "Selected"?
- Only change the text color on hover?
- Both?
The only thing I like right now about having it colored all the time is that it makes the feature more discoverable. But is it worth it? Any thoughts on the appearance or behavior of this feature? If you build Banshee from SVN, give it a try and see what you think!
I'm busy lately so if somebody else wants to mess with this bug, be my guest. It won't get into SVN until after Banshee 1.4 is released, anyway. ;-)
Tasque Goes Cross-Platform
I couldn't sleep Thursday night, so I yanked some of my code from tomboy-portable2 and got Tasque going on Windows. Then I decided Tasque is simple enough to play with that I'd better get it going on Mac OS X, too. This weekend I even put together I nice little disk image for Mac users. Big thanks to Eoin Hennessy for creating Mono bindings to Immendio's Mac/GTK+ integration library. The next Tasque release will be equally supported on Linux, Windows, and Mac, so feel free to start filing bugs.


Really this is just an excuse to try stuff out for Tomboy.
Calling Gnuplot from Perl
In my previous post I discussed how to call Gnuplot from C and Python language. If you are using Perl, then, here is the script:
#!/usr/bin/perl
# Generate postscript and png plot with GNUplot from Perl
# Author: Ioan Vancea
# Usage: Give "data file" as an argument for script
use strict;
use warnings;
my $file = ARGV[0];
# POSTSCRIPT
open (GNUPLOT, "|gnuplot");
print GNUPLOT <
Graphics with Gnuplot from C and Python language
If you are doing a lot of calculations/simulations, like me, using C or/and Python language, you also need to visualize your simulated data. One way to do it is just to generate/write a "data" file and plot it with your plotting preferred package after the simulation is finished. But maybe, sometimes, you want to see the graph in real time, so, here I would like to show a small C and Python program which calls Gnuplot and save the plot in png format.
C Example:
#include
/*
Author: Ioan Vancea (www.vioan.eu)
*****************************/
int main()
{
FILE *pipe = popen("gnuplot -persist","w");
fprintf(pipe, "set samples 40\n");
fprintf(pipe, "set isosamples 40\n");
fprintf(pipe, "set hidden3d\n");
fprintf(pipe, "set xrange [-8.000:8.000]\n");
fprintf(pipe, "set yrange [-8.000:8.000]\n");
fprintf(pipe, "set zrange [-2.000:2.000]\n");
fprintf(pipe, "set terminal png\n");
fprintf(pipe, "set output 'graph.png'\n");
fprintf(pipe, "set title 'We are plotting from C'\n");
fprintf(pipe, "set xlabel 'Label X'\n");
fprintf(pipe, "set ylabel 'Label Y'\n");
/* fprintf(pipe, "plot 'datafile.dat' using 1:2\n");*/
fprintf(pipe, "splot cos(x)+cos(y)\n");
close(pipe);
return 0;
}
The output:
Python Example (I use Gnuplot.py):
#!/usr/bin/env python
'''
Author: Ioan Vancea (www.vioan.eu)
'''
import math
import Gnuplot
gp = Gnuplot.Gnuplot(persist=1)
x = range(1000)
y = [math.sin(a) + math.cos(a) + math.tan(a) for a in x]
data = Gnuplot.Data(x, y, title='Plotting from Python')
gp('set data style lines')
gp('set xlabel "Label x"')
gp('set ylabel "Label y"')
gp.plot(data);
gp.hardcopy(filename="pyplot.png",terminal="png")
The output:
openSUSE spokesperson/lizard/evangelist/coordinator
I probably could make here the longest title just naming everything we have so far as designation for the job 
So what is it about?
We want to have an official program to support local communities better. We already have some strong supporters which are doing an awesome job, now we need more of them. You might think of fedora ambassador or Ubuntu LoCo, but for a unique project like openSUSE we also should have a unique name. But of course it’s not all about the name, i posted yesterday a draft with more details and some open questions. We think that this program will help the project, and the people who are doing the job (without a name right now
), a lot.
Join the discussion at openSUSE-marketing!
Enlightenment LiveCD
Ladies and Gents!
Glad to announce the update of unofficial Enlightenment LiveCD based on OpenSUSE-11.0.
Download page
‘Welcome’ notes (PDF)
Please visit the download page to see the details and try the mirror provided by Yandex.ru – a leading Russian internet and technology company. We’ve got this mirror in September’08 because our server was loaded ‘over the top’. Please, read the Welcome.pdf before you pop the disk into the PC/Qemu/etc.
Here’s some download statistics data excluding the mirror and excluding the torrents:
| Month | Monthly Totals KBytes | Average shipped Qty of images |
| Jul 2008 | 2226994785 | 3625 |
| Aug 2008 | 1067698466 | 1655 |
| Sep 2008 | 33425784636 | 47884 |
| Total | 36720477887 | 53164 |
The data is slightly rounded/diminished, but tiny 50k from a single server is the result no one expected. Thank you very much!
All components of this LiveCD are available for the ordinary openSUSE Users. Some of our improvements/modifications are outlined in the ‘Welcome.pdf’. We’re cooking now the simple package to make the Enlightenment LiveCD with a ‘single click’. Anyone could install that package, read instructions, add the drivers/packages/components we had missed and “pull the trigger”. It means that you can add there the beloved NVIDIA drivers, remove OpenOffice, add more themes, wallpapers, games etc.
The brief changelog comparing to the old ‘release’:
- create_xconf service is modified and used instead of ‘traditional’ xdm to launch the GUI. If you decide to install the system to the disk – create_xconf will also help you there. A simple check of your video card/cards is added and ‘Sax2’ will be started on boot if your saved hardware configuration is altered (should we check the Monitor+Video Card configuration? should we modify the xdm service for better compatibility/integration?).
- fonts are displayed with 96.0 ‘standard’ DPI despite on selected/chosen screen resolutions. It’s easy to change this value if 66.0 DPI or 130.0 DPI is your favorite Xft setup but… 96.0 is the value which is used mostly .
- Enlightenment OBS repositories for openSUSE 10.2-11.0/Factory are updated to the current state. E-svn snapshot date is 20080924.
- custom kernel from Jan Engelhardt repository replaced the default one. Thanks!
- OpenOffice suite now uses the default/selected gtk-2.0 theme to display interface elements.
- Tk package is removed and aria2c lost the tk gui. BitTorrent client is added. Anyway aria2c is best when used in CLI.
- English thesaurus is removed from OpenOffice suite along with OpenOffice-Base. Sorry for the inconvenience caused.
- 23Oz theme for E17 and ETK is updated. Glowing scrollbars and sliders – useless feature but looks nice.
- sources of ATI fglrx drivers (without precompiled kernel module) are added, instruction for those who is not happy with radeon/ati opensource drivers are on the page 4 of Welcome.pdf
- several .desktop files are improved (thanks to the Ariszló)
- option to select the default login manager on first boot (‘Entrance‘ or ‘gdm‘) is added (though only ‘entrance’ works here).
- a lot of components are added to provide better support of various equipment ‘out-from-the-box’ (like webcams, eeepc and so on)
- other miscellaneous fixes and updates…
We will be glad to receive your feedback.
Acknowledgments:
Enlightenment Development Team and Enlightenment Community
OpenSUSE Build Service Team
OpenSUSE KIWI Team (schaefi, cyberorg, pzb, cgoncalves – THANKS!)
Stalwart, thanks for the hosting!
Packman Team
Novell
Jan Engelhardt
and all the others, who helped to make it (Engineers, Developers, Users, Maintainers…)
Thanks!
Regards,
SOAD team
How many Lizards does it takes…
… to change a flat tire?
The answer: 3
It’s been a while since the 3 oS Members from Nicaragua were planning to take a picture together, but for time, job and other complications we have been unable to do it.
But yesterday, caused perhaps for a bug in our kernels, the 3 of us gathered together outside Alex’s ex-office, after retrieving some promotional material from Novell at Alex’s place.
We started to talk about one of the Projects for Nicaragua and forgot completely about the picture. Moments laters and got into my car and DANG!, noticed the flat tire. Alex and Decks came and helped me to empty my car’s trunk when I noticed my camera. A bell rang inside my head and CLICK! A picture came out.
Not exactly the situation and posse we were thinking about… but it worked. :p
OpenSuSE Nicaragua in SFD 2008
On Sept. 20th, the Free Software Community in Nicaragua celebrated the “Software Freedom Day” at the “Universidad Centroamerica, UCA” Campus. The Nicaraguan OpenSuSE Community was there, supporting the event and promoting our favorite Linux Distribution.
As a Member of the Nicaraguan OpenSuSE community and the Nicaraguan Amateur Astronomy Group, I’ve set up a small stand running Stellarium in my oS.11 Laptop.
After that, I conducted a small workshop for people interested in learning Stellarium.
That was a big day!
Software Management as a Service
A couple of days ago I finished my thesis with the topic mentioned above.
It describes the currently used package formats and software management systems within the Linux as also the proprietary world of Microsoft respectively Apple plus the possibilities to reduce those systems and tools to a common denominator.
The prototype of this service, which emerged within the scope of the thesis, consists of the following three parts:
- PackageKit, which acts as broker between CIM and the local software management system
- CIM, which provides the standardized data model and communication and a
- Web-UI, which is more or less only a proof of concept
As the Common Information Model (CIM) is a widespread and well used standard (even Microsoft occupies it with its WMI stuff), its models are used for a common data structure as also for the operating system independent communication.
For implementing a usable service, classes (data structures) for Package, Update and Repository was needed.
These classes are based, out of compatibility reasons, on the already existing WMI implementation of Microsoft. Hence, it is possible with one and the same client to list packages (products in Microsoft speech) and Updates of Linux as also Windows computers.
To connect this CIM-classes to the local software management system it was necessary to develop so called CIM-providers.
The implemented providers communicate with PackageKit and not with the available software management systems (like ZYpp in case of openSUSE) itself. This is beneficial as there is no need anymore to develop a provider for every single software management system. As soon as there is a backend for PackageKit of the specific software management system this service is automatically usable.
The prototype of the service is fully usable to list, install and remove packages and patches as also to list, disable and enable repositories for all Linux distributions provided by PackageKit.
So, if you are interested and the thesis is accepted and marked (hopefully good) by my examiners, let me know and you’ll get a copy of it (90 pages, english).












