А вам не осточертело манипулировать носителями мнформации?
От: rfq  
Дата: 08.10.09 13:37
Оценка: 11 (3) -1 :)))
Программирование обычно ассоциируется с обработкой информации. Но в нашем материальном мире информация необходимо располагается на каком-либо носителе: диск/файл/БД/таблица/запись/поле/объект/переменная/регистр/ячейка памяти/сообщение/и т.п.
И вот чтобы обработать информацию, ее надо переместить на носитель, к которому данный обработчик информации имеет доступ, например: перекачать на диск, считать с файла в оперативную память, затем на регистры процессора, обработать и совершить обратный путь. Или: cчитать записи из базы данных (а это тоже многоходовка), перегруппировать поля, послать в браузер, а там (будем надеяться) информация в конце концов попадет в видеопамять и будет видна пользователю.
Или вот, что меня бесит больше всего: чтобы воспользоваться какой-то программой, ее надо на каждый компутер, на котором я работаю, установить, прописать конфигурацию для связи с используемыми программами и библиотеками, поматерить разработчиков когда прога чего-то not found, а потом еще наслаждаться переносом данных с работы домой и обратно.
Все эти манипуляции с носителями меня уже достали. И вот сижу я и думаю: если других людей они тоже достали, то почему они не пишут об этом, не пытаются как-то навалиться всем миром и решить как-то эту проблему? Или для них (для вас) это не проблема и я один такой труднообучаемый?
Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."

Спасибо за внимание
Re: А вам не осточертело манипулировать носителями мнформаци
От: Географ Россия нет
Дата: 08.10.09 14:16
Оценка: +1
Здравствуйте, rfq, Вы писали:
rfq>Программирование обычно ассоциируется с обработкой информации. Но в нашем материальном мире информация необходимо располагается на каком-либо носителе: диск/файл/БД/таблица/запись/поле/объект/переменная/регистр/ячейка памяти/сообщение/и т.п.
rfq>И вот чтобы обработать информацию, ее надо переместить на носитель, к которому данный обработчик информации имеет доступ, например: перекачать на диск, считать с файла в оперативную память, затем на регистры процессора, обработать и совершить обратный путь. Или: cчитать записи из базы данных (а это тоже многоходовка), перегруппировать поля, послать в браузер, а там (будем надеяться) информация в конце концов попадет в видеопамять и будет видна пользователю.
rfq>Или вот, что меня бесит больше всего: чтобы воспользоваться какой-то программой, ее надо на каждый компутер, на котором я работаю, установить, прописать конфигурацию для связи с используемыми программами и библиотеками, поматерить разработчиков когда прога чего-то not found, а потом еще наслаждаться переносом данных с работы домой и обратно.
rfq>Все эти манипуляции с носителями меня уже достали. И вот сижу я и думаю: если других людей они тоже достали, то почему они не пишут об этом, не пытаются как-то навалиться всем миром и решить как-то эту проблему? Или для них (для вас) это не проблема и я один такой труднообучаемый?
rfq>Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."

Вопрос интересный. Добавлю своего: по моей оценке большинство (процентов 95%) кода программиста приходится именно на конвертирование данных — считать с диска (носителя), упаковать в свои структуры данных, передать в метод через параметры (тоже своего рода структура), там преобразовать во внутренний формат, провести обработку, и вернуть результат обратно. И раз уж само программирование технически, по сути, упаковка-перепаковка, то что уж тут горевать по поводу возни с носителями данных вручную?
Хотя идея интересная, раз и навсегда создать код и архитектуру данных, пригодную для решения ЛЮБЫХ задач. Один из вариантов — XML. Но решил ли он задачу? Нет. Но он добавил проблем. Ныне это — замедление обработки на порядок и затраты на память — рост тоже на порядок. Но зато — универсально. Но за всё надо платить. Это главный урок XML, не всем, в современном мире, понятный.

В общем, вопрос этот больше философский, чем практический. Может быть, стоит сначала его изучить внимательно философски, а уж потом пытаться или не пытаться его решить.
Re: А вам не осточертело манипулировать носителями мнформаци
От: Hunta Украина http://dr-leafsey.livejournal.com
Дата: 08.10.09 14:27
Оценка: +1
Здравствуйте, rfq, Вы писали:

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


