Dear conference speakers:

Please test write your slides at 1024x768 resolution, on a projector.

Dear conference organizers:

Please remind your speakers to do so.

Dear conference attendants:

If you are at the back of the room and you can't see the text/code in the slides the speaker(s) is showing, please shout “I cant see shit!” in the appropriate language, and try to embarrass the speaker as much as possible.

Thanks in advance. Yours truly,

-- Marcos.

PS: I've been watching videos of talks in some conferences and I swear to $DEITY at in least 40% of the ones I was interested in, I couldn't read the code on the video. Sometimes the fonts are too small, sometimes the colors are not contrasting enough. Please, at least test your slides on a projector...

PSS: I know the resolution I'm suggesting is low. Be happy I'm not asking for 640x480 :-P

PSSS: Ok, attendants, don't embarrass/harass the speakers :)


Posted Thu 25 Aug 2016 02:19:38 PM CEST Tags: rants

In my last job I had to do a complex Python script for merging several git histories into one. I used Python because I needed to do a lot of high level stuff I was sure bash would be a pain to use, like building trees and traversing them. My options for managing the underlaying git repositories were two: either do an ugly hack to execute git and parse its output; or use the ugly hack that already exists, called GitPython. The first was not an option, and the second meant that in some corner cases I had to rely on it just to execute particular git invocations. It was not pleasant, but it somehow worked.

While developing ayrton I'm using paramiko as the ssh client for implementing semi transparent remote code execution. The problem I have with it is that it's mostly aimed at executing commands almost blindly, with not much interaction. It only makes sense: its main client code is fabric, which mostly uses it in that context. ayrton aims to have a ssh client as transparent as the original openssh client, but bugs like this and this are in the way.

What those two situations have in common? Well, there are two incomplete Python libraries to emulate an existing program. At least in the case of GitPython they have a backdoor to call git directly. My complaint is not their incompleteness, far from it, but the fact that they have to do it from scratch. It's because of that that they're incomplete.

Take ayrton, for instance. It's mostly an executable that serves as an interpreter for scripts written in that language (dialect?), but it's implementation is so that the executable itself barely handles command line options and calls a library. That library implements everything that ayrton does for interpreting the language, to the point where most unit tests are using ayrton library for executing ayrton scripts. ayrton is not alone, others do similarly: fades, and at some point all those other Python modules like timeit or unittest.

So that's my wish for these Christmas, or Three Wise Men day[1], or my birthday next month; I would even accept it as an Easter Egg: have all these complex pieces of software implemented mainly as a public library (even if the API changed a lot, but that right now should be fairly stable) and very thin frontends as executables. I wish for libgit and libssh and their Python bindings.

[1] In my culture, kids get presents that day too.

python rants

Posted Wed 02 Dec 2015 05:03:24 PM CET Tags: rants

Disclaimer: rough language ahead.

So we bought an Acer Iconia A200. Reasons are not important, and I was hesitating about an Android device. But features are good, I can't indefenetely deny that Android is the option to Apple. A clear case of choosing the least of all bads.

Today it came. I did the clasic deboxing photo shooting, and that was that. I opted out from all the options that were presented to me that meant telling google what I was doing or where, got the wifi working, upgraded to 4.0.3, and started testing.

First things first, play with the widgets. There's a 4 square panel one that uses the top 2 panels for showing the hour, the lower right one for the date (which is not a shortcut to the agenda... WTF?) and the lower left one has a small sun-and-clouds-and-sky image that suggested a weather applet. So I hit it and it tells me that because I opted out from using wifi spots as alternative ways to find the device on the surface of our unique world planet, I can't simply use the applet. I mean, there is no way to tell the applet, "hey, you know what? for no particular reason I want to know the weather in, let's say, Saint-Symphorien-du-Mahun, France". I can either enable the "network Location Service" (or something like that, I set the device in spanish) or not use it.

So I forget about it. Next step, install a real map application. For that, of course, I had to yield a Google account. I have one, or several, laying around, so I use one of those to let Google Play install things. That's already shitty. But then what does it do? It also uses that account for configuring the gmail client. Who the fuck told it to do it? I was expecting to set it up to my girlfiend's account. I hope I will be able to do it later. Do these people ever thought that a tablet could be used by more than one person?[1] Also, account sync got activated. I had to go to the settings and turn everything off. Still, the gmail app keeps being linked to that Google account.

At some point, too, a multimedia server went on. WTF from? Who set it up? Why is it enabled by default? Who decides these things? Ok, this is getting close to a rant. I see a tag comming. It also comes with an app that shows in the "task list" (there is no concept of app in Android) which is actually a "apps you last used up to certain value of «last»" or something like that; the app is called VirusScan. When I try to activate it, it gives me back to the home screen. Go figure.

