[open source] в дополнение к вопросу о разброде

Ivan8209

А нафига ftp?
wget-а не хватает?
Это, кстати, в дополнение к вопросу о разброде в движении с (за)
открытыми исходниками.
---
...Я работаю антинаучным аферистом...

shlyumper

А нафига ftp?
wget-а не хватает?

конечно не хватает. Хочется иметь еще как минимум fetch и curl.

Ivan8209

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

Marinavo_0507

А причём тут открытописатели?
Посмотри, сколько разных платных скачивалок под windows.

Ivan8209

В отличие от них открытописатели заявляют, что, мол, каждый
может взять исходники для того, чтобы поправить немного под свои
нужды или надстроить их.
См., например, лекцию Рихарда Матвеевича в KTH.
По-хорошему, после появления даже двух подобных скачивалок
должна была родиться библиотека. Что, собственно, сделала cURL.
Всё остальное --- переизобретение _бесполезного_ велосипеда.
---
...Я работаю антинаучным аферистом...

Marinavo_0507

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

Ivan8209

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

Marinavo_0507

> Есть разница, ощущаемая, когда начинаешь спрашивать о том,
> что именно не понравилось.
Разница между чем и чем?

Ivan8209

Между обоснованиями, а следовательно --- и кодом.
---
...Я работаю антинаучным аферистом...

mirt1971

