Go forward in time to June 2002.
Miguel came by the office; it's good to see him again. He brought some tea from Tea Luxe for Oralia and myself. Mmmmmm.
We talked about how to outdo iPhoto. Miguel has some ideas that are very close to what Ettore and I had discussed. But then he showed me FishCal. Their demonstration video is really cool. Yes, Evolution should work that way.
And related to that, I found PhotoMesa, by the same UMD guys, and it may provide some interesting ideas for EOG. Also, their image finding software should be interesting.
Miguel is absolutely right in saying that this should not be written in C. When I see stuff as cool as PhotoMesa and its algorithms I immediately think, "some Lisp people must have written this". Languages that just let you explore rather than having you babysit the language all the time are certainly the way to go.
Today I got this massive feeling of frustration on the state of GNOME. GNOME 2.0 is a cool platform, but it still feels too low-level. Picking C as a base language was the right decision, as C++ is no better. But it still is a language where you are uncomfortably close to the hardware. To think about how much time we have spent/wasted tracking down memory problems, refcounting problems, buffer overruns, erroneous casts, arithmetic overflows... it seems like a lot of overkill.
Maybe I should start working on Mono. No wonder they have made progress so quickly. They don't have to worry about the kind of babysit-your-language bullshit that we in the GNOME world are used to.
I don't do programming in my spare time anymore. Being married is to a large extent a reason for this --- it is so much better to spend time with someone you love than to curse at gdb. Still, working on GNOME these days gives me the feeling that you could build fantastic buildings, but you would have to do it one grain of sand at a time. That's not the feeling I had when I hacked on Lisp stuff, where you felt that once you had constructed a building block for yourself, your next step would be to use it as it was. And then you would double the size of your building blocks, and so on exponentially until you reached your final goal.
Is this just an issue of laziness and of "my language is better than yours"? I don't think so. Some things like programming can give you a lot of pleasure while also giving you certain amounts of pain. When the pain becomes too large, you move on to something else. This is what I feel has happened to me and other people whose most sophisticated abstraction tool is the function pointer.
Updated the EOG drawing/scrolling engine for GTK+ 2.0. Now it is fast and smooth again. It could be completely smooth, but that would involve a complete rewrite of the engine. However, its current state makes me happy. The drawing pipeline in GTK+ is very nice, and being able to process a whole GdkRegion in your expose event handler is sweet.
Had our last rehearsal before Saturday's concert. Everyone is nervous, but things sound good.
Carlos is in Mexico! It's nice to see him again.
Fixed handling of the scrollwheel in EOG. The GIMP's way of doing it is on crack, and now EOG is back to sanity as in the pre-2.0 days.
Started rewriting the EOG scrolling engine as well, to fix this. I should be finished tomorrow.
Hans Petter brought us a big bar of Norwegian chocolate. Mmmmmmm. Thanks, dude!
Listened to Shostakovich's string quartets in random order for most of the day. You always find something new in them.
We had our second to last rehearsal before Saturday's presentation. It sounded good. A bit too loud for the small rehearsal room we were in, but still good. Things I have yet to figure out:
How to turn the stock CelloBig into a cello marcato. Reduce attack and sustain, perhaps reduce reverb a little?
How to make the phaser/bells sound have the same brightness even when playing less than forte. I think this just involves tweaking the velocity response envelope or somesuch. But with every single parameter being envelope-able (this is good), it is hard to figure things out sometimes.
How to make a wind sound. This would be trivial with an analog synth as you have all the knobs available at once. On the S80, I have to find a stock waveform for white noise and wade through the terrible user interface to set up some envelopes on it.
How to get predictable volumes when changing performances. For some reason the different voices have widely varying volume levels. Some are not velocity sensitive by default. Blah blah. I wonder if I can make the S80 automatically set them all to the same base parameters.
How to glom two performances together, say, turning two splits into a 4layer. Related to this is how to bind the control sliders to the volume on each layer. It seems that the S80 will cut the sound sharply when you change a voice or performance, even if you have sustained notes, rather than letting the previous sound die out naturally when you release the key or pedal. So I need a way of staggering the voices in different layers so that they can blend easily and the changes can be made unnoticeable. This reminds me of voice staggering in old, crappy trackers. Sigh.
What I really need to do is get off my ass and write something like the software Yamaha provides; of course their stuff is proprietary and doesn't run on Linux.
Maybe I should dive into the free music software scene, but it looks like much crack is smoked there and little attention is paid to completeness and/or usability. Having a base OS that completely sucks for multimedia does not help, either.
Just to be a bastard, I started on a ranking system for the links to other people's activity logs. To wit:
These are, of course, completely arbitrary and subjective. But short of being able to poke people's shoulders, this will have to do.
Seen in the gfloppy sources:
putenv ("PATH=$PATH:/sbin:/usr/sbin:/usr:/usr/bin");Sometimes you have to wonder how software manages to work at all.
Got frustrated with GGV not appearing at all as a Nautilus view. Bonobo-activation seems to be the problem yet again.
We went for a late lunch at La Salamandra, a little hamburger joint in Coyoacán which is rather good. The best way to make a hamburger spicy is with salsa verde, and thankfully they provide some of it there.
(Oh, and speaking of bad prefab fodder music, they had a radio station that only plays cumbias. One of the songs had bits of Mendelssohn's Nuptial March in cumbia rhythm. Sigh...)
Then, we went to get two new lamp shades, one for the computer/books room and the other one for the little area where we have the plants. They are spherical, made with thin strips of translucent paper, and have simple drawings on them. A German guy and his wife make them; apparently they lived in Spain before moving to Mexico. I talked to the guy for a little bit in German, and it made me feel good that I have not quite forgotten everything.
Yesterday our band rehearsed again, now with a good console/mixer and good speakers. Wow, it sounded *good*. Now I just need to finish tweaking some of the sounds from the synth. Does anyone know of some good parameters for turning the S80's "Cello Big" into a cello marcato?
Watched The Man Who Wasn't There last night. Beautiful, sad movie. I thought it dragged just a little bit at times, but maybe it was because I was really sleepy when we went to the theater.
As we walked back and into the car after the movie, a
policeman stopped us.
Cop: What are you doing so late at
night in such a dark street? And who is that young
lady?
Me: Uh, we just came from the movies.
She is my wife.
Cop: Oh, OK.
I wasn't sure whether to laugh, cry, or fart loudly.
We woke up late today. Ate some yogurt. Went back to sleep, and woke at 3 PM. Rented some movies. Went for a pizza at the wonderful little pizzeria near my father's house; went to say hi while the pizza was in the oven. Went back home, ate the pizza and some very good beer, León, from Yucatán, while we watched the movies.
Training Day was first. Denzel Washington rules. And for once Ethan Hawke does not act like a complete idiot. Then, we watched Don Juan DeMarco. Awwww.
Last night we had our fourth-last rehearsal before the Kromlech recital at La Corte Final. Things are looking better, although the synth is not fully programmed yet.
Oralia had to read Nathaniel Hawthorne's Young
Goodman Brown for her English class, so we read
it aloud together. I had never read Hawthorne before,
and it is great. It makes good practice for dramatic
reading; the language and punctuation are impeccable and
you can actually catch your breath at the appropriate
points without any strain. And it just begs to be read
aloud. ‘Bring forth the converts!’
cried a voice, that echoed through the field and rolled
into the forest.
Now I just need a thundering
voice like Ralph Fiennes's.
Chuletas de cerdo con nopales en salsa verde, another of Oralia's creations. Two words: simply delicious.
We watched Spiderman in the evening. The love lines are corny, the special effects are reasonably good, Willem Dafoe kicks ass as usual, and the movie is completely entertaining.
The New York Times interview about E-México, by Graham Gori, is finally up.
When I spoke to him on the phone, Mr. Gori wanted to compare the Microsoft/E-México deal with past infrastructure projects like railways, power lines, and oil wells, which also used foreign technology. He asked whether this would not be equally benefical in the end, because in those past situations Mexico had taken over the technology and nationalized it. I said that this was not the same case, as with software you do not keep anything physical, which you can open up and repair and change with everyday tools; with proprietary software you are stuck with a big black box that does not admit any changes. You cannot make changes easily, and what is more, you are forbidden from changing them. Every year you would have to pay Microsoft for an upgrade, and there would be no easy way to convert the data to other (say, standard) formats if you wanted to. Choosing proprietary software from Microsoft is a big technological lock-in for the country, a huge waste of money, and a blatant insult to Mexican engineers who could just as well be hired to write free software that does the job. Many other countries are using free software for the tasks of public administration, but our government has chosen, as usual, to go up to the foreign company that has the most money.
Between quick matches of mancala, Oralia has been avidly reading Hemingway's Garden of Eden. I'm still slowly reading Alejo Carpentier's La Consagración de la Primavera, which makes me feel like I need to use the dictionary four or five times per page.
For example, in the OO world you hear a good deal about "patterns". I wonder if these patterns are not sometimes evidence of case (c), the human compiler, at work. When I see patterns in my programs, I consider it a sign of trouble. The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign, to me at least, that I'm using abstractions that aren't powerful enough [...]
From Paul Graham's latest blurb.
This is ridiculous.
Went to the new MacMillan bookstore in the morning. It is one of the few places in Mexico City where you can get books in English. We talked to the coordinator there, and it seems like he has had a really hard time trying to convince the Big Bosses to let him bring in literature, poetry, and nonfiction rather than the million different English courses and textbooks that you can get in many other places here. In the bookstore they have a big section of English textbooks and a tiny section of literature, which is even smaller than the section for glossy-covered, bestseller-of-the-week pre-fabricated novel section (you know, the ones whose running topics are massive conspiracies, fodder science fiction, or plain cookie-cutter romance novels). They also have a reasonable selection of children's books. But the only "real" authors in stock were Ernest Hemingway, a bit of F. Scott Fitzgerald, and a single little book by Emily Dickinson. They also had some insanely pretty books by the University of Cambridge, including some on musical analysis which I would love to have, but those were too expensive. Eventually we only got Hemingway's Garden of Eden.
We watched Stanno Tutti Bene on video. One of the best movies I have seen; made me cry in the end. Need to watch more movies by G. Tornatore.
In the evening, had to circle around campus because the two of the main arteries were closed due to the soccer game. We were barely on time for Bartók's 3rd piano concerto performed by the OFUNAM. It was supposed to be the 2nd piano concerto, but they had to change pianists and apparently they decided to play this other work. This is just as well, as the 3rd is my favorite concerto of all time.
[Argh, but in two weeks they were going to play Shostakovich's 1st cello concerto, and now it looks like they changed it to Elgar's. Which is also just as well, but still...]
Oralia cut my hair. I am pretty again.
JRB got a tortilla maker, so I taught him how to use it. Gave him some recipes for quesadillas, tlacoyos and salsa.
Untangled this mess. Ugh. It's sad when you go through a chain of buggy code, bugs in different modules, inconsistent patches, lack of documentation, blah blah. Sometimes you have to wonder how it all does not collapse suddenly.
Had a long discussion with Ettore about how to do the user interface for image collections in EOG. Some good ideas came up.
It was not a smashed stack, but rather a dynamic module that gets unloaded and leaves callbacks connected to signals on the outside. So when the signals get emitted, the callback is no longer in memory and it crashes.
I've been reading the manual of the S80, and it is horrible. It is written by someone who does not speak English very well, and it is very sketchy. It assumes that you know many concepts of synthesizers and MIDI setups, and it is all presented in the wrong other. It reads like one of the "choose your own adventure" books; it will devote two pages to explaining how to edit a voice or performance, and then it will say, "to save your voice or performance, see page N". N is about sixty pages ahead in the book. Why don't they tell you right there how to do it?
The basic problem is that it explains the features in order, and you have to figure it all out. Here are the building blocks in excruciating detail; now build a castle on your own. It should be more like a tutorial. The first thing one would want to do with a new synth is to learn how to change voices, so that you can hear which sounds are available; also, you want to learn about performances and how to set up the voices you need for them. After all of that, you may want to learn how to make your own sounds with the synthesizer and how to tweak the existing voices. As a separate topic you want to be introduced to MIDI and plug-in cards and other extensions.
Maybe I should write a real user's manual for that thing and post it somewhere. It would not be a bad project, and it would make me learn a lot about synthesizers.
[And why is the user interface so horrible? If they are charging nearly 2000 dollars for the stupid thing, can't they afford to put in a big backlit LCD display with real labels instead of making you remember that FEC is the Filter Envelope Control?]
Oralia made quesadillas de papa, which are the best in the world! I am completely spoiled.
Sebastião Salgado took pictures for the worldwide campaign against polio.
Our band purchased a kick-ass keyboard. I have to learn to use this baby.
Found an ugly crasher in the input method code of GTK+. I hope I can finish debugging it tomorrow. Smashed stacks are painful.
Went to visit Oralia's mother; she had made tamales, delicious as usual. Hugo and Juanita were there as well.
Went for a coffee in the afternoon, and walked around Coyoacán. We decided to go and check what was showing in the National Film Archive, and went in for Buena Vista Social Club. It is great to see this in a theater again. I enjoyed it a lot more than the first time I saw it, when I was in North Carolina.
We got a nice blackboard and chalks as a birthday present for 4-year old Salma, and Oralia went to her birthday party. Meanwhile, I went to visit my mother. Played the piano for a while; practiced Bartók's Rumanian Folk Dances from the score I got in Seville.
We also watched Forrest Gump on video. It made me happy and thoughtful.
Mother's day.
Aside from the stupidity of removing a "feature" without having the new code automatically adapt your old settings to the new (equally broken) zeitgeist, it sucks when:
I lost about two hours figuring that out.
Oralia made her prodigious onion soup and we made mousaka from my mother's recipe. Mmmmmmm. It is the first time that we use the oven on our relatively new stove, which made this a lot of fun.
However, the wine was not very good: Ernest & Julio Gallo Chardonnay 2000. Will pick something else next time.
Played three games of mancala. Won twice.
Leo, our band's drum player, is doing his Physics PhD. Apparently he just made a really interesting discovery on how to measure the radii of elementary particles by considering them naked singularities.
We now have two scheduled presentations! We'll be playing at La Corte Final and in Plaza Loreto next month.
Got some very good help from Raph on debugging this. I need to learn more numerical analysis; I'm not bad with computational geometry but all the accuracy issues that arise when you implement something can be really bad.
We went to watch The Shipping News in the evening. Not terrible, but not very good either. The scenery is impressive, but that's about it.
Played some more mancala, got my ass kicked again. I always manage to lose by one or two stones.
Mixed the chemicals for development. It is good that we had a liter lab flask lying around; it makes mixing very easy. XTOL is fun. The first powder part makes a reddish liquid, and the second powder part makes it clear and swirly again.
Fuck. A student was shot yesterday in the School of Sciences, where I used to be a student. Fuck fuck fuck.
Chema went to the Mexico CNN offices to be interviewed about the E-Mexico and Microsoft situation. Dum de dum.
For dinner we had noodles and a delicious baked snapper with tomatoes, onions, chile serrano and epazote leaves. Mmmmmmm.
Afterwards, we went to Coyoacán park because Oralia had to meet with Sandra, a friend of hers from school. It was raining rather heavily, a welcome relief from the hot weather, and we also went for some coffee and hot chocolate at El Jarocho, where they make the best coffee in the world.
We played mancala for a while before going to sleep. Oralia seems to be kicking my butt most of the time. But tomorrow we'll play chess and things should be different, mwahahaha.
Chromatic aberration on the eyeglasses is really annoying when reading web pages with black text on a white background. I'm used to just moving my eyes and leaving my head fixed; now I have to turn my whole head up and down to read a page. Of course the characters are easier to read with the glasses on, so perhaps it is a good compromise.
Got a call from Graham Gori, from the New York Times, to ask about my opinions on the Mexican government hiring Microsoft for 30 million dollars to develop public administration software for the E-Mexico initiative. Ranted for a while on why they should be using free software developed by local programmers instead.
Friday: Watched La Habitación Azul. It is not a bad movie, not bad at all. However, it made a lot of hubris with its posters of the nude female main character, and all the interviews of the actors were about how they felt to appear nude. This is *not* the main point of the movie, though. Also, the main sex scene is directly at the beginning of the movie. Once they get it over with, the story actually starts. Why is it done in that order? It is not even shocking, if that is what they wanted it to be.
On the food side, Oralia made some absolutely delicious breaded chicken breasts.
I got Oralia a very pretty book on Philosophy that a friend recommended. She was delighted.
Saturday: Watched Farinelli: il castrato on video; neither of us had seen it before. Was Händel such a pompous bastard, but nevertheless ineffably right? This warrants investigation.
We picked up a few rolls from Spain from the photo store. Some of the wide-angles are not as sharp as they should be. It is probably just a dirty lens. And we should not have spent so much film inside the Seville cathedral without a tripod; even when you think you held the camera steady for the required long exposures, the pictures turn out shaky. There are some good pictures there, however; I should get them scanned soon.
We also got chemicals to develop B&W film. XTOL, fixer, stop bath, and some containers for storage. This should be fun.
A week ago I had some eyeglasses made. I have a bit of astigmatism, or "your cornea is fucked"; apparently a ray of light will not focus on a single point on my retina. Today we went to pick up the finished glasses. The lenses have a greenish-looking anti-reflection coating and the frame is thin lead-colored metal.
I don't need to wear glasses all the time. I only have a bit of difficulty reading small print, or working for a long time in the computer. I really don't want to get used to wearing glasses all day long; it would make me think that I would be able to see nothing if I took them off.
I'm starting to understand most of the lens aberrations that I had read about regarding camera lenses. My glasses have a bit of barrel distortion near the edges, so long straight edges of things look bulged when I don't look directly forwards. They also have a bit of chromatic aberration on the top and bottom, but not the sides, which I can see if I look at the white lines on black pavement under bright sunlight; I'll see very thin colored fringing around them. The lenses are very good if I look straight through the center, which is what I will be doing most of the time, anyways, when reading or working on the computer.
However, it sucks when you have to look elsewhere than directly forwards. You normally don't turn your whole head like Robocop, you just point your eyes in the new direction, and if needed, you turn your head a bit. The lenses are *not* as good in the edges as in the center, and this makes it uncomfortable to glance sideways.
One of the things I can't get used to is figuring out the correct distance between the eyes and the glasses. It is supposed to be important, right? When you focus a camera lens, you turn the focusing ring slowly precisely because minute differences can make a huge impact on the picture. I don't know if eyeglasses are supposed to be the same. If I vary the distance between their lenses and my eyes, I just get a very bad, distorted zooming effect. If I tilt my head sideways, rectangles become diamonds like on a really crappy wide angle lens. It is disconcerting to tilt your head and see 90 degree angles not look perpendicular anymore.
Am I being too bitchy? Is it just a matter of getting used to it? What bothers me is that glasses are not a tool like a typewriter or computer that lets you work faster by removing limitations. They are a physical crutch to mend your imperfect body, and they are there, constantly reminding you that something is wrong. Or maybe I am being too whiny because I am used to camera lenses being Really Damn Good — I've only noticed pincushion distortion on the little Coolpix 990's lens, while my other lenses are excellent — and eyeglasses are just not as good.
Wearing glasses is definitely new for me and it makes me feel vulnerable.
The weather is still unbearably warm.
Today: Cooked spaghetti with tomato sauce, lots of spices, and artichoke hearts. In the evening, we went to watch Waking Life. Definitely the best movie I've seen in a long time. I have had stretches of several days where I have very intense, vivid, detailed dreams of related subjects. And then I consciously say to myself, "I'm dreaming one of these again. Let's explore this world.", but then I just let the dream act itself out and I don't get around to exploring anything.
Once I had a series of dreams about being in very detailed, very big architectural spaces. One dream was of a city with extremely tall buildings covered with small, randomly-colored tiles; I was flying at the same level as the roofs of the buildings, and they had TV antennas and other sharp, pointed metallic objects on the top. Another time I was inside a castle with large stone bridges, staircases, arches, and large open spaces like huge terraces. I remember a particular image of that place, like if I had photographed it once or sketched it on paper. Perhaps I should do that and see how much of that memory is real, and how much I put in just to fill in the details in the gaps.
International Labor Day. Went with Hugo, Juanita, and Oralia's mother to the annual ice cream fair in Tláhuac. Had some pretty good guanabana and plum ice cream. The cheese flavor, however, was not good at all. Then Oralia got some soapy water and a wire ring wrapped in yarn; we had a lot of fun making soap bubbles all around Tláhuac park.
Go backward in time to April 2002.
Federico Mena-Quintero <federico@gnome.org> Wed 2002/Aug/14 11:41:04 CDT