LINUX.ORG.RU
ФорумTalks

Пакетный менеджер рецептов


0

2

В книжках с рецептами написана какая-то шляпа. Типа, «чтобы сварить суп, возьмите произвольное количество крысиной моркови, добавьте 13 кубиков мескалина и соли по вкусу, поставьте на огонь и ждите до готовности.» Какой, черт возьми, «по вкусу»?! Где я возьму огонь, у меня даже зажигалки нет! Это не алгоритм, это вообще ХЗ что такое.

Посему есть такая мыслишка:

1) сформулировать кухонные задачи конечным автоматом
2) сделать формальную модель основных типов продуктов и их трансформаций.
3) Тогда процесс готовки будет переходом из состояния «ваще ничего нет» в состояние «готовый суп». Или, если учесть что на кухне может быть одновременно И суп, И каша, в состояние «суп+каша».

Причем можно будет делать фишки
1) определять достижимость результата по набору параметров (можно ли за час из вот этого набора продуктов сварить суп)
2) по рецепту определять набор зависимостей (и печатать в виде листика, с которым идешь в магазин и вручаешь продавцу)
3) оптимизировать пути достижения «композитных состояний» (готовить суп с кашей одновременно может оказаться быстрее, чем по отдельности суп и по отдельности кашу)
4) с помощью специальных инструментов анализировать concurrency при работе нескольких человек (есть такая утилитка, только нужно чтобы в схеме не было никаких if'ов, только чистые переходы)

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

типа так:

obed -Syuad
obed -S "суп с морковью"

Внимание, "суп с морковью" - непроверенный рецепт, может работать некорректно и привести к летальному исходу.

Генерация оптимального рецепта...
Анализ зависимостей...
Подготовка бумаг для магазинов без возможности удаленного заказа...
Подготовка предпросмотра транзакций к онлайн-магазинам...

Вам нужно будет купить #134 в "Холидей-Классик" на сумму 200 рублей
Вам нужно будет вживую сходить и купить 20 кирпичей крысиной моркови в магазине "Трусы мушкетера" на сумму 100 рублей.
Будет распечатан один список требований для магазина "Трусы мушкетера" на принтере "HP Deskjet 230".

Общая стоимость внешних зависимостей: 300р
Примерное время приготовления: 2 часа

Вы действительно хотите установить "суп с морковью"? y/n


Установка ручных зависимостей... 

Пожалуйста, используйте распечатку #135  для визита в магазин "Трусы мушкетера", и после покупки продолжите процесс.

Продолжить готовку? y/n/c
★★★★☆

> -Syuad

Арчеводы настолько суровы, что тянут свои чудо-ключики (явно не для человеков придуманные) даже на кухню.

Cancellor ★★★★☆ ()

лорчую. Это ж какой сервис можно замутить. Особенно в случае интеграции с магазинами.

silw ★★★★★ ()

/me хотеть такую программу! :)

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

туда еще надо --noconfirm дописать, иначе задерет вопросами «хотите посмотреть pkbuild? а install? а еще чего-нибудь посмотреть?»

stevejobs ★★★★☆ ()

Вот это вот:

Продолжить готовку? y/n/c

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

abraziv_whiskey ★★★★★ ()

> В книжках с рецептами написана какая-то шляпа.

Вот только не надо...

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

Арчеводы настолько суровы, что тянут свои чудо-ключики (явно не для человеков придуманные) даже на кухню.


Угу.

«— apt-get remove <packagename> - this is much more logical than pacman -R <packagename>
— That's funny. Last I checked, 'get' means 'acquire'. So, 'apt-get remove' is much more logical.....?»

Alsvartr ★★★★★ ()

Вот только жёсткие зависимости тут не прокатят. Нужно что-то вроде такого:

apt-cache depends борщ
Pre-Depends: руки
Pre-Depends: рот
...
Build-Depends: плита
Build-Depends: кастрюля
...
Depends: картошка
Depends: маркоффка
Depends: цибуля
Depends: буряк
...
Suggests: сало
Suggests: чеснок
...
Recommends: хлеб
...
Provides: суп
Provides: щи
...
Conflicts: libнациональность-ru
...

Cancellor ★★★★☆ ()

>сформулировать кухонные задачи конечным автоматом

Невозможно, ибо кухонные рецепты основаны на фундаментальных неформализуемых правилах типа: «добавьте по вкусу ...».

P.S. Даже для конечного автомата ключи компиляции можно добавлять «по вкусу» :)

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

Невозможно, ибо кухонные рецепты основаны на фундаментальных неформализуемых правилах типа: «добавьте по вкусу ...».

формализируется в виде конкретного количества (целое число и единица измерения), либо алгоритм на вход которому подается текущее полное состояние системы, а на выход получаем конкретное количество.

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

>apt-get remove <packagename> - this is much more logical than pacman -R <packagename>

«yum remove» еще логичнее)

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

>на вход которому подается текущее полное состояние системы, а на выход получаем конкретное количество.

Это механистичная теория XIX века. А по современным законам «квантовой кулинарии» конечное состояние готовности и вкусности, например, шашлыка недетерминировано. Его можно вычислить только в вероятностном смысле, с учётом квантовая сцепленности огня, дыма, специй, ... И «теорема о запрете клонирования» не допускает создание двух и более одинаковых шашлыков :)

quickquest ★★★★★ ()

Установка ручных зависимостей

Кстати, не боишься, что пакетный менеджер тебе жену закачает в зависимостях?

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

если жена хорошая и годная, и обновляется постоянно - нет

stevejobs ★★★★☆ ()

диагноз: дебиан головного мозга

TuxR ★★★★ ()

Задачу нужно формулировать так:

есть:

- пару картофелин

- масло - ....

в магазин идти влом

что из этой хрени можно приготовить?

OramahMaalhur ()

Да, вчера об этом думал, когда готовил азу.

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

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

Use aptitude и твои волосы будут мягкими и шелковистыми.


Поздно. Я уже облысел от apt-get =)

Alsvartr ★★★★★ ()

Класс! Если встретишь такую штуку - дай знать.

Ximen ★★★★ ()

Устраивайся в Samsung, делай ещё один холодильник с Linux, и антропоморфного робота для готовки, чтобы процесс приготовления полностью автоматизировать.

RussianNeuroMancer ★★★★★ ()

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

megabaks ★★★★ ()

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

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

>То на моей электроплите всё равно ничего не приготовишь :)

Вот, он современный человек: отключи ему электричество, и он уже не торт. А солнце на что?

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

А солнце на что?

Солнце? Да, помню, когда-то видел... Месяца 2 назад. У нас сезон дождей.

Вот, он современный человек: отключи ему электричество, и он уже не торт.

Цивилизация, епт.

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

>У нас сезон дождей.

Ничего, пару месяцев можно и на бананах и прочих овощах-ягодах-фруктах перебиться, я так понимаю, что за сезоном дождей идет сухой сезон, да?

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

Ничего, пару месяцев можно и на бананах и прочих овощах-ягодах-фруктах перебиться

На сардельках. Бананы дорого и бестолково.

я так понимаю, что за сезоном дождей идет сухой сезон, да?

Ну да, потом начинаются 250 солнечных дней в году.

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

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

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

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

На СТОЛЬКО свет ещё ни разу не отключали :)

Ximen ★★★★ ()

Понимаешь, готовка еды — это творчество, это искусство, тут не может быть строгих алгоритмов действий. И многое, действительно. добавляется по вкусу.:)

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

>а всё то же самое.

Не скажите. Своя вода - это минус оплата за холодную воду, Своя горячая вода - это минус отплата за горячую воду, обед, приготовленный на солнце, - это минус оплата на электроэнергию.

Положительный результат есть в любом случае. Наконец, это просто интересно.

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

Своя вода - это минус оплата за холодную воду

Своя вода - очень не дешёвая штука.

Своя горячая вода - это минус отплата за горячую воду

просто так она не согреется -> не такая уж она и своя.

обед, приготовленный на солнце, - это минус оплата на электроэнергию.

Очень капризный способ. Обед нужен тогда, когда он нужен, а не когда есть солнце.

Наконец, это просто интересно.

А вот это да. Но возможность так развлекаться появится ещё не скоро...

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