Humor

Cooking itchiness

Submitted by gwolf on Sun, 05/04/2008 - 15:35.

Every now and then, I want to understand a bit better English. Today, when Joeyh mentioned nettle soup, I had to ask Wikipedia what a nettle is. And Joey, no wonder it itches... It refers to around 45 species of genus Urtica in the family Urticaceae - In Spanish, of course, urtica is known as ortiga, or as blind person's herb, as even a blind person will quickly recognize it to touch - Touching it will cause the apt-named urticaria, which Joey seems to have discovered and learnt to fear. At least in Spanish, urticaria is generalized and used to call all kinds of skin diseases.
It happens to be a very common plant in the area I live and dwell in (the ecological reserve REPSA spans a good portion of the University, and limits my neighbourhood), a large extension of Southern Mexico City where the lava of the small Xitle volcano covered everything, rendering a good portion of the Mexico City valley unfertile, known as malpaís (badland, literally).
Anyway... I don't think I'll rush to cut some ortigas and make them into soup, as both Joeyh and Wikipedia (Spanish and English versions) suggest. But it is always an option, having so many fine specimens around.
This posting serves no other purpose than to show my appreciation to the Mexico City Area

( categories: )

Password security, data safety - A government perspective

Submitted by gwolf on Thu, 04/24/2008 - 22:38.

One week ago, I went to a branch office of Servicio de Administración Tributaria, the government office in charge of processing taxes. This year, I plan on doing something quite bold, as my Mexican friends will acknowledge: I will prepare my (quite simple, I hope) tax declaration by myself. I do not want to be held hostage of the accountant guild - So I might end doing some fuckup which in the end costs me money or time. I hope it is not the case.
Anyway... Last week I went to this office, as I needed either a CIECF (Clave de Identificación Electrónica Confidencial Fortalecida - Strengthened Confidential Electronic Identification Key) or a FIEL (Firma Electrónica Avanzada - Advanced Electronic Signature). No, please don't believe it is a security token, a card with printed numbers, a one-time-pad or the sort - The CIECF is... A password. Why is it strengthened? Because it has the feature of including a question, in case you forget the key, to allow you to change it. I guess the FIEL is a more reliable device, but I prefer not to even request it.
And as far as the questions go, the emergency questions for CIECF suck. First, I was not even asked the meta-question - I was not told why this information was needed. So imagine the clerk saying: Full name? ... Date of birth? ... RFC (Tax ID)? ... Favorite color? I was there just... Stunned. Why do you need it? Oh, just in case you forget your password. Ok... Don't you have any other questions which I am not prone to answer a different thing, and that are not dead obvious for a casual passer-by? (I guess that at least 1/4 of the public will say blue. Feel like brute-forcing SAT to its knees?) Other questions include your fathers' second family name, your favorite soccer team, your pet's name... It seems they took the first "security dos and don'ts" book off the wall, and started reading backwards.
But anyway, that's the system, and I must play nice with it. So I get back home, and decide to start hacking up my declaration. No, Mr. Policeman, I'm not saying I would try to break into the SAT - I just say it is a complex and non-obvious task to do. Now please release me. Thanks.
And I enter the system. Of course, I tried first with Iceweasel, knowing it would fail (it is documented: MSIE 5.5 recommended). I tried again with Konqueror. I tried, sigh, with MSIE from inside Wine. No luck. Well, even from within qemu's Windows 2000. Wrong password. WTF?! Stranger: It worked with SAT's My portal, although it didn't with the declaration, which is what matters now.
I cannot take the time every day to come to the SAT and move my data - It was a full week until I came back again. I insisted on fully logging in to the system, to be sure the password I entered this time was right. As well as my über-secret safety question, of course.
And it failed.
Twice.
Until the clerk noticed something strange in the way I typed...
Sir, excuse me..., he muttered, why are you typing such a long password? Well, basically because I value my tax declaration, and I know brute force is a powerful force. (explain it, of course, in simple terms) Oh... No, the password must be eight characters long.
No wonder.
So I entered the first eight characters of my password, which was a true work of prose for their standards, at around 20 characters. And it worked.
Now, for bonus points: What do we gather from the fact that the long password works fine in one system, but in another system it only the short version? Why, but of course! I guess the passwords for every economically active Mexican is stored in their master database in plain text. Isn't it just beautiful?
Anyway, it seems I have a lot of work to do. If all goes as planned, maybe next year I will be for hire as a public accountant? Hmh, does not sound too much like fun, does it?

