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: )

BLOBs in MySQL: Binary Laughable OBjects?!

Submitted by gwolf on Thu, 09/13/2007 - 08:00
Bah, MySQL keeps insisting on being a fun way to waste your time.
One of my clients hosts its systems at Dreamhost, a quite nice hosting company, which has... Well, a couple of strange details :-/
Anyway, people who work with databases know that a BLOB (or its equivalent) is the right datatype for storing images or, in general, files, right? After all, BLOB is just an acronym for Binary Large OBject. And if somebody has a BLOB field in the DB and searches on it, most RDBMS-bound programmers will at very least chuckle at a design flaw - BLOBs are just to be stored and retrieved, that's it.
Well, the system I wrote for this client uses a BLOB field - Ok, to be clear: I just declared it as a :binary in the corresponding migration. That should do the trick, and should allow me to keep my system RDBMS-independent, right? So I can still work on my development system using nice-and-trusty PostgreSQL
Anyway... My client said some documents were being corrupted. And that is Not NiceTM... Documents were being truncated at 63Kb. The bug was consistent across the three instances of my system in Dreamhost, but could not be reproduced at my machines - It didn't take too long to find out it must be the DB (and that's partly because I don't really trust MySQL :) ).
Turns out that, in MySQL speak, there are four types of blobs: TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB. Forgoodnessake, WHY?! The stupidiest one is the tinyblob: A Binary Large OBject limited to 8 bits (255 characters). Regular blobs are 16 bit long (65535 characters - Aha! That's your 63.99Kb limit!). Mediumblobs are 24 bits (16 million), and longblobs are 32 bits (4000 million). And, of course, the blob datatype is not large at all.
Anyway... At least this is an open and known issue already to the Rails people, and I do expect them to change the migration equivalencies to something saner.
Bah again.
( categories: )

Do good things come to those who wait?

Submitted by gwolf on Sun, 09/09/2007 - 06:56
So they say.
So, yes, lets wait, even if that means waiting with the trembling heart of the foreigner in Juan José Arreola's "El Guardagujas". Sometimes, the wait will be only eight minutes long - who knows? Sometimes, the wait will last for months, even a lifetime - be ready, stay at the nearby hotel, and be ready to rush out once the moment comes.
What cannot ever be guaranteed, though, is what happens after the train has arrived - Whether it will travel according to your personal (and extremely naïve) plans, or it will take you to a whole different life you never envisioned before. So... Well, I'm waiting for my train to R. We shall in due time see about it
( categories: )

Database abstraction, ORMs and RDBMS-agnostic coding

Submitted by gwolf on Wed, 09/05/2007 - 13:31
I came across John Wang's posting titled Database Abstraction - code vs infrastructure. In it, he talks about the problems many people face when migrating applications tied to a specific RDBMS to another one. He recommends:
One solution of modern programming is to move database abstraction from the code to the infrastructure using a ORM (Object-Relational Mapper) or Data Mapper. A ORM and Data Mapper abstracts the database for you so you no longer have to do tie db abstraction to each app. Not only does it let you code once for multiple databases it lets your users migrate their data from one database to another. This blog runs Typo which is based on Ruby on Rails and ActiveRecord. I've been contemplating migrating Typo from MySQL to PostgreSQL and I've been told that it would be as simple as exporting the data with YAML, updating the database.yml file and importing the data.
Umh... Thing is, you often want to use your DB as way more than a data store - At least, when using Postgres, I do. There are many things that can be done inside the DB (such as guarding the programmer against his own mistakes by keeping sanity checks which often go beyond just referential integrity. Constraints and triggers. Oh, and of course, user-defined functions and views. Of course, most times you can go by without using several of such tools - but when they would come in handy, you can sorely miss them.
On the other hand, John mentions (right after the previous paragraph):
ActiveRecord is a data mapper and isn't as flexible as a full blown ORM but it gets the job done for the most part. For a full-blown ORM, I think of Perl's DBIx::Class which provides a full OO interface to the RDBMS allowing you to code just once for multiple DBs without limiting you when you want to use some esoteric database-specific SQL
Currently, I'm among the many that have jumped on the Rails bandwagon - And so far, I really like it. But yes, ActiveRecord -although great for some tasks- is way under what I'd like for many actions I've got used to making.
I might be seen as a backwards guy for this, but until before I started with Rails, I prefered not to use full ORMs (not that I tried too hard anyway - Probably starting a project with DBIx::Class would be all it takes for me to become a convert, from what I've read), but to do the SQL myself - Only, of course, keeping well in mind that I should separate front-end from back-end (or using other jargon to say the same, separating cleanly what should be in a Controller and what should be in a Model - Of course, no one in their right mind would put SQL on a template or a View!). It's not so hard as many people seem to think, although mixing syntaxes for two different languages (and even more if you, as I do, like to keep your code under 80 columns) is sometimes dirt-ugly. Still, on to my last bit of rant:
There are PHP frameworks out there like Symfony and Cake but do any of them have stand-alone ORMs? If so, could Drupal move to something like that and solve their maintainership problems once and for all? Drupal is part of the Go PHP5 effort so there should be no issue using PHP 5 OO. Something to think about for the Drupal folks if a PHP ORM is available
Umh... Even if there are some great ORMs in PHP... Choosing an ORM is something you do when you start a project. I doubt the Drupal people can now just decide to move over to using a ORM, as they potentially have hundreds or thousands of points where they have DB interaction. And although for most of them moving over to an ORM should even be automatizable, every ORM has some very special features which make it damn hard to craft several kinds of query.
( categories: )

Glúcklich in Österreich!

Submitted by gwolf on Wed, 08/29/2007 - 14:37
Good comrades, great chat, greater motivation.
Some good Scotch whisky, a good friend who was lumped along with me in .br by mere chance. A very good time.
A strong whisky aftertaste and numbness in the mouth. My first couple of pages of Terry Pratchet - Thanks a bunch!
My mind wanders, I go over all the nice and dear things and people
Maybe tomorrow I should restart my reading? I know Pratchett is not supposed to make much (rational) sense, but still... Although I've enjoyed this couple of pages, I'd rather let the whisky wear out before continuing with the gollem owner's life and tribulations, with his friendly treatment for his plausible but honorable assassin...
Today I saw quantum superpositions mixed with special relativity in a small (less than 200 lines) Perl module. Positronic variables go back in time, yay! Damian Conway rules.
Time to sleep, yes, if tomorrow you want to be in time for the lightning talks. Oh, BTW: great honor, great honor: One of the lightning talkers requested /me to sit on the front row "to have a friendly face to look at". Have to comply, have to do.
But... Last reflection before going away: What a better way to describe bliss in Vienna (oder auf Deutstch, ich glaube - glúcklich in Österreich;) than to go to sleep while listening to the neighbour's fucking-loud music? Of course, his fucking-loud-music is just the-Balkan-music-you-seem-to-love, so everything's úberfine!
Thanks to everybody who made this possible. Specially to the Austrian friends.
( 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 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: )

Goran Bregovic sends me northwards

Submitted by gwolf on Sat, 08/11/2007 - 19:17
What does this topic mean? Hmh... Maybe you don't know Goran Bregovic, a magical Bosnian musician, one of my all-time favorite artists. I have long loved Eastern European music (but I was mostly familiar with the Klezmer style, linked to Ashkenazi Jews but not necessarily performed by them anymore (i.e. Kroke), but it is thanks to Goran that I got familiar with the Balkan style... What can I say about it? It has an addictive rythm, and it has the folk sound of (even very similar instruments to) the Mexican tambora. It is a must-hear genre, in short. There are many magical Balkan music groups, I cannot just recommend one - But if I could, it would be Goran's :)
Now, why is he sending me northwards? Because Goran Bregovic is coming to Mexico - To the Northern city of Monterrey, some 1000Km north from Mexico City - He will be performing at the Forum Universal de las Culturas Monterrey 2007, on September 22, at the Explanada Plaza 400 años.
I know already of a couple of friends who are definitively going, who are searching for the best airfare... This will be something to remember!
( categories: )

Choose your pain: Legs or back

Submitted by gwolf on Fri, 08/10/2007 - 11:55
So I have an extra chair today at my office. Is that good?
Some weeks ago, I started noticing some stinging and numbness in my legs, specially the left one. I went to the social security, and got a simple prescription: Two weeks having a certain medicine whose name I don't remember by now. But the timing was not the best, as this happened exactly during my vacations - After finishing with this medication, I still had a full week before coming back to work. And when I came back, things seemed to be fine. But still, this does not tell me if my body is at fault, or if it is my chair instead...
At the Institute, we have basically two models of chair: The one I usually have, a bit taller and better suited for my kind of table (as its arms fit nicely just under the table (as they were designed to go together). The other, a bit shorter and rounder, but with higher arms.
The stinging in the left leg is back there - No, it does not (yet) bother me, but I trust it will. So, of course, I tried the other chair. The seat is much more ergonomical, yes, and it feels overall better - But I have to reach over to use my keyboard...
So this means I can either get a different chair by my own means, or choose between back and leg pain.
( categories: )

Hot water and long pipes

Submitted by gwolf on Mon, 07/30/2007 - 18:07
Every now and then, I see somebody who -just as Russell did today- talks about the advantages of water heating systems not being tank-based, but tankless! Sounds kewl, hah? Shiny, new?
Well... I live at a house that is slowly but steadily started to show its age. Built in 1955 and owned for almost two decades by the very renowned phycisist (of course, my father's mentor and teacher) Marcos Moshinsky, my parents bought it in 1974, and it has been my home since 1976. And, at least since 1980 (I cannot be sure about earlier events for reasons that might be obvious to the casual reader), we have always had an Calentador Ascot de paso. Ascot (and further companies that have bought their name) have manufacutred this kind of water heaters for at least 60 years in Mexico. Yes, they are gas-based and not electricals like the ones Rusell links to, but that might just be because in Mexico gas has always been incredibly cheaper than electricity. And yes, the heater is godsent for ecolocigally conscious people - No more storing 20 to 40 lt (the sizes of the usual storage-based tanks around here) of hot water all day around just because you might want to take a shower, no more waiting for 20 minutes after you turn it on until you start having your morning shower (and more important, no more taking your morning shower ice-cold just because you overslept!)
Yes, it seems like life is perfect with our tankless (de paso) system... Almost.
As I said, our house was built over 50 years ago. It was built on what intended by then to be a middle-upper class suburb, on a very modern house with fancy stuff and all. And of course, the heater was not planned for the most visible or hearable areas of the house - specifically, nowhere close the living room - or the bedrooms. Silly details, the bathrooms are close to those areas. So, what's the answer? Want to take a shower? Ok, open the water...
And wait.
For around 3-5 minutes, until the hot water finishes the looong ride from the opposite corner of the house.
Of course, it takes a path that's not easy to intercept in order to move the heater to a saner place: The hot water pipe goes right under the middle of the living room, yay.
So we use our fancy de paso system whenever we are too lazy. Nadezhda and I prefer to fill one hot water bucket (~20lt) for each in the washing room, just by the kitchen (and the heater, of course!) and throw hot water over us to get a nice bath. Or, in case we are too lazy for that, collect as much as possible from the otherwise-wasted hot water in another bucket (we usually get ~10lt - but I fear another such amount just falls around it) and use it later for our various household duties.
( 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 social networks

Submitted by gwolf on Tue, 07/24/2007 - 22:50
There have been many (too many) social networks coming and going out of fashion in the last years. I got quite excited when I first learnt about them. Advogato was as cool as it could be, and having somebody label me master (even though most had me as a journeyer, IIRC, and that was my level as far as I tracked it) was really inspiring.
Then came friendster, and then orkut. I spent far too many hours in them, and was really happy (and surprised!) to find the many ways to my friends, some of them have been out of my radar for too long.
And then, everybody started creating their social networks for remembering birthday dates, and for finding who likes the same music (and books and whatnot) as you do. And this silly thing called Twitter.
I'm sorry. I don't play anymore. I'm fed up with it.
Maybe it's that I've grown old and cranky, but I don't even answer to invitations to social networks nowadays. And I'm sorry - It's not that I don't care about you, it's not that I don't like you - I don't like losing my time creating yet-another-mapping of still-the-same group of friends.
( categories: )

Repurposing laptops

Submitted by gwolf on Tue, 07/17/2007 - 10:10
Russell argues (when talking about Mark's proposed high-end Free Software-based laptop) that laptops are hard (or expensive) hardware to modify and repurpose - Maybe your laptop will one day go to your child or something like that, but it's hard for it to be a server.
I disagree.
One of my most faithful and most beloved home servers was my old laptop, a Compaq Armada 4120 we originally got (used, for that matter) in 1998 and that was my main laptop until 2002, when I got my first Dell. 120MHz Pentium, 16 MB RAM (later upgraded to 32), 2GB hard disk.
From 2002 and until around 2005, it was my home server - Think about it: A low-power, compact machine you can store anywhere, and that has (still today! Wish I could say that for ~2 year old machines...) a two hour battery with the LCD on. We swapped the hard disk for a 40GB one around 2003, and it was just perfect for DSL sharing, Samba file serving to our internal network, and simple, personal HTTP server. Of course, it started aching when Nadezhda and I started running our blogs - MySQL and Apache didn't fit in the memory at the same time :)
For some months, we had an old 1GHz Athlon as our server, but it was too noisy and ate too much electricity - We now have a nice Mac Mini, but share the UPS with Nadezhda's main machine. Which is fine, but takes a bit off the coolness factor :) Oh, and -of course- it does not have a built-in screen anymore. Nadezhda uses an iMac, so whenever we need to directly use the server, I have to go find our clunky 17" CRT and work sitting on the floor...
( 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