Как стать автором
Обновить
78
0.3
Алексей @adeshere

Чукча не читатель! И не писатель. Чукча СЧИтатель

Отправить сообщение

Я бы не сказал... когда доходило до common blocks

;-)

Вы правы, конечно!

Разумеется, любой по-древнему хороший язык программирования должен уметь стрелять себе в ногу очередью из граблей ;-)) Более того, заложенная в фортран совместимость со старым кодом прямо требует, чтобы у программиста было такое право (в теории, наш код из 1956г все еще до сих пор обязан компилироваться и работать ;-)

Но на практике так уже никто не пишет сейчас. Вместо этого есть понятие модуля, где все переменные и структуры описываются один раз, и затем они по необходимости используются в разных местах (со стандартными в современных языках средствами ограничения видимости). Причем, оператор USE сразу оказался намного удобнее всяких includ-ов, так как он автоматически контролирует, чтобы блок включался (и компилировался) ровно один раз (привет, $IF DEFINED ;-). Одно только это обстоятельство было для многих фортранщиков достаточным аргументом сменить стиль, даже еще ничего не понимая в ООП. А еще сейчас принято методы работы с модульными данными тоже писать в тех же модулях. Фактически получаются те же объекты-классы, только с привычным для первобытных людей интерфейсом.

С учетом этого, теперь программисту на фортране необходимо достичь определенного уровня квалификации, чтобы прострелить именно свою ногу, а не ногу соседа ;-)

А вообще, язык, конечно стал заметно другим даже не в плане спецификаций, а скорее по стилю. Например, я знаю только фортран, и вроде бы знаю довольно неплохо. Но прочитать старую (из 1980-х гг) программу на фортране мне порой намного сложнее, чем аналогичную современную (=адекватно оформленную) программу на незнакомом мне (и весьма непростом!) С++. Просто потому, что тот старый фортран порой по читаемости напоминает Brainfuck. Уж не знаю, умышленно, или нет...

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

как-то попроще

Например, вот так будет для массивов с тремя измерениями (код можно легко обобщить на n-мерные массивы):

! Объявляем трехмерные "динамические" массивы:
real, allocatable :: A(:,:,:), B(:,:,:)
integer :: n = 42
(...)
! Выделяем память (с этого момента размер массивов
! и диапазоны изменения индексов зафиксированы):
allocate (A(1:n, 4, 3), B(0:n-1,41:44,1:3))
! Передаем их в какую-нибудь процедуру:
call myfunc(A,B)
.......................
.......................

! А это где-то внутри myfunc(A,B):
...
integer :: Ashape(3), Bshape(3), dShape(3)
integer :: A_min_index(3), B_min_index(3)
Ashape=shape(A); Bshape=shape(B)
dShape=Ashape-Bshape
A_min_index=lbound(A); B_min_index=lbound(B)

! теперь вектора (массивы) Ashape и Bshape
! содержат размер массивов A и B
! по каждому измерению (т.е.[42,4,3]),
! dShape хранит различия в размерах массивов,
! а A_min_index и B_min_index хранят
! нижнюю границу каждого индекса
! Например, B_min_index=[0,41,1]
(...)
! поэлементное умножение:

if (maxval(abs(dShape)) == 0) A=B*13


! но только ЕСЛИ все три размера у массивов
! одинаковые (модули разностей = 0).
! Диапазоны индексов при этом могут не совпадать -
! главное, чтобы размерчики совпадали

...

Ну и отдельным бонусом есть ключ компилятора, который включает проверку, что массив B инициализирован, либо выключает ее (если программа хорошо отлажена и очень торопится, это ее немного ускорит). Кстати, если проверка выключена, а значения каких-то элементов в массиве B не присвоены, то с помощью A=B*13 у нас в фортране тоже можно добиться UB!

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

Откройте на телефоне ваш комментарий и все спойлеры до конца. Последний прочитать уже нереально.

К сожалению, я не могу это проверить - у меня Нокия 1101. В цивилизации я всегда и везде работаю только с десктопа, в крайнем случае с ноута, а вне цивилизации надо не работать, а отдыхать ;-)

Но в любом случае спасибо за замечание - постараюсь в дальнейшем учесть.

Изгиб вперёд габариты рамы не меняет.

Да, для габаритов важен изгиб наружу.

Но и у изгиба вперед тоже есть недостатки. Во-первых, он сближает точки опоры (верхнюю и нижние), там вместо прямого угла из ЦМ к опорам будет острый). Вырастет усилие на опоры (и стойки) при вихлянии ЦТ вверх-вниз. Во-вторых, увеличивается рычаг, при вихляниях вправо-влево, т.к. ЦТ оказывается далеко сзади точек крепления. Конечно, все это можно компенсировать увеличением прочности разных деталей. Но глупо спорить, что конструкция, где этих проблем нет вообще, заведомо лучше, чем та, где их надо решать...

Из старого советского опыта - старые советские вообще не тормозят.

У меня нет стенда, чтобы изменить в цифрах, есть только возможность сравнить разные колодки визуально, раскрутив и остановив колесо. Такие тесты говорят, что современные колодки хуже. Возможно, у Вас другие колодки были. Ну или влияет конструкция тормоза, материал/состояние обода и т.д.

Зато умеют залипать при сильном торможении из-за деформации колодки.

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

Что для вас "максимальный уклон"? На 45 градусах да, не прокатит.

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

Если же речь не о спорте, а про обычное велопутешествие (чем мы и занимаемся, в основном), то там тем более 99.9% времени - это дороги. Даже если маршрут идет по Памиру, Тянь-Шаню, Тибету, Алтаю, Кавказу и пр. Тут как с горным туризмом и скалолазанием: глядя издалека, дисциплины вроде похожие... но можно всю жизнь ходить в горные походы высоких категорий, и ни разу не встретить там именно скалолазный участок. Поэтому снаряжение для первого и второго, как бы это поточнее сказать, несколько отличается ;-)

На 15-20 вполне можно вызвать занос задней оси и боком затормозить. Проверено. Будет безопаснее, чем лететь кувырком

Я вообще-то сравнивал диски с VB на шоссе. То есть, речь шла про асфальтовые дороги. Там максимальный уклон 10 градусов. В моем случае "большой" уклон - это там, где велосипед самопроизвольно разгоняется, если не тормозить с заметным усилием. Вы сперва переставили меня в совершенно нетипичные для похода условия (которые в реальных путешествиях встречаются чуть реже, чем вообще никогда), а потом объясняете, что в этих условиях мои привычки неправильные.

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

Нагрузка на задний тормоз в разы меньше, чем на передний. На спуске - разница ещё больше.

Не знаю, как это происходит в триале, но вот при стационарном спуске по шоссе оптимальный вариант наиболее эффективно превратить mgh в тепло - это когда нагрузка на оба тормоза одинаковая. Ничего личного, это физика. Если один из дисков нагрет не до максимума, то он отдаст меньше тепла, чем мог бы. Тут просто не о чем спорить.

