Вспомнился старый анекдот:
— Мастер, как мне назвать свою книгу?
— Там есть что-нибудь про трубы или барабаны?
— Нет…
— Ну так и назови: «Без труб и барабанов».
А если серьезно, то название должно быть броским и желательно без инговых окончаний. Например,
«Программистские откровения»
«Жизнь и необычайные приключения программистов»
«Компьютерные посиделки: о жизни и ИТ»
«Есть ли жизнь в ИТ? Знаменитости делятся опытом»
И т.д и т. п.
Теоретически — все верно.
Практически — с этим подходом возможно столько подводных граблей, что даже как-то неловко. Начиная от тупого «руки трясутся — промахнулся мимо нужного пункта, понял это только тогда, когда гном-десктоп загрузился» и заканчивая просто дурацкими ошибками («файловая система не проверялась 180 дней — подождите полчасика, щас проверю, потом продолжим загрузку»).
Просто опыт показывает, что в таких вот редкоиспользуемых местах баги кроются чаще всего. Они не обязательно там будут сразу после написания: какую-нибудь дурацкую ошибку могут и при рефакторинге занести.
Чтобы такого не случилось, нужно не одноразовое тестирование, а полноценные юнит-тесты на эту конкретную функциональность. И чтобы все юнит-тесты гонялись перед каждым релизом.
при условии неуязвимости протоколов шифрования дисков и алгоритмов вам достаточно гарантировано уничтожить заголовок контейнера и все его бекапы
Двусмысленная фраза. Бэкапы чего — заголовка или самого контейнера? По смыслу — заголовка, а по грамматике — контейнера.
На самом деле, конечно, все не так радужно. Условий тут несколько больше:
— в компьютере нет аппаратных закладок (не обязательно уровня шпионских девайсов: например, беспроводная клавиатура не только общается с компьютером, но и орет все ваши введенные тексты-явки-пароли в прямой эфир в радиусе как минимум десятка метров). Против «красной кнопки» такой перехват не поможет, но только если код реализован корректно (см. ниже).
— в реализации удаления заголовков нет багов. Ситуация усугубляется тем, что код «красной кнопки» вызывается исключительно редко (практически — один раз), поэтому он, фактически, не тестируется. Даже очевидные логические ошибки могут жить в таком коде годами.
Так оно там уже есть или его надо организовывать самостоятельно? :)
Я ж не спорю, что затирка заголовка теоретически надежна. Сомнение вызывает практический аспект: вот прямо сейчас вам ломают дверь, как именно вы будете портить заголовок (написание затиралки, использующей драйвер, заведомо отпадает) и где гарантия, что за 30 секунд все будет испорчено так, как надо?
Заметьте, это уже несколько отличается от первоначального постулата, цитирую: «Нам нужно только уничтожить заголовок зашифрованного раздела».
Опять же, не факт, что заголовок удастся уничтожить быстро. Например, под виндой, ЕМНИП, запись в системные области диска без специальных приседаний заканчивается пшиком (операция удается, но ничего по факту не пишется). Не факт, что веракрипт не восстановит хедер из лучших побуждений. Не факт, что в веракрипте резервная копия хедера расположена там же, где и у трукрипта (обратной совместимости криптоконтейнеров, как я понимаю, нет). И еще десяток «нефактов» можно придумать, каждый из которых, в принципе, не так уж чтобы фатален, но в сумме все сводится все к тому же доверию программе шифрования.
Жесткий диск не так уж просто раздолбать. Там сталь упругая на крышках, так что молот может и в лобешник отскочить (призовая игра!).
Лучше держать под рукой кувалду, а в свободное от неправедных трудов время подрабатывать молотобойцем — для тренировки.
Запись 1 гигабайта данных на диск со скоростью 50 мб/сек займет 20 секунд. Чтобы полностью зачистить диск объемом 1 терабайт, придется подождать 20000 секунд (5 с половиной часов). А чтобы перезаписать все 35 раз, придется брать отпуск и ехать на пару неделек отдыхать… например, на Колыму.
Если же перезаписать только «секретные» файлы, то с немалой вероятностью на диске останутся их более ранние копии (в свободных областях).
В первую очередь это нужно для автоматического тестирования программ, рисующих что-то на терминале с помощью curses, по моему мнению. Как иначе написать тесты для программы, которая ждёт, что пользователь нажмёт клавишу, и выводит результаты в определенное место экрана средствами curses?
В линуксе можно посылать символы в терминал через ioctl. Насчет читать оттуда символы и атрибуты — не интересовался, но теоретически тоже можно. Вот так, к примеру, можно «напечатать» хелловорлд:
Насчет поляков как раз все понятно. В Польше одно время процветал бизнес по перегону краденых автомобилей в СНГ, поэтому поляки стали притчей во языцех и символом автомобильного угона. Сейчас этот «бизнес» уже давно прикрыт, но осадочек-то остался.
А каков алгоритм сравнения (спрашиваю тут, чтоб в ассемблере не ковыряться)? Просто попарно все файлы пакуем и смотрим, получилось ли короче? Это ж сколько оно будет работать при количестве файлов этак тысяч в 60?
Способ с виду рабочий, но у него слишком много недостатков.
Во-первых, держит соединение с сервером. Из-за этого на сервере может быстро исчерпаться пул рабочих потоков. Даже если каждые 2 секунды слать новый ajax-запрос («как там задача?») и получать ответ («пока пыхтит, сделано 30%)», серверу будет легче.
Во-вторых, каждые 2 секунды шлет 4 килобайта несжатого мусора. Немного, конечно, но вдруг у пользователя трафик тарифицируемый? Опять же, короткий запрос-ответ в этом смысле лучше. А еще лучше посчитать по паре ответов примерный ETA и выводить клиенту прогресс-бар, вообще не обращаясь к серверу. Только когда задача, по нашему мнению, досчиталась, тогда и послать запрос «чо как?».
В-третьих, долгоиграющие вещи лучше исполнять на сервере специальными задачами, запускаемыми в фоновом режиме, а не скриптами на PHP. Сервер может быть настроен на автоматическое убиение скриптов, исполняющихся слишком долго, так что пользователь рискует вообще никогда не дождаться результатов.
В вашем примере вводное слово «думаю». (Ну, думаю, пропал!).
Я ведь не зря там ссылочку на словарную статью привел. Статья о слове «ну». Шестой раздел — об использовании слова «ну» в качестве вводного. Пример — оттуда же.
Если вводного слова нет, то с ним уходят и запятые («Все, пропал?». «Ну пропал».).
Ошибаетесь, потому что видите только две роли для «ну». А их гораздо больше.
В роли вводного слова использование «ну» вполне правомерно, и тогда запятая после «ну» вполне оправдана:
— Где портфель?
— Ну, пропал.
«Ну, я пошел». «Ну, вот и весна».
Если же «ну» выступает в роли усилительной частицы, тогда запятая в тех же самых предложениях не нужна, но при этом интонация будет другая:
«Ну пропал». «Ну я пошел». «Ну вот и весна».
Вы не вставайте в позу, я ни в чем не хочу Вас обвинить, как бы Вам не казалось
Вы пытаетесь мне доказать, что я сказал не то, что сказал, а нечто другое, более точно описываемое известными вам правилами.
Вот только язык не всегда можно четко уложить в конкретные правила, потому что они, бывает, противоречат друг другу. В этом случае имеется как бы два набора правил: упрощенные, покрывающие большинство случаев (это то, что мы наблюдаем в школьных учебниках и википедии), и более расширенные, пытающиеся покрыть все известные случаи (это то, что наблюдается в специальной литературе).
В нашем конкретном случае мы имеем пример, скажем так, редкого употребления «ну» в качестве вводного слова. Это не ошибка, но для некоторых читателей может оказаться непривычным (как и употребление слегка устаревшего термина «партиция» вместо более общепринятого «раздел»). Я не писатель, поэтому могу себе позволить такие вольности с языком, благо они не мешают пониманию текста.
Не совсем понял, к чему сей экскурс в тонкости пунктуации. Почему-то вспомнился старый анкедот:
— Ваш сын часто отвлекается на уроках, у него проблемы с правописанием…
— А хавает-то нормально?
— Хавает, то есть кушает, да, нормально…
— Ну так я не понял, все путем или как?
— Мастер, как мне назвать свою книгу?
— Там есть что-нибудь про трубы или барабаны?
— Нет…
— Ну так и назови: «Без труб и барабанов».
А если серьезно, то название должно быть броским и желательно без инговых окончаний. Например,
«Программистские откровения»
«Жизнь и необычайные приключения программистов»
«Компьютерные посиделки: о жизни и ИТ»
«Есть ли жизнь в ИТ? Знаменитости делятся опытом»
И т.д и т. п.
Практически — с этим подходом возможно столько подводных граблей, что даже как-то неловко. Начиная от тупого «руки трясутся — промахнулся мимо нужного пункта, понял это только тогда, когда гном-десктоп загрузился» и заканчивая просто дурацкими ошибками («файловая система не проверялась 180 дней — подождите полчасика, щас проверю, потом продолжим загрузку»).
Просто опыт показывает, что в таких вот редкоиспользуемых местах баги кроются чаще всего. Они не обязательно там будут сразу после написания: какую-нибудь дурацкую ошибку могут и при рефакторинге занести.
Чтобы такого не случилось, нужно не одноразовое тестирование, а полноценные юнит-тесты на эту конкретную функциональность. И чтобы все юнит-тесты гонялись перед каждым релизом.
Двусмысленная фраза. Бэкапы чего — заголовка или самого контейнера? По смыслу — заголовка, а по грамматике — контейнера.
На самом деле, конечно, все не так радужно. Условий тут несколько больше:
— в компьютере нет аппаратных закладок (не обязательно уровня шпионских девайсов: например, беспроводная клавиатура не только общается с компьютером, но и орет все ваши введенные тексты-явки-пароли в прямой эфир в радиусе как минимум десятка метров). Против «красной кнопки» такой перехват не поможет, но только если код реализован корректно (см. ниже).
— в реализации удаления заголовков нет багов. Ситуация усугубляется тем, что код «красной кнопки» вызывается исключительно редко (практически — один раз), поэтому он, фактически, не тестируется. Даже очевидные логические ошибки могут жить в таком коде годами.
Вы серьезно хотите переводить на русский?
А то пацаны английского-то совсем не знают! (прим. читат.)
Я ж не спорю, что затирка заголовка теоретически надежна. Сомнение вызывает практический аспект: вот прямо сейчас вам ломают дверь, как именно вы будете портить заголовок (написание затиралки, использующей драйвер, заведомо отпадает) и где гарантия, что за 30 секунд все будет испорчено так, как надо?
Опять же, не факт, что заголовок удастся уничтожить быстро. Например, под виндой, ЕМНИП, запись в системные области диска без специальных приседаний заканчивается пшиком (операция удается, но ничего по факту не пишется). Не факт, что веракрипт не восстановит хедер из лучших побуждений. Не факт, что в веракрипте резервная копия хедера расположена там же, где и у трукрипта (обратной совместимости криптоконтейнеров, как я понимаю, нет). И еще десяток «нефактов» можно придумать, каждый из которых, в принципе, не так уж чтобы фатален, но в сумме все сводится все к тому же доверию программе шифрования.
Не знаю, как насчет ВераКрипт, а в ТруКрипте резервная копия заголовка таки есть: superuser.com/questions/304861/where-does-truecrypt-store-the-backup-volume-header
Да, она зашифрована с другим ключиком и солтом (т.е. с исходной копией не совпадет), но она таки есть.
Лучше держать под рукой кувалду, а в свободное от неправедных трудов время подрабатывать молотобойцем — для тренировки.
Запись 1 гигабайта данных на диск со скоростью 50 мб/сек займет 20 секунд. Чтобы полностью зачистить диск объемом 1 терабайт, придется подождать 20000 секунд (5 с половиной часов). А чтобы перезаписать все 35 раз, придется брать отпуск и ехать на пару неделек отдыхать… например, на Колыму.
Если же перезаписать только «секретные» файлы, то с немалой вероятностью на диске останутся их более ранние копии (в свободных областях).
В линуксе можно посылать символы в терминал через ioctl. Насчет читать оттуда символы и атрибуты — не интересовался, но теоретически тоже можно. Вот так, к примеру, можно «напечатать» хелловорлд:
Естественно, если хочется, чтобы введенные символы попали в другое приложение, придется запускать его как дочерний процесс.
Во-первых, держит соединение с сервером. Из-за этого на сервере может быстро исчерпаться пул рабочих потоков. Даже если каждые 2 секунды слать новый ajax-запрос («как там задача?») и получать ответ («пока пыхтит, сделано 30%)», серверу будет легче.
Во-вторых, каждые 2 секунды шлет 4 килобайта несжатого мусора. Немного, конечно, но вдруг у пользователя трафик тарифицируемый? Опять же, короткий запрос-ответ в этом смысле лучше. А еще лучше посчитать по паре ответов примерный ETA и выводить клиенту прогресс-бар, вообще не обращаясь к серверу. Только когда задача, по нашему мнению, досчиталась, тогда и послать запрос «чо как?».
В-третьих, долгоиграющие вещи лучше исполнять на сервере специальными задачами, запускаемыми в фоновом режиме, а не скриптами на PHP. Сервер может быть настроен на автоматическое убиение скриптов, исполняющихся слишком долго, так что пользователь рискует вообще никогда не дождаться результатов.
Я ведь не зря там ссылочку на словарную статью привел. Статья о слове «ну». Шестой раздел — об использовании слова «ну» в качестве вводного. Пример — оттуда же.
Ошибаетесь, потому что видите только две роли для «ну». А их гораздо больше.
В роли вводного слова использование «ну» вполне правомерно, и тогда запятая после «ну» вполне оправдана:
— Где портфель?
— Ну, пропал.
«Ну, я пошел». «Ну, вот и весна».
Если же «ну» выступает в роли усилительной частицы, тогда запятая в тех же самых предложениях не нужна, но при этом интонация будет другая:
«Ну пропал». «Ну я пошел». «Ну вот и весна».
Вы пытаетесь мне доказать, что я сказал не то, что сказал, а нечто другое, более точно описываемое известными вам правилами.
Вот только язык не всегда можно четко уложить в конкретные правила, потому что они, бывает, противоречат друг другу. В этом случае имеется как бы два набора правил: упрощенные, покрывающие большинство случаев (это то, что мы наблюдаем в школьных учебниках и википедии), и более расширенные, пытающиеся покрыть все известные случаи (это то, что наблюдается в специальной литературе).
В нашем конкретном случае мы имеем пример, скажем так, редкого употребления «ну» в качестве вводного слова. Это не ошибка, но для некоторых читателей может оказаться непривычным (как и употребление слегка устаревшего термина «партиция» вместо более общепринятого «раздел»). Я не писатель, поэтому могу себе позволить такие вольности с языком, благо они не мешают пониманию текста.
— Ваш сын часто отвлекается на уроках, у него проблемы с правописанием…
— А хавает-то нормально?
— Хавает, то есть кушает, да, нормально…
— Ну так я не понял, все путем или как?
ПишИте — это приказ писать.
ПИшете — это глагол в 3 лице мн. ч. настоящего времени.
Не путайте.