Как стать автором
Обновить

Ода «Delete»

Чулан
В рассказах Азимова искусственный разум порабощает человечество, руководствуясь законами робототехники. Дескать, иначе человечества себя погубит, чего ИИ допустить не может по своей природе (см. фильм «Я — робот»).

Раскин перефразировал первый закон робототехники следующим образом: «Компьютер не может причинить вреда данным пользователя или своим бездействием допустить, чтобы данным пользователя был причинён вред». Разработчики человеко-компьютерных интерфейсов стараются по мере сил воплотить этот закон в жизнь. А ведь этот закон также может обернуться против человечества.

Стремление разработчиков не допустить потери данных приводит к тому, что пользователя всячески ограждают от операций, влекущих безвозвратное уничтожение информации. Давайте будем хранить все вечно, лишь бы чего вдруг важного не удалить! Все версии, все письма, все черновики, все разговоры – чем больше информации мы сохраним, тем лучше! Например, Google на странице приглашения в Gmail прямо заявляет: “you'll never need to delete another message”.

Взамен современные интерфейсы предлагают нам инструменты для поиска нужной информации в тех горах шлака, которые неизбежно образуются в результате политики «мы больше ничего и никогда не удаляем». А вы верите, что полнотекстовый поиск, теги, фасетная классификация и прочие модные ныне штучки спасут нас по прошествии нескольких лет такой жизни? Какой Геракл возьмется тогда чистить эти авгиевы конюшни?

Пока еще не поздно, вспомните про спасительную кнопку Delete! Возьмите на себя ответственность за риск удаления важной информации и наведите порядок в своем цифровом хранилище! Иначе завтра это будет уже не ваше хранилище — вы просто не будете в состоянии охватить его взглядом.
Всего голосов 54: ↑45 и ↓9 +36
Просмотры 253
Комментарии 51

Не возможно обновить (UPDATE) ту же таблицу, которую используешь в SELECT-запросе

Чулан
Сегодня наткнулся на очень неприятный баг в MySQL. При выполнении следующего запроса в MySQL 5.0.45:

UPDATE `files` SET `file_md5` =
(
SELECT MD5( `file_blob` )
FROM `files`
WHERE `id`= 6
)
WHERE `id` = 6

Получил ошибку:
#1093 — You can't specify target table 'files' for update in FROM clause
Читать дальше...
Всего голосов 35: ↑6 и ↓29 -23
Просмотры 354
Комментарии 12

Типы HTTP-запросов и философия REST

Разработка веб-сайтов *
Этот пост — ответ на вопрос, заданный в комментарии к одной из моих статей.

В статье я хочу рассказать, что же из себя представляют HTTP-методы GET/POST/PUT/DELETE и другие, для чего они были придуманы и как их использовать в соответствии с REST.
Читать дальше →
Всего голосов 84: ↑78 и ↓6 +72
Просмотры 776K
Комментарии 111

Высокий Delete или бесплатная идея производителям клавиатур

Компьютерное железо
Не знаю кого как, но меня дико раздражает высокая (a.k.a. длинная) клавиша «Delete», которая вытесняет клавишу «Insert». Не столько сам он, сколько отсутствие в последнее время возможности выбрать нормальную клавиатуру с классической раскладкой.
Читать дальше →
Всего голосов 84: ↑61 и ↓23 +38
Просмотры 1.5K
Комментарии 212

Высокий и низкий delete? Это еще полбеды!

Чулан
В блоге hardware раздавалось конструктивное негодование на тему клавиатур с высокой и низкой клавишей Delete.

В стане клавиатур с миниатюризированной «ноутбучной» раскладной все еще хуже. Намного хуже. Под катом просто две фотографии:
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 683
Комментарии 2

Проблема глобального переопределения new/delete в C++/CLI

C++ *
Как известно, C++ позволяет глобально переопределять операторы new и delete. Обычно такое переопределение используется для диагностики, поиска утечек памяти и более эффективного распределения памяти.

Все это мы используем в нашем крупном проекте. Однако у нас есть часть, написанная на C#, которая с помощью C++/CLI взаимодействует с основной частью на C++. И вот тут появились проблемы. У нас получались утечки памяти там, где их быть ну никак не могло.
Читать дальше →
Всего голосов 39: ↑33 и ↓6 +27
Просмотры 6K
Комментарии 20

[C++] Всё ли мы знаем об операторах new и delete?

Программирование *C++ *
Из песочницы
Tutorial
Привет! Ниже речь пойдет об известных всем операторах new и delete, точнее о том, о чем не пишут в книгах (по крайней мере в книгах для начинающих).
На написание данной статьи меня побудило часто встречаемое заблуждение по поводу new и delete, которое я постоянно вижу на форумах и даже(!!!) в некоторых книгах.
Все ли мы знаем, что такое на самом деле new и delete? Или только думаем, что знаем?
Эта статья поможет вам разобраться с этим (ну, а те, кто знают, могут покритиковать:))
Читать дальше →
Всего голосов 94: ↑78 и ↓16 +62
Просмотры 74K
Комментарии 40

Google Photos не может удалять файлы с SD карты

Программирование *Разработка под Android *Реверс-инжиниринг *
Из песочницы
Многие пользователи Android столкнулись с досадной проблемой, связанной с доступом приложений к SD карте. Одним из таких приложений является Google Фото. Когда-то всё было нормально. Но в Android 4.4 Google внедрили новую системную конфигурацию, которая запрещает приложениям писать на sd-карту. Удалять изображения через галерею, а затем снова удалять их же в google photos крайне неудобно.

Для себя я проблему решил рутованием девайса и исправлением конфигурации. Подробности на видео:



Но для обычных пользователей должно всё работать без root. О том как это осуществить я предлагаю обсудить в этой статье. Приглашаю представителей компании Google, Android разработчиков и всех интересующихся под хабракат.
Всего голосов 26: ↑20 и ↓6 +14
Просмотры 50K
Комментарии 30

Сила bash

Системное программирование *Разработка под Linux *
Tutorial

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

Читать далее
Всего голосов 18: ↑0 и ↓18 -18
Просмотры 3.6K
Комментарии 12

Kaspersky Removed an Important File, What To Do?

Блог компании Hetman Software Антивирусная защита *
Tutorial
Read this article to find out what to do if an antivirus removed important files and how to recover them. What is a quarantine and how to configure exclusions for an antivirus? Learn more about causes of data loss and available effective methods to restore missing user files.

image
Всего голосов 4: ↑0 и ↓4 -4
Просмотры 2.7K
Комментарии 0

Почему в С++ массивы нужно удалять через delete[]

Блог компании PVS-Studio Программирование *C++ *

Заметка рассчитана на начинающих C++ программистов, которым стало интересно, почему везде твердят, что нужно использовать delete[] для массивов, но вместо внятного объяснения – просто прикрываются магическим "undefined behavior". Немного кода, несколько картинок и взгляд под капот компиляторов – всех заинтересованных прошу под кат.


delete_or_delete_for_array_ru/image1.png

Читать дальше →
Всего голосов 47: ↑43 и ↓4 +39
Просмотры 11K
Комментарии 33