Power of nuisance – как плохой программистский дизайн законов извращает их

??? ??????, ?????-???? ? ????????????? ?????...
--- 

????? ????? 2006-2007 ? ??????????? ?? ??????, ? ??????? ?????????? ? ????????????? ????? 9/11, ????? ? ????????? ???????? ????????????? ???????????? ????? ?????????????? ??????? ? ??????????, ?????????? ? ??????????? ?????. ??? ???????? ?? ?????, ?? ? ???? ?????, ? ???????? ???? ??????????????? ??????????. ? ??????? ??????? ???????? ????, ? ??????? ? ??? ??? ?? ????.

? ?????, ????? ?? ????????????? ???????? (?????? ??? ?????????) ?????-????? ? ??????????? ??????? ? ????? ??? ???????, ???????? ???????? ???????, ? ????? ???????? ???? ????????????????? ???????????? ??????. ??????? ??? ?? ?????? ???? ?????????? ?????? ????? ???????? (itinerary). ?? ??? ? ??????? ???????, ??? ??? ??????? ? ??? ? ?????????? ? ?? ???? ???????. ?????? ???? ?????????? ??????????: «Sir, what's our itinerary?» ? ??????????? ??????? ? ??????? ??, ??? ???? ???????? ?? ??????? – ??????-???????-???. ?? ??? ???? ???? ?? ??, ??? ?? ????????????, ??? ??? ??? ??????? ?? ???????: «Sir, do you speak English?» «Well, do YOU speak Englsh? Look at the ticket, you see? The word "itinerary", and then Seattle-Atlanta-Rome. That's what dictionary means by "itinerary". If you mean something else, explain what and I'll gladly answer. Just repeating word "itinerary" does not help.» (??? ?? ?????????, ???????, «? ????-?? ?? ???????? ??-?????????? ??????, ?????? ?? ??? ????? itinerary, ? ?? ??? ?????-???????-???. ?????? ??? ????? itinerary ???????? ?? ???????. ???? ?????? ? ???? ???-?? ??????, ??????? ??? – ????? ? ????? ? ????????. ? ????????? ??? ????? ??? ??????? ?? ???????.»

? ????? ?????? ? ?????????, ??? ??? ?????? ????? ? ???? ?? ?????, ? ?????? ??? ???????. ? ????????? ?? ??? ??? ???????, ?? ??? ??????? ? ?????????. ?? ? ?????????? ?? ??? ?????? ? ???? ??? ?? ??? ???????????? ? ?????? ???-?? ????? ?????, ??? ????, ?? ???? ?????. ?? ????? ??????? ? ?? ???? ?? ???? ??????!!! ? ??????, ??? ???? ??????? ? ???????? ?????? ??? ?????-?? ?????????. ??????????, ??? ??????????? ?????????? ? ?????-?????? ?????? ?????????? ????? ?? ?????????? ??? ??????????? «? ????????».

? ??? ???, ?? ??? ??? ...?? ????????????? ????????? ????????? ???????? ? 9/11 ??? ????????? ??????????????????!!! ????????????? ? ????????? ???????????!!!

??????????, ??? ??? ?????????, ? ?????? ?????? ??????????. ?????? ?????? ? ?????? ????????????-???????????????-?-?????? ???????????? ????? ????? ??????????? ? ????? ??????? ???????????, ???????? ??????? ?????? ???? ?????? ????. ? ??????? ??????? – ???????? ??????, ??????? ? ???????? ????????????????? ????????? ?? ?????? ????????????????.

????, ?????, ??????? ???????? ??? ???????? ? ?????????? ???? ?????????? ???-?? ?????:

if (Traveller.isTerrorist) { ?????????... }

??? ?????? ? ???????, ???? ??? ?????????????. ????? ???????, ??????, ?????? ??????, ?? ???????, ?? ? ? ????????????? ? ????-?? ?? ??????. ? ??? PM-??????????? ????? ????? ??? ?????-????, ? ????????? ??? ???????????. ? ?????? ???? ??????? ?? ?????????????, ? ?????? ??????? – ?????????, ??????? ???????????????? ??????? ????? ?? ????. ? ??? ?? ??????? ?? ???? ?????-????, ? ? ?????? ?????:

class Traveller { … private: bool isTerrorist; … }

?? ????, ???? ??????????. ? ???????? ??? ??????? ??????????? ??????, ????????? ??? ????? ?????????. ???...

??? ?????? ? ???? ?????? ??????? ???????????? ??, ????? ????, ???????? ?? ???? PM'?, ????????? ?????? ??????????, ????????, ????? ??? ??????, ??? ??? ???????????????? ??????, ????? ???-?? ????? ????????. ????? ?? ??????? ? ???, ??? ???? ?? ?????, ?????? ?????????? ?? ???? ???-?? ?????, ????? ????? ???? ??????? ???????????. ???????? ???????.

? ??? ?????? ???????? ???????????? ??????????? ??????? ?????? ????? ??? ????? ????? ????????, ? ??????? ?? ?????? ????, ?? ? ?? ??? ????????? ???? ??????, ? ??????? ????????????? ???, ??? ? ?????????? ???????? ?????????? ? ????????? ????????.

?? ??? ??????, ? ?????? ?????? ????????????? ??????????? ???? ??????????? ??-??, «????», ??? ?? ???? ???? ????????? ???????? ?????????, ???? ?????? ?????????.

? ?????, ?? ???? ?????? ? ???? ??????. ???? ?? ??????? ?? ????? ???????, ?? ??????????? ?????????? ?? ??? ??????? ?????? – ??? ?????????? ??????????, ??? ??????? ??? ???????????? ?? ????????????? ???????? ? ??????????????? ??????? ???????. ??????? ?? «??????» ???? ??? ??????, ????????? ?? ?????? ????????????? ?????? – ??????? ????????? ???????? ???????????, ??????? ?????????? ????? ? ???????????? ? ???????????? ?????????? ? ???????? ??????????. ? ????? ???????, ??-??????, ? ?????? ????? ????? ????? ???? ??? public, ????????????? ? ????????, ? ??-??????, ?????????????????? ????????? ????????? ??????? ?? ????????? ?????????? ???????? ?????????? ???, ? ????? ??? ???????????, ?????????? ?? ???. ????????? ???????? ??????? ???? ???????, ??? ???? ????? ?????? ??????? ? ???????. ????????

«?? ???? ??????, ??????? ???????,
?? ???? ??????? – ?????? ?????????,
?????? ????????? – ???????? ????,
??????? ???????, ????? ?????.
???? ???????? ? ?????, ??????? ?? ????,
?? ???? ??? ? ??????? ?? ???? ??????.»?

??? ?????? ?????? ? ?????????? ???, ????? ? ???????? ?? ???? ?????? ???????. ??????, ????-?? ???????, ??? ?????? ? ??????????? ?????? ?????????? ???????? ??????? ??????? ??? ????? ?????????? ?????????????? ???????, ? ??? ????? ???????????, ???????, ??????, ????? ??????? ? ????? ?????? ??????????. ???????????????? ?????????? ? ???????? ? ?????? ?? ???? ????? – ?????, ??? ??, ????? ???????????? ?? ??????? ????? – ??? ?????? ?????? ??? ??? ? ?????????? ?????????, ? ??????? ?????? ??????? ??? ???????? ???????? ??? ???? ? ????.

??????, ???? ????, ???? ??? ?????? ? ???????, ??????? ??????? ? ???????? ????, ? ?????? ???? ???? ??? ?????-?????? ??????? ???????? ? ????????? ????????? S-?????? ? ????? ??????????? ???????????? ? ????? ??????? ????????.

???? ???????? ????????????? ????????, ?? ????? ?????????? ?? ????????? ??????? ????????? ? ???????????? ?????????, ?????????? ??????? ????????? ???????, ??????? ?????? ????????? ??? ???? ?????????, ????? ?? ?????? ?????? ????????. ???? ?? ???? ?????? ? ????????????? ?????????, ?? ?????????? ???????????? ???????????, ?? ??????? ? ?????????? ??????? ?????????? ?? ??????. ??????, ???????? ????????????????? ? ????????????, ? ?????? ????????? ??? ????????? ?????-?? ?????, ??? ????? ??????? ??????????, ?? ???? ??, ????? ???????????.

? ???????? ?? ??? ??? ?????, ??? ? ?????????? ? ????????????? ?? ?????? ? «????? ??????? ????????», ? ??????? ??????????? ?????, ???? ????? ?????????? ????????????? ??????????? ????? ????????????? ???????? ??????? ?????? ?????????. ???????????????? ?????????? – ??? ?? ???? ??????????, ??, ?? ??? ??? ?????? ???????????????? ? ????? ????????, ??????????? ?????? ?????? ?????????? ??????? ???????. ???? ??? ??? ?????? ?????????, ??????? ????????. ? ????? ??????, ?????? ???????, ??? ??? ?? ????????, ?? ?????? ? ??? ??????? ??? ????????, ???? ?? ?????? ???????.

??????, ?? ????????, ????????? ?????? ?? ???? ???????? ?????????? ? ?????? ????????????? ??????????

???????, ?? ??????????. ???????? ???? ??? ? ??????? ???????. ??????? ???????? ?? ????? ??? ????????? ??????????:

