Ruby dissonance with Debian, again

Submitted by gwolf on Wed, 09/29/2010 - 11:48

Lucas has written two long, insightful posts on the frustration about the social aspects of integrating Ruby stuff Debian – The first one, on September 12 and the second one, on September 29.

I cannot really blame (thoroughly) the Ruby guys for their position. After all, they have a vibrant community, and they are advancing great pieces of work. And they know who that code is meant for — Fellow programmers. And yes, although it is a pain to follow their API changes (and several of the Gems I regularly use do often get refactorings and functionality enhancements which break compatibility but introduce very nice new features), they say that's solved with one of Gems' main features being the simultaneous installability of different versions.

The key difference in Debian's worldview with Ruby's is they cater to Fellow programmers. Even leaving aside heaps of different positions and worldview/mindset, we have a fundamental difference: Debian cares about its users, whatever that means. So, our users should not even care what language a given application is implemented in – They should only care that it works. We, as packagers, should take care of all the infrastructural stuff.

And yes, that's where we find the conflicting spot: We don't want to ship many versions of a system library (that in this case would be a Gem). Specially if later versions fix known bugs in earlier versions and backports are not available or supported. Specially if upstream authors' only response to a bug in an older release will be "upgrade and rewrite whatever breaks in your application".

As an example of this, I am not currently updating the gems I maintain, as Debian is on a freeze to get out the next stable release. Or if at all, I am targetting those uploads to our Experimental branch, in order not to create a huge backlog for me when the freeze is over (just a series of rebuilds targetted at unstable). And yes, I will have to be responsible for any bugs that will most likely not be supported by most of my upstreams during the next ~2 years.

That's the role of a Linux distribution. And yes, as Lucas writes in the comments he got as responses to the first post – This dissonance comes in no small part because the Ruby developer community is mostly made from non-linuxers. People coming from a background where (mostly propietary) applications bundle up everything they need, where static linking is more popular than dynamic libraries, where there is no coordination between parts of the system are much less likely to understand our work.

And yes, the Perl community is a joy to work with in this regard. And that's the same I understand from the Python one. Because of their origins and where their main strength was grown and remains.

PS - And yes, I will join the flock of people saying that... The specific person that attacked your work is a great programmer, but well known as intolerant and obnoxious. Fortunately, even if our respective cultures fail to mix so much, most of our interactions just end with a "sigh" of lack of understanding, and not with the flames you got targetted with :-/

( categories: )

Damage control: Cleaning up compromised SSH keys

Submitted by gwolf on Wed, 09/22/2010 - 13:36

This morning, my laptop was stolen from my parked car while I was jogging. I do not want to make a big deal out of it.

Still, even though I am sure it was not targetted at my data (three other people at least were reporting similar facts in the same area), and the laptop's disk will probably just be reformatted, I am trying to limit the possible impact of my cryptographic identification being in somebody else's hands.

GPG makes it easy: I had on that machine just my old 1024D key, so it is just matter of generating a revocation certificate. I have done that, and uploaded it to the SKS keyservers - Anyway, here is my revocation certificate:

Version: GnuPG v1.4.10 (GNU/Linux)
Comment: A revocation certificate should follow


But… What worries me more is access to the computers my ssh key works for. Yes, the ssh key uses a nontrivial passphrase, but still — SSH keys cannot be revoked (and this makes sense, as SSH should not add the delay, or potential impossibility, to check with a remote infrastructure whenever you want to start a session).