http://www.google.com/apps/
Поступай так, чтобы максима своей воли в любое время могла стать принципом всеобщего законодательства.
Re: А вам не осточертело манипулировать носителями мнформаци
От: Sheridan Россия  
Дата: 08.10.09 16:10
Оценка:
Приветствую, rfq, вы писали:

rfq> Спасибо за внимание

Ты видимо про rsync рассказывал?
avalon 1.0rc2 rev 300, zlib 1.2.3
build date: 19.08.2009 14:13:36 MSD +04:00
Qt 4.5.2
Matrix has you...
Re: А вам не осточертело манипулировать носителями мнформаци
От: TimurSPB Интернет  
Дата: 08.10.09 16:19
Оценка: :)
Здравствуйте, rfq, Вы писали:

rfq>Программирование обычно ассоциируется с обработкой информации. Но в нашем материальном мире информация необходимо располагается на каком-либо носителе: диск/файл/БД/таблица/запись/поле/объект/переменная/регистр/ячейка памяти/сообщение/и т.п.

rfq>И вот чтобы обработать информацию, ее надо переместить на носитель, к которому данный обработчик информации имеет доступ, например: перекачать на диск, считать с файла в оперативную память, затем на регистры процессора, обработать и совершить обратный путь. Или: cчитать записи из базы данных (а это тоже многоходовка), перегруппировать поля, послать в браузер, а там (будем надеяться) информация в конце концов попадет в видеопамять и будет видна пользователю.
rfq>Или вот, что меня бесит больше всего: чтобы воспользоваться какой-то программой, ее надо на каждый компутер, на котором я работаю, установить, прописать конфигурацию для связи с используемыми программами и библиотеками, поматерить разработчиков когда прога чего-то not found, а потом еще наслаждаться переносом данных с работы домой и обратно.
rfq>Все эти манипуляции с носителями меня уже достали. И вот сижу я и думаю: если других людей они тоже достали, то почему они не пишут об этом, не пытаются как-то навалиться всем миром и решить как-то эту проблему? Или для них (для вас) это не проблема и я один такой труднообучаемый?
rfq>Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."

rfq>Спасибо за внимание


Так это и есть процесс обработки информации.
Обработка информации вообще уже изрядно надоела. Уехать в деревню к тетке в глушь Саратов, сидеть и грызть тупо семеки без всякой информации.
Make flame.politics Great Again!
Re[2]: А вам не осточертело манипулировать носителями мнформ
От: rfq  
Дата: 08.10.09 17:32
Оценка:
Здравствуйте, TimurSPB, Вы писали:

TSP>Так это и есть процесс обработки информации.

TSP>Обработка информации вообще уже изрядно надоела. Уехать в деревню к тетке в глушь Саратов, сидеть и грызть тупо семеки без всякой информации.

Вот-вот, возню с носителями у нас путают с обработкой информации. Если я два байта переслал, то с байтами (нулями и единицами) ничего не произошло — они какими были такими и остались, где здесь обработка? Разве математика занимается пересылкой байтов? Нет, потому что здесь нет обработки. А вот манипуляция с носителями налицо — надо подготовить входной и выходной носители, скоммутировать их, и в результате состояние выходного носителя изменится.
Я именно хотел разделить обработку информации и манипуляцию носителями. Я хотел бы максимум времени заниматься обработкой информации в математическом смысле и минимум — возиться с носителями.
Re: А вам не осточертело манипулировать носителями мнформаци
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.10.09 23:50
Оценка: :))
Здравствуйте, rfq, Вы писали:

rfq>Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."


Проблема решится, как только пользователь, процессор, RAM, коммуникации и центральная база данных будут объединены одним-единственным носителем данных (чтобы не перекладывать с места на место). После решения этой, в сущности, тривиальной задачи останется ещё малая малость: унифицировать человекочитаемое представление данных с подходящим для процессора (чтобы преобразованиями не заморачиваться).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: А вам не осточертело манипулировать носителями мнформ
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 09.10.09 00:56
Оценка: +1
Здравствуйте, rfq, Вы писали:

rfq>Здравствуйте, TimurSPB, Вы писали:


rfq>Я именно хотел разделить обработку информации и манипуляцию носителями. Я хотел бы максимум времени заниматься обработкой информации в математическом смысле и минимум — возиться с носителями.


Хм. Так любой abstraction layer для того и создаётся — чтобы убрать "под себя" максимум сугубо технической работы. Это с одной стороны.

А с другой стороны, в любом случае остаётся вот такой вид решения задачи:

источник >--> преобразование >--> получатель


Даже если у тебя написано x = sin y, то всё равно системе нужно "сказать", откуда взять y и куда деть x. А это как раз работа с носителями, пусть даже они будут в абстрактно-унифицированном виде. "Чистая математика" только в наших представлениях бывает, в приложении к компьютерными системам так или иначе придётся помнить о носителях данных.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: А вам не осточертело манипулировать носителями мнформ
От: rfq  
Дата: 09.10.09 01:51
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Хм. Так любой abstraction layer для того и создаётся — чтобы убрать "под себя" максимум сугубо технической работы. Это с одной стороны.

Где-то создается (Hibernate), а где-то не создается (или пока в зачаточном состоянии). Вот те области где он не создается меня и достают. И вопрос мой был — чувствуете ли вы необходимость такого уровня и где.

ГВ>А с другой стороны, в любом случае остаётся вот такой вид решения задачи:


ГВ>
ГВ>источник >--> преобразование >--> получатель
ГВ>


ГВ>Даже если у тебя написано x = sin y, то всё равно системе нужно "сказать", откуда взять y и куда деть x. А это как раз работа с носителями, пусть даже они будут в абстрактно-унифицированном виде. "Чистая математика" только в наших представлениях бывает, в приложении к компьютерными системам так или иначе придётся помнить о носителях данных.


Ну я же не выступаю за отмену носителей совсем. Уровень x = sin y меня устраивает.
Re: А вам не осточертело манипулировать носителями мнформаци
От: Sinclair Россия https://github.com/evilguest/
Дата: 09.10.09 04:18
Оценка: +2
Здравствуйте, rfq, Вы писали:

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

Поэтому мы разрабатываем веб-приложения.

rfq>Все эти манипуляции с носителями меня уже достали. И вот сижу я и думаю: если других людей они тоже достали, то почему они не пишут об этом, не пытаются как-то навалиться всем миром и решить как-то эту проблему? Или для них (для вас) это не проблема и я один такой труднообучаемый?

rfq>Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."
Гм. Ну, вот нужно нам, скажем, построить дома. Не просто так, а потому, что людям надо где-то жить, т.е. мы напрямую удовлетворяем базовые потребности. Но вот беда: стройматериалы не расположены там, где будут дома. Поэтому кому-то нужно заниматься перевозкой цемента, песка, камней и воды. При этом собственно обработкой песка, камней, цемента и воды занимается ничтожная доля занятых в строительстве и ничтожную долю времени. Получается, вся стройка — это сплошные манипуляции с компонентами, а никакая не работа.

С точки зрения водителя грузовика это — не проблема. Для него проблема — это что-то другое. Скажем, высокие затраты на топливо (и он переходит на машину с гибридным двигателем).

Мы с тобой — водители грузовика. Девочка пишет в аську "чмоки". Наша работа — сделать так, чтобы эти чмоки приехали туда, куда нужно. Обрабатывать здесь ничего не надо. Надо просто передать информацию. Это полсотни лет назад считалось, что компьютеры — для "расчётов" (поэтому и название). А сейчас оказывается, что чуть ли не 90% мощностей заняты передачей и хранением информации. Ну так это всего лишь отражает потребности рынка. Поэтому я не считаю это такой уж проблемой.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: А вам не осточертело манипулировать носителями мнформ
От: x905  
Дата: 09.10.09 04:23
Оценка:
поддерживаю, надоело )
например CD\DVD диски: очень малый объем, запись неудобна — перешел на HDD
флешки: очень медленные, замены пока невижу при такихже габаритах
мелкие заметки можно хранить в инете, чтобы иметь доступ и дома и на работе (фильмы так не передаш быстро)
общее свое видение проблемы вижу в центральном хранилище с высокоскоростным доступом, пока такого нет
Re[5]: А вам не осточертело манипулировать носителями мнформ
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 09.10.09 04:46
Оценка:
Здравствуйте, rfq, Вы писали:

rfq>Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>>Хм. Так любой abstraction layer для того и создаётся — чтобы убрать "под себя" максимум сугубо технической работы. Это с одной стороны.

rfq>Где-то создается (Hibernate), а где-то не создается (или пока в зачаточном состоянии). Вот те области где он не создается меня и достают.

Что за области? Как и что ты делишь на области?

rfq>И вопрос мой был — чувствуете ли вы необходимость такого уровня и где.


Хм. А почему его надо как-то отдельно чувствовать? Промежуточные абстракции напрашиваются везде, где появляется много одинаковой работы. Например, если у нас будет какая-то программа, обрабатывающая только глаголы в тексте, то неизбежно "напросится" некий "глаголовыделяльщик". Другое дело, что разработка таких средств не всегда оправдана сугубо экономически.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: А вам не осточертело манипулировать носителями мнформ
От: rfq  
Дата: 09.10.09 07:15
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Мы с тобой — водители грузовика. Девочка пишет в аську "чмоки". Наша работа — сделать так, чтобы эти чмоки приехали туда, куда нужно. Обрабатывать здесь ничего не надо. Надо просто передать информацию. Это полсотни лет назад считалось, что компьютеры — для "расчётов" (поэтому и название). А сейчас оказывается, что чуть ли не 90% мощностей заняты передачей и хранением информации. Ну так это всего лишь отражает потребности рынка. Поэтому я не считаю это такой уж проблемой.


Когда компьютеры занимаются передачей и хранением информации, это не проблема, так и должно быть.
Проблема — когда я ручками должен указывать каждый раз где взять и куда положить.
Ну например, возьмем большой open source проект, выложен в сети. Я его скачиваю весь (уже перерасход ресурсов и моего времени — скачиваться должно автоматически по мере необходимости), ищу с чего начать, это обычно зайти в определенное место и сказать make. И что, этот make пройдет с первого раза? никогда. Надо еще скачать то-то и то-то, указать это в переменных окружения или еще как, потом выяснится что версия скачанного не та и т.д. и т.п. Но ведь у разработчиков этого проекта все работало! А у меня нет!
То есть базовая задача — воспроизвести некий вычислительный процесс — не автоматизирована.
И ведь вроде не такая сложная вещь (попроще jit-compiler'a), а автоматизировать раз и навсегда не то что не получается — даже и не пытаются эту задачу поставить, вот чему я удивляюсь.
Re[3]: А вам не осточертело манипулировать носителями мнформ
От: LuciferSaratov Россия  
Дата: 09.10.09 07:28
Оценка:
Здравствуйте, rfq, Вы писали:

rfq>Ну например, возьмем большой open source проект, выложен в сети. Я его скачиваю весь (уже перерасход ресурсов и моего времени — скачиваться должно автоматически по мере необходимости), ищу с чего начать, это обычно зайти в определенное место и сказать make. И что, этот make пройдет с первого раза? никогда. Надо еще скачать то-то и то-то, указать это в переменных окружения или еще как, потом выяснится что версия скачанного не та и т.д. и т.п. Но ведь у разработчиков этого проекта все работало! А у меня нет!

rfq>То есть базовая задача — воспроизвести некий вычислительный процесс — не автоматизирована.

Конкретно эта задача в RH-based ОС решается при помощи mock.
Скачиваешь src rpm нужного пакета, потом
$ mock --rebuild big-opensource-project-1.0.1-2.src.rpm

Оно скачает и установит все необходимые зависимости и соберет готовый пакет.
Re[3]: А вам не осточертело манипулировать носителями мнформ
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 09.10.09 07:33
Оценка: +2
Здравствуйте, rfq, Вы писали:

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

rfq>Проблема — когда я ручками должен указывать каждый раз где взять и куда положить.
rfq>Ну например, возьмем большой open source проект, выложен в сети.

Так бы сразу и сказал! А то — Hibernate, философия, области пространства...

rfq>Я его скачиваю весь (уже перерасход ресурсов и моего времени — скачиваться должно автоматически по мере необходимости), ищу с чего начать, это обычно зайти в определенное место и сказать make. И что, этот make пройдет с первого раза? никогда. Надо еще скачать то-то и то-то, указать это в переменных окружения или еще как, потом выяснится что версия скачанного не та и т.д. и т.п. Но ведь у разработчиков этого проекта все работало! А у меня нет!

rfq>То есть базовая задача — воспроизвести некий вычислительный процесс — не автоматизирована.

Э-э-э... А вот не надо обобщать на все вычислительные процессы? Вакханалия с библиотеками под unix-ом, это уже притча во языцех. Вон, придёт спасительный cmake — появится ещё один тромбон в этом ансамбле песни и пляски.

rfq>И ведь вроде не такая сложная вещь (попроще jit-compiler'a)


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

rfq>а автоматизировать раз и навсегда не то что не получается — даже и не пытаются эту задачу поставить, вот чему я удивляюсь.


Почему же — не решают? В мануалах обычно написано — что откуда скачать, что где прочесть. Есть ещё дежурная рекомендация — читать мэйл-листы!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: А вам не осточертело манипулировать носителями мнформ
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 09.10.09 07:35
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

rfq>>То есть базовая задача — воспроизвести некий вычислительный процесс — не автоматизирована.


LS>Конкретно эта задача в RH-based ОС решается при помощи mock.

LS>Скачиваешь src rpm нужного пакета, потом
LS>
LS>$ mock --rebuild big-opensource-project-1.0.1-2.src.rpm
LS>

LS>Оно скачает и установит все необходимые зависимости и соберет готовый пакет.

Спинным мозгом чую — будет эпический тред!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: А вам не осточертело манипулировать носителями мнформ
От: LuciferSaratov Россия  
Дата: 09.10.09 07:37
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Спинным мозгом чую — будет эпический тред!


Если придет Cyberax и расскажет, как оно в Ubuntu — будет наверняка
Re[6]: А вам не осточертело манипулировать носителями мнформ
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 09.10.09 07:40
Оценка: :)
Здравствуйте, LuciferSaratov, Вы писали:

ГВ>>Спинным мозгом чую — будет эпический тред!

LS>Если придет Cyberax и расскажет, как оно в Ubuntu — будет наверняка

Главное, чтобы любители .Net пришли.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: А вам не осточертело манипулировать носителями мнформ
От: Sheridan Россия  
Дата: 09.10.09 11:46
Оценка: +1
Приветствую, rfq, вы писали:

rfq> Ну например, возьмем большой open source проект, выложен в сети. Я его скачиваю весь (уже перерасход ресурсов и моего времени — скачиваться должно автоматически по мере необходимости), ищу с чего начать, это обычно зайти в определенное место и сказать make. И что, этот make пройдет с первого раза? никогда. Надо еще скачать то-то и то-то, указать это в переменных окружения или еще как, потом выяснится что версия скачанного не та и т.д. и т.п. Но ведь у разработчиков этого проекта все работало! А у меня нет!


Суть в том, что в линухе есть пакетные манагеры. Если нужное тебе присутствует в репозитории твоего дистрибутива, то тебе достаточно просто попросить пакетный манагер установить софтину (ну к примеру emerge smth в генту). Если же не опакечено, то нужно опакетить и установить — а на это таки да, затрачивается больше времени, особенно на первоначальный пакет, когда надо разбираться с зависимостями и прочими пряниками.
Почему надо опакечивать? Ну во первых чтобы использую пакетный манагер соблюдать чистоту дистрибутива, а во вторый последующая поддержка и обновление будет на порядки легче.

А если же пакет в репе присутствует, то все как ты написал: оно качается автоматически, собирается если надо, устанавливается куда надо и возможно выполняется первоначальная настройка. Причем не только запрошенный пакет устанавливается, но и необходимые неустановленные зависимости.
avalon 1.0rc2 rev 300, zlib 1.2.3
build date: 19.08.2009 14:13:36 MSD +04:00
Qt 4.5.2
Matrix has you...
Re[4]: А вам не осточертело манипулировать носителями мнформ
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 09.10.09 13:45
Оценка:
Здравствуйте, Sheridan, Вы писали:

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


Это в идеале. А на практике... Совсем недавно прокувыркался уйму времени, собирая GStreamer в static-конфигурации. Фишка в том, что эта конфигурация вполне разрешается опциями configure. Угу, разрешается. Если под рукой кувалда и прокатный стан, то разрешается делать самолёт из паровоза. А чего стоит, например, фенька: можно собирать или shared, или static (это уже не GStreamer, кажется). Почему "или"? Почему нельзя "и"? И далее по кочкам. Про избыточную тягу к переменным окружения я вообще лучше помолчу, а то забанят.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.