class ??????? {
void Add(Element elem) {
lock(queue) {
???????? ???????
}
}

int Length() {
lock(queue) {
??????????? ?????
}
}
}

? ?????? ???????? ? ????? ???:

class ??????? {
void Add(Element elem) {
lock(queue) {
???????? ???????
Length = ??????????? ?????
}
}

int Length = 0;
}

????? ???????? ?????? ???? ??, ? ????? ?????. ??, ??-??????, ??? ????? lock ?? ?????? ?????? ? ????? ???????. ????? ???????, ??? ? ????????? ?????? ??? ????? ??????? ????????, ? ??? ??? ?????? ????????? ? ?????? ???????? nuisance (?????? ? ?????????? ??????) ? ????. ? ?????????, ????????? ????????? ? ??????? ????? ????????? ? ?????? ?????????? ???????????. ??????????? ???? ??? ? ??? ??? ????? ???????, ????????, ??? ????? ? ?????, ? ??? ?????????? ? ?????? ?? ??? ????? ????????? ????? ??????. ????? ??? ?????????? ? ??? ? ?????? ????? (threads) ?? ???????? deadlock. ??? ???, ?? ?????? ?????? ??????????? ?????? ??????? ????? ???????? ?? ????. ? ?????????, ?? ???????? ?????? ??????? ? ?? ?????????? ????? ?? ???? ?? ????????, ? ?????? ??.

? ???, ????? ??????? ??????? ?, ???????, ???????? ?? ????, ??? ?????????? ? ????? ???????. ??????? ?????? ???????, ???????? ? ??????? ???????????, ???????? ??????????? ??????? ?? ??????????. ?????? ?? ????????? ?????? DMCA??? ??! ??! ?????!!! ?????? ?? ?????? ????, ??? ??????????? ????? ?? ???????? ???????? ??! ??! ?????????!!! ?????? ?????? ??? ?? ???????? ??????? ?????? SBA??? ??, ???, ?? ??????????? ??????????????? ???????? ?? ???? ??? ??????, ?? ???????? ??? ???? ? ??????? ??????-?????? ????? ?????????, ??????? ????????? ??????????? ?????????, ??? ??? ???????? – ??????? ? ???????. ??, ??? «??????? ? ???????» ? ?????? ?? ????, ? ??? ???????? ??? ?? ??????, ?????, ???????, ?????? ?? ???????.

??? ??? ??? ????????? ????? ?????????? (??????????, ??? ????? ?????? ???????????), ??? ??? ??, ??? ?????? ????? ??? ??????? ?????????? ?? ??? ???? ????????. ??? ????? (1) ????????? ???-??, ? ????? (2) ????????? ??????????, nuisances. ????? ?????? ???????????, ??? ?????? ????? ? ???? (1), ??? ?????????, ????? ????????? ???-?? ??????????. (2) ?????? ?????????? ??? ???????? ?????? ? ?????????? ??????? ??????? ??? ?????? ?????????? (??? ? ????, ? ??????? ??????) ?????? ? (2) ???????????? ???????????? ??????????? ?????. ? ????????, ??? ?????? ??????? ?????? ???????????, ???? ? ??????? ? ?????????? ????? ??????? ????? ????? ??????? – nuisance.

????? ??, ????????? ??? ??? ?????????. ???????? ???????? ???????? ??, ??? ???? ?? ??????? ??????? ?????? (? ????? ?????????? legalese) ???????????? ??? ??? ??? ????, ????? ???? ????????? ? ?????????????, ? ??????? ?? ?????? ????????????????, ??????????????? ??? ??? ??? ????, ????? ??? ??? ????????? ??????????. ??? ??? ????????? ????? ???? ??????? ?????? ?? ???? ???????, ??????? by design ?????????? ????? ?????????? ????????. ?? ???? ?? ?????????? ????????? ?? ???? ??????????????? ????? ????????? (? ????????? ??????? ?????????? ????????) ? ????????????? (?????????? ?????? ?? ??????????? ???????):

????? ???????, ? ??????-?? ????? ? ??. ????????? ??????, ????... ???, ??????, ??????? ????? ???????????, ??????? ???????????? ?? ???????????. ??, ???? ?????????, ??????? ?????? ?? ?????, ??????? ?????? ? ????? ???????? ???????... ????? ???? ??????? ??? ?????? ??????? ?? «????????» ? ??????????: «??, ??? ??? ? ??? ???? ? ?????????????.» ??? ????????: «??, ??? ???????. ?? ??? ? ??? ???????? ???????, ??? ?? ??? ??? ?????????, ????????????, ???????, ?????? ??????, ???????? ?????? ???? ????? ????????????? ?? ??????????? ??? ???????? ????? ??????, ??? ??? ???????!» «??, ? ???? ? ???? ??? ??????? ??????? ??? ?? ??????. ????? ??? ? ???, ?????? ??? ? ??? ??????!» «?? ?????! ?????? ?????!» «??, ?? ???? ??????????? ? ??? ??????????? ??????!» «??, ? ??? ?? ??????? ?????????»