So, I generated a new key (and stored it at ~/.ssh/ / ~/.ssh/ and came up with this snippet:

  1. $ OLDKEY=xyHywJuHD3nsfLh03G1TqUEBKSj6NlzMfB1T759haoAQ
  2. $ for host in $(cat .ssh/known_hosts | cut -f 1 -d \ |cut -f 1 -d , |
  3. sort | uniq); do
  4. echo == $host
  5. ssh-copy-id -i .ssh/ $host &&
  6. ssh $host "perl -n -i -e 'next if /$OLDKEY/;print' .ssh/authorized_keys"
  7. done

Points about it you might scratch your head about:

  • .ssh/known_hosts' lines start with the server's name (or names, if more than one, comma-separated), followed by the key algorithm and the key fingerprint (space-separated). That's the reason for the double cut – It could probably be better using a regex-enabled thingy understanding /[, ]/, but... I didn't think of that. Besides, the savings would be just for academic purposes ;-)
  • I thought about not having the ssh line conditionally depend on ssh-copy-id. But OTOH, this makes sure I only try to remove the old key from the servers it is present on, and that I don't start sending my new key everywhere just for the sake of it.
  • my $OLDKEY (declared in Shell, and only literally interpolated in the Perl one-liner below) contains the final bits of my old key. It is long enough for me not to think I'm risking collision with any other key. Why did I choose that particular length? Oh, it was a mouse motion.
  • perl -n -i -e is one of my favorite ways to invoke perl. -i means in-line editing, it allows me to modify a file on the fly. This line just skips (removes) any keys containing $OLDKEY; -n tells it to loop all the lines over the provided program (and very similarly, -p would add a print at the end – Which in this particular ocassion, I prefer not to have). It is a sed lookalike, if you wish, but with a full Perl behind.


  • This assumes you have set HashKnownHosts: no in your .ssh/config. It is a tradeoff, after all – I use a lot tab-expansion (via bash_completion) for hostnames, so I do have the fully parseable list of hosts I have used on each of my computers.
  • I have always requested my account names to be gwolf. If you use more than one username... well, you will have to probably do more than one run of it connecting to foo@$host instead.
  • Although most multiuser servers stick to the usual port 22, many people change the ports (me included) either because they perceive concealing them gives extra security, or (as in my case) because they are fed up with random connection attempts. Those hosts are stored as [hostname]:port (i.e. []:22000). Of course, a little refinement takes care of it all.,/li>
  • Oh, I am not storing results... I should, so for successive runs I won't try to connect to a system I already did, or that already denied me access. Why would I want to? Because some computers are not currently turned on. So I'll run this script at least a couple of times.

Oh, by the way: If you noticed me knocking on your SSH ports... please disregard. Possibly at some point I connected to that machine to do something, or it landed in my .ssh/known_hosts for some reason. I currently have 144 hosts registered. I am sure I triggered at least one raised eyebrow.

And I will do it from a couple of different computers, to make it less probable that I miss some I have never connected from while at the particular computer I am sitting at right now.

So... Any ideas on how to make this better?

( categories: )

Unambiguous name for Free Software without ideological dillution

Submitted by gwolf on Sun, 09/19/2010 - 11:21

Asheesh posted When "free software" got a new name, which mentions about the transition period where the Free Software movement started its quest towards being understood by non-geeks, and when people started finding terms better suited for general (and specifically, business-minded) audiences.

