Debian

warning: Creating default object from empty value in /home/gwolf/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

Converting incoherent sets of data between charsets

Submitted by gwolf on Mon, 02/04/2008 - 23:33

Dato complains that converting changelogs to be UTF8-clean is not always as simple as running iconv - One of the reasons that took me so long to migrate my blog is that, due to having migrated (at different points in time) my previous CMS (Jaws 0.4->0.5->0.7), its underlying database (MySQL 3.4 -> 4.0 -> 5.0 IIRC), the distribution (Debian Woody -> Sarge -> Etch+backports), several reinstalls and all... Well, I had a completely mixed-up database, with some tables in UTF, some tables in latin1, some tables with mixed rows, some tables that for some strange reason had double-mixed rows (that is, that had UTF8 misrepresented as latin1 and then re-encoded into UTF8)... No, it was not fun to sort out.

( categories: )

Introspection in Perl

Submitted by gwolf on Thu, 01/24/2008 - 11:19

Some days ago, my RSS reader found Mark Jason Dominus' Help.pm - Yes, the module is (so far, at least - I could not find it on CPAN) only published as a blog post. But don't let that fool you - It's a beautiful (and simple!) Perl module that can help developers that are too lazy to go look up methods in the man pages.

Perl's introspection capabilities are not behind other dynamic languages' (i.e. Python's or Ruby's, speaking only about what I'm familiar with). However, it's used much more seldom, partly because Perl does not ship by default with an interactive console (such as Ruby's irb or Python's regular behaviour when called without an input script). Of course, writing a Perl console is an easy task, and good Perl consoles exist, although its use is not part of the Perl culture.

But of course, just glancing over MJD's code made me come up with a simple, yet useful, way to use introspection in Perl, usable as a simple one-liner. Say you want to look at all of the methods provided by IO::File:

gwolf@mosca[25]/tmp$ perl -e 'use IO::File; print join(", ", grep {defined &{"IO::File::$_"}} sort keys %{"IO::File::"}), "\n"'
binmode, carp, confess, croak, gensym, new, new_tmpfile, open, qualify, qualify_to_ref, ungensym
Want the scalar variables? Of course:
gwolf@mosca[26]/tmp$ perl -e 'use IO::File; print join(", ", grep {defined ${"IO::File::$_"}} sort keys %{"IO::File::"}), "\n"'
VERSION
Same goes for arrays and hashes. And, of course, leaving out the grep gives you anything. Yup, it's the magic package-name hash trick. Main difference between this and MJD's Help.pm? That Help.pm goes up the inheritance chain, and is thus much more correct.

Of course, I'll be uploading Help.pm to Debian very soon - And, why not, I think I'll add a way for it to query on different symbols, not just on methods. And the simple binary to call from the command line. Sounds very much worth it ;-) Thanks, MJD!

( categories: )

World Social Forum 2008 - Another world is possible

Submitted by gwolf on Sun, 01/20/2008 - 23:10
A phone call in December made me very proud: A colleague I met thanks to the Espora collective told me she was involved in the Mexican activities for this year's World Social Forum (FSM Mexico 2008 site). The Mexican activities? Yes. This year, the World Social Forum will not be held at one -or several- distinct places, but it will happen globally. There will be activities in tens of countries. The activity program for Mexico (full PDF version) is quite loaded - And I was invited to give one of the talks, this Friday (Jan 25) at 12:00, about Free Software for a Free Society, in the Foro Derecho a la Comunicación track.
I am very honored by this invitation! I just spent a couple of hours organizing/going through the topics I will be presenting. I hope to be able to be at some other of the forum's activities, as it just is too important and interesting to miss out!

Debian Developers fail Turing tests?

Submitted by gwolf on Fri, 12/07/2007 - 12:31

Ok, so two people replied to yesterday's post about triple negations - Dato (by email) and MadCoder. Both, said basically the same thing: || false and && true are silly noops. And yes, knowing this, I added them. Why? Clarity... At least having them at the end of a test shows the statement is of conditional nature (and not just another obscure attempt to do ${DEITY}-knows-what). They at least look cleaner than a one-line-squashed if block in a makefile. To me, at least ;-)

