Pull to refresh
11
Karma
0
Rating

Пользователь

Программирование и жизнь в галактическом масштабе: вся соль на трех страницах

Professional literature Science fiction
Я наткнулся на этот прекрасный текст (под катом) в книге Вернора Винджа "Глубина в небе". Фрагмент меня впечатлил на столько, что я решил поделиться своими мыслями с общественностью. Не часто встретишь подобную проработку вопроса в художественной литературе. Местами, текст кажется слегка… простетским, но возможно это результат не самого хорошего перевода. На самом деле, текст достаточно глубокомысленный.

Еще по ходу чтения мне вспомнился Эдсгер Дейкстра с его знаменитой фразой: «Я денно и нощно молю, чтобы как можно больше моих собратьев-программистов нашли способ освободиться от проклятья совместимости» («I pray daily that more of my fellow-programmers may find the means of freeing themselves from the curse of compatibility») из книги Смиренный программист (1972 sic!!!). А позже и Эрик Реймонд с своим Собором и Базаром (1997 год). Но текст Винджа не только о проклятье совместимости, на трех страничках поднят (и в общем то оставлен без ответов) целый пласт вопросов:
  1. Проблема совместимости в широком смысле;
  2. Проблема поддержки старого кода;
  3. Проблема зависимости человеческой жизни «от бесчувственных роботов» (с), к чему мы стремительно приближаемся;
  4. Проблема data mining`а вообще и поиска готового решения в бездонной бочке рецептов в частности (github, stack overflow?);
  5. Проблема «переписывания» старого кода (и плохого, и хорошего) — этот момент так и хочется перечитывать :);
  6. Проблема необъятности ИТ-технологий. Иногда говорят, что последний универсальный физик жил в середине пошлого века, имея ввиду Льва Ландау. Похоже сейчас наступает (или уже наступило) время, когда найти универсального программиста таки уже невозможно;
  7. В тексте нет слова хакер, ни в позитивной, ни в негативной коннотации. Но написано и об исследователях, и о тех преимуществах, которые можно получить зная те или иные backdoor`ы и о том, какую власть это может дать.
  8. и наверное это не все… :)


Складывается впечатление, что писал это человек, на своей шкуре прочувствовавший эти самые проблемы.
Хочу отметить, что «Глубина в небе» была написана в 1999 году, когда многое из того, о чем пишет Виндж еще не было проблемой, или вообще только показалось на горизонте.

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

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



Ниже привожу наиболее интересный отрывок из текста. В романе еще много всего интересного, не относящегося к программированию, не даром он собрал несколько премий. Так что рекомендую к прочению, причем в оригинале, попавшийся мне перевод не очень хороший.
Приятного прочтения :)
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views 13K
Comments 7

Электрофокусер на базе отладочной платы Arduino Uno, часть 3

Developing for Arduino *
Продолжаю описание электрофокусера с блоком управления на базе Arduino. Третья часть посвящена коду микроконтроллера, а так же некоторым тонкостям сборки и настройки.
Первая часть тут, вторая часть тут.

Данный текст ориентирован на тех, кто будет разбираться в коде с целью его частичного или полного использования и на тех, кто решает подобные задачи и может почерпнуть что-то полезное. Код прокомментирован, так что ограничусь описанием структуры и общей логики, плюс отмечу важные детали.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 14K
Comments 11

Электрофокусер на базе отладочной платы Arduino Uno, часть 2

Developing for Arduino *
Продолжение, начало тут.

Определение исходных требований к устройству. Выбор «железа»


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

Общие требования


Решение должно быть:
  • простым и не дорогим;
  • построенным на доступных компонентах;
  • устройство должно быть достаточно надежным, так как я планирую использовать его на выездах (то есть в крепком корпусе, разъемы навинчивающиеся и т.д.);
  • устройство должно быть ремонтопригодным;
  • разработка не должна требовать от меня действительно глубоких знаний в электронике и схемотехнике и сильно выходить за рамки школьного курса;
  • разработка не должна затянутся не то что на месяцы, а даже на недели;
  • я не хочу заниматься разводкой, травлением плат и т.п — хочется максимально использовать готовые компоненты, желательно в виде модулей.
.

Функционал


Основные функции устройства:
  • вращение против часовой стрелки с заданной скоростью(тактовая кнопка, пока нажато — вращаем)
  • вращение по часовой стрелке с заданной скоростью (тактовая кнопка, пока нажато — вращаем)
  • регулировка скорости вращения (потенциометр)
  • команда «освободить двигатель» – снять напряжение с двигателя (для экономии ресурса АКБ и для охлаждения двигателя, при необходимости)
  • Кроме того, полезно вставить функцию автоматического снятия напряжения с двигателя если фокусером не пользуются продолжительное время (скажем, более 10 минут) – тут возможны варианты;
  • Хорошо бы иметь на пульте ДУ простую индикацию величины скрорости вращения, например яркостью светодиода.


Исходя из способа применения, необходимо иметь как минимум два варианта управления фокусировочным устройством:
  • с пульта управления при работе непосредственно у телескопа (в т.ч. при визуальных наблюдениях или при грубой фокусровке по изображению на дисплее цифровой камеры) — то есть меня вполне устроит кнопочный пульт на коротком кабеле ;
  • с помощью собственного ПО с ноутбука под OS Windows, значит блок управления фокусером должен подключаться к ПК, например по USB;
  • опционально, в будущем — с ПК с помощью ASCOM-драйвера.


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

Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 16K
Comments 16

Разработка Электрофокусера на базе отладочной платы Arduino Uno, часть 1

Developing for Arduino *
Sandbox

Постановка задачи


Имеется любительский телескоп с простым механическим фокусировочным устройством. Фокусировка осуществляется методом вращения колеса фокусера. Процедура фокусировки (особенно для целей астрофотографии) получается весьма мучительной (даже с использованием маски Павла Бахтинова и спец. ПО оценки точности фокусировки типа DSLRFocus или BackyardEOS), так как:

  • Очень сложно приложить рукой нужное усилие и повернуть колесо на действительно маленький угол при точной фокусировке;
  • Каждое касание фокусировочного устройства вызывает колебания телескопа, что приводит к потере времени на ожидание, пока колебания утихнут и можно будет оценить результат последней итерации (и чем хуже монтировка, тем этот интервал дольше, автор имел удовольствие работать с монтировкой, где период полного затухания был ~20 секундам);
  • Описанные выше особенности процесса фокусировки практически исключают фокусировку в динамике: вращение колеса с одновременным оцениванием результата. Как следствие, фокусировка – процесс итерационный, требующий большого терпения и определенного навыка, граничащего с искусством.

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

  • с помощью выносного пульта управления;
  • «удаленно» с ПК;

По сути, от устройства требуется возможность вращать ось колеса фокусировочного устройства в заданную сторону с заданной скоростью (оба параметра задаются). Таким образом, на пульте управления должны быть как минимум две кнопки (вращать по часовой и вращать против часовой) и ручка регулировки скорости.
Читать далее...
Total votes 17: ↑17 and ↓0 +17
Views 18K
Comments 35

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity