Skip to main content

Ralsina.Me — Roberto Alsina's website

History of KDE: A generous offer...

Back in oc­to­ber of 1996, when ev­ery­one was sav­ing for the fly­ing car we would buy in 5 years, and KDE was start­ing, slow­ly, to take shape in the minds of a few.... there was a gen­er­ous of­fer­...

Matthias Ettrich (ettr...@ti-ibm03.informatik.uni-tuebingen.de) wrote:*
>         -------------------------------------------
>         New Project: Kool Desktop Environment (KDE)
>         -------------------------------------------
>
>                     Programmers wanted!

Freedom Software would be willing to contribute with
the source code of Freedom Desktop Light for this effort.
Please don't subestimate the task of building a
desktop manager. Several Years have been spent building
Freedom Desktop.  We could also contribute with
other pieces of technology (i.e Freedom Rt - Object oriented
toolkit). For more information about Freedom Desktop,
please visit http://www.fsw.com

Freedom Software is about to announce a free version
of the software for Linux (personal use only). This version
is called Freedom Desktop Light for Linux.

If I were you, I wouldn't restrict the project to a specific
toolkit (at least for now). There are many pieces of public
software that can be reused easily. It could take a long
time to rebuild everything from scratch. Try to reuse
the more you can now. You can standarize on a single
toolkit later.

Also keep in mind that Motif  is the defacto standard.
Most Unix platform ship with Motif. It would be nice
if your desktop work on all the versions of Unix

Edgar Galvis
Freedom Software
http://www.fsw.com/motif.html - Home of Freedom Desktop for Motif
supp...@freedom.lm.com

UP­DATE: I had not both­ered check­ing, but free­dom desk­top's site has been avail­able un­til very re­cent­ly. There is still some­thing in the in­ter­net archive, too.

A day at the movies (March 21, 2007)

I have this agree­ment with Rosar­i­o: we will go to the movies to­geth­er. But not, un­der any cir­cun­stances, to see some­thing like Crank.

So, on wednes­days (cheap tick­et­s, yipee!) if I am down­town, I will go see that kind of things.

Two weeks ago, it was Rocky Bal­boa. Yes­ter­day it was Crank.

Crank

This is a spe­cial movie. It may seem on the sur­face to be an or­di­nary brain­less ac­tion/vi­o­lence/­sex spec­ta­cle, the kind many take for grant­ed nowa­days. How­ev­er, there are some things noone thinks about when watch­ing it.

When I was a kid, this movie's cin­e­matog­ra­phy would have been im­pos­si­ble. It shows how ac­tion films made 20 (maybe 10) years ago look cheap to­day, be­cause tech­ni­cal ad­vance has been mas­sive.

The script may be dum­b, and med­i­cal­ly in­com­pre­hen­si­ble (like the al­ter­na­tive us­es of ephedrine and ep­i­neph­rine for the same thing. They are not.), but you know what? It's an ex­cuse to have a guy that can't stop. The movie is about a bad guy that can't stop, not about "Haitian hard­core shit. Made of plant shit, man!". Come on, is ra­dioac­tive spi­der bite any bet­ter? Or brain cloud in Joe ver­sus the Vol­cano any bet­ter? (Ok, bad ex­am­ple there).

No one com­plains that Spidey makes no sense. Or that Kong is too large. And that's OK. Then why is the idea of a guy that needs con­stant adren­a­line stupid?

I think that this movie is seen as stupid speaks more about how many things we have al­ready seen. This is not even the first movie about a poi­soned char­ac­ter guar­an­teed to die look­ing for re­venge I saw (That would be D.O.A. which is ac­tu­al­ly a pret­ty de­cent movie).

Look at ac­tion movies like Die Hard. Is it any less stupid? Maybe (and maybe not). But it was there first.

And at least Crank does­n't take it­self too se­ri­ous­ly.

As a bonus, it con­tains the best spo­ken-­por­trait-that-look­s-just-­like-the-guy-scene ev­er.

BTW: it's re­al­ly not a good movie.

Rocky Bal­boa

Warn­ing: this be­low is a lit­tle per­son­al, ram­bling, and prob­a­bly not a movie re­view.

You can make a case for this ac­tu­al­ly be­ing a good movie. It may not get all the way there, but it's a de­cent job, done by com­pe­tent crafts­men. You have to con­sid­er the movie as part of a larg­er thing, the sports movie genre. In par­tic­u­lar, the box­ing movie.

Ev­ery­one has seen them ... Un­der­dog ... Long Odds ... Train­ing Mon­tage ... Fi­nal Fight .. Last Round ... it's al­most like the con­ven­tions lie be­sides con­ven­tion­al nar­ra­tive, just a se­ries of clich­es wait­ing for you, com­ing at you like a riv­er. You can hear the up­per case ini­tials like waves ham­mer­ing at your tem­ples.

But I have many soft spot­s. And one of them is for box­ing, and it's for pure­ly per­son­al, sub­jec­tive, un­de­fen­si­ble rea­son­s.

My dad had a stroke many years ago. He was al­ways a dry man. Af­fec­tion with him was not ex­act­ly a sim­ple mat­ter. We had very lit­tle in com­mon.

But on late fri­day nights we would watch the fight­s. We would talk about them, he with the dif­fi­cul­ty of not be­ing used to talk to me, lat­er that of the hemi­plegic, me with the dif­fi­cul­ty of talk­ing to him.

Af­ter a while, I start­ed liv­ing alone, but kept watch­ing the fight­s, and when I vis­it­ed him, we would do it to­geth­er. Un­til Ben­n-M­c­Clel­lan, which cured me from any en­joy­ment of box­ing I ev­er had.

But I can still ap­pre­ci­ate ex­act­ly how hard box­ing is. Any sport at a high lev­el re­quires skills I don't have, and is hard. Now think about prac­tic­ing a sport (Any sport. Fig­ure skat­ing, if you will!) while an­oth­er guy, just as strong and quick as you is try­ing to beat the crap out of you. That's box­ing. You are not go­ing to con­vince me there is any­thing hard­er in sports (ex­cept maybe some oth­er com­bat sport).

And Rocky Bal­boa is a tale about a guy whose heart is so bro­ken he can on­ly think about that skill he used to have, and he gets a mirac­u­lous chance at do­ing that again, and it's a god­damn fairy tale, and noth­ing else, but I know how the eyes of a guy who would die, who would kill for a chance at do­ing some­thing he can't pos­si­bly do look like.

And that kills me. And this movie killed me. And I got shiv­ers at the end. And I am a goof­bal­l.

Finally a half-decent look for this

I spent an­oth­er cou­ple of hours tweak­ing the blog tem­plates, and the lat­est is half-rea­son­able. Still a few prob­lem­s:

  • The ban­n­er is very ug­­ly on IE

  • Stuff is mis­­aligned (too much margin/­­padding tweak­ing)

But hey, it work­s, and it looks ok, which is more than the usu­al.

I am al­so try­ing feed­burn­er's site stats ser­vice, which is pret­ty de­cen­t.

Official RaSPF page

Ok, time to go a lit­tle more pub­lic with this.

Here's a page for it (click on "read more") and I will ask the open­spf guys to put it on the im­ple­men­ta­tions list (let's see how that goes).

RaSPF on its way to release

I have been able to work some more on RaSPF and the re­sults are en­cour­ag­ing.

Thanks to val­grind and test suites, I am pret­ty con­fi­dent it does­n't leak mem­o­ry, or at least, that it does­n't leak ex­cept on very rare cas­es.

I think I found a neat way to sim­pli­fy mem­o­ry man­age­men­t, though, and that's what I want­ed to men­tion.

This is prob­a­bly triv­ial for ev­ery­one read­ing, but I am a lim­it­ed C pro­gram­mer, so when­ev­er some­thing works un­ex­pect­ed­ly right, I am hap­py ;-)

One prob­lem with C mem­o­ry man­age­ment is that if you have many ex­it points for your func­tion­s, re­leas­ing ev­ery­thing you al­lo­cate is rather an­noy­ing, since you may have to do it in sev­er­al dif­fer­ent lo­ca­tion­s.

I com­pound­ed this prob­lem be­cause I am us­ing ex­cep­tions (yeah, C does­n't have them. I used this).

Now not on­ly do I have my re­turns but al­so my throws and what­ev­er un­caught throw some­thing I called has!

Hel­l, right?

Nope: what ex­cep­tions com­pli­cat­ed, ex­cep­tions fixed. Look at this func­tion:

bstring spf_query_get_explanation(spf_query *q, bstring spec)
{
    bstring txt=0;
    struct bstrList *l=0;
    bstring expanded=0;
    bstring result=0;
    struct tagbstring s=bsStatic("");

    try
    {
        // Expand an explanation
        if (spec && spec->slen)
        {
            expanded=spf_query_expand(q,spec,1);
            l=spf_query_dns_txt(q,expanded);

            if (l)
            {
                txt=bjoin(l,&s);
            }
            else
            {
                txt=bfromcstr("");
            }
            result=spf_query_expand(q,txt,0);
            throw(EXC_OK,0);
        }
        else
        {
            result=bfromcstr("explanation: Required option is missing");
            throw(EXC_OK,0);
        }
    }
    except
    {
        if(expanded) bdestroy(expanded);
        if(txt) bdestroy(txt);
        if(l) bstrListDestroy(l);
        on (EXC_OK)
        {
            return result;
        }
        if(result) bdestroy(result);
        throw(EXCEPTION.type,EXCEPTION.param1);
    }
}

It does­n't mat­ter if spf_­query_­ex­pand or spf_­query_dns_txt throw an ex­cep­tion, this will not leak.

Nice, I think :-)