We are talking about facts that reached concretion 12 years ago, when the term Open Source was coined and divulgated. That is already far in the past to try and change it – Still, during DebConf I was talking with several friends about it. In my opinion, there was never really the need to choose such an ambiguous name – In English, the word Liberty unambiguously refers to free as in freedom, with no conceptual links to gratuity. Liberty is also a concept held dear by the values of the USA society (which is the birthplace of our ideological movement, so it's specially important). Jimmy Kaplowitz pointed out a reason: Liberty is an incomplete word. You could translate what Asheesh's post mentions, Freed SoftwareLiberated Software, but libertydoes not exist as an adjective by itself, only when used as contrasting with an earlier more restricted situation. We can say some piece of software was liberated if it was born unfree, but what about things that were libre since the beginning?

So, yes, as beautiful as Liberty is, and as advantageous as such a concept would have been for us... Liberty seems to be too imperfect to be able to represent our movement.

( categories: )

On enjoying history, opposed to what happens around me

Submitted by gwolf on Wed, 09/15/2010 - 18:24
Portadas de los discos de Diana Uribe I have always liked learning and understanding history. Since I discovered him, for a couple of years already I always try to catch Javier Garciadiego's program Conversaciones sobre historia, Saturday 9AM in the Horizonte 108 radio station (can be listened to online). This program started by going over the events just before the beginning of the 1910 revolution in Mexico - and along slightly over five years, one hour per week and following different threads, the program has reached the end of the Cristiada, in the early 1930s. Garciadiego has a very nice, followable, amenable way of telling history, and I have recommended his program to many friends.

This last June, I spent some days in Guatemala City, for DrupalCamp Centroamérica. I stayed with my good Colombian friend, Dilson, and at his house he had framed a poster of the History of the Civilizations. Of course, I got my nose close to it, guessing as many faces as possible in the lot. And he showed me his last Christmas present: Two books, each of them with 6 CDs. One is Historia de las Civilizaciones, the second one is Historia de las independencias. They are made by Colombia's very well known and well regarded historian Diana Uribe.

I copied the CDs in order to listen to them later – And wow, was I impressed! Diana Uribe makes a great narrative about topics that to some people would seem boring and dry. As I said, I have always found passion in understanding the human processes that have shaped civilization and brought us all the way to where we stand now. Well, Diana Uribe manages to bring more "normal" people to this passion. While looking for information on her to share in this blog post, I found so many places offering download of her disks, with apparently young people talking about how she has got them all so excited and interested in history... That's, I think, the best "thank you" any academician can get: having non-specialists say how her work has opened up the passion of one of the world's least sexy professions to them. And yes – there are so many "thank you" and "I want" commentaries, so much of what I would call "fan mail", that it took me a bit to find an online library carrying both works. And yes, at ~US$50 each, I do intend to buy them.

Now, why am I writing this today? Well, yes, because I finished listening to the series today, but besides – During this year, most of Latin American countries conmemorate their 200 years of existence. Most of the independentist struggles in the continent started in 1809-1810. And today is the "partying" day in Mexico – Says the legend that in the night between September 15 and 16, 1810, a priest who is always painted as old and charismatic called on his small town urging the people to rise and fight for independence, and as a result of that, only 11 years later Mexico was a fully independent country, spanning from Costa Rica to California, and... well, a nice and very idealized myth.

A century later, in 1910, after a very long stability and growth period (attained mostly through repression, the same abstract thing named as "the people" rose against the dictator Porfirio Díaz, who had been Mexico's president for 30 years. The revolution deeply changed the social face of the country, but politically... After ~15 years of fighting, the result was that a 30 year long dictatorship was replaced by a 70 year long one... And our political system still has not evolved beyond that model.

Now, comparing what has not improved nor even stayed the same but went backwards... A century ago, the festivities of the hundred years of independence were a time for showing pride, for showing to the guests from more "civilized" countries how ours was by then a modern, thriving country worth believing in, worth investing in: Besides the important, majestic and well built monuments that were erected and still stand today (i.e. the Column of the Independence or Hemiciclo a Juárez, many institutions that would socially shape the next century –even after Díaz's death, even after he had been declared not the role model we wanted after all– were born: The National University (nowadays the most important university in Latin America), the National School for Professors, the Railroad Technical School and many others (see Javier Aranda's note for some more details)... The celebration was well-thought and planned. Of course, it didn't go into some darker corners, the country was as uneven and unfair as it can be for the poorer indigenous population (which back then was a majority), and what not.

But this year? Well, we are expecting an impressive show tonight (which I won't see, even though I'd like to, as I no longer have a TV and even if I had wanted to go downtown for the celebration, different government branches are insisting we should just sit and watch it by TV at home as it can be too crowded... so not even that was well thought out – Of course not every Mexican can go to the same square and see the same de-facto president do the ritual, but some more redundancy could be thought, spreading acts through all of the city instead of concentrating the festivities all along Reforma.

But anyway – Leaving aside our current de-facto ruler's inabilities to do anything worthy, which are already well known and documented... I took this opportunity to listen to a great work, and am most happy to do it, and to be able to share it with you.

( categories: )

Cycling, cycling everywhere!

Submitted by gwolf on Wed, 09/01/2010 - 17:52

I have been wanting to post for several days already, at least since this last Sunday. I have repeatedly bragged about taking part in the Ciclotón: The last Sunday every month, the city's government closes to automotive transit a ~33Km circuit, for cyclists to enjoy. And by cyclists, I mean people from all expertise ranges — Well, the very elite bikers will not take part of such a massive thing, but there are people pedalling a couple of blocks, people taking their small kids to drive a bit, and I recognized an amazingly large proportion of people doing the whole route.

Well, this last Sunday one lap was not enough for me — I did two laps, ~65Km.

(oh, and just for keeping the complaint current: After all, SportsTracker did release a version of thier software for the N95... But it requires Flash for using the webpage at all. I have several pointers at other applications... but am time-starved right now to start reviewing :-/ )

Anyway, I decided to do this double ciclotón in order to train for next week. If you are anywhere near Mexico City, you are invited - this is meant to be a large group ride, and looks very fun!

Doble Maratón Ciclista Urbano del Bicentenario

We are two weeks away from the 200 year conmemoration of the beginning of the Independence War in Mexico. A group of cyclists came up with the idea to organize a Double Marathon to celebrate! 84Km of biking in Mexico City:

For some reason, the distance numbers in that map were made... in miles :-P Anyway, the planned route will be:

  1. Jardin de los periodistas ilustres (Delegación Venustiano Carranza)
  2. Aeropuerto Internacional de la Ciudad de México
  3. Circuito Bicentenario ( antes circuito interior )
  4. Monumento a La Raza - Hospital La Raza
  5. Río San Joaquin
  6. Viaducto Bicentenario ( carril confinado sin interrumpir la circulacion )
  7. Torres de Satélite 50 aniversario
  8. Presidencia municipal de Tlalnepantla
  9. Presidencia municipal de Naucalpan
  10. Anillo Periferico Sur
  11. Secretaría de la Defensa
  12. Bosque de Chapultepec 1ª y 2ª sección
  13. Segundo Piso del Distrito Federal
  14. Ciudad Universitaria patrimonio cultural de la humanidad
  15. Insurgentes Sur
  16. Miguel Ángel de Quevedo
  17. Calzada de Tlapan
  18. Zócalo centro historico del distrito federal
  19. Calle 16 de septiembre fin del recorrido

It looks very fun. Besides, although it is not that flat, it is one of the flattest long distance routes you will ever have. The toughest part will be IMO the Northern part of Circuito Bicentenario and possibly some bits of Periférico towards Naucalpan. Then, a long flat stretch, with one long but not steep way up in Segundo Piso (near Las Flores), and a little stretch towards Ciudad Universitaria. Other than that, it looks very doable if you are in a moderately decent condition. And taking part in such a thing is very very worthy!

As a final note... This same Sunday, it has been somewhat publicized the first Día Nacional de la Bicicleta (Bycicling National Day) will be held all over the country, kickstarting the National Cycling Crusade. Sounds nice, right? Even impressive? Yeah, but... If you look at the published information (in the page I just linked), you will see several cities are opening cyclist circuits. For one day only, which means, it does not build awareness among the population on how easy, how convenient and how fun it is to use the bicycle as means of transportation. And not only that — The cyclist routes clearly make a point that cycling is a good way, at most, to have fun... But not a general habit we should all embrace. Lets see, as an example, the distances offered (only for the cities quoting route length):

  • Guerrero: Chilpancingo, 2Km; Chilapa de Álvarez, 4.5Km
  • Sinaloa: Culiacán, 4.7Km
  • Nuevo León:Monterrey, 1.9Km
  • Querétaro: Querétaro, 3.2Km
  • Sonora: Nacozari, 1.5Km; Naco, 1.5Km; Huasbas, 1Km; Granados, 1Km; Imuris, 1.5Km; Huatabampo, 1.5Km; Yecora, 1.5Km; Sahuaripa, 1Km; Caborca, 2Km; Navojoa, 3Km; Santa Ana: 2Km; San Luis Río Colorado: 2Km; Cd. Obregón: 3Km; Hermosillo: 3Km; Nogales: 4Km; Magdalena: 3Km; Guaymas: 4Km; Empalme: 2Km
  • Morelos: Cuernavaca: 2Km

...And so it goes. As you can see, several very important cities (i.e. Monterrey, Chilpancingo, Cuernavaca) put only a 2km route. 2Km by bike is... Nothing. 2Km is done at a leisurely pace in less than 15 minutes (I often sustain 20Km/h, which would mean 2Km in 6 minutes). And, in this short sample (the linked page has the information for several other states, but the pattern holds), most states are only making this in the largest city or two, completely forgetting the bulk of their territories. In my opinion, this "effort" was done backwardsly, and ends up delivering the exact opposite message to what should be done.

( categories: )

No sense in caring for a hard disk

Submitted by gwolf on Fri, 08/27/2010 - 17:28

  1. Aug 27 06:00:15 lafa kernel: [7218302.960003] sd 1:0:0:0: [sdb]
  2. Add. Sense: No additional sense information
  3. Aug 27 06:00:15 lafa kernel: [7218302.960003] sd 1:0:0:0: [sdb]
  4. Sense Key : No Sense [current]

My hard drive does not currently make any additional sense.

( categories: )

Posts explaining DebConf

Submitted by gwolf on Tue, 08/24/2010 - 07:51

Just echoing what happens in Planet Debian for people who follow my blog (or any other planet where it is syndicated) and is interested in DebConf processes — I'm specially thinking about people interested in preparing a bid for hosting a future DebConf, as well as people organizing hacking conferences who are interesed in understanding how DebConf works:

Richard Darst, a.k.a. our very invaluable MrBeige, started a series of posts describing various processes of DebConf organization. He explicitly asked me for comments while this series was still in planning/wiki stage, but I failed miserably at doing so ;-) So at least I'll publicize his work, linking from here:

  1. DebConf and Debian: Introductory message, basically outlining (Richard's view on) the relation between Debian and DebConf. This is not yet a clear thing — It seems we are converging on the fact that DebConf *is* part of Debian, but there are several things to clear before it is viewed as a done deal.
  2. Timeline of a DebConf: Running a DebConf as a local team is not (just) becoming crazy for two weeks, leaving life behind ans working hard for having your friends and peers in your hometown. It is an interesting full two year process, with different phases and aspects for the work. Richard has been involved as an organizer for the last two years, and he summarizes the main periods here.
  3. What is the DebConf team?: We talk about the localteam and the globalteam as if those terms make any sense. Then again, we have had people as part of localteam who live in different countries... What does this mean? What are the tasks of the teams? How do you join? What kind of work is expected from you? What is the real difference between the teams, if there is any?
  4. The DebConf selection process: How does the next year's venue selected? How is this "contest" held? When do you have to submit your proposal? How is it ranked/judged/decided? As I have told several people, the first document you should check is always the location checklist (also linked from Richard's text), but having this timeline will surely help you know what to expect.
  5. How DebConf manages money?: How should the DebConf fundraising process be, and how it actually is; what is the money relation with the whole Debian project... and a couple of points where you can step in and help, as managing money is really difficult
  6. DebConf budgeting for a single conference: A bit further details on how fundraising, negotiations and money spending was handled for DebConf 10
  7. The DebConf registration process: What are the parts of our registration process? When does it open/close? Why are the deadlines set so early? How has this been determined in the past? What is corporate and professional attendance?
  8. DebConf Fundraising (this text by Pablo Duboe): If you want to host a DebConf, an important part of the job is to get money. How should you do it? Who should you ask, what can we show to potential sponsors, how can we approach them?
  9. How DebCamp relates to DebConf: What is DebCamp? What are the terms for participation? what can you expect to have (and to lack)?
  10. The DebConf travel sponsorship process (this text by Michael Schultheiss): How is the money for travel sponsorship (travel fare only, lodging and food not included here) awarded to the people requesting it? How does the team reviewing this work decide on whom to grant to? What are the decision criteria?

I don't know if MrBeige is planning further parts for this series; if the past four were interesting, you should check on his weblog. Update: Yes, he is planned, and he has delivered. Adding them to the list as they flow...

( categories: )

Thinking about how human-machine interaction is categorized

Submitted by gwolf on Mon, 08/23/2010 - 20:54

During DebConf, I managed to squeeze out of the middle of everything for long enough to write a column, a short article for a participation I have every three months, for Mexican Software Gurú magazine. All in all, I liked the resulting text — The current number's main topic is alternative user interfaces.

I find it sometimes hard to define what Software Gurú's audience is — Probably, project leaders in software development; not the actual developers, but people who actually understand about coding... but care more about The Big Picture, Processes, Architecture Engineering and Buzzword Compliance. It is an interesting magazine, all in all, but with a focus and viewpoint I often feel myself not precisely comfortable with.

So, if this trimester's topic was alternative user interfaces, I decided to write on the history and future of the man-machine interface (Spanish only) (version in the magazine's site). My viewpoint comes from the fact that I do not believe we are in a state of so great, innovative changes that everybody is trumpeting, and I'd rather get others to really think on whether user interfaces have gone different in the last decades. Yes, there are many changes, but in form rather than essence.

Anyway, I shared this text with some friends. Some days later, when I was back in Mexico, Pooka/Alejandro Miranda lent me a very interesting book: Hacer clic: Hacia Una Sociosemiotica De Las Interacciones Digitales (Do click: Towards a Socio-semiotics of Digital Interaction (Cibercultura)), by Carlos Scolari. I am not yet even halfway through it, but I am enjoying it — This book speaks, so far, about the meanings of interfaces, and of the history of interfaces themselves, even forgetting that nowadays we (mostly) refer to interfaces as what we have between the man and the machine.

Hacer click (book cover)

Sadly, I cannot find this book in English, as it is very well worth a read. But if the topic sounds interesting and you can understand the language, don't hesitate and pick up the book. It gives an interesting insight on the topic, for a group of people (us techies) used to looking at things in a much more human-cognitive-process-oriented way.

[update] I found this nice overview of the "Hacer clic" book, written as a presentation for the book. It explains precisely the part I am currently reading - The four metafora for interaction: Conversational, instrumental, superficial and spatial.

( categories: )

Planet Plagiarism

Submitted by gwolf on Wed, 08/18/2010 - 10:26

Online translators are not hot news anymore. Not by a long, long shot. Still, today I wanted to get a couple of words in Latin. And was amazed that Google's translation service does not (yet?) offer Latin as an option, so I turned to Translation Guide's free online translators.

And, as it always happens, I thought, hmmm... and what about the random ramblings on my site?

So on I went to Gunnar Lupus alio domus. Of course, several funny things popped up, many of which I don't think are proper Latin, but still, among lotsa' nonsense, I found that Planet Debian gets translated to Plagiarius Debian — Which possibly explains why many people have complained about other unauthorized planetoids plagarizing their posts!

( categories: )

Thanks, Debian!

Submitted by gwolf on Wed, 08/18/2010 - 08:00

This Monday, Debian celebrated its 17th birthday. Yay!

I was invited to celebrate the birthday at HacklabZAM, but could not make it due to the time (17:00-19:00, and I was just leaving work by 19:00), but still, had some beers with long-time geekish friends Iván Chavero, Rolando Cedillo, Manuel Rabade and Odín Mojica. Nice hanging around, good beer+pizza time, and explicit congratulations to Debian.

On the Debian front, Margarita Manterola, Maximiliano Curia, Valessio Brito and Raphael Geissert came up with a very fun Debian appreciation day page. It even included a (slight) hijacking of the bug tracking system's Web interface, showing happy fun balloons! Guys, thanks for a good laugh, and thanks for providing a vehicle for getting the users' thanks to the project!

All in all, that was a great reminder to what we have been repeating as a mantram throughout the last years: Lets keep Debian fun!

( categories: )

Back home, back from DebConf – And, hopefully, cleaner than ever!

Submitted by gwolf on Tue, 08/10/2010 - 00:44

So, DebConf time is over once again. The two weeks worth of fifty weeks waiting are left behind once again, and it's back to get back to normal. DebConf was great — Yes, it always is, and that's what we are all saying, but hey - Seriously! Being in the same building than 300 crazed developers is always fun, and it's always better than last year's fun. A good highlight this year is that, given the number of Free Software and Free Culture groups that exist in USA's north-eastern coast, we had the opportunity to join a large crowd which has never been part of DebConf. Also, I must agree that the USA bid for DebConf was aiming to attract as many Debian people (developers, maintainers, or just happy users) which had not yet been to a DebConf before as possible. And it was a great success! I finally met several people I have long read in the mailing lists, in blogs or in IRC. A much higher proportion than usual, I'd venture to say. Another interesting phenomenon /methinks is that this year's DebCamp started much more staffed than usual: I arrived on the first day, Sunday 25, and there were ~40 people there already; I don't have the actual numbers, but we quickly grew, and the number started to stabilize past mid-week, only to (sharply) rise in the weekend, in time for DebianDay and DebConf start. Great time!

But, they say, nobody can go to the USA without buying some sweet toys, right?

Well, being the proud owner of six very hairy cats, I have thought into entering the looming and weaving industry... But cat hair, while abundant, I have heard is untreadable... Maybe due to the indisciplined, natural and independent personality of the cats (catonality should I say?)...

So I had two choices: Clean up my home quite often, or live in a –literally– hairy mess.

Enter choice #3: The Roomba!

I had been waiting to buy this thing for several years, as they refuse to send to Mexico or charge Mexican cards. So, I walked across Manhattan and got my very own robot cleaner!

For my further surprise, although I have not yet tried it (I don't even have a suitable cable yet), I found this:

Yay, the Roomba is actually hackable (via a 7 pin miniDIN serial port)! Wikipedia says that:

Roomba comes with a Mini-DIN TTL serial interface, which is incompatible with standard PC/Mac serial ports and cables, both electrically and physically. However, third-party adapters are available to access the Roomba's computer via Bluetooth, USB, or RS-232 (PC/Mac serial). New, 500-series, and 410/420 series Roombas upgraded with the OSMO hacker device allow the user to monitor Roomba's many sensors and modify its behavior. The Roomba Open Interface (formerly "Roomba Serial Command Interface") API allows programmers and roboticists to create their own enhancements to Roomba. (…)

My first impressions? Well, the Roomba lazily charged its battery throughout the day today, and was hungry and ready when I arrived home. It is a but louder than what I expected, and –of course– my cats were not thrilled by the presence of a eighth animated and apparently sentient being at home. Their initial reaction was –of course– to be verrry alert of the thing. Twelve eyes were constantly pointing at the Roomba while mine alternated between them. As they measured the thing's speed and (I guess) inferred its movement patterns, they started escaping upstairs – A flat, round thing with no legs to be seen will not likely be able to climb the stairs. And they were completely right. At first, only Chupchic remained downstairs. After a bit, I went up to show them the Roomba didn't jump on us to eat our brains, and after a bit, Santa and Macusa joined. The Roomba roombed for maybe 90 minutes (this space is large, and decided it was enough... And slowly, the rest of them started coming down.

I would not say Roomba's cleaning is perfect, of course. Its room discovery algorithm is funny, and it even seems it's based on the mere chance of covering most (never all) of the space it has to clean. I had, of course, not fully studied it (after a single run, how could I?). It does make a honestly good attempt at cleaning under coaches, chairs and tables. It collected a fair amount of dust (on a house that seemed quite clean to me, I cannot imagine what would happen on a messy one). I have not yet played with the virtual walls (infrared transmitters which limit rooms as if a door was closed), but given the size of this house (and that I don't want it to clean around the cats' designated bathroom area), I guess I will end up using them regularly.

During DebConf, I heard one bad (stupid useless noisy thing) and two very good (it has radically changed my life) comments on the Roomba. I hope to shift the balance towards 3/4 and not towards 2/2!

Anyways... Thanks to each and every one of you. DebConf is great. Always great. Always a success. I cannot even thank specific teams. Debian Rules, and DebConf Rocks!

( categories: )

We have released!

Submitted by gwolf on Mon, 08/02/2010 - 14:25

If you have seen me anywhere near my computer at DebConf, you probably have seen the face of a hurried, worried developer. Still, if you monitor my Debian-related activity, you will notice it is still quite low, even given my (much needed and very much enjoyed) vacations pre-DebConf. Yes, orga-team work is very time consuming, even if my role is far from central this year. And yes, DebCamp+DebConf are known for sucking time into social interaction, which is great but not so (formally) productive. And yes, I even took 1.5 days off to visit my family and a friend who live in the area...

Still, I managed to release! \☺/

Release what?

I have been working with Pooka for the last ~2 years on the Seminary on Collaborative Knowledge Construction. We assembled a group of ~10 speakers/authors, each of whom prepared a chapter for a book meant for publication. Pooka and me coordinated the work, which took a long time because it was also an interaction experiment (and because we both did it only in our free time).

After the coordination work started fading, I took up the task of coming up with a way to translate it all into LaTeX (and fix a host of conversion bugs, and play with the available packages, and... Hey, I'm after all just a LaTeX newbie, and had to learn to tame the beast!), I stumbled upon that precious fact that makes so many projects release.

I stumbled upon a deadline.

We want to publish the book under the seal of IIEc-UNAM. Besides my workplace, it is a very well regarded university, and having its seal in our work is definitively a big plus. And the Publications Committee of my Institute is meeting this week - So I had to send our final manuscript by today.

Having a deadline overlapping with DebConf sucks. But somehow, I managed to do the needed work to my complete satisfaction. The work is now in the Committee's hands, and I expect to have more news soon(ish).

Oh, and where can you get our work? Well, if you register in our site, you will be able to read the whole contents. And once the book is approved and published, the whole work will be published online under a free (CC-BY-SA) license.

BTW, that probably means I will have more time to fix my Debian bugs and pending stuff! \☻/

( categories: )

Running around

Submitted by gwolf on Tue, 07/27/2010 - 19:53

If Tim can report his movements around New York, so can I! ;-) Sadly, due to Nokia deprecating my still-quite-new N95 phone by not allowing me to use their service anymore, I won't be able to share my routes with you – But anyway…

This morning I decided to take a quick run to start off the day on Riverside Park (the park where we had dinner yesterday). I went South for about 3Km and headed back (for, you guessed right, a grand total of 6Km), and decided that 45 minutes of exercising are enough to declare my day started - As I started at ~8:15, it was getting warm (specially when running under the sun). I am quite heath-intolerant; it's not unpleasant at all, but I will try to run earlier on future days.

Riverside is a long and narrow park. I ran Southwards by the lower trail, in the park itself, but ran Northwards by the upper trail, in the wide sidewalk between the street and the park. The way South was also way flatter, while the way back goes up and down repeatedly.

I don't think I will run on a daily basis, but that will be determined by my mood when I open my eyes in the morning ;-) Anyway, riverside is a very nice run, and I expect to head North. I still am not back to running ~10Km, so I won't do the Central Park trail Tim did - But I'll surely go run there as well a bit. And rent a bike one of this days for a ~2hr morning ride, of course!

( categories: )

New York at last!

Submitted by gwolf on Mon, 07/26/2010 - 13:36

I spent the past three weeks away from basically any kind of usual contact. I took a three week vacation in Argentina (Buenos Aires, Entre Ríos, Tucumán, Salta, Jujuy, Córdoba), got my first snow experience and enjoyed a real lot... But got completely disconnected from all of my usual activities... and responsabilities :-}

Anyway, yesterday afternoon I landed in New York. Arrived to Columbia around 2PM, and spent most of the day zombying around with the Debian crew. And today it starts feeling like the real job is starting.

As always, there is a lot of excitement when DebConf starts. I have many items I want to work on, and most are even Debian related ;-) So, lets get work flowing!

( categories: )

Debian by its numbers, as seen by keyring-maint

Submitted by gwolf on Fri, 07/02/2010 - 14:24

At keyring-maint, we got a request by our DPL, querying for the evolution of the number of keys per keyring – This can be almost-mapped to the number of Debian Developers, Debian Maintainers, retired and deleted accounts over time since the keyrings are maintained over version control.

Stefano insisted this was more out of curiosity than anything else, but given the task seemed easy enough, I came up with the following dirty thingy. I'm sure there are better ways than cruising through the whole Bazaar history, but anyway - In case you want to play, you can clone an almost-up-to-date copy of the tree: bzr clone

  1. #!/bin/perl
  2. use strict;
  3. my ($lastrev, @keyrings, %revs, $fh);
  4. open $fh, '>growth_stats.txt' or die $!;
  6. @keyrings = sort qw(debian-keyring-gpg debian-keyring-pgp
  7. debian-maintainers-gpg
  8. emeritus-keyring-gpg emeritus-keyring-pgp
  9. removed-keys-gpg removed-keys-pgp);
  11. system('bzr unbind'); # Huge speed difference :-P
  12. $lastrev = `bzr revno`;
  14. for my $entry (split /^---+$/m, `bzr log`) {
  15. my ($rev, $stamp);
  16. for my $line (split(/\n/, $entry)) {
  17. next unless $line =~ /^(revno|timestamp): (.*)/;
  18. $rev = $2 if $1 eq 'revno';
  19. $stamp = $2 if $1 eq 'timestamp';
  20. }
  21. $revs{$rev} = { stamp => $stamp };
  22. }
  24. spew('Revision', 'Date', @keyrings);
  25. system('bzr bind')
  27. for my $rev (sort {$a<=>$b} keys %revs) {
  28. system("bzr update -r $rev");
  29. spew($rev, $revs{$rev}{stamp},
  30. map {my @keys=<$_/*>;scalar(@keys)} @keyrings);
  31. }
  33. sub spew {
  34. print $fh join('|', @_),"\n"
  35. }

And as a result... Yes, I fired up OpenOffice instead of graphing from within Perl, which could even have been less painful ;-) I had intended to leave graphing the data raw (also attached here) as an excercise to the [rl]eader... But anyway, the result is here (click to view it in full resolution, I don't want to mess your reading experience with a >1000px wide image):

A couple of notes:

  • Debian Developers are close to the sum of debian-keyrings-pgp and debian-keyrings-gpg
  • After a long time pestering developers (and you can see how far down the tail we were!), as of today, debian-keyrings-pgp will cease to exist. That means, no more old, v3, vulnerable keys. Yay! All the credit goes to Jonathan. Some last DDs using it are still migrating, but we will get them hopefully soon.
  • To be fair... No, the correct number is not the sum. Some people had more than one key (i.e. when we had ~200 keys in debian-keyring-pgp). The trend is stabilizing.
  • Of course, the {removed-keys,emeritus-keyring}-{pgp,gpg} will continue to grow. Most removed keys are a result of tons of people migrating over from 1024D to stronger 4096R keys
  • You can easily see the points where we have removed inactive developers (i.e. the main WAT lack-of-response, as seen at about ¾ of the graph)
  • keyring-maint handles the Debian Maintainers keyring since late 2009. There is a sensible increase (~10% in six months), although I expected to see that line grow more. I think it's safe to say the rate of influx of DMs is similar to the rate of influx of DDs - Of course, many DMs become DDs, so the amount of new blood might be (almost) the sum of the two positive slopes?

Anyway, have fun with this. Graphics are always fun!

( categories: )
Syndicate content