But... If you noticed this post's title, it goes beyond this comment - One of the most benefical effects I noticed when I installed Jaws 0.7 (over 0.6, of course) is that I no longer had the swarms of spambots flooding me - I often had hundreds of comments a day, and nowadays I hardly get any spam. Now, I fail to see what is so strange in my blog's comment forms (it does not even have any obvious Javascript, although it does obfuscate a bit the source of the captcha image). And you are not the first Debian people to complain you cannot post comments to my site. Strangely, few non-Debian people have ever complained.

And yes, the spam has stopped, almost completely.

So, Debian guys: Are you human?

( categories: )

Triple negations

Submitted by gwolf on Thu, 12/06/2007 - 15:18

I'm packaging Ruby's PDF::Writer module for Debian - It is a simple module and (almost) ready for upload. But anyway, it carries some issues I had to bring to debian-legal's attention, mainly, five files licensed under Creative Commons licenses (specially two of them, which are under its NonCommercial variant - clearly non-free), so I'm repackaging the .orig.tar.gz into a +dfsg version.

But I know I'm a lazy and sometimes stupid bum. Even more, the package will be group-maintained by the pkg-ruby-extras team, so we must be as careful as possible not to forget to remove the non-free material - To remove two scripts, and to replace three images with free equivalents I just made. But hey, tell me if this does not feel ugly to you. At least to the bits of you who learnt human grammar:

clean::
	# Make sure we strip out non-DFSG demo files from the orig.tar.gz
	[ ! -f demo/qr-library.rb -a ! -f demo/qr-language.rb ] || false 
	[ $$(md5sum images/bluesmoke.jpg | cut -f 1 -d ' ') == 0586eca5af7523ab871609eceb44724a ] || false
	[ $$(md5sum images/chunkybacon.jpg | cut -f 1 -d ' ') == a000b1917142ce332fd3474f0722cd6f ] || false
	[ $$(md5sum images/chunkybacon.png | cut -f 1 -d ' ') == 927feec1cbbf23c4d89a4a5ad88e6d0f ] || false

Triple negations. How nice.

( categories: )

Digging into Drupal

Submitted by gwolf on Thu, 12/06/2007 - 12:06

As of late, I've shifted quite dramatically my sysadmining/development activities. On the development front, although Perl is still my mother tongue and I maintain many systems I wrote with it (and my main involvement in Debian is through the pkg-perl group, of course), I've been largely switching over to Ruby - both under the Rails framework and doing standalone stuff.

But somehthing that's new to me (well, relatively - it has been observed I have been playing with the idea in and out for some more time) is entering this maze of twisty little passages, all alike called Drupal. What can I say? I'm quite surprised by it. It is such a reach CMS, and so twistable for almost-anything, that it still defeats me.

I've been asked (ordered? pushed?) to propose a complete plan to replace my Institute's current static-and-butt-ugly-HTML site with something dynamic and manageable, so, of course, this last week has been an intensive Drupal crash-course for me.

Drupal itself is quite complex, yes, and I thought I had it mostly mastered for the trivial tasks. But then, I started looking for some I-thought-quite-simple extra thingies - And I started discovering its user-contributed modules. I've been having quite a bit of fun with them, and as I hate messing up my clean and nice installation, I've even set up a Drupal5 modules APT repository for Etch, where I'm putting the modules as I process them.

As I'm really not into PHP, and I still lack enough of the Drupal framework understanding to really step forward and become responsable for them, I'm not yet even suggesting packaging them for Debian - but a time might come where I upload them as well ;-)

BTW, in case somebody is wandering about this Jaws-to-Drupal scripty I mentioned that other time: It basically works for blog entries (as you can see in my test site - barring some trivial latin1-UTF discrepancies). I have not yet migrated because I'm also trying to migrate my Phoo photo galleries to Acidfree albums... And it's quite a more challenging task than just migrating blog+comments. But soon, I hope - I have a bit more time than in the last weeks to be able to play with it. Anyway, here it is as it is.

( categories: )

Welcome on board!