( categories: )

German and APT::Acquire::Translation

Submitted by gwolf on Mon, 03/10/2008 - 18:25.

Rhonda,

The webinterface for it doesn't require any authentication at all, leading technically to anonymous translations all over the place. The so-called "review" process consists of the same not-existing authentication, leading to a situation where unknown people can put in whatever they like and have other (or potentially the same) unknown people acknowledge that.
The language team has actively chosen that way because it was said that bad translations simply won't happen and that the review (three people opening the page and clicking onto a button) will not let that happen. Well, it happened. And is happening all over the place.

Hmmm... That sounds quite like a definition of Wiki in my book. Just add a version-control layer underneath, and...
Oh, you didn't? Umh... Tough luck! :-(

( categories: )

cat STDERR | rot13

Submitted by gwolf on Fri, 02/08/2008 - 16:52.

Cannot help but laugh and share.
I've been triaging and trying to reproduce some oldish bugs on pkg-perl's packages. Some bugs are no longer there, some have to be forwarded upstream, and so on. Usual tasks, yes.
Until I stumbled with #406227. I just have to laugh and share! Hope nobody feels ashamed - The bug is the result of different people coding maybe under pressure and with quite different mindsets :)
For some reason I fail to understand, the submitter's test case (rot13 implemented over a HTTP proxy) is invoked in the report as ./rot13 2>/dev/null. Of course, when trying to debug a bug report, the first thing to do is not to ignore STDERR. So, off goes the 2>/dev/null. What happens next?

  1. 0 gwolf@mosca[2]/tmp$ perl ./rot13 &
  2. [1] 4394
  3. 0 gwolf@mosca[3]/tmp$ GET -p <a href="http://localhost:8080/" title="http://localhost:8080/">http://localhost:8080/</a> <a href="http://www.debian.org/<br />
  4. Can't" title="http://www.debian.org/<br />
  5. Can't">http://www.debian.org/<br />
  6. Can't</a> locate object method "filter" via package "UGGC::Cebkl::ObqlSvygre::fvzcyr=UNFU(0k604160)" (perhaps you forgot to load "UGGC::Cebkl::ObqlSvygre::fvzcyr=UNFU(0k604160)"?) at /usr/share/perl5/HTTP/Proxy/FilterStack.pm line 126.
  7. 500 EOF when chunk header expected

WTF... Well, at least the program name gives me a clue... Lets try to "decrypt" the error message...

  1. gwolf@mosca[4]/tmp$ echo 'UGGC::Cebkl::ObqlSvygre::fvzcyr=UNFU(0k604160)' | rot13
  2. HTTP::Proxy::BodyFilter::simple=HASH(0x604160)

hrm... How comes the filter is filtering its own code and only then refusing to find itself!? Ok, time to open up the manpage - Remember, I'm only group-maintaining this pacakge, I am not yet at all familiar with it! Ok, so the core of the filter is when the submitter states:

  1. my $proxy = new HTTP::Proxy();
  2. $proxy->push_filter(response => new HTTP::Proxy::BodyFilter::simple(sub { tr/a-zA-z/n-za-mN-ZA-M/; }));

While the manpage states it should be invoked as:

  1. my $filter = HTTP::Proxy::BodyFilter::simple->new( sub { ${ $_[1] } =~ s/foo/bar/g; } );
  2. $proxy->push_filter( response => $filter );

Of course, once looking at it, the answer is simple: The submitter left out which element to act on in the anonymous function body - The ${ $_[1] } =~ part. Adding it makes gur svygre jbex nf rkcrpgrq... Err, sorry - makes the filter work as expected.

Now, bonus points: For the non-Perlers out ther: How come we get the namespace translated as well? Oh, that's very simple: In Perl, as in Python (and concievably other languages I'm unaware of), the object is passed to any of its methods as the first argument. Functions in Perl receive their arguments via @_ (read: the default array). And, of course, the tr (regex-based transliteration) takes by default the first thing it sees - the object itself. And what happens when you apply a (string-oriented) regex to an object? Of course, it gets stringified - which, by default, in Perl means converting it to the closest possible description: "a hash reference blessed as an object of the class such-and-such at this memory location". That string gets worked on, and we get UGGC::Cebkl::ObqlSvygre::fvzcyr=UNFU(0k604160). This proxy does not die on very-very-short web pages, where the whole content fits on one iteration of the code (although it does not work correctly - the text remains unaltered, of course, as it was not worked on), but if the request spans several chunks, the second time the filter is called, it will be... just gibberish.

Oh, and what about the extra ${ (...) } around $_[1]? Oh, simple: The string is passed as a scalar reference, so it can be modified in place. Yes, it's the Perl way of pass-by-reference instead of pass-by-value (the default behaviour): Of course the parameter is only passed as a value. Only that the value is incidentally a reference - but who cares? ;-)

Anyway... Many oddities. I would implement the module in a completely different way, and it looks quite backwardish in my book. But then again, TIMTOWTDI.

( categories: )

Royal abuse

Submitted by gwolf on Wed, 01/09/2008 - 15:54.

I just went to our Institute's yearly ceremony of rosca de reyes. What's that? Well, according to the tradition, on January 6 the tres reyes magos (boringly translated to English as three wise men - It should be something like three wizard kings) payed a visit to the newborn baby Jesus. In Mexico, the tradition mandates that every family, group of friends, or whatnot should gather and eat rosca de reyes, a round, sweet bread, usually some 10cm wide. The rosca has some plastic babies hidden in it, remembering how baby Jesus had to be hidden and smuggled out of his birthplace. And, according to the Mexican tradition, if you cut your piece of rosca and get the baby, you are expected to buy tamales for everybody on February 2, día de La Candelaria. (why? Don't ask me!)

Anyway... An image is worth ~10Kb of UTF8 (so it's still better to describe it, as it weighs around 63K, but what the hell):

Two babies?! I was abused by the Three Wizard Kings! (at least it does not sound as sad as "I was abused by three wise men"!) I'll have to buy tamales for everybody on La Candelaria twice, even if they are no longer hungry!

( categories: )

Debian Developers fail Turing tests?

Submitted by gwolf on Fri, 12/07/2007 - 17: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 - 20: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: )

Lucas killed ries!

Submitted by gwolf on Mon, 11/05/2007 - 23: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: )

Hot water and long pipes

Submitted by gwolf on Mon, 07/30/2007 - 23: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: )

Celebrated 10 years of the SC

Submitted by gwolf on Fri, 07/06/2007 - 11:08.
Following Liw's initiative, yesterday night Nadezhda and me joined the distributed pancake party. With a nearby restaurant's hotcakes, anyway, not as fresh or as great as they could, but you can still smell the spirit:

(artwork by Nadezhda)
And... Well, it was not until this morning that I checked on the Wiki just to discover that Damog took part of the same distributed party, just ~15km away from us. Shame - I had just met Damog that very morning at the University :)
( categories: )

Top-down and bottom-up: Two approaches for... Hydrodynamics?