Если же говорить о динамике, то, конечно, правильный стиль - это тормозить задним тормозом прежде всего. Так как занос заднего колеса часто можно парировать, а вот занос (блокировка) переднего - это почти гарантированное падение. Особенно на груженом веле. Вы, вероятно, пишете про мегауклоны, где ЦТ смещен вперед относительно базы велосипеда, и поэтому вес распределяется между колесами неравномерно? Тогда конечно, просто в силу ограничения коэффициента трения приходится тормозить передним колесом больше, чем задним. Но это совершенно другие задачи и стиль, чем в нашем, походном случае. Где все критерии оптимизации совершенно другие. Например, в походе сзади всегда едет рюкзак, причем его центр тяжести максимально приближен к оси заднего колеса (стандартное правило: самое тяжелое - в штанах снизу). И стационарная нагрузка на заднее колесо обычно заметно больше, чем на переднее. И даже на спуске они лишь выравниваются.

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

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

И как это улучшит силовую схему?

Тем, что выносить не надо. Там нужен лишь небольшой изгиб.

Ну вот Вы сами себе и ответили. Я имею в виду слово "изгиб".

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

окологорных велопоходах

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

Причем ее не так просто решить без существенного увеличения веса. Я уж не говорю, что такие изгибы ощутимо увеличивают вероятность проблем с багажником при транспортировке, падениях и т.п. А также габариты рамы по толщине (что в новом плацкарте весьма актуально...)

Про обод не готов ничего сказать без расчётов. Обдув там хуже

Вот тут не понял. Как у огромного, аэродинамически несовершенного обода обув может быть хуже, чем у диска?! Нам же важна суммарная теплоотдача. А обод, помимо прочего, еще и часть тепла рассеивает через спицы-резину.

да и контакт с нагревшейся от торможения резиной тоже непонятно как действует.

Ну почему непонятно - очень даже понятно, что плохо ;-)

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

Вопрос в том, что колодки на ободе я могу контролировать непрерывно (читай - на ходу), а вот на диске - не очень. И свобода выбора материала колодок в случае VB явно шире...

> Диск потрогать тоже можно :)

Что, на ходу!? Я восхищаюсь такими навыками, но сам пробовать не рискну ;-)

> Вряд-ли вы это на ходу делаете.

А, так все-таки значит диски - на остановке ;-)

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

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

> Даже если это случится - на обычной дороге можно затормозить просто ботинком об колесо.

Ну, так на "обычной дороге" такая проблема не актуальна вообще, если я правильно понимаю. У меня все описанное относится к перевалам с высотами от 2000 и перепадом под 1000, и с максимальным уклоном. Там ботинком не особо затормозишь... Уж лучше сгруппироваться и "лечь" аккуратно. Если впереди, разумеется, не крутой поворот над обрывом... :-(

> Ну и маловероятно, что сразу оба откажут

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

На самом деле, даже в такой ситуации вероятность двойного отказа может быть сильно меньше, чем 100%. Но меня крайне пугает, что если это все же случится, последствия могут оказаться слишком фатальными...

Но я вообще велосипедист не типичный

старюсь ездить крайне осторожно и всех остальных в группе тоже к этому призываю. За довольно большую кучу многодневных походов (пара экваторов наберется) у нас серьезных ЧП почти не случалось. Хотя,

в самом начале

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

А в другой раз мы ехали по крутой грунтовой тропинке к морю близ Идокопаса (это еще до всех тамошних строек было). Когда-то там тракторная дорога была, потом обвалилась частично, но полноценный метр между "стенкой" и "пропастью" нам оставили. Сперва вроде все хорошо было - нормально ехали. Потом дорога покруче стала, я притормозил малость. Кругом лес нависает, впереди - поворотик закрытый, может там вообще эту старую дорогу размыло. И вдруг смотрю - меня в куче пыли этот самый М. на всем ходу обгоняет. Хотя уговор твердый был, что я еду первый, а все за мной. Ну, руки-ноги мелькают, крики какие-то, в пыли ничего разобрать невозможно.... Я кое-как прижался к обочине, остановился, перевожу дух. И тут смотрю - меня на почти той же скорости велосипед этого самого М. обгоняет, уже как-то боком слегка...

Спасло, что до моря там уже совсем близко осталось. Говорят, в соленой воде переломы хорошо заживают. А может, и не было у него переломов - сам М. потом говорил, что только царапины. Кто ж его бесшабашного разберет. Вел его мы тоже привели быстро в чувство: в ремкомплекте запасной петух и запасной переклюк завалялись. А вот арбуз в его рюкзаке такого спуска не выдержал... Но это, впрочем, уже совсем другая история...

А касательно вибрейков - извините, но из МТБ они уже давно ушли и остались лишь на китайских поделиях (...)

Да, да, вот именно!! Больше того, Вы сейчас не первый мне эти слова говорите!! Так что спасибо Вам за погружение в мир добрых воспоминаний ;-))

А теперь самое интересное. Дело в том, что в прошлый раз я все это слышал почти дословно около 20 лет назад, причем сразу от целой кучи уважаемых и мудрых людей! Единственное отличие - Вы пишете про дивный мир дисковых тормозов, а передо мной в прошлый раз разворачивался дивный мир MTB $-)

Не поленюсь, расскажу эту историю.

Дело было в самом начале 2000-х, когда МТБ только завоевывали наш рынок. Тогда я катал на гибриде - очень сильно переделанном ХВЗ, где были устранены почти все "врожденные" недостатки, кроме разве что ограничения по резине. А все окружающие крутили у виска пальцем и называли это все мракобесием и скрытым умственным кретинизмом. Ибо я вложил в ХВЗ столько денег, что на них можно было купить не самый плохой MTB. (На котором я, кстати, тоже поездил, но через год отказался). В общем, я пытался пропагандировать совершенно дикую на тот момент точку зрения, что в спортивном походе гибрид с колесами 28" очень часто гораздо лучше, чем 26" MTB.

По общему убеждению тех времен, критика моих взглядов была безоговорочно справедлива и абсолютно убийственна. Отношение ко мне было примерно как к плоскоземельщику в начале 20 века. Когда все очные и интернет-магазины завалены МТБ, а их преимущества очевидны на каждом углу; когда открой любой сайт, и там тьма статей от крутых профи, которые по полочкам, до мелочей разъясняют тотальное превосходство МТБ в любом спортивном велопоходе. А я, мол, несу какую-то дичь на основании своего субъективного опыта, да еще здравым смыслом пытаюсь прикрыться. Кончилось тем что для очередного сложного похода (где я шел участником) руководитель специально для меня нашел высококачественный 26" МТБ, чтобы только я туда на своем 28" гибриде не поехал. Как я на нем мучился - надо отдельный рассказ написать, хотя велосипед мне подогнали совсем неплохой. В итоге на фоне нескольких сходов в команде я даже проехал тот маршрут до конца и, надеюсь, был там не пассажиром.

Только вот прошло много лет... и оказалось, что маятник золотую середину тогда перелетел очень сильно. Профессионалы, которые писали те статьи, оказались профессионалами в чем-то еще (возможно, в продажах?), но вовсе не в велотуризме. Начиная с 2015 примерно года, целая куча спортивных групп стала ходить сложные велопомаршруты именно на 28" гибридах. Так как их преимущества очень даже весомы при определенных условиях. (Что вовсе не отменяет достоинства MTB, просто они оказались и близко не такими универсальными в спортивном велотуризме, как сначала казалось).

