Модуль write-good для NodeJS предназначен для проверки текстов на английском на «академичность» стиля. Автор поставил себе задачу автоматизацию трех проблем в научных текстах:
1. Чрезмерное использование Passive Voice. Помимо того, что большое количество пассивного залога ухудшает стиль текста, в научной статье это, как правило, связано с сокрытием существенной информации или неполноте фактов. Пример:
Плохо: Termination is guaranteed on any input. Лучше: Termination is guaranteed on any input by a finite state-space. Хорошо: A finite state-space guarantees termination on any input.
2. Обтекамые выражения и лишние слова
Плохо: It is quite difficult to find untainted samples. Лучше: It is difficult to find untainted samples.
Часто студенты в работах используют «ленивые» слова, чтобы избежать необходимости количественного описания. Например, several, exceedingly, many, most, few, vast.
Плохо: There is very close match between the two semantics. Лучше: There is a close match between the two semantics.
3. Лексические иллюзии. Очень сложно заметить повторы слов, когда они разделены переносом строк.
Конечно, реализация очень несложная, но может быть интересна как раз свой простотой, чтобы понять, с чего легче начать разработку анализа текстов.
Одной из основных сложностей в управлении устройством, находящимся на Марсе, является существенное время прохождения сигнала. Лишь в одну сторону требуется 4 минуты 22 секунды. Задача становится еще более трудной, если узнать, что антенны Deep Space Network делятся между многими космическими миссиями. Команда Curiosity может отправлять сигнал всего лишь один раз в сутки, а получать лишь несколько раз в день. Поэтому инженеры в течение дня готовят команды для управления ровером. Команды управления включают в себя управление движением, использование механической руки и проведение экспериментов.
После выполнения команд марсоход отправляет результаты работы и наблюдений на спутник на орбите Марса. Отправка сигнала сразу на Землю, потребовала бы гораздо больше энергии, чем на спутник, находящийся в 322 километрах на орбите.
Разработка марсохода, способного практически самостоятельно перемещаться по поверхности, является сложной задачей, требующей работы тысяч людей. Объем работы впечатляет еще больше, если узнать технические характеристики компьютера ровера: частота процессора 133 МГц и 128 Мб оперативной памяти (адресуемой памяти лишь 32 Мб).
Программный код содержит более 100 модулей, каждый из которых общается с другими через очередь сообщений с минимальным числом блокировок и разделяемой памяти. Модуль навигации – один из наиболее объемных и занимает 10% от всего объектного кода.
Большая часть кода для автономного передвижения написана на C++. Исторически исследователи использовали C++ для разработки высокоуровневых автономных алгоритмов, таких как: стерео-зрение, построение карт, планирование пути и визуальная одометрия. Однако до 2000 года C++ код никогда не летал на Марс, все модули разрабатывались на языке C. При разработке марсоходов разработчики оценили, что риск ошибки при переписывании существующего протестированного кода с C++ на C выше, чем использование новой среды на C++. С++ победил!
Марсоход Curiosity имеет множество стерео-камер, позволяющих надежно оценивать обстановку вокруг, даже если с частью камер возникнут проблемы.
Марсоход умеет передвигаться в нескольких режимах. Во-первых, конечно же, есть полностью ручной режим прямого управления. Этот режим использовался во время первых движений по планете, чтобы получить представление о безопасности окружающей территории.
Excel (в версии до 2013) обладает поведением, отличающимся от других офисных продуктов, таких как Microsoft Word. Если в Word можно легко открывать документы в разных окнах и соответственно, легко растаскивать их по мониторам, то в Excel по умолчанию все таблицы открываются в одном окне.
Самым простым способом способом открыть таблицы Excel на разных экранах является открытие новой копии процесса Excel. Для этого нужно снова запустить Excel из списка всех программ и уже из нового экземпляра приложения открывать второй файл. Тем не менее следует помнить, что в таком сценарии могут возникнуть различные ошибки связывания документов и копирования-вставки.