EduTranslator

Научные работы со всего мира

Создание анимации для Интернета…(с использованием бесплатных инструментов!)

Оригинал доступен на сайте zisman.ca

Навороченная анимация, которую вы видите в Интернете, создана с использованием дорогих, сложных в изучении инструментов, таких как Macromedia Flash. Анимация поменьше и попроще – называемая анимированными гифками – в состоянии оживить веб-страницу и может быть создана с использованием бесплатных инструментов.

Вот пример анимированной гифки, взятой с сайта по борьбе с курением Cigarette.com

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

Есть множество условно-бесплатных и коммерческих программ для анимации в формате GIF, доступных по разным ценам… мы собираемся использовать маленькую, бесплатную и простую: UnFREEz. Если у вас нет копии, кликните по ее названию, чтобы ее загрузить (вам понадобится программа для разархивирования, чтобы ее открыть, так как установка не предусмотрена; попросту кликните дважды на разархивированный файл, чтобы запустить ее… однако обратите внимание, что UnFREEz, а также данное руководство, по сути дела, предназначено для пользователей Windows. Пользователи Mac могут ознакомится с бесплатным ПО GifBuilder (GifBuilder Carbon для OS X) или HVS Animator).

Когда запускается UnFREEz, он выглядит так:

UnFreeze screen shot

Чтобы использовать его для создания анимации, вам необходимо создать свою подборку кадров (сохраненных в формате GIF) в какой-либо программе для рисования, например Windows Paint (которая откроется и сохранит файл в формате GIF в том случае, если у вас установлен Microsoft Office) или же более профессиональные программы, такие как Photoshop. Либо вы можете использовать KidPix или Windows Paint для сохранения серии графических файлов в формате Windows Bitmap (BMP) или в другом формате, а затем использовать бесплатную программу преобразования графики, такую ​​как Irfanview, для преобразования каждого файла в формат GIF.

Если у вас есть кадры, то отыщите их через «Мой компьютер» или «Проводник» и перетащите их значки в окно «Frames» (Кадры) программы UnFREEz в том порядке, в котором вы хотите, чтобы они воспроизводились. Когда закончите, нажмите кнопку «Make Animated GIF» («Создать анимированный GIF»), указав имя и местоположение вашего файла (совет: если вы желаете использовать анимацию в Интернете, то не используйте пробелы в имени файла!)

Можете поэкспериментировать с настройкой «Frame delay» (Задержка кадра) для того, чтобы ваши кадры воспроизводились быстрее или медленнее – чем медленнее, тем менее целостно получится, но «побыстрее» может оказаться слишком уж динамично!

Просмотр вашей анимации

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

Создание ваших кадров в Paint

Во-первых, убедитесь, что ваша копия Windows Paint в состоянии открывать и сохранять файлы в формате GIF (если же нет, то вы все равно можете использовать ее для создания кадров, используя Irfanview или другую программу для преобразования файлов из формата BMP в GIF). Откройте Windows Paint (вы найдете значок в меню «Пуск»/«Программы»/«Стандартные»)… перейдите в меню «Файл»/«Открыть» и кликните, чтобы увидеть выпадающее меню в «Тип файла»… посмотрите, есть ли у вас такая опция:
Open dialogue box

Если так, то вы можете продолжить без дополнительных преобразований. Если же нет, то все равно продолжайте, но запомните: вам необходимо конвертировать ваши кадры в формат GIF (используя Irfanview или другую программу), прежде чем использовать их в вашей программе для создания анимации в формате GIF.

Прежде чем начнете рисовать, определите размер для вашей анимации. В общем, чем меньше, тем лучше… некрупная анимация загружается через Интернет намного быстрее. В Paint нажмите на меню «Рисунок»/«Атрибуты» (Image/Attributes). Вы увидите:

Attributes dialogue box

Установите единицы измерения в пикселях (pix el – это элемент изображения: точки на экране)… просто чтобы вы прикинули: следующее изображение – размером 200 x 200 пикселей (и оно достаточно большое как для анимированного GIF):

Sample 200x200 pixels animation

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

Вот полезная штука: если ваш кадр сохранен как .GIF, то когда вы вернетесь в меню «Рисунок»/«Атрибуты», вы увидите, что опции «Прозрачности» (Transparancy) – которые были серыми и недоступными (как видно на изображении выше), теперь стали доступными… отметив опцию «[ ] Использовать прозрачный цвет фона», вы можете выбрать цвет – все, что в этом цвете будет прозрачным, когда воспроизводится GIF, – это полезная функция, так как она позволяет использовать неподвижный или анимированный GIF на веб-страницах с фоном любого цвета и не наблюдать цветной квадрат гифки. Обратите внимание, как это используется в курящем черепе, находящемся вверху.

После сохранения Frame1 кликните по пункту меню «Файл»/«Новый» (File/New), чтобы перейти к следующему кадру. «Рисунок»/«Атрибуты» останутся такими же, какими вы их установили… но вам придется заново выбирать прозрачный цвет для каждого кадра. Безусловно, все кадры в вашей анимации должны быть одинакового размера. Чтобы получить эффектную анимацию постарайтесь сделать как минимум дюжину кадров или более.

Примечание о сохранении в формате GIF:

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

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

Итог:

Создание кадров по одной штуке в такой программе, как Windows Paint, может быть утомительным… но с помощью таких простых программ, как эта, и таких бесплатных программ, как UnFREEz, студенты или другие непрофессионалы в состоянии создавать на удивление эффектную анимацию. Просто не забывайте создавать их в небольшом формате! – 19 февраля, 2002.

Уоллес Эккерт

Оригинал доступен на сайте columbia.edu

Я помню, как доктор Эккерт сказал мне: «Когда-то у каждого будет компьютер прямо на столе». Мои глаза открылись. То было, должно быть, в начале 50-х годов. Он это предвидел, – Элеонора Кравитц Колчин, интервью Huffington Post, февраль 2013 года.

 

Уоллес Эккерт, 1902-1971 гг. Имея за плечами аспирантуру в Колумбийском, Чикагском и Йельском университетах, он получил степень доктора в Йельском университете в 1931 году под руководством профессора Эрнеста Уильяма Брауна (1866-1938), который посвятил свою карьеру разработке теории движений Луны. Наиболее известный по расчетам орбиты Луны, которые послужили ориентиром для миссий «Аполлон» на Луну, Эккерт был профессором астрономии Колумбийского университета с 1926 по 1970 год, основателем и руководителем Астрономического бюро Томаса Дж. Уотсона при Колумбийском университете (1937-1940), руководителем астрономического ежегодника Военно-морской обсерватории США (1940-1945), а также основателем и руководителем Научно-вычислительной лаборатории Уотсона (Watson Lab) при Колумбийском университете (1945-1966). В первую очередь, главным образом и при любых обстоятельствах, будучи астрономом, Эккерт руководил и часто курировал создание все более мощных вычислительных машин для решения задач в сфере небесной механики и в частности для проверки, дополнения и улучшения теории Брауна. Он одним из первых применил вычислительные машины, работающие на перфокартах, для решения сложных научных задач. И, что вероятно еще важнее, он был первым, кто автоматизировал данный процесс, когда в 1933-1934 годах он связал различные вычислительные устройства и табуляторы IBM со схемами управления и устройствами собственной разработки для решения дифференциальных уравнений – средства, которые впоследствии был применены и распространены на IBM-овском «Aberdeen»: штекерный релейный вычислитель, электронная счетно-перфорационная машина, перфокартное вычислительное устройство и SSEC. Как директор Watson Lab и директор отдела Теоретической науки IBM, он курировал создание SSEC (вероятно, первого настоящего компьютера) и NORC (менее вероятно, первого суперкомпьютера) – самых мощных компьютеров своего времени, так же, как и IBM 610 – первый в мире «персональный компьютер» – и он установил первые компьютеры в Колумбии в открытом доступе для исследований и обучения, а тем временем положил начало тому, что вполне может быть первым учебным курсом по информатике, в 1946 году включив собственный курс «Астрономия 111-112: машинные методы в научных вычислениях», наряду с прочими курсами, которые в том же году преподавались учеными  Watson Lab – Грошем и Томасом.

Астрономические интересы Эккерта Луной не ограничивались. Еще он создал эфемериды пяти внешних планет и работал над теорией орбит и методами измерения. Он воспользовался прибытием машин Aberdeen из Watson Lab для того, чтобы заполнить послевоенное белое пятно в расчете эфемерид астероидов с помощью «Маленьких планет», в то время, как ни одно государственное учреждение не могло вовремя дать отклик[59].

Пока Эккерт отдавал значительную часть своей энергии на автоматизацию собственных вычислений, он не был одержим слепой автоматизацией всего, что было видно. Относительно проекта WPA по вычислению математических таблиц, в письме от 11 января 1941 года к Д.В. Руберджу, Эккерт писал: «При обсуждении крупного проекта по созданию таблиц нужно решить, что находится в приоритете: избежание проделывания работы или совершение оной. Ваши машины плохо подходят для последнего и, следовательно, не рекомендуются в качестве решения проблемы безработицы во время депрессии».

В 1948 году Эккерт получил медаль Джеймса Крейга Уотсона от Национальной академии наук за выдающиеся астрономические исследования. Его Улучшенная лунная эфемерида стала ориентиром для миссий «Аполлон»[92]; незадолго до своей смерти он присутствовал при запуске «Аполлон-14». Эккерт также является автором «Метода использования перфокарт в научных вычислениях» (1940), которая считается первой книгой о компьютерах, повлиявшей на прочих пионеров вычислительной техники, таких как Преспер Эккерт (никакого родства!), Говард Эйкен и Ванневер Буш[90]; он также в некотором смысле заслуживает упоминания в связи с первым «компьютерным» набором текста (1945). Эккерт ввел в Колумбийском университете вычислительную обработку данных и сыграл ключевую роль в ее распространении по всему миру.

Из Лунной Республики, объясняя происхождение названия «Кратер Эккерта» (17,3° северной широты; 58,3° восточной долготы):

Эккерт, Уоллес Джон (1902-1971), американский астроном; родоначальник использования компьютеров для табулирования астрономических данных. Руководитель Военно-морской обсерватории США во время Второй мировой войны. На этом посту он претворил в жизнь машинные методы для осуществления вычислений и печати таблиц, а также – в 1940 году – начал публикацию Air Almanac. Эккерт руководил созданием ряда инновационных компьютеров для выполнения астрономических расчетов, включая Электронный вычислитель выборочной последовательности (SSEC, 1949) и Вычислитель исследований в области вооружения ВМС (NORC, 1954), который в течение многих лет был самым мощным в мире компьютером. Точность Эккертовых расчетов орбиты Луны была настолько качественна, что в 1965 году он сумел точно указать, что недалеко от поверхности Луны находилась концентрация массы. В 1967 году он вывел данные, улучшившие теорию движения Луны Брауна.

В предварительном замечании (без авторства) к произведению «Морской астрономический ежегодник» Эккерта-Смита 1966 года говорится: «У.Дж.Эккерт сотрудничал с Е.У.Брауном в разработке теории последнего в 1930-х годах. Он вновь обратил свое внимание на теорию движения Луны в 1950-х годах, когда автоматические вычислительные машины – в разработке которых он сам сыграл важнейшую роль – гораздо упростили такую операцию. Печально отмечать, что умер он вскоре после завершения работы над текстом для самого последнего раздела данной рукописи». Его работа была завершена Мартином Гуцвиллером (физиком и коллегой Эккерта по Watson Lab) и Дитером Шмидтом (сейчас работающим на факультете EE&CS в Университете Цинциннати) и опубликована в работах Гуцвиллера, перечисленных ниже.

Мартин Гуцвиллер пишет: «Несмотря на все [его] поразительные достижения, Эккерт оставался человеком без малейшей капли притворства. Его идеи были ясны, а его суждения всегда были обоснованными и однозначными»[90]. Все, кто его знал, согласны с тем, что он спокоен, приятен и до невозможности скромен.

Об Уоллесе Эккерте Херб Грош говорит: «Если бы он хотел бросить астрономию и стать вычислителем, то я уверен, что он стал бы фигурой намного более известной. Его вклад был огромен, но был завуалирован тем фактом, что совершил то он его для того, чтобы усовершенствовать астрономию» (лекция в Музее компьютеров, 22 октября 1982 года). А позже: «Если бы существовала Нобелевская премия по астрономии, то [Эккерт] и его коллеги Дирк Брауэр из Йельского университета и Джеральд Клеменс из Военно-морской обсерватории получили бы ее за колоссальный вклад, который они сделали в наши точные знания о движении Луны и планет, используя SSEC, а позже и оборудование IBM» [57, с.118].

В 1973 году, вскоре после его смерти, вкладу Эккерта в астрономию и вычислительную технику воздали должное на выставке в Смитсоновском институте в Вашингтоне:

Открытые вопросы:

  • Роль Эккерта в разработке современных компьютеров в значительной степени игнорируется и, я уверен, недооценивается. Его ключевым вкладом является достижение автоматического задания последовательностей, сначала в 1933-1934 годах на его аппарате Резерфордской обсерватории, затем в некоторой степени в 1941-1946 годах в Военно-морской обсерватории (в его настольном принтере с карточным управлением), а затем в послевоенной Колумбийской Watson Lab: попервах с экспериментальными релейными вычислителями Нэнси и Вирджинией, а после – с SSEC и NORC. Форма автоматического задания последовательностей присутствовала в релейных вычислителях IBM – Aberdeen (1944) и, по крайней мере, некое описание (ссылка на Кэмпбелла-Келли ниже) приписывает Эккерту (но без указания авторства) «спецификацию» этих машин в Военно-морской обсерватории, тогда как Джон Макферсон упоминает о поездках с Эккертом в военное время в Лабораторию баллистических исследований [74]. Херб Грош говорит:
    • По поводу машин Aberdeen я на вашей стороне: я не могу поверить, что [Эккерт] сделал в это свой вклад. Кажется, на то нет никаких оснований. К примеру, как он «заказал» их для WSCL? Было ли это частью процесса приема его на работу в начале 1945 года? IBM развивалась очень быстро, держа Старика под контролем – увеличение производственного цикла от трех (два обновления и Dahlgren) до пяти было бы несложным делом – об этом нет нужды писать и слова. Но это подразумевает, что Уоллес еще в Военно-морской обсерватории знал о том, что модернизация должна быть проведена! Бьюсь об заклад, что Каннингем говорил с ним по телефону в конце 1944 года, и, вероятно, не единожды, но мы об этом никогда не узнаем.

Не беспокойтесь! 29 июля 2010 года: Аллан Олли делает доклад Oral History об IBM 1967 года, где раскрывает тайну:

S: Вы когда-нибудь были связаны с такими вещами, как релейный вычислитель, подобно Aberdeen, и оценивали его на предмет возможного использования в вашей работе?

E: Нет. В военное время они появились довольно поздно, и к тому времени я собирался покинуть Военно-морскую обсерваторию…

Нэнси и Вирджиния были созданы в IBM Питом Ланом и доставлены в Watson Lab в 1946 году; какова была роль Эккерта в их разработке и производстве? И как насчет перфокартного вычислительного устройства IBM (1949 года)? Последнее, как правило, восходит к прототипу Northrop Aircraft, созданному в 1948 году на основе умножающей машины IBM 603 и счетной машины IBM 405, но я сильно подозреваю, что Northrop взяли идею из презентаций Эккерта (1946 года) и/или презентаций собрания или заседания IBM (1947 года), где он представил Нэнси и Вирджинию (хотя и не упоминая наименования) в качестве «ребяческих вычислителей последовательностей», запрограммированных на перфокартах[89,105]. Бреннан[9] пишет об:

… электромеханических перемножающих устройствах нескольких видов (известных только под такими кодовыми именами, как Нэнси и Вирджиния). Особый интерес представляла экспериментальная модель быстрой арифметической машины для обработки данных, которую Эккерт прикрепил к счетной машине. Вместо программирования посредством проводов на панели управления, машина управлялась зашифрованными отверстиями на перфокартах. Результатом стал ранний вариант вычислителя последовательностей, который предвосхитил знаменитое перфокартное вычислительное устройство IBM.

  • Какую роль сыграла Астрономическая вычислительная лаборатория Эккерта в Pupin Hall на раннем этапе Манхэттенского проекта, когда Ферми, Сцилард, Раби, Юри и пр. в конце 1930-х годов находились в Колумбии в одном и том же здании? Учитывая склонность следующего поколения ученых-ядерщиков собирать и анализировать внушительные объемы данных, трудно поверить, что они не хотели бы обладать указанными машинами. Но, по словам Херба Гроша, это было не так:

Все [ядерные] парни захотели ухватиться за машины ПОСЛЕ того, как они увидели, что фон Нейман и Фейнман использовали их (скажем, в 1944 году). Не ранее. Юри и Раби знали Эккерта как товарища за обеденным столом из MFCCU [Мужского клуба Колумбийского факультета] и астронома, но, как я упоминаю на стр.30, никто по факту не проводил собственные вычисления – это исключено. То малое, что было сделано для решения PDE в цифровом выражении, было сделано с помощью методов релаксации, и скорее такими инженерами как Саутуэлл, чем как Курант. Существовал метод, названный в честь парня по имени Ритц… Такие НЕ были хорошо приспособлены к [перфокартным] вычислительным машинам и не были первыми большими шишками. То, что астрономы скрепя сердце шлифовали – целую жизнь отдали на физический модуль – не было востребованным в тридцатые годы в [физике]. Вместо этого они построили циклотроны!

Как бы то ни было, но то, что и вычислительная база Лос-Аламосской научной лаборатории Манхэттенского проекта, и Абердинский испытательный полигон армии США основывались на Колумбийской лаборатории Эккерта – это факт.

  • Какая существовала связь между Уоллесом Эккертом, Преспером Эккертом и Джоном Мочли? Какое влияние оказала – если оказала – Колумбийская лаборатория на ENIAC? След (если таковой есть) надежно спрятан, так как на детали проекта ENIAC наложили гриф или же худо-бедно засекретили в привычном смысле этого слова. Документы Эккерта не содержат корреспонденции, но к ним не относятся его пропавшие документы, касающиеся Военно-морской обсерватории. 25 июля 2006 года Аллан Олли сообщает:

Недавно я узнал, что есть статья IEEE Spectrum, написанная Генри Троппом (который написал вступление к DSB Эккерта), где цитируется книга Эккерта 1940 года. Название – «Бурные годы: ретроспектива» (IEEE Spectrum Vol. 11 (2), стр. 70-79, 1974). В основном речь там идет о Джордже Стибице, Говарде Айкене и Джоне Мочли. Уоллес Эккерт упоминается на 74-ой странице, при рассказе о Джоне Мочли:

«Пребывая в Ursinus [начиная с 1933 года], он [Мочли] сталкивался с публикациями об использовании перфокарт для вычислений, которые создал Уоллес Дж. Эккерт из вычислительной лаборатории Колумбийского университета… и когда Мочли прочитал статьи Эккерта, он понял, как мало он смыслил в статистике и начал изучать данный предмет. В 1936 году он устроился на летнюю подработку в отдел к отцу в Институте Карнеги и начал применять полученные знания о статистике к данным о погоде…»

К сожалению, цитирование в этой статье слабовато (в этом разделе он не цитирует ничего, кроме книги Эккерта). Если я правильно понимаю, его источником, вероятно, было что-то из Смитсоновского проекта по истории компьютеров, где в то время работал Тропп – письмо, неопубликованный отчет или интервью).

Я предполагаю, что основой для этого может быть воспоминание самого Мочли. Если предположить, что промежуток времени – 1933-1936 гг. –  указан верно, то единственными опубликованными работами Эккерта по вычислениям с помощью перфокарт были: аннотация его выступления в Астрономической ассоциации (1934), его статья о численном интегрировании астероидов в AJ и статья в книге Бэйне. Принимая во внимание интерес к статистике, то воодушевившее чтение книги Бэйне, кажется, наиболее вероятным вариантом (поскольку я считаю, что в этом направлении было больше вещей).

  • Был ли настольный принтер Эккерта из Военно-морской обсерватории также и первым способом программирования карт? Подробности отрывочны, но я не могу найти более ранний пример. Если это правда, то это важно. Чьей идеей было сделать программу частично из карт, а не полностью в виде штепсельной панели? Опять же, документы Эккерта, относящиеся ко времени его пребывания в Военно-морской обсерватории, исчезли (Херб Грош говорит, что «управляемый перфокартой» – это не то же самое, что «запрограммированный перфокартой»; похоже, что карты данных и главные перфокарты карты существовали отдельно, и требовалось много ручной работы для переключения главных перфокарт и штепсельных панелей, в отличие от коммутатора Эккерта 1934 года из Лаборатории Резерфорда, который, как говорит Херб, «переключал штепсельную панель» без задержек – совершенно по-другому и намного своеобразней»).
  • Были ли у Эккерта прямые связи с НАСА? Поскольку он возобновил свою работу над орбитой Луны в тот момент, когда готовился «Аполлон», то можно предположить, что существует некая связь, но я не могу найти этому доказательств (все отчеты указывают на то, что его Улучшенная лунная эфемерида 1949 года была «достаточно хороша», и НАСА не желало усложнять ситуацию, внедряя новые таблицы или методы). Но так или иначе, работа Эккерта в самом деле служила ориентиром для миссий «Аполлон». И вполне вероятно, что «Скрытая фигура» Кэтрин Джонсон (и прочих) основывала свою работу на работе Эккерта. Интересно, общались ли они или виделись когда-нибудь?

Сноски:

  • Грош, Герберт Р.Дж., Компьютер: кусочки из жизни, Книги третьего тысячелетия, Novato CA (1991).
  • Бреннан, Джин Форд, IBM Watson Lab в Колумбийском университете: История, IBM, Armonk NY (1971).
  • Баше, Чарльз Дж.; Лайл Р. Джонсон; Джон Х. Палмер; Эмерсон В. Пью, Первые компьютеры IBM, MIT Press (1985).
  • Пью, Эмерсон В., Создание IBM: Формирование индустрии и ее технологий, The MIT Press (1995).
  • Просто начало: компьютеры и небесная механика в работе Уоллеса Дж. Эккерта, Диссертация Аллана Олли, 31 августа 2011 года.
  • Кэмпбелл-Келли, Мартин, «Техника на перфокартах», глава 4 в книге Уильяма Аспрея «Компьютеры до компьютеров», издательство Университета Айовы, Ames IA (1990), стр.149.
  • Керуцци, Пол, «Преодолевая цифровой барьер», IEEE Annals of the Computing, Вып.19 №.1 (январь-март 1997 года). «Исследует… ряд перфокартных устройств, используемых Л.Дж. Комри и Уоллесом Эккертом в научных, а не деловых целях».
  • Гуцвиллер, Мартин К., «Численная оценка лунных эфемерид Эккерта», Astronomical Journal, Вып.84, №.6 (июнь 1979 года), стр.889-899. Гуцвиллер работал в техническом штате Библиотеки Уотсона стр 1962 по 1970 год.
  • Гуцвиллер, Мартин К. и Дитер С. Шмидт, «Движение Луны, вычисленное по методу Хилла, Брауна и Эккерта», Astronomical Papers of American Ephemeris, Вып.23, Часть 1 (1986).
  • Гуцвиллер, M. К., «Уоллес Эккерт, компьютеры и Морской астрономический ежегодник» под ред. Алана Д. Фиалы и Стивена Дж. Дика, Тезисы юбилейного симпозиума Морского астрономического ежегодника, Военно-морская обсерватория США, Вашингтон, 3-4 марта, 1999, стр.147-163.
  • Дик, Стивен, «История Американского Морского астрономического ежегодника», The Eckert and Clemence Years,1940-1958, под ред. Алана Д. Фиалы и Стивена Дж. Дика, Тезисы юбилейного симпозиума Морского астрономического ежегодника, Военно-морская обсерватория США, Вашингтон, 3-4 марта, 1999, стр. 35-46.
  • Дик, Стивен, «Небо и океан объединились», Военно-морская обсерватория США, 1830-2000, издательство Кембриджского университета (2002), 800 стр.
  • Холландер, Фредерик Х., «Методы вычисления и печати перфокарт в Морском астрономическом ежегоднике», Тезисы, Научно-вычислительный форум, IBM, Нью-Йорк (1948).
  • Микстер, Джордж, «Американские астрономические ежегодники», в NAVIGATION, журнал Института навигации, Вып 1, № 3 (сентябрь 1946 года).
  • Зайдельман, П.К., П.М. Яничек и Р.Ф. Хаупт, «Астрономические ежегодники — вчера, сегодня и завтра», в NAVIGATION, журнал Института навигации, Вып. 24, № 4, зима 1976-1977, стр.303-312.
  • Пояснительное дополнение к Астрономическому эфемеридному и Морскому астрономическому ежегодникам, подготовленное совместно Морскими астрономическими ежегодниками Соединенного Королевства и Соединенных Штатов Америки: Морской астрономический ежегодник Ее Величества по приказу Комиссии лордов Адмиралтейства, Лондон, Канцелярия Ее Величества (1961), стр.106.
  • Документация Уоллеса Дж. Эккерта, 1931-1975 (CBI 9), Институт Чарльза Бэббиджа, Университет Миннесоты, Миннеаполис.
  • «Великий американский астроном», «Небо и телескоп» (октябрь1971 года), с.207.
  • «Памяти У.Дж.Эккарта», Celestial Mechanics Вып. 6 (1972), стр. 2-3.
  • Полачек, Гарри, «История математических таблиц журнала и другие вспомогательные средства для вычислений», IEEE Annals of the Computing, Вып.17, №.3 (1995).
  • Гриер, Дэвид Алан, «Взлет и падение Комитета по математическим таблицам и другим вспомогательным средствам для вычислений», IEEE Annals of History of Computing (апрель-июнь2001 года).
  • Стенограмма интервью Уоллеса Дж. Эккерта сделанная Лоуренсом Сафиром. Лаборатория IBM Томаса Дж. Уотсона в Колумбии, 11 и 20 июля 1967 года. Интервью TC-1 в рамках проекта IBM Oral History по компьютерным технологиям.

Нью Йорк Таймс:

Об этом сообщил в июле 2010 года Аллан Олли.

  • Письмо в редакцию 2 – без названия; Уоллес Дж. Эккерт Нью-Йорк Таймс (1857-текущий файл); 26 октября 1969 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. BR48 [Подлинное письмо Эккерта в ответ на рецензию Think by Rodgers]
  • СИГМА XI ПРИЗНАЕТ 63 В КОЛУМБИИ New York Times (1857-текущий файл); 6 мая 1936 года; Исторические газеты ProQuest The New York Times (1851-2006) стр.12 [Эккерт присоединяется к Сигме XI]
  • ПОЛИТИЧЕСКИЕ ДЕЯТЕЛИ, КОТОРЫЕ ТОЖЕ ХОТЕЛИ БЫТЬ КОМАНДИРАМИ, ЧАРЛЬЗ А. ФЕДЕРЕР-младший, член планетария Хайдена, специально для НОВОГО… New York Times (1857-текущий файл); 13 июня 1942 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 30 [Эккерт подтверждает призыв других к улучшению навигационной подготовки пилотов США]
  • КОНФЕРЕНЦИЯ ВЫБИРАЕТ КАНДИДАТОВ ЛЕОНИИ Специально для New York Times. New York Times (1857-текущий файл); 2 февраля 1948 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 11 [Эккерт баллотируется в школьный совет в Леонии, штат Нью-Джерси, где проходит странный избирательный процесс]
  • ЭВМ РАССЧИТЫВАЕТ ОРБИТЫ ПЛАНЕТ, АЛЕКСАНДР ФЕЙНБЕРГ, New York Times (1857-текущий файл); 12 сентября 1949 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 23 [Объявление о проблеме с внешними планетами в SSEC]
  • НАУЧНАЯ ЗАГАДКА, РЕШЕННАЯ ЭВМ New York Times (1857-текущий файл); 18 июля 1952 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 17 [Решение давнишней проблемы, связанной с возникновением турбулентности в потоке жидкости]
  • О Нью-Йорке. МЭЙЕР БЕРГЕР, New York Times (1857-текущий файл); 10 декабря 1954 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 29 [статья о NORC]
  • Роль компьютеров в астрономии, представленная на выставке планетария. ФИЛИП БЕНДЖАМИН, New York Times (1857-текущий файл); 13 сентября 1958 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 40 [Презентация в планетарии Хайдена, где Эккерт высказался по поводу компьютеров, которые он видел в Советском Союзе, заверяя людей, что они не опередили США]
  • Разведка научного рывка Советского Союза, подрезающая США, возглавляемая УОЛТЕРОМ САЛЛИВАНОМ, Нью-Йорк Таймс (1857-текущий файл); 20 июля 1959 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 1 [В основном беспокоюсь о советских научных источниках. Согласно словам Эккерта, во время поездки в Советский Союз он указывал на относительную нехватку компьютеров]
  • Расчеты определяют точное положение Луны с погрешностью в несколько футов, New York Times (1857-текущий файл); 14 апреля 1965 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 2 [Отчет о решении лунного вопроса Эккертом/Смитом по методу Эйри и эмпирическое подтверждение ее масштабной коррекции. Также упоминается вопрос Полой Луны]
  • ЛУННЫЕ УРАВНЕНИЯ, ИМЕНУЕМЫЕ НЕТОЧНЫМИ, УОЛТЕР САЛЛИВАН New York Times (1857-текущий файл) 24 мая 1968 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 11 [JPL находит ошибки в теории Брауна с учетом правок Эккерта]
  • B.M. Томас Дж. Уотсон Дж. New York Times (1857-текущий файл); 26 октября 1969 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. BR48 [Письмо Уотсона Дж. отвечает на рецензию Think by Rodgers]
  • Письмо в редакцию 3 – без названия, Х.Т. Роу Риджвуд, N. J. New York Times (1857-Текущий файл); 26 октября 1969 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. BR48 [Еще одно письмо в ответ на рецензию к книге Роджерса]
  • Думайте, ДЖОН БРУКС Нью-Йорк Таймс (1857-текущий файл); 5 октября 1969 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. BR3 [Подлинный книжный обзор книги Роджерса, который привел ко всем письмам]
  • Пятничный выпуск приуроченный памяти Эккерта, New York Times (1857-текущий файл); 13 октября 1971 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 48 [Очень короткое объявление о церемонии прощания с Эккертом; это отлично от его некролога]
  • Наука: Луна 10 много рассказывает о Луне, УОЛТЕР САЛЛИВАН New York Times (1857-текущий файл); 17 апреля 1966 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 213 [Новая информация о Луне с русского зонда. Эккерт упоминается в связи с парадоксом Полой Луны]
  • БАХМЕТЬЕВ ПРИСОЕДИНЯЕТСЯ К КОЛУМБИЙСКОМУ ФАКУЛЬТЕТУ New York Times 1857; 17 мая 1931 года; Исторические газеты ProQuest The New York Times (1851-2006) стр. 33 [Эккерт становится доцентом, его прячут в самом конце. Это также время, когда Ян Шилт был нанят на кафедру астрономии в качестве доцента]