??????: DMCA ? ??? ?????????? DRM. ????????? ????????????? – ?????? ???????? ????????????. ???? ?????-?????? ??????? ?? ??? ????, ?? ???? ???????. ???? ? ????? ??????. ?? ?????? ?????? ? ??? ??????????...

??????, ? ?? ?????? DRM ?? ?????????????????? ??????????? ????? Xbox ??? ??? DVD ????????. ???? ?????? ????? ? ?????? ???????? ???? ????????? ?????? – ?? ????????? Windows Media Center, ???????????? ????????? ? ?????? ?????-?????????? ? ????? ?????? ??????????, ??? ? ???? ??????? ????????? ?????? ?????????? ??????? ????????? DVD. ?? ? – ??????? ???????, ??? ??? ? ????????? ?????????? ?? ???????????. ?? ????? DRM ?????? ?? ??? ????????? (????????, ???? ??? ??????? ? ????? Sony – ??? rootkit ????? ? ???????????? CD) ??? ? ??????? ????????. ? ?? ??????? ???????. ??? ????????? – ??? ?? ?????????????????? ???????????. ? ??? ????????? ??? ?????? ?????. ? ????, ??? ? ?????? ????? ????????, DRM ????????? ??? ??????????? ????????????? ??? ??????????? ???? ? ????? ? ?????????? ???????, ?? ??????????? ???????? ??? ??????? ? ???????? ????????????? ????? ????? ?????? ?????????????. ????? ????, ??? ?????? ?????? ???????? ????? ??????????, ? ? ?? ?? ?? ?????? ?????? ?? ??????, ????? ?? ??? ??? ???????????. ??? ???, ???? ?????????????? ?????? ??? ??????? ?? ?????????? ?????????????????? ???? ???????????, ? ?? ?????? ??????????? ???? ? ???? ? ????? ??????? ??????? ??, ??????? ??? ????? ?? ?????? ?????????? ???????????? ????, ? ????? ? ??????? ??. ? ??? ??? nuisance ? ?????? ???????????? ????.

? ?????, ???? ??? ???? ???????, ? ?? ????? ??? ?? ? ????????. ???? ????????, DRM – ??? ?? ???? ??????????? ??? ? ????? ?????????????. ??????? ??? ???????? ???? ??? ? ?????????, ?????? ? ????????, ???? ??????? ? ???????? ??? ?? ????? ??? ? ???????, ???? ??? ?? ??? ????.

??????????? ? ??????????????? ????????, ?? ? ?????????? ???????? ?????? ?????????-?????? ?? ??????????? ???????? ????????????? (???????) ?? ?? ??????????? ???????? ????? ???????????????? (legalese) ? ?????????? ???? ???????? (????? ?????? ?????????, ????????, ??? ??????????) ?? ??????????? ???????? ????????? (??????), ?????? ??? ??????????? ??????.

???? ??? ?? ???????? ?????, ? ??? ???? XP, Mac OS ? Linux. ???? ??? ?? ???????? MS Office, ? ??? ???? Open Office. ???? ??? ?? ???????? C#, ? ??? ???? Java. ???? ??? ?? ???????? BizTalk ? MSMQ, ? ??? ???? WebSphere. ???? ?? ??? ?? ???????? ?????, ?? ?? ? ???? ?????? ???????? ?? ??????. ?????? ??????? ?????? ?? ?????, ?? ??????? ?????? ?????? ??? ????? ? «??????????????» ??????? ????????? ??????? ?? ? ?? Microsoft, ? ?? IBM, ? ?? Sun. ? ? OpenSource ?????? ??-???????? ???????? ?? ?? ???? ?? ????? ???.

??, ? ??? ??? ??? ????????? ? ??????????? ??????? ????, ??????? ?????????? ??????, ??????????. ?? ?????? ??????? ?? ?????? ? ?????????? ???????????? ?? ???? nuisance, ???? ???????? ??? ???????? ???????? ? ??????????, ??????? ???? ????? ?????? ??? ?????????????, ?????? ????? ?? ??? ? ?? ???????? ????????????? ???? ?? ??? ?? ????????. ??? ? ???? the power of nuisance, ? ? ??? ?????? ???????? ???????? ?????? ? ?? ??????????, ? ??? ?????, ????? ???-?? ???????? ???????? ? ????????? ??????????? ??????????????.