Например, некий «dropbox» хранит ваши данные зашифрованные вашим ключем (т.е. сам прочитать их не может), а нечто вроде полнотекстовой индексации по ним делать может.
Странно, что не знаменитую машину в лапутской академии:
«Рама эта имела двадцать квадратных футов и помещалась посредине комнаты. Поверхность ее состояла из множества деревянных дощечек, каждая величиною в игральную кость, одни побольше, другие поменьше. Все они были сцеплены между собой тонкими проволоками. Со всех сторон каждой дощечки приклеено было по кусочку бумаги, и на этих бумажках были написаны все слова их языка в различных наклонениях, временах и падежах, но без всякого порядка.… каждый ученик взялся за железную рукоятку, которые в числе сорока были вставлены по краям рамы, и быстро повернул ее, после чего расположение слов совершенно изменилось. Тогда профессор приказал… медленно читать образовавшиеся строки в том порядке, в каком они разместились в раме; если случалось, что три или четыре слова составляли часть фразы, ее диктовали остальным четырем ученикам, исполнявшим роль писцов.… профессор показал мне множество фолиантов, составленных из подобных отрывочных фраз; он намеревался связать их вместе и от этого богатого материала дать миру полный компендий всех искусств и наук»
У американцев теократия, у кельтов, за которых играет автор, — коммунизм (The only governments left are two theocracies and myself, a communist state.). Забвано, конечно, что в результате получился в точности «1984».
Я имел в виду, что вы берете из «Terminal.app Compatibility» необходимую escape-последовательность (e.g., «e[5D») и назначаете ее подходящей комбинации клавиш в своем профайле.
Полезная команда mdfind — интерфейс к Spotlight. mdfind -name foo — найти все файлы с «foo» в имени, mdfind foo — все файлы, содержащие «foo» (без сканирования).
Я попробовал. Недостаток: '=' не очень отличается от '-' из-за маленького расстояния между линиями. В остальном очень неплохо. На уровне Consolas и Monaco.
chroot делает dot-dot в новом корне эквивалентным просто dot, т.е. лишает возможности подняться из-под нового корня наверх. Если процесс каким-то образом получил текущую директорию, которая _не_ под новым корнем, то chroot не помешает подняться из этой директории до настоящего корня. Есть несколько способов получить такую текущую директорию. Один основан на том, что согласно POSIX, chroot не меняет текущую директорию, поэтому если мы из-под chroot сделаем еще один chroot на поддиректорию текущей, то наша текущая директория будеи выше корня и см. выше. Второй способ (приведенный мной) работает для тех старых UNIX-ов, где chroot «улучшили», чтобы он менял текующую директорию на новый корень. Идея остается той же: делаем новый chroot и возвращаемся наверх при помощи fchdir. Как сказал по этому поводу Алан Кокс «If you have the ability to use chroot() you are root. If you are root you can walk happily out of any chroot by a thousand other means».
Ну, раз это непонятно: strace и ltrace удобно использовать для того, чтобы быстро выяснить до какой точки дошло выполнение и что при этом происходило (ошибки, водвращаемые значения и пр.).
if (!list.empty()) x = list.front().field0->field1;if (list.size > 0) list.front().field++;Вообще говоря, может измениться locality of reference. Она лучше, когда измерения идут в том же порядке, в котором вложены циклы.
fd = open(".", O_RDONLY);
mkdir("./tmp", 0700);
chroot("./tmp");
fchdir(fd);
while (...) chdir("..");