
Since it took me more than one hour to figure out (and the documentation wasn't too helpful), here's how to enumerate audio devices in GStreamer:
import gst
sink=gst.element_factory_make("pulsesink","mysink")sink.probe_property_name("device")
devs = sink.probe_get_values_name("device")
Note that for some drivers (such as pulse) you explicitely need to call
probe first, before you can get values. Also note that the ALSA module
apparently only enumerates hardware devices, which probably is a bug in the
module (according to Lennart's blog, you should use snd_device_name_hint which seems to be the only function to get all the ALSA devices, including software devices such as dmix or the pulse linking module).
Can anybody point me to a beginners tutorial for running PyGTK on OS X?
I've written this little BPM tap program in PyGTK, that gives you a speed plot and confidence interval, works well for me.
A friend of mine would like to use it, but is running OS X, and doesn't know much about computers. I know next to nothing about OS X. I know it already has Python2.5 installed, and that's about it.
So anyone got a tutorial that doesn't require previous knowlege about using fink, ports or whatever? Something that I can point a real novice user to?
Via email please, my blog intentionally doesn't have comments. Erich AT Debian DOT org.
[Update: so far, I've only had requests about my bpm toy and about the same kind of instructions, but no links to refer people to...]
Es kursierte groß durch die Presse: der vermeintliche Datendiebstahl durch den geheime Bankdaten war in Wirklichkeit nur ein Weihnachtsstollen-Diebstahl?!?
Da wird uns ein sehr halbschares Märchen verkauft:
So mal zum langsam mitdenken: Damit der gestohlene Stollen nicht auffällt, haben sie das Etikett auf ein anderes Paket geklebt?
Was für ein Paket wird den eher vermisst, ein Stollen oder Bankdaten?!?
Sorry, aber das Umkleben des Etiketts ist mit die dümmste Idee wie sie den Diebstahl haben vertuschen können... statt dass ein unwichtiges Paket fehlt, fehlt jetzt ein Paket und ein anderes kommt beim falschen Empfänger an - damit machen sie doch nur noch mehr darauf aufmerksam!
Für wie dumm halten sie uns eigentlich? Bloß weil Weihnachten ist und die Geschichte niedlich sollen wir blöd genug sein sie zu glauben?
I've been at my new job for almost four months now. After I had completed my
degree, my advisors at the university quickly offered me a position. When I
heard back e.g. from Google where I had submitted an application, I had already
started my new job.
So from my current point of view it was the best thing to do:
I've become a Facebook user. Caused by many of my dancing friends and lots of collegues from university being there: Facebook is a convenient and easy way to keep some contact with all those people that aren't like your core friends, but still friends, and that are all around the world.
I've also toyed around with the Facebook API, and actually written two small applications for it. From a technical point of view, I'm actually quite impressed by Facebook.
Yes, Facebook seems to have quite some load trouble these days. Sometimes it's very slow. Sometimes it just malfunctions (with being kicked out and having to re-login being just the least). These days, messages were distorted every now and then, some app messages were always missing the last few words.
What seriously does impress me is the architecture they use with third party applications. It's designed around cachability (so profile pages aren't slowed down by slow or broken third party applications) and they do jump some hoops to allow application writers do a lot of things while preventing them to disturb other applications or the core functionality.
For all I know, Facebook is the first major thing to do CSS and JavaScript rewriting. Data produced by third party applications is fed through a very smart parser and rewriter that allows an impressively large subset of CSS and JavaScript to be used without the developers having to pay attention to not producing conflicts. In CSS, rules are prefixed with a selector to restrict them to their applications scope. In JavaScript, object references are uniquified, and the convenience functions you have for interacting and accessing nodes (including functions to do common things such as modify CSS class assignments) take care of all that. Access to the raw JavaScript methods is filtered, so you can't e.g. use parentNode to get access to objects outside of your scope. At least in theory.
Much of this is for the benefit of users: applications are not allowed to do annoying animations unless the user has just interacted with them; apps also can't modify or disturb others, or read data from other applications via DOM.
Well, of course there might be one or another security issue still there; some of these things might also be related to the performance issues of Facebook recently. And of course there are bugs. Lots. A couple of things still need to be thought through properly (e.g. aggregation of feed messages with multiple targets, localization functionality for applications, finer grained control of data access). But their CSS and JavaScript rewriting is really cool.