Submitted by gwolf on Thu, 05/24/2007 - 14:52.
Yesterday we had one of our first full-evening rains of this Summer. It started raining around 15:00, and didn't really stop until past 22:00. Most of the time, it was a low intensity rain. Also yesterday, Sergio and I started with the Debian course I recently talked about - Fun!
Now... This course is scheduled at Instituto de Astronomía, which is halfway between my work and my home. 19:00 to 21:00.
I decided to leave early, so we could check some pending details - At 18:00. I biked to Astronomía, about 1.5km. When I arrived, I was as wet as you usually get at a regular rain: I still had some dry spots under my arms and legs. Nothing terrible, although a bit coldish - Anyway, that's a top-down approach for hydrodinamics, the approach most people are used to.
When we finished this session, I had to go out in a rush, as I had a meeting at 20:00 at Balderas (downtown Mexico City, ~25min away by metro). Of course, I was one hour late already, and adding the time it would take me to get home, leave the bike and run to the metro, I could not just sit and wait for the rain to get any easier on me. So I pedalled.
Contrary to what I originally expected, I didn't get soaked wet in the usual pattern. Stronger rain leads to more rain flowing down the road. Yes, almost immediately I felt a cold shudder on my legs and back: The water sprayed from below by my wheels. Of course, the front wheel was even more fun, as it sprayed my face from below - My helmet has a small protuberance at the front to make some shadow, and tilting a bit my head forward prevented the rain from hitting my eyes - but the dirty water, with small bits of wood and whatnot, from the ground found an easy way to my face. My only defense was to close the eyes as much as I could without losing visibility. A strange excercise to do :) Anyway, that's the bottom-up approach for hydrodinamics.
Anyway, by the time I got home, after an extra ~1.5km, my pants were basically a soup. My shirt was not exactly dry, but it still kept me a bit warm. I just ushered inside, grabbed a jacket, and went on for my second meeting.
( categories: )

On sending out the right image

Submitted by gwolf on Wed, 05/23/2007 - 03:29.
At my Institute, we get the El Financiero newspaper - I like it quite a bit. It's very well balanced, with opinions from all of the political and economical points of view. Of course, it has huge business and market sections which I don't usually even care on looking at, as I won't understand much anyway. Those sections usually include advertisements for potential courses and businesses.
Today, Nadezhda showed me an ad that's just beautiful - It shows off the level of commitment and seriousness a company has. It is so beautiful that it deserves me copying it in Spanish and translating it for your further enjoyment. Of course, if somebody stumbles upon this advertisement at my personal blog - I don't know them, they might just be serious but clueless :)
GRUPO DE ASESORES PROFESIONALES
CONVOCA
A académicos, investigadores, intelectuales, economistas y expertos en reformas estructurales para el análisis de las siguientes:
  • Economía y finanzas
  • Educación y empleo
  • Seguridad y desarrollo social
  • Política y Energía
  • Reforma del estado
Para integrarse a un equipo serio y propositivo de Profesionales en estas áreas que brinde asesoría puntual sobre las antes descritas.
REQUISITOS: Titulados con Maestría y/o Doctorado. Contar con publicaciones especializadas.
Interesados enviar CV al correo electrónico:
juan_zzz@starmedia.com
juan_3zzz@yahoo.com.mx

Bosque de Ciruelos No. 140, piso 12, oficina 1202, col. Bosques de las Lomas
And now, for your further amusement, in my hastily translated English, as faithfully as I can do it.
GROUP OF PROFESSIONAL ADVISORS
INVITES
Academics, researchers, intelectuals, economists and structural reform experts for the analysis of the following areas:
  • Economics and finances
  • Education and employment
  • Social security and development
  • Politics and Energy
  • State reform
To join a serious and propositive team of Professionals in the above areas that gives punctual advice regarding the aforementioned.
REQUIREMENTS: Holders of a title, with M.Sc. or Ph.D. studies. Having specialized publications.
Interested people, send your CV by email to:
juan_zzz@starmedia.com
juan_3zzz@yahoo.com.mx

Bosque de Ciruelos No. 140, piso 12, oficina 1202, col. Bosques de las Lomas
Yes, several of the redaction mistakes are in the original text (and several more were introduced due to my English translation, of course).
Anyway... Would you believe in the seriousness of a professional-looking group of economists, paying around US$2000 for 1/4 page in one of the leading Mexican newspapers? By the way, their offices are located at one of Mexico City's most exclusive, expensive areas. But... For ${deity}'s sake... COME ON! Please tell juan_zzz to get a decent-looking mail and domain! Having their main contact addresses at two free mail providers, Starmedia and Yahoo, does no service at all to their professional image! How can people still not pay even a bit of attention to those basic details?
( categories: )

Cannot help it - Are you into human interface design?

Submitted by gwolf on Tue, 05/22/2007 - 15:42.
Thanks to Planeta Debian (yes, planeta, the Spanish version of Planet Debian), I came across this Darío Rapisardi's post.
Sometimes poetry can be expressed in human-interface guidelines.
( categories: )

When bad system design leads to pain...

Submitted by gwolf on Thu, 05/17/2007 - 15:22.
A long time ago, I wrote the system that still manages the Cuerpo Académico Historia del Presente group in the Universidad Pedagógica Nacional. Yes, I'm happy a good portion of my project, which took me over a year of work... But I must admit a nice deal of shame as well.
Of course, it comes from not properly understanding the domain data and information volume my system would be working with - and coming up with a stupid way to implement searches. I won't get too much in detail because, even if you had access to the full search facility in the system (no, it's not available for the general public), I would not like a swarm of curious people to make last week's events come back... Anyway, the group works by daily filling in tens or hundreds of articles in the system, and having some interesting search sessions every couple of months.
I knew the performance problem was caused by an inefficient searching mechanism (explicitly, category exclusion is the prime killer). I knew loadavg jumped through the roof, memory usage did so as well... But it was not until some weeks ago we installed the mighty Munin on the machines at UPN that we got this jewel - Thanks, Victor, for putting the graphics somewhere they can be shown! ;-)
So... How much does memory usage increase during searches?

Whoa. The system has 640MB real RAM. It has as well 1GB swap. Don't ask me how the hell it reports it was using ~2GB swap - but still... And how is our load average?

Have you ever seen a (single CPU, Pentium 4 1.7GHz) Linux system with a loadavg of 80?! For those who don't know, loadavg gives you the general status on how many jobs are pending scheduling by the CPU. 1 means that all of the CPU's time during a specified timeframe was used (and, on single-core systems, it's the optimal usage level). On this machine, things start getting uncomfortable at 6 or 7. I had never before seen values even half this large.
Sigh... Well, in my defense, I must say I've warned them about this problem for over two years. My contract with them has long passed - I've repeatedly recommended them to hire somebody to fix it. So far, they have not.
( categories: )

09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

Submitted by gwolf on Thu, 05/03/2007 - 15:48.
This looks like random blabbering, right? A very specific random blabbering that has somehow appeared in blogs of at least tens (if not hundreds, maybe even more) blogs of techies all over the place. What is it?
For the more tech-friendly readers, it has some resemlance to a number - a long number, a 32128 bit one. And for those of you who are not Computer Science minded, you might actually prefer to see it as a simple base-10 (that means, decimal system) number: 13'256,278'887,989'457,651'018,865'901,401'704,640. I don't know how to spell it in English, but I do in Spanish (why? Because we have this difference: In Spanish, a billion is a million millions, and a trillion is a million billions - unlike English, where a billion is a thousand millions and a trillion is a thousand billions). So, lets do the excercise in Spanish:
Trece sextillones, doscientos cinuenta y seis mil doscientos setenta y ocho quintillones, ochocientos ochenta y siete mil novecientos ochenta y nueve cuatrillones, cuatrocientos cincuenta y siete mil seiscientos cincuenta y un trillones, dieciochomil ochocientos sesenta y cinco billones, novecientos un mil cuatrocientos un millones, setecientos cuatromil seiscientos cuarenta
Hah! I guess my fifth-grade teacher would be quite proud of me!
Now, I hereby pronounce my transcription of this utterly long and basically random-generated number into the beautiful Spanish language copyrighted by me, and publicly available under the Creative Commons Attribution-ShareAlike 3.0 Unported License, as it is a very valuable and hard literary work.
But, really, what is it? Well, this mindboggingly long number is the key with which most HD-DVD movies processed so far is encrypted with. Of course, the Motion Picture Ass. of America (MPAA) does not want this (again, randomly generated) number to be out there in the wild, so they say the number is copyrighted by them - This does not hold up, as it has been widely shown before (i.e. Intel dropped its 286/386/486 numbering scheme because a number is not copyrightable or trademarkable - and AMD was perfectly able to legally sell 386/486 chips). So, I have put more work into this number than what they have. I deserve the credit - the transcription is mine. Use it freely.
Oh, and of course, some more examples:[update]: Yes, sorry, I was counting with half of my brain shut down and the other half brain trying to fetch some coffeine, or something like that. It's a 128 bit number, not 32!
( categories: )