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

Пользователь

Отправить сообщение
Вспомнился старый анекдот:
— Мастер, как мне назвать свою книгу?
— Там есть что-нибудь про трубы или барабаны?
— Нет…
— Ну так и назови: «Без труб и барабанов».

А если серьезно, то название должно быть броским и желательно без инговых окончаний. Например,
«Программистские откровения»
«Жизнь и необычайные приключения программистов»
«Компьютерные посиделки: о жизни и ИТ»
«Есть ли жизнь в ИТ? Знаменитости делятся опытом»
И т.д и т. п.
Теоретически — все верно.
Практически — с этим подходом возможно столько подводных граблей, что даже как-то неловко. Начиная от тупого «руки трясутся — промахнулся мимо нужного пункта, понял это только тогда, когда гном-десктоп загрузился» и заканчивая просто дурацкими ошибками («файловая система не проверялась 180 дней — подождите полчасика, щас проверю, потом продолжим загрузку»).
Да согласен, конечно. Все именно так.

Просто опыт показывает, что в таких вот редкоиспользуемых местах баги кроются чаще всего. Они не обязательно там будут сразу после написания: какую-нибудь дурацкую ошибку могут и при рефакторинге занести.

Чтобы такого не случилось, нужно не одноразовое тестирование, а полноценные юнит-тесты на эту конкретную функциональность. И чтобы все юнит-тесты гонялись перед каждым релизом.

при условии неуязвимости протоколов шифрования дисков и алгоритмов вам достаточно гарантировано уничтожить заголовок контейнера и все его бекапы

Двусмысленная фраза. Бэкапы чего — заголовка или самого контейнера? По смыслу — заголовка, а по грамматике — контейнера.

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

Вы серьезно хотите переводить на русский?

«ClientContext» («КонтекстКлиента». Прим. перев.)
«TimestampType» («ТипМеткиВремени». Прим. перев.)

А то пацаны английского-то совсем не знают! (прим. читат.)
Так оно там уже есть или его надо организовывать самостоятельно? :)

Я ж не спорю, что затирка заголовка теоретически надежна. Сомнение вызывает практический аспект: вот прямо сейчас вам ломают дверь, как именно вы будете портить заголовок (написание затиралки, использующей драйвер, заведомо отпадает) и где гарантия, что за 30 секунд все будет испорчено так, как надо?
Заметьте, это уже несколько отличается от первоначального постулата, цитирую: «Нам нужно только уничтожить заголовок зашифрованного раздела».

Опять же, не факт, что заголовок удастся уничтожить быстро. Например, под виндой, ЕМНИП, запись в системные области диска без специальных приседаний заканчивается пшиком (операция удается, но ничего по факту не пишется). Не факт, что веракрипт не восстановит хедер из лучших побуждений. Не факт, что в веракрипте резервная копия хедера расположена там же, где и у трукрипта (обратной совместимости криптоконтейнеров, как я понимаю, нет). И еще десяток «нефактов» можно придумать, каждый из которых, в принципе, не так уж чтобы фатален, но в сумме все сводится все к тому же доверию программе шифрования.

TrueCrypt — это то, во что развился древний ScramDisk? Помнится, переписывался с авторами как раз по поводу хедеров и странностей в его распознавании.

Не знаю, как насчет ВераКрипт, а в ТруКрипте резервная копия заголовка таки есть: superuser.com/questions/304861/where-does-truecrypt-store-the-backup-volume-header

Да, она зашифрована с другим ключиком и солтом (т.е. с исходной копией не совпадет), но она таки есть.
Нужно весьма доверять своей программе шифрования на предмет несохранения «резервных копий» заголовка (и вообще отсутствия бэкдоров для спецслужб).
Жесткий диск не так уж просто раздолбать. Там сталь упругая на крышках, так что молот может и в лобешник отскочить (призовая игра!).
Лучше держать под рукой кувалду, а в свободное от неправедных трудов время подрабатывать молотобойцем — для тренировки.
По времени не уложится.

Запись 1 гигабайта данных на диск со скоростью 50 мб/сек займет 20 секунд. Чтобы полностью зачистить диск объемом 1 терабайт, придется подождать 20000 секунд (5 с половиной часов). А чтобы перезаписать все 35 раз, придется брать отпуск и ехать на пару неделек отдыхать… например, на Колыму.

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

В линуксе можно посылать символы в терминал через ioctl. Насчет читать оттуда символы и атрибуты — не интересовался, но теоретически тоже можно. Вот так, к примеру, можно «напечатать» хелловорлд:

#!/usr/bin/perl -w
use strict;

open(HC, "+</dev/tty");
my $s = "Hello, world!\n";

for(my $i=0; $i < length($s); ++$i)
{
   ioctl HC, 0x5412, substr( $s, $i, 1 );
}



Естественно, если хочется, чтобы введенные символы попали в другое приложение, придется запускать его как дочерний процесс.
Пока искал картинку, стало поздно редактировать комментарий:
Картинка в тему
image
Насчет поляков как раз все понятно. В Польше одно время процветал бизнес по перегону краденых автомобилей в СНГ, поэтому поляки стали притчей во языцех и символом автомобильного угона. Сейчас этот «бизнес» уже давно прикрыт, но осадочек-то остался.
А каков алгоритм сравнения (спрашиваю тут, чтоб в ассемблере не ковыряться)? Просто попарно все файлы пакуем и смотрим, получилось ли короче? Это ж сколько оно будет работать при количестве файлов этак тысяч в 60?
Способ с виду рабочий, но у него слишком много недостатков.

Во-первых, держит соединение с сервером. Из-за этого на сервере может быстро исчерпаться пул рабочих потоков. Даже если каждые 2 секунды слать новый ajax-запрос («как там задача?») и получать ответ («пока пыхтит, сделано 30%)», серверу будет легче.

Во-вторых, каждые 2 секунды шлет 4 килобайта несжатого мусора. Немного, конечно, но вдруг у пользователя трафик тарифицируемый? Опять же, короткий запрос-ответ в этом смысле лучше. А еще лучше посчитать по паре ответов примерный ETA и выводить клиенту прогресс-бар, вообще не обращаясь к серверу. Только когда задача, по нашему мнению, досчиталась, тогда и послать запрос «чо как?».

В-третьих, долгоиграющие вещи лучше исполнять на сервере специальными задачами, запускаемыми в фоновом режиме, а не скриптами на PHP. Сервер может быть настроен на автоматическое убиение скриптов, исполняющихся слишком долго, так что пользователь рискует вообще никогда не дождаться результатов.
В вашем примере вводное слово «думаю». (Ну, думаю, пропал!).

Я ведь не зря там ссылочку на словарную статью привел. Статья о слове «ну». Шестой раздел — об использовании слова «ну» в качестве вводного. Пример — оттуда же.

Если вводного слова нет, то с ним уходят и запятые («Все, пропал?». «Ну пропал».).

Ошибаетесь, потому что видите только две роли для «ну». А их гораздо больше.

В роли вводного слова использование «ну» вполне правомерно, и тогда запятая после «ну» вполне оправдана:
— Где портфель?
— Ну, пропал.
«Ну, я пошел». «Ну, вот и весна».

Если же «ну» выступает в роли усилительной частицы, тогда запятая в тех же самых предложениях не нужна, но при этом интонация будет другая:
«Ну пропал». «Ну я пошел». «Ну вот и весна».

Вы не вставайте в позу, я ни в чем не хочу Вас обвинить, как бы Вам не казалось

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

Вот только язык не всегда можно четко уложить в конкретные правила, потому что они, бывает, противоречат друг другу. В этом случае имеется как бы два набора правил: упрощенные, покрывающие большинство случаев (это то, что мы наблюдаем в школьных учебниках и википедии), и более расширенные, пытающиеся покрыть все известные случаи (это то, что наблюдается в специальной литературе).

В нашем конкретном случае мы имеем пример, скажем так, редкого употребления «ну» в качестве вводного слова. Это не ошибка, но для некоторых читателей может оказаться непривычным (как и употребление слегка устаревшего термина «партиция» вместо более общепринятого «раздел»). Я не писатель, поэтому могу себе позволить такие вольности с языком, благо они не мешают пониманию текста.
Не стоит искать ошибку там, где ее нет. В данном предложении частица «ну» — это вводное слово. Ну, разговариваю я так. :)

www.slovopedia.com/3/205/805349.html:
6. частица. употр. в знач. союза, указывающего на вывод, заключение или на вводное замечание. Ну, думаю, пропал!
Не совсем понял, к чему сей экскурс в тонкости пунктуации. Почему-то вспомнился старый анкедот:
— Ваш сын часто отвлекается на уроках, у него проблемы с правописанием…
— А хавает-то нормально?
— Хавает, то есть кушает, да, нормально…
— Ну так я не понял, все путем или как?
Perl же в этом плане выбрал несколько другой путь — пока вы пишите на любом языке, интерпретатор будет считать, что вы пишите на Perl.

ПишИте — это приказ писать.
ПИшете — это глагол в 3 лице мн. ч. настоящего времени.
Не путайте.

Информация

В рейтинге
5 630-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность