vit_r: default (vit_r)
vit_r ([personal profile] vit_r) wrote2015-08-19 06:08 pm
Entry tags:

Про ёжика в тумане, зазнайство, языки программирования и вериги

Как сказал один из великих, «Любая плохо документированная технология неотличима от магии.»

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

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

Там, в дебрях, среди загадочных и непонятных заклинаний наконец-то удалось обнаружить, что это самое имя, с которым я так долго и безуспешно колдовал, скармливается функции «replace_placeholder()»

Да, да. Нужно было поменять другой (естественно, не документированный) параметр, и именно на основании его значения подменяющая функция вытаскивает из каких-то глубин правильное имя, которое вставляет вместо данного мной. Или вытаскивает какой-то мусор, если параметр задать чуть иначе.

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

Кстати, как подтвердил недавний эксперимент, только малая часть читателей, показанных местной статистикой, дочитывает до конца длинные посты.

[personal profile] alll 2015-08-19 04:37 pm (UTC)(link)
> «Любая плохо документированная технология неотличима от магии.»

Прекрасно! Сложил в копилочку. :)

[identity profile] pappadeux.livejournal.com 2015-08-19 08:35 pm (UTC)(link)
"Any sufficiently advanced technology is indistinguishable from magic."

Артур Кларк

[identity profile] vit-r.livejournal.com 2015-08-19 08:54 pm (UTC)(link)
Ещё один зануда.

Любая шутка хороша только в культурном контексте.

[identity profile] pappadeux.livejournal.com 2015-08-21 11:32 pm (UTC)(link)
Адмирал Я.С.Енбуй
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2015-08-20 01:17 am (UTC)(link)
В данном случае Vit точнее. Advanced у Кларка - это именно, что плохая документированность.

[identity profile] vit-r.livejournal.com 2015-08-20 06:15 am (UTC)(link)
Тут учитывается всё: и оригинал, и перевод, и отличие перевода от предложенного варианта. Что и создаёт комический эффект для тех, кто не пытается сразу восстановить справедливость.

[personal profile] alll 2015-08-19 04:39 pm (UTC)(link)
Вот кстати интересный вопрос: можно ли считать технологию с исходным кодом хорошо документированной? :)

[identity profile] vit-r.livejournal.com 2015-08-19 05:21 pm (UTC)(link)
Американцы делали микропроцессоры.
Специалисты СССР на дралоскопах послойно разворачивали конструкцию в обратном порядке.

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

[identity profile] metaclass.livejournal.com 2015-08-19 05:57 pm (UTC)(link)
В микропроцессоры не пишут комментариев, в опенсорсе их таки бывает.

[identity profile] vit-r.livejournal.com 2015-08-19 06:58 pm (UTC)(link)
"если янки не заложили специально для них какой-нибудь подлянки"

[personal profile] alll 2015-08-19 09:04 pm (UTC)(link)
Пишут. Хотя и редко, и очень лаконичные. :)

Вот например:
http://joyreactor.cc/post/316397
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2015-08-20 01:19 am (UTC)(link)
Столлман исчерпывающе ответил на этот вопрос много лет назад.

[identity profile] girit.livejournal.com 2015-08-19 05:04 pm (UTC)(link)
да, да такого типа работа часть жизни просто
я правда это называю копаться в чужих какашках
и этого очень много в моей области
но длинные посты - да, сложно
если больше 2-3 параграфов уже сложно
в пределах 2-3 параграфов - зависит о чем

[identity profile] vit-r.livejournal.com 2015-08-19 05:43 pm (UTC)(link)
Напишешь два параграфа, придут и напишут "Да это всё фигня. Это только каааца. Нет у тебя доказательств."

Напишешь с доказательствами - пропустят, потому, что слишком длинное.

Сейчас только два формата работают: вопли в твиттере и танцы на конференциях. В обоих случаях думать не надо.

[identity profile] ailev.livejournal.com 2015-08-19 05:47 pm (UTC)(link)
Оригинал -- это третий закон Кларка (Любая достаточно развитая технология неотличима от магии): https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8_%D0%B7%D0%B0%D0%BA%D0%BE%D0%BD%D0%B0_%D0%9A%D0%BB%D0%B0%D1%80%D0%BA%D0%B0

И да, перепевов этого закона много самых разных. Я только сегодня цитировал своему отроку этот закон )))

[identity profile] vit-r.livejournal.com 2015-08-19 07:00 pm (UTC)(link)
Зануда - это тот, кто начинает объяснять шутку в деталях.
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2015-08-20 01:20 am (UTC)(link)
Однако вы самую суть ухватили в этот раз. Магия - это же антипод знания. И advanced там именно в том, что ни хера не понятно, т.е. фигово документировано.

[identity profile] anonim-legion.livejournal.com 2015-08-19 10:07 pm (UTC)(link)
Дочитывают-дочитывают. Но то, что не понимаешь целиком, лучше не комментировать никак.

[identity profile] theaspect.livejournal.com 2015-08-20 06:05 am (UTC)(link)
Тажело представляю себе работу с системой без изсходников. При невозможности проверки гипотезы разработка превращается в чистое шаманство с ритуалами. Кларк медленно превращается в Карго.

[identity profile] vit-r.livejournal.com 2015-08-20 06:17 am (UTC)(link)
Гипотеза проверяется массивным внешним тестированием. Потому оно так популярно.


[identity profile] vdggenerator.livejournal.com 2015-08-22 09:00 am (UTC)(link)
>> Пришлось лезть в код базовой библиотеки.
Опенсорс или внутрикорпоративный?
А то тут Айсед интересовался http://theiced.livejournal.com/321920.html

[identity profile] vit-r.livejournal.com 2015-08-22 10:34 am (UTC)(link)
Внутрикорпоративный. Если свободный софт написан криво и стоит у клиента, его всё равно нельзя менять без танцев с бубнами.

У платного софта просто есть поддержка и документация. Потому что там есть люди, которые это делают. Когда вылез баг в Informix, люди связались с IBM. (И им объяснили, что это не баг, а некая очень полезная особенность, которая иногда выходит боком)

Дыры во фришном надо затыкать самостоятельно. Кстати, в те библиотеки мы тоже "дописываем добавления". Потому что у создателей "нет времени".