Кстати, наша команда, где почти у всех есть два байка, в свой наиболее крутой поход по Памиру поехала именно на 28" гибридах. Просто потому, что у нас 1) был опыт использования и того, и другого, и 2) было умение правильно готовить не-MTB для похода. Лишь один парень, с очень сильной физподготовкой, но наименьшим из всех велоопытом, поехал на 26". И субъективно ему почти везде было намного тяжелее, чем девушкам на гибридах. Между прочим, по результатам того велопохода мы стали чемпионами РФ по спортивному велотуризму.

Короче, не надо путать тренды и моду, и объективную реальность, которая очень часто намного сложнее простой, распиаренной и наглядной картинки. Я вообще убежден, что за исключением компьютерных и близких к ним технологий (телекоммуникации и т.п.), крайне редко бывает так, что новая техника абсолютно по всем параметрам лучше, чем предыдущая. Наоборот, очень часто на три новые очень полезные фичи, которые дают явный выигрыш, приходится один баг, где проигрыш настолько же очевиден (в определенных условиях). Просто эти фичи и баг идут в неразрывном комплекте, и невозможно выбрать одно, не выбирая другое...

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

Вот Вы сами себе и ответили: "в условиях специфики мтб". Но я-то пишу про велопоходы. И там есть своя специфика. Например, более высокая надежность резко теряет в ценности, если она ухудшает ремонтопригодность "в поле". Хотя есть тьма ситуаций, когда все

ровно наоборот

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

А про конкретные плюсы и минусы диска vs VB c моей точки зрения я подробно написал тут же рядом вот в этом комменте. Это не значит, что Вы должны со мной согласиться. Но я надеюсь на понимание, что альтернативная точка зрения возникла не на совсем пустом месте, и что при некоторых условиях в ней тоже могут присутствовать рациональные зерна.

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

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

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

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

1) Веста знает 34 команды! Но...
2) выполняет только 4 из них.

И она все эти команды она действительно отлично знает, но большинство из них выполняет только по своему усмотрению. Хотя слова (большинство команд у нас - существительные т.е. названия предметов) понимает правильно - тут ни малейшего сомнения нет ;-)

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

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

И как это улучшит силовую схему?

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

просто этот диск каждый раз снимать надо.

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

Вы, наверно, редко на поезде с велом ездите ;-)

Любой выступающий за раму предмет (даже в велочехле) неизбежно подвергается нагрузкам при укладывании велов. Даже если Вы просто грузите два вела на багажную полку (в купе же 4 чел едут) - уже есть риск что-то погнуть при запихивании/вынимании. Особенно в новом плацкарте, где эти полки намного меньше (про самый новый не говорю - там вообще швах). И усилия там будут от килограммов и до непредсказуемых. А неприклеенный скотчем диск может высунуться чуть-чуть, но фиксироваться внутри чехла двумя деталями (например, рамой и засунутым в вилку подседелом или рулем) по принципу рычага. Так что даже небольшое усилие его погнет.

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

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

Про самолет я уж и вовсе не говорю.

.

Ну во-первых, от условий эксплуатации многое зависит. У нас в горах гораздо критичнее, что диски перегреваются ..

Зависит, видимо, от стиля езды. Ни разу не перегревал. Видел один раз такое, но там чел ехал с одиним маленьким задним тормозом и не отпускал его вообще.

???

Перегрев диска зависит от рассеиваемой энергии в единицу времени. То есть m*g*h/t. Это же просто физика. Чем больше ты весишь, и чем быстрее спускаешься, тем больше энергии выделяется. Минус потери на ухабах и аэродинамические.

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

Вряд-ли у вас на столько суровый ДХ, что оба тормоза нельзя отпустить ни на секунду.

Не знаю насчет ДХ, никогда им не занимался. Знаю про велотуризм. Например, про упомянутый выше спуск из Медео в Алма-Ату, либо любой другой серпантин с высокогорного перевала.

Если ты едешь по асфальту вниз на скорости сильно меньше, чем устоявшаяся аэродинамическая, то кратковременное отпускание тормоза только ухудшит ситуацию. Так как вся набранная энергия (за то время. пока тормоз был отпущен) будет накапливаться в mv-квадрат. И потом ее придется погасить тормозом (трасса-то с изгибами). В результате ты проедешь критический участок (перед следующим крутым поворотом) за меньшее время, а температура диска на первой части этого участка будет ниже той, которая была бы при равномерном торможении, что только уменьшит теплоотдачу. Итого, вероятность перегрева в какой-то момент (в конце критического участка) только возрастет. А чтобы вылететь с трассы навсегда, вполне достаточно этого "одного момента".

Так что оптимальная тактика на таком спуске - это как раз тормозить равномерно. И, главное, не приближаться к опасной зоне. Так как если пересечь черту перегрева хотя бы на короткий момент, то это может стать фатально критичным. А значит, для безопасности ехать придется намного медленнее, чем потенциально возможно. Ведь тебе крайне сложно правильно (уверенно) оценить - а где же лежит та черта?

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

В общем, на высокогорных перевалах (где аэродинамика тормозит/охлаждает слабо) и с большим рюкзаком VB гораздо безопаснее и комфортнее диска. Удовольствие от езды на порядок больше, так как не надо переживать ежесекундно на тему "а ну как если вдруг"? Да даже и на крымских серпантинах общая разница уже ощутимо в пользу VB.

> Ну и старые диски не имели современной вентиляции.

Это обнадеживает ;-)

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

Ну и немного смущает еще тот нюанс, что вся эта техника изначально рассчитана на "пустого" велосипедиста. А в жизни у тебя всегда +рюкзак и багажник, вода, всякие увесистые ключи в треугольнике... То есть общая масса в полтора раза больше, чем штатная. Я уж не добавляю, что я сам вешу около 100кг, плюс (теперь) еще 30 живот...

Так что спасибо за хорошие новости, но проверять их лично я все же не буду ;-)

> Механика, вроде, вообще спокойно это переживает. Вот гидра может потечь, это да

А вот этот момент я не совсем понял. Можете пояснить? Я всегда думал, что проблема внезапного отказа возникает на стыке колодка/диск. А при чем тут способ передачи усилий на колодку?

.

> На ободных восьмерка обычно заметна в первую очередь по тому, что тормоза перестают нормально работать. В остальном никаких поводов для остановки нет.

Ну точно у нас стиль катания совсем разный ;-)

Если ехать с восьмеркой под рюкзаком по ухабам, то это верный путь быстро лишиться нескольких спиц и раздолбать обод. Поэтому гораздо проще восьмерку сразу исправить, потратив 10 минут, чем вечером или на следующий день тратить часы на полевое т/о. Задние звезды на многих велах не так уж просто снимаются, а без этого спицы на заднем колесе не заменишь. Можно, конечно, спицу узелком завязать (сам так много раз делал, и даже сломанную спицу специально для этого в ЗИП-е вожу, чтоб новую на "шнурки" не расходовать ;-). Но это все-таки суррогат для всяческих ПВД-шек. А в походе лучше сразу восьмерку исправить, как только заметишь. И обычно мы это стараемся делать еще до того, как она начинает мешать работе VB.

