My first real-world Nice experience: impressions and proposals

"Yauheni Akhotnikau" <[email protected]> Sun, 03 Feb 2008 14:57:26 +0300
Newsgroups gmane.comp.lang.nice.general
Organization Intervale
Message-ID <[email protected]>
SGkhCgpJ4oCZdmUgZG9uZSBteSBmaXJzdCBOaWNlIHByb2dyYW0gd2hpY2ggcGVyZm9ybXMgcmVh
bC13b3JsZCB0YXNrLiBJdCBpcyBhICAKcXVpY2sgYW5kIGRpcnR5IHByb2dyYW0gd3JpdHRlbiBm
b3Igc29sdmluZyBvbmUgb2YgdW5leHBlY3RlZCBwcm9ibGVtIGluICAKbXkgd29yay4gVGhlIHBy
b2dyYW0gcmVhZHMgbG9nIG9mIFNNUFAgZGF0YSBleGNoYW5nZXMgZnJvbSB0aGUgc3RhbmRhcmQg
IAppbnB1dCwgc2VhcmNoZXMgbG9nIHJlY29yZHMgZm9yIFNNUyBleGNoYW5nZXMsIGFuYWx5emVz
IFNNUyBib2RpZXMgYW5kICAKZGV0ZWN0cyBiYWQgbWVzc2FnZSBib2RpZXMuIEkgaW1wbGVtZW50
ZWQgdGhlIHNhbWUgdGFzayBzb21lIHRpbWUgYWdvIGluIEQgIAoxLjAgKHdpdGggVGFuZ28gbGli
cmFyeSkgYW5kIEVpZmZlbCAod2l0aCBFaWZmZWxTdHVkaW8gNi4wKS4gU28gaXQgaXMgIAppbnRl
cmVzdGluZyB0byBjb21wYXJlIHNvbHV0aW9ucyBvbiBkaWZmZXJlbnQgbGFuZ3VhZ2VzLiBNeSBO
aWNlICAKaW1wbGVtZW50YXRpb24gY291bGQgYmUgZm91bmQgaGVyZTogIApodHRwOi8vZWFvMTk3
Lm5hcm9kLnJ1L2JldHRlcl9sYW5ndWFnZS90ZXN0X3Rhc2tzL2RlY29kZV83Yml0X2JvZGllcy9k
ZWNvZGVfN2JpdF9ib2RpZXMubmljZS5odG1sCgpIZXJlIEkgd2FudCB0byB0ZWxsIGFib3V0IHNv
bWUgbXkgaW1wcmVzc2lvbnMgYW5kIG1ha2Ugc29tZSBwcm9wb3NhbHMgZm9yICAKTmljZSBsYW5n
dWFnZSBhbmQgaXRzIHN0YW5kYXJkIGxpYnJhcnkuCgpGaXJzdCBvZiBhbGwgSSB3YW50IHRvIGV4
cHJlc3MgbXkgYWRtaXJhdGlvbiBhYm91dCBEYW5pZWwgQm9ubmlvdCBhbmQgIApvdGhlcnMgTmlj
ZeKAmXMgY29udHJpYnV0b3LigJlzIHdvcmsg4oCTIHlvdeKAmXZlIG1hZGUgdmVyeSBhdHRyYWN0
aXZlIGFuZCB1c2FibGUgIApsYW5ndWFnZSEgVGhhbmtzIGZvciB5b3VyIGVmZm9ydHMhCgpNeSBO
aWNlIHNvbHV0aW9uIGlzIHZlcnkgc2ltaWxhciB0byBE4oCZcyBvbmUuIFRoZXNlIGxhbmd1YWdl
cyBwcm9wb3NlICAKc2ltaWxhciBzZXQgb2YgZmVhdHVyZXMgZm9yIHVzZXIuIEQgbGFuZ3VhZ2Ug
aXMgbW9yZSBhY3RpdmVseSBkZXZlbG9wZWQgIApub3cgYW5kIGhhcyBiaWdnZXIgY29tbXVuaXR5
IHRoYW4gTmljZS4gSG93ZXZlciBOaWNlIGlzIG1vcmUgYXR0cmFjdGl2ZSAgCmZvciBtZSBiZWNh
dXNlIGl0IG9mZmVycyBzb21lIGZlYXR1cmVzIHdoaWNoIEkgbWlzcyBpbiBEIChmb3IgZXhhbXBs
ZSwgIApvcHRpb24gdHlwZXMsIG11bHRpIG1ldGhvZHMpIGFuZCBwcm92aWRlcyBhY2Nlc3MgdG8g
bGFyZ2Ugc2V0IG9mIEphdmEgIApsaWJyYXJpZXMuIFNvIEkgY2FuIHNheSB0aGF0IE5pY2UgaXMg
bW9yZSBhdHRyYWN0aXZlIGxhbmd1YWdlIGZvciBldmVyeSAgCmRheSBwcm9ncmFtbWluZyBmb3Ig
bWUgdGhhbiBELgoKSG93ZXZlciB0aGVyZSBhcmUgc29tZSBzbWFsbCBkcmF3YmFja3Mgd2hpY2gg
SeKAmXZlIG1ldCBkdXJpbmcgZGV2ZWxvcG1lbnQuCgo9IERyYXdiYWNrcyA9Cgo9PSBOaWNlIGNv
bXBpbGVy4oCZcyBlcnJvciByZXBvcnRpbmcgPT0KCkF0IGZpcnN0IGl0IGlzIGVycm9yIHJlcG9y
dGluZyBvZiB0aGUgTmljZSBjb21waWxlci4gSSB1c2UgVklNIGVkaXRvciBhbmQgIApydW4gY29t
cGlsYXRpb24gZnJvbSBpdC4gQnV0LCB1bmZvcnR1bmF0ZWx5IFZJTSBkb2VzbuKAmXQgdW5kZXJz
dGFuZCBmb3JtYXQgIApvZiBOaWNlIGNvbXBpbGVyIGVycm9yIG1lc3NhZ2VzIGV2ZW4gd2l0aCDi
gJgtLWVkaXRvcuKAmCBhcmd1bWVudC4gU28gSSB0aGluayAgCml0IGlzIGdvb2QgdG8gaGF2ZSB5
ZXQgYW5vdGhlciBmb3JtYXQgb2Ygc3VjaCBtZXNzYWdlcyBpbiB0aGUgZm9ybToKCjxmaWxlPjo8
bGluZT46PGNvbHVtbj46IDxlcnJvciBkZXNjcmlwdGlvbj4KCkZvciBleGFtcGxlOgoKdGVzdC9t
YWluLm5pY2U6MToxOiB1bmRlZmluZWQgc3ltYm9sIFgKClN1Y2ggZm9ybWF0IGlzIGFscmVhZHkg
c3VwcG9ydGVkIGJ5IHNldmVyYWwgbGFuZ3VhZ2VzL2NvbXBpbGVycy90b29scyAgCihlLmcuIEMv
QysrLCBELCBSdWJ5KSBhbmQgYmVjYXVzZSBvZiB0aGF0IG1hbnkgZWRpdG9ycyBhbHJlYWR5IGhh
dmUgIApzdXBwb3J0IG9mIHRoYXQgZm9ybWF0LgpBbmQgTmljZSBjb21waWxlciBzaG91bGRu4oCZ
dCB0ZWxsIGFueXRoaW5nIGV4Y2VwdCBlcnJvcnMvd2FybmluZyBpbiB0aGlzICAKbW9kZSwgaS5l
LiBubyBlcnJvcnMvd2FybmluZ3Mg4oCTIG5vIG91dHB1dC4KCj09IEFuIGFic2VuY2Ugb2Ygc3dp
dGNoIHN0YXRlbWVudCA9PQoKVGhlIG5leHQgaXMgYW4gYWJzZW5jZSBvZiBzd2l0Y2ggc3RhdGVt
ZW50IGluIHRoZSBsYW5ndWFnZS4gSSBrbm93IHRoYXQgIAp2YWx1ZSBkaXNwYXRjaCBtZWNoYW5p
c20gYWxsb3dzIHdyaXRlIGNvZGUgd2hpY2ggaWxsdW1pbmF0ZXMgbmVlZCBvZiAgCnN3aXRjaC4g
QnV0IHNvbWV0aW1lcyBzd2l0Y2ggcmVxdWlyZXMgbXVjaCBsZXNzIGNvZGluZywgdGhhbiB1c2lu
ZyAgCm92ZXJsb2FkZWQgbWV0aG9kcy4gRm9yIGV4YW1wbGUgSSBuZWVkZWQgdG8gcGFyc2UgZXNj
YXBlIHNlcXVlbmNlcyBpbiBhICAKc3RyaW5nLiBXaXRoIHN3aXRjaCBzdWNoIG9wZXJhdGlvbiBy
ZXF1aXJlcyBzaW1wbGUgYW5kIG9idmlvdXMgc3dpdGNoOgoKaWYoIOKAmFxc4oCZID09IGMgKQog
ICBzd2l0Y2goIGxpbmVbIGkgKyAxIF0gKSB7CiAgICAgY2FzZSDigJhy4oCZIDogLy8g4oCYXHLi
gJkgcHJvY2Vzc2luZwogICAgIGNhc2Ug4oCYdOKAmSA6IC8vIOKAmFx04oCZIHByb2Nlc3NpbmcK
ICAgICDigKYKICAgICBjYXNlIOKAmHjigJk6IC8vIOKAmFx4WFjigJkgcHJvY2Vzc2luZy4KICAg
fQoKQnV0IHdpdGhvdXQgc3dpdGNoIEkgbmVlZCB0byB3cml0ZSBzb21lIHRvcC1sZXZlbCBvdmVy
bG9hZGVkIG1ldGhvZHMgZm9yICAKZWFjaCBraW5kIG9mIGVzY2FwZSBzZXF1ZW5jZToKClNvbWVS
ZXRUeXBlIG9uQ2hhcihjdXJyZW50X2NoYXIsIGxpbmUsIGluZGV4KSB7IOKApiB9Cm9uQ2hhcigg
4oCYcuKAmSwgbGluZSwgaW5kZXgpIHsg4oCmIH0Kb25DaGFyKCDigJh04oCZLCBsaW5lLCBpbmRl
eCkgeyDigKYgfQrigKYKb25DaGFyKCDigJh44oCZLCBsaW5lLCBpbmRleCkgeyDigKYgfQrigKYK
aWYoIOKAmFxc4oCZID09IGMgKQogICDigKYgPSBvbkNoYXIoIGxpbmVbaSArIDFdLCBsaW5lLCBp
KzEpOwoKb3Igd3JpdGUgc2VxdWVuY2Ugb2YgaWYtZWxzZS1pZiBzdGF0ZW1lbnRzOgoKaWYoIOKA
mFxc4oCZID09IGMgKSB7CiAgIGxldCBuZXh0ID0gbGluZVtpKzFdOwogICBpZigg4oCYcuKAmSA9
PSBuZXh0ICkg4oCmCiAgIGVsc2UgaWYoIOKAmHTigJkgPT0gbmV4dCApIOKApgrigKYKfQoKSSB0
aGluayB0aGF0IHN1cHBvcnQgb2YgdmFsdWUgZGlzcGF0Y2ggZm9yIGxvY2FsIGZ1bmN0aW9ucyBj
b3VsZCBoZWxwICAKdGhlcmUsIGJlY2F1c2UgaWYgYWxsb3dzIHRvIHdyaXRlIGxlc3MgY29kZSB0
aGVuIGluIHRoZSBjYXNlIG9mIHRvcC1sZXZlbCAgCm92ZXJsb2FkZWQgbWV0aG9kczoKCmlmKCDi
gJhcXOKAmSA9PSBjICkgewogICB2b2lkIG9uQ2hhciggY2hhciBjaCApIHsg4oCmIH0KICAgb25D
aGFyKCDigJhy4oCZICkgeyDigKYgfQogICBvbkNoYXIoIOKAmHTigJkgKSB7IOKApiB9CiAgIOKA
pgogICBvbkNoYXIoIGxpbmVbaSsxXSApOwp9Cgo9PSBFcnJvciByZXBvcnRpbmcgaW4gZ2V0b3B0
IGxpYnJhcnkgPT0KClRoZSBuZXh0IGlzIGEgZXJyb3IgcmVwb3J0aW5nIGluIG5pY2UuZ2V0b3B0
IGxpYnJhcnkuIFdoZW4gIApuaWNlLmdldG9wdC5wYXJzZSBmaW5kcyB1bmtub3duIG9wdGlvbiBp
dCBwcmludHMgZXJyb3IgbWVzc2FnZXMgb24gdGhlICAKc3RhbmRhcmQgZXJyb3Igc3RyZWFtIGFu
ZCBjb250aW51ZXMgYXJndW1lbnQgcGFyc2luZy4gQnV0IHN1Y2ggYXBwcm9hY2ggIApub3QgYWx3
YXlzIGRlc2lyYWJsZS4gSSB0aGluayBpdCBpcyBuZWNlc3NhcnkgdG8gaGF2ZSBtb2RlIGluIHdo
aWNoICAKbmljZS5nZXRvcHQucGFyc2UgcmFpc2VzIGV4Y2VwdGlvbiBvbiB1bmtub3duIG9wdGlv
bi4KCj09IE5vIHNvdXJjZSBmaWxlIG5hbWUvbGluZSBudW1iZXIgaW4gdGhlIGV4Y2VwdGlvbiBz
dGFjayB0cmFjZSA9PQoKSSB1c2UgTmljZSAwLjkuMTMgdW5kZXIgV2luZG93cyBhbmQgb24gZXhj
ZXB0aW9uIEkgaGF2ZSB0aGF0OgoKamF2YS5sYW5nLkFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2Vw
dGlvbjogMAogICAgICAgICBhdCB0MS5mdW4ubWFpbihVbmtub3duIFNvdXJjZSkKICAgICAgICAg
YXQgdDEuZGlzcGF0Y2gubWFpbihVbmtub3duIFNvdXJjZSkKCmZvciB0aGUgcHJvZ3JhbToKCnZv
aWQgbWFpbiggU3RyaW5nW10gYXJncyApCiAgIHsKICAgICB0cnkKICAgICAgIHsKICAgICAgICAg
cHJpbnRsbiggYXJnc1sgYXJncy5sZW5ndGggXSApOwogICAgICAgfQogICAgIGNhdGNoKCBFeGNl
cHRpb24geCApCiAgICAgICB7CiAgICAgICAgIHgucHJpbnRTdGFja1RyYWNlKCk7CiAgICAgICB9
CiAgIH0KCk1heSBiZSBpdCBpcyBhIGJ1Zz8KCj0gU29tZSBwcm9wb3NhbHMgPQoKPT0gQSBraW5k
IG9mIFJ1YnkvU21hbGxUYWxr4oCZcyBjb2RlIGJsb2NrcyBpbiBOaWNlID09CgpOaWNlIGFscmVh
ZHkgaGFzIHN5bnRheCBzdWdhciBmb3IgbWV0aG9kcyB3aXRoICgpLT52b2lkIGFzIGxhc3QgYXJn
dW1lbnQ6Cgp2b2lkIGYoICgpLT4gdm9pZCBhY3Rpb24gKSB7IOKApjsgYWN0aW9uKCk7IOKApiB9
CmYoKSB7IGJsYS1ibGEtYmxhIH0KCkFuZCBtYXkgYmUgTmljZSBjb3VsZCBzdXBwb3J0IHN1Y2gg
c3VnYXIgZm9yIG90aGVyIHR5cGVzIG9mIGxhbWJkYXMuIEZvciAgCmV4YW1wbGU6Cgp2b2lkIGco
IChBLCBCLCBDKS0+IHZvaWQgYWN0aW9uICkgewogICDigKY7CiAgIGFjdGlvbiggcDEsIHAyLCBw
MiApOwogICDigKYKfQpnKCkgeyB8YSwgYiwgY3wKICAg4oCmCn0KCndoZXJlIGEsIGIgYW5kIGMg
d2lsbCBoYXZlIHR5cGVzIEEsIEIgYW5kIEMuCkl0IGNvdWxkIGFsbG93IHdyaXRpbmcgbGVzcyBj
b2RlLiBGb3IgZXhhbXBsZSwgSSBjcmVhdGVkIGhlbHBlciBmdW5jdGlvbgoKU3RyaW5nIGZvcm1h
dEhlbHBlciggUHJpbnRTdHJlYW0gPT4gdm9pZCBwcmludEFjdGlvbiApIHsKICAg4oCmIGxldCBw
cyA9IG5ldyBQcmludFN0cmVhbSgg4oCmICk74oCmCiAgIHByaW50QWN0aW9uKCBwcyApOwogICDi
gKYgcmV0dXJuIOKApgp9Cgp3aGljaCB3YXMgdXNlZCBsaWtlIHRoaXM6Cgpmb3JtYXRIZWxwZXIo
IFByaW50U3RyZWFtIHByaW50ZXIgPT4geyDigKYgc29tZSBhY3Rpb25zIOKApiB9ICk7CgpSZXBl
YXRpbmcg4oCcUHJpbnRTdHJlYW0gcHJpbnRlciA9PuKAnSBvbiBldmVyeSBmb3JtYXRIZWxwZXIg
aW52b2NhdGlvbiB3YXMgYSAgCmJvcmluZyB0YXNrLiBTbyB0aGUgZm9ybToKCmZvcm1hdEhlbHBl
cigpIHsgfHByaW50ZXJ8IOKApnNvbWUgYWN0aW9uc+KApn0KCmxvb2tzIG1vcmUgYXR0cmFjdGl2
ZS4KCj09IFJhbmdlcyBpbiB0aGUgZm9ybSBbbG93LGhpZ2gpID09CgpBRkFJSywgTmljZSBwcm92
aWRlcyBSYW5nZSBvbmx5IGluIHRoZSBmb3JtIFtsb3csIGhpZ2hdIChlYWNoIGxpbWl0ICAKaW5j
bHVkZWQpLiBCZWNhdXNlIG9mIHRoYXQgc29tZXRpbWVzIEkgbmVlZCB0byB3cml0ZToKCmZvcigg
aSA6IDAuLihhcnJheS5sZW5ndGgtMSkgKSDigKYKCkkgdGhpbmsgaXQgd291bGQgYmUgdXNlZnVs
IGlmIHRoZXJlIHdvdWxkIGJlIFJhbmdlcyBpbiB0aGUgZm9ybSBbbG93LCAgCmhpZ2gpIChleGNs
dWRpbmcgdXBwZXIgbGltaXQpLiBMaWtlIGluIFJ1YnkgYOKApmAgb3BlcmF0b3IgY291bGQgY3Jl
YXRlIHN1Y2ggIApSYW5nZToKCmZvciggaSA6IDDigKZhcnJheS5sZW5ndGggKSDigKYKCj09IEhl
bHBlciBtZXRob2QgZWFjaExpbmUgaW4gdGhlIHN0YW5kYXJkIGxpYnJhcnkgPT0KClRoZSBzdGFu
ZGFyZCBsaWJyYXJ5IGNvbnRhaW5zIHJlYWRMaW5lIG1ldGhvZC4gQW5kIEkga25vdyBmcm9tIFJ1
YnkgdGhhdCAgCnN1Y2ggZWFjaExpbmUgY291bGQgYmUgdmVyeSB1c2VmdWwgc29tZXRpbWVzOgoK
dm9pZCBlYWNoTGluZSAoIElucHV0U3RyZWFtIGZyb20sIFN0cmluZy0+dm9pZCBhY3Rpb24gKQog
ICB7CiAgICAgbGV0IHJlYWRlciA9IG5ldyBCdWZmZXJlZFJlYWRlciggbmV3IElucHV0U3RyZWFt
UmVhZGVyKCBmcm9tICkgKTsKICAgICB2YXIgbGluZSA9IHJlYWRMaW5lKCByZWFkZXIgKTsKICAg
ICB3aGlsZSggbGluZSAhPSBudWxsICkKICAgICAgIHsKICAgICAgICAgYWN0aW9uKCBsaW5lICk7
CiAgICAgICAgIGxpbmUgPSByZWFkTGluZSggcmVhZGVyICk7CiAgICAgICB9CiAgIH0KCj09IEhl
bHBlciBtZXRob2Qgc3ByaW50ZiBpbiB0aGUgc3RhbmRhcmQgbGlicmFyeSA9PQoKU29tZXRpbWVz
IGl0IGlzIG5lY2Vzc2FyeSB0byBjcmVhdGUgZGVzY3JpcHRpb24gb2Ygc29tZXRoaW5nIGluIHRo
ZSAgCnByb2dyYW0gKGZvciBleGFtcGxlIGJlZm9yZSByYWlzaW5nIGV4Y2VwdGlvbikuIEluIHRo
YXQgY2FzZSB0aGUgZm9sbG93aW5nICAKc3ByaW50ZiBtZXRob2QgY291bGQgaGVscDoKClN0cmlu
ZyBzcHJpbnRmKCBTdHJpbmcgZm9ybWF0U3RyaW5nLCBPYmplY3RbXSBhcmdzICkKICAgewogICAg
IGxldCBidWZmZXIgPSBuZXcgQnl0ZUFycmF5T3V0cHV0U3RyZWFtKCk7CiAgICAgbGV0IHByaW50
ZXIgPSBuZXcgUHJpbnRTdHJlYW0oIGJ1ZmZlciApOwogICAgIHByaW50ZXIucHJpbnRmKCBmb3Jt
YXRTdHJpbmcsIGFyZ3MgKTsKICAgICByZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7CiAgIH0KCkV4
YW1wbGUgb2YgdXNhZ2U6Cgp0aHJvdyBuZXcgSWxsZWdhbFZhbHVlKCBzcHJpbnRmKCDigJx2YWx1
ZSDigJglZOKAmSBpcyBvdXQgcmFuZ2UgWyVkLCVkXeKAnSwgIApbIHZhbHVlLCBsb3csIGhpZ2gg
XSApICk7CgoKLS0KVGhhdOKAmXMgYWxsIG5vdy4gVGhhbmtzIGZvciBwYXRpZW5jZS4KSeKAmWxs
IGludmVzdGlnYXRlIE5pY2UgbGFuZ3VhZ2UgZnVydGhlci4KCgotLSAKUmVnYXJkcywKWWF1aGVu
aSBBa2hvdG5pa2F1ClNlbmlvciBQcm9ncmFtbWVyCkludGVydmFsZQplLW1haWw6ZWFvMTk3QGlu
dGVydmFsZS5ydSA8bWFpbHRvOmVhbzE5N0BpbnRlcnZhbGUucnU+CgotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
ClRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogTWljcm9zb2Z0CkRlZnkgYWxsIGNo
YWxsZW5nZXMuIE1pY3Jvc29mdChSKSBWaXN1YWwgU3R1ZGlvIDIwMDguCmh0dHA6Ly9jbGsuYXRk
bXQuY29tL01SVC9nby92c2UwMTIwMDAwMDcwbXJ0L2RpcmVjdC8wMS8KX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmljZS1pbmZvIG1haWxpbmcgbGlzdApO
aWNlLWluZm9AbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2Uu
bmV0L2xpc3RzL2xpc3RpbmZvL25pY2UtaW5mbwo=