Публикации по вычислениях:

  • Эккерт У. Дж., «Численная интеграция с помощью машин Холлерита», Публикации Американского астрономического общества, Вып.8, № 1, стр.9 (1934).
  • Эккерт У. Дж., «Различные прикладные исследования: астрономия», под ред. Бэйне, Дж.У. (ред.) Практическое применение метода перфокарт в колледжах и университетах, издательство Колумбийского университета (1935).
  • Эккерт У. Дж., «Вычисление особых возмущений методом перфокарт», The Astronomical Journal, Вып. XLIV, № 20, Олбани, Нью-Йорк (24 октября 1935 года).
  • Эккерт, У. Дж., «Астрономическое бюро вычислений по Холлериту», Публикации Астрономического общества Тихого океана, Вып. 49, № 291 (октябрь 1937 года), стр.249-253. Это объявление касательно того, что вскоре будет переименовано в Астрономическое бюро Томаса Дж. Уотсона.
  • Эккерт У. Дж., Методы перфокарт в научных вычислениях, Бюро астрономических вычислений Томаса Дж. Уотсона, Колумбийский университет, Lancaster Press, Inc., Ланкастер, Пенсильвания (январь 1940 года). «Оранжевая книга». Переиздано в 1984 году Институтом Чарльза Бэббиджа, Массачусетского технологического института и издательством «Томаш» с новым предисловием от Дж. К. Макферсона. (Указатель 1952 года, подготовленный в Watson Lab, говорит: «готовится к печати новое издание; издание того же указания от 1954 года отбросило данную фразу опустило)
  • Эккерт У. Дж., «Каталог перфокарт с данными о звездах в Общем каталоге Босса», Публикации Астрономического общества Тихого океана, Вып. 52, № 310 (декабрь 1940), стр.376-378.
  • Эккерт, Уоллес Дж. Стенограмма, Системный класс обслуживания № 591 (воздушная навигация) для воздушного корпуса армии США; Министерство образования, International Business Machines, Endicott NY (8 сентября 1944 года).
  • J.E. (Уоллес Дж. Эккерт), «Математические таблицы на перфокартах», Математические таблицы и другие вспомогательные средства для вычислений (MTAC), Вып. 1, № 12 (октябрь 1945 года), стр. 433-436. MTAC был основан в 1943 году и был первым, а до 1954 года и единственным журналом, посвященным исключительно вычислениям и вычислительным устройствам. Эккерта пригласили на пост председателя исполнительного комитета MTAC, но он был вынужден уйти в отставку из-за своих обязанностей в период военного времени; тем не менее он активно участвовал в создании и производстве MTAC [88].
  • Эккерт, У. Дж., «Оснащение Научно-вычислительной Watson Lab», Заметки исследовательского форума, IBM, Endicott NY (август 1946 года), стр. 75-84.
  • Баксандалл Д. и У. Дж. Эккерт «Вычислительные машины», Британская энциклопедия, издание 14-е, Вып.4 (1947), стр.548-554.
  • Эккерт, У. Дж., «Методы перфокарт и их применение в научных задачах», Journal of Chemical Education, Вып. 24, № 2, (февраль 1947 года), стр. 54-57, 74.
  • J.E. (Уоллес Дж. Эккерт) и Ральф Ф. Хаупт, «Печать математических таблиц», Математические таблицы и другие вспомогательные средства для вычислений, Вып. 2, № 17 (январь 1947 года), стр. 197-202.
  • Эккерт У. Дж., «Отдел Теоретической науки IBM и Научно-вычислительная Watson Lab», Материалы учебного форума по вопросам образования, IBM, Endicott NY (август 1947 года)
  • Эккерт В.Дж., «Электронные и электромагнитные измерительные, вычислительные и регистрирующие устройства», Столетний симпозиум, декабрь 1946 г. Монографии Гарвардской обсерватории, № 7. Вклад в сфере межзвездной материи, электронных и вычислительных устройств, затмении двойных звезд, газообразной оболочки Земли; Кембридж, Массачусетс: Гарвардская обсерватория (1948), стр.169-178.
  • У.Дж.Э. (Уоллес Дж. Эккерт), «Штекерный релейный вычислитель IBM», Математические таблицы и другие вспомогательные средства для вычислений, Вып. 3, № 23 (июль 1948 года), стр. 149-161.
  • Эккерт, У. Дж., «Электроны и вычисления», The Scientific Monthly, Вып. LXVII, № 5 (ноябрь 1948 года), стр. 315-323.
  • Эккерт У. Дж. (как «У.Дж.Э.») и Д.Б., «Вычислительные машины», Британская энциклопедия, Том.4: Brain to Casting, Чикагский университет (1949), стр.548-554.
  • Эккерт У. Дж., «Роль перфокарты в научных вычислениях», Зметки учеб. семинара по промышленным вычислениям, IBM, Нью-Йорк (сентябрь 1950 года), стр. 13-17.
  • Эккерт У. Дж., «Значение новой ЭВМ NORC», «ЭВМ и автоматизация», Вып. 4 № 2 (февраль 1955 года), стр. 10-
  • Эккерт, Уоллес Дж. И Ребекка Джонс, «Быстрее, быстрее: простое описание гигантского электронного вычислителя и задач, которые он решает», McGraw-Hill, Нью-Йорк (1955). Заключительная глава к «Чего там повычислять» была написана Л. Х. Томасом[90].
  • Эккерт, Уоллес Дж. И Ребекка Джонс, Schneller, Schneller, International Büro-Maschinen GmbH (1956) (немецкое издание «Быстрее, быстрее»).
  • Эккерт У. Дж., «Вычислительная техника в астрономии», под ред. Хаммер, Престон К., Вычислительная университетская лаборатория, of Wisconsin Press, Мэдисон (1957).
  • Эккерт, Уоллес Дж. «Вычислительные машины», Американская энциклопедия (1958).
  • IBM Watson Lab в Колумбийском университете, Сборник статей, 10 томов, по одному на каждый год, 1960-19 Детали неясны.
  • Эккерт, Уоллес Дж. «Первые компьютеры», IBM Research News (май 1963 года), стр. 7-8.
  • Эккерт У. Дж., «Использование ЭВМ для аналитических разработок в области небесной механики: коллоквиум, проведенный Комиссией 7 МАС в Праге, 28-29 августа 1967 года», The Astronomical Journal, Вып. 73, № 3 (апрель 1968 года), стр.195. Эккерт председательствовал на этом коллоквиуме; документы, представленные там, включены в этот выпуск The Astronomical Journal.

Публикации по астрономии:

  • Эккерт В.Дж., «Новая обсерватория в Колумбийском университете», Popular Astronomy, Вып. 36 (1928), стр.333.
  • Эккерт, Уоллес Джон, Общая орбита Гектора, диссертация в Йельском университете (1931).
  • Эккерт, У. Дж., «Астероиды», Natural History Вып. 31, стр. 23-30.
  • Эккерт, Уоллес Дж., «Гарольд Джейкоби, 1865-1932», Popular Astronomy, Вып. 40 (1932), стр.611.
  • Эккерт, Уоллес Дж. Курс домашнего обучения общей астрономии, издательство Колумбийского университета, Нью-Йорк (1933).
  • Эккерт У. Дж., и Дирк Брауэр, «Использование декартовой системы координат в дифференциальной коррекции орбит», The Astronomical Journal, Вып. XLVI, № 13 (16 августа 1937 года). Также в Вестнике Астрономического института Академии наук СССР, № 53, 1945.
  • Эккерт В.Дж., «Эрнест Уильям Браун (1866-1938)», Popular Astronomy, Вып. XLVII, № 2 (февраль 1939 года).
  • Эккерт В.Дж., «Данные о затмениях в американской эфемериде», Astronomical Journal, Вып.50 (Dec 1941), стр. 95-96.
  • Астрономический ежегодник ВМС США – The American Air Almanac, Типография правительства США, Вашингтон, округ Колумбия (январь-апрель 1942 г.), 240 с. (и все прочие выпуски 1940-1946 гг.)
  • Эккерт, У. Дж., «Создание Air Almanac», 68-е заседание Американского астрономического общества, Нью-Хейвен, Коннектикут, 12-14 июня 1942 года (я не знаю, опубликовано ли оно).
  • Эккерт, В.Дж., «Воздушные альманахи», Sky and Telescope, Вып. 4, № 37 (октябрь 1944 года).
  • Астрономический ежегодник ВМС США, «Таблицы восхода, заката и сумерек», Приложение к американской эфемериде, 1946 года, Типография правительства США, Вашингтон, округ Колумбия (1945), 196 с.
  • Эфемериды 783 малых планет за 1947 год, Эккерт В.Дж., директор Научно-вычислительной Watson Lab (1946). НАЖМИТЕ ЗДЕСЬ, чтобы узнать больше об этой публикации.
  • Эккерт, Уоллес Джон, Дирк Брауэр и Дж.М. Клеменс, «Координаты пяти внешних планет, 1653–2060», Астрономические документы Американской эфемериды, Типография правительства США (1951), 327 с. Расчеты проводились на SSEC и проверялись с помощью релейных вычислителей Aberdeen в Watson Lab.
  • Эккерт, У. Дж., «История факультета астрономии Колумбийского университета», рукопись без датировки, написанная где-то между 1948 и 1953 годами (я не знаю, где это было опубликовано и было ли опубликовано).
  • Эккерт У.Дж., «Численная теория пяти внешних планет», Astronomical Journal, Вып.56 (апрель 1951 года), стр.38.
  • Эккерт, Уоллес Дж. и Ребекка Джонс. «Проблемы астрономии: автоматическое измерение фотографического расположения звезд», Astronomical Journal, Вып.59, № 2 (март 1954 года).
  • «Улучшенная лунная эфемерида» 1952-1959 гг. (ILE), Объединенное приложение к американскому эфемеридному и (британскому) морскому альманаху, выпущенному Морским астрономическим ежегодником, Военно-морской обсерватории США: Типография правительства США, Вашингтон (1954). Это та работа, которая направляла миссии «Аполлон» на Луну. Расчеты проводились на SSEC и различных машинах Watson Lab. В этот выпуск включены: Эккерт, У. Дж., Джонс и Х.К. Кларк, «Создание лунных эфемерид», стр.283-363.
  • Эккерт У. Дж., «Улучшение выражений Брауна для координат Луны численными методами», Astronomical Journal, Вып. 63, № 10 (ноябрь 1958 года). Решение проблемы трех тел на IBM 650 из Watson Lab в Колумбийском университете.
  • Эккерт У. Дж., «Численное определение точных орбит», Теория орбит, Материалы девятого симпозиума по прикладной математике Американского математического сообщества (1959).
  • Эккерт У. Дж., и Гарри Ф. Смит, «Текущие результаты в численном формировании гармонических рядов данных для координат Луны», Протоколы Международного астрономического союза (МАС) 11B (1961), стр.447-449.
  • Эккерт, У. Дж., и Ребекка Джонс, «Измерительные приборы», под ред Хилтнера У. А., Astronomical Techniques, Том II: «Звезды и звездные системы», U of Chicago Press (1962).
  • Эккерт У. Дж., «Решение основного вопроса лунной теории», Протоколы Международного астрономического союза, XIIB (1964), стр.113.
  • Эккерт У. Дж., «О перемещениях перигея и узла, а также о распределении массы на Луне», Astronomical Journal, Вып.70 №.10 (декабрь 1965 года), стр.787-792.
  • Эккерт, У. Дж., М.Дж. Уокер и Д. Эккерт, «Преобразования лунных координат и орбитальных параметров», Astronomical Journal, Вып. 71, № 5 (июнь 1966 года).
  • Эккерт У. Дж. и Гарри Ф. Смит Дж. «Решение основной проблемы лунной теории методом Эйри», Астрономическая документация, подготовленная для использования в Американском эфемеридном и Морском альманахе, вып. XIX, часть II, опубликованная Управлением морского альманаха Военно-морской обсерватории США по указанию министра военно-морского флота и Управления Конгресса; Типография правительства США (1966), стр.187-407. Результаты окончательных расчетов касательно лунной орбиты, составленных Смитом для Колумбийского IBM 7094.
  • Эккерт У. Дж., Смит Х.Ф. Дж., «Уравнения вариации в числовой лунной теории», Теория орбит Солнечной системы и звездных систем (Симпозиум МАС 25, 1964), Academic Press (1966), стр. 242-260.
  • Эккерт У. Дж., «Момент инерции Луны, определяемый ее орбитальным движением», у Ранкорн, С.К., «Мантии Земли и планет земной группы», Interscience Publishers (1967).
  • Эккерт У. Дж., «Движения Луны», IBM Research Publication RW 87 (22 августа 1967 года). Относительно нетехническое объяснение работы всей жизни Эккерта.
  • Эккерт У. Дж., и Дороти А. Эккерт, «Точное решение главного вопроса Лунной теории», Astronomical Journal, Вып. 72, № 10 (декабрь 1967 года), стр. 1299-1308. Также в «Тезисах конференции по небесной механике», Москва (1967). 18-тизначная достоверность на IBM 1620.
  • Эккерт, У. Дж, T. C. Ван Фландерн и Дж. А. Уилкинс, «Заметка по поводу оценки широты Луны», Ежемесячные публикации Королевского астрономического общества, Вып. 146 (1969), стр.473-478.

Прочее:

Уильямс С.Р. и У. Дж. Эккерт. Удобные виды магнитометров, J.O.S.A. & R.S.I. [Journal of the Optical Society of America], Вып. 16, № 3, март 1928 года, стр. 203-207.

Внутренние ссылки:

Внешние ссылки (последний раз проверялись 28 марта 2004 года, некоторые из них могли исчезнуть):

Читать далее

Начало ESLint

Оригинал доступен по ссылке humanwhocodes.com

История о том, как один баг на работе породил подключаемый линтер.

Если вы похожи на меня, то, вероятно, вы каждый день используете кучу инструментов с открытым исходным кодом, не задумываясь о том, откуда они взялись. Немного найдется проектов, которые делятся опытом относительно своих «почему» в плане собственного создания: животрепещущей проблемой, которую они пытались решить, а также тем, когда они впервые столкнулись с данной проблемой. Несомненно, вы можете извлечь пользу из проектов с открытым исходным кодом, не разбираясь в истории их происхождения, но мне всегда интересно узнать, как все начиналось.

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

Баг

Я все еще был относительно новичком в Box, когда коллега работал над необычным багом. Клиент сообщил о проблемах в использовании веб-приложения в Internet Explorer 7 (вероятно, мы были одной из последних компаний, поддерживавших тогда IE7). Разработчик, очевидно, использовал в каком-то коде на JavaScript встроенный объект XMLHttpRequest вместо нашей собственной функции-обертки. Это не вызывало затруднения у какого-либо другого браузера; проблем с внутренним тестированием IE7 тоже не было. Сложности возникли из-за того, что у клиента имелась внутренняя политика безопасности, которая отключила ActiveX в Internet Explorer, а так как в IE7 встроенный объект XMLHttpRequest являлся попросту функцией-оберткой для объекта ActiveX, то он также оказался заблокирован.

Решение было достаточно простым: следовало просто позаботиться, чтобы все использовали собственную функцию-оболочку Ajax вместо встроенного объекта XMLHttpRequest. Но как мы могли бы такое осуществить? Оказалось, что у Box есть «линтер» для JavaScript в виде части системы сборки. Я поместил слово «линтер» в кавычки, так как по факту это была просто серия регулярных выражений, которые работали с кодом JavaScript. В данном случае мой коллега добавил регулярное выражение для «XMLHttpRequest» – таковым было решение. Сборка прервалась бы, если бы кто-то попытался зафиксировать файл JavaScript, соответствующий данному варианту.

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

Мог ли это быть JSHint?

Первое что я сделал – отправил электронное письмо тогдашнему администратору JSHint Антону Ковалеву[1]. Я вспомнил, как читал пост в блоге[2], где речь шла о том, что JSHint планирует поддерживать плагины, но не смог найти никакой информации о том, что это было реализовано. Из прошлого опыта содействия JSHint и внесения изменений в JSLint для проекта в Yahoo я знал, что JSHint с самого начала не был настроен для поддержки плагинов, а без соответствующей поддержки не существовало бы простого способа изменить JSHint для того, чтобы он совершал то, что хотел я.

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

Вдохновение

Поковырявшись в системе сборки в Box, я обнаружил, что в придачу к самодельному линтеру для JavaScript, там вообще-то работает еще и линтер для PHP. Правда, линтер для PHP был намного запутаннее, чем линтер JavaScript. Вместо использования регулярных выражений линтер для PHP парсил код в абстрактное синтаксическое дерево (AST), а затем проверял AST, чтобы сообщить о наличии шаблонов.

Весьма вероятно, что я кивал головой «да», пока читал тот код. Я моментально понял, что это именно то, что было необходимо сделать мне для JavaScript. Если бы только был какой-либо способ пропарсить код JavaScript в AST, а затем проверить AST на наличие проблем.

Подготовительная работа

Со всем тем, что творилось у меня в голове, я пригласил Ария Хидаят[3] сделать доклад в Box на тему, которая ему нравилась. Так сложилось, что он выступил с докладом об Esprima[4] – парсере JavaScript, который он написал на JavaScript. В процессе этого доклада Ария затронул вопрос, почему полезно располагать кодом JavaScript в AST, и сослался на несколько уже существующих инструментов, созданных на основе Esprima. Среди указанных инструментов имелись estraverse для обхода AST и escope для анализа области видимости, которые написал Юсуке Сузуки.

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

Начало

В немалой степени благодаря доступности Esprima, estraverse и escope я смог собрать первый прототип ESLint в течение пары уикендов. Для меня эти три утилиты соответствовали всему, что мне было необходимо для создания нового инструмента, который мог бы с легкостью находить проблемные шаблоны в коде JavaScript. Если бы мне довелось создавать их с нуля, то я не сомневаюсь, что ESLint сегодня бы не существовало. Отталкиваясь от указанных инструментов, я смог быстро выполнить итерацию, и в один прекрасный момент появился инструмент, известный вам сегодня как ESLint.

(По-моему важно отметить, что я тогда был не единственным, кто стремился создать линтер на основе AST. Где-то в это же время разрабатывался JSCS[5], а текущий специалист по обслуживанию ESLint – Илья Володин – работал над собственным проектом еще до разработки ESLint. Если бы я не придумал что-то типа ESLint, то, без сомнений, кто-то другой это бы сделал. Благодаря Ария и Юсуке все пазлы уже имелись в наличии и кому-то просто надо было собрать их наиболее эффективным способом).

Ссылки

  1. Антон Ковалев (antonkovalyov.com)
  2. Планы JSHint 3 (jshint.com)
  3. Ария Хидаят (ariya.io)
  4. Анализ кода JavaScript (speakerdeck.com)
  5. JSCS (jscs.info)

 

Разум не искусственный

Оригинал доступен по ссылке scaruffi.com

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

Пьеро Скаруффи

(Это отрывки из моей книги «Разум не искусственный»)

Не дайте одурачить себя роботу

Для робототехники планка установлена низко в том числе. Собственно, любая игрушка на дистанционном управлении (столь же разумная, как и модельки поездов, бывшие популярными в 1960-х годах) сейчас преподносится как шаг в направлении к нашествию роботов. Я всегда советую фанатам робототехники посетить Музей Механики в Сан-Франциско – где находится роскошная коллекция старинных, приводимых в действие монетами, автоматических механических музыкальных инструментов… извините, я имел в виду «роботов-музыкантов» – до того, как они рискнут ввязаться в дискуссию о прогрессе в робототехнике. Эти автоматы не являют собой то, что мы обычно называем «интеллектом».

Автоматы веками развлекали членов королевских семей и деревенщину: музыкальный ансамбль Исмаила Аль-Джазари в 1206 году, рыцарь Леонардо Да Винчи в 1495 году, монах Хуанело Турриано в 1560 году, утка Жака де Вокансона в 1739 году, куклы Пьера Жаке-Друза в 1768-1774 годах, «Серебряный лебедь» Джона Джозефа Мера в 1773 году, музыкальный слон Хьюберта Мартине в 1774 году, чертежник Анри Милларде в 1800 году, Эвфония Иосифа Фабера в 1840 году… перечень бесконечен.

Разве вождение автомобиля квалифицируется как признак «разумности»? Возможно, так и есть, но оно должно быть «взаправду» тем, что оно значит для людей. Не существует машины, которая проехала бы хотя бы метр без помощи человека. Реальный мир – это мир, в котором вы сначала открываете дверь гаража, затем останавливаетесь, чтобы забрать газету, потом выруливаете на улицу и вы остановитесь, если увидите пешехода, ожидающего, чтобы перейти улицу. Ни один автомобиль пока не достиг подобного мастерства. Они ездят без шофера только в очень благоприятных условиях, по качественно обозначенным дорогам с хорошо обозначенными полосами движения, а также исключительно по тем дорогам, которые четко указала компания-производитель (иначе говоря, с огромной помощью со стороны людей). Представьте себе, что произойдет, если сядет аккумулятор или возникнет сбой программного обеспечения… Что сделает беспилотный автомобиль, если он вот-вот выедет на мост, тогда как землетрясение приводит к разрушению моста? Предположительно, он просто продолжит путь. Что сделает беспилотный автомобиль, если он останавливается на красный свет, а человек с пистолетом разбивает окно? Надо полагать, ничего: это ведь красный свет. Если вы заснете в беспилотном автомобиле, то ваши шансы умереть взмоют к небесам. Существуют бесчисленные универсальные правила, которые человек-водитель применяет постоянно, и которые основаны на понимании происходящего. Набор датчиков, упакованный в кузов автомобиля, ничего не смыслит в происходящем.

Человекоподобные роботы, имитирующие человеческое поведение, создавались с древних времен, а некоторые из них могли выполнять сложные движения. Они были механическими. Сегодня у нас есть сложные электромеханические игрушки, которые могут делать все, что угодно. Существует (миниатюрная) игрушка, выглядящая как робот, едущий на велосипеде. Строго говоря, вся игрушка – это «робот». С точки зрения философии, на велосипеде нет никакого робота. Роботоподобная штука в верхней части велосипеда является излишней – она просто для видимости: вы можете забрать андроида и поставить те же самые шестерни в сиденье велосипеда или же в педали велосипеда, а велосипед без пассажира будет продолжать движение и точно так же сам по себе держать равновесие: штука, которая рулит велосипедом – это не то, что находится наверху велосипеда (предназначенное для отвода глаз), а устройство, которое можно разместить где-либо на велосипеде. Игрушка представляет собой одно целое: вместо одного робота вы можете приладить десять роботов один поверх другого или же вообще ни одного. В любом современном магазине игрушек есть игрушки, которые ведут себя как роботы и делают изумительные вещи (изумительные для робота, но обычные для человека). Для этого не требуется интеллект: только хорошая инженерия. Указанная игрушка, управляющая велосипедом, никогда не падает, даже когда не движется. Она спроектирована таким образом, чтобы всегда стоять вертикально. Или, что лучше, она опрокидывается, если у нее разряжается батарея. Это весьма старое техническое решение. Если это то, что мы подразумеваем под «разумными машинами», то они существуют уже давно. У нас даже имеется аппарат, который летает в небе, используя данную технологию. Разве эта игрушка представляет собой квантовый скачок в плане разумности? Конечно же, нет. Она управляется дистанционно, как телевизор. Она никогда не «училась» ездить на велосипеде. Она была разработана, чтобы ездить на велосипеде. И это единственное, что она умеет делать. Единственное, что в этих игрушках вправду изумительно – миниатюризация, но не «разумность».

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

Человек же НЕ является игрушкой (пока что).

Язык программирования C++

Оригинал доступен по ссылке www.stroustrup.com

C++ – это язык программирования общего назначения с уклоном в системное программирование, который

  • лучше, чем C
  • поддерживает абстракцию данных
  • поддерживает объектно-ориентированное программирование
  • поддерживает обобщенное программирование.

Бьерне Страуструп – дизайнер и оригинальный разработчик C++. Вы можете найти язык, методы его использования и методы его реализации, описанные в моих книгах, моих статьях, в сотнях книг других людей и тысячах статей прочих. Их слишком много, чтобы перечислять. Попытайте счастья в книжном магазине или в библиотеке. Ответы на многие вопросы о C++ можно найти

Темы:

 

  • Стандарт ISO C++: C++ стандартизирован ISO (Международной организацией по стандартизации) в сотрудничестве с национальными организациями по стандартизации, такими как ANSI (Американский национальный институт стандартов), BSI (Британский институт стандартов), DIN (Немецкая национальная организация по стандартизации). Первоначальный стандарт C++ был предоставлен в 1998 году, незначительные изменения –в 2003 году, а основное обновление – C++11 – было представлено в сентябре 2011 года; текущий же стандарт – C++14. Во время своей разработки C++11 упоминался как C++0x. На данный момент комитет по стандартам работает над выпуском в 2017 году нового стандарта со значительными изменениями – C++17.
  • библиотеки и пр.:
    • Обширный список современных библиотек C++ от C++.org.
    • Список доступных библиотек C++, известных как FAQ по библиотекам C++.
    • Boost.org: репозиторий для библиотек, хорошо взаимодействующих со стандартной библиотекой C++.
    • STLab: коллекция рецензируемых портативных исходных библиотек C++, использующих и расширяющих как стандартную библиотеку C++, так и библиотеки Boost. Эта страница также содержит ссылки на библиотеки Adobe с открытым исходным кодом– такие как Generic Image Library GIL.
    • Сайт Дуга Шмидта с информацией о куче вещей, в том числе и о платформе ACE и TAO – ORB в режиме реального времени.
    • Высокопроизводительные библиотеки численного анализа предоставляют отличные тесты для интересных новых способов программирования: Страница Объектно-Ориентированных Числовых Данных – это список библиотек, проектов и списков рассылки. К примеру: POOMA из LANL, Blitz++ из Университета Ватерлоо, MTL из Университета Индианы и ROOT из ЦЕРН. Эти библиотеки, как и многие другие, доступны для скачивания.
    • реализация STL от SGI.
    • Онлайн справочник Dinkumware по стандартной библиотеке.
    • Онлайн документация Rogue Wave о реализации стандартной библиотеки.

Встроенные системы:

 

Если я вношу сайт в список, то это потому, что я нашел там интересную информацию, а не потому, что я хотел прорекламировать продукт. Все основные поставщики программного обеспечения содержат на своих сайтах сопутствующую информацию о C++. Если вы считаете, что мне следует добавить сайт – не стесняйтесь сообщить мне какой и почему.

 

 

Астероиды – Введение

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

Астероиды:

Пояс астероидов – это группа осколков, движущихся по орбите на расстоянии порядка 2 АЕ от Солнца. Данная орбита находится между Марсом и Юпитером и должна была бы быть планетой. Грандиозная гравитационная сила Юпитера исказила пояс таким образом, что осколки не сформировали протопланету в ходе формирования нашей Солнечной системы.

Существует около 100 000 астероидов, находящихся вне пояса и каждый день становится известно о новых. Самый большой из астероидов – Церера, диаметром в 934 км. Церера составляет около 30% общей массы пояса, так что большая часть астероидов маленького размера – менее 1 км в диаметре. По сути, существует два пояса: основной пояс астероидов и троянские астероиды. Троянцы находятся под углом в 60° от Юпитера на так называемых точках Лагранжа. Данные орбиты стабильны и являются результатом гравитации как Солнца, так и Юпитера.

При том, что количество астероидов велико, если их сложить вместе в один объект, то они составят планету величиной с Луну.

Как и в случае с категориями, существует три вида астероидов:

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

Имена астероидов – это преимущественно цифры, ассоциирующиеся с названием и/или датой открытия. Первым астероидом, который открыли, была Церера, так что официальное название – 1 Ceres.

Астероиды очень малы, так что увидеть их весьма сложно. Был применен радиолокатор и он создал изображение астероидов в деталях:

Изображение вверху – это 216 Kleopatra, оно создано радаром с Земли. Пока что самые лучшие изображения какого-либо астероида получены с аппарата NEAR Shoemaker, приземлившегося на астероиде Эрос:

Когда космический аппарат достиг Эроса, были сделаны более детальные снимки поверхности:

А последний снимок зонд сделал за секунды до приземления:

Еще одна большая группа астероидов называется околоземными объектами, и они составляют отдельную группу.

Кометы:

Кометы – это преимущественно осколки, оставшиеся в ходе формирования нашей Солнечной системы. Считается, что они берутся из двух источников:

  • пояса Койпера – короткопериодические кометы с орбитами в менее чем 100 лет
  • облака Оорта – долгопериодические кометы с орбитами в более чем 100 лет

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

Снимок вверху демонстрирует струи, выпущенные кометой.

Космический аппарат Galileo смог уловить весьма редкое событие: момент удара кометы. Комета Shoemaker-Levy 9 была разнесена в клочья и притянута гравитацией Юпитера:

Результаты удара кометы Shoemaker-Levy 9 были запечатлены космическим телескопом Hubble. Видны явные возмущения верхних слоев атмосферы Юпитера и этот эффект сберегался в течение нескольких месяцев. По вопросу об ударе кометы Shoemaker-Levy 9 у NASA имеется сайт, предлагающий дополнительную информацию.

Следующие два снимка показывают, как может выглядеть “типичная” комета: одна с хвостом (близко к Солнцу), а другая – без хвоста:

Осколки из хвоста кометы называются метеороидами. Если мы на Земле наблюдаем метеоритный дождь, то это значит, что Земля проходит сквозь осколки комет:

  • Метеороид – осколок как таковой в космосе
  • Метеор – осколок, который наблюдается в атмосфере
  • Метеорит – осколок, переживший вхождение в атмосферу и ударившийся о поверхность
  • Метеоритный кратер – удар метеора создает кратер, называемый (как можно догадаться) метеоритный кратером

Удары метеоров о Землю редки, но сотни метеоритов видны каждый год. Больше информации о метеорах находится в НЕОсекции.

Все кратеры от ударов на других планетах и спутниках являются следствием ударов метеоритов.

Больше данных о кометах можно найти в следующих информационных таблицах NASA: информационная таблица о кометах, комета Hale-Bopp, комета Comet C/1996 B2 Hyakutake и комета Chiron.

Объекты пояса Койпера:

Тогда как облако Оорта (ниже) является источником долгопериодических комет (с орбитами в более чем 100 лет), короткопериодические кометы (с орбитами в менее чем 100 лет) должны были возникнуть ближе к Солнцу. Голландский астроном Джерард Койпер предположил, что эти объекты произошли из нового пояса комет, находящегося сразу за орбитой Плутона – из пояса Койпера.

В действительности, все тела, состоящие из льда и камня – такие как Плутон, Харон и Седна – находящиеся за пределами орбиты Нептуна, принадлежат к группе, называемой “транснептуновые объекты” или ТНО. Объекты пояса Койпера и Облако Оорта являются структурными единицами в указаном пространстве.

Теория пояса Койпера была подтверждена открытием Седны – тела, подобного Плутону – на расстоянии 13 миллиардов километров от Солнца. Сидерический период ее обращения – затяжной период в 10 500 лет. Этот снимок Седны, сделанный космическим телескопом Hubble – наш самый точный снимок одного из указанных объектов пояса Койпера (или ОПК).

Учитывая стандартную орбитальную динамику, мы можем определить размер Седны и еще одного недавно обнаруженного ОПК – Квавара. Изображения ниже показывают сравнение размеров, а также демонстрируют, как наша Солнечная система может выглядеть с поверхности Седны:

Облако Оорта:

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

Данная область довольно обширна, однако же она должна составлять от 20 000 до 150 000 АЕ – помните, что АЕ является астрономической единицей, равной расстоянию между Землей и Солнцем.

Кометы Hyakutake и Hale-Bopp – это долгопериодические кометы, возникшие из облака Оорта. 80% всех известных комет имеют то же происхождение.

 

 

 

Стоит ли мне использовать конструктор сайтов? 5 скрытых расходов при использовании Wix, Squarespace и Weebly.

Оригинал доступен на сайте executionists.com

Если вы стартап или малый бизнес, то вам сказали, что недорогой «сделай сам» (DIY) сайт – это самое оно. Но существуют «скрытые» расходы при работе с такими DIY-конструкторами, как Wix, Weebly, Squarespace, которые могут принести убытки вашему бизнесу. В этой статье мы обсудим наиболее распространенные проблемы, связанные с DIY-конструкторами для того, чтобы вы могли принять обоснованное решение.

Каковы преимущества DIY-конструкторов для сайтов?

Давайте начнем с нескольких положительных моментов в использовании конструктора сайтов:

  1. Персональный сайт или сайт, не связанный с бизнесом, может предоставить вам площадку для творчества и присутствия в Интернете.
  2. Если вы создали свой первый веб-сайт на DIY-конструкторе, то хорошая новость в том, что вы создали бизнес-контент – это большое достижение! Указанный контент может быть легко перенесен на «настоящий» остов для веб-сайта, такой ​​как WordPress или Drupal. К тому же, у вас есть понимание ваших клиентов, которое лучше подготовит вас к созданию вашего следующего веб-сайта в плане стратегии.

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

Вот наиболее распространенные проблемы при использовани Wix, Weebly, SquareSpace и DIY-конструкторов для сайтов:

Проблема первая: шаблонный дух веб-сайта.

Одним из ключей к успеху в бизнесе является дифференциация. Все конструкторы веб-сайтов предлагают готовые, предварительно разработанные шаблоны, содержащие макеты страниц, цветовых палитр, шрифтов, иконок и даже изображений. Учитывая менее чем 100 шаблонов и миллионы пользователей, вы можете себе представить, что шаблоны часто повторяются. Это похоже на покупку автомобиля той марки, которая популярна в вашем городе; он доставит вас из пункта А в пункт Б, но без какого-либо индивидуального стиля. Проблема с одинаковыми машинами – это наполненность сети конкуренцией. Если ваша цель заключается в получении дохода и позиционировании вашего бренда как надежного лидера/эксперта в вашей отрасли, то вы с самого начала хотите нанять профессиональное агентство веб-дизайна.

Стоит отметить: дешевые пакеты DIY будут содержать свой логотип и рекламу на всех страницах вашего сайта. Они будут не только забирать трафик с вашего сайта, но также (эстетически) они просто не стильные.

Проблема вторая: привлекательность недорогого веб-сайта.

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

Низкая стоимость DIY может оказаться не такой грошовой, как вам кажется. Компании, работающие с DIY, всегда стараются продать вам дополнительные функции. Такие штуки, как пользовательские слайд-шоу, ленты в социальных сетях, SEO-дополнения, формы и т. п. – все могут быть дополнительными ежемесячными расходами, поэтому первоначальный веб-сайт за 25 долларов может довольно быстро превратиться в веб-сайт за 200 долларов в месяц.

Проблема третья: дилемма DIY.

Мы постоянно получаем запросы от компаний, использующих Shopify или Wix. Распространенная жалоба: «Почему я не заключаю сделки?». Все просто. У человека, который создал сайт, нет опыта в онлайн-маркетинге или в дизайне. Веб-сайт может на первый взгляд выглядеть хорошо, но посетители быстро закрывают его из-за отсутствия убедительного контента.

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

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

website builder problems with SEO

Проблема четвертая: поисковая оптимизация – это все еще вещь.

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

  • Проблемы с вашим доменным именем/URL, а не с субдоменом или суб-URL от компании-производителя DIY.
  • Структуры ссылок (то, как ваши страницы названы, перелинкованы и организованы), которые тяжело читаются поисковыми системами.
  • Ограниченные возможности SEO – ваш конструктор сайта может предлагать вам лишь ограниченный набор опций в вашей учетной записи для продвижения контента вашего сайта.

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

Проблема пятая: Собственность.

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

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

pros and cons of wix weebly squarespace locked down

Проблема шестая: кастомизация функций.

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

 

 

Турбо Паскаль

Оригинал доступен по ссылке staff.um.edu.mt

Ханойская башня

Для наглядной демонстрации мощи динамического программирования может быть использована  игра Ханойская башня. Для получения дополнительной информации см. Документ на моей странице, в котором приведено число различных решений для игры. Чтобы проверить формулу, я написал программы в Turbo Pascal 7, которые генерируют решения в текстовом файле – проверьте, все ли решения различны и используйте имитационную модель, чтобы проверить, верны ли они. Если вы хотите, вы можете скачать эти программы. Все должно быть ясно из комментариев в исходных файлах и документа, упомянутого выше.

Error  200

Приложения, использующие модуль CRT, могут генерировать данное сообщение об ошибке при работе на очень быстрых машинах (например, Pentium 300). Причиной этой ошибки является цикл синхронизации, который совершается как часть инициализации модуля CRT. Этот цикл синхронизации подсчитывает, сколько тактов происходит в цикле, а затем это число делится на 55. Результатом этого деления является значение, которое слишком велико, чтобы поместиться в целочисленное значение. Сообщение об ошибке «Разделить на 0» – это универсальная ошибка, которая отображается при возникновении такого выхода за верхнюю границу.

Borland (сейчас называется INPRISE) на сегодня не предлагает никаких патчей для решения этой проблемы. К счастью, существуют программисты, которые их создают. Я скачал один, написанный Дэннисом Пассмором и работает он отлично. Патч содержит программу, которая преобразует исходные файлы TURBO.TPL (и TPP.TPL для защищенной цели) из \BP\BIN. В случае с Turbo Pascal изменяется только TURBO.TPL из \TP\BIN. Дэннис дал мне разрешение на его использование, так что вы можете загрузить два обновленных файла Pascal New TPP.TPL & TURBO.TPL.

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

  • Создайте какой-нибудь каталог, скопируйте NEWTPLS.EXE в этот каталог и запустите его для расширения.
  • Если у вас Turbo Pascal, то создайте резервную копию TURBO.TPL (она находится в \TP\BIN) и скопируйте новый TURBO.TPL в \TP\BIN
  • Если у вас Borland Pascal, сделайте резервную копию TURBO.TPL и TPP.TPL (они находятся в \BP\BIN) и скопируйте новые TURBO.TPL и TPP.TPL в \BP\BIN

Программы Паскаль

Turbo Pascal не является приоритетным среди системных программистов, потому что в C и C++ вы можете писать, как правило, более быстрые и короткие программы. Тем не менее, разница невелика (преимущественно незначительна), поэтому для большинства из нас нет необходимости оставлять удобное программирование на Паскале. Компилятор Turbo Pascal невероятно быстр (на моем старом 486 Dx 33 MHz я строю (перекомпилирую) и связываю программу, состоящую из примерно 12 000 строк за 20 секунд). Четкая структура программ на языке Pascal без побочных эффектов и с прямым доступом ко всем компьютерным ресурсам делают его идеальным инструментом для всего: от введения в программирование, до расширенного системного программирования, где критические по времени разделы могут быть выражены инструкциями на языке ассемблера.

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

Если у вас имеется Turbo Pascal 7, вы можете скачать следующие файлы:

exdbase.zip – это простое приложение базы данных. Узнайте, как работать с типизированными файлами и о базовом управлении файлами.

showcloc.zip содержит процедуру, которая отображает на текстовом экране время при запуске программы. Это простая многозадачность (которая обычно не поддерживается в среде MS DOS). Программа показывает, как получить контроль над таймерным прерыванием и использовать его для обновления времени на экране.

mouse.zip – управление мышью.

others.zip – различные полезные средства, такие как общий фрейм для графики Turbo Pascal, некоторые общие процедуры, такие как преобразование строк в верхний/нижний регистр, рекурсия (Ханойская башня) и пр.

datastru.zip – примеры структур данных (A-level Computing).

search.zip – примеры поиска (A-level Computing).

sorting.zip – примеры сортировки (A-level Computing).

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

Установка

Все программы Turbo Pascal, которые вы загружаете с этой страницы – это заархивированные каталоги. Чтобы их вытащить, вам понадобится программа pkunzip.exe. Она доступна в большинстве условно-бесплатных библиотек –  попробуйте, например, Garbo. Чтобы развернуть, скопируйте загруженный файл (например, файл mouse.zip) и файл pkunzip.exe в какой-либо каталог. Тогда у вас есть два варианта как их вытащить:

pkunzip -d mouse

создает в вашем каталоге подкаталог (в данном примере MOUSE) со всеми файлами.

pkunzip mouse

не создает никакого подкаталога, все файлы помещаются в текущий каталог. Большинство каталогов содержат файлы с именем readme.pas с более подробной информацией.

Не стесняйтесь обращаться ко мне в случае каких-либо затруднений.

Объектно-ориентированное программирование

A-level Computing и аналогичные учебные курсы имеют в своей основе традиционное структурное программирование. Некоторые из них (например, Международный бакалавриат и Программа Advanced Placement) содержат введение в объектно-ориентированное программирование (ООП), которое представляет собой альтернативу традиционным методам. Этот текст служит для первого простого ознакомления с основными принципами ООП для студентов A-level Computing и аналогичных курсов.

Вот наиболее распространенные понятия ООП:

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

атрибутами (также называются внутренними атрибутами или атрибутами значений)
методами (также называются командами или процедурами).

Объекты могут взаимодействовать следующими способами:

— прямым доступом к атрибутам
— взаимным вызовом методов.

Проще говоря: объект = данные + команды, что называется Инкапсуляцией. Очень часто данные объекта (или часть его) скрыты, а значения могут быть доступны и изменены только с помощью (четко определенных) методов. Эта концепция называется сокрытием.

2. Подобные объекты (агенты) группируются в так называемые классы, также называемые прототипами. Класс описывает объекты, которые имеют одинаковые атрибуты и методы. Объявление класса интерпретируется как шаблон. Можно создать любое количество отдельных объектов (агентов), которые называются экземплярами объектов. Экземпляры могут отличаться значениями своих атрибутов. Необходимо четко различать класс как таковой и экземпляры объекта, сгенерированные в соответствии с объявлением класса. Класс также может быть интерпретирован как знание определенного типа объектов. Такое знание представлено частью данных и операциями, которые могут быть выполнены с данными.
Примечание: В Turbo Pascal (и в некоторых других языках ООП) классы называются «объектами». К счастью, это было исправлено в Delphi, который использует корректный термин «класс» (кстати, этот термин впервые был использован в указанном контексте 30 лет назад в языке Simula).

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

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

oopwint.zip – Windows в текстовом режиме.

oopwing.zip – Windows в графике.

Проблемы с графикой?

Слишком часто я слышал вопрос: «Моя программа с хорошей графикой в школе работает, а на другом компьютере — нет. Что не так?».

Существует два случая:

І. Сначала давайте предположим, что на другом компьютере установлен Turbo Pascal 7 (версия играет роль – если у вас старые программы, то перекомпилируйте их в среде TP7). Тут могут быть три момента, которые пошли не так:

  1. Поврежденные файлы BGI и/или CHR.
  2. Неправильный параметр каталога процедуры InitGraph. Обратите внимание, что Turbo Pascal может быть установлен не в каталог \TP (а, к примеру, в \TP7), а также обратите внимание на различие между C:\TP и C:TP.
  3. Недостаточно памяти для загрузки файлов BGI и CHR – убедитесь, что емкость кучи при инициализации графики и загрузке файла векторного шрифта является достаточной.

ІІ. На другом компьютере нет Turbo Pascal. Есть два способа заставить работать файл .EXE с графикой:

  1. Переместите файл .EXE вместе с файлом .BGI и файлами .CHR и убедитесь, что они находятся в нужном каталоге – том же, что используется при вызове InitGraph.
  2. Преобразуйте файл .BGI и файлы .CHR в формат .OBJ и свяжите их с вашей программой. После этого ваш файл .EXE будет работать на любом ПК с видеокартой, совместимой с вашим файлом .BGI (практически на всех компьютерах в случае с файлом EGAVGA.BGI). Вы можете скачать linkgr.zip, содержащий блок с процедурами, которые загружают и инициализируют графику вкупе со всеми стандартными файлами OBJ, которые вам понадобятся.

Не стесняйтесь обращаться ко мне, если вышеизложенное так и не помогает.

Студенческий уголок

Это место предназначено для студентов, которые написали интересные программы и которые хотят поделиться своим опытом с другими. Все программы, содержащиеся здесь, бесплатны. Загрузите их, чтобы изучить слегка менее обыденное  программирование на Turbo Pascal. Если у вас есть интересная программа(ы) и вы готовы предложить ее(их) другим, обратитесь к автору страницы. За Ваш вклад Вам будут признательны. Итак, вот студенты, которые уже внесли свой вклад в этот «банк программ»:

Мой друг Тамер Фахури написал блок, демонстрирующий использование объектно-ориентированного программирования при решении задач управления растровыми изображениями. Особенности включают в себя следующее:

  • Поддержку сжатых/несжатых растровых изображений Windows
  • Поддержку 4,8 и 24-битных растровых изображений Windows
  • Поддержку извлечения растровых палитр
  • Стохастическое выравнивание

Ограничения (будут удалены в ближайшее время):

  • Размер изображения должен быть менее 65K

Загрузите файл bitmaps.zip, содержащий исходный файл блока.

Свен Нейман (KILLROY) – блестящий программист, особенно заинтересованный в очень быстрой графике и анимации (для этого он писал свои собственные блоки на языке ассемблера). Здесь вы можете скачать несколько программ, демонстрирующих приятную анимацию и управление с клавиатуры в текстовом режиме (hanoi.pas) и впечатляюще быструю 3D-анимацию, основанную на прямом доступе к видеопамяти (при компиляции файлов .PAS отключите проверку диапазона). Не стесняйтесь обращаться к Свену за дополнительной информацией.

За время лабораторных у меня собралось несколько программ с красивой графикой. Они оставлены (некоторые без отступов) такими, какими они были написаны. При компиляции отключите проверку диапазона и выхода за верхнюю границу. Я не знаю (полных) имен авторов – так что может получиться, что вы найдете здесь и свою программу. В таком случае свяжитесь со мной, чтобы добавить информацию об авторе.

Бесплатный Lisp-интерпретатор

Эндрю Дункан (ныне студент Мальтийского университета) разработал Lisp-интерпретатор в Turbo Pascal под названием Quicklisp в качестве своего A-level проекта и готов сделать его бесплатным. Он убежден – и он прав – что чем больше пользователей, тем быстрее будут найдены ошибки.

Quicklisp – это простой Lisp-интерпретатор, идеально подходящий для изучения языка Lisp, основ искусственного интеллекта, символьных вычислений и функционального программирования в целом. Например, он может быть подходящим инструментом для преподавателей уровня A. К его особенностям относятся:

  • Простота использования интерфейса GUI
  • Управление файлами
  • Онлайн помощь
  • Учебные пособия и примеры программ
  • Простые средства трассировки для отладки
  • Почти стандартная поддержка Lisp

Включен полный исходный код с комментариями в Pascal, который будет компилироваться на TP7 (реальный режим) или BP7 (DPMI – разрешает программы большего размера). Пожалуйста, отправьте описание каких-либо багов на adun001@um.edu.mt для того, чтобы их можно было исправить в следующей версии. Конечно же, свяжитесь с Дунканом, если у вас есть какие-либо проблемы и/или вопросы.

Вы можете скачать Quicklisp сейчас.

Защита HTML паролем: Защита паролем HTML-страниц

Оригинал доступен на сайте locklizard.com

Использование паролей для защиты HTML-страниц и HTML-кода

Что такое защита HTML паролем?

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

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

Как свидетельствует заголовок, защита html паролем – это метод защиты HTML-кода (или информации, которую, собственно, обрабатывает язык разметки). Мы должны помнить, что и форма, и формат документа по праву имеют решающее значение. А HTML – это язык разметки, созданный на основе SGML для описания гипертекста и того, как его следует интерпретировать и отображать.

Защита паролем в качестве метода известна тем, что можно наиболее вежливо охарактеризовать как неуязвимость. Существует множество опубликованных статей об изъянах и недостатках использования паролей для защиты какой-либо информации, и уж тем более HTML. На момент написания данного материала Google указал около 2,75 миллиона вхождений при поиске текста «недостатки защиты паролем», которые либо указывали недостаток, позволявший хакеру обойти предполагаемую защиту, либо указывали программный инструмент, позволявший данный обход.

Собственно, защита html паролем оказывается весьма ошибочным предметом для дискуссии. Применять и использовать по-настоящему эффективные пароли для защиты какой-либо информации столь же сложно, как и победить самого супермена, чего уж говорить о простых смертных. Либо пароли должны быть длиной не менее 25 символов – см. Обычный регистрационный код Microsoft – какие совершенно немыслимо для любого человека запомнить или верно ввести – либо же они настолько короткие, насколько и банальны для взламывающего устройства, так что их легко взломать. К примеру, чтобы подобрать любой 4-значный пароль, содержащий исключительно английские буквы и цифры (от 0 до 9), вам потребуется перепробовать всего (26 букв + 10 цифр)*(4 символа) = 1679616 вероятных комбинаций. На компьютере с процессором Pentium III это потребует всего несколько секунд, и даже не потребуется никаких особых устройств, проделывающих эту работу еще быстрее. Но для того, чтобы подобрать какой-либо 6-значный пароль, вам необходимо перепробовать (26 + 10)*6 = 2176782336 вероятных комбинаций или понадобится около 38880 секунд (10 часов и 48 секунд). Чтобы подобрать 7-значный пароль, вам потребуется перепробовать 78364164096 комбинаций или 16 дней и 5 часов. Чтобы подобрать 8-значный пароль, вам понадобится перепробовать 2821109907456 комбинаций или 583 дня и 5 часов. А для 9-значных паролей это составит 57,5 ​​лет! Но это для компьютеров с процессором Pentium III, а большинство людей сейчас используют компьютеры с процессором Pentium IV или более мощные компьютеры с 1 ГБ памяти! Так что взломать пароли можно более чем быстро, а если у вас имеется устройство, созданное именно для этого, то время сокращается настолько, что всякая защита нивелируется даже для 9 символов.

Итог

Итак, защита html паролем – это скорее то, какого вы о нем мнения. Длиннее и надежнее или покороче и такой, с которым легче справиться? Большинство систем, предлагающих защиту html посредством пароля, столь заметно отстают от реалий того, на что способны современные компьютеры, что они в высшей степени смехотворны и защищать людей, предлагающих такой вид обслуживания, затруднительно.

Итак, почему защита HTML паролем существует столь длительное время?

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

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

Загрузите программное обеспечение для защиты HTML

Загрузите программное обеспечение для защиты HTML, которое НЕ использует пароли для защиты, защищает как основной код, так и отображаемый контент страницы, а также использует средства управления правами на цифровую продукцию (DRM) и одобренное правительством США 256-битное шифрование AES для предотвращения несанкционированного и неправомерного использования вашего HTML-контента.

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

Мистический активизм

Оригинал на сайте kencollins.com

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

— К Ефесянам 2:8-10, НМВ

Тот, кто имеет заповеди мои и следует им – это тот, кто любит меня. Тот, кто любит меня, возлюблен будет Отцом моим, и я тоже возлюблю его и явлюсь ему.

Иоанна 14:21, НМВ

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

Проще и гораздо приличнее похоронить вопрос в “кипучей” церковной деятельности. Мы принимаем вызов социально приемлемых причин. Сконфуженные вонючими подмышками нашего начала, мы отказываем человеку Иисусу в достоинстве его имени, обращаясь к Нему исключительно с указанием Его должностного положения – Христа. В конце концов, мы возвышаем Его до смутно туманного небытия, именуя Явлением Христа. Поскольку Иисус однажды спровоцировал нашу веру, то Явление Христа просто иллюстрирует ее. Наша попытка стать более достойными и более уважаемыми приводит нас к грани отрицания исторического персонажа, на котором основана вся наша вера, и мы нелепо вытаскиваем коврик из-под собственных ног!

Нам сложно размышлять о существовании и жизнеспособности нашего Бога, так что мы отворачиваемся от поиска Его в событиях нашей жизни. Или же, вероятно, мы не ищем Его, потому что боимся, что Он может там быть! Иисус на кресте задевает нашу щепетильность и чувство приличия, в связи с чем мы усердно бежим в противоположном направлении. Мы обнаруживаем Его спрятанным в тысяче обличий, расплывчатых и аллегорических. Писание является нашим оправданием. Иисус учил нас, что наше поведение по отношению к другим – это наше поведение по отношению к Нему. Апостолы учили нас, что Дух Господень пребывает среди нас. Мы научились служить Господу должным образом посредством служения другим и научились постигать Его в окружающих нас людях; но мы ошибочно заключили, что это единственные способы, которыми мы когда-либо Его сможем найти или будем Ему служить.

Христианские социальные меры, политическая пропаганда, добрые дела любого толка, существующие без внутреннего, прямого и мистического восприятия Бога, похожи на выпекание хлеба, когда не загорается лампочка-индикатор. Пахнет плохо, и ничто не получается как следует. Мы повинуемся нашим сердцам, но мы никогда не видели и не слышали нашего Учителя – мы даже верим, что никогда не сможем увидеть или услышать Его. Наша жизнь – это исступленная борьба за то, чтобы повиноваться, не слыша повелений Учителя, служить, не видя объекта нашей набожности. Иаков сказал, что без дел вера мертва; но Павел также был прав, когда говорил, что дела без веры – это просто дела впустую. Ни мистик, ни энтузиаст не найдут там существенного утешения. Что хорошего в мистике, который слышит, но не повинуется? Что хорошего в энтузиасте, который подчиняется, даже не слыша Учителя? Один слушает со связанными за спиной руками, другой совершает дела с завязанными глазами и с берушами.

Что такое христианский активизм? Что такое христианское послушание? Иисус повелел нам любить нелюбимых, становится друзьями с не имеющими друзей, кормить голодных, одевать нагих, служить недостойным, прощать презренных, посещать заключенных и лечить больных. Как часто мы доказываем, что наша вера – это стиль жизни? Любой слышал о том образе жизни, который ведут лишь группы! Давайте уж будем святыми сами лично, а не просто коллективно святыми.

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

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

Тем не менее, если вы говорите: «Иисус любит меня, и Он повелел мне одевать, кормить и служить», вы ставите себя под удар. Теперь у вас должна быть собственная история, которую можно рассказать без покровительства литургии или богословской традиции. Когда вы говорите: «Иисус любит меня», вы заявляете о мистическом опыте своей благочестивой жизни и отдаете себя на милость тех, чья духовная слепота заставляет издеваться над вами и высмеивать вас. Если вы говорите: «Иисус любит меня», то для такой непопулярной прокламации у вас должна иметься веская причина, основывающаяся на опыте. Все мы знаем, что свидетели подвергаются перекрестному допросу тщательнее, чем судебный эксперт; вот почему мы предпочитаем, чтобы позиция богослова видоизменилась.

Наш Учитель – не богослов. Он не защищает Свои действия и наставления посредством большинства богословских мнений. Он делает добрые дела не ради них самих, а ради того, чтобы доказать вескость своих заявлений. Он позволяет богословам, которые руководствуются Им, постигнуть богословие для того, чтобы описать Его. Следовательно, мы – те, кто называет себя христианами – не можем избежать обязанности повиноваться Учителю. Мы вынуждены искать Его, живого и дышащего под наслоениями традиций, под бременем напускающих туман богословов, под тяготами слепых дел без веры и слепой веры без дел.

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

Если все ваши учения, богословие, пропаганда, служение, послушание и опыт – короче говоря, если вся ваша жизнь – должны иметь какое-либо значение, то этот простой знаменитый человек по имени Иисус, должен был жить, умереть и воскреснуть. И если так было, тогда то, чему Он учил, истинно. А если так, то у вас должно быть эмпирическое основание для того, чтобы говорить «Иисус любит меня» с наивностью ребенка и убежденностью взрослого. Поскольку Он обещал явить Себя тем, кто воистину любит Его.

Я призываю вас искать Его лицо. Он не откроет Своего лица, кроме как тем, кто богобоязнен. Вот почему послушание и мистицизм неразделимы.

Так что давайте не будем ни либералами, ни консерваторами, давайте будем как мистиками, так и энтузиастами, давайте слушать Его голос и подчиняться Его заповедям. Давайте следовать Пути, проповедовать Истину и жить Жизнью.

Страница 1 из 16