Saturday, August 23, 2008

ysh

Ok, here's the thing

I have this fag in a whalebone corset dragging his dick across my cheek, so I thought I should share.

If you do not understand basic build jargon you're gonna be, like so bored already, so a quick sanity check: if 4.5/RC11 is the not the current candidate for the latest release you should go here

And here's the thing, it's the same thing (or slight variations) every time. What is interesting between the release 4.5/RC10 and 4.5/RC11 is the crashes due to rpm-scriptlet failure within AGB in the former, and loss of GGW to MSC link in the latter. Do you have any idea how many "diff-instance-allowed-because"-type rules you have to get through before you notice that ?

Me neither, but they are playing "The (beautiful) Tennessee Waltz", so let's find out:

You'll need some background:

We build four projects, which I'll call
  1. RGW
    • includes AGB, compiled one way
  2. GGW
    • includes an AGB compiled another way
    • also includes APG, just for spite
  3. OMC
  4. RIAS

We build on many distros which I'll call Manriva/ake, Fedora Core and CentOS.
We have versioned (and other) branches, and just behind the trunk is 4.5. And if you are suprised that the latest release candidate is 4.5/RC11 then you really should go here.

Now, here's the input thing: thousands of log lines for every release, looks like
  • cmd
    • stdout
    • stderr

I need to prove (before Monday) that (and you, if you can login here or are an auditor, can check out the proof that) "Ok look, it's not a real problem, and sorry I'm out of office till Wednesday"

No, I lied, we need to prove (before Wednesday) that, like, whatever, today on this program you will hear gospel and rhythm and blues and jazz all those are just labels we know that music is just music. Gospel, gospel,must mean that I'm living in a world of blues, gospel, ...

--
al

P.S. An amazing guitar before he ... well ... yer man in the mission. Come back Andrew. There's more to forgive.

Labels: , , , , , , , , , , , , ,

Saturday, June 09, 2007

How to not search

While reading Mindware this evening I went to get the bottle of cider for a refill. And in turning to look for it I solved half the "problem" of reaching for it.

Andy Clark makes a persuasive case for the lack of an homunculus in elaborating on the lower level connectedness of perception and action. He argues that we do not necessarily perceive, think, act; but that the action is already part of the perception - the looking at the cider bottle is already part of / makes easier the reaching for it. Hence there is already less need for the "think" in "perceive, think, act".

There is less need to conceive of "a bottle" and "how to reach for it", because looking at it has already solved a lot of that problem, and "reach for it" becomes more of a stock action - always reach forward in the direction you are looking.

So it is also with programming:

We offer our customers support via a web site and email. It is all built on the great roundup system. One of the problems we dealt with a while back was handling "Out Of Office" replies - log them and ignore them.

Lately we've installed a new email system which handles such emails differently - it does not change the subject of the email, just the message. And, naturally, the earlier solution was based just on recognising subject lines. So, I add in a few lines to try recognising such emails by their messages too. Didn't work - my inbox is still full of the things. So I need to delve deeper, specifically I want to find out why roundup is sending me these emails, so
  • cd /usr/lib/python2.4/site-packages/roundup
  • find . -name "*mail*py" -exec grep smtp {} \; -print
And there I was reaching for the cider bottle again, by looking for it. I may not have decided yet what code to write to stop those emails being sent, but when I do decide that, I won't need to decide where.

Of course, looking for the right place in the code is rarely as simple as "cd, find, grep", but as we read through reams of code, trying to understand it, we are not seeking a general understanding of the code. Rather we are specifically sieving out the data structures and algorithms irrelevant to the problem. By the time we get to where the solution wants to be, it is no wonder we have already collected the very tools needed for the fix.

One of the reasons I was looking at copycat was that I appreciated it's "biological plausibilty". And one of the biggest caveats I had about it was the huge disconnect between its Slipnet's "perception" of concepts in a string and the "action" of its codelets on the string. It tends to follow the "perceive, think, act" cycle which is downplayed by what I was reading from Clark.

Slightly related:
How to find the most pythonic implementation of the singleton pattern? Search for not singleton !

Labels: , , , , , , , , ,