So back to Google Play. I had already skiped the yielding of credit card info. Now it's time to opt out of being spammed about news and offers from Google Play. I think I see a pattern here, but at least some things are being asked, "can I, pretty pretty please?". Most of the time, my answer will be "No!", sometimes followed by "Go to your bedroom, no dinner or dessert!".

I select Maverick, which I remember from the time I had a Motorola Droid from work. I choose it because it can handle offline maps. This tablet has a GPS, but it does not have GPRS. The rights it asks for are a little permissive (for instance, taking photos and vodeos), but I hope it's just a matter of not using those features and that's it.

I fire it up. I choose OSM maps and it works just fine. The guide for the offline maps is nice, not fancy, but it doesn't have to be. It only needs an µSD, VFAT formatted, which I don't have (I lost a 8Gb recently with a lot of wine labels from wines that I liked. It's hard to live in a country where wines sold by features completely orthogonal to what you're used to). Makes me wonder why I bought a 32GiB device. I'll have to fix that soon.

For some reason I try the image viewer. Of course it went to the picassa account associated to that Google account. That was really a bad move. Even the calendar is tied to that account. I'll have to ckeck how to reset that shit. Probably I'll have to reset it to shipping state. Not that I did a lot in it. Also, I missed some privacy settings, like the backup in Google servers, which at least deactivating them erases that data from Google servers... or so they say >:-)

Android apart, the tablet is nice. Not very heavy, looks good, responsive, can act as USB master, has internal GPS as I already said, and whatever else. I will be actively looking for an app that lets me embed another two, so I can use it as a GPS and media center in the car, which is the primary goal that I had for my non-charging-from-USB-anymore N900 :(

So lasts test: The GPS didn't got a good signal in my balcony (My god it's cold outside. What's the teperature? I don't know[2], the weather applet does not work, the second one I put in the home screen reset itself to NYC [!??!] and I hadn't try the third I installed), but at least it found it fast. The first guess put me some 80 meters from my actual position, but it slowly got it right.

Now audio: let's see how well it plays MP3s, OGGs and FLACs. I connect it via USB and simultaneously I get two suprises: a) the tablet does not seem to charge via USB. Now, sincerely, WTF? I corroborate this by plugging it to a wall USB charger. Nothing. I should had suspected something when I saw at first that the wallwart has a cilindrical connector. And b) it announces via MTP device, not an USB mass storage as others do, with an option of PTP for the photos. Amarok can handle MTP devices, but then Amarok tries to bee too clever and handling a big-ish collection with lots of missing data and inconsistencies is a nightmare, so I skip it. mtpfs is somehow broken in Debian Sid, and I don't have the willpower to compile kio-mtp.

So that's it: I have a nice 11" tablet with a operating system I knew I hate, which in spite it has GPS can't charge via USB and is not even a USB mass storage, when it can act as a USB master. Probably the bottom line is: I should have investigated better the device before buying it. If only my N900 would charge via USB again[5]...

[1] Ok, yes, it hs support for several Google accounts, or at least Gmail ones.

[2] It's 15°, according to the weather applet in my notebook. How difficult would it be to install GNU/Linux on this beauty[3]?

[3] Just kidding[4].

[4] Actully, not so much. I mean, the device runs an Google/Linux system.

[5] For EUR 300 I probably could buy a not refurbished-but-sold-as-new one. But then, I'm not the only intended user for this device.

rants android google

Posted Sat 23 Mar 2013 11:47:50 PM CET Tags: rants

Note: I began to write this post a long time ago, then I thought it was too much a rant, and left it there. Today, while procrastinating a lot from work, I read it again and decided it wasn't so bad after all. So, here it is.

Today I sat down to write some lines of code for satyr. I has been more than one month since I wrote any line of code in it, which is a shame, but I really wasn't in the mood. For that, I decided to queue some songs so the music was not very much eclectic. Just to be not very boring, I put Slash's solo album. During my small breaks from the code (I do them from time to time; seems like I can't be focused on anything for too long) I was editing the tags of the songs and reading the Wikipedia's page about the album. When I got to the tracklisting I noticed that there were no more and no less than 9, yes, 9 different editions.

This is not the first time I see this; normally I had seen alternative editions, specially japanese editions, most of the time with one more or different track, but it never really bothered me. I really don't know why, but this time I think it's plain abuse.

Combining the other 8 editions from the one I have there are 5 more songs, plus an english version of one of those (as it is a song in the 2, yes, 2 japanese versions, I can only assume the original is in japanese) and a DVD track. And of course none of the editions has them all; the biggest one is the canadian deluxe, with only 3 of those. So, no matter which disc one buys, there is no way to have them all.

Of course, besides buying several discs. How many? Hold your socks, pants and jaw: The japanese deluxe edition, the iTunes version, the canadian deluxe edition and the Monster energy drink edition; and then you get twice the same song (the english version of 'Sahara'). Yes, count them: 4. Not to mention that two of them are only sold in two countries not only far away from one to another, but also faraway from where I'm living, and you can't buy them online and have them delivered in your house.

I think the message is obvious already: those [expeletive] from the record labels are out to get your money more than ever. Just look at the list of different labels involved in this opportunity and you'll find the usual suspects: EMI, Universal Music, Roadrunner Records and Sony Music. What a bunch of greedy bastards that we already know for their greediness and stupidity:

  • Sony and its copy protection scandal.
  • Universal has at least 4 dubious actions.
  • EMI, which used to have DRM in their sales through iTunes, but not anymore. Also they tried to buy Warner and convert two greedy bastards in one huge greedy bastard, but got bought by Terra Firma instead. They laid off ~2k jobs.
  • Roadrunner is part of Warner, which blocks videos in YouTube even when they're not officially WMG content. And they have more.

Another example of how things are wrong is the album 'Live at The Greek', a live album recorded by The Black Crowes and Jimmy Page, the guitarrist from Led Zeppelin. In this album we can only find the songs they played that were not from the TBC repertorie 'due to contractual problems with their [TBC's] record comapny'. Of course, most of what's left are songs from Led Zeppelin, which makes it a fantastic live/cover album for Led Zeppelin songs, but then I can't hear TBC songs with legend Jimmy Page as first/second guitar, something never ever again is going to happen. I simply can't. Ok, I can, and you know how? Because someone recorded the concert with a video camera, and then this hero/heroine put it online, and I downloaded it. Yes, completely ilegal.

I simply can't wait 'till this greedy bastards dissapear once and for all, and culture goes back to flow more freely among us, as it should be. To finish, I give you the translation of a quote I have among my random fortunes. Unluckily the original article where this comes from is not available online anymore:

La razón por la que la industria de medios es tan amiga del término “piratería” es que inmediatamente evoca una imagen negativa, de violencia y saqueo, en la que ellos son las víctimas que se ven privadas de “su propiedad”. [...] en una conferencia que diera la abogada de la Federación Internacional de la Industria Fonográfica, [...] escuchamos cómo [este] abogado se alarmaba del hecho de que “la sociedad se está apropiando de la cultura”.

The reason why the media industry likes so much the term “piracy” is because it evokes a negative image, of violence and sacking, where they appear as the victims who are deprived of ”their property”. [...] in a conference given by the lawyer of the International Federation of the Phonographic Industry, [...] we hear how [this] lawyer is alarmed of the fact that ”society is appropiating the culture”.


Posted Wed 25 Jul 2012 03:52:11 PM CEST Tags: rants

GeoIP es fantástico: te permite saber de qué país, provincia y muchas veces hasta qué ciudad es un IP dado. Esto sirve por ejemplo para saber desde dónde se están conectando a tu server web, hacer estadísticas inútiles al respecto y alardear de ello; o para redirigir tráfico a servers más locales, como Debian está haciendo con su servicio Pero, como toda tecnología, puede ser abusada, y volverse más contraproducente que útil.

El domingo que viene va a hacer un mes que estoy en Nederland (Holanda, que le dicen, aunque el nombre oficial es 'Países Bajos'). Hace un mes que, a pesar que mi(s) browser(s) dicen explícitamente que me gusta el contenido en inglés o, de no ser posible, en castellano, me están entragando sus hermosas páginas en un idioma de cual sólo sé decir 'muchas gracias', 'una cerveza', 'jamón', 'queso' y capaz alguna que otra cosa, pero que en general me es tan comprensible como el chino mandarín (del cual sé decir 'cambei' o 'campei' cuando uno hace un brindis). El idioma en cuestión es, obviamente, el Dutch ('holandés', creo, no es el témino correcto, y 'paísbajense' suena muy mal).

Google, las compañías de vuelos baratos y toda una ristra de otros sitios menores, que ahora se me escapan de la memoria, se me escapan de la compresión. Algunos tiene la decencia de tener una banderita con un link a la versión en inglés del sitio, pero por ejemplo a Google le tengo que decir en mi profile (y si no tuviera, me sería no imposible pero sí muy molesto) cómo lo quiero.

En fin, una vez más, la tecnología al servicio del hombre (not).

PD: Era cuestión de tiempo para que inaugurara el tag 'rants'.


Posted Wed 27 Jan 2010 11:55:55 PM CET Tags: rants