Опубликован (http://execbit.ru/2011/04/15/russ_cox_int/) перевод интервью Расом Коксом (Russ Cox), одним из разработчиков операционной системы Plan 9 и языка программирования Go, автором сервиса Google Code Search и программного комплекса Plan 9 from User Space.URL: http://execbit.ru/2011/04/15/russ_cox_int/
Новость: http://www.opennet.me/opennews/art.shtml?num=30259
<quote>
Больше всего мне не хватает вещей, которые были обыденными в Plan 9, например уверенности в том, что за какой бы компьютер я не сел, я получу одно и то же рабочее окружение. Когда я работал с Plan 9 это было нормальным, потому что все мои файлы хранились на файловом сервере, а у рабочих компьютеров не было жестких дисков. После работы можно было пойти домой, сесть за компьютер и продолжить работу над незаконченными делами даже не заметив разницы. Конечно, это работало только благодаря тому, что у каждого из нас было хорошее соединение с сервером, к тому же сохранялось только состояние файлов, а не самих приложений, но так или иначе это было круто.Сегодня у каждого есть свой жесткий диск и какое-то количество личной информации на нем, поэтому приходится использовать такие системы как Unison или Dropbox (или Mercurial и Git, если вы опытный пользователь) чтобы синхронизировать их. В Plan 9 все это работало "из коробки" и не требовало какого-либо вмешательства. Я мечтаю вернуться к такому окружению, чтобы я смог получить срочное сообщение находясь дома, сесть на поезд, открыть ноутбук и продолжить работу с той точки, на которой я остановился абсолютно не задумываясь о том как это работает.
</quote>Мде-е-е-е. Работаешь по SSH на работе. Приходишь домой и продолжаешь работать по SSH. Что я делаю не так?
Emacs ( или vim ) тоже по ssh? А как быть с Thunderbird - переползать на mutt? Не медленно ли выйдет?
Монтируешь по ssh-fuse .mozilla (или как оно в тандерберде) к себе в хомяк и запускаешь
> Emacs ( или vim ) тоже по ssh? А как быть с
> Thunderbird - переползать на mutt? Не медленно ли выйдет?В чем проблема с vim по ssh?
> В чем проблема с vim по ssh?Медленно будет отрисовывать изменения при большом пинге.
А в чём проблема с Emacs под ssh?
ssh_config:
ForwardX11 yes
И работаеш со всеми графическими приложениями, при очень хорошем соединении.
При разрыве соединения, запущенные приложения "висят" в нигде, и их только килять и перезапускать.
Иксы по сети (форвардинг) - пока что не более чем прототип, вот когда будет прозрачный переброс окон между клиентами - тогда будет счастье.
100% Вы правы.
У меня очень хорошее соединение но только в крайних случаях прибегаю к этому, хотя оно и возможно.
> При разрыве соединения, запущенные приложения "висят" в нигде, и их только килять
> и перезапускать.А что ещё никакой прокси для этого не написали?
дык в план9 похоже ничуть не лучше,
"к тому же сохранялось только состояние файлов, а не самих приложений"
> дык в план9 похоже ничуть не лучше,
> "к тому же сохранялось только состояние файлов, а не самих приложений"Это вам нужно завалишинский Фантом гонять - там ОС по-идее будет знать о "родных" программах всё. И сохранять, и перебрасывать их с машины на машину целиком и по-частям. :-)
>завалишинский ФантомКстати, просто очень хороший пример адекватного названия проекта "Фантом ОС" - отражает суть на все 100%.
Это не настоящее распределенное ПО, это тупо передача картинки на клиент. Не тру.
а зачем огнептицу запускать?
У меня офисная почта доступна как через pop3, так и через imap
какая разница где почту читать?
Вся почта через imap, обращаюсь к 5 ящикам с 3 разных компов за день через icedove, единственная проблема - синхронизация списка доверенных адресов и адресная книга, ну и фильтры.
> Emacs ( или vim ) тоже по ssh?А в чём проблема?!
> А как быть с Thunderbird - переползать на mutt? Не медленно ли выйдет?
Что за бред, с чего медленно? mutt работает замечательно.
И это, кстати, лишний повод использовать консольный софт.
>А в чём проблема?!Проблема в том, что при большом пинге очень неудобно работать. Нажмешь клавишу и ждешь секунду-другую, пока она отрисуется на экране. Можно, конечно, не обращать внимание на экран, но при этом затрудняется поиск опечаток, да и непривычно как-то. В идеале хотелось бы, чтобы файл кэшировался на локальной машине и обновлялся на удаленной только по сохранению. А это уже не SSH, а сетевая ФС.
> В идеале хотелось бы, чтобы файл кэшировался на локальной машине и обновлялся на удаленной только по сохранению.Именно это и делает встроеный в Emacs модуль tramp, а ещё tramp прозрачно запускает стандартные команды типа grep на удалённой ФС по ssh :)
> Именно это и делает встроеный в Emacs модуль trampСпасибо! Не знал про него.
мсье ssh -X не осилил?
Еще маленькое добавление:
действительно - что сложного то? Если ты девелопер - и пишешь только код, в чем проблема удаленно монтировать рабочие диски и продолжать работать?
Я к примеру совсем не зависим от железа:
- почту проверяю с телефона через vpn
- софт пишется удаленно либо через ssh (особенность работы - графики не нужно)
- управлять своими серверами и раутерами - тоже через ssh/telnetПусть лучше расскажет как смотреть фильмы на План9
> Еще маленькое добавление:
> действительно - что сложного то? Если ты девелопер - и пишешь только
> код, в чем проблема удаленно монтировать рабочие диски и продолжать работать?Проблема в том что когда вы запустите поиск по исходному коду на смонтированной удалённой ФС, Вам придётся всю её выкачать чтобы пропустить данные через локальный grep. Это проблема. В идеале grep должен запускаться на удалённой машине, а локально показывать только свой вывод.
http://ninetimes.cat-v.org/news/2009/09/07/0-mplayer9/
О, круто.
Тогда к этому нужен адекватный почтовик. Нет, acme не предлагать.
Ну и браузер. Харон тоже не предлагать:) что бы умел не то что флеш, хотя бы js.
> Мде-е-е-е. Работаешь по SSH на работе. Приходишь домой и продолжаешь работать по SSH. Что я делаю не так?
> В Plan 9 все это работало "из коробки" и не требовало какого-либо вмешательства.Сказано достаточно.
Кстати, Кокс не договаривает о том, что подключение к ssh серверу (ver 2) не так уж и тривиально и "из коробки".
ssh умеется только ver.1
Ну и зачем это интервью? Узнать его любимый редактор? Я думал про Го чего-нибудь расскажет.
Интервью с Коксом о Плане :)
> Интервью с Коксом о Плане :)Точно! Так и напрашивается диалог:
- Если у вас план, мистер Кокс?
- Есть ли у меня план? Есть ли у меня план?!
Да у меня пять мешков отличного индийского плана!)))))
ssh + screen и ничего не потеряется...
Звучит как "на девятку тоже можно литые диски поставить, будет не хуже тоёты". Ты все терминальные сессии сразу в скрине запускаешь, чтобы можно было к ним потом удалённо подключиться?И потом, как-то даже сравнивать смешно. SSH уже научился пробрасывать по сети любые устройства? Уже можно записать диск по SSH или с вебкамерой работать?
> Звучит как "на девятку тоже можно литые диски поставить, будет не хуже
> тоёты". Ты все терминальные сессии сразу в скрине запускаешь, чтобы можно
> было к ним потом удалённо подключиться?Ты не поверишь, но даже на локальном десктопе я работаю в xterm+screen. Да, у меня ВСЕ консольные сессии априоре в скрине.
> И потом, как-то даже сравнивать смешно. SSH уже научился пробрасывать по сети
> любые устройства? Уже можно записать диск по SSH или с вебкамерой
> работать?Ты не поверишь... через sshfs почему-то с внутренностями /dev нет проблем.
Иногда бесят линуксойды в своей красноглазой упёртости: ЛИНАКС ЛУЧШАЯ ОПЕРАЦИОНКА И НИЧЕГО ДРУГОГО НЕ НАДО. Я и сам красноглазый линуксойд, но и то понимаю, что линукс (и юникс) местами жутко устарел, а местами с самого начала был крив. Тот же ioctl и подобные костыли, из-за которых абстракция "всё файл" никогда не работала, попробуйте-ка /dev примонтировать по сети и поработать с устройствами, лол. Но нет, вместо того, чтобы стремиться к совершенству линуксойды сидят и твердят НИЧЕГО МЕНЯТЬ НЕ НАДО ВСЁ И ТАК ХОРОШО. Хуже вендузятников, право.
>> абстракция "всё файл"бредовая абстракция, такая же как и абстракция "винда - лучшая операционка" :)
>> Тот же ioctl и подобные костыли
приведите другой способ синхронного вызова произвольной функции ядра без добавления еще одного сисколла
>> попробуйте-ка /dev примонтировать по сети и поработать с устройствами
похоже вы не понимаете как приложения взаимодействуют с ядром операционки.
Поясняю.
При открытии устройства ядро выдает handle.
При обращении к устройству приложение передает ядру этот handle.
Если /dev - на другой машине, то handle тоже должен быть выдан ядром другой машины.
Тогда и обращаться приложение с этим handl'ом должно к ядру другой машины - что приводит к необходимости proxy на user-level'е (в libc?).
Теперь спрашивается, зачем весь этот геморрой, когда на и текущей архитектуре задача обращения к устройству на другой машине решается тем же proxy - приложение обращается по сети к демону на другой машине (например ssh)Вообще, никакой технической сложности в реализации абстракции "всё файл" нет, но и особого профита это не дает.
Вы кроме своего линукса что-нибудь знаете?Hint: в заголовке топика есть слово Plan 9.
т.е. вы считаете линуксе нельзя реализовать идеи plan 9?
я думаю можно. Но нужно ли?
Ребята и Bell Labs придумали что-то, часть идей прижилась (/proc), часть идей - нет.
plan 9 - исследовательский проект, как был им так и остался.
Потому что объективным причинам уступает линуксу, как и микроядро уступает гибридному (линуксу) :)
> абстракция "всё файл" никогда не работалахочешь, расскажу страшный секрет? в Plan9 ВСЁ ФАЙЛ! вот такой вот ужас.