Поделиться

суббота, 22 января 2011 г.

Редакторские будни: перед тем, как писать большой материал

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

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

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

Вот несколько примеров:
  • Как выделяются важные слова и фрагменты: курсивом или жирным начертанием (как правило, выделение подчеркиванием не допускается вне зависимости от издания, куда вы направляете материал)?
  • Какие буквы используются при создании списка второго уровня: русские а), б), в) или латинские a), b), c)?
  • Сноски: как их нумеровать и допустимы ли они вообще?
  • Ссылки на URL в тексте - как их оформлять: как сноски или как элементы списка литературы?
  • Склонять ли по падежам слова "Интернет" и "Веб" (и с какой буквы - прописной или строчной их писать)?
Это все примеры того, что может быть зафиксировано в требованиях к материалам для конкретного издания, хотя там этой информации может и не быть (может не быть и требований). Вот примеры того, что ни в каких требованиях, скорее всего, не будет указано:
  • "Вы" при обращении к неизвестному лицу или неопределенному кругу лиц (а именно такое обращение имеется в виду, если попадается в статье или книге, за исключением случаев цитирования диалогов) всегда пишется с маленькой буквы.
  • Как писать: "айтишник" или "ИТ-шник"?
  • Как оформлять примечания автора статьи к цитатам (например, "Хотелось бы отметить... - прим. автора/прим. мое")?
Такие моменты либо специфичны для вашего труда, либо просто редко беспокоят авторов и издателей, а потому требования к оформлению по ним однозначно не сформулированы.

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

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

Я поступаю следующим образом: при первом столкновении с вызывающим размышления нюансом оформления во время подготовки материала книги или статьи я принимаю какое-либо решение и создаю документ под названием "Соглашение по кодированию", куда и заношу решение в список под номером 1. При столкновении со всеми остальными подобными вопросами я обращаюсь к этому документу. Если выясняется, что решение по данному вопросу уже принято - следую ему. Если выясняется, что данный вопрос не возникал - принимаю новое решение и заношу его в документ в список под номером по порядку. Все!

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

понедельник, 10 января 2011 г.

Реальность 2.0b. Финал

Только что дописал последнюю на сегодняшний день книгу - "Реальность 2.0b". Два года упорного труда и сплошного удовольствия. Предлагаю философский финал (последний раздел). Вся остальная книга, конечно, менее философская - аналитическая, нацелена на практическую пользу, на медиаобразование для "нормальных" людей, но закончить хотелось тем, с чего начались мысли о ней. Теперь следующий этап - поиски издателя.
i-identity
«i-identity» - это термин, обозначающий электронную личность (грубо говоря, «логин», «никнейм», «алиас», псевдоним) и все, что с ней связано – поведение владельца, данные, их анализ, методы управления ими и так далее. Не так давно я задумался о том, на сколько человек в мире выписаны бумажные паспорта, и сколько псевдонимов можно насчитать в Интернете? Иными словами, каково соотношение численности реальных людей из плоти и крови и людей электронных, живущих в Сети (каковых может приходиться и несколько на одного «реального»)? «Одноклассники.ru» пишут, что их пользователей вдвое больше, чем жителей Австралии.

В последние годы происходит постепенный отрыв электронных личностей от их реальных прототипов: имя, фамилия и отчество нужны далеко не для всего, на что способен индивид; многие дружеские и романтические связи никогда не покинут пределов монитора; многие покупки онлайн никогда не были бы сделаны в физическом магазине; многие написанные слова никогда не стали бы сказанными; одинокие люди без друзей, чувства юмора, а также статического места работы, стола и четырех стен кабинета могут быть мега-популярными на просторах форумов и одновременно крайне востребованными в качестве профессионалов, работая удаленно. Образчик стиля, поведения и здравомыслия днем может быть развратником/экстремистом в постах и сообщениях и крайне жестоким и подлым игроком ночью… это один человек/личность или разные? И, если разные, то, сколько личностей приходится на одно, так сказать, тело?

Отрыв реальных людей от их же двойников-виртуалов говорит о том, что Интернет – это уже не просто информационное поле реального мира. Мы не просто используем его в качестве технологической и социальной сети… мы уже строим новые сети поверх него.

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

Является ли виртуальный мир частью нашего привычного, или это совершенно отдельный мир, имеющий определенные точки соприкосновения с реальным (через оплату услуг и оффлайн встречи онлайн-друзей)? Игры, чаты, сообщества – все это потустороннее, достижимая, обратная сторона мироздания или просто другая реальность? Реальность 2.0b? Каждый решает для себя сам… и сам делает выводы.

суббота, 8 января 2011 г.

Жизненный путь: C/C++

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

К своему стыду я, программируя на дикой смеси из C и C++ с 1995 года, довольно долго вообще не знал, чем эти языки отличаются и что они вообще отличаются. Так уж получилось: литература тогда только набирала обороты, книги мне попались понятные, но их авторы не особо вникали в фундаментальные особенности и различия языков - стремились показать, как что-то делается, а не разницу между тем, как это делается там и там, и первопричины этой разницы. Я не представлял себе, что C и C++ - это "небо и земля", ровно до той поры, пока не прочитал книгу Страуструпа (Б.Страуструп "Язык программирования C++" - М.: Бином, 2007. Прочитал я ее, конечно, не в 2007, а значительно раньше - кто ее только не издавал и в каких годах, но все равно найти бывает сложно). С моей точки зрения, в мире есть два труда по программированию, которые заставляют почувствовать себя идиотом. Первый - это указанная книга Страуструпа (идиотом чувствуешь себя, читая ее в первый раз), вторая - это многотомник Кнута (Д.Кнут "Искусство программирования" - М.: Вильямс, 2000) (лично я чувствую себя идиотом каждый раз, когда берусь за нее, вне зависимости от количества прочтений). Если есть желание узнать, почему язык C++ таков, каков он есть, то и по этой теме у Страуструпа есть книга (Б.Страуструп "Дизайн и эволюция C++" - СПб.: Питер, 2006), она хороша тем, что в общем-то ни к чему не обязывает.

Как бы то ни было, собравшись с силами, немного покодировав на C++ и на командном языке (то есть создав bat-файл), я подсчитал таки объем написанного мною на указанной паре языков. Общее количество строк составило 87891. Как-то не очень много, честно говоря. Это лабораторки, курсовые, программы для души, имитационные модели, в общем - все.

Некоторые вещи приятно вспомнить:
  • ParaTroopers - эту игрушку я с нуля создал под DirectX еще, помнится, 2-ой версии. Классика - расстрел парашютистов в воздухе. Собственно, я тогда как раз изучал DirectX и решил, что если уж изучаю, то нужно написать что-то такое, что давало бы ощущение законченного и полезного результата. Среди друзей игрушка имела большой успех - мы соревновались, кто больше наколошматит. Спрайты были мною же отрисованы в Paint с применением заготовок моего же производства, полученных с помощью 3DStudio (еще даже не Max, а 4.0). Звуки были надерганы из стандартных.
  • Galaxian - тоже игрушка, калька со Space Invaders, которую я слепил, по той же причине, что и ParaTroopers, но уже на базе OpenGL.
  • Кучка интерпретаторов, включая уникальное в какой-то мере творение - библиотеку SQuestMaster. Это библиотека, позволяющая выстраивать игры типа квест и RPG - манипулировать предметами, героями, характеристиками и т.д. Интерес в том, что ее можно использовать по-разному: с одной стороны это полноценная библиотека классов, а с другой - в ней еще есть интерпретатор с простого языка и функция, которая сама выстраивает из классов этой библиотеки нужную структуру сущностей, получая на вход текстовый файл с командами. Причем предметами можно не только вручную (с позиции игрока) манипулировать, но также можно задавать функции а-ля ON_PICKUP, ON_USE и так далее, и эти функции также можно задавать и на уровне библиотеки классов, и на уровне командного файла. Большая была работка.
  • Имитационные модели - собственно, и сейчас я большей частью зарабатываю на жизнь именно ими. В основном все просто: есть библиотека/framework, модель забивается с ее помощью, при этом даже не пишется код создания окон, обработки сообщений и т.д. Интересное начинается тогда, когда реально нужно самому что-то обрабатывать или подключать какие-то далекие от этого framework-а средства: например, по ходу процесса моделирования черпать информацию из БД и соответствующим образом корректировать поведение модели (я это реализовал, когда диссертацию готовил). Много фокусов приходилось делать за много лет.
  • Отдельный большой пакет программ - это лабы: тут много стандартного, причем это стандартное актуально и сегодня (калькуляторы для бесконечно больших чисел, конверторы форматов, оконные библиотеки под DOS - они, конечно, уже не актуальны, графические редакторы и т.д.). Кто сказал, что у нас в отрасли так уж быстро все меняется?
Обнаружил недописанный Tetris от 1998 года... уже не помню, почему у нас с ним не сложилось.

воскресенье, 2 января 2011 г.

Открыто-закрытые социальные сети

Консорциум Всемирной паутины (W3C) опубликовал доклад по итогам работы группы экспертов по «социальной паутине» – A Standards-based, Open and Privacy-aware Social Web. Припозднился я с этим документом, но вниманием обойти никак не мог.

Для начала приведу несколько важных тезисов из документа (далеко не все из них революционны… на самом деле, ни одного революционного среди них нет, но нужно же на что-то опереться):
  • Наличие каких-либо возможностей социализации (создания профиля, общения, публикации пользовательского контента и т.д.) стало сегодня де-факто стандартом для любого сайта.
  • Обеспечение присутствия в том или ином виде на популярных социальных веб-ресурсах стало необходимым для компаний и активных индивидов.
  • Несмотря на то, что в рамках различных социальных интернет-сервисов разработано множество способов общения, каждая социальная сеть использует свою терминологию, свои подходы к профилированию, свою политику использования предоставленных данных и так далее. То есть отсутствуют общепринятые стандарты, а это создает большие проблемы с обеспечением хранения и обработки данных с точки зрения таких концепций как приватность и безопасность особенно в условиях тренда миграции и объединения информации о конкретном пользователе из разных сервисов (заголовки моих постов в Blogspot автоматически уходят в Twitter, откуда публикуются в Facebook; сам Facebook предлагает выдать ему пароли от почтовых ящиков и служб мгновенного обмена сообщениями, чтобы поискать моих знакомых и т.д.).
  • Во многих случаях требования обеспечения приватности/безопасности данных и мобильности этих данных (возможности передачи их из сервиса в сервис) являются противоречащими друг другу.
  • Даже если сайт обещает (и возможно способен сдерживать обещания) обращаться с вашими данными подобающим образом, повсеместные проблемы юзабилити (термин из документа – я предпочел бы термин «проблемы взаимодействия») и «разрешительные умолчания» значительно осложняют жизнь пользователя.
  • Авторы документа предлагают W3C рассмотреть возможности интеграции функций по ведению профиля пользователя непосредственно в его локальный браузер, откуда информация будет передаваться социальным сервисам.
Дальше не стану цитировать – суть, полагаю, ясна. Мне всегда нравилось обличительно писать о попытках решения нетехнических проблем техническими путями, призывать к личной ответственности и будить здравый смысл. Причем я это делаю не с позиции «ничего у вас не выйдет» (неконструктивный пессимизм), а с совершенно иной: обяжут ли всех владельцев социальных сетей следовать правилам на бумаге и деле или нет – это все-таки в большой степени не зависит от рядового пользователя, а вот ответственно обращаться со своими собственными данными – это в его власти. Судите сами. Для отправленных в Интернет в любом виде, с любой целью и любым путем персональных данных, а также для настройки параметров, связанных с их сокрытием или открытой публикацией, характерно несколько проблем:
  • Проблема «плевка в колодец». Одна ошибка, одна неснятая галочка по умолчанию, один клик в одну кнопку и все – ваши радикальные высказывания, фотографии с вашего далеко не первого юбилея, где вы в обнимку с 18-летней подругой, изображения вас до и после липосакции становятся доступными значительно более широкой аудитории, чем вы ожидали. В определенном смысле это событие перманентно – где-нибудь, где не нужно, эти сведения обязательно осядут, и отозвать их будет невозможно; вы навсегда войдете в историю с лицом в салате.
  • Проблема «неадекватного доверия». Будем честны: мы отдаем свои персональные данные бездушной машине, связанной с бездушной сетью, связанной с другой бездушной машиной или машинами, за которыми сидят, возможно, вполне одухотворенные люди, чьи интересы совершенно отличны от наших. На какую безопасность и приватность мы в принципе рассчитываем? Максимум, на что можно рассчитывать в таких условиях – это на иллюзию таковой.
  • Проблема «неадекватных требований». Интернет – это информационная сеть, это инструмент для поиска, хранения и обработки информации. Социальный веб – это инструмент для общения. Молоток – это инструмент для забивания гвоздей, и никто не требует, чтобы в него был встроен предохранитель, не позволяющий оному разбивать пальцы или головы.
  • Проблема «вечных данных». Данные в Интернете хранятся вечно – об этом уже говорилось. Даже если с нового 2011 года (или «старого» нового 2011 года) будут приняты всевозможные исчерпывающие правила по обращению с данными пользователей, и их можно будет вводить внутри собственного браузера, а обрабатываться они должны так, чтобы комар носу не подточил, то коснется ли это старых данных, уже живущих своей жизнью в опубликованных закрытых базах данных, в списках рассылки и прочих приятных местах? Разумеется, нет. Те, кого вы лично не интересуете, не расстанутся с ними, чтобы не терять контент с сайта, а те, кто собирается использовать ваши данные с той или иной целью, не расстанутся с ними и подавно.
  • Проблема «эксгибиционизма». Неплохо бы понимать, что если вы пьяным и голым выскочили на оживленную улицу, то проблема не в том, что вы на улице, и не в том, что она оживленная… проблема в том, что вы голый и пьяный. Это, конечно, аналогия – к Интернету каждый может приблизить ее самостоятельно. Люди, вообще-то, должны отвечать за свои поступки, слова… и данные. Ответственного обращения с ними, как мне кажется, сначала разумнее требовать от их автора/обладателя, а потом уже от всех остальных.
P.S. С новым годом!