{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

Американский программист зарегистрировал автомобильный номер NULL и получил штрафы на $12 тысяч из-за неопознанных авто Статьи редакции

В некоторых языках программирования null используется как обозначение неприсвоенного значения — Джозеф Тартаро рассчитывал использовать это, чтобы избежать штрафов.

В конце 2016 года американский программист Джозеф Тартаро зарегистрировал автомобильный номер «NULL» — в некоторых языках программирования null используется как обозначение неприсвоенного значения. Тартаро надеялся, что база данных нарушителей не сможет корректно обрабатывать номер, и он сможет избежать штрафов, пишет Wired.

В 2017 году Тартаро нужно было перерегистрировать автомобильный номер. Это получилось не сразу, поскольку система не принимала NULL как номер. Несмотря на это Тартаро смог продлить регистрацию и продолжил использовать номер.

В начале 2018 года Тартаро впервые попал в базу нарушителей — он получил первый штраф в $35 за то, что на номере не было наклейки о регистрации. Программист подумал, что кто-то мог переклеить её на свой автомобиль. Поскольку сумму штрафа была небольшой, Тартаро решил просто оплатить его.

После этого случая на имя Тартаро начали приходить десятки штрафов из разных городов и на разные автомобили. Вероятно, когда программист оплатил штраф, система связала значение null с его личными данными, отмечает издание. Теперь, когда сотрудник полиции забывает указать номер автомобиля, штрафы автоматически отправляются на имя Джозефа Тартаро.

В результате общая сумма штрафов превысила $12 тысяч. Тартаро связался с компанией, которая выписала штрафы, а также Управлением транспортных средств Калифорнии (Department of Motor Vehicles; DMV) и сумел оспорить половину из них. Когда Wired в последний раз проверяло базу с данными нарушителей, у Тартаро оставалось штрафов только на $140.

Сам Тартаро заявил изданию, что не планирует отказываться от своего номера, поскольку это может ещё больше запутать ситуацию.

0
94 комментария
Написать комментарий...
Nikita
в некоторых языках программирования null используется как обозначение неприсвоенного значения

В языках программирования специальное значение null отличается от строки "null". Они никогда не равны. Даже в sql 'null' is not null.

Ответить
Развернуть ветку
Paul Denisevich

В нормальных языках программирования, да.

Ответить
Развернуть ветку
Nikita

А в каких не так?

Ответить
Развернуть ветку
Paul Denisevich

Например, в том, на котором эти гении написали систему. Конечно, дело не в том, что в языке 'null' == null, а в том, что он позволил написать софт так, что это стало возможным.

Ответить
Развернуть ветку
Nikita

Не в языке дело, а в "гениях". В том языке может вообще null нет.

Ответить
Развернуть ветку
Paul Denisevich

Есть языки, в которых у этих "гениев" не получится так сделать.

Ответить
Развернуть ветку
Nikita

Например? Записывать строку NULL вместо отсутствующего знания можно в любом языке.

Ответить
Развернуть ветку
Paul Denisevich

Результатом чтения с номера авто должна быть строка, и более ничего. Даже если там 123456 или NULL или undefined или ещё что-то. Это явно должно быть приведено к строке. Если вышла такая хрень, которая описана в статье, то это говорит о том, что 'NULL' превратился в NULL, насколько криво сделан софт.

Ответить
Развернуть ветку
Nikita
то это говорит о том, что 'NULL' превратился в NULL

Не говорит. Это может говорить о том, что в базе для отсутствующего номера записана строка 'NULL'.

'NULL' превратился в NULL

Так какой язык не позволяет такое сделать?

Ответить
Развернуть ветку
Paul Denisevich
Это может говорить о том, что в базе для отсутствующего номера записана строка 'NULL'.

Тут уже клиника совсем.

Так какой язык не позволяет такое сделать?

А какой позволяет? Я имел ввиду сравнение типов, естественно. Покажи мне язык, в котором 'NULL' === NULL будет возвращать TRUE.

Ответить
Развернуть ветку
Азат Белеков

Не разбираюс в языках, помоему в PINE true встречается

Ответить
Развернуть ветку
91 комментарий
Раскрывать всегда