> По похожей тропе (плюс-минус) таскал мотоцикл - вполне терпимо :)

Наверно, все-таки не по очень похожей ;-) Так как мы там местами велы на весу из рук в руки передавали, где были уступы под метр или больше. Не представляю, как это с мотоциклом без веревки проделать...

> Диски, если ехать с зажатым тормозом, через какое-то время возвращаются.

Не поверите, у VB то же самое. Как только обод прогрелся - льда больше не будет. А если еще и луж нет (да, иногда такое тоже бывает ;-), то он еще и высыхает на спуске сразу же. У меня летом в Ср.Азии обратная проблема на спусках: как днем найти ручеек, чтобы остудить обод. Товарищи-то намного легче меня, и у них тепловыделение на ободе меньше. А я отстаю... Если ветер встречный и гитара на спине едет, то аэродинамика немного спасает. А если попутный?

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

Все правильно, но слишком заумно ;-) Попробую сказать то же самое чуть попроще (пояснить на примерах). А заодно добавлю парочку не совсем очевидных, но вытекающих прямо отсюда "последствий".

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

Например, мы хотим узнать, связаны ли X с Y, и вычисляем для этого корреляцию между ними (=Rxy). Так вот, для нормального распределения теория может сказать, что они связаны, если Rxy > 0.1. А для какого-то экзотического - связаны, только если если Rxy > 0.4 (при том же уровне значимости). Теперь допустим, что у нас по нашим данным получилось Rxy = 0.3. И какой же ответ будет правильным в нашем случае? Чтобы это узнать, надо проанализировать распределения X и Y. Если они оба нормальные - то наличие связи бесспорно. А если нет, то все намного сложнее...

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

не обращают внимания.

То есть, где-то на первой странице там мелким шрифтом написано: "Рассмотрим нормально распределенные случайные величины....". Но мы-то обычно ищем в Сети не фундаментальные знания, а ответ на конкретный вопрос. Нам нужно здесь и сейчас проверить значимость корреляции. Именно ради этого мы внимательно читаем вышеописанное руководство, но не все целиком, а лишь фрагмент со страницы 100500.42 и по страницу 100500.45. Где речь конкретно про корреляцию, и где черным по русскому сказано: критическое значение = 0.1! И приведены неоспоримые формулы.

Упомянутая выше мной ссылка тоже, кстати,

этим грешит.

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

"...Выборочный коэффициент корреляции при определенных предпосылках связан со случайной величиной t... " (выделение жирным шрифтом - мое).

По мне, так это попросту издевательство над читателем! Так как в жизни у нас в 90% случаев будут НЕ нормальные распределения! И, следовательно, все сказанное в таких руководствах без этой оговорки - это не просто недомовлка, а почти что мошенничество. Во всяком случае, злоупотребление доверием (т.е. намеренное введение читателя в заблуждение) налицо. В результате чего мы, получив Rxy = 0.3, часто делаем совершенно необоснованный вывод, что две переменные связаны. А хуже всего то, что при Rxy = 0.3 они действительно иногда могут быть вроде как связаны (а могут и нет). Из-за этого ошибка далеко не всегда очевидна, а не обоснованный статистически вывод может выглядеть очень правдоподобно.

Я боюсь представить, какая буря может подняться, если копнуть эту тему поглубже. И речь тут даже не о дата аналитиках, которые рано или поздно доходят до всего нужного своими мозгами (ну а джунам простительно заблуждаться). Речь - про прорву научных статей с подобными ошибками в обработке данных.

И если быть честным, то это лишь верхушка айсберга. Так как все выше сказанное - это про случайные величины. А на практике у нас в половине кейсов необходимо обрабатывать не случайные величины, а фактически временные ряды. Для справки: временной ряд - это когда изучаемая величина зависит от времени

любым способом

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

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

Ситуация уже настолько далеко вышла за грань здравого смысла, что я честно попытался внести нужные правки в википедию. Где их, разумеется, отклонили, так как в википедии, согласно Правилам, нельзя просто так взять и написать "2х2=4": там надо обязательно сослаться на "авторитетный источник" (и это в общем разумно). Но где же я могу найти авторитетный источник, в котором бы обсуждался совершенно тривиальный и очевидный для математиков факт, что случайный процесс и случайная величина - это разные вещи?! Это то же самое, как искать в современных научных журналах статью, где бы на полном серьезе доказывалось бы, что Земля - круглая, а не плоская.

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

