LINUX.ORG.RU
ФорумTalks

Сначала было файло. И после было файло.


0

2

Куда-то всё дальше и дальше уходит Линукс от аксиомы «всё есть файл». А ведь так удобно было бы, ->НАПРИМЕР<-, скомандовать cat /var/www/linux.org.ru/tracker.jsp и посмотреть трекер. Или - cat /var/audio/home/track01.ogg и прослушать трэк. Простым набором и сохранением текста в файле /var/mail/grishakurochkin@yandex.ru отправить письмо. а для разработчиков какое раздолье - всё сведётся к простому чтению или записи в файл. Скажите мне, что такая система существует, ну пожалуйста!



Последнее исправление: CTAPK (всего исправлений: 1)
Ответ на: комментарий от CTAPK

CTAPK> Чувак, чем это не конвейер?

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

Quasar ★★★★★
()

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

ixrws ★★★
()
Ответ на: комментарий от Quasar

>он не отвечает за управления потоками ввода-вывода

Чувак, есть ввод и есть вывод, комбинируй их как хочешь.

CTAPK
() автор топика
Ответ на: комментарий от Quasar
echo 'mp3' > /dev/adecoder
cat file.mp3 > /dev/audio

Вот как-то так можно было бы играть mp3.

Artificial_Thought ★★★★
()
Ответ на: комментарий от ixrws

>Вот смотрите, у вас допустим медиапоток, допустим видео, вам нужно взять 15 секунд этого потока после 1го часа. Как вы это сделаете с файлом? Нужно знать структуру, пусть даже она будет каким-то образом обработана и отображена.

Хм. Например, взять за стандарт какой-нибудь один формат. Идёт поток с ютуба, он на лету перекодируется в этот формат и сохраняется в файл. Потом этот файл можно прочитать и сохранить в любом формате, перекодировав.

CTAPK
() автор топика
Ответ на: комментарий от CTAPK

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

CTAPK
() автор топика
Ответ на: комментарий от CTAPK

>Ну да!

Ещё раз: я в программе открываю файл и пытаюсь считать из него что-нибудь, а из колонок льётся музыка?

Yareg ★★★
()
Ответ на: комментарий от Yareg

Ты же не открываешь аудиофайлы в надежде «почитать» их. Не, у меня бывало такое после приёма кое-чего, но мы же адекватные люди большую часть времени.

CTAPK
() автор топика
Ответ на: комментарий от Yareg

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

CTAPK
() автор топика

Не пойму, почему на ТС'а так накинулись. Ведь он всё верно говорит. Разве что с музыкой перебор - там идея не та. Не чтобы всё подряд через cat пропускать, а чтобы разного рода ресурсы (скажем файл на диске и файл в где-то в интернете) представлялись одинаково.

different_thing
()
Ответ на: комментарий от CTAPK

Зачем юзеру лезть в консоль, cat-ить нечто? Набрал в строке поиска «Pink Floyd» - выводим список альбомов, и т.п. Аки в гугле.

anon_666
()
Ответ на: комментарий от CTAPK

Да, и пользовать этот один стандарт видео и для ютуба, и для ХД, и для немощных мобильников, и для бытовых плееров. Восхитительная идея.

Так же и с графикой! И с аудио! Единые стандарты во все поля!

Я прям не понимаю, как никто раньше не додумался.

Deleted
()

>cat /var/www/linux.org.ru/tracker.jsp
А почему бы не
cat /var/www/ru/org/l/li/lin/linu/linux/tracker.jsp ?

Fletch ★★
()

> Куда-то всё дальше и дальше уходит Линукс от аксиомы «всё есть файл»

Ты к ней и не приходил

Или - cat /var/audio/home/track01.ogg и прослушать трэк.

cat выдаёт содержимое файла. Если бы эмулятор терминала понимал ogg на выхлопе он бы играл, да вот незатача он текстовый.

а для разработчиков какое раздолье - всё сведётся к простому чтению или записи в файл.

Если такое раздолье появится, я продам свои лаптопы куплю калаш и п-да такому изобретателю.

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

iBliss
()
Ответ на: комментарий от anon_666

Можно и так сделать. Пользователю о файлах знать необязательно.

CTAPK
() автор топика
Ответ на: комментарий от Deleted

А что такого? Эти стандарты - промежуточные. Никто не заставляет всех сохранять в них всё подряд.

CTAPK
() автор топика
Ответ на: комментарий от anon_666

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

CTAPK
() автор топика
Ответ на: комментарий от CTAPK

