Re: [BLACKBOX] Seasoned Linux.

From: [at]} <Norayr>
Date: Tue, 11 Jan 2011 22:14:53 +0400

----boundary-LibPST-iamunique-1213993355_-_-
Content-type: text/plain

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Let's take it this way.
Both Minix3 and Oberon are micro kernel operating systems.
While Minix3 is extremely slow, and Tannenbaum explains it with the
micro-kernel design, Oberon system is lighting fast, and Wirth does not
have to explain why it is slow :)
When someone will tell you that micro kernel OS should be slow, show
them Oberon and ask, why it's not
The answer is: because Oberon design is better.

Norayr Chilingarian


On 01/11/11 13:46, József Dallos wrote:
> Hi,
>
> What about MINIX 3 ?
>
> "It is irreleveant what language these services are written
> in, so long as they obey the protocol. Some of Andrew Tanenbaum's
> students are interested in re-writing some of Minix3 OS services (like
> device drivers or file systems, currently written in C) in Ocaml and
> Cyclone. He is interested in the outcome. Haskell is a good candidate
> too. It is quite instructive to compare a device driver in Haskell
> with the original C driver -- it terms of length, speed, time to
> write, number of bugs, etc. Andrew Tananbaum suggested that the
> terminal driver may be the best start, because it is
> quite stand-alone, small and its protocol is simple.
>
> With Minix, we can replace one kernel service of the
> full-fledged, working OS with the one written in Haskell -- and
> immediately see how it all works. If it doesn't, the rest of OS still
> works and so we can unload the faulty service and load another
> implementation. Minix3 does indeed offer an easy road to the OS kernel
> for a language other than C."
>
> http://www.haskell.org/pipermail/haskell/2006-June.txt
>
> "This new OS is extremely small, with the part that runs in kernel
> mode under 6000 lines of executable code. "
>
> http://www.minix3.org/
>
> Regards,
> Jozsef
>
>
> On 11 January 2011 04:17, Wojtek Skulski <skulski{([at]})nowhere.xy
>>
>> On Mon, 10 Jan 2011, Rex Couture wrote:
>>
>>> In spite of the very useful nature of a lot of modern software, I'm sure we all agree that the overall quality is somewhat disappointing.
>>
>> Very early in my project cycle I made an evaluation of "useful versus disappointing". I chose the "useful" despite knowing the "disappointing" component from my earlier encounters with Linux as a home-grown administrator. I sort of knew that getting deeper will not make my task any easier. I decided in favor of Linux, partly because an alternative is not in sight. For example, I could have adopted BlueBottle if it was running on the Blackfin processor. But it is not.
>>
>> I am now reading a few books on Linux kernel: one on Embedded Linux, another one on Linux Device Drivers, and yet another one on TCP/IP in Embedded Linux. More books are in the queue. I can rank these three books on a scale from "messy" to "unacceptable". None of the three reads well, even though Linux Device Drivers is the least terrible from the three. I am wondering, why these books give me headaches.
>>
>> I am thinking that the books reflect the basic design feature that Linux kernel has no hierarchical structure. It does have some structure, which is rather arbitrarily declared in the form of the directory tree and which files is where, and how it is named. Being mandated by humans, the rules are also freely trespassed by humans. The books make it abundantly clear that in fact there are no rules which would not have been trespassed.
>>
>> Lack of hierarchical structure makes the books "flat". It reads somewhat like this: "this is here, and that is there, and by the way something else is also there". I am finding it hard to memorize "this is here and that is there". The big picture is not emerging (yet) because I suspect there is no big picture in the Linux kernel. There are features. Some of them extremely useful. But hard to remember.
>>
>> The good news is that linux kernel is self-contained. There are no libraries in the kernel. (How many of you knew that?) The number of external references is therefore small. (Most likely there are none.) Linux kernel directory tree just sucks everything in. Whatever feature the developers have found useful, it is somewhere in the file hierarchy. It is impossible to guess, where it is possibly hiding. That's why the books are so thick.
>>
>> I should also say that Linux kernel contains many constructs which we in this group have hardly encountered: semaphores, spinlocks, work queues, tasklets, interrupt service routines, and perhaps a few more. We live in a safe world of the single-process multitasking. The Linux kernel is a dangerous place littered with critical sections. It is a bit unfair to compare the two systems without admitting the difference.
>>
>> My next task is to develop the interrupt service for my FPGA. The more I am looking into it, the more it looks like an egg to me. I am not exactly sure yet in which place I will dig the hole to get me inside the egg's shell. That's why I am reading these books.
>>
>> I can already appreciate that reading the fourth book "Inside Linux kernel" cannot be avoided, even though I hoped to never look inside.
>>
>> Wojtek
>>
>>
>> ----
>> To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
>
>
> ----
> To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNLJ4dAAoJEDbv/aplkZ1F5e0H/3GKHx4q7AEjsKVs3XGzlGdC
RCJpubzOy8033wREe6mtD9+jf7LwtH0m4qOsZTyurq56XyChc5WVuBBuyb6ZuD+t
OVlkYKFL4UGGoqSOHmGvazst7Cs/I0HGeGtdeKKVKKJ26ZTsdpkn4w7Kl4VmHKxY
YE9WWGUE5LdfZjTEJxnWOZPhx/fQZEGK1JsLM8c5+bx/3uFVddW+WUFCdF3E19mn
rK35FH7nlklMXDsit2x1T01h1228FnfgOKXlyhDpxQBvWb5+W1gmV5fwRwaJOjX/
PNh27BJHQPEpuIS0UmMRFCZE2LLPjhRHz7F3NBALRD1ncLRTWn13MAUg9VQG8R4=
=k1DQ
-----END PGP SIGNATURE-----


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1213993355_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCAtLS0tLUJFR0lOIFBHUCBTSUdO
RUQgTUVTU0FHRS0tLS0tXHBhcg0KSGFzaDogU0hBMVxwYXINClxwYXINCkxldCdzIHRha2UgaXQg
dGhpcyB3YXkuXHBhcg0KQm90aCBNaW5peDMgYW5kIE9iZXJvbiBhcmUgbWljcm8ga2VybmVsIG9w
ZXJhdGluZyBzeXN0ZW1zLlxwYXINCldoaWxlIE1pbml4MyBpcyBleHRyZW1lbHkgc2xvdywgYW5k
IFRhbm5lbmJhdW0gZXhwbGFpbnMgaXQgd2l0aCB0aGVccGFyDQptaWNyby1rZXJuZWwgZGVzaWdu
LCBPYmVyb24gc3lzdGVtIGlzIGxpZ2h0aW5nIGZhc3QsIGFuZCBXaXJ0aCBkb2VzIG5vdFxwYXIN
CmhhdmUgdG8gZXhwbGFpbiB3aHkgaXQgaXMgc2xvdyA6KVxwYXINCldoZW4gc29tZW9uZSB3aWxs
IHRlbGwgeW91IHRoYXQgbWljcm8ga2VybmVsIE9TIHNob3VsZCBiZSBzbG93LCBzaG93XHBhcg0K
dGhlbSBPYmVyb24gYW5kIGFzaywgd2h5IGl0J3Mgbm90XHBhcg0KVGhlIGFuc3dlciBpczogYmVj
YXVzZSBPYmVyb24gZGVzaWduIGlzIGJldHRlci5ccGFyDQpccGFyDQpOb3JheXIgQ2hpbGluZ2Fy
aWFuXHBhcg0KXHBhcg0KXHBhcg0KT24gMDEvMTEvMTEgMTM6NDYsIEpcJ2YzenNlZiBEYWxsb3Mg
d3JvdGU6XHBhcg0KPiBIaSxccGFyDQo+IFxwYXINCj4gV2hhdCBhYm91dCBNSU5JWCAzID9ccGFy
DQo+IFxwYXINCj4gIkl0IGlzIGlycmVsZXZlYW50IHdoYXQgbGFuZ3VhZ2UgdGhlc2Ugc2Vydmlj
ZXMgYXJlIHdyaXR0ZW5ccGFyDQo+IGluLCBzbyBsb25nIGFzIHRoZXkgb2JleSB0aGUgcHJvdG9j
b2wuIFNvbWUgb2YgQW5kcmV3IFRhbmVuYmF1bSdzXHBhcg0KPiBzdHVkZW50cyBhcmUgaW50ZXJl
c3RlZCBpbiByZS13cml0aW5nIHNvbWUgb2YgTWluaXgzIE9TIHNlcnZpY2VzIChsaWtlXHBhcg0K
PiBkZXZpY2UgZHJpdmVycyBvciBmaWxlIHN5c3RlbXMsIGN1cnJlbnRseSB3cml0dGVuIGluIEMp
IGluIE9jYW1sIGFuZFxwYXINCj4gQ3ljbG9uZS4gSGUgaXMgaW50ZXJlc3RlZCBpbiB0aGUgb3V0
Y29tZS4gSGFza2VsbCBpcyBhIGdvb2QgY2FuZGlkYXRlXHBhcg0KPiB0b28uIEl0IGlzIHF1aXRl
IGluc3RydWN0aXZlIHRvIGNvbXBhcmUgYSBkZXZpY2UgZHJpdmVyIGluIEhhc2tlbGxccGFyDQo+
IHdpdGggdGhlIG9yaWdpbmFsIEMgZHJpdmVyIC0tIGl0IHRlcm1zIG9mIGxlbmd0aCwgc3BlZWQs
IHRpbWUgdG9ccGFyDQo+IHdyaXRlLCBudW1iZXIgb2YgYnVncywgZXRjLiBBbmRyZXcgVGFuYW5i
YXVtIHN1Z2dlc3RlZCB0aGF0IHRoZVxwYXINCj4gdGVybWluYWwgZHJpdmVyIG1heSBiZSB0aGUg
YmVzdCBzdGFydCwgYmVjYXVzZSBpdCBpc1xwYXINCj4gcXVpdGUgc3RhbmQtYWxvbmUsIHNtYWxs
IGFuZCBpdHMgcHJvdG9jb2wgaXMgc2ltcGxlLlxwYXINCj4gXHBhcg0KPiBcdGFiIFdpdGggTWlu
aXgsIHdlIGNhbiByZXBsYWNlIG9uZSBrZXJuZWwgc2VydmljZSBvZiB0aGVccGFyDQo+IGZ1bGwt
ZmxlZGdlZCwgd29ya2luZyBPUyB3aXRoIHRoZSBvbmUgd3JpdHRlbiBpbiBIYXNrZWxsIC0tIGFu
ZFxwYXINCj4gaW1tZWRpYXRlbHkgc2VlIGhvdyBpdCBhbGwgd29ya3MuIElmIGl0IGRvZXNuJ3Qs
IHRoZSByZXN0IG9mIE9TIHN0aWxsXHBhcg0KPiB3b3JrcyBhbmQgc28gd2UgY2FuIHVubG9hZCB0
aGUgZmF1bHR5IHNlcnZpY2UgYW5kIGxvYWQgYW5vdGhlclxwYXINCj4gaW1wbGVtZW50YXRpb24u
IE1pbml4MyBkb2VzIGluZGVlZCBvZmZlciBhbiBlYXN5IHJvYWQgdG8gdGhlIE9TIGtlcm5lbFxw
YXINCj4gZm9yIGEgbGFuZ3VhZ2Ugb3RoZXIgdGhhbiBDLiJccGFyDQo+IFxwYXINCj4gaHR0cDov
L3d3dy5oYXNrZWxsLm9yZy9waXBlcm1haWwvaGFza2VsbC8yMDA2LUp1bmUudHh0XHBhcg0KPiBc
cGFyDQo+ICJUaGlzIG5ldyBPUyBpcyBleHRyZW1lbHkgc21hbGwsIHdpdGggdGhlIHBhcnQgdGhh
dCBydW5zIGluIGtlcm5lbFxwYXINCj4gbW9kZSB1bmRlciA2MDAwIGxpbmVzIG9mIGV4ZWN1dGFi
bGUgY29kZS4gIlxwYXINCj4gXHBhcg0KPiBodHRwOi8vd3d3Lm1pbml4My5vcmcvXHBhcg0KPiBc
cGFyDQo+IFJlZ2FyZHMsXHBhcg0KPiBKb3pzZWZccGFyDQo+IFxwYXINCj4gXHBhcg0KPiBPbiAx
MSBKYW51YXJ5IDIwMTEgMDQ6MTcsIFdvanRlayBTa3Vsc2tpIDxza3Vsc2tpQHBhcy5yb2NoZXN0
ZXIuZWR1PiB3cm90ZTpccGFyDQo+PlxwYXINCj4+IE9uIE1vbiwgMTAgSmFuIDIwMTEsIFJleCBD
b3V0dXJlIHdyb3RlOlxwYXINCj4+XHBhcg0KPj4+IEluIHNwaXRlIG9mIHRoZSB2ZXJ5IHVzZWZ1
bCBuYXR1cmUgb2YgYSBsb3Qgb2YgbW9kZXJuIHNvZnR3YXJlLCBJJ20gc3VyZSB3ZSBhbGwgYWdy
ZWUgdGhhdCB0aGUgb3ZlcmFsbCBxdWFsaXR5IGlzIHNvbWV3aGF0IGRpc2FwcG9pbnRpbmcuXHBh
cg0KPj5ccGFyDQo+PiBWZXJ5IGVhcmx5IGluIG15IHByb2plY3QgY3ljbGUgSSBtYWRlIGFuIGV2
YWx1YXRpb24gb2YgInVzZWZ1bCB2ZXJzdXMgZGlzYXBwb2ludGluZyIuIEkgY2hvc2UgdGhlICJ1
c2VmdWwiIGRlc3BpdGUga25vd2luZyB0aGUgImRpc2FwcG9pbnRpbmciIGNvbXBvbmVudCBmcm9t
IG15IGVhcmxpZXIgZW5jb3VudGVycyB3aXRoIExpbnV4IGFzIGEgaG9tZS1ncm93biBhZG1pbmlz
dHJhdG9yLiBJIHNvcnQgb2Yga25ldyB0aGF0IGdldHRpbmcgZGVlcGVyIHdpbGwgbm90IG1ha2Ug
bXkgdGFzayBhbnkgZWFzaWVyLiBJIGRlY2lkZWQgaW4gZmF2b3Igb2YgTGludXgsIHBhcnRseSBi
ZWNhdXNlIGFuIGFsdGVybmF0aXZlIGlzIG5vdCBpbiBzaWdodC4gRm9yIGV4YW1wbGUsIEkgY291
bGQgaGF2ZSBhZG9wdGVkIEJsdWVCb3R0bGUgaWYgaXQgd2FzIHJ1bm5pbmcgb24gdGhlIEJsYWNr
ZmluIHByb2Nlc3Nvci4gQnV0IGl0IGlzIG5vdC5ccGFyDQo+PlxwYXINCj4+IEkgYW0gbm93IHJl
YWRpbmcgYSBmZXcgYm9va3Mgb24gTGludXgga2VybmVsOiBvbmUgb24gRW1iZWRkZWQgTGludXgs
IGFub3RoZXIgb25lIG9uIExpbnV4IERldmljZSBEcml2ZXJzLCBhbmQgeWV0IGFub3RoZXIgb25l
IG9uIFRDUC9JUCBpbiBFbWJlZGRlZCBMaW51eC4gTW9yZSBib29rcyBhcmUgaW4gdGhlIHF1ZXVl
LiBJIGNhbiByYW5rIHRoZXNlIHRocmVlIGJvb2tzIG9uIGEgc2NhbGUgZnJvbSAibWVzc3kiIHRv
ICJ1bmFjY2VwdGFibGUiLiBOb25lIG9mIHRoZSB0aHJlZSByZWFkcyB3ZWxsLCBldmVuIHRob3Vn
aCBMaW51eCBEZXZpY2UgRHJpdmVycyBpcyB0aGUgbGVhc3QgdGVycmlibGUgZnJvbSB0aGUgdGhy
ZWUuIEkgYW0gd29uZGVyaW5nLCB3aHkgdGhlc2UgYm9va3MgZ2l2ZSBtZSBoZWFkYWNoZXMuXHBh
cg0KPj5ccGFyDQo+PiBJIGFtIHRoaW5raW5nIHRoYXQgdGhlIGJvb2tzIHJlZmxlY3QgdGhlIGJh
c2ljIGRlc2lnbiBmZWF0dXJlIHRoYXQgTGludXgga2VybmVsIGhhcyBubyBoaWVyYXJjaGljYWwg
c3RydWN0dXJlLiBJdCBkb2VzIGhhdmUgc29tZSBzdHJ1Y3R1cmUsIHdoaWNoIGlzIHJhdGhlciBh
cmJpdHJhcmlseSBkZWNsYXJlZCBpbiB0aGUgZm9ybSBvZiB0aGUgZGlyZWN0b3J5IHRyZWUgYW5k
IHdoaWNoIGZpbGVzIGlzIHdoZXJlLCBhbmQgaG93IGl0IGlzIG5hbWVkLiBCZWluZyBtYW5kYXRl
ZCBieSBodW1hbnMsIHRoZSBydWxlcyBhcmUgYWxzbyBmcmVlbHkgdHJlc3Bhc3NlZCBieSBodW1h
bnMuIFRoZSBib29rcyBtYWtlIGl0IGFidW5kYW50bHkgY2xlYXIgdGhhdCBpbiBmYWN0IHRoZXJl
IGFyZSBubyBydWxlcyB3aGljaCB3b3VsZCBub3QgaGF2ZSBiZWVuIHRyZXNwYXNzZWQuXHBhcg0K
Pj5ccGFyDQo+PiBMYWNrIG9mIGhpZXJhcmNoaWNhbCBzdHJ1Y3R1cmUgbWFrZXMgdGhlIGJvb2tz
ICJmbGF0Ii4gSXQgcmVhZHMgc29tZXdoYXQgbGlrZSB0aGlzOiAidGhpcyBpcyBoZXJlLCBhbmQg
dGhhdCBpcyB0aGVyZSwgYW5kIGJ5IHRoZSB3YXkgc29tZXRoaW5nIGVsc2UgaXMgYWxzbyB0aGVy
ZSIuIEkgYW0gZmluZGluZyBpdCBoYXJkIHRvIG1lbW9yaXplICJ0aGlzIGlzIGhlcmUgYW5kIHRo
YXQgaXMgdGhlcmUiLiBUaGUgYmlnIHBpY3R1cmUgaXMgbm90IGVtZXJnaW5nICh5ZXQpIGJlY2F1
c2UgSSBzdXNwZWN0IHRoZXJlIGlzIG5vIGJpZyBwaWN0dXJlIGluIHRoZSBMaW51eCBrZXJuZWwu
IFRoZXJlIGFyZSBmZWF0dXJlcy4gU29tZSBvZiB0aGVtIGV4dHJlbWVseSB1c2VmdWwuIEJ1dCBo
YXJkIHRvIHJlbWVtYmVyLlxwYXINCj4+XHBhcg0KPj4gVGhlIGdvb2QgbmV3cyBpcyB0aGF0IGxp
bnV4IGtlcm5lbCBpcyBzZWxmLWNvbnRhaW5lZC4gVGhlcmUgYXJlIG5vIGxpYnJhcmllcyBpbiB0
aGUga2VybmVsLiAoSG93IG1hbnkgb2YgeW91IGtuZXcgdGhhdD8pIFRoZSBudW1iZXIgb2YgZXh0
ZXJuYWwgcmVmZXJlbmNlcyBpcyB0aGVyZWZvcmUgc21hbGwuIChNb3N0IGxpa2VseSB0aGVyZSBh
cmUgbm9uZS4pIExpbnV4IGtlcm5lbCBkaXJlY3RvcnkgdHJlZSBqdXN0IHN1Y2tzIGV2ZXJ5dGhp
bmcgaW4uIFdoYXRldmVyIGZlYXR1cmUgdGhlIGRldmVsb3BlcnMgaGF2ZSBmb3VuZCB1c2VmdWws
IGl0IGlzIHNvbWV3aGVyZSBpbiB0aGUgZmlsZSBoaWVyYXJjaHkuIEl0IGlzIGltcG9zc2libGUg
dG8gZ3Vlc3MsIHdoZXJlIGl0IGlzIHBvc3NpYmx5IGhpZGluZy4gVGhhdCdzIHdoeSB0aGUgYm9v
a3MgYXJlIHNvIHRoaWNrLlxwYXINCj4+XHBhcg0KPj4gSSBzaG91bGQgYWxzbyBzYXkgdGhhdCBM
aW51eCBrZXJuZWwgY29udGFpbnMgbWFueSBjb25zdHJ1Y3RzIHdoaWNoIHdlIGluIHRoaXMgZ3Jv
dXAgaGF2ZSBoYXJkbHkgZW5jb3VudGVyZWQ6IHNlbWFwaG9yZXMsIHNwaW5sb2Nrcywgd29yayBx
dWV1ZXMsIHRhc2tsZXRzLCBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lcywgYW5kIHBlcmhhcHMg
YSBmZXcgbW9yZS4gV2UgbGl2ZSBpbiBhIHNhZmUgd29ybGQgb2YgdGhlIHNpbmdsZS1wcm9jZXNz
IG11bHRpdGFza2luZy4gVGhlIExpbnV4IGtlcm5lbCBpcyBhIGRhbmdlcm91cyBwbGFjZSBsaXR0
ZXJlZCB3aXRoIGNyaXRpY2FsIHNlY3Rpb25zLiBJdCBpcyBhIGJpdCB1bmZhaXIgdG8gY29tcGFy
ZSB0aGUgdHdvIHN5c3RlbXMgd2l0aG91dCBhZG1pdHRpbmcgdGhlIGRpZmZlcmVuY2UuXHBhcg0K
Pj5ccGFyDQo+PiBNeSBuZXh0IHRhc2sgaXMgdG8gZGV2ZWxvcCB0aGUgaW50ZXJydXB0IHNlcnZp
Y2UgZm9yIG15IEZQR0EuIFRoZSBtb3JlIEkgYW0gbG9va2luZyBpbnRvIGl0LCB0aGUgbW9yZSBp
dCBsb29rcyBsaWtlIGFuIGVnZyB0byBtZS4gSSBhbSBub3QgZXhhY3RseSBzdXJlIHlldCBpbiB3
aGljaCBwbGFjZSBJIHdpbGwgZGlnIHRoZSBob2xlIHRvIGdldCBtZSBpbnNpZGUgdGhlIGVnZydz
IHNoZWxsLiBUaGF0J3Mgd2h5IEkgYW0gcmVhZGluZyB0aGVzZSBib29rcy5ccGFyDQo+PlxwYXIN
Cj4+IEkgY2FuIGFscmVhZHkgYXBwcmVjaWF0ZSB0aGF0IHJlYWRpbmcgdGhlIGZvdXJ0aCBib29r
ICJJbnNpZGUgTGludXgga2VybmVsIiBjYW5ub3QgYmUgYXZvaWRlZCwgZXZlbiB0aG91Z2ggSSBo
b3BlZCB0byBuZXZlciBsb29rIGluc2lkZS5ccGFyDQo+PlxwYXINCj4+IFdvanRla1xwYXINCj4+
XHBhcg0KPj5ccGFyDQo+PiAtLS0tXHBhcg0KPj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNz
YWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9O
LkNIXHBhcg0KPiBccGFyDQo+IFxwYXINCj4gLS0tLVxwYXINCj4gVG8gdW5zdWJzY3JpYmUsIHNl
bmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElT
VFMuT0JFUk9OLkNIXHBhcg0KPiBccGFyDQpccGFyDQotLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUt
LS0tLVxwYXINClZlcnNpb246IEdudVBHIHYyLjAuMTYgKEdOVS9MaW51eClccGFyDQpDb21tZW50
OiBVc2luZyBHbnVQRyB3aXRoIE1vemlsbGEgLSBodHRwOi8vZW5pZ21haWwubW96ZGV2Lm9yZy9c
cGFyDQpccGFyDQppUUVjQkFFQkFnQUdCUUpOTEo0ZEFBb0pFRGJ2L2FwbGtaMUY1ZTBILzNHS0h4
NHE3QUVqc0tWczNYR3psR2RDXHBhcg0KUkNKcHViek95ODAzM3dSRWU2bXREOStqZjdMd3RIMG00
cU9zWlR5dXJxNTZYeUNoYzVXVnVCQnV5YjZadUQrdFxwYXINCk9WbGtZS0ZMNFVHR29xU09IbUd2
YXpzdDdDcy9JMEhHZUd0ZGVLS1ZLS0oyNlpUc2Rwa240dzdLbDRWbUhLeFlccGFyDQpZRTlXV0dV
RTVMZGZaalRFSnhuV09aUGh4L2ZRWkVHSzFKc0xNOGM1K2J4LzN1RlZkZFcrV1VGQ2RGM0UxOW1u
XHBhcg0KckszNUZIN25sa2xNWERzaXQyeDFUMDFoMTIyOEZuZmdPS1hseWhEcHhRQnZXYjUrVzFn
bVY1ZndSd2FKT2pYL1xwYXINClBOaDI3QkpIUVBFcHVJUzBVbU1SRkNaRTJMTFBqaFJIejdGM05C
QUxSRDFuY0xSVFduMTNNQVVnOVZRRzhSND1ccGFyDQo9azFEUVxwYXINCi0tLS0tRU5EIFBHUCBT
SUdOQVRVUkUtLS0tLVxwYXINClxwYXINClxwYXINCi0tLS1ccGFyDQpUbyB1bnN1YnNjcmliZSwg
c2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0byBMSVNUU0VSVkBM
SVNUUy5PQkVST04ufX0Ab2YgaGF2
----boundary-LibPST-iamunique-1213993355_-_---
Received on Tue Jan 11 2011 - 19:14:53 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:20 UTC