[open source] в дополнение к вопросу о разброде
А нафига ftp?
wget-а не хватает?
конечно не хватает. Хочется иметь еще как минимум fetch и curl.
Я не сомневаюсь, что ты знаешь кучу примеров подобного поведения
сообщества открытописателей.
---
...Я работаю антинаучным аферистом...
Посмотри, сколько разных платных скачивалок под windows.
может взять исходники для того, чтобы поправить немного под свои
нужды или надстроить их.
См., например, лекцию Рихарда Матвеевича в KTH.
По-хорошему, после появления даже двух подобных скачивалок
должна была родиться библиотека. Что, собственно, сделала cURL.
Всё остальное --- переизобретение _бесполезного_ велосипеда.
---
...Я работаю антинаучным аферистом...
мол, каждыйодно дело, когда немного подправить
может взять исходники для того, чтобы поправить немного под свои
нужды или надстроить их.
а другое дело, когда совсем ненравится, и надо всё менять
что именно не понравилось.
Есть разница между тем, что сделал, например, Бернштайн,
и тем, что делает большинство на SourceForge.
---
...Я работаю антинаучным аферистом...
> что именно не понравилось.
Разница между чем и чем?
---
...Я работаю антинаучным аферистом...
А кто тебе сказал что поддержку фтп я писал с 0? Это всего лишь твои больные фантазии. Я взял поддержку фтп из lufs(она наиболее близка мне по формату и переделал ее для своих нужд. wget мне не хватает. Вопрос то же: он умеет многопоточность? Дозакачку? Качать один файл из нескольких источников? А?
---
...Я работаю антинаучным аферистом...
Да? И чего же я переизобрел? По мне я взял готовый велосипед и подогнал его под свои нужды. Ты устати не ответил на мой вопрос по wget. Хотя это вполне в твоем стиле, но мне все же хотелось бы услышать ответ.
Да? И чего же я переизобрел?
Я взял поддержку фтп из lufs(она наиболее близка мне по формату и переделал ее для своих нужд.Какие же из твоих нужд не покрывал libwww тот же самый?
Я не хотел вводить лишних зависимостей. Я просто взял 20кб кода и включил в свою программу.
Кроме wget есть ещё, например, cURL.
Ты сделал ещё одно из многих одинаковых, по большей части,
средств закачать файл. Молодец.
---
...Я работаю антинаучным аферистом...
У меня нет wget. Соответственно и man wget я сделать не могу. Ты можешь просто, без изъеба. ответить на вопрос?
---
...Я работаю антинаучным аферистом...
Это и есть ответ на твой вопрос, почему ты являешься
переизобретателем плохого велосипеда.
---
...Я работаю антинаучным аферистом...
Слушай, ты, умник, а ты сам в своей жизни хоть что нибудь полезное сделал чтобы такими словами кидаться?
man wget
No manual entry for wget
Я из этого ответа нихрена не понял. Так что ты до сих пор не ответил.
Я не хотел вводить лишних зависимостей. Я просто взял 20кб кода и включил в свою программу.Именно так и рождаются велосипедисты.
Каждый считает, что "это лишняя зависимость", "лучше я себе возьму 20кб кода и все" и т.д.
В результате получается тот хаос, который имеем.
Позор тебе, о великий, посчитавший зависимость от libwww слишком обременительной.
чего именно нет во wget, что потребовало написания ещё одной программы?
Со ссылкой на документацию?
Почему тебя надо было ткнуть в это отдельно?
---
...Я работаю антинаучным аферистом...
man wgetЗнаешь как пишут заявки на изобретения? Нужно подобрать наиболее близкие по функциональности существующие изобретения, и объяснить, чем же твое изобретение отличается от них.
No manual entry for wget
Я из этого ответа нихрена не понял. Так что ты до сих пор не ответил.
И горе тебе, если ты не сумеешь найти эти самые близлежащие существующие изобретения, потому что не бывает такого, чтобы их не было. Никогда.
Специально для тебя я в инете посмотрел этот долбаный ман. Так вот, что мне не хватает: smb, многопотоковой закачки, возможности качать один файл с нескольких источников. Я вот вчера качал Ночной дозор с 10 человек. Мне понравилось. ОЧЕНЬ быстро.
Не устраивает - не пользуйся. Меня вполне устраивает так как есть.
Смотри выше про отличия.
Ты не ответил на следующий вопрос:
"Почему тебя для этого надо было особо пнуть?"
---
...Я работаю антинаучным аферистом...
Если сравнивать подходы 20к "моего кода" против 5к "моего кода" + ссылка на libwww , то второй из них правильный, и удовлетворяет концепциям OpenSource, а первый - всего лишь следствие либо недостаточной образованности, либо юношеского максимализма.
Но я пожалуй не буду уподобляться тебе и отвечу на твой вопрос:
curl - smb, многопоточность, закачка одного файла с нескольких адресов
fetch - то же самое
Ты видимо так ничего и не понял? Там нет 20к моего кода. Там есть 20к чужого кода, который я позаимствовал.
интересуюсь, и которые ты точно так же не затруднился поискать
ни на SourceForge, ни на FreshMeat и нигде.
---
...Я работаю антинаучным аферистом...
Там нет 20к моего кода. Там есть 20к чужого кода, который я позаимствовал.Нет, это ты видимо ничего не понял. Ты этот код позаимствовал путем линковки с чужой готовой библиотекой, которую можно скачать из открытых источников, или путем copy-paste в свою программу? Если последнее - то теперь это не чужой, это твой код. Теперь именно ты занимаешься обновлением этого кода. А не дядя-автор первоначальной библиотеки/программы.
---
...Я работаю антинаучным аферистом...
Я скопировал несколько файлов. Которые я легко смогу заменить при выходе новой версии lufs. В чем проблема?
Меня лично не ебет чем ты интересуешься/не интересуешься. Я не делал эту программу конкретно для тебя. Я делал ее для тех, кому она нужна. И между прочим прежде чем начать делать ее, я поискал в инете. Но ничего подходящего не нашел.
По кочану.
Я скопировал несколько файлов. Которые я легко смогу заменить при выходе новой версии lufs. В чем проблема?Проблема в том, что это теперь твой код, как бы ты его не называл.
Если бы этот код был не твой - то тогда при обновлении lufs, который у меня УЖЕ установлен я бы перелинковал с ним твою программу и все. А так - сначала ТЕБЕ (или еще какому-либо третьему лицу) нужно скопировать эти файлы или сделать copy-paste, и только потом у тебя будет рабочая версия программы.
Ты вообще понимаешь, чем отличается сборка с библиотекой от сборки с исходниками, которые ты скопировал к себе и теперь считаешь частью своей программы?
А где я могу ознакомиться с вашими проектами? Получается что мы в не равной позиции. Вы меня критикуете, но я даже не знаю, имеете ли вы такое моральное право. Может Ваш код/подходы хуже чем у меня? А тут вы просто пиздите от нечего делать?
Я все прекрасно понимаю. Тут нет большой разницы. Что слинковать с новой версией, что просто скопировать файлы... И это не мой код. Я даже не могу его так называть.
Вопрос для && KOHTRA:Ты обиделся и начал переходить на личности? Обрати внимания, никто ведь не сравнивал твой код/подходы с чьими либо еще, речь шла лишь о сопоставлении общепринятого мнения, о том, как должен бы развиваться OpenSource с твоим подходом к проблеме.
А где я могу ознакомиться с вашими проектами? Получается что мы в не равной позиции. Вы меня критикуете, но я даже не знаю, имеете ли вы такое моральное право. Может Ваш код/подходы хуже чем у меня? А тут вы просто пиздите от нечего делать?
Тут нет большой разницы. Что слинковать с новой версией, что просто скопировать файлы...Разница принципиальная. Чтобы скопировать файлы - нужно
1. знать, что это нужно сделать.
2. знать какие файлы и откуда скопировать.
В противоположность этому, перелинковка с новой версией библиотеки - это действие естественное и тривиальное.
PS: все же могу я взглянуть на ваши проекты? Или нечего показать?
Созданием программы занимается ее автор. И как ее автор он знает что нужно сделать для ее работоспособности. Я же не заставляю пользователя копировать эти файлы?
переизобретателями велосипеда?
Мы имеем полные права.
Такие переизобретатели велосипеда немало крови портят.
Достаточно глянуть на каких-нибудь балбесов, которые вместе со
своей программой тянут xerces или libtool какой-нибудь древней
версии.
---
...Я работаю...
Ты не имеешь такого права пока не докажешь что ты достоен иметь это право. Так вот я и прошу ссылки на твои проекты. Может ты в жизни ничего сложнее hello world не написал. А тут просто устраиваешь попизделки?
Я нисколько не обиделся. И почему ты думаешь что высказанные тобой тут мнения общеприняты?
Где-то тут уже всплывали ссылки на Столлмана, он вроде как считается главным идеологом движения OpenSource?
Недавно же ты сам сказал что все делают примерно как я и отсюда каша. Очень все это странно.Тоже небезысвестный факт. Его очень любят обсирать в изданиях типа Unix Hater's Handbook. Очень советую почитать, кстати. Чтобы ошибок меньше делать.
PS: все же могу я взглянуть на ваши проекты? Или нечего показать?Я не понимаю, ты считаешь что человек крут только тогда, когда он распускает пальцы веером?
Созданием программы занимается ее автор. И как ее автор он знает что нужно сделать для ее работоспособности. Я же не заставляю пользователя копировать эти файлы?Ты только что подтвердил, что тем самым скопированный код стал твоим. Если бы он оставался не твоим, то я как пользователь мог бы сам заменить его более старую версию на более новую. А так - этот код стал твоим, и как его туда вставить теперь знаешь только ты.
2) Ты так и не ответил на вопрос. Общепринято то, как ВСЕ это делают.
3) Я так не считаю. Человек крут когда он может показать что он что-то сделал полезное для людей. Ты по всей видимости представить ничего полезного не можешь.
И что? А в другом случае тебе пришлось бы ЗНАТЬ что тебе нужна соответствующая библиотека. Так что ничего я не подтвердил.
пинать, чтобы ты поменял какие-то там, неизвестно какие файлы.
В частности, точно такая же проблема существует в ports(7
когда в давно битом порте надо всего лишь поменять pkg-plist,
который можно либо создавать автоматически, либо вообще ---
не делать.
---
...Я работаю антинаучным аферистом...
Ты так и не ответил на вопрос. Общепринято то, как ВСЕ это делают.Общепринято, что на дорогах все катаются с нарушением правил. Ты думаешь, что это хорошо и правильно? Нет, не хорошо и не правильно, в результате случается больше аварий, чем могло бы. То же самое и здесь. Все делают велосипеды. В результате имеем:
1. Кучу велосипедов вместо хорошего отлаженного кода.
2. Полный хаос в вопросе, который же из велосипедов выбрать если не хочешь изобретать свой.
Человек крут когда он может показать что он что-то сделал полезное для людей.И может этим похвастаться.
Да, тут ты прав, пожалуй. Надо это занести в FAQ.
Ты лучше ответь на пост который я тебе написал. Ответ на этот вопрос от тебя меня не будет интересовать пока ты не дашь четкого и ясного ответа на тот вопрос который я адресовал тебе.
Хорошо. Не обязательно давать ссылки. В каких проектах ты принимал участие? Что сделал? Просто опиши.
А в другом случае тебе пришлось бы ЗНАТЬ что тебе нужна соответствующая библиотека. Так что ничего я не подтвердил.То есть ты хочешь сказать, что ты в INSTALL написал:
"эти файлы скопированны из lufs. Если выйдет новая версия lufs, то для того, чтобы собрать с ней мою программу скопируйте бла-бла-бла."
Про библиотеку ты бы обязательно написал: слинковать с библиотекой libблаблабла
И у меня не возникло бы даже сомнений, что при выходе библиотеки libблаблабла-2.0 мне достаточно будет перелинковать твою программу и все.
Если новый велосипед использует кто-то кроме автора, то он не бесполезен.
Это право _не_зависит_ от моей программистской деятельности.
Хотя бы потому, что я работаю _не_программистом_.
И не предполагаю такой возможности.
В противоположность, ты выступаешь именно _программистом_.
Так что тебе и отвечать за твоё творение.
---
...Я работаю антинаучным аферистом...
Я такого даже писать не собираюсь. Пользователь собирает ту версию которую я дал ему. И она будет гарантировано работать. Чего нельзя сказать если ты будешь линковать с новой версией библиотеки. С выходом новой версии lufs я сам заменю файлы и выпущу новую версию моей программы.
Супер! Тебя обязательно нужно идти на мою прошлую работу. Ты предпочитаешь cut'n'paste библиотекам, ты добиваешься надежности введением программ watchdogов и ты очень любишь линукс. Тебе там понравится, и ты там понравишься.
Кстати, очень классное
Хорошо. я понял твою точку зрения. И так как я понял что ты не программист, то твое мнение по данному вопросу для меня не имеет ровным счетом никакого значения. Можешь дальше ничего не писать. Отвечать тебе я не собираюсь. На профессиональные темы должны общаться профессионалы в данной области.
Спасибо, но я работаю свободным стрелком. Очень много плюсов, знаешь ли. Не нужно каждый день на работу ходить... Много свободного времени... и все такое.
Там есть очень много полезных программ,
которыми пользовался не один человек.
Например, там есть неимоверная куча cal(1) для DOS, разных UNIX,
VMS и чего-то ещё.
---
...Я работаю антинаучным аферистом...
С выходом новой версии lufs я сам заменю файлы и выпущу новую версию моей программы.Что и подтверждает тезис о том, что теперь это ТВОЙ код. Если бы это был не твой код, то с ним мог бы сделать что-то еще пользователь.
Если пользователь хочет - он может сам это сделать. Если ему это так понадобится.
то это ещё ничего не значит.
Вон, у меня за стенкой сидит несколько профессионалов.
Под форточки программируют.
На вопрос, что говорит MSDN, отвечают:
"А што такое MSDN?"
---
...Я работаю антинаучным аферистом...
Если пользователь хочет - он может сам это сделать. Если ему это так понадобится.Конечно. Но влезая в твой код он сам становится со-автором твоего кода, и опять этот код остается своим кодом, а не чужим.
Те, кого ты привел в пример - вовсе не профессионалы.
Да какая разница между кодом и библиотекой? Между нимим всего лишь один шаг - компилятор!
тебе сюда:
Зачем? Я уже это все прочел.
специальность, от profiteer - объявляю своим делом род
трудовой деятельности (занятий) человека, владеющего комплексом
специальных теоретических знаний и практических навыков,
приобретённых в результате специальной подготовки, опыта работы.
Профессиональная деятельность обычно является основным
источником дохода." (БСЭ)
Попробуй доказать, что эти люди не являются профессионалами.
---
...Я работаю антинаучным аферистом...
У этих людей нет "теоретических знаний" про MSDN. Значит они не являются профессионалами в программировании форточек.
Хорошо. я понял твою точку зрения. И так как я понял что ты не программист, то твое мнение по данному вопросу для меня не имеет ровным счетом никакого значения. Можешь дальше ничего не писать. Отвечать тебе я не собираюсь. На профессиональные темы должны общаться профессионалы в данной области.Тогда хорош пиздеть. Ни один из твоих собеседников во второй половине этого треда не программист.
Володя имеет в виду, что мы нашли наконец-то профессионала. Его имя Самохвалов Антон.
Очень хорошо. Считайте что вам повезло.
Как ты мог заметить, я так и сделал. И мне не нужно твое напоминание для этого.
программирования C#, а это значит, что они являются
профессиональными программистами на C#.
---
...Я работаю антинаучным аферистом...
Да какая разница между кодом и библиотекой? Между нимим всего лишь один шаг - компилятор!
Разница между ТВОИМ кодом и ЧУЖОЙ библиотекой большая: КОД - ТВОЙ, БИБЛИОТЕКА - ЧУЖАЯ.
В общем, пора это прекращать. Бессмысленно все это. Я остаюсь при своем мнении, ты при своем.
Можеь быть. Но далеко не профессиональными программистами для форточек. Разницу чувствуешь?
В общем, пора это прекращать. Бессмысленно все это. Я остаюсь при своем мнении, ты при своем.Кстати, было бы очень интересно узнать твое мнение вот по какому вопросу: а зачем вообще нужны библиотеки, если можно copy-paste?
Не скажу. Я же сказал, я с этим разговором завязываю.
Да какая разница между кодом и библиотекой? Между нимим всего лишь один шаг - компилятор!
Понимаешь. Это верно для вот такого случая: ты берешь кусок чьих-то сурцов, загоняешь их в отдельный файлик, пишешь для него хидер, и юзаешься им только через этот хидер. Или даже пишешь враппер, неважно. Главное - что твоя работа по попизживанию сурцов заключалась только в удалении ненужного, и тогда абсолютно любой человек может взять обновленные сурцы того продукта, из которого ты эти сурцы потырил, перекомпилить твою прогу вместе с этими сурцами (даже не вырезая из них ничего ненужного и все заработает.
Насколько я понял, ты сделал не так.
А еще у библиотеки есть существенное преимущество: если ты юзаешься библиотекой, то практически наверняка ты не сделал с ней чего-нить неочевидного. Не "подправил константу под свои нужды". Просто не возникает искушения сделать так.
Опять же исходя из своего личного опыта могу заявить следующее: "нужная" прога живет удивительно долго. Много лет. Поэтому если ты пишешь прогу, которая, по твоему мнению, окажется нужной, ее следует писАть так, как будто ты ее пишешь для других людей, даже если ты планируешь ее суппортить (а возможно и использовать) только и исключительно сам. Просто потому, что через полгода-год ты уже физически не в состоянии вспомнить, что и как ты там писАл, разве что в общих чертах.
И если ты в попизженом коде исправил какую-нить магическую константу "потому что иначе мне бы пришлось в основном коде дописывать три лишних строчки", то через год, когда ты вдруг решишь копи-пейстнуть обновленную версию чужого кода, ты очень удивишься. Потому что или тебе придется потратить множество увлекательных часов, выясняя чем новая версия отличается от старой, и внося изменения ручками (это не совсем приятный и быстрый копи-пейст, не так ли либо все наебнется сразу же, и тебе придется опять же долго и с удовольствием искать почему, или же все начнет наебываться ИНОГДА (наиболее вероятный и неприятный вариант). Если учесть, что ты пишешь, насколько я понимаю, на С(++ то сценарий с прописыванием случайного байта в случайную область памяти весьма вероятен. В результате тебе придется либо вернуть все на место и пойти по первому пути, либо начать писать разнообразные вотчдоги, проверки и прочую фигню, которая уменьшает (но не зануляет) частоту найобывания.
В конце концов ты получишь полное говно.
По-моему, ты просто ее не знаешь.
В принципе я согласен. Но только не в этом случае. Я взял код, который вообще говоря менять не придется. Он давно отлажен и давно работает. Тем боее это такая простая вещь как фтп.
В принципе я согласен. Но только не в этом случае. Я взял код, который вообще говоря менять не придется. Он давно отлажен и давно работает. Тем боее это такая простая вещь как фтп.Возможно авторы библиотеки считают иначе и собираются её менять. Возможно в ней найдут даже серьезные проблемы. Например если бы ты позавчера закатенпастил libfetch, то сегодня бы libfetch был запатчен, а твоя программа дырявая.
P.S. Вчера в fetch нашли переполнение.
Ну как тебе сказать. Те файлы что я взял не обновлялись уже около года. Так что я считаю что они вполне стабильны и работоспособны.
Ну как тебе сказать. Те файлы что я взял не обновлялись уже около года. Так что я считаю что они вполне стабильны и работоспособны.fetch тоже не развивалась в последние годы. А есть примеры нахождения проблем в еще более старом коде.
Я просмотрел весь код что я скопировал, и не нашел там мест где вообще возможны ошибки. С динамическими массивами там не работают, используют безопасные классы типа стринг. В общем именно поэтому я и выбрал этот кусок кода. Все очень прозрачно и просто. Во всех остальных программах/библиотеках что я смотрел это был просто ужас. Глобальные переменные повсюду, char*, etc. А мне еще была необходима реентерабельность. Так что глобальные переменные - это для меня край. В общем я выбрал то что лучше для меня подходило. И тем более я понимаю что библиотеки в общем предпочтительнее. Если бы я нашел подходящуюю небольшую библиотечку, я бы ее использовал.
Если бы я нашел подходящуюю небольшую библиотечку, я бы ее использовал.libwww
Я просмотрел весь код что я скопировал, и не нашел там мест где вообще возможны ошибки.Никогда не верил таким заявлениям. Впрочем, я же не профессионал.
20кб хорошо написанного кода - не так уж и много. Взгляни сам, если не ломает.
---
...Я работаю антинаучным аферистом...
Я так понимаю, что изначально обсуждалась принципиальная правильность или неправильность подобного подхода. ИМХО он принципиально неправилен. Конечно, в некоторых частных случаях, когда ты полностью уверен что херни не произойдет, можно копировать чужой код. Особенно если этого кода 200 строчек. Типа, пример из мсдна. Но в общем случае лучше этого не делать, хотя бы для того, чтобы приучить себя к _правильному_ использованию чужого кода.
Но вообще говоря даже относительно данного конкретного случая я не понимаю в чем смысл копировать 20к чужого кода, а потом еще и тратить время на "внимательное просматривание в поисках ошибок".
Оставить комментарий
Ivan8209
А нафига ftp?wget-а не хватает?
Это, кстати, в дополнение к вопросу о разброде в движении с (за)
открытыми исходниками.
---
...Я работаю антинаучным аферистом...