А кто тебе сказал что поддержку фтп я писал с 0? Это всего лишь твои больные фантазии. Я взял поддержку фтп из lufs(она наиболее близка мне по формату и переделал ее для своих нужд. wget мне не хватает. Вопрос то же: он умеет многопоточность? Дозакачку? Качать один файл из нескольких источников? А?

Ivan8209

Вот именно поэтому ты относишься к переизобретателям велосипеда.
---
...Я работаю антинаучным аферистом...

mirt1971

Да? И чего же я переизобрел? По мне я взял готовый велосипед и подогнал его под свои нужды. Ты устати не ответил на мой вопрос по wget. Хотя это вполне в твоем стиле, но мне все же хотелось бы услышать ответ.

shlyumper

Да? И чего же я переизобрел?
Я взял поддержку фтп из lufs(она наиболее близка мне по формату и переделал ее для своих нужд.
Какие же из твоих нужд не покрывал libwww тот же самый?

mirt1971

Я не хотел вводить лишних зависимостей. Я просто взял 20кб кода и включил в свою программу.

Ivan8209

man wget
Кроме wget есть ещё, например, cURL.
Ты сделал ещё одно из многих одинаковых, по большей части,
средств закачать файл. Молодец.
---
...Я работаю антинаучным аферистом...

mirt1971

У меня нет wget. Соответственно и man wget я сделать не могу. Ты можешь просто, без изъеба. ответить на вопрос?

Ivan8209

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

Ivan8209

man wget
Это и есть ответ на твой вопрос, почему ты являешься
переизобретателем плохого велосипеда.
---
...Я работаю антинаучным аферистом...

mirt1971

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

mirt1971

Ты точно кретин. Для меня это не ответ. Вот смотри:
man wget
No manual entry for wget
Я из этого ответа нихрена не понял. Так что ты до сих пор не ответил.

shlyumper

Я не хотел вводить лишних зависимостей. Я просто взял 20кб кода и включил в свою программу.
Именно так и рождаются велосипедисты.
Каждый считает, что "это лишняя зависимость", "лучше я себе возьму 20кб кода и все" и т.д.
В результате получается тот хаос, который имеем.
Позор тебе, о великий, посчитавший зависимость от libwww слишком обременительной.

Ivan8209

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

shlyumper

man wget
No manual entry for wget
Я из этого ответа нихрена не понял. Так что ты до сих пор не ответил.
Знаешь как пишут заявки на изобретения? Нужно подобрать наиболее близкие по функциональности существующие изобретения, и объяснить, чем же твое изобретение отличается от них.
И горе тебе, если ты не сумеешь найти эти самые близлежащие существующие изобретения, потому что не бывает такого, чтобы их не было. Никогда.

mirt1971

Специально для тебя я в инете посмотрел этот долбаный ман. Так вот, что мне не хватает: smb, многопотоковой закачки, возможности качать один файл с нескольких источников. Я вот вчера качал Ночной дозор с 10 человек. Мне понравилось. ОЧЕНЬ быстро.

mirt1971

Не устраивает - не пользуйся. Меня вполне устраивает так как есть.

mirt1971

Смотри выше про отличия.

Ivan8209

Теперь то же самое про cURL и fetch, по меньшей мере.
Ты не ответил на следующий вопрос:
"Почему тебя для этого надо было особо пнуть?"
---
...Я работаю антинаучным аферистом...

shlyumper

libwww имеет готовые средства для того чтобы реализовать все, что ты перечислил в "отличиях".
Если сравнивать подходы 20к "моего кода" против 5к "моего кода" + ссылка на libwww , то второй из них правильный, и удовлетворяет концепциям OpenSource, а первый - всего лишь следствие либо недостаточной образованности, либо юношеского максимализма.

mirt1971

Ты точно дурак. Это ты мне не ответил на мой вопрос. Так что пнуть надо тебя. Пожестче. По самые гланды.
Но я пожалуй не буду уподобляться тебе и отвечу на твой вопрос:
curl - smb, многопоточность, закачка одного файла с нескольких адресов
fetch - то же самое

mirt1971

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

Ivan8209

Теперь ещё остались средства работы с SMB, которыми я не
интересуюсь, и которые ты точно так же не затруднился поискать
ни на SourceForge, ни на FreshMeat и нигде.
---
...Я работаю антинаучным аферистом...

shlyumper

Там нет 20к моего кода. Там есть 20к чужого кода, который я позаимствовал.
Нет, это ты видимо ничего не понял. Ты этот код позаимствовал путем линковки с чужой готовой библиотекой, которую можно скачать из открытых источников, или путем copy-paste в свою программу? Если последнее - то теперь это не чужой, это твой код. Теперь именно ты занимаешься обновлением этого кода. А не дядя-автор первоначальной библиотеки/программы.

Ivan8209

Почему нельзя было слинковать?
---
...Я работаю антинаучным аферистом...

mirt1971

Я скопировал несколько файлов. Которые я легко смогу заменить при выходе новой версии lufs. В чем проблема?

mirt1971

Меня лично не ебет чем ты интересуешься/не интересуешься. Я не делал эту программу конкретно для тебя. Я делал ее для тех, кому она нужна. И между прочим прежде чем начать делать ее, я поискал в инете. Но ничего подходящего не нашел.

mirt1971

По кочану.

shlyumper

Я скопировал несколько файлов. Которые я легко смогу заменить при выходе новой версии lufs. В чем проблема?
Проблема в том, что это теперь твой код, как бы ты его не называл.
Если бы этот код был не твой - то тогда при обновлении lufs, который у меня УЖЕ установлен я бы перелинковал с ним твою программу и все. А так - сначала ТЕБЕ (или еще какому-либо третьему лицу) нужно скопировать эти файлы или сделать copy-paste, и только потом у тебя будет рабочая версия программы.
Ты вообще понимаешь, чем отличается сборка с библиотекой от сборки с исходниками, которые ты скопировал к себе и теперь считаешь частью своей программы?

mirt1971

Вопрос для && KOHTRA:
А где я могу ознакомиться с вашими проектами? Получается что мы в не равной позиции. Вы меня критикуете, но я даже не знаю, имеете ли вы такое моральное право. Может Ваш код/подходы хуже чем у меня? А тут вы просто пиздите от нечего делать?

mirt1971

Я все прекрасно понимаю. Тут нет большой разницы. Что слинковать с новой версией, что просто скопировать файлы... И это не мой код. Я даже не могу его так называть.

shlyumper

Вопрос для && KOHTRA:
А где я могу ознакомиться с вашими проектами? Получается что мы в не равной позиции. Вы меня критикуете, но я даже не знаю, имеете ли вы такое моральное право. Может Ваш код/подходы хуже чем у меня? А тут вы просто пиздите от нечего делать?
Ты обиделся и начал переходить на личности? Обрати внимания, никто ведь не сравнивал твой код/подходы с чьими либо еще, речь шла лишь о сопоставлении общепринятого мнения, о том, как должен бы развиваться OpenSource с твоим подходом к проблеме.

shlyumper

Тут нет большой разницы. Что слинковать с новой версией, что просто скопировать файлы...
Разница принципиальная. Чтобы скопировать файлы - нужно
1. знать, что это нужно сделать.
2. знать какие файлы и откуда скопировать.
В противоположность этому, перелинковка с новой версией библиотеки - это действие естественное и тривиальное.

mirt1971

Я нисколько не обиделся. И почему ты думаешь что высказанные тобой тут мнения общеприняты? Недавно же ты сам сказал что все делают примерно как я и отсюда каша. Очень все это странно. Считают одно, делают другое... Ты все же определись...
PS: все же могу я взглянуть на ваши проекты? Или нечего показать?

mirt1971

Созданием программы занимается ее автор. И как ее автор он знает что нужно сделать для ее работоспособности. Я же не заставляю пользователя копировать эти файлы?

Ivan8209

А ты хотел, чтобы мы тоже являлись точно такими же
переизобретателями велосипеда?
Мы имеем полные права.
Такие переизобретатели велосипеда немало крови портят.
Достаточно глянуть на каких-нибудь балбесов, которые вместе со
своей программой тянут xerces или libtool какой-нибудь древней
версии.
---
...Я работаю...

mirt1971

Ты не имеешь такого права пока не докажешь что ты достоен иметь это право. Так вот я и прошу ссылки на твои проекты. Может ты в жизни ничего сложнее hello world не написал. А тут просто устраиваешь попизделки?

shlyumper

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

Где-то тут уже всплывали ссылки на Столлмана, он вроде как считается главным идеологом движения OpenSource?
Недавно же ты сам сказал что все делают примерно как я и отсюда каша. Очень все это странно.
Тоже небезысвестный факт. Его очень любят обсирать в изданиях типа Unix Hater's Handbook. Очень советую почитать, кстати. Чтобы ошибок меньше делать.
PS: все же могу я взглянуть на ваши проекты? Или нечего показать?
Я не понимаю, ты считаешь что человек крут только тогда, когда он распускает пальцы веером?

shlyumper

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

mirt1971

1) Столлман для меня не авторитет. Он просто фанатик.
2) Ты так и не ответил на вопрос. Общепринято то, как ВСЕ это делают.
3) Я так не считаю. Человек крут когда он может показать что он что-то сделал полезное для людей. Ты по всей видимости представить ничего полезного не можешь.

