Евгений Степанищев

Я — эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.

Rape-Axe

Про «Rape-Axe» я слышу в первый раз, но изобретение, на мой взгляд полезное. Вкратце — это такая трубка, вставляемая во влагалище, у которой внутри находятся пластиковые «зубы» гарпунного типа (на сайте есть фото). Если насильник попытается произвести проникновение, то вынет он своё орудие преступления уже вместе с трубкой, причинящей сильную боль.

Вроде как обещается, что в случае чего, кровь насильника не попадёт на слизистые (мало ли чем болен преступник).

У меня только два вопроса — как проводили испытания и что будет, если насильник будет на адреналине или на наркоте. Я помню, что на карате, когда в крови много адреналина, некоторые очень сильные удары воспринимаются совсем иначе.

На последний мой вопрос на сайте есть ответ, но, на мой взгляд, какой-то туманный. Написано что-то вроде «зато у вас будет время смыться».
26 комментариев
2 июля 2010 15:53

with в JavaScript и VBScript

Одной из бесполезных конструкций языка JavaScript называют «with». Неспроста, эта конструкция непрозрачна и потенциально может создать непростые проблемы. Небольшой код:
with (MyObject) {
    width = '100px';
    height = '200px';
    display = 'block';
}
Что будет, если свойства с таким именем не найдётся? Код заменит значения переменных width/height/display или же создаст их, если их ещё не было. Что приведёт к проблемам, если мы в связанном коде где-то используем такие имена.

С языком VBScript я знаком с тех пор как программировал, используя технологию ASP. В дальнейшем, я иногда использовал его, чтобы программировать что-то для Internet Explorer, всё-таки некоторые вещи для этого браузера было проще делать в нём.

Этот язык я, в общем-то, не люблю (в отличие от JavaScript), но вот конструкция «With» устроена в нём разумнее:
With MyObject
    .width = "100px"
    .height = "200px"
    .display = "block"
End With
Заметили точки впереди? Они говорят о том, что используются не просто переменные, а свойства (ну или методы) объекта, указанного в «With». Вот так просто решается куча проблем.