Ну или не копирования, а таскания мышкой.

CTAPK
() автор топика
Ответ на: комментарий от CTAPK

А если я отредактировать его хочу?

«Скопировать в каталог-модуль, в котором его можно будет отредактировать»?

Yareg ★★★
()
Ответ на: комментарий от CTAPK

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

anon_666
()
Ответ на: комментарий от CTAPK

Не, ну, в принципе, действительно можно запилить fuse-player. Монтируешь ~/playlist и потом просто скидываешь туда файлы. Но это вряд ли будет удобнее нормального плеера с коллекцией.

Yareg ★★★
()

Во всем виноват Медведев

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

redgremlin ★★★★★
()

> cat /var/audio/home/track01.ogg

Пардон, читал невнимательно. Да, автор объелся грибов. Я думал он устройство, например, для прослушки аудио хочет запилить. Как /dev/dsp, только для сжатого. Типа cat aaaa.mp3 > /dev/superaudiodevice

different_thing
()

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

Другими словами, чем 'cat /var/www/linux.org.ru/tracker.jsp' лучше 'firefox http://linux.org.ru/tracker.jsp' или 'wget http://linux.org.ru/tracker.jsp'?

Yareg ★★★
()
Ответ на: комментарий от Yareg

>Если идея с почтой, может быть, и имеет какой-то смысл

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

Yareg ★★★
()
Ответ на: комментарий от Yareg

>ты же не собрался читать страницы в терминале

Можно и так, но не в этом суть. Суть в удобном и наглядном представлении любых данных.

CTAPK
() автор топика
Ответ на: комментарий от Yareg

>Во-первых, ты же не собрался читать страницы в терминале. Во-вторых, урлы очень часто содержат в себе волшебный знак ?, или, ещё хуже, знак # + аяксоскрипты.

И шо?

different_thing
()
Ответ на: комментарий от different_thing

Ну если без скриптов ещё ничего, но вроде как «не ложится» на концепцию ФС, то со скриптами вообще какая-то фигня получается. Хотя я так и не понял, что автор хочет от 'cat /var/www/...': вывести в терминал или открыть в браузере.

И что будет, если мы сделаем cd в /var/www/linux.org.ru/, ошибка 404?

И что, если сервер сидит на нестандартном порту?

Yareg ★★★
()

Автор - идиот.
cat выводит информацию на экран, и хорошо выводит. mplayer играет музыку/видео, и тоже довольно хорошо. Браузер неплохо справляется с рендерингом веб-страничек.
Такое разделение функций - это и есть unix-way. А то что предложил ТС - делать все супермощным cat'ом - полный бред.

drull ★☆☆☆
()
Ответ на: комментарий от drull

>делать все супермощным cat'ом

Я не предлагал такого. Я там специально для таких людей вставил слово «например».

CTAPK
() автор топика
Ответ на: комментарий от Yareg

1. Что-то типа FUSE в ляликсе. Вы настраиваете демон, а он дает вам ресурсы интернета как файлы. В случае 404 ошибки дает либо заранее заготовленный файл, либо ошибку при обращении к файлу

2. Браузер (который умеет скрипты, ясное дело) обращается к этим файлам (с помощью обычного open())

different_thing
()
Ответ на: комментарий от CTAPK

Ой чёрт, не вставил. Сейчас же вставлю!

CTAPK
() автор топика

И не тревожьте меня покамест. Я в медитации, дорабатываю свой бред.

CTAPK
() автор топика
Ответ на: комментарий от Yareg

> но нафейхоа

Для обобщения и облегчения доступа к различным ресурсам. Вызывать open(), read(), write(), close(), ioctl() куда проще, чем пользоваться разными странными библиотеками/функциями для работы с интернетом.

different_thing
()
Ответ на: комментарий от CTAPK

> Я не предлагал такого. Я там специально для таких людей вставил слово «например».

Да, ты предложил переложить _все_ функции на файловую систему.

drull ★☆☆☆
()
Ответ на: комментарий от different_thing

>2. Браузер (который умеет скрипты, ясное дело) обращается к этим файлам (с помощью обычного open())

Если браузер всё равно получает сырые данные, то чем open() лучше connect()?

Yareg ★★★
()
Ответ на: комментарий от different_thing

> Ну ведь ты же не против такого:

cat musik.raw > /dev/dsp ?


Против. Это извращение.

drull ★☆☆☆
()
Ответ на: комментарий от drull

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

different_thing
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.