mirt1971

И что? А в другом случае тебе пришлось бы ЗНАТЬ что тебе нужна соответствующая библиотека. Так что ничего я не подтвердил.

Ivan8209

Если вдруг поменяется библиотека, то тебя надо будет отдельно
пинать, чтобы ты поменял какие-то там, неизвестно какие файлы.
В частности, точно такая же проблема существует в ports(7
когда в давно битом порте надо всего лишь поменять pkg-plist,
который можно либо создавать автоматически, либо вообще ---
не делать.
---
...Я работаю антинаучным аферистом...

shlyumper

Ты так и не ответил на вопрос. Общепринято то, как ВСЕ это делают.
Общепринято, что на дорогах все катаются с нарушением правил. Ты думаешь, что это хорошо и правильно? Нет, не хорошо и не правильно, в результате случается больше аварий, чем могло бы. То же самое и здесь. Все делают велосипеды. В результате имеем:
1. Кучу велосипедов вместо хорошего отлаженного кода.
2. Полный хаос в вопросе, который же из велосипедов выбрать если не хочешь изобретать свой.
Человек крут когда он может показать что он что-то сделал полезное для людей.
И может этим похвастаться.
Да, тут ты прав, пожалуй. Надо это занести в FAQ.

mirt1971

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

mirt1971

Хорошо. Не обязательно давать ссылки. В каких проектах ты принимал участие? Что сделал? Просто опиши.

shlyumper

А в другом случае тебе пришлось бы ЗНАТЬ что тебе нужна соответствующая библиотека. Так что ничего я не подтвердил.
То есть ты хочешь сказать, что ты в INSTALL написал:
"эти файлы скопированны из lufs. Если выйдет новая версия lufs, то для того, чтобы собрать с ней мою программу скопируйте бла-бла-бла."
Про библиотеку ты бы обязательно написал: слинковать с библиотекой libблаблабла
И у меня не возникло бы даже сомнений, что при выходе библиотеки libблаблабла-2.0 мне достаточно будет перелинковать твою программу и все.

sergey_m

> Всё остальное --- переизобретение _бесполезного_ велосипеда.
Если новый велосипед использует кто-то кроме автора, то он не бесполезен.

Ivan8209

Я имею --- полное право, что бы ты ни говорил.
Это право _не_зависит_ от моей программистской деятельности.
Хотя бы потому, что я работаю _не_программистом_.
И не предполагаю такой возможности.
В противоположность, ты выступаешь именно _программистом_.
Так что тебе и отвечать за твоё творение.
---
...Я работаю антинаучным аферистом...

mirt1971

Я такого даже писать не собираюсь. Пользователь собирает ту версию которую я дал ему. И она будет гарантировано работать. Чего нельзя сказать если ты будешь линковать с новой версией библиотеки. С выходом новой версии lufs я сам заменю файлы и выпущу новую версию моей программы.

sergey_m

> Я не хотел вводить лишних зависимостей. Я просто взял 20кб кода и включил в свою программу.
Супер! Тебя обязательно нужно идти на мою прошлую работу. Ты предпочитаешь cut'n'paste библиотекам, ты добиваешься надежности введением программ watchdogов и ты очень любишь линукс. Тебе там понравится, и ты там понравишься.
Кстати, очень классное

mirt1971

Хорошо. я понял твою точку зрения. И так как я понял что ты не программист, то твое мнение по данному вопросу для меня не имеет ровным счетом никакого значения. Можешь дальше ничего не писать. Отвечать тебе я не собираюсь. На профессиональные темы должны общаться профессионалы в данной области.

mirt1971

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

Ivan8209

Сходи на simtel.net.
Там есть очень много полезных программ,
которыми пользовался не один человек.
Например, там есть неимоверная куча cal(1) для DOS, разных UNIX,
VMS и чего-то ещё.
---
...Я работаю антинаучным аферистом...

shlyumper

С выходом новой версии lufs я сам заменю файлы и выпущу новую версию моей программы.
Что и подтверждает тезис о том, что теперь это ТВОЙ код. Если бы это был не твой код, то с ним мог бы сделать что-то еще пользователь.

mirt1971

Если пользователь хочет - он может сам это сделать. Если ему это так понадобится.

Ivan8209

Если я не занимаюсь программированием профессионально,
то это ещё ничего не значит.
Вон, у меня за стенкой сидит несколько профессионалов.
Под форточки программируют.
На вопрос, что говорит MSDN, отвечают:
"А што такое MSDN?"
---
...Я работаю антинаучным аферистом...

shlyumper

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

mirt1971

Те, кого ты привел в пример - вовсе не профессионалы.

mirt1971

Да какая разница между кодом и библиотекой? Между нимим всего лишь один шаг - компилятор!

Marinavo_0507

> Те, кого ты привел в пример - вовсе не профессионалы.
тебе сюда:

mirt1971

Зачем? Я уже это все прочел.

Ivan8209

"Профессия (лат. professio - официально указанное занятие,
специальность, от profiteer - объявляю своим делом род
трудовой деятельности (занятий) человека, владеющего комплексом
специальных теоретических знаний и практических навыков,
приобретённых в результате специальной подготовки, опыта работы.
Профессиональная деятельность обычно является основным
источником дохода." (БСЭ)
Попробуй доказать, что эти люди не являются профессионалами.
---
...Я работаю антинаучным аферистом...

mirt1971

У этих людей нет "теоретических знаний" про MSDN. Значит они не являются профессионалами в программировании форточек.

sergey_m

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

sergey_m

> Зачем? Я уже это все прочел.
Володя имеет в виду, что мы нашли наконец-то профессионала. Его имя Самохвалов Антон.

mirt1971

Очень хорошо. Считайте что вам повезло.

mirt1971

Как ты мог заметить, я так и сделал. И мне не нужно твое напоминание для этого.

Ivan8209

У них есть достаточные теоретические знания о языке
программирования C#, а это значит, что они являются
профессиональными программистами на C#.
---
...Я работаю антинаучным аферистом...

shlyumper

Да какая разница между кодом и библиотекой? Между нимим всего лишь один шаг - компилятор!

Разница между ТВОИМ кодом и ЧУЖОЙ библиотекой большая: КОД - ТВОЙ, БИБЛИОТЕКА - ЧУЖАЯ.

mirt1971

В общем, пора это прекращать. Бессмысленно все это. Я остаюсь при своем мнении, ты при своем.

mirt1971

Можеь быть. Но далеко не профессиональными программистами для форточек. Разницу чувствуешь?

shlyumper

В общем, пора это прекращать. Бессмысленно все это. Я остаюсь при своем мнении, ты при своем.
Кстати, было бы очень интересно узнать твое мнение вот по какому вопросу: а зачем вообще нужны библиотеки, если можно copy-paste?

mirt1971

Не скажу. Я же сказал, я с этим разговором завязываю.

bleyman

Да какая разница между кодом и библиотекой? Между нимим всего лишь один шаг - компилятор!

Понимаешь. Это верно для вот такого случая: ты берешь кусок чьих-то сурцов, загоняешь их в отдельный файлик, пишешь для него хидер, и юзаешься им только через этот хидер. Или даже пишешь враппер, неважно. Главное - что твоя работа по попизживанию сурцов заключалась только в удалении ненужного, и тогда абсолютно любой человек может взять обновленные сурцы того продукта, из которого ты эти сурцы потырил, перекомпилить твою прогу вместе с этими сурцами (даже не вырезая из них ничего ненужного и все заработает.
Насколько я понял, ты сделал не так.
А еще у библиотеки есть существенное преимущество: если ты юзаешься библиотекой, то практически наверняка ты не сделал с ней чего-нить неочевидного. Не "подправил константу под свои нужды". Просто не возникает искушения сделать так.
Опять же исходя из своего личного опыта могу заявить следующее: "нужная" прога живет удивительно долго. Много лет. Поэтому если ты пишешь прогу, которая, по твоему мнению, окажется нужной, ее следует писАть так, как будто ты ее пишешь для других людей, даже если ты планируешь ее суппортить (а возможно и использовать) только и исключительно сам. Просто потому, что через полгода-год ты уже физически не в состоянии вспомнить, что и как ты там писАл, разве что в общих чертах.
И если ты в попизженом коде исправил какую-нить магическую константу "потому что иначе мне бы пришлось в основном коде дописывать три лишних строчки", то через год, когда ты вдруг решишь копи-пейстнуть обновленную версию чужого кода, ты очень удивишься. Потому что или тебе придется потратить множество увлекательных часов, выясняя чем новая версия отличается от старой, и внося изменения ручками (это не совсем приятный и быстрый копи-пейст, не так ли либо все наебнется сразу же, и тебе придется опять же долго и с удовольствием искать почему, или же все начнет наебываться ИНОГДА (наиболее вероятный и неприятный вариант). Если учесть, что ты пишешь, насколько я понимаю, на С(++ то сценарий с прописыванием случайного байта в случайную область памяти весьма вероятен. В результате тебе придется либо вернуть все на место и пойти по первому пути, либо начать писать разнообразные вотчдоги, проверки и прочую фигню, которая уменьшает (но не зануляет) частоту найобывания.
В конце концов ты получишь полное говно.

shlyumper

По-моему, ты просто ее не знаешь.

mirt1971

В принципе я согласен. Но только не в этом случае. Я взял код, который вообще говоря менять не придется. Он давно отлажен и давно работает. Тем боее это такая простая вещь как фтп.

sergey_m

В принципе я согласен. Но только не в этом случае. Я взял код, который вообще говоря менять не придется. Он давно отлажен и давно работает. Тем боее это такая простая вещь как фтп.
Возможно авторы библиотеки считают иначе и собираются её менять. Возможно в ней найдут даже серьезные проблемы. Например если бы ты позавчера закатенпастил libfetch, то сегодня бы libfetch был запатчен, а твоя программа дырявая.
P.S. Вчера в fetch нашли переполнение.

mirt1971

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

sergey_m

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

mirt1971

Я просмотрел весь код что я скопировал, и не нашел там мест где вообще возможны ошибки. С динамическими массивами там не работают, используют безопасные классы типа стринг. В общем именно поэтому я и выбрал этот кусок кода. Все очень прозрачно и просто. Во всех остальных программах/библиотеках что я смотрел это был просто ужас. Глобальные переменные повсюду, char*, etc. А мне еще была необходима реентерабельность. Так что глобальные переменные - это для меня край. В общем я выбрал то что лучше для меня подходило. И тем более я понимаю что библиотеки в общем предпочтительнее. Если бы я нашел подходящуюю небольшую библиотечку, я бы ее использовал.

shlyumper

Если бы я нашел подходящуюю небольшую библиотечку, я бы ее использовал.
libwww

sergey_m

Я просмотрел весь код что я скопировал, и не нашел там мест где вообще возможны ошибки.
Никогда не верил таким заявлениям. Впрочем, я же не профессионал.

mirt1971

20кб хорошо написанного кода - не так уж и много. Взгляни сам, если не ломает.

Ivan8209

Ключевые слова: "я не нашёл."
---
...Я работаю антинаучным аферистом...

bleyman

Короче.
Я так понимаю, что изначально обсуждалась принципиальная правильность или неправильность подобного подхода. ИМХО он принципиально неправилен. Конечно, в некоторых частных случаях, когда ты полностью уверен что херни не произойдет, можно копировать чужой код. Особенно если этого кода 200 строчек. Типа, пример из мсдна. Но в общем случае лучше этого не делать, хотя бы для того, чтобы приучить себя к _правильному_ использованию чужого кода.
Но вообще говоря даже относительно данного конкретного случая я не понимаю в чем смысл копировать 20к чужого кода, а потом еще и тратить время на "внимательное просматривание в поисках ошибок".
Оставить комментарий
Имя или ник:
Комментарий: