LINUX.ORG.RU
ФорумTalks

в каких случаях вы смотрите/правите чужие исходники


0

0
Господа, интересно, в каких ситуациях вы скачиваете исходники текущей версии программы чтобы разобраться с проблемой в программе

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

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

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

мне самому проше найти несколько обходных путей лишь бы не заниматься этим, не прерывать процесс

★★★
Вот недавно вайн патчил, точнее, чуть переделал один из патчей, чтоб играть в Unreal II.
INFOMAN ★★★★★
()
Всё намного проще.. Нужна просто заинтересованность именно в этом способе решения проблемы..
MiracleMan ★★★★★
()
Один раз залезал - автомонтировщик в какой-то старой сусе неправильно UDF-диски монтировал, подправил.
true
()
Один раз программа не поддерживала ввода из stdin, а я хотел работать через popen.

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

83 г.р., холост, сейчас убунту(ноут)/дебиан(десктоп).

Davidov ★★★★
()
Залез в исходни стиля виджетов qt, убрал ненавистные иконки из меню.
anonymous
()
когда курсовую писал, пришлось учить 3д движок irrlicht, походу пока разбирался в нем, подправил несколько багов.
lester_dev ★★★★★
()
Смотрю, когда по документации к либе непонятно, что происходит. Пару раз отлаживал cairo. Довольно приятно написано, быстро находится то, что нужно.

Щас в силу некоторых причин, приходится писать на Cocoa. Отсутствие исходников жутко бесит. Иногда спасает GNUStep :)

adarovsky ★★★★
()
lincity когда-то патчил - валился при инициализации SDL (кстати, код у них чистенький и опрятный). Амарок (под слакой его непросто было собрать одно время).

А щас я ленивый. бубунта работает :)

k0l0b0k ★★
()
Ответ на: комментарий от true
Да, и ещё при кодинге на C# в исходники Mono заглядывать приходилось, чтобы понять особенности выполняемых действий.
true
()
когда учусь. Интересно иногда бывает посмотреть реализацию той или иной фичи. Именно посмотреть, а не тупо себе передрать.
amoralyrr ★☆
()
Ответ на: комментарий от adarovsky
>Щас в силу некоторых причин, приходится писать на Cocoa. Отсутствие исходников жутко бесит.

Пиши на ГТК, так проще :-)

iRunix ★★★★
()
Правил исходники kmilo_kvaio чтобы регулировка яркости дисплея на ноуте заработала с новым ядерным модулем.
octy ★★
()
Когда мне моя же система заявила permission denied, я долго пытался понять причину по мануалам, а потом плюнул, натыкал в ядро printk и за 4 часа разобрался. Кстати, это были мои первые дни знакомства с линуксом, и это(ядро) стало первым случаем, когда я читал код линуксовой проги (не считая скриптов).

Вообще считаю, что читать хороший код проще, чем плохой мануал. Проще пройти прямой путь через код, чем гуглить.

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

Семейное положение, возраст ни при чём. Характер нетерпеливый; это, возможно, важно. Дист должен быть таким, чтобы это вообще было возможно.

Но самое важное - качество кода, в который предстоит лезть. Я как-то видал код, делающий сортировку со сложностью O(N^3). Такой код лучше не читать, не компилировать и не запускать. :)

alexsaa
()
Ответ на: комментарий от alexsaa
тоесть вы расколупывали ядро в ярости изза неясного сообщение?

я даже боюсь представить, что будет если наступить вам на ногу или разбудить ночью :)

fMad ★★★
() автор топика
Когда непонятно что происходит с программой и когда нужен дополнительный функционал. Иногда просто интересно посмотреть на "как это сделано". :-)
smh ★★★
()
Ответ на: комментарий от alexsaa
> Я как-то видал код, делающий сортировку со сложностью O(N^3). Такой код лучше не читать, не компилировать и не запускать. :)

А какие объемы этот код сортировал? Может в том конкретном случае эта сортировка лучше чем что-либо другое. Не нужно делать поспешных выводов ;-)

smh ★★★
()
> Господа, интересно, в каких ситуациях вы скачиваете исходники текущей версии программы чтобы разобраться с проблемой в программе

Однажды залезал в сорцы tcl-ной autoproxy из-за того, что в мане был неправильный пример работы с ней.

Ну и разок меня взбесило, что kdebluetooth тащит с собой ненавистный питон и его ненавистные биндинги и я часть, завязанную на питоне, переписал на c++ :)

Ещё как-то раз качал сорсы cmatrix, чтобы разобраться, как же программировать на ncurses.

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

gaa ★★
()
Ответ на: комментарий от smh
Было это далеко вне линукса.

Код предназначался где-то для 5 или 10 элементов. Сортировку более 40 элементов дожидаться было уже трудно (там что-то под минуту получалось).

Этот код мне очень запомнился своей гипернеуклюжестью. Я был поражён - словесное описание этого алгоритма действительно совпадало с описанием пузырьковой сортировки. Но, тем не менее, он умудрялся иметь сложность N^3. Переписанная версия была через стандартную сортировку, занимала раз в 5 меньше строк и наконец стала прозрачна для программиста (собственно только ради прозрачности я его и переписывал).

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

PS. автор кода был отнюдь не индус!

alexsaa
()
Ответ на: комментарий от alexsaa
довольно часто приходиться влезать в код ядра, когда то или устройство не хочет работать
anonymous
()
Ответ на: комментарий от alexsaa
Ах да... отвечаю на твой вопрос.

Предназначался он для N ~ 5..10. При N ~ 40 он работал уже около минуты (хотя работы там было ровно на "отсортировать объекты по возрастанию поля типа double"). Самое интересное, что при теоретической асимптотике t ~ N^3, реально он тратил (при доступных N < 40, далее его уже было не дождаться) время ~ N^2 из-за ещё одной "фичи", благодаря которой константа при N^2 была во много раз большей, чем при N^3.

alexsaa
()
Ни разу не залезал, но хочу, но не знаю куда.
anonymous
()
когда гляжу в доку и вижу фигу (black magic)
anonymous
()
правил setup от chocolate doom (понятно, зачем %-). мелочи всякие — SIM там, FUSE (который эмуль Спекки, а не то, что вы подумали %-). пыховый код иногда. в общем то, что не шибко большое. обычно потому, что хочется вот сейчас и уже, а не ждать, пока девелоперы починят.

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

engage
()
Когда что-то мелкое надо, но этого еще нет. Ну или annoying bug. Вообщем, редко.
redgremlin ★★★★★
()
когда делаю порт для FreeBSD и не собирается искаропки, или хочется фичу какую-нить, из последнего - прозрачность в links и imcom, русская локаль в libX11, красивости к urxtv
lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm
а, да, ведро патчил на предмет айриверовских флэшплейеров, но так и не закоммиттили
lazyklimm ★★★★★
()
Сам писал драйвер для вебкамеры, для которой его не было. Точнее помогал писать (расшифровка формата кадра, часть кодинга и т.п.). 25 лет, неженат, программист, в прошлом сисадмин :) Имя, фамилию, цвет волос и размер противогаза думаю писать не надо?
svr4
()
Ответ на: комментарий от svr4
Да, собственно какое имеет отношение к теме - пришлось для этого ковырять написанный чужим дядей код и вносить свои исправления.
svr4
()
Недавно правил пример использования синтезатора речи из MSDN. Проект был для 7-й версии студии, а мне была доступна 8-я. Но там такие косяки были, что оно и в 7-м не собралось бы. Например, не была объявлена переменная счетчика цикла, ошибки с тайпкастами и пр. Такое ощущение, что пример вообще не собирали прежде чем выложить в Сеть.
seiken ★★★★★
()
Ответ на: комментарий от svr4
>программист, в прошлом сисадмин

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