[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

two days ago

Filed under: General — Thomas @ 12:25

2007-09-16
12:25

I was 31, and enjoying the Gorki/Gorky concert from start to finish. I was impressed how well they were able to bring the songs back. Obviously, they invited some friend musicians along to create the sound, but they pulled it off incredibly well. I was hoping he'd treat the songs with respect and fearing he would be repeating his by-now a little overdone act, but he landed somewhere in between. Aside from his banter, the songs themselves survived unscathed. Arme Jongen, Geef al je geld aan de arme kinderen, they still gave me goosebumps.

On top of that, after playing the whole album, they not only played the songs I was hoping for (in excellent versions as well), but they played two more songs off that rehearsal tape I had. He played them with the original line-up (since, after their first album, the singer fired the rest of the band and started anew) don't know if they played the songs as if they were demos on purpose, but it was incredibly amusing. He announced them as "these are some songs that we never put out on disc back in the day" and I think he wanted to show the audience why :) There were some other people around that shouted the lyrics, so I guess there were more early day fans. But really, when lyrics go "Ik heb kilo's artisjokken harde brokken oude sokken", then you can only agree with not having them on a disc.

He also threw in "Ria", one of the songs I wasn't expecting because it was from the second album period IIRC. And that was that. Left me and Jeremy with a huge grin on our face. Afterwards, there was an interview, and they closed it with him singing "Please let me get what I want" by the Smiths. I wish he'd play more covers, his voice and approach to those songs transform them into his own songs. I once saw him take on "Love will tear us apart" in his own style, and it had the perfect mix of humor, irony and sadness that all his best songs have.

Enough with the gushing for the next 15 years - I will leave you with a quote from a magazine the week before this show:
The real reason we're doing it is because we can go into their studio and drink up their fridges. Years from now, if they'll ask me "Vos, why did you do it all", I'll be able to say: "I did it for a fistful of bonnekes".

En al die shit
waar je vroeger van dacht
"dat wordt nog wat"
dat wordt nooit wat

The good, the bad, and the ugly

Filed under: General — Thomas @ 21:59

2007-09-13
21:59

When I tried to play common audio and video files, such as MP3 songs, I was told I had to first download special files called codecs that are built into Windows and Mac computers. I was warned that some of these codecs might be “bad” or “ugly.”

From this article

I laughed out loud when I read this - it's amusing that these names I settled on for the GStreamer plug-ins have made their way into a pundit review, by accident. In hindsight, I still think it's one of the best things I did as a GStreamer release manager. By and large, the good and ugly plug-ins are good quality, and the bad ones get new stuff in quickly, and people seem to complain less about crashes in bad plugins because they got what they asked for (though they complain more, obviously, about plugins not moving to good fast enough). For reference, Here's the story behind the names.

We don't call them ugly because we like them less. Does a mother love her son less because he's not as pretty as the other ones ? No - she commends him on his great personality.

python and GStreamer questions

Filed under: General,Python — Thomas @ 23:21

2007-09-09
23:21

Josep had a GStreamer problem last Friday and really really wanted to bug me about it because everyone else he usually bugs about them is gone :) Julien was at IBC, Andy is doing an Andy, Mike is in the US, Zaheer is in London, and Jan is in Ireland. All with varying degrees of longetivity and permanence.

Now, I've hardly done any code with GStreamer for a while, but I helped him trawl through the log file he gave me until we found a likely symptom for his problem. He went away again then came back later asking me to check his theory about the bug.

Not to bore you with details, but it boiled down to a simple question he had: does gst_buffer_create_sub() set the master buffer's caps on the subbuffers it creates or not ?

Well, first of all, I have no idea. Second, why does he ask me, he's been working here for a year now so he should be able to find his way around GStreamer - but that's a post for a different day. Third, it's likely that the answer is in the documentation.

But most of all, why don't you just give it a try ?

He looked at me, puzzled, so I fired up an ipython shell. He said "Well, I don't know Python", and I replied "then it's time you give it a try, because you're about to get the answer to the question you asked me".

I could finish of the post here and lead you to believe that it's really easy to figure out the answer using ipython, but I'm guessing there might be more people out there who need a simple example to realize the power of trying things in ipython. So here goes - I'm pasting my session verbatim, mistakes and all, with comments in italics.


[thomas@level ~]$ ipython
import Python 2.5 (r25:51908, Apr 10 2007, 10:27:40)
Type "copyright", "credits" or "license" for more information.


IPython 0.7.2 -- An enhanced Interactive Python.
? -> Introduction to IPython's features.
%magic -> Information about IPython's 'magic' % functions.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.


In [1]: import gst

I'd like to do things with GStreamer, please.


In [2]: gst = gst.Bu

Let's hit TAB and see what pops out.


gst.Buffer gst.Bus gst.BusSyncReply
gst.BufferFlag gst.BusFlags

Let's type f, hit TAB and see what pops out.


In [2]: gst = gst.Buf
gst.Buffer gst.BufferFlag

Alright, I want a buffer.


In [2]: gst = gst.Buffer()


In [3]: caps = gst.caps_from_string('audio/x-raw-int,channels=2')

Let's make some caps to set on the buffer.
---------------------------------------------------------------------------
<type 'exceptions.AttributeError'>        Traceback (most recent call last)

/home/thomas/<ipython console> in <module>()

<type 'exceptions.AttributeError'>: 'gst.Buffer' object has no attribute 'caps_from_string'
What, is my GStreamer copy borked again ?
In [4]: caps = gst.caps_from_string('audio/x-raw-int,channels=2')
---------------------------------------------------------------------------
<type 'exceptions.AttributeError'>        Traceback (most recent call last)

/home/thomas/<ipython console> in <module>()

<type 'exceptions.AttributeError'>: 'gst.Buffer' object has no attribute 'caps_from_string'
Oh, God, I should have slept last night, twat that I am. I created a buffer and bound it to the 'gst' variable that was holding my module.


In [5]: import gst

Let's try this importing again, create a buffer and caps, and set caps on the buffer.

In [6]: b = gst.Buffer()


In [7]: caps = gst.caps_from_string('audio/x-raw-int,channels=2')

In [8]: b.set_caps(caps)

In [9]: b
Out[9]: <gst .Buffer 0x9980c0 of size 0>
In [10]: b.caps
Out[10]: <gstcaps at 0x927140>


In [11]: b.caps.to_string()
Out[11]: 'audio/x-raw-int, channels=(int)2'

All good so far, except... it's not going to work well to create a sub-buffer from a buffer of size 0.


In [12]: b = gst.Buffer('kakapipi')

Let's create a new buffer, and fill it with data that would make Peter proud.
In [13]: b
Out[13]: <gst .Buffer 0x998140 of size 8 and data 0x6b616b61>
Much better, a real buffer.


In [14]: b.set_caps(caps)


In [15]: c = b.create_sub(2, 4)

Now, let's create our sub buffer.
In [16]: c
Out[16]: <gst .Buffer 0x9981c0 of size 4 and data 0x6b617069>


In [17]: c.caps

Look ma, no caps!
In [18]: c.caps.to_string()
---------------------------------------------------------------------------
<type 'exceptions.AttributeError'>        Traceback (most recent call last)

/home/thomas/<ipython console> in <module>()

<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'to_string'
Seriously, there are no caps on the subbuffer.

So there's Josep's answer. I hope this makes getting answers from GStreamer easier for some people out there.

On a slightly related note, why is it so hard to copy and paste code or output in WordPress ? I've installed the code markup plug-in, disabled the advanced editor like it asked, and it still insisted on pretending anything in angle brackets was a tag that it then had to close, explicitly, in my text.

Finally

Filed under: General — Thomas @ 17:31

2007-09-07
17:31

I have a word for that thing I do to Kristien that annoys the hell out of her (well, one of the many)

I am going to jennif you forever baby.

Art Brut

Filed under: General — Thomas @ 14:42

2007-09-06
14:42

To every girl that's ever been with me

I got over you all ! ... eventually 

"People in Love"

« Previous PageNext Page »
picture