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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.