Ну а что касается Википедии... тем хуже, имхо, для Вики :-((

> Хотя тормоза, звёзды и т.п. - это, всё-таки, вопрос не рамы, а комплектухи.

???

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

вообще не ставятся

Или вот другой пример с жесткой вилкой, на которой дырка диаметром 5.2мм в 400мм от оси колеса (правый чертеж) - это крепление под крабы. Если это расстояние чуть-чуть изменить, то все, краб не встанет (у него же размер стандартный). Тем самым возникает ограничение на максимальную толщину резины

Жесткая передняя вилка, крепление под тормоз-краб. С VB ограничения другие, но тоже имеются (например, совместимость с передним багажником). Но самое главное - эти крепления должны быть ;-)

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

и рамы тоже.

Геометрия выемки на верхней левой проекции (между размерами 44 и 63 ограничивает число зубов на максимальной звезде. Так что любая рама - это всегда компромисс между длиной кареточного вала, базой, максимальной шириной резины и ограничением на число зубьев большой звезды. Велосипед не зря столько лет с успехом изобретают (и до сих пор не закончили окончательно ;-)

> А какие проблемы с дисками в п1 и 2?

1: А как Вы обычно задний багажник ставите при наличии диска? Сперва там обычно ставили горизонтальный болт длиной пару см,

разгибая для этого ножки багажника

То есть, вертикальная нагрузка багажника была приложена к вынесенному горизонтально концу болта. И это было совершенно стандартным маразмом! Любой инженер сразу скажет, что такая конструкция - это полный абсурд с точки зрения здравого смысла. У меня даже чертежа такого под рукой нет ввиду этого. Хотя в походах я с такими экземплярами сталкивался - они ломались почти гарантированно. Насколько бескомпромиссно хозяева таких велов отстаивали надежность этой конструкции до похода, настолько же бескомпромиссными ее противниками они становились после ;-)

Потом вместо болтов стали уголки на багажнике делать (их хорошо видно на 4-й минуте вот этого видео). Хотя с точки зрения силовой схемы это все равно полная фигня, если только на багажнике не символические 5кг. Но у меня там обычно полновесный походный рюкзак, причем часто по "стиральной доске".

Потом опыт бесчисленных поломок привел этих "гениальных велоинженеров" к мысли, что стойки багажника в этом случае надо крепить не около оси колеса, как обычно, а выше диска - хомутами на раму. Но это тоже

криво и неудобно по многим причинам

Например, ограничивается длина штанов, что мешает сместить центр тяжести груза максимально вниз (что необходимо для комфортной езды с большим весом). А в мое время таких багажников с укороченными ногами просто не было. А если ставить с более длинными - то полка багажника будет не в 5см над резиной, а в 10-15. С точки зрения центровки по весу это тоже почти катастрофа.

2: да в принципе никаких проблем - просто этот диск каждый раз снимать надо.

Даже в поезд

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

Когда каждая минута на счету (хочется ведь прямо на веле подъехать к вагону и разобраться-упаковаться прямо у тамбура, чтобы не бегать с велосипедами-гитарами-рюкзаками в руках по переходам пешком). А если у тебя еще и дети при этом, то разборка вела в поезд не у вагона практически невозможна без наличия провожающих

> Рем набор не нашел, так что купил из остатков такие-же

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

пара тысяч км

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

Ну и в итоге приходим к выводу, что для каждого вела с дисками в походе нужен свой индивидуальный ЗИП. Так как три одинаковых дисковых тормоза в группе из 5-6 человек - это скорее исключение, чем правило. Тем более они не бывают все одинаковые.

.

> Вибрейки с первого вела вспоминаю как страшный сон. Постоянно регулировать надо. Если словил восьмёрку (стиль катания позволяет) - минус тормоз до выправления. В грязи работают отвратительно, зимой (если не уследить) покрываются льдом и тебя на спуске может ожидать большой и очень неприятный сюрприз.

Ну во-первых, от условий эксплуатации многое зависит. У нас в горах гораздо критичнее, что диски перегреваются ...и полностью перестают тормозить. Один мой коллега по походам так чуть не простился с этим миром на спуске с Медео. Это было, когда диски только входили в моду и агрессивно маркетились без какого-либо упоминания про скрытые недостатки.

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

Что же касается восьмерки - то это заведомо нештатная ситуация, которую в походе надо чинить вплоть до сходимости. У меня пару раз было, что колесо складывалось пополам (еще советские одинарные обода). Вот после этого действительно надо было все спицы вытаскивать и жестко править, иначе дальше не поедешь. В одиночку развлечение часа на 4 в полевой обстановке. А обычная небольшая восьмерка - какие проблемы? Подкрутил спицы, поехал дальше...

> Короче - нафиг такое счастье!

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

по каменистому склону
Абзхазия, тропа от оз. Амткел в ущелье р.Холодной. 2018г.
Абзхазия, тропа от оз. Амткел в ущелье р.Холодной. 2018г.

Еще у меня есть запасы ЗИПа для них. Ну и про спуски уже написал: хотя эффективность торможения в грязи/слякоти резко снижается, но полного отказа у VB все-таки не бывает, в отличие от дисков. Ну и надо учитывать походную специфику: у нас обычно нет задачи проехать какой-то участок максимально быстро. Есть - проехать максимально надежно. Поэтому по крутому, мокрому от росы/инея травянистому склону, если он все-таки встретился, иногда правильнее пройти двести метров пешком, а не ехать (независимо от типа тормоза). А на горных дорогах, где все предсказуемо, отрегулированного VB хватает практически всегда. Единственное исключение (имхо) - это городское движение, где запросто и внезапно может возникнуть потребность в экстренном торможении. Но для меня это решается стилем езды, а не техникой.

Обычно можно подобрать по свои габариты|хотелки и из стандартных сильно дешевле.

Ключевое слово "обычно" ;-) Все зависит от хотелок: если запросы относительно стандартные, то, пожалуй, все так. Но вот в моем случае ниша была сильно не массовая (велосипед для автономных походов с преобладанием хороших дорог) , и стандартных рам нужного типа просто не существовало.

Например

я хотел геометрию, заточенную под шоссе, и с бараньими рогами впереди, но под широкую резину. Тормоза обязательно вибрейки, чтобы: 1) не иметь проблем с прочным мощным багажником, 2) не иметь проблем с глубокой разборкой при сдаче в багаж (самолет), и 3) не возить индивидуальный ремнабор под свои диски (они в группе почти всегда разные, а к вибрейкам обычно можно стандартные детали на всех взять). Еще я хотел второй багажник спереди. Еще хотел большую переднюю звезду на 52-53 зуба, так как я привык крутить с низким каденсом, но при этом довольно часто езжу по шоссе по ветру или по очень длинной слегка пологой горке, где можно без особых усилий держать крейсерскую за 30. Если при это мельтешить ногами, то быстро устанешь независимо от прикладываемых усилий. А в Ср.Азии полно участков, где можно катить с такой скоростью чуть ли не часами, лениво шевеля расслабленными ногами (конечно, выезжать на маршрут при этом часто надо с рассветом, чтобы ловить утренний бриз).

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

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

Защита через дискеты с дефектами - так себе: с одной стороны лицензионный продут довольно скоро становился нерабочим - дискеты не долговечны, 

Мы это решали просто: при штатном использовании программы ключевая дискета запрашивалась раз в несколько месяцев. Если программу переставляли на другой комп, или при других очень существенных изменениях в окружении первый запрос происходил почти сразу же после этого (в течение недели-двух), а потом (при удачном исходе проверки) опять раз в полгода. Так что на время жизни программы одной дискеты обычно хватало ;-) Кроме того, мы почти сразу стали давать каждому юзеру не одну ключевую дискету, а пару. Но это скорее не на случай порчи дискеты, а потому, что каждый дисковод уникален: у нас были случаи, когда поцарапанная дискета на каком-то дисководе не работала штатно. А вот чтобы не сработали сразу обе - не бывало ни разу.

защита полезной программы относительно легко ломается (и напрямую и через свой обработчика на int13h

Это имеет смысл, если ты потом можешь взломанную программу продать. А в нашем случае продукт был сверхузконишевый. Фактически все потенциальные юзеры даже в 1980-е годы знали друг друга лично либо по публикациям (программа у нас русскоязычная полностью, поэтому она ходила и до сих пор ходит почти исключительно в FUSSR; отдельные пользователи-коллеги, уехавшие за бугор, не в счет). Так что защита была скорее моральным стимулом, чем

реальной необходимостью

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

свелся к нулю

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

но только не наши

а того сотрудника, который будет пользоваться продуктом. Поэтому для научных организаций оплата была символической (какие были зарплаты в науке в 90-е годы, напоминать вряд ли нужно). А вот при продаже программы в банк мы пару раз получили неплохую надбавку к зарплате ;-)

Впрочем, эта лафа быстро закончилась, так как банки очень скоро перешли на специализированное ПО, которое может и хуже прогнозировало ряды, но зато несоизмеримо лучше интегрировалось в остальную банковскую инфраструктуру данных, а главное,

гораздо лучше подходило для текущей рутины

Ключевое отличие в том, что у нас каждый набор рядов уникален. Мы их получаем годами, поэтому можем потратить кучу времени для ручного "вылизывания" данных, "вклеивания" в модель априорной физики, оптимизации ее параметров и т.д. Основное время у нас уходит на уточнение или замену моделей при поступлении новых данных, их интерпретацию и т.д. В общем, у нас центральная фигура - это эксперт, а программа - это набор лопат, которыми он может копать круглые, продолговатые или какие-то совсем уж изощренные "ямы" по Клейну. Прогноз в нашей схеме - это скорее побочный эффект хорошей модели, и он часто гораздо менее интересен, чем внутренняя структура модели. Этот подход резко контрастирует с задачами оперативного прогнозирования параметров временного ряда в банке, где модель обычно настраивается один раз (желательно полуавтоматически), а затем в реальном времени выдает новые числа по мере поступления данных. То есть нужны не изыски, а готовая "яма".

Но пережить самые трудные времена эти продажи нам действительно помогли.

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

Покопался в своих архивах - и там, неожиданно, нашлась такая ключевая дискета с царапкой! Я их в свое время наделал с большим запасом, потом истрачены были не все. Это уже одна из последних партий, "наиболее современный" форм-фактор, 2002 год ;-)

Царапка на дискете не кажется прозрачной - она действительно просвечивает ;-)
Царапка на дискете не кажется прозрачной - она действительно просвечивает ;-)

;-)

А вот "протокол тестирования" той самой дискеты на нескольких дисководах

Disk 344202.

Selected bad: 2113, 2437, 2725
Selected ok: 2112, 2436, 2727

2077+ 2113+ 2149+ 2167+ 2185+
2203+ 2221+ 2239+ 2257+ 2275+
2293+ 2311+ 2329+ 2347+ 2365+
2383+ 2401+ 2419+ 2437+ 2455+
2473+ 2491+ 2509+ 2527+ 2545+
2563+ 2581+ 2599+ 2617+ 2635+
2653+ 2671+ 2689+ 2707+ 2725+
2743,

****>>>> Testing Sectors From 0 to 2880
sect: read_err: write_err: total: 386

2041 0 1 1 386A

2077 145 438 583 486
2077 178 453 631 386
2077 431 459 890 386A
2077 443 436 879 486A
2077 512 0 512 486MAIL
2077 512 0 512 5CARE
2077 512 0 512 5HOME
2077 512 0 512 5HOMEA

2095 0 261 261 486
2095 512 0 512 5HOME

2113 441 330 771 486A
2113 466 490 956 386A
2113 467 325 792 486
2113 474 493 967 386
2113 512 0 512 486MAIL
2113 512 0 512 5CARE
2113 512 0 512 5HOME
2113 512 0 512 5HOMEA

2131 83 189 272 486A
2131 303 364 667 486
2131 512 0 512 5HOME
2131 512 0 512 5HOMEA

2149 445 503 948 386A
2149 457 401 858 486A
2149 466 407 873 486
2149 470 504 974 386
2149 512 0 512 486MAIL
2149 512 0 512 5CARE
2149 512 0 512 5HOME
2149 512 0 512 5HOMEA

2167 185 0 185 386A
2167 200 0 200 386
2167 222 245 467 486A
2167 328 400 728 486
2167 512 0 512 486MAIL
2167 512 0 512 5CARE
2167 512 0 512 5HOME
2167 512 0 512 5HOMEA

2185 215 508 723 386A
2185 226 508 734 386
2185 446 363 809 486A
2185 460 399 859 486
2185 512 0 512 486MAIL
2185 512 0 512 5CARE
2185 512 0 512 5HOME
2185 512 0 512 5HOMEA

2203 249 193 442 386
2203 265 196 461 386A
2203 334 412 746 486
2203 366 280 646 486A
2203 512 0 512 486MAIL
2203 512 0 512 5CARE
2203 512 0 512 5HOME
2203 512 0 512 5HOMEA

2221 439 417 856 486A
2221 465 454 919 486
2221 503 508 1011 386A
2221 512 0 512 486MAIL
2221 512 0 512 5CARE
2221 512 0 512 5HOME
2221 512 0 512 5HOMEA
2221 512 508 1020 386

2239 249 501 750 386A
2239 379 401 780 386
2239 407 434 841 486
2239 418 412 830 486A
2239 512 0 512 486MAIL
2239 512 0 512 5CARE
2239 512 0 512 5HOME
2239 512 0 512 5HOMEA

2257 408 415 823 486A
2257 512 0 512 486MAIL
2257 512 0 512 5CARE
2257 512 0 512 5HOME
2257 512 0 512 5HOMEA
2257 512 436 948 486
2257 512 508 1020 386
2257 512 508 1020 386A

2275 410 441 851 486A
2275 415 449 864 486
2275 418 358 776 386A
2275 420 331 751 386
2275 512 0 512 486MAIL
2275 512 0 512 5CARE
2275 512 0 512 5HOME
2275 512 0 512 5HOMEA

2293 452 457 909 486A
2293 512 0 512 486MAIL
2293 512 0 512 5CARE
2293 512 0 512 5HOME
2293 512 0 512 5HOMEA
2293 512 460 972 486
2293 512 508 1020 386
2293 512 508 1020 386A

2311 416 464 880 386A
2311 425 452 877 486A
2311 430 458 888 486
2311 432 427 859 386
2311 512 0 512 486MAIL
2311 512 0 512 5CARE
2311 512 0 512 5HOME
2311 512 0 512 5HOMEA

2329 186 508 694 386A
2329 448 462 910 486A
2329 506 464 970 486
2329 512 0 512 486MAIL
2329 512 0 512 5CARE
2329 512 0 512 5HOME
2329 512 0 512 5HOMEA
2329 512 508 1020 386

2347 403 429 832 486A
2347 413 474 887 386
2347 442 433 875 486
2347 444 478 922 386A
2347 512 0 512 486MAIL
2347 512 0 512 5CARE
2347 512 0 512 5HOME
2347 512 0 512 5HOMEA

2365 493 431 924 486A
2365 497 465 962 486
2365 511 508 1019 386A
2365 512 0 512 486MAIL
2365 512 0 512 5CARE
2365 512 0 512 5HOME
2365 512 0 512 5HOMEA
2365 512 508 1020 386

2383 409 463 872 486A
2383 426 500 926 386
2383 466 503 969 386A
2383 467 468 935 486
2383 512 0 512 486MAIL
2383 512 0 512 5CARE
2383 512 0 512 5HOME
2383 512 0 512 5HOMEA

2401 253 497 750 386A
2401 283 508 791 386
2401 408 438 846 486A
2401 487 412 899 486
2401 512 0 512 486MAIL
2401 512 0 512 5CARE
2401 512 0 512 5HOME
2401 512 0 512 5HOMEA

2419 434 478 912 486A
2419 457 509 966 386
2419 459 508 967 386A
2419 470 481 951 486
2419 512 0 512 486MAIL
2419 512 0 512 5CARE
2419 512 0 512 5HOME
2419 512 0 512 5HOMEA

2437 283 501 784 386
2437 300 295 595 386A
2437 311 306 617 486A
2437 376 308 684 486
2437 512 0 512 486MAIL
2437 512 0 512 5CARE
2437 512 0 512 5HOME
2437 512 0 512 5HOMEA

2455 426 494 920 486A
2455 454 508 962 386
2455 459 489 948 486
2455 511 509 1020 386A
2455 512 0 512 486MAIL
2455 512 0 512 5CARE
2455 512 0 512 5HOME
2455 512 0 512 5HOMEA

2473 129 116 245 486A
2473 138 306 444 386A
2473 182 373 555 386
2473 280 0 280 486
2473 512 0 512 486MAIL
2473 512 0 512 5CARE
2473 512 0 512 5HOME
2473 512 0 512 5HOMEA

2491 412 500 912 486A
2491 428 499 927 486
2491 512 0 512 486MAIL
2491 512 0 512 5CARE
2491 512 0 512 5HOME
2491 512 0 512 5HOMEA
2491 512 508 1020 386
2491 512 508 1020 386A

2509 233 493 726 386A
2509 273 321 594 486A
2509 281 311 592 486
2509 289 498 787 386
2509 512 0 512 486MAIL
2509 512 0 512 5CARE
2509 512 0 512 5HOME
2509 512 0 512 5HOMEA

2527 439 500 939 486A
2527 442 503 945 486
2527 456 508 964 386A
2527 488 508 996 386
2527 512 0 512 486MAIL
2527 512 0 512 5CARE
2527 512 0 512 5HOME
2527 512 0 512 5HOMEA

2545 243 496 739 386
2545 259 497 756 386A
2545 300 340 640 486A
2545 309 304 613 486
2545 512 0 512 486MAIL
2545 512 0 512 5CARE
2545 512 0 512 5HOME
2545 512 0 512 5HOMEA

2563 424 508 932 486
2563 512 0 512 486MAIL
2563 512 0 512 5CARE
2563 512 0 512 5HOME
2563 512 0 512 5HOMEA
2563 512 506 1018 486A
2563 512 508 1020 386
2563 512 508 1020 386A

2581 238 485 723 386A
2581 273 489 762 386
2581 402 412 814 486A
2581 422 337 759 486
2581 512 0 512 486MAIL
2581 512 0 512 5CARE
2581 512 0 512 5HOME
2581 512 0 512 5HOMEA

2599 412 496 908 486A
2599 441 502 943 486
2599 467 508 975 386A
2599 494 508 1002 386
2599 512 0 512 486MAIL
2599 512 0 512 5CARE
2599 512 0 512 5HOME
2599 512 0 512 5HOMEA

2617 259 479 738 386
2617 281 475 756 386A
2617 381 339 720 486
2617 415 426 841 486A
2617 512 0 512 486MAIL
2617 512 0 512 5CARE
2617 512 0 512 5HOME
2617 512 0 512 5HOMEA

2635 428 491 919 486
2635 430 487 917 486A
2635 448 508 956 386A
2635 456 508 964 386
2635 512 0 512 486MAIL
2635 512 0 512 5CARE
2635 512 0 512 5HOME
2635 512 0 512 5HOMEA

2653 338 443 781 386
2653 355 454 809 386A
2653 363 288 651 486
2653 397 404 801 486A
2653 512 0 512 486MAIL
2653 512 0 512 5CARE
2653 512 0 512 5HOME
2653 512 0 512 5HOMEA

2671 416 450 866 486A
2671 447 461 908 486
2671 478 501 979 386A
2671 485 508 993 386
2671 512 0 512 486MAIL
2671 512 0 512 5CARE
2671 512 0 512 5HOME
2671 512 0 512 5HOMEA

2689 365 392 757 486A
2689 380 375 755 486
2689 380 428 808 386A
2689 390 431 821 386
2689 510 0 510 5HOME
2689 512 0 512 486MAIL
2689 512 0 512 5CARE
2689 512 0 512 5HOMEA

2707 406 408 814 486A
2707 429 491 920 386
2707 432 502 934 386A
2707 450 419 869 486
2707 512 0 512 486MAIL
2707 512 0 512 5CARE
2707 512 0 512 5HOME
2707 512 0 512 5HOMEA

2725 209 401 610 386
2725 332 408 740 386A
2725 349 344 693 486
2725 351 361 712 486A
2725 512 0 512 486MAIL
2725 512 0 512 5CARE
2725 512 0 512 5HOME
2725 512 0 512 5HOMEA

2743 0 333 333 486A
2743 0 391 391 386
2743 0 417 417 386A
2743 341 319 660 486
2743 512 0 512 486MAIL
2743 512 0 512 5CARE
2743 512 0 512 5HOME
2743 512 0 512 5HOMEA

2761 221 143 364 486

Черт, и здесь форматирование (выравнивание столбцов) при вставке поехало...

Как видно из протокола, это уже была эпоха 486-х машин... DOS уже фактически умирал, но "программы-зомби" еще встречались на каждом углу ;-)

@nick758, спасибо за пример, но у меня так не получается. Проблема не в выборе языка, а в том, что код у меня портится в момент вставки из буфера обмена. То есть еще до того, как я могу щелкнуть по кнопке "<>" и что-то там выбрать.

Возможно, у меня с буфером обмена что-то не то? Он как-то неправильно с хабраредактором взаимодействует? Вот для примера я скопировал Ваш код из поста, и попробовал вставить.

Просто копипаста:

C AREA OF A TRIANGLE - HERON'S FORMULA C INPUT - CARD READER UNIT 5, INTEGER INPUT, NO BLANK CARD FOR END OF DATA C OUTPUT - LINE PRINTER UNIT 6, REAL OUTPUT C INPUT ERROR DISPAYS ERROR MESSAGE ON OUTPUT 501 FORMAT(3I5) 601 FORMAT(" A= ",I5," B= ",I5," C= ",I5," AREA= ",F10.2, $"SQUARE UNITS") 602 FORMAT("NORMAL END") 603 FORMAT("INPUT ERROR OR ZERO VALUE ERROR") INTEGER A,B,C 10 READ(5,501,END=50,ERR=90) A,B,C IF(A=0 .OR. B=0 .OR. C=0) GO TO 90 S = (A + B + C) / 2.0 AREA = SQRT( S * (S - A) * (S - B) * (S - C) ) WRITE(6,601) A,B,C,AREA GO TO 10 50 WRITE(6,602) STOP 90 WRITE(6,603) STOP END

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

1) Я копирую фрагмент текста из буфера обмена в хабраредактор

2) Храбро-редактор автоматически распознает вставляемый фрагмент, как код на неизвестном языке,

3) Редактирует (удаляя лишнее), затем форматирует его в соответствии со своими представлением о прекрасном

4) Вставляет отредактированный и отформатированный код

Наверно, я правда чего-то совсем простое не догоняю.

Но что именно?!

UPD: Или, может, мне в браузере какие-то настройки подкрутить надо? У меня просто стандартный Хром, обновляемый, с Ad-блоком. Больше

ничего особенного нет.

Винда - десятка...

UPD2:

Черт возьми, еще одна мысль!

А вдруг это то самое, которое уже началось?! Только совершенно иначе? Мы ждали от ИИ какую-то жесть, а вместо этого зарождающийся новый разум пытается, в меру своего развития, создать нечто прекрасное?

Время на редактирование вышло уже, поэтому добавлю картинку (которая должна была быть в прошлом сообщении) ответом на свой же пост. В общем, приведенный чуть выше исходный код на самом деле (в редакторе) должен

вот так выглядеть (скриншот)
Некорректно вставляющийся код
Некорректно вставляющийся код

Кстати, только сейчас заметил несоответствие комментариев коду: максимально одна пара bad+good дает не +4 очка, а +7: +1 за good и еще +1+2+3=6 за bad. Так что потенциально даже одной итерации цикла должно хватить, а не двух, если в bad-сектрое ошибок достаточно.

