23:59 

Свистать всех наверх

zHz00
Сегодня с утра был снегопад. И именно сегодня мне приспичило поехать кое-куда на машине. Мдаа...

В таких условиях до этого я ездил один раз. Но тогда это была папина машина -- полноприводная. И это было совсем другое дело.

Но даже на полном приводе я умудрился люто сфейлиться. Шоссе было более-менее расчищено, а обочина -- нет. Было пора сворачивать на прилегающую дорогу. И я на слишком высокой скорости в'ехал на обочину с толстым слоем снега. Слишком высокой -- километров 30 в час)) . Машина повернулась на 45 градусов и поехала боком. Я стал крутить руль -- но он никак не влиял на направление движения машины. Тормоза, естественно, не работали тоже. Остановился в полуметре от отбойника. Фууух.

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

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

Но если скорость прибавить хотя бы до 20 км/ч, заносить начинает меньше. Почему?

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

В общем, снег и песок в этом смысле оказались схожи. А именно: при быстром воздействии вещество не успевает "прогнуться". Это называется простым словом "вязкость".

@темы: Очевидное-невероятное, Наблюдения, Автомобили

23:59 

Untitled [515]

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

Крест, что он нёс, был тем крестом, что он на себе поставил.
***
Она поставила на нём кельтский крест.
***
Это вышивание не крестиком, а крестцом.

@темы: Викторика

23:59 

Программа, электроника и механика: надёжность

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

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

С отладкой механических устройств я по работе почти не сталкивался. Но в те пару раз, когда это всё-таки происходило, я обнаружил ещё более интересную вещь: неполадки в механической части ещё сложнее диагностировать и устранить, чем в электронной. Штанги не доходят туда, куда нужно (а если доходят, то не фиксируются в нужном положении). Колёсики заедают. А "посмотреть", что происходит на самом деле -- возможности практически нет.

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

Откуда же берётся, что механическое устройство такое надёжное? Дело в сложности. Те механические устройства, которые надёжные, содержат в себе, к примеру, сотни элементов. Они перемещаются, к примеру, 10 раз в секунду, не больше. Или просто вертятся без остановки. А процессор? Сколько в нём транзисторов? Зависит от процессора, но, к примеру, 731 млн (2008 год, Core i7 "Bloomfield"). А частота -- 2 ГГц (он же). Это частота, с которой могут перекидываться транзисторы внутри. Если бы механическое устройство состояло из такого же количества частей, оно бы проработало весьма недолго. Ибо поломка любой детали -- кирдык.

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

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

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

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

@темы: Борьба с техникой, Мысли, Наблюдения, Программирование, Электроника

Записки безумного саппорта

главная