Skip to content

Category Archives: Ideas

Good ideas pending future execution.

Версионная файловая система

thoughtful emoticon

Я хочу файловую систему с версионированием.

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

  1. Людей, работающих по контракту на правительство или иную организацию, требующую строжайшей отчетности — этим надо чтобы осталось все, всегда, во всех случаях, и у них денег на диски куры не клюют.
  2. Людей, которым надо не больше, чем просто сохранять предыдущие версии конфигов — это просто и само по себе не шибко актуально.
  3. Людей, которые работают с относительно небольшими объемами файлов, по которым требуются подробные исторические данные — этим файловая система нужна просто как более удобный способ работы с версионирующей системой.

Я же хочу достаточно определенную файловую систему, которая:

  1. Хранила бы не дельту текущего состояния файла относительно его изначального состояния, а скорее, наоборот — дельту предыдущего состояния файла относительно текущего. Это вообще-то не принципиально, но значительно облегчит ремонт в случае массового облома, в котором я во всяком случае хотел бы видеть последние версии файлов с которыми работал, а история их вторична.
  2. В которой все пространство, занимаемое данными о предыдущих версиях, считается свободным, и предыдущие версии постепенно издыхают по мере того, как свободное место на диске заканчивается.

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

Только вот что-то ничего похожего я не нашел…

В динамике

thoughtful emoticon

Мысль какая интересная… Все сайты мыслятся как динамические, что не всегда правильно.

Мы привыкли к сайтам на которых можно добавлять материалы, менять шкурки, заливать чего-то, отвечать на что-то… далеко не всякому сайту это нужно, и даже те сайты, которым это не нужно, часто тоже делаются как динамические. Потом их забывают на три года, а через три года в старой версии движка, на котором они сделаны, обнаруживается дыра, и их валят.

Соорудить бы что-нибудь на основе штатного софта для зеркаления, которое бы достаточно надежно сворачивало бы сайт в статический html, паковало бы код в злопрятанный файл, и переводило сайт в режим непробиваемой консервации… Проблема, правда, сделать эту систему достаточно универсальной.

Интероперабельность

enthusiastic emoticon

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

Итак, я придумал как реализовать трекбеки и пингбеки, по крайней мере на отправку,1 в блогах, которые сами их не поддерживают, к числу каковых относятся все самые массовые на Руси блог-сервисы, как то ЖЖ, лиру и дайрики, без поддержки их хостинговых компаний, которую днем с огнем не дождешься.

Делается это так:

  1. Регистрируем самый короткий домен в .ru какой дадут.
  2. Когда вы хотите сослаться на чужой постинг, вы пишете ссылку на него посредством http://домен.ру/настоящий.домен.ком/куда-мы-там-шли сохраняя всю остальную строчку без изменений.
  3. Как только по ссылке кто-нибудь кликает в первый раз, домен анализирует откуда пришла ссылка, куда она отправилась, и если с той стороны понимают хотя бы один из стандартов линкбека, постит туда тот из стандартов который поддерживается штатным порядком.
  4. Если ни один из стандартов не поддерживается, т.е. адресат ссылки сам находится на дайриках или в ЖЖ, в комментариях у него отмечается специально заведенный на этом сервисе бот, или, в случае ЖЖ, OpenID.

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

Кстати, для Wordpress можно написать плагин, который бы перед пингами ссылок проверял, не направлены ли они туда, где сами линкбеков не поддерживают, но куда умеет постить вышеописанный сервер, и исправлял бы ссылки надлежащим образом.

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

  1. Получение линкбеков можно реализовать аналогичным образом, но сложнее.

Истинно-Персональный Компьютер

thoughtful emoticon

Или точнее, сервер. Примерно как Истинно-Православный… Это побочное ответвление идеи сервера-кубика-в-себе, и звучит примерно так:

Периодически, может возникнуть желание иметь Совсем Свой Сервер. Вот чтобы совсем свой. Чтобы он не просто где-то жил. Чтобы сайт не просто где-то находился, чтобы он был в любой момент под физическим контролем. Ибо случаев, когда провайдер или хостер подводит — море, вон я только что пронаблюдал еще один. В результате, выпуская критический ресурс из своих рук, мы не только имеем single point of failure (что в общем нормально, при достаточно аккуратном отношении) но и отдаем ее в чужие, нередко, недобрые, или попросту косые руки.

Я решил проблему, имея свою машину в своем логове. Если она сдохнет, на восстановление хотя бы в минимальной форме мне потребуются часы. Большой проект я бы хостить таким манером не стал, но большой проект ответственность все равно коллективная, а персональный ресурс вроде этого блога — дело другое. Тем не менее, такой вариант подходит только тем, у кого компьютеры размножаются делением, вроде меня.

Оптимальным решением было бы портативное фабричное устройство, которое можно было бы воткнуть в сеть любым образом и в любом месте, в том числе по USB после установки драйвера с него же как с винта, на котором крутился бы веб-сервер, были бы заткнуты все лишние порты наглухо и так далее. Железная часть повторябельна в домашних условиях на основе любого из рассмотренных ранее вариантов сервера-кубика, и она тут строго говоря вторична.

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

Никаких идей как внятно решить такую проблему у меня, к сожалению, нет, окромя, мягко говоря, кривого пути. А именно, сеть анонимайзеров Tor отличается тем, что создает внутри себя новый домен первого уровня, в котором любой клиент сети может получить уникальный (и анонимный, т.е. не превращающийся в реальный ip-адрес ни на каком этапе) адрес типа многабукаф.onion.

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

Существуют ли какие-либо более удобные способы надежно и автоматически протыкать файрволл вовнутрь?

BlogTeX

thoughtful emoticon

Все эти множественные софтины которые автоматически генерят из журнала PDF для публикации — профанация чистой воды.

На самом деле нужен простой скрипт который получит из него TeX, годный для последующего редактирования. Потому что действительно красивую книжку никакой автомат получить не сможет, а вот тех можно допинать до таковой довольно быстро.

Надо будет написать как-нибудь…

Киносъемки

enthusiastic emoticon

Приснилась еще одна интересная идея, которой вроде бы еще не было в чистом виде, хотя были различные варианты на тему фотографии…

Итак, игра, шутер. Только стреляете не вы, а проскриптованый по самое немогу бот. Или, как вариант, ваш напарник. А вы — кинооператор.

Потому что это не шутер вовсе, а игра про киносъемки, где оператор должен как можно более тщательно выполнить указания режиссера. Каждый раз когда он ошибается, замученный до последнего каскадер-главгерой разражается веером матюков и бьет оператора ломиком по голове, актеры-монстры вылезают из своих кукольных костюмов и тоже участвуют, тратятся деньги и бюджет съемки, и все надо сделать Очень Тщательно… Впрочем, и они ошибаются иногда, и тогда виноват не игрок оператор, а они.

А потом получается фильм, обильно политый потом, кровью и слезами.

Самый страшный теракт

amused emoticon

Для его проведения не надо ничего делать, никуда ехать, и уж тем более вставать с кресла.

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

Через две недели, во всем мире запретят проносить в самолет не только жидкости, но и вообще всякие сумки. Люди будут вынуждены при входе в аэропорт перекладывать свои вещи в мешки для трупов.

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

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