Судя по всему, код функции я менял для "облегчения" прохождения проверки (это точно было), а вот комментарий привести в соответствие позабыл. Стандартный баг ;-)

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

сделать небольшой шажок в эту сторону?

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

Можно, я просто нажму Ctrl+V и код вставлю?

> Способ Вячеслава Медноногова

А в каком году это было?

Мы так свою самодельную программу (не игру) защищали: к ней тоже прикладывалась вручную поцарапанная гвоздиком (хорошо, иголкой) ключевая дискета ;-)

А поскольку мы все это придумывали и писали, сидя в горной памирской глухомани, и в полном отрыве от "Большой земли", то были уверены, что мы это все сами изобрели... Интернетов-то тогда в наших краях не существовало. Хотя, с высоты современного опыта, начинаешь понимать, что глючные дискеты тогда не только у нас были. А от глючной (и потому уникальной) дискеты до описанной технологии и вовсе полшага. Так что такая мысль наверняка почти одновременно сразу во многие головы приходила...

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

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

А вот та самая функция проверки ключевой дискеты на древнем фортране

Как видно из алгоритма, проверка была довольно лояльной, чтобы учесть индивидуальные особенности разных дисководов. Единственное, прошу прощения, но я так и не смог победить "умный" редактор Хабра, который катастрофически портит фортрановский код при вставке, глотая пробелы и отступы

в случайных местах

Причем в буфере обмена все хорошо: в любой другой редактор код вставляется совершенно корректно... А что наделал хаброредактор, видно по циклу do ниже... И с длинными строками фигня какая-то...

UPD: А еще символы "*" в операторах описания переменных полетели... А вверху должна быть ровная красивая рамка-прямоугольник. А чуть ниже - операторы типа "logical*1 function ...". Прям зла не хватает! Но время правки на исходе.

Специально оставил все как есть, т.к. простых способов вставить код корректно у меня не нашлось. А применять "сложные" (т.е. сидеть править каждую строчку вручную) не хочу, так как тогда администрация Хабра точно проблему проигнорирует. А так может вдруг все-таки кто-то что-то подкрутит?

Надеюсь, что особый стиль автоформатирования кода, присущий редактору Хабра, не помешает вам улыбнуться, читая комментарии в этой функции ;-) Кстати, у меня она все еще компилируется (фортран!), и даже работала бы, если б не умер последний дисковод тех времен. Правда, это уже не самая первая версия функции из примерно 1988г, а скорее последняя - из 1996. Но разница там минимальная. Кстати, в "продакте" этот код работал чуть ли не до 2010г, когда последние юзеры нашей проги перешли с DOS-версии на виндовую (в которой мы уже отказались от "детских болезней" с ключами и пр.).

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C Идентификация ключевой дискеты: C
C.......................................................................C
logical1 function readtest_set(ndrv) integer4 readtest,i,err,ntest, count
parameter (ntest=3)
integer2 ndrv2, good(ntest), bad(ntest)
c
c Чтобы настроить программу на работу с конкретной дискетой, надо
c тут указать номера хороших и плохих секторов
data bad/ 2361,2541,2685 /, good / 2362,2542,2686 /
c
c !Параметры дискетки
c
c За 10+ ошибок в хорошем секторе -1 очко
c За 0 ошибок в хорошем секторе +1 очко
c За 100+ ошибок в плохом секторе +3 очка
c За 10+ ошибок в плохом секторе +2 очка
c За >1 ошибок в плохом секторе +1 очко
c За 0 ошибок в плохом секторе -1 очко
c Каждая пара bad+good дает максимум +4 очка, минимум -2 очка.
c В процессе проверки надо набрать +4 очка из 9 возможных
c Если достаточно окажется 1-2-х проверок, третью не проводим:
c
count=0

    do i=1,ntest
       err=readtest(good(i),ndrv)
       if (err.gt.9)  count=count-1
       if (err.eq.0)  count=count+1
       if (count.ge.4) exit

c
err=readtest(bad(i),ndrv)
if (err.eq.0) count=count-1
if (err.gt.1) count=count+1
if (err.gt.9) count=count+2
if (err.gt.99) count=count+3
if (count.ge.4) exit
end do
c
c
readtest_set=(count.ge.4)
return
end

Будучи скопированным на другую дискету, такой exe-шник, разумеется, не работал ;-) Точнее, он запускался, и даже делал вид, что работает, но код с результатом проверки, который он возвращал основной программе, был "паленым". Впрочем, юзеру она ничего об этом не сообщала, а просто уменьшала вероятное время ожидания следующей проверки ключа вдвое. То есть, при получении правильного кода программа запрашивала ключевую дискету в следующий раз через несколько месяцев (сам момент запроса, естественно, выбирался случайно), но если она получала неправильный код 2-3 раза подряд, то запросы ключевой дискеты становились все чаще, вплоть до нескольких раз в день. А поскольку тестирование секторов на такой дискете требовало времени (до 5 минут) и сопровождалось жуткими звуками ;-), то это начинало ощутимо мешать, так как продолжить работу можно только после окончания проверки. В результате у нас даже не было необходимости придумывать какие-то санкции для пиратов: программа продолжала работать при любом исходе проверки. Но сам по себе факт запроса дискеты несколько раз в день уже был достаточной санкцией ;-)

А стохастичность проверок плюс невозможность простым способом определить, "паленый" или корректный код возвращает этот exe-шник в основную программу, здорово затрудняли взлом. Конечно, трюки совсем простые и доморощенные, но именно в силу этого очень трудно вскрываемые ;-) Хотя если честно, мы сделали это все больше из развлечения и для собственного развития, чем по необходимости. Так как взлом нашей защиты был тогда почти настолько же актуален, как

ловля неуловимого Джо

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

Однако, наличие ключевой дискеты собственного дизайна придавало нам некоторую уверенность, а программе солидность ;-) Да, интересное время было...

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

Да, у них там все незадешево, зато "любой каприз за ваши деньги". Я уже лет пятнадцать на их раме катаюсь, включая довольно серьезные автономки. Не так давно закупил у них раму жене. Но, любой разговор там начинается с индивидуального чертежа. Если точно знаешь, какая геометрия тебе нужна (включая все нюансы вплоть до градусов/миллиметров) - то очень советую к ним заглянуть. С другой стороны, если вся конкретика пожеланий ограничивается "хочу красивое и крутое", то заказывать раму в Т-Р вряд ли стоит ;-)

Хороший подход!

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

Если интересны подробности,

вот несколько ссылок

Рассуждения и примеры применения этой идеи в геофизике есть в публикациях: раз, два, три (ну и см. ссылки оттуда). Полные тексты статей можно скачать здесь. Чуть подробнее "философия" этого подхода (взгляд со стороны геофизики) изложена в справочной системе нашей программы ABD: см. раздел 3.I4 в файле WinABD_Help.chm в каталоге с программой ABD. Саму программу можно скачать там же.

Информация

В рейтинге
1 886-й
Откуда
Пущино, Москва и Московская обл., Россия
Зарегистрирован
Активность