Submitted by gwolf on Thu, 12/06/2007 - 11:40
Yes, yes, I know I already said so, and surely in a more visible site, and even he also announced his victory over DAMnation... But still, having more Mexicans in this little project I call home makes me very happy. So, welcome on board, Rodrigo!
( categories: )

Lucas killed ries!

Submitted by gwolf on Mon, 11/05/2007 - 18:19
Is there a causality relation between Lucas' posting and ries.debian.org's (a.k.a. ftp-master.debian.org) sudden demise? Grmbl...
( categories: )

Mini-post-mortem of a failed mini-Debconf

Submitted by gwolf on Sun, 11/04/2007 - 13:04

Over one year ago, still at DebConf 6, the Latin American Debian people (and by people I mean just interested people, regardless of whether they were/are official DDs or not) held a BoF session. One of the ideas we discussed there was that, in order to increase Debian presence in our region (which is by no means small - Let alone the geographical aspects, I'm guessing we are about 350 million people, roughly split in half between [officially] Spanish- and Portuguese- speaking countries). Yet, this is an area with very little involvement in Debian in particular, and with Free Software in general.

One of our first issues seems to be language - Just by its scale and economic importance, we cannot even put in the same scale Brazil and the Spanish-speaking countries... So I'll focus on Spanish-speaking Latin America, as (I recall) we did in that session.

So, we agree: We need more local involvement in each of our communities. And, so far, we have seen quite relevant results. The number of people directly involved in Debian in Argentina, Chile, Perú, Colombia, Venezuela, El Salvador and Mexico (excuse me if I forget you in another country!) has notably risen since I brought this topic up, together with Christian Perrier, back in DebConf5, Helsinki. An undeniable fact is that distances in our continent, however, are huge. In the 2006 BoF, we agreed we should promote regional meetings, that would serve both for working focused on Debian topics (i.e. hack sessions, as we do in DebConf) and for spreading our work to the local population, to help them see that it is not needed to be super-skilled or anything like that to contribute to a real, important and large Free Software project such as ours. Of course, taking into account the distances in the continent, we thought it would be sensible to split it in two - and to try and hold regional mini-debconfs - One for the Northern half (i.e. Perú, Ecuador, Colombia, Venezuela, Central America, Cuba and Mexico), and one for the Southern half (Bolivia, Chile, Argentina, Uruguay, Paraguay). And, for logistical reasons mainly, I strongly advocated having our first Northern meeting in Panamá. Why Panamá? Because it is a place cheap and easy to get to. They have a very important international airport, connecting to most if not all countries in the region, and -as they have risen as a business center- have good connectivity. Visa is required for many of the interested countries, but trivial to get (as opposed to what happened here in Mexico :-( ). Of course, other countries also looked interesting (there was some argument pushing Venezuela, but in the end, we all conceded it would be in Panamá.

I have to strongly thank Guillermo García - He is not (yet? :) I hope he still wants to get involved with this bunch of people) in Debian in any way, but after I contacted him, he agreed to start looking for a way to get us the right facilities in Panamá. He coordinated with a team which did most of the organization - A very nice web site is still available so you can look at their work - Quite a good job, I must add.

They contacted Universidad Tecnológica de Panamá, started talking with several potential sponsors, got information regarding hotels for us... But in the end, it flopped. Why? Because, although many of us were originally interested, in the end very few people (only three, none of them officially a Debian Developer, according to their last press release) confirmed their intention to attend.

Which brings me again to the question: Why?

First and foremost, I think it was lack of involvement. For one reason or another, all of the people that in the beginning pushed for this miniDebConf ended up busy doing other stuff, and didn't get at all involved in organization. It would have been a great present from our Panaman friends, yes, but quite unfair. And, of course, with no Debian people involved in organizing it, we got an chicken-and-eggesque situation... Where it didn't grab the attention of other Debian people.

Second, what they offered us was quite different to what we intended in the first place - At least, to what I imagined. On my first messages both to debian-devel-spanish and to Guillermo, I tried to get something close to what we had in mind: Something as informal and as intimate as it could be. My original request to Guillermo was just to get us a room where we could hack and talk, and probably sleep with sleeping bags.

Of course, I can perfectly imagine that when he requested the space to the university, on one hand, they didn't feel at ease having International Guests (with capital I and G - Very important for most Latin American universities!) sleeping on the floor. And, on the other hand, they would love to be able to show us around! Having an international project focus on a university in a non-technologically-well-known little country is quite something to show off!

Anyway... What happened? I was among the instigators, but Real Life called me away (I've been mostly inactive in Debian since September! :-( ). The miniconf was scheduled for November 14-17. I also insisted originally on having the miniconf on a long weekend (say, Friday through Sunday), as -being a miniconf and not the Real Deal- it'd be much easier for most of us to rob one day off work than a full week. In the end, this was the most important point for my decision not to join: I cannot afford more time off my work, not at this time of year. About the other involved people? I do not want to speak for any other people.

In the end, sadly, Guillermo had to inform us they cancelled - No, not postponed, but definitively cancelled. Why? Because -and I have to agree- next year we will have DebConf in Argentina... And many people in the region will focus our time and money on getting there.

Ok, making this whole story short: I'm very, very ashamed and sorry, with you personally, Guillermo, and with your whole team. And I hope we can resurrect this idea - be it in Venezuela (as it was suggested once) or elsewhere.

Click-through GPL sucks!

Submitted by gwolf on Fri, 09/14/2007 - 10:16
I completely agree with Adrian's comment. I've recently installed a lab full of OpenOffice for Windows. Of course, the installation is easy (but you have to explicitly accept the GPL to get on with it - why?), but what's really annoying is that the first time each and every user starts the program for the first time, they are also prompted for license agreement. Even worse, they are expected to fill out a quite lengthy survey (which I filled once, of course, but still is too much to ask for the vast majority of our users!). Free Software should be exempt from the stupid click-through nonsense!
Anyway... also echoing Adrian and Otavio: Robert Millan's work on win32-loader just kicks ass. If you are not reading me through Planet Debian, please take a look at this ogg video file (Windows users: you can use VLC) showing what happens if you insert the (Sid) Debian installer CD into a Windows system. No more fiddling around trying to get the stupid machine to boot off your favorite media! Good job!
( categories: )

At YAPC::EU 2007!

Submitted by gwolf on Wed, 08/29/2007 - 05:45
So here I am, sitting at a talk at YAPC::EU 2007, in the beautiful Vienna. It is too early to start thinking about a status report for what I've done and talked about, but I can say in advance that I'm very positively impressed - I expected my talk on the integration between CPAN and Debian that the Debian pkg-perl group is carrying out (presentation, full article) to be marginally interesting to a couple of people. Turns out, as YAPC drew closer, I heard from several people interested in attending it. Ok, maybe it is just for courtesy? Lets not get excited about no big deal...
Well, yesterday was the first day of CPAN - Man, after getting used to Debconf, three days of an interesting conference is just way too short! YAPC guys, for the next time... More time, please? :-}
I knew I would be meeting pkg-perl members Zamoxles and Jeremiah - Very nice to finally meet you guys! And a very welcome surprise (although we have been barely even able to talk) was to find another fellow DD, Daniel Ruoso, one of the agitators that started the pkg-perl group. He is not active (in the group) anymore, but he is still one of The Patriarchs ;-)
Ok, on with the talk: Contrary to what I expected, the talk room was quite full. I am used to longer talk slots (20 minutes is just about enough to spell my name, damnit! I presented 24 slides, and jumped only two of them - But made it just in time for the very strict Austrian staff to prepare but not wave the __END__ signal ;-) Would they show a die 'argh'; afterwards?), so I had to keep the limit from the very beginning.
Of course, there was no time for questions as part of the session. However, I've since then been approached by several people and discussed several aspects of our work and ideas for the future. I'll post more about this after YAPC is over...
My warmest kudos to the very orangy, mohawk-wearing orga team. Not only they came up with a great conference and are invariably good-mooded and nice (hey, I should learn from them!), they even have the presence of mind to be very nice, to go out with us to have a good time yesterday night!
Anyway, it shows the conference's topic is Social Perl. Nice social geeks are no longer a novelty to me, but still: The Perl community is warm, welcoming and in general, very nice. I'm quite happy to have made it here!

Have a very, <em>very</em> nice day!

Submitted by gwolf on Fri, 08/24/2007 - 10:55
And no, I don't mean Mao.
How was Thursday 23 for me?
6:30 Wake up, knowing it will be a long day. No, don't get those delicious extra 15 minutes of sleep.
8:00 Arrive to work, ~90min earlier than usual, to finish the Rails app you have to demo at 10:00
10:00 Meeting with the Institute's Director, Academic Secretary and Technic Secretary to show them the system for following the internal inter-tematic colloquium information workflow. Thankfully, they were happy with it.
11:20 (20 minutes after scheduled): As several academics have said they are interested in getting to know Linux, I'm giving a series of introductory sessions on Debian to them. So, I went with some of them through the Etch installation. Of course, mostly everything was fine. What was not? Resizing a Windows partition is still a step that requires several jumps through hoops (i.e. booting Debian LiveCDs, some console-based interactivity which I wanted to avoid...), and... Well, d-i does not time out if the selected mirror is not responding. Will file a bug, yes. Anyway...
14:30 Managed to leave the lab working, with no damages. Went to the bank to check some data and to have a quick lunch.
16:00 Get back to the institute. José Luis, from Difusión y extensión was already waiting for me to show a set of components for the Comas-based system we use for tracking attendance to the Institute's activities
16:45 The people from AMECIDER arrived so I could show them my proposal for their new website. Can you believe most of the websites I host are still completely static HTML, and, what's even worse, generated by the ${despiseful_adjective} Dreamweaver? Yes, I am proposing them to move over to Drupal
17:30 I finally received another person, one of the people that's attending my Thursday lessons, wanting me to help with some Linux questions. What's Linux's killer app for my Institute's researchers? Believe it or not, a not-brain-dead PDF reader. They are amazed that, using Gnome's Evince, they can just copy-paste bits of PDFs into their documents (and the fact that pasting tabular data into OpenOffice's Calc allows for an easy import feature - Yesterday I spent ~1hr with this researcher importing data generated by the International Monetary Fund into his work), and they are even more amazed with the gnome-screenshot they can directly include graphics from such documents without redrawing them.
19:45 (45 minutes behind schedule): Went to the Astronomy Research Institute, to meet with Sergio, Héctor and Eric, to decide on bits of the implementation of the new gear we will be putting in nisamox, our dear and faithful ftp.mx.debian.org mirror. Thanks to everybody! We will soon tell you what we got and what we did with it, it's mostly settled by now.
20:30 Had the first of some... Four calls regarding yet another system I have been working with for the ICME conference, to be held in Mexico in 2008. Several pushing details that need my attention and work, bah :-/ Have to work on them...
21:00 Got home. Did a couple housekeeping activities (i.e. take out the trash, buy some food...). I was too burnt out to start making my bags for going to Vienna (I'm leaving tonight!), work on the pending systems I have to work on, or even stay awake.
Leaving work for a week to go a conference is always fun and great... But man, it's stressing!
( categories: )

Aggressive bug reports leading to a good answer (or so I hope)

Submitted by gwolf on Fri, 08/17/2007 - 16:47
Joey complains about users filing aggressive or otherwise inappropriate bug reports. Well, in this case I must say I bit the bullet.
Yesterday, somebody complained about the maintenance statuse of libapache2-mod-perl2. Usually, I would have sadly nodded and said that, yes, since the API change between mod_perl for Apache 1.x and mod_perl2 for Apache 2.x (which was a long time ago - with perfect timing not to be accepted in the last weeks of Sarge's hard-freeze period, causing many of us to have to maintain two or even three versions of our code depending on the API used - But that's a different story I won't go into details now). But this time, the bug report was sent with Severity: critical.
I replied to this report, intending just to lower its priority and get the attention of the maintainers by sending it to a couple of Debian lists - But soon afterwards, it became obvious that I was probably the person most interested in this package in Debian - At least, me and some other pkg-perl fellows who -as foolishly as myself- volunteered to step forward when needed.
Well, in short: I am now the proud owner of one of the packages most vital for many of the systems I've written for my work. It's also more complex than most of the other packages I maintain. From an undermaintained and quite full of warnings build process and resulting package set, I managed to make it linda- and lintian- clean, and... Well, now we have to dig through its open bugs. Its build system is far from orthodox from a Perl point of view, and that took me most of the day, but hey - TIMTOWTDI, right? :)
( categories: )

On the Debian Maintainers GR

Submitted by gwolf on Mon, 07/30/2007 - 12:06
Hmh... It's hard to get to a decision on this aspect, although I'm mostly sure I'll vote for a "yes". I have read most posts on this subject on debian-vote and on the planet, and I'm still not too much at ease... Anyway, one of the most relevants so far is Joerg's - And not because he is so involved with the NM process, but because he drives me to what I think is a very important point few people have addressed:
For long, we have been saying that you don't have to be a programmer to help Debian - But so far, we have been unable to deliver except for this funny French guy. And although the current proposal still focuses on getting a step closer to DDness, and for many people this seems like geared at reducing the frustration when going over the NM process, my impression is that this will help us implement something similar for other areas.
Some people have complained about implementing decisions per policy instead of doing so gradually. Thing is, I feel, this kind of proposals have been reiterated over the years - and they have always dropped into the silence because some actions need to be taken by the people who are less willing to. Maybe the only way to break the inertia is to take a step by a GR vote. Maybe parts of it will have to be undone or re-done differently if we end up with the wrong results - but we will have broken the status-quo. Maybe, who knows, this will serve as an experiment - and after another long series of long flame threads we will end up in 2010 in the same position are we currently at - but it won't be because of inaction.
( categories: )

On collaborative maintenance

Submitted by gwolf on Sat, 07/14/2007 - 00:07
Following Zack's and Lucas' posts regarding group maintenance of packages: Do I have to AOL with you guys? Yes, I also agree with Zack's both 1 and 2. And I also want to share the bit of experience we have got in this regard in the pkg-perl group. In our case, group maintainership has often saved our collective butts. We have also debated somewhat which way should our packages' maintainership be handled. In the end, our packages' maintainer will (most usually) be the pkg-perl group itself, subscribed through an alias that reaches all of us. Then, every group member that feels identified with the package lists himself as an uploader (note that this does not necessarily have a relation with the last uploads, at least not as strongly as in what the KDE and Gnome groups do, according to Lucas' post - it's closer to the pkg-ruby-extras handling). Of course, there are some packages which I have NMUed in the group's pool - packages I prefer not to have listed in my maintainer page, as I don't usually care too much about them, but I happened to be able to fix a bug with them.
Now, what about the roles of the different group members? Each of us has some skills that make him better for part of the task - i.e., we have an amazingly knowledgeable member, Niko Tyni. He just fixes all the bugs that baffle us. Honest, my best kudos to Niko, he is a good part of our team's success. And then, we have hard-working people as Gregor Hermann, who not only fixes also nice amounts of bugs, but also writes and runs general QA tests throughout our over 300 modules. Neither of them is a DD yet. And of course, many other hard-working folks. Some of us are DDs and try to upload promptly - and, of course, also try fixing bugs. So far, we are in good shape, and we tend not to lag too much. I have taken some vacation periods (both announced and unannounced - sorry :) ), but to my surprise and amazement, my packages tend not to be buggy - Why? Because there is a real team looking after them, and in the end, we keep an eye on each other.
For the pkg-perl group, group maintenance has really worked. We collectively maintain more packages than it would be reasonable for all of us added together as individuals, and they are in a better shape. There are several things we can make better, and we do try to address them - it is not yet heaven, but... :) I'll elaborate later, when I finish a text I'm preparing for presenting at YAPC (it's not that long, of course - During Debconf, I showed advances of it to several people... I just have left it aside). Right now... Well, I have 3hr of sleep left before we leave for a daytrip to the beautiful (but hot and humid!) Veracruz Huasteca. See you on Sunday/Monday!
( categories: )
Syndicate content