VR-Online (May 2010)

104

description

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

Transcript of VR-Online (May 2010)

Page 1: VR-Online (May 2010)
Page 2: VR-Online (May 2010)

Интро2

IntroПриветствую Вас, дорогие друзья!

В мае я решил плотненько войти (ничего пошлого J) в мир Linux. Взял, да и снес насвоем нетбуке Windows XP Home и установил Ubuntu Linux Netbook Edition. Домашнийдесктоп у меня работает под Windows 7, и от нее избавляться я вообще не планирую,а вот не нетбуке решил поэкспериментировать. Один фиг, на нем я только серфю инет,да тексты пишу.

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

Дополнительный софт инсталиться на раз-два-три. Синаптик реально юзабельный и ясо слезами на глазах вспоминаю то время, когда большинство программраспространялось либо в исходниках, либо в rpm пакетах. Инсталляция в те времяреально напрягала. Особенно – поиск завистей. Иногда размер зависимостейсущественно превышал размер самой программы. Это сейчас размер не имеетзначение, а во времена правления грозного диалапа я считал каждый килобайт J.

Поднастроил я Ubuntu под себя и начал ее всячески юзать. В один из дней юзания,пингвин вежливо мне предложил: «Насяльника, есть маза заапдейтится! Добро?». Натакой любезный вопрос я не в силах был сказать «нет» и клацнул на пимпу «Ok». Туксчто-то проверил и начал лить обновки. Смотреть, как сливается очередной пакет быложутко не интересно, и я запустил браузер. Начал серфить. Вдруг передо мнойвсплыло примерно такое сообщение: «Апдейты скачаны. Приступаю к установке». Ну,приступаешь и приступай! Кликаю Ok и отправляюсь дальше смотреть странички.Прошло минуты три и FireFox встал колом. «What’s this shit?» - ругнулся я. Подумал,что косяк в FF, стал пытаться завершить его работу и бац – полный зависон. Делатьнечего – ухожу в жесткий ребут.

К счастью загрузка прошла нормально. Убунта меня вежливо встретилаприглашением ввести пароль и опять предложила заинсталить апдейт. Я опятьсогласился и пошел серфить. Несколько минут спустя ситуация повторилась.Пришлось ребутить. Я откровенно говоря стал злиться. Загрузка вновь проходитхорошо и перед моими глазами очередной MessageBox с предложением обновиться.На этот раз я решил согласиться, но не открывать никаких программ. И о чудо!! !Обновки успешно были установлены! Что за фигня? И это хваленый и стабильныйдистрибутив?! У меня Windows 7 нормально апдейтится и не виснет когда во времяобновления активно юзаются другие программы. Ладно, я могу допустить, что можетобновляться какая-нибудь системная вещица, которая влияет на работу программ. Но,неужели в сообщении с предложением обновиться, нельзя об этом упомянуть? Мол,могут возникнуть траблы, завершите все программы и немножко подождите. Так былобы лучше и корректней, нежели заставлять бедного юзера ломать голову вопросом:«А из-за чего это хрень происходит?».

Я часто вижу в инете высказывания вроде: «Windows 7 – отстой, я уже перебрался наUbuntu!». Не знаю, чем занимаются (на компе) авторы таких высказываний, но за себямогу сказать одно – пока этот дистрибутив сырой и юзать его проблематично дажедома. Нет, работать можно, но время от времени придется прыгать с бубном.Очередной апдейт может запросто увести ОС в даун. Я на такие жертвы не готов. Намоем десктопе с начала ноября (или конца октября) крутится Windows 7 и за этовремя она ни разу не выпала в BSOD и даже не зависла. Все апдейты сливаются инормально сетапятся. Убунта у меня месяц и я уже испытал с ней траблы. Причемтраблы возникли на буке, который служит мне для двух задач – тексты и серфинг!Почему же так все плохо?

Игорь Антонов

Page 3: VR-Online (May 2010)

Содержание3

Содержание

IT-News

Hard-News

VrIP персонаПодкастинг по-русски. Интервью с Ольгой Шагаловой

КодингDrupal 6. Совмещаем приватный и публичный методы доступа

C++. MD5 на практике

PHP фреймворки. Часть 1

Delphi. Открытые и вариантные массивы

C++. Передаем файлы по сети через TCP/IP

Я прусь

Обзоры от VRОбзор Nokia N900

Невозможное возможно. Книга "Физика невозможного"

Софт - отстой!

Хабаровский компьютерный музей

Без рамкиQIP 201 0 или как нас нагибают

1 0 вещей, которые нужно знать об Интернет

Слон и Моська. Смотрим на Oracle и MySQL

Google Font API . Первое знакомство

Scribus. Бесплатная программа для верстки

Меня тошнит

КреатиffInkscape. Обои для рабочего стола. Часть 2

Рассказы в стиле киберпанк

Песнь Легиона. Часть 2

ПсихоНевербальные знаки

Админинг5 самых нужных модулей для Apache и PHP

Поднимаем VPS. Настройка MTA

ШколаGimp. Радиоактивная рука.

Gimp. Обои в стиле Mac.

Проверяем дату

Мнение VR

VR-Crew

vr-onl ine | май 201 0

Идея проекта

Редакторы номера

Верстка и оформление

Михаил Фленов aka Horrific(http: //flenov. info)

Игорь Антонов aka Spider_NET

Роман Костенко akaLord_of_Fear

Антон Козлов akaJimmy Jonezz

Вопросы и предложения

mail@vr-onl ine.ruantonov. igor.khv@gmail .com

Page 4: VR-Online (May 2010)

IT-News4

IT-NewsВсе то, что нас удивляло и приводило в восторг в этом месяце

Ты спрашиваешь, а Google напомнит

В начале июня «корпорация зла» запустила русскую версию сервиса GoogleAlerts (Google оповещения, www.google.ru/alerts/). Сервис работаетследующим образом. Ты вводишь ключевые слова, по которым хочешьполучать оповещения на свой e-mail . Выбираешь источники – новости,блоги, обсуждения или все сразу. Определяешься с количествомрезультатов и создаешь оповещения. Как только ключевые словавыстрельнут, на твой e-mail придет уведомление. Пока хорошенькопротестировать сервис мне не удалось, но я уже создал одно оповещение:«Майский номер журнала VR-Online». После публикации журнала сразуузнаем – работает новинка или нет .

Троянский лис. Расширение для FireFox спрятано вапдейте Windows

Во второй июньский вторник компания Microsoft выпустилаочередную порцию заплаток для своих продуктов. Вроде всекак обычно, но один из апдейтов содержал расширение дляFireFox. Все, кто дал добро на установку апдейта MicrosoftSearch Enchacement Pack (KB98221 7) получил бесплатныйбонус – расширения для Internet Explorer и FireFox. Для чегонужны эти расширения – не знает никто. В описании апдейтана сайте Microsoft какая-либо информация о функциях этихдополняшек – отсутствует. Дропнуть этот пакет нормальнымпутем тоже нельзя (после установки). Кнопочка Uninstal l –недоступна. Остается только гадать, что несет в себе этотапдейт. Организация Mozil la поспешила направить в MSписьмо с просьбой прокомментировать ситуацию, однакоответа от софтверного гиганта еще нет. Если ты уже успелобновиться и хочешь провести исследование (или просто

удалить таинственный плагин), то советую заглянуть в папку C:\ProgramFiles\Microsoft\Search Enhancement Pack\Search Helper\. В ней лежит файликSEPsearchhelperie.dl l (расширение для IE) и папочка firefoxextension.

Готовится релиз PostgreSQL 9.0

Примерно через месяц разработчики OpenSource СУДБPostgreSQL представят финальную версию PostgreSQL 9.0. Вновой версии слоненка будет множество интересныхнововведений:

- Поддержка еще больших баз данных

- Взаимодействие с многоядерными процессорами

- Приближенный функционал к SQL Server, Oracle, IBM DB2

- Поддержка новых математических операций с данными

- Новые возможности по связыванию таблиц при помощииндексов.

- Новые агрегатные функции

- Поддержка Python 3

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

vr-onl ine | май 201 0

ПодготовленоИгоремАнтоновымпо

материалам

ссайтаhttp://uinc.ru/news

Page 5: VR-Online (May 2010)

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

Блоггеров пытаются покупать

Роман Доброхотов (http: //dobrokhotov. l ivejournal.com/)- достаточноактивный и популярный ЖЖ пользователь. В начале июня этотактивный перец признался в публикации якобы заказной заметки.Заказчиком был менеджер рекламного агентства. За публикациюпоста блоггеру было обещано 2000 рублей (первая заметка) и по1 000 рублей за следующие. Заказчик также поведал некоторыенюансы компании. Например, он выделил особо ценных«тысячников» с которыми якобы МВД ведет переговоры напрямую.Среди них журналистка Наталья Радулова и блогер МаксимАлексендров.

Судя по словам Романа он был удивлен, что и сам попал в этотсписок. Несмотря на все, пост все же был написан и опубликован иавтор получил свой гонорар. Спустя некоторое время РоманДоброхотов сообщил: «Милиция не так уж плоха. Попытки МВД

создать положительный имидж в блогосфере заслуживают понимания. Роман Доброхотоввсе же за честность и именно поэтому он разоблачил всю историю.

Скоро не будет нетбуков с Windows XP

Представители Microsoft напомнили, что с 22 октября 201 0 года все OEM производители несмогут устанавливать на нетбуке Windows XP. Для установки будут доступны лишьWindows Vista и Windows 7. Хотя в реале все будет сводится к сетапу Windows 7, т.к. эта ОСуже давным-давно побила популярность Vista.

А дальше будет Next3

Компания CTERA Networks, специализирующаяся наразработке гибридных облачных систем храненияданных, представила новую файловую систему для Linux- Next3, основанную на коде Ext3 и расширяющую еевозможности поддержкой снапшотов (мгновенныхснимков состояния файловой системы).

По сравнению с решениями, использующими снапшотына базе LVM, Next3 обладает следующимипреимуществами:

-Экономия дискового пространства. Снапшоты Next3 не требуют предварительногорезервирования места, что позволяет гибко управлять доступным свободнымпространством. Кроме того, снапшоты Next3 являются инкрементальными и довольнокомпактны сами по себе.

-Масштабируемость. Даже при огромном количестве снапшотов скорость Next3 остается науровне, близком к ext3.

-Легковесность. Снапшоты Next3 создаются и удаляются практически мгновенно. Сразу жепосле удаления снапшота занятое им пространство автоматически освобождается.

-Полная прямая и обратная совместимость с ext3. Миграция с ext3 на Next3 и обратновыполняется буквально в три команды (отмонтирование, tune2fs, монтирование).

Next3 не накладывает никаких ограничений на количество и размер снапшотов, однакосуществует минимальный предел размера файловой системы — 4 Гб.

Исходные коды проекта доступны под лицензией GNU GPL. В комплект входят два патча наядро (для версии 2.6.32.1 2), патч для e2fsprogs и скрипт управления снапшотами.

IT-News5

vr-onl ine | май 201 0

Page 6: VR-Online (May 2010)

Социальный винегрет. Mail.RU, Одноклассники.RU иICQ могут слиться

Крупнейший в Рунете инвестиционный интернет-холдингDigital Sky Technologies готовится к реорганизацииинтернет-активов общей стоимостью в два миллиардадолларов, пишет газета "РБК-daily" со ссылкой на двух топ-менеджеров крупных интернет-компаний. Речь идет овозможном объединении в одну компанию портала Mail .Ru,социальной сети "Одноклассники" и мессенджера ICQ.

В DST данную информацию опровергли, заявив, что,возможно, выкупят миноритарные доли в одном из активов.По данным издания, создание новой компании, основойкоторой станет Mail .Ru, запланировано на 201 0 год, ноокончательное решение о реорганизации активов не

принято. Ранее к Mail .Ru уже была присоединена компания "Аструм". После покупкимессенджера ICQ совладелец DST Юрий Мильнер заявил, что "видит синергию" проекта сдругими компаниями фонда. Digital Sky Technologies принадлежит Юрию Мильнеру,Григорию Фингеру и Алишеру Усманову. Фонд владеет долями в сетях "Одноклассники","ВКонтакте", портале Mail .Ru, сервисе коллективных скидок GroupOn и ряде других активов,включая крупнейшую в мире социальную сеть Facebook.

Буквально перед самым выходом номера стало известно, что объединение все таки непланируется. Об этом сообщила компания DST.

"Хакеры" поимели AT&T

Хакерам удалось взломать сайт американского оператора связи AT&Tи похитить 11 4 тысяч электронных адресов покупателей планшетногокомпьютера iPad, пишет Gawker. Взлом затронул в первую очередьранних покупателей iPad, в том числе руководителей компаний,финансистов и сотрудников Белого дома. Так, хакеры получили адресагендиректора компании The New York Times Джанет Робинсон,журналистки ABCNews и бывшей со-ведущей передачи "Good Morning,America" Дианы Сойер, кинопродюсера Харви Вайнштейна, мэра Нью-Йорка Майкла Блумберга и даже главы администрации США РамаЭмануэля. Данные о покупателях были похищены членамигруппировки под названием Goatse Security.

Они обнаружили, что скрипт на сайте AT&T выдает электронный адреспокупателя, если в адресной строке указать идентификатор SIM-картыICC-ID и смогли угадать многие идентификаторы. В AT&T подтвердили существованиеуязвимости на сайте, которую можно было использовать для получения данных о некоторыхвладельцах iPad 3G. Тем не менее, в AT&T не комментируют заявления Goatse Security.

IBM впервые за двенадцать лет открыла новую лабораторию

Корпорация IBM впервые за двенадцать лет открыла новуюлабораторию. Кроме того, новый исследовательский центр «Голубогогиганта» является первой лабораторией компании, которая размещена вЮжной Америке. Инженеры и разработчики IBM из Сан-Паулу и Рио-де-Жанейро стали первыми сотрудниками новой лаборатории в Бразилии.

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

Softkey и Microsoft дарят подарки за покупку MS Office 201 0

Интернет-супермаркет ПО Softkey и корпорация Microsoft запустили совместную акцию.Согласно ее условиям, все покупатели лицензий Microsoft Office 201 0 получают в подарок

IT-News6

vr-onl ine | май 201 0

Page 7: VR-Online (May 2010)

карты на приобретение товаров в сетях магазинов «М.Видео», «Л’Этуаль» и«Спортмастер». Акция продлится до 30 июня 201 0 года.

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

• 1 0 лицензий – 1 000 рублей,

• 20 лицензий – 2500 рублей,

• 30 лицензий – 4000 рублей,

• 40 лицензий – 6000 рублей,

• 50 лицензий – 1 0 000 рублей.

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

Twitter за месяц посетили 1 90 миллионов человек

В мае 201 0 года на крупнейший в мире микроблогерский сервисTwitter зашли 1 90 миллионов уникальных посетителей, азарегистрированные пользователи в среднем отсылали по 65миллионов записей в день. Об этом пишет TechCrunch со ссылкойна топ-менеджера Twitter Дика Костоло (Dick Costolo).

Для сравнения, в апреле, по оценкам администрации сервиса,посещаемость составляла 1 80 миллионов пользователей в день. Вфеврале ежедневно отсылалось 50 миллионов записей.Посещаемость не равняется числу зарегистрированныхпользователей. Последний показатель не уточняется.

Выставлен на продажу домен из одной буквы

Выставлено на продажу доменное имя, состоящее изодной буквы - e.co, пишет The Register. Выручка отпродажи домена пойдет на благотворительные цели. Запервые полтора часа с начала торгов цена доменаподнялась до 1 6 с половиной тысяч долларов. На моментнаписания данной заметки за него давали болеедвадцати тысяч. Торги завершатся 1 0 июня.

Доменная зона верхнего уровня .CO была первоначальнозарегистрирована за колумбийским университетом Анд(Universidad de los Andes). Однако университет началиспользовать ее в коммерческих целях, против чего

выступило правительство страны. В результате долгого спора в 2009 году права надоменную зону были отданы Министерству связи Колумбии, которое назначилоуправляющим зоны компанию .CO Internet SAS.

Эта организация была создана совместно колумбийскими предпринимателями иамериканской компанией Neustar, которая занимается активной маркетинговой поддержкойдомена. Владельцы зоны .CO начали заново регистрировать в ней доменные имена. 20июля откроется свободная регистрация для всех желающих.

Google Suggest исправляет опечатки "на лету"

Функция Google Suggest, которая помогает уточнитьпоисковый запрос, исправляет опечатки,транслитерирует слова и в случае необходимостименяет раскладку клавиатуры, стала еще лучше.Недавно было запущено изменение в системеподбора подсказок, благодаря чему пользователимогут исправить опечатки "на лету", еще доокончания ввода поискового запроса.

IT-News7

vr-onl ine | май 201 0

Page 8: VR-Online (May 2010)

Если система определяет, что пользователь ошибся, то она пометит предлагаемый вариантисправления, предварив его фразой "Did you mean". Выбрав предложенное исправление,можно сразу же исправить поисковый запрос.

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

Google откажется от использования Windows

Корпорация Google откажется от внутреннегоиспользования операционной системы Windows, пишет TheFinancial Times со ссылкой на нескольких сотрудниковкомпании. В Google считают недостаточнойобеспечиваемую Windows безопасность. Один изисточников издания сообщил, что многие сотрудникиперешли с Windows на Mac OS X. Новым сотрудникампредлагается выбор между компьютером Apple соперационной системой Mac OS X или обычным PC ссистемой на базе ядра Linux. Работники, не желающиепереходить с Windows на другие системы, должны получитьособое разрешение от руководства.

Первоначальное решение о переходе на другие системыбыло принято еще в январе, вскоре после того, как компьютерные системы компаниивзломали китайские хакеры. В ходе взлома была использована существующая в браузереInternet Explorer уязвимость.

Другим следствием взлома стал перенос серверов Google из Китая в Гонконг и отказ отфильтрации поисковой выдачи. Последнее является необходимым условием для работы натерритории материкового Китая.

Qualcomm выпустила двухъядерный чип для смартфонов

Компания Qualcomm выпустила новую линейкудвухъядерных чипсетов для мобильных устройств. Системына кристалле Snapdragon третьего поколения будутработать на тактовой частоте до 1 ,2 гигагерца, сообщается вофициальном пресс-релизе. Системы Mobile Station Modem(MSM) 8660 и 8260 будут оснащаться графическим чипом споддержкой 3D, возможностью записи и воспроизведениявидео стандарта высокой четкости 1 080p. Устройства набазе процессора можно будет оснащать экранами сразрешением 1 280 на 800 пикселей.

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

Объявление о выпуске нового чипсета было сделано на выставки Computex, котораяпроходит в крупнейшем городе Тайваня - Тайбэе с 1 по 5 июня.

IT-News8

vr-onl ine | май 201 0

Page 9: VR-Online (May 2010)

Hard-News9

Hard-News

Seagate выпустила быстрые гибридные накопители Momentus XT

Компания Seagate возродила идею создания гибридных накопителей ипредставила жесткие диски для ноутбуков Momentus XT, которыеявляются, по заверениям производителя, наиболее скоростнымимоделями в мире. Гибридные жесткие диски Seagate Momentus XTизготавливаются в форм-факторе 2,5 дюйма (высота 9,5 мм) и имеютемкость 250, 320 или 500 ГБ. Они содержат кэш-память объёмом 32 МБ,а скорость вращения шпинделя с магнитными пластинами составляет7200 об/мин. Кроме того, в таких устройствах реализованаэнергонезависимая память (миниатюрный твердотельный накопитель) наоснове флэш-чипов SLC NAND емкостью 4 ГБ.

Nokia анонсировала бюджетные мобильные телефоны с двумя SIM-картами C-series

Компания Nokia анонсировала новые бюджетные моделимобильных телефонов линейки C-series, а также новыйальтернативный источник зарядки Nokia Bicycle Charger Kit.Мобильный телефон Nokia C2 становится первым решениемкомпании для работы с двумя SIM-картами, а модель Nokia C1 -02 – самой доступной по цене моделью с поддержкой картMicro-SD. Новый мобильный телефон Nokia C2 являетсяполноценным телефоном для одновременной работы двух SIM-карт, позволяя принимать и отправлять звонки и текстовыесообщения, используя любой из номеров на обеих SIM-картахпри включенном аппарате. Первая SIM-карта Nokia C2располагается под батареей. Вторая SIM-карта поддерживает«горячую замену», то есть ее можно вынимать и вставлять приработающем телефоне. Эта удобная функция, особенно сучетом низкой стоимости устройства, будет доступна тольковладельцам Nokia C2.

NVIDIA официально представила видеокарту GeForce GTX 465

На открывшейся выставке Comrutex 201 0 компания NVIDIAофициально представила новую видеокарту GeForce GTX 465.Видеокарта NVIDIA GeForce GTX 465 является несколькоурезанной версией модели GeForce GTX 470. Она содержит 40-нанометровый графический чмп GF1 00, основанный наархитектуре Fermi, но количество потоковых процессоровсоставляет 352 (вместо 448 у GeForce GTX 470), количествотекстурных блоков уменьшено с 56 до 40, а количество блоковрастеризации составляет 32 штуки вместо 40. В то же время ввидеокарте NVIDIA GeForce GTX 465 объём используемойпамяти стандарта GDDR5 составляет 1 ГБ, а шина доступа кпамяти – 256 бит.

Рекомендованная розничная цена видеокарты NVIDIA GeForce GTX 465 составляет $279.Ожидается, что уже в ближайшее время партнеры NVIDIA приступят к продажам такихустройств.

AMD продемонстрировала свой первый процессор APU Fusion

Компания AMD провела первую публичную демонстрацию процессора Fusion. Семействоустройств ускоренной обработки (Accelerated Processing Units – APU) AMD Fusionобъединяет на одном кристалле вычислительные ядра высокопроизводительных

vr-onl ine | май 201 0

Автор:РоманКостенкоakaLord_of_fear

E-mail:kostenko.r.khv@

gmail.com

Page 10: VR-Online (May 2010)

последовательных вычислений, а также графическое ядропараллельной обработки графики. Процессоры AMD Fusionявляются энергоэффективными чипами, объединяющими наодном кристалле CPU, GPU, обработку видео и другие средстваускорения обработки данных для эффективного решениясамых распространенных и сложных потребительских задач отвоспроизведения видео высокой четкости до интерактивнойработы в интернете и игр DirectX 11 .

В рамках платформы AMD Fusion первоначально запланированвыпуск двух серий процессоров: Llano и Ontario. Такие чипы ужедоступны в виде отдельных образцов, а их официальный релиз

намечен на первый квартал 2011 года. При этом отмечается, что процессоры Llanoизготавливаются по нормам 32-нанометрового технологического процесса, содержат четыревычислительных ядра и одно графическое ядро, обладающее поддержкой DirectX 11 . Такиемодели предназначены для применения в составе настольных компьютеров.

ASUS расширила линейку игровых систем Republic of Gamers

Компания ASUS расширила линейку продуктов Republic of Gamersи продемонстрировала на выставке Computex 201 0 настольныйкомпьютер Battlefield-CG849 и несколько игровых ноутбуков.

Компьютер Battlefield-CG849 позиционируется в качествеустройства с максимальной игровой производительностью. Крометого, пользователь имеет возможность самостоятельно разогнатькомпоненты системы и получить прирост производительности до20%. В таком устройстве используется6-ядерный процессор IntelCore i7-980X, 1 2 ГБ оперативной памяти стандарта DDR3 втрехканальной конфигурации, жесткий диск емкостью 2 ТБ,оптический привод DVD и две видеокарты Radeon HD 5870, объединенных в конфигурациюCrossFireX. Также отмечается, что охлаждения компонентов системы используютсябольшие высокопроизводительные кулеры. О сроках начала продаж и цене такогоустройства пока не сообщается.

Технология Microsoft Tag доступна всем желающим

Корпорация Microsoft сообщила о том, что технология Microsoft Tag,впервые представленная еще в прошлом году, вышла из статусабета-версии и стала доступна всем желающим.

Технология Microsoft Tag доступна на бесплатной основе ипозволяет кодировать различные вещи специальными штрих-кодами. Эти коды можно считывать с помощью цифровой камеры,установленной в мобильном телефоне или любой другойпортативной технике. Специальное программное обеспечениепозволит распознать такие данные, преобразовать их и связать снужным элементом. Теги могут быть привязаны к ссылкам на веб-

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

• отсканировав тег продукта в газете, человек может тут же получить список магазинов спредложениями о покупке товара;

• отсканировав плакат для игры или рекламу кино, можно тут же заказать билеты или купитьэлектронную копию игры.

Hard-News1 0

vr-onl ine | май 201 0

Page 11: VR-Online (May 2010)

VrIP персона11

Подкастинг по-русскиИнтервью с Ольгой Шагаловой (Olypka)

vr-onl ine | май 201 0

ИнтервьюбралИгорьАнтоновakaSpider_NET

http://vr-online.ru

Как давно Вы начали заниматься подкастингом? Начиналисо своих (персональных) подкастов или сразу работали с кем-то в команде?

В подкастинг я попала в конце 2008 года. Этомупоспособствовал мой молодой человек - он не любил читать иискал, как бы получать свежую IT-информацию в аудио-виде.Наткнулся на подкаст Radio-T. Поначалу я мало что в немпонимала, но мне нравилась манера общения ведущих, да и втемах стала постепенно разбираться (мне и самой близка тематехнологий). Потом начала присылать свои темы дляобсуждения в подкасте, а потом так вышло, что слово за словов комментариях меня пригасили в гости в эфир. Так я сталапостоянной соведущей популярнейшего подкаста Radio-T. Вшоу участвовала около полугода, это был мой первый подкаст опыт. Уже после появления вRT я начала записывать собственные подкасты - сначала развлекательный "Кадры" сдругом freetonik'ом из Канады, затем сольный, позже - MFcast о мобильных телефонах.

Подкастинг для вас хобби или уже работа?

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

Вы частенько записываете свои подкасты. Откуда черпаете темы и вдохновение?

Ну на самом деле не так уж и часто. MFcast выходит еженедельно, потому что в мобильноммире очень много новостей каждую неделю, мы их обсуждаем. Мой личный подкаствыходит от силы раз в 2-3 месяца. "Кадры" тоже выходили с таким перерывом последнеевремя, но буквально на днях мы несколько сменили формат и перешли в пулпредставительских подкастов сайта PodFM.ru (своего рода аудио-журнал). Теперь мывыходим еженедельно, рассказываем об интересных событиях в нашей жизни, собираеминтересные истории от слушателей, но основной массив - интересные случаи, найденные всети. А их, как вы понимаете, всегда много со всего мира - поговорить есть о чем.

Как Вы оцениваете русский подкастинг? Мы только начинаем развиваться в этомнаправлении?

Русский подкастинг существует уже лет 5, пожалуй. С тех пор, как шоумен ВасилийСтрельников "загорелся" идеей и открыл сайт rpod.ru. Правда, большого резонанса портал врунете не вызвал. Подкастеров была небольшая группка, слушателей - тоже относительнонемного. Мало кто знал о подкастинге, развития практически не было, не появлялосьинтересных новых подкастов. Да и сам сайт как-то застыл в развитии. Появлялось всебольше мыслей о том, что русский подкастинг умирает и никогда не "выстрелит".

Свято место пусто не бывает - в конце прошлого года начал активно развиватьсяконкурирующий сайт PodFM.ru. Они стали привлекать и поддерживать известныхподкастеров, звать публичных людей в подкастинг, всячески популяризировать подкаксты.Уже сейчас на портале очень много новых подкастов, в которых уделяется вниманиеразносторонней тематике и качеству. После появления PodFM.ru даже rpod сдвинулся сместа и представил новую версию сайта - очень красивую и удобную. Конечно, даже сусилиями этих двух терминалов подкастинг все еще не стал "событием" в рунете, этоскорее удел небольшой части аудитории. Но хорошо, что специализированные порталысами активно развиваются и стараются популяризировать подкастинг. Надеюсь, нас ждетхоть сколько-нибудь заметное будущее :).

Не считаете ли вы, что в России многие подкасты - это просто дань моде?

Нет, не думаю. Если люди пишут подкасты, то, по большей части, это им интересно. Тратитьвремя и силы, разбираться с монтажом звука, приобретать оборудование - делать это все

Page 12: VR-Online (May 2010)

только ради какой-то моды было бы странно, не считаете?

Как Вы считаете, можно ли в России заработать на подкастинге?

Заработать можно вполне. Есть уже даже специальные веб-сервисы, с помощью которыхможно упоминать в блогах или подкастах какие-то товары или услуги и получать за этонебольшие деньги. Кроме того, никто не мешает искать и привлекать спонсоров, даже внаших подкастах они периодически появлялись. У самых популярных подкастов, как можновидеть, есть постоянные спонсоры. Кроме того, я знаю людей, что записывают подкастыдля каких-то фирм или для СМИ и, конечно, получают за это гонорары. Тот же сайт PodFMфинансово поддерживает самые популярные подкасты, публикующиеся на их площадке. Вобщем, возможности есть, но, конечно, для привлечения спонсорских средств подкастдолжен иметь немаленькое количество слушателей и быть качественным, интересным,активно развивающимся.

Какова роль подкастов в интернете (российском, англоязычном)?

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

Слушаете ли Вы зарубежные подкасты? Помимо языка они чем-то отличаются о тех, чтоделают наши соотечественники?

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

Многие американские компании ведут свои подкаст ленты. У нас такого пока ненаблюдается. Как на Ваш взгляд, что может компании наличие подкаст ленты?

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

Подкасты и кризис. Сыграл ли кризис негативную роль на развитии российскогоподкастинга?

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

На Ваш взгляд, чем полезен подкастинг? Что он дает человеку?

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

Наверняка, кто-то из наших читателей заинтересуется и захочет записать свой первыйподкаст. С чего им лучше начать?

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

VrIP персона1 2

vr-onl ine | май 201 0

Page 13: VR-Online (May 2010)

потенциальным слушателям. Говорить о чем попало "лишь бы сказать" - вряд ли хорошаяидея. Ну а затем нужно обзавестись приличным микрофоном или диктофоном,записываться и выкладываться на основные подкаст-сайты. Конечно, это я очень кратко всеописала, вот есть неплохой мануал - www.citycast.rpod.ru/93582.html. И очень дельныйсписок советов от известнейшего подкастера Umputun - www.p.umputun.com/11 863349.

Назовите несколько подкастов, которые Вы бы рекомендовали послушать?

Очень нравятся подкасты от RadioGrinch, "Рунетология" с Максимом Спиридоновым,"Молодежная заграница", шоу Кремова и Хрусталева, ежедневный подкаст "ЧтоПразднуем?". Все эти подкасты регулярно публикуются на сайте PodFM.ru, так ужслучилось, что там публикуются почти все шоу, что мне в даный моменты интересны. Естьбрать подкасты из других источников, то могу рекомендовать Radio-T с radio-t.com, тотсамый IT-подкаст, что привел меня в подкастинг вообще.

Как стать успешным подкастером? Поделитесь рецептом ;-)

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

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

Rode Podcaster - пожалуй, один из лучших и простых в использовании микрофонов дляподкастера. Другую рекомендуемую аппаратуру можно найти в статье Umputun'a дляначинающих подкастеров.

Я (как и многие наши читатели) впервые услышал Вас в шоу Radio-T. Почему вы решилипокинуть этот проект?

Об этом я уже писала тысячи раз, честно говоря, писать надоело :) Вот тут расскано обэтом голосом www.podolyapka.rpod.ru/841 78.html. А следом копия ответа на популярныйвопрос из другого интервью. Специально ее храню :)

Из Radio-T я ушла через полгода, потому что устала от прямых эфиров. Все же достаточносложно каждую неделю посвящать им вечер (и даже начало ночи) субботы. Кроме того, вподкасте действительно часто обсуждаются сложные для меня темы, и я частенько многомолчала, не знала, что сказать. Ну и наконец - в тот период я переехала из Перми в Москву,было много нового и отвлекающего, было не до эфиров. В субботу вечером хочется гулять,встречаться с друзьями, в конце концов валяться в обнимку с любимым и смотреть кино.Порой напрягает тратить 4 часа на эфир до поздней ночи, а потом отсыпаться полдня ввоскресенье. В любом случае о Radio-T я вспоминаю с теплотой, периодически хожу к ним вгости, искренее люблю Bobuk'a и Umputun'a. Это шоу дало мне множество замечательныхзнакомств и отличный подкаст-опыт. Это был целый этап моей жизни, очень интересный изначимый.

Какими проектами, помимо подкастов, Вы занимаетесь?

Не совсем понятный вопрос про "проекты". Я работаю, периодически пишу статьи о миретелекома для дружественных нам веб-порталов или журналов. В свободное время пишуподкасты, гуляю, катаюсь на велосипеде, хожу в фитнес-клуб, читаю книги, веду блогwww.olyapka.ru, общаюсь с любимым человеком и т.п. В общем, делаю все, что и другиенормальные люди :)).

Ну и напоследок, чтобы вы хотели пожелать нашим читателям?

Уф, какое длинное интервью :). Хотела бы пожелать им счастья и побольше улыбок. Чтобывсе складывалось именно так, как они хотят и планируют. Чтобы в жизни не былонеприятных сюрпризов. Чтобы не болели. И чтобы их хобби всегда доставляло радость, какподкастинг радует меня :).

VrIP персона1 3

vr-onl ine | май 201 0

Page 14: VR-Online (May 2010)

Кодинг1 4

Drupal 6Совмещаем приватный и публичный методы доступа

Всем известно, что 6-я версия Друпала построена с поддержкой приватного методадоступа к файлам. Для тех кто не знает: включить приватный метод можно черезAdminister > Settings > Site configuration. Он даёт возможность отслеживать процессскачивания файлов. На его основе можно сделать, например, счетчик скачиваний.При публичном доступе к файлам Drupal не ведает об обращениях к файлу, т.к. этимделом в таком случае рулит только веб сервер.

На данный момент проблема Друпала заключается в том, что можно выбрать только одиниз двух методов доступа . Либо приватный, либо публичный. По дефолту активенпубличный доступ. Оказывается, что есть возможность совместить оба этих метода. Исейчас я расскажу каким образом это сделать.

Пусть у нас имеется директория privatedownloads и для неё необходим приватный методдоступа. Для этого создадим файл .htaccess в этой директории со следующимсодержанием:<IfModule mod_rewrite.c>RewriteEngine onRewriteBase /system/files/privatedownloadsRewriteRule ^(.*)$ $1 [L,R=301]

</IfModule>Таким образом мы сделаем редирект на новый путь:system/files/privatedownloadsОбратись, например, к файлу fi les/privatedownloads/test. jpg и получишь редирект наsystem/fi les/privatedownloads/test. jpg.

Так как данного пути физически на сервере не существует, то запрос будет переадресованDrupal’у. Ну а мы осуществим ответ на этот запрос через hook_menu./*** Implementation of hook_menu().*/function your_module_name_menu() $items['system/files/privatedownloads'] = array('access arguments' => array('access private downloads folder'),'type' => MENU_CALLBACK,'page callback' => 'file_download','page arguments' => array('privatedownloads'),

);return $items; Как можно видеть, здесь запрос передаётся функции fi le_download, которая всегдавызывается в Drupal при скачивании файла в случае использования приватного методадоступа.

Данный способ работает на “Ура”, но имеет один минус: изображения не отображаются так,как они должы отображаться, а так же pdf файлы нельзя открыть в pdf reader’е. Этопроисходит из-за неправильного определения mime типа. Фиксится это использованиемhook_fi le_download:/*** Implementation of hook_file_download().*/function your_module_name_file_download($file) $info = image_get_info(file_create_path($file));return array('Content­type: '. file_get_mimetype($file));

vr-onl ine | май 201 0

Автор:РоманКостенкоakaLord_of_fear

E-mail:kostenko.r.khv@

gmail.com

Page 15: VR-Online (May 2010)

Кодинг1 5

C++. MD5 на практикеРеализацию хеш-функции MD5

До этого момента, кроме кода и комментариев к нему, я ничего творческого не писал. Дажешкольные сочинения по русской литературе я списывал из Интернета. Но все когда-то надоначинать впервые … но не в этот раз =).

Ниже я представлю реализацию хеш-функции MD5 на языке C++. Программу я писал всреде C++Builder, но код можно легко перегнать в любой C++-компилятор.

Краткое описание:

Хеш-функция MD5 (Message Digest 5) получает на вход обычную строку произвольнойдлины, а возвращает строку фиксированной длины (в нашем случае 32 байта). В принципетак работает большинство (а может даже и все) хеш-функций, отличие может быть в длиневыходного (результирующего) сообщения. Фиксированная длина выходного сообщения (илихеш-кода) получается за счет преобразований, по ходу работы алгоритма, входногосообщения. В нашем случае такой результат достигается благодаря первым 2ум шагам (оних будет напсано ниже), рассматриваемого, алгоритма.

Код:

Сначала в .h – файл нашего проекта добавим следующий код:

typedef unsigned int uint; // «определяем» тип unsigned int как uint. Теперь везде в коде, где//будет встречаться слово uint, компилятор будет вставлять unsigned int .

//-----------------Прототипы функций (описания будут ниже)-------------------String ToHex(uint value);uint F(uint X, uint Y, uint Z);uint G(uint X, uint Y, uint Z);uint H(uint X, uint Y, uint Z);uint I(uint X, uint Y, uint Z);uint RotateLeft(uint value, int shift);String GetMD5Hash(String sIn);Теперь опишем функции, которые потребуются для работы алгоритма:

Функция ToHex перегоняет в hex, полученное на входе, значение. Принцип работыаналогичен элементарному переводу из dec в bin: число делим на 256. Почему на 256, а нена 1 6, ведь при перегонке в bin делим на 2, а не на 4? - Потому что нам надо получить dec-значение сразу 2ух символов. Получаем остаток от деления на 256 и приводим его (остаток)в hex. И так до тех пор, пока входное значение нельзя будет нацело поделить на 256.

String ToHex(uint value)String out; //строка в которой будет храниться результат.//в переменной inHex будут храниться каждые 2 символа(в hex) входного значения.

unsigned char inHex;while(value) //пока входное значение не станет равным нулю.. .inHex=value%256; //. . .получаем dec-представление 2ух символов(поэтому *256, а не на 1 6).out+=IntToHex(inHex,2); //прибавляем к результирующей строке hex-представление

// значения, полученного в строке выше.

value=value/256; //переходим к следующим 2ум символам(в dec-представлении).

vr-onl ine | май 201 0

Автор:СергейДубовикakasd

e-mail:sdbox@

tut.by

Page 16: VR-Online (May 2010)

return out; //возвращаем результирующую строку.

Далее определим 4 базовые функции, которые преобразуют блоки данных. По своей сутиэти функции и являются функциями "шифрования". Почему функции выглядят именноследующим образом - я не могу сказать. Могу сказать лишь то, что это часть алгоритма,придуманного умным человеком. Эти функции используют битовые операции, о которыхВы, вполне подробно, можете прочесть на wikipedia:http: //ru.wikipedia.org/wiki/Битовые_операцииuint F(uint X, uint Y, uint Z)return (X & Y) | ((~X) & Z); uint G(uint X, uint Y, uint Z)return (X & Z) | (Y & (~Z)); uint H(uint X, uint Y, uint Z)return X ^ Y ^ Z; uint I(uint X, uint Y, uint Z)return Y ^ (X | (~Z)); Таким образом, получая на вход три 32-разрядных регистра(слова), функция возвращаетнам, скажем там, "закодиравонное" 32-разрядное слово. Кстати, под словом я понимаю 32-разрядную величину.

Функция RotateLeft производит циклический сдвиг влево(о котором так же можно прочесть ввышеприведенной ссылке). Результат циклического сдвига отличается от результаталогического сдвига. Представим ситуацию: утро, настроение у Вас не из лучших, т.к.пришлось встать рано, что бы успеть на учебу(работу или еще куда), но Вы все равноопаздываете. Еле-еле успев на автобус, Вы понимаете, что забыли дома проездной, иденьги на билетик. И тут, как назло, кондуктор-контроллер. Через все толпу контролер почтидобрался до Вас. . .и что делаете Вы? Вы выходите из последней двери и заходите впервую(пока контроллер снова пробереться через всю толпу, Вы уже выйдите на своейостановке). Аналогично этому бытовому примеру работает и циклический сдвиг: биткоторый сдвинули с начала идет в конец, бит с конца - в начало. В функцию передаем двапараметра: 1 ый - 32-разярдное слово, над которым будем производить операцию, 2ой-количество бит для сдвига. Результат выполнения функции - 32-разярдное слово.uint RotateLeft(uint value, int shift)return A << B | A >> (32-B);

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

1 )Расширение сообщения: сообщение расширяется таким образом, чтобы остаток деленияего длины на 64(в байтах или 51 2 в битах) был равен 56(байтам или 448 битам). Почему 56- поймете в шаге 2. Расширение происходит следующим образом: единичный битдобавляется в конец сообщения, а потом оно дополняется нулями.

2)Добавление длины сообщения: 64-разрядное представление входного сообщения (длиныдо того, как был выполнен шаг 1 ) добавляется в конец сообщения, полученного привыполнении шага 1 (для этого и нужен был остаток равный 56 байтам, что бы придобавлении 64-рязрядного сообщения, или, попросту, 8 байт, сообщение, которое далеебудет зашифровываться, было кратно 64 байтам).

3)Инициализация MD буфера: для вычисления хеш-кода будем использовать 4 слова(32-

Кодинг1 6

vr-onl ine | май 201 0

Page 17: VR-Online (May 2010)

разрядных) регистра A, B, C, D, таблицу констант T(она нужна для лучше кодировки, посравнению с MD4) и массив Х, в который записывается 32-разрядное представлениевыровненного сообщения.

4)Обработка сообщения в цикле: собственно это и есть сама кодировка. Шаг выполняется в4 раунда, каждый раунд состоит из 1 6 операций(подробней о шаге 4 Вы узнаете из кодапрограммы).

5)Вывод хеш-кода: по окончании 4ого шага хеш-код будет храниться в 4 регистрах (A, B, C,D). Все что нам надо - перегнать их в hex (с помощью вышеобъявленной функции ToHex).

Теперь описание MD5:

int length=sIn.Length(); //получаем длину входного сообщения.int rests=length%64; //остаток от деления на 64байта.int size=0; //тут будет храниться размер сообщения после первых 2ух шагов.

//Шаг 1 .

if(rests < 56) //если остаток от деления на 64 меньше 56size=length­rests+56+8; //подгоняем размер так, что бы он был кратен 64(+8 байт для 2ого

шага).

else //иначе (если остаток больше 56)size=length+64­rests+56+8; //подгоняем размер так, что бы он был кратен 64(+8 байт для

2ого шага).

unsigned char *cIn=new unsigned char[size]; //создаем динамический массив для хранениясообщения, которое далее будет кодироваться

for(int i=0;i<length;i++) //первые length элементов сIncIn[i]=sIn[i+1]; //заполняем символами входного сообщенияcIn[length]=0x80; //савим в конец сообщения единичный бит.

for(int i=length+1;i<size;i++) //а все остальноеcIn[i]=0; //заполняем нулями

//Шаг 2.

__int64 bitLength=(uint)(length)*8; //длина сообщения в битах.for(int i=0;i<8;i++) //последние 8 байт

cIn[size­8+i]=(bitLength >> i*8); //заполняем 64-битным представлением длины данных довыравнивания

//Шаг 3.

uint A=0x67452301 , //Инициализируем начальные значения регистров.

B=0xefcdab89,C=0x98badcfe,D=0x10325476;

uint T[64]; //64-элементная таблица данных (констатнт).

for(int i=1;i<=64;i++) //всю таблицу констант

T[i]= pow(2,32)*fabs(sin(i)); //заполняем в соответствии с алгоритмом.uint *X=new uint[size/4]; //создаем массив Х, в котором будет 32-разрядное представлениесообщения.

Кодинг1 7

vr-onl ine | май 201 0

Page 18: VR-Online (May 2010)

Кодинг1 8

vr-onl ine | май 201 0

X=(uint*)(cIn); //загоняем в массив Х сообщение cIn(в данном случае оно само разбиваетьсяна 32-разрядные слова).

//или это можно сделать "вручную" следующим образом:

//for(int i = 0; i <size/4; i++ )

//X[ i] =(uint)(cIn[ i*4 + 3]<<24) +(uint)(cIn [i*4 + 2]<<1 6) + (uint)(cIn[i*4 + 1 ]<<8) + (uint)(cIn [i*4 +0]);

//Шаг 4.uint AA, BB, CC, DD;for(int i=0;i<size/4;i+=16)AA = A;BB = B; CC = C; DD = D;//раунд 1A = B + RotateLeft((A + F(B,C,D) + X[i+ 0] + T[ 1]), 7);D = A + RotateLeft((D + F(A,B,C) + X[i+ 1] + T[ 2]), 12);C = D + RotateLeft((C + F(D,A,B) + X[i+ 2] + T[ 3]), 17);B = C + RotateLeft((B + F(C,D,A) + X[i+ 3] + T[ 4]), 22);A = B + RotateLeft((A + F(B,C,D) + X[i+ 4] + T[ 5]), 7);D = A + RotateLeft((D + F(A,B,C) + X[i+ 5] + T[ 6]), 12);C = D + RotateLeft((C + F(D,A,B) + X[i+ 6] + T[ 7]), 17);B = C + RotateLeft((B + F(C,D,A) + X[i+ 7] + T[ 8]), 22);A = B + RotateLeft((A + F(B,C,D) + X[i+ 8] + T[ 9]), 7);D = A + RotateLeft((D + F(A,B,C) + X[i+ 9] + T[10]), 12);C = D + RotateLeft((C + F(D,A,B) + X[i+10] + T[11]), 17);B = C + RotateLeft((B + F(C,D,A) + X[i+11] + T[12]), 22);A = B + RotateLeft((A + F(B,C,D) + X[i+12] + T[13]), 7);D = A + RotateLeft((D + F(A,B,C) + X[i+13] + T[14]), 12);C = D + RotateLeft((C + F(D,A,B) + X[i+14] + T[15]), 17);B = C + RotateLeft((B + F(C,D,A) + X[i+15] + T[16]), 22);//раунд 2A = B + RotateLeft((A + G(B,C,D) + X[i+ 1] + T[17]), 5);D = A + RotateLeft((D + G(A,B,C) + X[i+ 6] + T[18]), 9);C = D + RotateLeft((C + G(D,A,B) + X[i+11] + T[19]), 14);B = C + RotateLeft((B + G(C,D,A) + X[i+ 0] + T[20]), 20);A = B + RotateLeft((A + G(B,C,D) + X[i+ 5] + T[21]), 5);D = A + RotateLeft((D + G(A,B,C) + X[i+10] + T[22]), 9);C = D + RotateLeft((C + G(D,A,B) + X[i+15] + T[23]), 14);B = C + RotateLeft((B + G(C,D,A) + X[i+ 4] + T[24]), 20);A = B + RotateLeft((A + G(B,C,D) + X[i+ 9] + T[25]), 5);D = A + RotateLeft((D + G(A,B,C) + X[i+14] + T[26]), 9);C = D + RotateLeft((C + G(D,A,B) + X[i+ 3] + T[27]), 14);B = C + RotateLeft((B + G(C,D,A) + X[i+ 8] + T[28]), 20);A = B + RotateLeft((A + G(B,C,D) + X[i+13] + T[29]), 5);D = A + RotateLeft((D + G(A,B,C) + X[i+ 2] + T[30]), 9);

Page 19: VR-Online (May 2010)

C = D + RotateLeft((C + G(D,A,B) + X[i+ 7] + T[31]), 14);B = C + RotateLeft((B + G(C,D,A) + X[i+12] + T[32]), 20);//раунд 3A = B + RotateLeft((A + H(B,C,D) + X[i+ 5] + T[33]), 4);D = A + RotateLeft((D + H(A,B,C) + X[i+ 8] + T[34]), 11);C = D + RotateLeft((C + H(D,A,B) + X[i+11] + T[35]), 16);B = C + RotateLeft((B + H(C,D,A) + X[i+14] + T[36]), 23);A = B + RotateLeft((A + H(B,C,D) + X[i+ 1] + T[37]), 4);D = A + RotateLeft((D + H(A,B,C) + X[i+ 4] + T[38]), 11);C = D + RotateLeft((C + H(D,A,B) + X[i+ 7] + T[39]), 16);B = C + RotateLeft((B + H(C,D,A) + X[i+10] + T[40]), 23);A = B + RotateLeft((A + H(B,C,D) + X[i+13] + T[41]), 4);D = A + RotateLeft((D + H(A,B,C) + X[i+ 0] + T[42]), 11);C = D + RotateLeft((C + H(D,A,B) + X[i+ 3] + T[43]), 16);B = C + RotateLeft((B + H(C,D,A) + X[i+ 6] + T[44]), 23);A = B + RotateLeft((A + H(B,C,D) + X[i+ 9] + T[45]), 4);D = A + RotateLeft((D + H(A,B,C) + X[i+12] + T[46]), 11);C = D + RotateLeft((C + H(D,A,B) + X[i+15] + T[47]), 16);B = C + RotateLeft((B + H(C,D,A) + X[i+ 2] + T[48]), 23);//раунд 4A = B + RotateLeft((A + I(B,C,D) + X[i+ 0] + T[49]), 6);D = A + RotateLeft((D + I(A,B,C) + X[i+ 7] + T[50]), 10);C = D + RotateLeft((C + I(D,A,B) + X[i+14] + T[51]), 15);B = C + RotateLeft((B + I(C,D,A) + X[i+ 5] + T[52]), 21);A = B + RotateLeft((A + I(B,C,D) + X[i+12] + T[53]), 6);D = A + RotateLeft((D + I(A,B,C) + X[i+ 3] + T[54]), 10);C = D + RotateLeft((C + I(D,A,B) + X[i+10] + T[55]), 15);B = C + RotateLeft((B + I(C,D,A) + X[i+ 1] + T[56]), 21);A = B + RotateLeft((A + I(B,C,D) + X[i+ 8] + T[57]), 6);D = A + RotateLeft((D + I(A,B,C) + X[i+15] + T[58]), 10);C = D + RotateLeft((C + I(D,A,B) + X[i+ 6] + T[59]), 15);B = C + RotateLeft((B + I(C,D,A) + X[i+13] + T[60]), 21);A = B + RotateLeft((A + I(B,C,D) + X[i+ 4] + T[61]), 6);D = A + RotateLeft((D + I(A,B,C) + X[i+11] + T[62]), 10);C = D + RotateLeft((C + I(D,A,B) + X[i+ 2] + T[63]), 15);B = C + RotateLeft((B + I(C,D,A) + X[i+ 9] + T[64]), 21);A = AA + A;B = BB + B;C = CC + C;D = DD + D;delete []X; //освобождаем память, выделенную под массив Х.

delete []cIn; //освобождаем память, выделенную для выровненного входного сообщения.

Кодинг1 9

vr-onl ine | май 201 0

Page 20: VR-Online (May 2010)

Кодинг20

vr-onl ine | май 201 0

//Шаг 5.

String out=ToHex(A)+ToHex(B)+ToHex(C)+ToHex(D); //заполняем выходную строку hex-//представлением, полученных в шаге 4, регистров.

return out; //возвращаем строку с хеш-кодом.Я думаю, что с прокомментированный код не вызвал никаких вопросов. Но про шаг 4 я всеже скажу. Шаг 4 придуман не мной и почему он реализован именно так как реализован,знает только автор алгоритма (ну не только он, может еще кто, но точно не я). Кодированиевыполняется в цикле, т.к. длина входного сообщения может быть больше 55 байт, и в этомслучаи, при отсутствии цикла, хеш-код получится неправильный.

Вот и все. Думаю эта статья будет полезна. В Интернете не трудно найти реализацию MD5,но пошаговую реализацию найти очень тяжело.

Так же хочу поблагодарить Романа Костенко(Lord_of_fear) и Игоря Антонова(Spider_NET) заих помощь в написании этого алгоритма.

Page 21: VR-Online (May 2010)

Кодинг21

PHP фреймворки. Часть 1Автор: Дуэйн О'Брайен (Duane O'Brien) , PHP разработчик

Всего несколько лет назад одним из наиболее распространенных критическихзамечаний в адрес PHP было то, что PHP не поддерживал MVC- архитектуры. Времяидёт. И теперь мы имеем выбор между PHP фреймворками. В этой статье мыостановимся на трех широко используемых фреймворках - Zend, Symfony, CakePHP.Рассмотим их, изучим сходства и различия, а также создадим по одному приложениюв каждом из них.

Об этой серии статей

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

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

Во второй части мы пройдёмся по примерам создания приложения для каждого изфреймворков.

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

В части 4 основное внимание уделяется поддержке Ajax, использованию Ajax, собственногокода и сторонних библиотек.

В части 5 поговорим о том, что лежит за пределами возможностей фреймворков.

Об этой статье

Эта статья может показаться сложной для новичка. Но ты должен быстро усвоить этуинформацию. Под наше рассмотрение попадут три фреймворка. Какие три? Почему этитри? Какие другие фреймворки существуют? Почему бы не те, а именно эти? Так многовопросов! Не забивай себе голову, на эти вопросы мы ответим по ходу изложенияматериала. Сейчас начнём получать основы: какие бывают фреймворки, какие у нихсходства и различия.

Системные требования

Прежде чем начать, ты должен проверить есть у тебя всё, что необходимо для работы.

Требования довольно минимальны:

- Сервер HTTP с поддержкой сессий (и желательно mod_rewrite) - эта серия статей быланаписана с использованием Apache V1 .3 с mod_rewrite.

- PHP V5.1 .4 или более поздней версии - Не все фреймворки требуют этого релиза PHP, нона всякий случай, необходимо иметь его. Я использовал PHP V5.2.3.

- Разумно установить MySQL

- Операционная система, поддерживающая PHP V5.2.4 или более поздней версии. Яостановился на Linux. Если ты - пользователь Windows, то тебе нужно сделать очевидныекоррективы, особенно при создании каталогов, указанных ниже.

Начало

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

vr-onl ine | май 201 0

Перевод:МаксимБогдановakaLimonell

РоманКостенкоakaLord_of_fear

Page 22: VR-Online (May 2010)

Кодинг22

vr-onl ine | май 201 0

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

Фреймворки для "чайников"

Прежде чем говорить о фреймворках выбранных нами, стоит поговорить о том, что же этотакое.

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

Фреймворк разработан таким образом, чтобы обеспечить структуру всех общих элементов(взаимодействия с базой данных, уровень представления, логика приложения), чтобытратить меньше времени на написание кода базы данных интерфейса или представленияинтерфейса, и это даёт больше времени на написание самого приложения. Архитектуракоторая сломала привычное представление называется Model-View-Control ler (MVC). Modelссылается на твои данные, View - на уровень представления, а Control ler ссылается наприложение или бизнес-логику. Обсуждение MVC выходит за рамки этой статьи, так что небудем тратить на это время.

Выбор фреймворка

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

Рассмотрим несколько НЕ, которые тебе придётся учитывать при выборе фреймворка.

1 . Фреймворк не годится, когда он вроде бы нормально работает, но в то же время растётчисло звонков в службу поддержки.

2. Фреймворк не нужен, если он только слегка поддерживает, но мешает, а не помогаетвашему развитию.

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

Если ты хочешь внедрить фреймворк, то взгляни на своё приложение и спроси себя: естьли в этом необходимость? Он не является необходимостью. Корпоративные приложениямогут продолжать хорошо работать и без использования механизмов фреймворков. Можетли фреймворк помочь тебе с проектом? Будет ли он позволять экономить время и силы?Должно ли приложение работать лучше? Будет ли обеспечиваться стабильность, которойтебе не хватает? Если ответ на все эти вопросы "да", то стоит воспользовать фреймворком.Если ответ на все эти вопросы “нет”, то очевидно, что тебе это не нужно.

К сожалению, мы не можем рассмотреть все имеющиеся в мире фреймворки. Эта сериястатей будет описывать три основных из них:

- Zend Framework

- Symfony

- CakePHP

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

Page 23: VR-Online (May 2010)

Кодинг23

vr-onl ine | май 201 0

мнение относительно того, какие фреймворки для тебя хороши, а какие не очень.

Zend Framework

Всем известно, Zend - "Компания PHP.". При загрузке и установке PHP, ты загружаешь егоименно с Zend. Помимо распространения PHP, Zend Technologies на протяжении многих летпредлагает широкий спектр вспомогательных технологий PHP. И нет ничего удивительного втом, что количество обращений на сайт Zend исчисляется цифрами в 1 - 2 млн. посещенийв день.

Symfony

При поддержке Sensio, Symfony стремится ускорить создание и поддержание веб-приложений. Symfony позиционируются сообществом как решение уровня предприятия дляиспользования программистами уровня выше среднего.

CakePHP

Очень много заимствовал от Ruby On Rails. CakePHP ставит главной целью принестипростоту и масштабируемость для PHP. Обладает сильным сообществом и быстрорастущей базой пользователей, популярность CakePHP неуклонно растет. Если ты услышалразговор о фреймворках, то вероятнее всего что разговор шёл о CakePHP.

Установка

Каждый фреймворк имеет свои собственные инструкции по установке и мы не обойдём ихстороной. Начни с создания отдельной директории для кода и фреймворка. Пусть это будет/column. В этой директории создай директории htdocs, protected, include и src. Подправьконфиг Apache, присвоив document root значение /column/htdocs, а так же не забудьвключить mod_rewrite. В php. ini параметру include_path присвой /column/include/.

Установка Zend Framework

Эта статья писалась по Zend Framework V1 .0.1 . Скачай и разархивируй фреймворк вдиректорию /column/src. Дистрибутив содержит в корне текстовые файлы и три директорииdemos, tests и l ibrary. Копируй содержимое папки library в директорию /column/include/.Собственно, вот и вся установка.

Установка Symfony

Установить Symfony можно воспользовавшись инсталлятором, находящимся на страницезагрузки на официальном сайте, либо скачать архив и распаковать вручную. В любомслучае устанавливать надо в директорию /column/src/symfony/. После окончания процессаустановки ты увидишь 4 директории (data, doc, l ib, l icenses), а так же документацию.

Установка CakePHP

При написании статьи я использовал CakePHP версии 1 .2.0.5427alpha. Тут установкапроисходит по аналогии. Ставим в директорию /column/src/cakephp.

Пишем первое приложение

Итак, все фреймворки установлены, и можно приступать к созданию нашего первогоприложения “ Hello World ” : ) Его функция будет заключаться в выводе текста, введенного втекстовую форму. Правда, этот текст сначала необходимо сохранить в базу данных, атолько потом уже запросом выбрать из БД и вывести на экран. Назовём нашу первуюпрограмму Blahg (прим. переводчика: затрудняюсь с переводом этого названия. Возможно,это – производное от слов blah ( с англ. “бессмысленная беседа”) и blog ).

Page 24: VR-Online (May 2010)

Кодинг24

vr-onl ine | май 201 0

Приложение Blahg должно состоять из 4 элементов:

1 . Страница, содержащая форму для ввода текста;

2. Страница для отображения введённого текстового сообщения;

3. Страница с историей введённых сообщений. Стартовая страница.

4. Таблица БД для хранения всей информации.

Создаём БД.

Разберемся сначала с базой данных. Создай 3 базульки в MySQL, назвав их Zend, symfonyи Cake. Не забудь дать пользователю, от имени которого будешь работать, полные правадоступа ко всем базам.

Листинг 1 . Создание таблиц в Zend и Symfony.

CREATE TABLE 'posts' ('id' INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,'title' VARCHAR( 255 ) NOT NULL ,'text' TEXT NOT NULL ,'modified' TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULTCURRENT_TIMESTAMP) ENGINE = MYISAM ;Листинг 2. Создание таблиц в Cake PHP.

CREATE TABLE 'posts' ('id' INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,'title' VARCHAR( 255 ) NOT NULL ,'text' TEXT NOT NULL ,'modified' DATETIME DEFAULT NULL) ENGINE = MYISAM ;Итог

Итак, первый шаг сделан. Мы подготовили почву для второй части статьи, перевод которойбудет опубликован в июльском нашего журнала. Спасибо за внимание. Удачи! : )

Оригинал статьи: www.ibm.com/developerworks/opensource/l ibrary/os-php-fwk1

Page 25: VR-Online (May 2010)

Кодинг25

DelphiОткрытые и вариантные массивы на практике. Автор: Rudy Velthuis

Многие начинающие Delphi-программисты избегают применения открытых ивариантных массивов. Причина этому скорей всего - отсутствиее соответствующейинформации в литературе. За свою практику я видел до фига книг поObjectPascal/Delphi и во многих из них такая важная тема не упоминается. А ведь зря!

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

Открытые массивы (Open array parameters)

В англо-язычной литературе для обозначения открытых массивов применяется выражение«Open array parameters». Если его перевести дословно, то получится что-то вроде:«Параметры открытого массива». На нашем родном языке – это звучит как-то не очень,поэтому здесь и дальше по тексту статьи я буду употреблять термин «открытый массив».

Для себя ты можешь использовать какой угодно термин. Суть от этого не изменится.Главное запомни, что открытый массив – это параметр для процедуры/функции. Оттипичного массива он, прежде всего, отличается тем, что он лишь описывает базовый типэлементов без указания информации о размерности. Не буду попросту разглагольствовать,а лучше сразу приведу пример использования:procedure ListAllIntegers(const AnArray: array of Integer);varI: Integer;

beginfor I := Low(AnArray) to High(AnArray) doWriteLn('Integer at ', I, ' is ', AnArray[I]);

end;Обрати внимание на то, как я описал параметр типа «массив». Не хватает привычнойинформации о размере массива. С виду даже может показаться, что мы имеем дело сдинамическим массивом, однако это не так. Это просто открытый массив. Ты можешь безпроблем объявить массив (любой размерности) типа Integer (например, array [0. .1 ] или array[42. .937]) и передать его в процедуру ListAll Integers. Никто также не запрещает тебепередать в процедуру динамический массив. Во всех случаях, ошибок не возникнет.

Помимо примера описания открытого массива в виде параметра, в этом кодедемонстрируется использование псевдо функций Low и High. Первая возвращает нижнююграницу массива, а вторая соответственно верхнюю. Наверняка тебя интересует, а почему яобозвал эти функции «псевдо», т.е. нереальными? Дело все в том, что они являются лишьсинтаксическим элементом, которые всего лишь принимают форму функции. Фактически,они полагаются на работу компилятора, который просто заменяет их определенныммашинным кодом. Вот таки вот биты байты. Ok, едем дальше. Ой! Стоп, совсем замотался изабыл упомянуть еще одну полезную функцию, которая пригодится при работе с массивами.Имя этой функции – length(). Юзай ее, когда требуется узнать число элементов массива.

Теперь начнем проводить первые эксперименты. Попробуй написать и выполнитьнижеприведенный код:varNonZero: array[7..9] of Integer;

beginvr-onl ine | май 201 0

Перевод:ИгорьАнтоновakaSpider_NET

E-mail:antonov.igor.khv@

gmail.com

Page 26: VR-Online (May 2010)

NonZero[7] := 17;NonZero[8] := 325;NonZero[9] := 11;ListAllIntegers(NonZero);

end.Результатом выполнения должен быть следующий текст:Integer at 0 is 17Integer at 1 is 325Integer at 2 is 11Почему так получилось? И опять все просто, главное знать теорию. Внутри процедуры илифункции, открытый массив всегда считается zero-based (начинающийся с нуля). В связи сэтим, если скормить функции Low() такой массив, то она недолго думая вернет 0. Как жетогда поступит функция High()? Не пытайся гадать, а просто запомни, что она все сделаетправильно и подстроится под возникшие обстоятельства (обрати внимание, что все этоотносится в применении High() и Low() к открытым массивам). Не забудем в этот раз и проLength(). Для открытых массивов, эта функция всегда будет возвращать High + 1 .

Slice

Очень часто может возникнуть задача, что для работы тебе потребуется лишь одна частьмассива. Что делать в такой ситуации? Создавать новый массив? Конечно же нет! Простовоспользуйся функцией Slice, которая позволяет отломить «кусочек» массива. Например:constMonths: array[1..12] of Integer = (31, 28, 31, 30, 31, 30,

31, 31, 30, 31, 30, 31);beginListAllIntegers(Slice(Months, 6));

end;Потрудись набрать и выполнить код. Результатом его выполнения будет всего лишь 6значений массива, а не 1 2.

Internals

Как это работает? Как функция может узнать размер массива? На практике это достаточнопросто реализуемо. Открытый массив фактически является комбинацией из двухпараметров:

1 . Указателя на адрес начала массива

2. Число, которое соответствует верхней границе массива (для массивов, которыеначинаются с нуля).

Руководствуясь вышесказанным, описываем процедуру примерно так:procedure ListAllIntegers(const AnArray: Pointer; High: Integer);Когда ты передаешь открытый массив, компилятор который знает размер массива,передаст свой адрес и подгонит значение, возвращаемое функцией High (т.е. значениеверхней границы) внутри процедуры или функции. Для статических массивов (например,array [7. .9] of Integer) будет использоваться размер, полученный при помощи значения,полученное функцией Hight. Для динамических же массивов будет происходитькомпилирование кода с целью получения размера массива в режиме Runtime.

Обычно, открытый массив передается с модификатором const. Если передавать открытыймассив без этой примочки (я про const), то массив будет полностью скопирован в локальное«хранилище» процедуры или функции. Сам массив передается по ссылке, но в случаеотсутствия const, в процедуре/функции (само собой локально) будет происходитьвыделение памяти в стэке, а затем производится копирование массива в «локальноехранилище». Ссылка будет использоваться как адрес источника.

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

Кодинг26

vr-onl ine | май 201 0

Page 27: VR-Online (May 2010)

вышесказанного делаем вывод – если в процедуре не требуется выполнять изменениемассива, то лучше сразу указывать модификатор const.

Конструкторы открытых массивов

Порой реально обламывает объявлять массив с одной лишь целью – заполнитьнесколькими значениями и передать в качестве параметра. Куда ни шло такое делать в C#или PHP (как пример). Там не требуется описывать переменные в определенной секции (какvar в Pascal/Delphi). Захотел и объявил переменную – никаких трабл. В дельфячем мире всенемного не так, но это не повод ругать Delphi и отчаиваться. Например, для того чтобыпередать массив в качестве параметра, что называется «на ходу» не нужно объявлятьпеременную. Достаточно воспользоваться конструктором открытого массива. Синтаксисвесьма прост. От тебя лишь требуется заключить значения создаваемого массива вквадратные скобки. Вот пример:ListAllIntegers([17, 325, 11]);Как видишь, в выше приведенном примере массив [1 7, 325, 11 ] создается прямо, не отходяот кассы. Компилятор гарантирует, что такой массив будет существовать во время работыпроцедуры и значение верхней границе массива (полученное при помощи High) будеткорректным. Подход полностью прозрачен для кода внутри процедуры. После окончанияработы процедуры, массив будет дропнут.

«Бабе мороженое, детям цветы»

Где-то по тексту статьи я уже упоминал, что открытые массивы в плане синтаксиса оченьпохожи на своих динамических собратьев (динамические массивы). Они реально похожи, ноты, ни в коем случае не должен их путать. Знай, что есть открытые массивы, а естьдинамические – тип массивов, поддерживаемых языком Delphi. Отличительнойособенностью динамических массивов выделяется возможность изменение размерамассива при помощи функции SetLength(). По традиции рассмотрим пример.type

TIntegerArray = array of Integer;С точки зрения синтаксиса, этот пример похож на те, в которых мы рассматривалиобъявление открытых массивов, но это только внешне. В реале они отличаются.Функции/процедуры, которые принимают открытые массивы могут без проблем работать и сдинамическими. Т.е. функции без разницы, передашь ли ты ей array[0. .1 1 ] of Month или arrayof Month. В обоих случаях она отработает верно, но при работе с динамическим массивом,переданным в качестве параметра, ты лишаешься, возможности пользоваться функциейSetLength(), которая позволяет изменять размер массива.

Если тебе действительно требуется передать динамический массив, то придется объявитьотдельную функцию/процедуру для работы с этим типом массивов. Примеры ниже:type

TMonthArray = array of Month;procedure AllKinds(const Arr: array of Month);procedure OnlyDyn(Arr: TMonthArray);Процедура AllKinds принимает и успешно работает как со статическим массивом, так и сдинамическим. Правда, для динамических массивов нельзя изменять размер. Втораяпроцедура (OnlyDyn) наоборот, работает лишь с одним типом массивов – динамическим.Следовательно, внутри нее можно без проблем юзать SetLength. Однако стоит учитывать,что будет использоваться копия массива и все изменения не будут отражены в оригинале.Если тебе вдруг потребуется изменить размер, то объявляй параметр в процедуре как var.Например: var Arr: TMontArray.

На заметку: Ты не должен забывать, что в Delphi, любые параметры могут быть объявленыв соответствии со спецификацией типа и без его описания. Таким образом, внешниепараметры не допустимы для описания типа:procedure Sum(const Items: array[1..7] of Integer);function MoveTo(Spot: record X, Y: Integer; end);

Кодинг27

vr-onl ine | май 201 0

Page 28: VR-Online (May 2010)

Кодинг28

vr-onl ine | май 201 0

Первым делом ты должен объявить тип и только потом использовать спецификацию какпараметр типа:type

TWeek = array[1..7] of Integer;TSpot = recordX, Y: Integer;

end;procedure Sum(const Items: TWeek);function MoveTo(Spot: TSpot);Именно поэтому массив данных в списке параметров так же не может быть описанием типадля динамического массива. Это всегда описание открытого массива.

Вариантные массивы

Вариантный массив – особый вид открытых массивов. Вместо передачи лишь одного типа,ты можешь передавать несколько. Применение вариантных массивов хорошо показано вфункции Format. Обязательно взгляни на ее описание в справке по Delphi:function Format(const Format: string; const Args: array of const): string;Первый параметр – строка, определяющая вид форматирования. Второй – вариантныймассив (array of const). Таким образом, ты можешь передавать целый диапазон значений. Вплане использования это будет выглядеть примерно так:var

Res: string;Int: Integer;Dub: Double;Str: string;

beginInt := Random(1000);Dub := Random * 1000;Str := 'Teletubbies';Res := Format('%4d %8.3f %s', [Int, Dub, Str]);

end;Запомни: «Array of const», официально принято называть – вариантный открытый массив.Пусть тебя не смущает слово «вариантный». Оно не имеет ничего общего с типом Variant.Но вариантный массив может содержать значения типа Variant. TVarRec (см. ниже) немногопохож на Variant, который хранится внутри. Скажу больше, даже имя внутренней записиVariant похоже: TVarData.

Внутренности вариантного массива

Внутри вариантного массива находится открытый массив из TVarRec. Посмотреть описаниеTVarRec ты можешь в online-справке по Delphi. Этот вариант записи, содержащей поле сименем VType и наложение других типов, некоторые из которых являются указателями.Компилятор создает TVarRec для кажого элемента открытого массива, а затем заполняетполе VType соответствующим типом элемента и помещает значение или указатель на него водном из других полей. После этого массив из TVarRec передается в функцию.

Каждая запись TVarRec содержит информацию о типе, в связи с этим, можно заюзатьфункцию Format для выполнения проверки на совпадение с типом, представленном в видестроки. При передаче неправильного типа будет генерироваться ошибка.

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

Page 29: VR-Online (May 2010)

Кодинг29

vr-onl ine | май 201 0

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

Внутри функции или процедуры, ты можешь приступать к обработке записей TVarRecнемедленно. В справке по Delphi приводятся примеры, демонстрирующие как это нужноправильно делать.

Насущные проблемы

Обрати внимание, что значения TVarRec, переданные как указатели, существуют только вовремя жизни процедуры/функции. Как только процедура или функция завершаютвыполнение, эти значения становятся недоступными. Не пытайся поддаваться соблазнувернуть эти указатели из функции/процедуры обратно или хранить TVarRecs в массиве, заих пределами, если четко не уверен, что управляешь этими значениями самостоятельно.

Если перед тобой встала задача скопировать TVarRecs в массив или внешнюю переменнуюфункции (она может быть оформлена в виде var-параметра), не забудь сделать копию (т.е.копию в стеке) значения и заменить указатель в TVarRec на копию. После окончанияработы с данными, ты также должен самостоятельно позаботиться об удалении их копии.Например, так:typeTConstArray = array of TVarRec;

// Copies a TVarRec and its contents. If the content is referenced// the value will be copied to a new location and the reference// updated.function CopyVarRec(const Item: TVarRec): TVarRec;varW: WideString;

begin// Copy entire TVarRec first.Result := Item;// Now handle special cases.case Item.VType ofvtExtended:beginNew(Result.VExtended);Result.VExtended^ := Item.VExtended^;

end;...vtPChar:Result.VPChar := StrNew(Item.VPChar);...

// A little trickier: casting to AnsiString will ensure// reference counting is done properly.vtAnsiString:begin// Nil out first, so no attempt to decrement// reference count.Result.VAnsiString := nil;AnsiString(Result.VAnsiString) := AnsiString(Item.VAnsiString);

end;...// VPointer and VObject don't have proper copy semantics so it

Page 30: VR-Online (May 2010)

Кодинг30

vr-onl ine | май 201 0

// is impossible to write generic code that copies the contents....

end;end;// Creates a TConstArray out of the values given. Uses CopyVarRec// to make copies of the original elements.function CreateConstArray(const Elements: array of const): TConstArray;varI: Integer;

beginSetLength(Result, Length(Elements));for I := Low(Elements) to High(Elements) doResult[I] := CopyVarRec(Elements[I]);

end;// TVarRecs created by CopyVarRec must be finalized with this function.// You should not use it on other TVarRecs.procedure FinalizeVarRec(var Item: TVarRec);begincase Item.VType ofvtExtended: Dispose(Item.VExtended);vtString: Dispose(Item.VString);...

end;Item.VInteger := 0;

end;// A TConstArray contains TVarRecs that must be finalized. This function// does that for all items in the array.procedure FinalizeVarRecArray(var Arr: TConstArray);varI: Integer;

beginfor I := Low(Arr) to High(Arr) doFinalizeVarRec(Arr[I]);

Arr := nil;end;Функции, приведенные выше, помогут тебе управлять TVarRecs за пределамипроцедур/функций, для которых они были созданы. Еще ты даже можешь использоватьTConstArray, там, где объявлен открытый массив. Пример представлен в виде небольшойпрограммы, текст который ты можешь видеть ниже:program VarRecTest;$APPTYPE CONSOLEusesSysUtils,VarRecUtils in 'VarRecUtils.pas';

varConstArray: TConstArray;

begin

Page 31: VR-Online (May 2010)

Оригинал статьи: www.rvelthuis.de/articles/articles-openarr.html

ConstArray := CreateConstArray([1, 'Hello', 7.9, IntToStr(1234)]);tryWriteLn(Format('%d ­­­ %s ­­­ %0.2f ­­­ %s', ConstArray));Writeln(Format('%s ­­­ %0.2f', Copy(ConstArray, 1, 2)));

finallyFinalizeConstArray(ConstArray);

end;ReadLn;

end.Результаты будут ожидаемыми, но не очень интересными. Если быть точным, то программавыведет:

1 --- Hello --- 7.90 --- 1 234

Hello --- 7.90

Эта небольшая программа также демонстрирует, то, как ты можешь использовать Copy дляприменения лишь для части записей TConstArray. Copy создаст копию динамическогомассива, но, не копию содержимого. В связи с этим, ты не должен пытаться использоватьCopy, а затем применять Final izeConstArray для этой копий. В программе, приведеннойвыше, копия будет удалена автоматически, временем жизни копии будет управлятькомпилятор.

Скворец пропел «Конец»

Открытые и вариантные массивы – мощная возможность языка, но нужно использовать ее состорожностью. Я надеюсь, мне удалось показать некоторые из возможных трудностей испособы их преодоления. Удачи в программировании!

Кодинг31

vr-onl ine | май 201 0

Page 32: VR-Online (May 2010)

Кодинг32

C++Передача файлов через TCP(Transmission Control Protocol ) - сокеты

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

Для начала разберемся как передается информация через TCP/IP

Логично предположить, что для передачи информации нужно как минимум надо 2компьютера: один – клиент(получатель), второй – сервер(отправитель). Клиент долженсоединиться с сервером, а сервер, в свою очередь, должен разрешить соединение. Исходяиз этого, делаем несложный вывод: сервер должен быть запущен до того, как клиентпопробует соединиться с ним. IP-адрес серверу устанавливать не надо, т.к. он ужеустановлен (ведь сервер – компьютер подключенный к сети, а значит имеет свой адрес), авот порт указать придется, портом может быть любое число от 1 до 65535. Чаще всегопорты от 1 до 1 024 заняты системой, поэтому предпочтительней указывать от 1 024 идальше.

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

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

Важно отметить, что TCP следит, чтобы информация не была повреждена во времяпередачи. Адресацию и маршрутизацию пакетов выполняет IP (Internet Protocol).

Таким образом, TCP взаимодействует с протоколом клиентского приложения и с IP.

На самом деле, все намного сложнее, чем я описал, но этих знаний должно бытьдостаточно, чтобы понять принцип работы приложения. Подробно с работой TCP протоколаможно ознакомиться тут: www.devoid.com.ua/c-builder/cppbuilder-network-programming/podrobnoe-opisanie-protocola-tcp.html

Проектирование программы

Теперь, когда с теоретической частью немного ознакомились, перейдем к разработке нашейпрограммы. Как Вы уже догадались, нам придется создавать 2 приложения: клиентское исерверное.

Сервер

Основным компонентом сервера будет TServerSocket (находится во вкладке FastNet панеликомпонентов). Сейчас я кратко опишу свойства и метода этого компонента, которые нампонадобятся в ходе написания программы.

Active - показывает, открыт сокет или нет. Тип: bool. Соответственно, true - открыт, а false -

vr-onl ine | май 201 0

Автор:СергейДубовикakasd

Page 33: VR-Online (May 2010)

закрыт.

Port – порт, по которому будет проходить соеденение.

ServerSocket ->Open() - открытие сокета (аналогично присвоению значения True свойствуActive);

ServerSocket->Socket->Connections[i]->SendText(String str) – отправляет i-томуподключенному пользователю текстовую строку через сокет.

ServerSocket->Socket->Connections[i]->SendBuf(void buf, int count) – отправляет i-томуподключенному пользователю буфер через сокет. Буфером может быть любой тип данных.Буфер указывается параметром buf, параметр count – размер пересылаемых данных вбайтах.

Server->Socket->Connections[i]->ReceiveText() – полученный через сокет текст от i-тогоподключения.

Так же нам понадобиться компонент TOpenDialog (вкладка Dialogs), чтобы указать путь кфайлу, который мы хотим передать. И, наконец, компонент TButton (вкладка Standart),который будет запускать процедуру передачи файла.

Клиент

Основным компонентом клиента будет TClientSocket (находится в вкладке FastNet панеликомпонентов). Так же как и в ситуации с сервером я опишу, нужные нам, свойства и методы.

Active - показывает открыт сокет или нет. Тип: bool. Соответственно, true - открыт, а false -закрыт.

Address – адрес сервера.

ClientSocket->Socket->SendText(String str) – посылка текстовой строки через сокет.

ClientSocket ->Socket->ReceiveText() – полученный через сокет текст.

ClientSocket ->Open() - открытие сокета (аналогично присвоению значения True свойствуActive);

OnRead - возникает, когда удаленный компьютер послал тебе какие-либо данные.

Так же нам понадобится компонент TButton.

Кроме TClientSocket и TServerSocket еще одним важным моментом является класс,обеспечивающий сохранение данных в адресном пространстве – TmemoryStream. Класспозволяет использовать адресное пространство для хранения промежуточных результатовработы приложения, а также при помощи стандартных методов осуществлять обменданными между памятью и другими физическими носителями.

Методы и свойства класса, которые понадобятся нам при написании программы:

LoadFromFile(String fi lename) - запись данных в память из файла.

Position - возвращает или задает текущее положение в потоке.

Memory – определяет область памяти, выделенную для хранения потока.

Clear() – очищает поток.

Size – размер данных помещенных в поток.

Write(char buf, int size) - записывает в текущий поток блок байтов(размером в size),используя данные, считанные из буфера buf.

SaveToFile(String fi lename) – сохраняет данные из потока в файл.

Перейдем к коду

Для начала определим «шаблон» нашего потока, она выглядит следующим образом:fi le#fi lename#fi lesize#. Когда клиент принимает такую строку, он обрабатывает ее(выделяетимя файла и его размер), создает буфер размером fi lesize и в него пишет всю последующуюинформацию. Когда размер переданной информации равен размеру файла, посылает на

Кодинг33

vr-onl ine | май 201 0

Page 34: VR-Online (May 2010)

сервер команду "Ready!", сервер обрабатывает эту команду и закрывает поток.

Теперь мы владеем информацией, достаточной для написания программы. Поэтомуначнем.

Сервер

В инспекторе объекта TServerSocket измени следующие свойства:

Name: Server

Порт укажите свой. Это можно сделать в инспекторе объектов. Свойство Active поставь взначение true(сервер изначально будет запущен).

Теперь объявим глобальную переменную – поток, который будет передан клиенту.TMemoryStream *Stream=new TMemoryStream;В обработчик события OnClick кнопки пишем следующий код:void *filePointer; //область памяти для хранения данных потока.int fileSize; //размер файла, который будем передавать.if(OpenDialog­>Execute())Stream­>LoadFromFile(OpenDialog­>FileName); //загружаем в поток выбранный файл.Server­>Socket­>Connections[0]­>SendText("file#" + OpenDialog­>FileName + "#" + IntToStr(Stream­>Size) + "#");//формируем информацию о файле, в соответствии с

//«шаблоном», описанным выше.Stream­>Position=0; // устанавливаем поток в начальную позицию.filePointer=Stream­>Memory; //записываем в указатель область памяти в которой храниться

//поток.fileSize =Server­>Socket­>Connections[0]­>SendBuf(filePointer, Stream­>Size); //отправляем

//содержимое области памяти клиенту.В событие ClientRead пишем:if(Server­>Socket­>Connections[0]­>ReceiveText()=="Ready!") //если получили от клиента

//команду, что файл принят.Stream­>Clear(); //очищаем поток.Сервер готов. Тут приведен простенький пример, описывающий только процесс отсылки. При желании можносюда добавить Memo для ведения истории, ProgressBar для информирования о ходе передачи и т.д. Этосделаешь сам по желанию.

Тут переменная fi leSize никак не используеться, но возможно она понадобится Вам дляведения логов или еще чего-либо.

Клиент

Форму назови RecieverForm.

В инспекторе объектов TClietnSocket указываем следующие свойства:

Name: Client

Port: порт, который ты указал на сервере.

Host : адрес сервера.

В .h файле объяви прототип функции, которая будет сохранять полученную информацию вфайл:

void SaveInfo(AnsiString info );

В .cpp файле объяви следующие глобальные переменные:

Кодинг34

vr-onl ine | май 201 0

Page 35: VR-Online (May 2010)

TMemoryStream *Stream = new TMemoryStream ;

int fi leSize ; //размер полученного файла.

bool isReceive ; //происходит ли процесс передачи или нет.

AnsiString fi leName ; //имя файла.

Теперь в .cpp файле опишем саму функцию:void SaveInfo(AnsiString info )if(Stream­>Size<fileSize) //если размер потока меньше размера данных(это значит, что

//файл еще не приняли)Stream­>Write(info.c_str(), info.Length()); //записываем в поток информацию о файлеif(Stream­>Size==fileSize) //если размер потока равен размеру данных(файл принят)isReceive=false; //указываем, что процесс получения закончен.Stream­>Position=0; // устанавливаем поток в начальную позицию.RecieverForm­>Client­>Socket­>SendText("Ready!"); //сообщаем серверу, что файл у нас.CreateDir("Downloads"); //создаем в папке(из которой запущена программа) папку Dwnlds.Stream­>SaveToFile("Downloads\\" + fileName); //сохраняем поток в эту папку.Stream­>Clear(); //очищаем поток.fileSize=0; //обнуляем переменную с размером файла.В обработчик события OnRead объекта Client введи следующий код:AnsiString recieveText=Client­>Socket­>ReceiveText(); //запоминаем текст, переданный

//серверомif(isReceive) //если файл еще передаетсяSaveInfo (recieveText); //записываем его в поток.elseif(recieveText.SubString(0,recieveText.Pos("#")­1)=="file") // если это строка типа

// file#filename#filesize#, то начинаем обрабатывать полученную информацию :recieveText.Delete(1,recieveText.Pos("#")); //удаляем слово filename=recieveText.SubString(0,recieveText.Pos("#")­1); //определяем имя файла(путь+имя).fileName=name.SubString(name.LastDelimiter("\\")+1,name.Length()); //выделяем чистое

//имя файла.recieveText.Delete(1,recieveText.Pos("#")); //удаляем имя файла.fileSize=StrToInt(recieveText.SubString(0,recieveText.Pos("#")­1)); //определяем размер.recieveText.Delete(1,recieveText.Pos("#")); //удаляем последний разделитель.isReceive=true; //указваем, что файл принимается.При нажатии на кнопку пишем:Client­>Open();Вот и все. Сюда, так же как и на сервер, можно добавить Memo, ProgressBar, Timer и т.д.

Из-за того, что тут используется объект класса TMemoryStream, нельзя передать файлыбольшого размера(у меня на компьютере с 1 280МБ ОЗУ (и на клиенте и на сервере)получилось передать файл размером в 75МБ). Мне нужна была это программа дляпередачи .mp3 файлов, а они много не весят, и с моей «нуждой» программа справляласьотлично. Для передачи больших файлов используйте TFileStream.Надеюсь, эта статья хотькак-то поможет тебе в разработке приложений. Спасибо за внимание.

Кодинг35

vr-onl ine | май 201 0

Page 36: VR-Online (May 2010)

Я прусь36

Я прусьДелимся впечатлениями

Jimmy Jonezz: Мир открытыхисходников, давно завоевал моевнимание к себе. Приятен тотфакт, что львиная доляпрограммных средств, которыми япользуюсь, в свободномраспространении, не имеютограничений и запретов откопирования, модификации и т.д.Приятно. Давно забыто время,когда часами я рылся в просторахинтернета в поисках лакомогосерийного номера, патча, крякаили различных "таймовых"ловушек. Все же есть еще та частьпрограмм, за которые приходитсяплатить, по большей части этосвязано с работой: Windows, 1 СПредприятие 8.1 , Экоформ,Антивирусы, Консультант Плюс, ноэто самое малое разочарование,хотя есть предпосылки кизменению этой ситуации.Надеюсь, государство начнет своемассовое вмешательство в сферупрограммных средств, даваяпользователю возможностьвыбирать между СПО и КПО, а нетолько навязывая что-токонкретно.

Va-Bank: Я прусь от того, что нетак давно был зарегистрирован наVR-Online, но уже могу добавлятьновости, блоги. Теперь вот пишудля журнала свое мнение длярубрик.

В общем рад, что мое участие напроекте не осталосьнезамеченным. Поднимаем проектобщими усилиями. Никто неостается в стороне. Я раддружелюбному отношениюVR’овцев друг к другу. Ведь надругих форумах бывает ипосылают новичков с глупымивопросами, а тут все объяснятьчто к чему и это неволейзаставляет остаться людей наНашем (считаю что он наш всетаки) проекте.

wwwnet: Я прусь от мысли, чтоскоро за плечами останется

универ. Осталось совсем немного -ГОСы и защита диплома. Так чтопожелайте мне удачи ;)

Lord_of_fear: Странно, но запрошедший месяц меня мало чтопорадовало. И, особенно, в ИТсфере. И сказать “Я прусь” покамогу, наверное, только про свойнедавно купленный кондиционер.В Хабаровск пришла дикая жара ивлажность. Ещё не так давно ябыл студентом и не имелвозможность купить кондиционер,т.к. мои доходы в то время былималыми. Приходилось мириться сжарой и духотой. Но пару месяцевназад я озадачился тем, что этимлетом опять будет жарковато иприобрёл столь нужный в нашевремя девайс. В эти выходные яощутил силу охлаждения, когда наулице днём было +35 и влажностьвоздуха под 80%. Баня. : ( В такомсостоянии мозг напрочьотказывается работать. Хочетсялечь и ничего не делать.Кондиционер – сила. С ним моивыходные прошли весьмаплодотворно :)

Kastor: У каждого должна бытьвозможность оставить все своипроблемы, неприятности,обязанности и простонаслаждаться жизнью. И пусть этобудет длиться совсем недолго. 1 0-ти минутный прыжок с парашютаили 1 0-ти секундное падение смоста на тарзанке, месяц отпускана берегу моря или выходные,проведенные на даче с друзьями.Не так уже и важно. Главное этовозможность почувствовать себясвободным от той повседневности,которую необходимо иногдапрерывать, иначе она тебязадавит. Всю прошедшую неделювечерами я только и делал, чтовыкатывал свой скутер и гнал,даже не планируя заранеемаршрут. Я не катал девчонок втесном потоке городских машин. Япросто выбирал дорогу из города игнал по ней. Благо, у меня не

«табуретка» на колесиках, авполне приличный скутер.Выкручиваю ручку газа, и моторпослушно набирает обороты. Ядавно выехал из города и проехалсоседний поселок. Теперь передомной хорошо асфальтированнаядорога и я не знаю, куда она ведет.Правда, не знаю. До заходасолнца еще часа три, у меняполный бак и огромное желание неостанавливаться. И пусть домаменя ждет несколько невыполненных лабораторных работи заданий, которые надоподготовить и сдать. Сейчас меняэто абсолютно не волнует. Я вовсене раздолбай и конечно выполнювсе свои обязанности, но несегодня. Потому что сейчас мневсе это просто побоку. Яподъезжаю к развилке.Опознавательных знаков не видно,наобум выбираю дорогу и топлюгаз. Совсем не замечаю, какстрелка подтягивается к отметке в70км/ч. Никто не указывает мне,куда свернуть, или гдеостановиться. Сегодняединственный мой спутник этокрасивый закат солнца, которыйговорит мне, что скоро поравозвращаться. А жаль. Я ведь ненакатался. И пусть у меня некрутая Yamaha и за эти три часа янамотал всего-то 1 00 километров,все же часть кайфа, которыйощущают байкеры от своихпробегов, я получил. Сейчасвспоминаются сцены из класснойкинокомедии «Реальные кабаны».Устроить бы подобный пробег, каксделали они, было бы круто. «Ненужен GPS чтобы открытьАмерику. Нужен байк и нужнадорога».

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

vr-onl ine | май 201 0

Page 37: VR-Online (May 2010)

замечательно.

Spider_NET: В мае, несмотря набольшую занятость, мне удалосьхорошенько отдохнуть. Каждыйзнает, что лучший отдых - этоотдых на природе. За минувшиймесяц выбирался на природуцелых два раза и оба они были сночевкой. Не представляю, какможно отдыхать на природе лишьднем? Ночь вдали от города -нечто! Тишина! Не слышен гулмашин. Вокруг никого. Пение птици полное отсутствие негатива.Одним словом - красота! Язаметил, что на природеумудряюсь выспаться всего за 5часов. На следующий день я будубодр и готов к новой порциидрайва! Вот сейчас рассказываютебе все это, а мне уже опятьзахотелось съездить отдохнуть.Надеюсь, в ближайшем будущеммне удастся это сделать ;-)

А еще я неистово прусь по бане.Хоть мне и нельзя шибко париться,но нарушить запреты врачей иотказать себе в этом удовольствии- я не в состоянии. После банькиощущение, что родился заново!Голова сразу освобождается иготова генерить новые идеи. Нувот, якорь (про якоря в НЛП читайв предыдущем номере) дал о себезнать и мне снова хочется поближек природе вместе с любимойженой и друзьями (lord_of_fear,привет!). Кстати, lord'у отдельныйреспект за шашлыки ;-)

Zanuda25: Я прусь от того, что моеувлечение рисовать в детствевозродилось в компьютернуюграфику, сейчас осваиваю Gimp,аналога Photoshop. Сейчас поканичего сногшибательного не могувыдать, но надеюсь, что будет, таккак у меня фантазий море. Этоодно.

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

позволяет мне восприниматьокружающий мир таким, какой онесть, и относиться к нему сюмором.

Я прусь37

vr-onl ine | май 201 0

Page 38: VR-Online (May 2010)

Обзоры от VR38

Обзор Nokia N900Компьютер в кармане

vr-onl ine | май 201 0

Автор:ДмитрийРедькинakazahod5277

Email:[email protected]

Как сильно не хотел я приобрести устройство с Android 2.1 Eclaire,так же сильно мнеи не повезло. В магазинах нашего города стояли лишь коммуникаторы с Android 1 .5 иAndroid 1 .6. В качестве запасного варианта у меня были Nokia N900 и Sony EricssonXperia X2. Сонька при предварительном обзоре не понравилась из-за слишкомжесткого сенсора, приходилось стилус чуть ли не вдавливать в экран чтобы чтонибудь выбрать, да и зачем мне еще один компьютер с WIndows?

Поэтому я выбрал Nokia N900. Как уже наверное знают все, на этом аппарате стоит Maemo5, операционная система, основанная на Debian Linux (само по себе интригует=)). Начинка унего тоже не хилая: процессор, работающий на частоте 600Mhz, 256 мегабайт оперативы,неплохой 3D ускоритель и 32 гига памяти, из которых 2 забирает система под приложения,еще 768 мб уходит под виртуальную память, и итого у нас около 29 гигабайт (у меня 27,5)для закачивания всего, что только в голову придет. Так же N900 оснащен 5мп камерой савтофокусом и вспышкой (правда слабоватой), передней камерой, датчиком приближения,датчиком освещенности, офигительно чувствительным акселерометром, qwerty-клавиатурой, и, внимание, подставкой! Да да, если под камерой поддеть ногтемпластмассовую рамку, то мы получим подставочку!

Комплектация.

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

Внешний вид и эргономика.

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

непривычно и неудобно, да и звонить по нему вообще беда, но, погоняв с ним недельку,начал привыкать.По бокам (в альбомной ориентации) располагаются динамики, звук из нихотличный, эффект стерео просто суперский, но играют они тиховато. С левого бока(альбомная ориентация) помимо динамика находится разьем под зарядчик/USB и дырочкадля шнурка. С правой стороны, опять таки помимо динамика распологаются: ползунок дляблокировки/разблокировки, 3.5 разьем для наушников, микрофон и гнездо птицы стилус.

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

правда наклеил, на фотках видно как=)). С противоположной стороны, за крышкой,прикрывающей объектив, прячется 5 мегапиксельная камера с оптикой от Carl Zeiss. Теперь

Page 39: VR-Online (May 2010)

немного о клавиатуре. 38 кнопок, помимо буковок,стрелочек влево-вправо, интера, пробела и backspace,имеются клавиши shift, ctrl и некое подобие кнопки fn наноутбуках: зажимая ее, можно печатать цифры и знакипрепинания, которые отмечены на клавишах синимцветом.

При покупке думал, что привыкать к ней буду очень иочень долго, ведь клавиши такие маленькие и

неудобные, но за пару дней неплохо освоился. А через месяц-другой думаю буду в слепую,как на ПК, "строчить" =).

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

Операционная система.

Еще раз повторюсь, сказав, что на N900 установленапортированная версия Debian Linux под короткимназванием Maemo 5. Однако, сложно визуальнозаметить отличия от Symbian, да вообще, неотличимо.Обычное меню, без изысков, браузер, контакты,настройки, камера, плеер, смс, электронная почта,приложения(подробнее - смотрим скриншот). Главныеотличия, которые сразу же бросаются в глаза, этоконечно же наличие 4-ех рабочих столов и альбомнаяориентация меню и всего остального, за исключениемфункции телефон(но и она работает без проблем вальбомной ориентации). Да, вы все правильнопоняли, портретная ориентация меню здесьотсутствует. Все действия приходится выполнятьдержа телефон горизонтально, двумя руками (держаодной есть вероятность уронить, вес-то и габариты уN900 не маленькие). На рабочие столы можнодобавлять разного рода виджеты, закладки веб-страниц, ярлыки программ. Причем размещать ихможно как угодно, достаточно поддеть нужный виджети можно прилепить его в любое место десктопа. Я заненадобнотью отключил два лишних и разделил два других по фунцкционалу: один у менядля работы с веб и мониторинга системы, а второй используется как ToDo и контакт листы.Но это все цветочки, переходим к действительно крутым отличиям Maemo 5.

Приложения.

Да, весь смак этой оси начинаешь понимать, едва зайдя в диспетчер приложений. Maemo,как и любая другая ОС, это всего лишь средство для запуска программ, которые тут очень иочень удались. Взять например браузер. Если кто-то еще не в курсе, на N900 установленбраузер MicroB, основой которого являетсядвижкок Gecko! Да да, можно считать что утебя в аппарате полноценный Firefox! ! ! MicroBлегко и непринужденно отображает флэш-ролики (один мой товарищ, увидев, что я могузапускать в браузере флэш, очень долгопытался прийти в себя, до того ему это неверилось), гибко настраивается (тут дажеайфоновский Safari рядом не валялся),поддерживаются вкладки. Было бы вообщесупер если бы в N900 реализовали мультитач,тогда бы серфить инет было бы еще лучше, атак приходиться масштабировать страницы

Обзоры от VR39

vr-onl ine | май 201 0

Page 40: VR-Online (May 2010)

круговым вращательным движением по дисплею. Есть интересная фича "FM передатчик".То есть, включаем передатчик на девайсе, и магнитолу, например в машине, в режимерадио. Включаем плеер, настраиваем частоты на мобилке и магнитоле, и звук доносится изколонок авто. По такому же принципу работают FM-модуляторы (их еще в прикуривательвставляют). В maemo, как и в любой другой Linux оси, есть терминал, который, по моимтестам (я хоть и не знаком особо с линуксом, но кое что могу), ничем не хуже своих старшихродственников aka Debian, Ubuntu.

Ах да, совсем забыл. Начинал-то я эту главу сдиспетчера приложений! Так вот. Диспетчерприложений это одна из самых главных штук вэтой операционке. С его помощью можно удалить,загрузить, обновить приложения, достаточновыбрать нужный пункт. Загрузка приложенийпроисходит со специальных репозиторий, которыхне так уж и много. Один репозиторийофициальный, оттуда скачиваются стабильныеверсии программ, один содержит бета-версиипрограмм, которые можно юзать, не боясь запоследствия, и есть третий, который содержит в себе даже не беты, а просто недоделаныепроги, половина из которых даже толком не работает либо вообще не устанавливается. Вофф.репозитории много софта вы не найдете. Самое большое количество прог содержитсяв бета-репозитории, я оттуда Quake 3 например скачал. Вообще, всего софта для Maemo 5катастрофически мало. Не знаю точно, сколько всего программ содержится в репозиториях,но примерно сказать могу. Наверное, около пяти-семиста (не забываем, что часть из нихбеты, еще часть вообще не работает, и еще часть не особо нужные программы).Действительно нужных программ опять таки мало. Всякие часы, плееры (все плеерысплошное убожество, даже тупой стандартный круче), простенькие игры (хотя попадаются ишедевры), и много, много другого ширпотреба. Хотя, наверняка многие из вас содержат усебя на ПК не только полезный софт, есть же и так, софтинки, как я их называю, "для того,чтоб было". Кстати, большинство (около 90%) программ бесплатны, из платных мне покапопались только офисный пакет OfficeToGo и игра Doom.

Камера.

Nokia N900 оснащен 5-мегапиксельнойкамерой с оптикой от Carl Zeiss. Камераимеет автофокус, двойную LED вспышку,умеет снимать видео в формате mp4 счастотой 25 fps, отлично настраивается.Фокус хороший, если не трясти девайсом.Что можно сказать еще? Днем, прихорошей погоде, фотки получаются простооппупеного качества, а вот ночью вспышкиявно не хватает, дальше чем полтораметра от места сьемки, ничего не видно, дачто говорить, смотрите сами.

Быстродействие, косяки в работе.

Вообще, в принципе, нареканий нет. За всеэти три недели, что я являюсь обладателемэтого чуда, он завис буквально пару раз, ито, на пару минут. Работает шустро. Судяпо индикатору загруженности процессора,ARM Cortex-A8 любит нагружать себя дажев режиме ожидания до 50-70% (и такоебывает, да), хотя тормозов при этомабсолютно нет. Оперативную память, как яи не старался, мне так и не удалось забитьхотя бы до 70 свободных мегабайт. Явключал браузер, навигатор, плеер,pidgin'a, все это при этом работало,процессор показывал около 50-60%загруженности, а количество свободной

Обзоры от VR40

vr-onl ine | май 201 0

Page 41: VR-Online (May 2010)

оперативки было около 95 мегабайт! Поразительно! И это при том, что при включенииаппарата уровень свободной ОЗУ равен 1 35-1 50 мб! То есть все эти программулины непотребляют и одной третьей свободной памяти!

Основные баги, недостатки, жалобы.

БАТАРЕЯ! Да, черт возьми, БАТАРЕЯ! Какой финский умник додумался поставить батареюот Nokia 5800(1 320 mA/h)??? Ее даже на сутки в режиме "пару раз сфотать да пару разпозвонить" не хватает! Приведу пример: зарядил однажды вечером, лег спать. Проснулсяутром на учебу, а индикатор мне сообщает - осталось 25%! Как? За ночь исчезло 70%зарядки! Поэтому чатиться, серфить инет, слушать музыку, можно не более двух-трех часовв день, иначе две руки на белом фоне пожмут друг друга и экран погаснет. где-то читал чтопоявились специальные батареи большего обьема, но, как сообщается, к ней идетспециальная крышка, которая выглядит просто ужасно. Вес, тоже недостаток. 1 80 грамм вкармане очень хорошо ощущаются (зато не потеряю ). Отсутствие большого количествасофта. И пара косяков в конструкции, о которых я уже писал. И еще раз БАТАРЕЯ,БАТАРЕЯ, БАТАРЕЯ!

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

Обзоры от VR41

vr-onl ine | май 201 0

Page 42: VR-Online (May 2010)

Обзоры от VR42

Софт-Отстой! И что с этим делать.Рецензия.

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

В конце прошлого года я случайно наткнулся на книгу "Софтотстой! И что с этим делать". Броское название сделало своедело и привлекло мое внимание. Полистав ее содержимое, ярешил сделать заказ. Книга стоила недорого и если бы онаоказалась отстойной, то сильно я бы не огорчился.

Для кого эта книга

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

объяснить MessageBox с текстом: "Произошла ошибка!" (такое сообщение очень частоможно было увидеть в IE 6). Какая ошибка? Из-за чего? Как ее исправлять? Согласись, как-то мало информации? Автор книги не поленился и приводит кучу подобных примеров.Кстати, автор - бывший сотрудник MS. В книге он достаточно часто упоминает продуктыэтой компании (IE, Windows), так, что читать будет интересно.

Мое мнение

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

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

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

Что может дать книга

1 . Прекрасное настроение. Если ты любишь писать программы или комп для тебя больше,чем печатная машинка, то хорошее настроение во время чтения тебе обеспечено! В книгеполно компьютерного юмора и смачного изложения от Дэвида Платта.

2. Понимание того, как не надо делать. Косяки в программном обеспечении, на которыеуказывает автор, до сих пор актуальны. Прочти, намотай на ус и не вздумай повторить их всвоих программах! Автор хорошо рассказывает о предназначении программ. Главное,чтобы она упрощала жизнь человека, но, ни в коем случае наоборот.

3. Взгляд автора на MS. Очень приятно читать рассуждения бывшего сотрудника компанииMicrosoft. Где-то он ими восхищается, а где-то наоборот указывает слабые места. Не могусказать, что со всеми выводами нужно соглашаться, но принять их к сведению и сделатьсвои - однозначно.

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

Моя оценка

В этот раз я ставлю оценку 4. Мне книга понравилась, но пятерку ей поставить не могу. Онахороша, но чего-то в ней все же не хватает. Пусть будет четверка, но зато твердая!

vr-onl ine | май 201 0

Автор:ИгорьАнтоновakaSpider_NET

WWW:http://vr-online.ru

Page 43: VR-Online (May 2010)

ИТОГИ:

Полезность: 3/5 (не все любят читать книги такого плана)Стиль изложения: 5/5Перевод: ? (оригинал я не смотрел)Оправданность цены: 1 00%Качество печати: 5/5

Обзоры от VR43

vr-onl ine | май 201 0

E-магазин: www.books.ru

Page 44: VR-Online (May 2010)

Обзоры от VR44

Невозможное возможно.Обзор книги “Физика невозможного” Митио Каку.

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

Об этой книге я узнал примерно 2 месяца назад из поста на Хабре исразу же пошёл на ozon.ru. Заказал, оплатил. Через неделю книгапришла и я погрузился в чтение. Идея книги просто великолепна!Такого удовольствия от чтения научной литературы я давно неполучал. Не подумай, что книга наполнена сложными формулами исхемами. Их просто нет. Ощущение ненаучности не покидает доокончания чтения. Всё просто и интересно.

Многие скажут : “А почему нет ссылок на документальныеподтверждения, официальные результаты экспериментов и прочее?”.Отвечу: а оно и не нужно! Это – не научный труд, а увлекательноечтиво. Скажу честно: если бы в школе мой учебник физики был хотьчастично написан так же как эта книга, то я бы эту науку полюбил ещёс пятого класса.

В книге автор разделил “невозможное” на 3 категории:

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

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

3. К невозможностям третьего класса относятся технологии, которые нарушают известныенам физические законы. Их оказалось совсем немного.

Полезность книги – личное мнение каждого. Я считаю, что книга едва ли содержит в себезнания, которые могут пригодиться в повседневной жизни. Но мы же читаем, например,художественную литературу просто для удовольствия. Вот и тут так же. Читайте судовольствием, читайте для удовольствия…

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

ИТОГИ:

Полезность: 4/5

Стиль изложения: 5/5

Перевод: 5/5

Качество печати: 5/5

Оправданность цены: 1 00%

vr-onl ine | май 201 0

Автор:РоманКостенкоakaLord_of_fear

E-mail:kostenko.r.khv@

gmail.com

Купить эту книгу ты можешь в магазине ozon.ru.Прямая ссылка на книгу в магазине: www.ozon.ru/context/detai l/id/423921 5

Page 45: VR-Online (May 2010)

Обзоры от VR45

Хабаровский компьютерный музейДвери распахнуты для всех

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

Сегодня я с Lord_of_fear выбрались на ДВИФ. Мы пришли одними из первых, быстренькозарегистрировались, получили разного рода стафф и пошли осматриваться. С утра особосмотреть было нечего, поэтому мы направились в зал, где тусило больше всего народа. Какоказалось впоследствии, в том зале удобно расположились экспонаты компьютерногомузея.

Когда я увидел несколько девайсов, возникло ощущение, что как будто вдохнул духвремени этих машин. Судите сами, тут вам и Mac Classic 2 и древний лэптоп от Panasonic(см. соответствующую фотку), и старый фотоаппарат (название не помню, но вроде это былсоветский «зенит»), и олдскульная видео камера и много чего еще. Организаторыпотрудились на славу и сделали действительно интересную подборку устройств. За это имсразу же хочется сказать «Большое спасибо».

Перед тем как перейти к фото отчету немного расскажу про одну интересную особенность иотличие от типичных музеев. Готовы? Все представленные экспонаты можно трогать, юзатьи тестить. Мне это особенно понравилось. Смотря на такие раритеты, очень тяжелоудержать себя! Руки так и тянуться симпатичным железкам.

Мы с Lord_of_fear немного зависли возле стойки с «сервером», на котором был заинсталенсовсем не гиковский linux (я про LinuxXP). Мы в шутку сказали, что «это как-то несерьезно».Эту фразу услышал представитель музея (сорри, имени с бейджика не запомнил) инормально, без подковырки сказал: «Не проблема. Есть дистрибутив – ставьте! Всю техникуможно юзать!». Вот оно, счастье техногика.

Помимо экспонатов компьютерных девайсов моим зорким глазом были замеченыстаренькие книги: IBM PC для пользователя, Windows (не листал, но кажется про Windows3.11 ), MS DOS, Руководства пользователя MS Windows (беленькие такие книги, одно времяих распространяли с новыми компами), книга советских времен про ЭВМ и т.д.

У организаторов компьютерного музея хорошее чувство юмора. Они не поленились инапечатали кучу веселых плакатов-сообщений, которые расклеили, где только можно. Вотнекоторые из них: «Коннект без файерволла опасен для здоровья! ! !», «Секс по модему –опасен для здоровья! Часто прерывается», «Нет проблем – сломался компьютер» и т.д.Смотрится забавно и чувствуешь, что попал в прошлое. По большому секрету расскажу, я,когда учился в 9-м классе тоже, печатал подобные штуки и клеил в своей комнате.

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

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

Фотоотчет.

Вот такие прикольные «сообщения»расклеены на территории музея. Не знаю какостальным посетителям, а мне идеяпонравилась.

Забавная мышка в виде полицейскоймашины. Как сказал представитель музея«1 00 грамм конька, прямые руки, немного

vr-onl ine | май 201 0

Автор:ИгорьАнтоновakaSpider_NET

WWW:http://vr-online.ru

Page 46: VR-Online (May 2010)

фантазии и все готово!». Мышка кстати небутофорная, а рабочая.

Трехкнопочная «старушка» со световымииндикаторами. Такую мышь в темноте непотеряешь .

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

Чувством свободы пропитано все.Особенно это обращение.

Та самая стойка с сервером и Linux XP.Стойке +1 , а линуксовой пародии -1 0.

Мануалы из прошлого. Вот такая книжкапо MS-DOS когда-то была и у меня. Эх, были же времена.

Обзоры от VR46

vr-onl ine | май 201 0

Page 47: VR-Online (May 2010)

Такими девайсами когда-то снимали…. Умоих родителей до сих такой фотик есть.

Старенький бук с не менее старымдисководом. Установленную ОС несмотрел, но кажется, там тусуетсяWindows 95.

Мегадревний лэптоп от Panasonic. Аж духзахватывает.

Старая добрая «Электроника».

А вот вам и один из первых макинтошей.Графический интерфейс мне сразу почему-то напомнил Gnome.

На фоточке засветился старый комп и мак. Обратите внимание на маковскуюоднокнопочную мышку.

Обзоры от VR47

vr-onl ine | май 201 0

Page 48: VR-Online (May 2010)

Эпловская мышь во всей красе

Куча олдскульных девайсов.

Мерзкий Linux XP крупным планом =)

Мой друг заснял меня при рассмотрении девайсов

Веселый и находчивый представитель музея. Респект ему за увлекательные рассказы.

Обзоры от VR48

vr-onl ine | май 201 0

Page 49: VR-Online (May 2010)

Без рамки49

QIP 201 0или как нас нагибают

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

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

В рядах смирившихся пользователей оказался также и я. Немного устав от странностей QIP2005 внезапно всплывать поверх всех окон, я решил скачать QIP 201 0 и посмотреть «а чегоже здесь такого нового». На этот раз, я решил серьезно отнестись к установке программы,дабы она своей наглостью не изменила мне настроек. Вот оно знаменитое окно, в которомнам навязывают мега-поиск qip-search и главную страницу с рекламой, чтобы «далеко ненужно было ходить»:

Навязанные мне галочки я убрал и нажал далее. Обрадовала возможность выбора папкипрофиля для квипа:

При вводе учетной записи, я не обратил внимания на то, чтоэто окно для учетной записи QIP, но не ICQ.

На этот факт я не сразу обратил внимание и попыталсянесколько раз авторизоваться, конечно же, неудачно, так как уменя был только ICQ-аккаунт. Для его выбора нужно нажать наедва заметную ссылку «Создать новый профиль». Создать, таксоздать.

В этом окне тоже есть возможность ввести учетную запись насервере QIP, но я все-таки ввел номер ICQ. Ввел UIN, нажал«Войти», но подвоха не ожидал. Меня поздравили с успешным

vr-onl ine | май 201 0

Автор:АлексейakaWenfri

Email:[email protected]

Page 50: VR-Online (May 2010)

созданием учетной записи на qip.ru.

Спрашивается: Зачем мне эта запись? Я просил еесоздавать? Во-первых, я ее не просил создавать, а во-вторых, по непроверенным данным, на сервере qip всепароли хранятся в открытом виде. Это не считая того, чтомой номер тоже там засветился. После этого еще иудивляемся, откуда идет спам.

Погоревали и ладно, нажимаем «Войти» и видим дурацкоеокно, которое опять же находится поверх всех окон:

Возник еще вопрос: У программистов QIP развито чувствособственной важности? Зачем мне еще один аккаунт ICQ?

Это окно для удобства - скажите вы. Зачем мне такое удобство, когда за меня решают какоймне галстук одевать? Более того, квип то сам уже загрузился, а мне тут предлагаютпомериться количеством аккаунтов.

Но эта наглость меркнет на фоне следующей наглости:

Они меня рассмешили! Разработчики QIP были настолько ко мне любезны, чтоавтоматически зарегистрировали мне почтовый ящик. Я всегда мечтал о ящике с такимадресом 61 911 71 [email protected].

Вот вы смеетесь, а у меня все контакты в адресной книге прямо так и записаны:34567884267@mail .ru, 56789654345@mail .ru и т.п. При этом я всегда помню, что логин34567884267 принадлежит Маше, 56789654345 – Даше, а логин 6490567645 Маруське ссоседнего подъезда.

Обычно в своих логинах я использую намного больше цифр, поэтому, мысленнопоблагодарив разработчиков, нажал на кнопку «Это письмо мошенническое».

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

После сих угощений, я нашел весьма интересную функцию, которое выдавало следующееокно:

На этот раз я решил не отказываться от предложений и нажал на кнопку «Да».

Без рамки50

vr-onl ine | май 201 0

Page 51: VR-Online (May 2010)

Без рамки51

World Wide Web1 0 вещей, которые нужно знать об Интернет

“Интернет ­ не грузовик. Это – целый метрополитен".Сенатор Тед Стивенс (Ted Stevens)

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

Вот 1 0 вещей, которые ты должен знать об Интернете:

1 . Спутник. Вот с чего всё начиналось.

В 1 957 году СССР запустил первый искусственный спутник на орбитуЗемли. Это стало огромной неожиданностью для Соединенных Штатов,которые сильно опасались своего технологического отставания отпротивника в период холодной войны.

Первой реакцией президента Дуайта Д. Эйзенхауэра (Dwight D.Eisenhower) стало создание в 1 958 году “Агентства по разработкеперспективных исследований” (Advanced Research Projects Agency или

сокращенно: ARPA) . Одна из его программ научных исследований, возглавляемойдоктором Ликлайдером (Dr. J.C. R. Lickl ider ) была связана с прообразом Интернета.

Кто сказал, что война не ведёт ни к чему хорошему? Интернет, возможно, одна из самыхнужных технологий, которые вышли из "холодной войны".

2. До Internet был ARPANET

Логическая карта первых 4 узлов ARPANET в декабре 1969, рисовалЛарри Робертс (Larry Roberts). (Изображение хранится в “Музеекомпьютерной истории”)В 1 969 году, после Ликлайдера, покинувшего ARPA, егопреемники Иван Сазерленд (Ivan Sutherland), Боб Тэйлор (BobTaylor), Ларри Робертс (Larry Roberts) и его коллеги создалисеть, которая позже и стала Интернетом. ПервоначальноARPANET состоял из четырех узлов (или компьютеров,называемых “Интерфейсом Сообщений Процессоров”(Interface Message Processors), которые позднееэволюционировали в маршрутизаторы), расположенных в Лос-Анджелесе, Стэнфордском исследовательском институте,Калифорнийском университете в Санта Барбаре иУниверситете штата Юта.

Первые записи в журнале ARPANET : обращение к ЧарльзуС. Клайну (Charles S. Kline), самому первому человеку,подключившемуся к удаленному хосту через ARPANET(Изображение хранится в “Музее компьютерной истории”)"Мы созвонились с нашими коллегами из НИИ",вспоминает Леонард Клейнрок (Leonard Kleinrock)."Мы ввели L и спросили по телефону: “Вы видитеL?” “Да, мы видим, L” - пришел ответ. Мы ввели O испросили: “Вы видите O? " "Да, мы видим О." Тогдамы ввели G и всё вышло из строя! Мы сразу

перезагрузились и ARPANET заработал.”

С тех пор потребовалось еще несколько лет, чтобы ARPANET стал популярным.

vr-onl ine | май 201 0

Перевод:МаксимБогдановakaLimonell,

РоманКостенкоakaLord_of_fear

Page 52: VR-Online (May 2010)

3. Коммутация пакетов. Как работает Интернет.

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

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

В начале 1 960-х годов Пол Баран (Paul Baran), Дональд Дэвис (Donald Davies) и ЛеонардКлейнрок (Leonard Kleinrock), работая самостоятельно, придумали другой способ передачиданных. Большие куски данных делятся на несколько небольших пакетов и посылаются посети. Каждый пакет сам выбирает маршрут, чтобы достичь свою цель. Если все пакетыпришли, то они снова собираются в исходные данные.

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

4. TCP / IP - язык Интернета

В 1 973 году Винт Серф (Vint Cerf) (которого часто называют "отцомИнтернета") и Боб Кан (Bob Kahn) создали TCP /IP - наборкоммуникационных протоколов – основной язык, используемыйкомпьютерами для общения друг с другом в сети.

TCP/IP настолько прост, что D. Waitzman предложил (не без юмора :)) протокол “IP over Avian Carriers” (IPoAC). IPoAC был описан в RFC11 49 (RFC, или Request for Comments, — это документ,описывающий какую-то часть внутренних механизмов Интернета)организацией Internet Engineering Task Force (IETF). Этот RFC былнаписан D. Waitzman и опубликован 1 -го апреля 1 990 г. Основнаяидея этого “протокола” в том, чтобы привязать какой-нибудь носитель данных (такой каккарта памяти) к ноге голубя и послать его к месту назначения.

IPoAC был впервые “реализован” (т.е. они на самом деле сделали это) ГруппойПользователей Linux г. Берген (Bergen Linux user group). Они послали 9 голубей, каждый нёс1 ping к месту назначения, удалённому примерно на 5 км, но ответов они получили только 4.Довольно плохой результат.

Затем, в 2004-м группа израильских энтузиастов послала 3 почтовых голубя, способныхнаходить путь домой на больших расстояниях от места назначения. ( ~1 00 км от старта).Каждый голубь нёс 20-22 крошечных карт памяти. Общий объём данных был 4 GB, исправились с этим голуби менее, чем за 4 часа.

5. Альберт Гор действительно создал Интернет. Ну … или что-то около того.

"Помни, Америка, я дал тебе Интернет, и я могу его и забрать"пошутил Альберт Гор (Al Gore) на шоу “Late Show” c ДэвидомЛеттерманом (David Letterman).Так действительно ли Гор создал Интернет?

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

Хотя термин "инициатива по созданию Интернета" является расплывчатым, но Гор, всё таки,

Без рамки52

vr-onl ine | май 201 0

Page 53: VR-Online (May 2010)

Без рамки53

vr-onl ine | май 201 0

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

6. Отец спама: Гари Суерк (Gary Thuerk)

Спам является старым методом маркетинга. Самый первый спамсодержал стоматологическую рекламу своих услуг, отправленныйтелеграммами в 1 864 году. Тогда, как и сейчас, люди, которые получилителеграммы, даже писали в местные газеты с жалобами на рекламу.

Первый спам в сети был отправлен менеджером по маркетингу DigitalEquipment Гари Суэрком в 1 978 году 393-м пользователям ARPANET. Онрекламировал новую модель компьютеров.

Кто-то из Rand Corporation послал ему письмо, написав, что он нарушилправила ARPANET. (Существовал неписаный закон о том, что люди небудут использовать ARPANET для продажи; Гари Суерк оправдывалсятем, что, он лишь только способствовал продвижению продукта.) Послеэтого с начальником Суерка связались из “Агенства по коммуникациям”и взяли с него обещание, что Гари никогда больше не будет спамить.

Суерк занял место в истории как отец спама, за что и попал в Книгу Рекордов Гиннеса. Затосейчас он занимается анти-спам защитой компаний. Реакция людей на него неоднозначна:некоторые рады встретить человека с необычной славой, некоторые хотят его побить, адругие просто избегают как чумы.

7. Сексуальный Веб: 1 2% веб-сайтов = порно!

Реакция бабушки на двух полуголых девиц на дисплееМы не можем говорить о Сети, не говоря о порнографии.Ниже приведены некоторые статистические данные:

• Число порнографических сайтов : 4,2 млн. (1 2% от общегочисла веб-сайтов)

• Число порнографических страниц: 420 млн.

• Число порнографических поисковых запросов в сутки: 68 млн. (25% от общего числазапросов поисковиков)

• Ежедневная порнографическая e-mail рассылка: 2500 млн. писем (8% от общего числаписем)

• Интернет-пользователи, которые смотрят порно: 42,7%

• Посетителей порнографических веб-сайтов: 72 млн. (в месяц)

• Денежный оборот интернет порно индустрии в год: 4,9 млрд. долл. США

• На данный момент около 28,5 тысяч интернет-пользователей смотрят порнографию.

Согласно статистическим данным GOOD Magazine:

• 35% всех Интернет загрузок имеют порнографических характер.

• Каждый день в Интернете появляются 266 новых порно сайтов .

• "Секс" является наиболее часто встречающимся словом в Интернете.

• 70% порно трафика набегает в течение 9 часового рабочего дня.

• США производит 89% всего онлайн порно.

8. Подъем блогосферы.

Блоги (сокращение от “веб логии”) – одни из самых обновляемых ресурсов в Интернете. Поданным Technorati (http: //technorati .com) существует около 11 2 800 000 блогов, и 1 75 тысяч

Page 54: VR-Online (May 2010)

новых блогов добавляются каждый день. А это около 1 22 блога вминуту!

Термин "блог" был придуман Джоном Баргером (John Barger) 1 7декабря 1 997. Так он назвал свой ресурс robotwisdom.com,являющийся сборником интересных ссылок, которые Джоннаходил во время сёрфинга интернета. Эго сайт и стал первым вмире блогом.

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

Блоггинг стал очень популярным в 1 999 году с появлениемресурсов, которые позволяли создать свой блог с помощьюнескольких кликов мышки (таких, как: Pitas.com, LiveJournal иBlogger.com) Сегодня же блоги повсюду.

Так что же случилось с Джоном Баргером, первый блоггером вмире? Пол Боутин (Paul Boutin) из журнала Wired Magazine пишет:

Бездомный и сломленный духом в возрасте 53 лет Баргер не смог даже оплатить свойдомен robotwisdom.com . Ему пришлось оставить свою квартиру в Чикаго. На данныймомент он находится в поиске работы.

Несколько недель спустя я обнаружил, что Джон оплатил домен и вернул к жизни свой блогrobotwisdom.com. Я связался с ним и оказалось, что он переехал в Мемфис, но так и неработает, живя менее, чем на 1 доллар в день. Чуть позже он мне прислал письмо, вкотором написал: Придумал термин "блог", но не заработал ни копейки.

9. Сюрприз! Создателей YouTube было трое.

До появления YouTube был … сайт знакомств и называлсяон “Tune In Hook Up”. В какой то мере это была перваяверсия YouTube, которая полностью провалилась.

Тот YouTube, который мы все сейчас знаем и любим,начался с Чеда Харлея (Chad Hurley), Стива Чена (SteveChen) и Джаведа Карима (Jawed Karim). Они захотелиразместить на сайте видео с их вечеринки только лишь изза того, что клипы были слишком большие для отправки поe-mail . Разместить видео в Интернете было тоже непросто – нужно было определиться сформатом видео.

Эта троица создала YouTube в 2005, и не успел пройти год, как число размещений видеопользователями в день достигло 70-ти тысяч. YouTube стал самым быстроразвивающимсяпроектом за всю историю Интернета. Установлено, что в 2007 году YouTube требовалширину канала больше, чем весь интернет в 2000-м году!

Харлей и Чейн продали ресурс компании Google за немыслимые 1 ,65 млрд. долларов. А чтоже случилось с Джаведом? Он покинул команду с целью получения высшего образованиядо сделки с Google. Однако, он не остался с пустыми руками. От продажи YouTube ДжаведКарим получил 64 млн. долларов.

Первое видео было загружено на YouTube 23-го апреля в 20.27. На нём заснят сам Джавед,гуляющий по зоопарку Сан Диего (San Diego Zoo).

1 0. Подъем социальных сетей

Веб – огромная социальная сеть. Ещё до её появлениясуществовали сети, которые позволяли людям общаться исотрудничать. Термин “социальная сеть” появился послетого, как было подсчитано, что в 2005-м году числопросмотров страниц MySpace превысило число просмотровGoogle.

До MySpace существовали Classmates.com (прим.переводчика: знакомое название? Вот откуда создатели

Без рамки54

vr-onl ine | май 201 0

Page 55: VR-Online (May 2010)

Без рамки55

vr-onl ine | май 201 0

Одноклассников.ру спёрли название), запущенные ещё в 1 995-м, и SixDegrees.com(запущен в 1 997, закрыт в 2001 ). На данный момент самыми успешными являются ресурсы:Friendster, MySpace, Orkut, LinkedIn и Facebook. А на сколько же они успешны? MySpaceбыл продан Rupert Murdoch's News Corporation за 580 млн. долларов, а Facebookоценивается миллиардами долларов.

Существую соцсети любойнаправленности: для любителейкино, онлайн игр, аниме, книг и пр.Достаточно интересной подсетьюсоцсетей являются новостные

русурсы такие как: Digg, reddit и Mixx.

Они позволяют создавать контент самим пользователям. Посетители выкладываютинтересный по их мнению материал и голосуют за чужие новости. В результате контентразмещается по системе рейтинга: самые популярные и понравившиеся поcты находятся вначале новостной ленты.

Page 56: VR-Online (May 2010)

Без рамки56

Слон и МоськаСмотрим на Oracle и MySQL

Информация ставится главным оружием в нынешнем мире. Информационные войныуже захлестнули нас с головой (например – «война» с Грузией в 2008 году).Информации становится все больше и больше, а ее необходимо где-то сохранять.Для этого придумывали различные технологии, самыми успешными их них сейчасявляются базы данных, а управляют ими Системы Управления Базами Данных(СУБД).

Базы данных и СУБД также развивались. Сначала были иерархические базы данных(модели), затем сетевые. В 1 970 году британский ученый Эдгар Кодд выпустил свою работу,посвященную реляционному способу хранения данных – с этого момента начинается эпохаРеляционных СУБД.

С семидесятых годов до наших дней было выпущено множество различных СУБД. Все они,в свои времена, пользовались большим спросом. Но сейчас – на рынке малых, средних ипромышленных систем, лидирует очень известная корпорация – Oracle. Ей принадлежитдве популярных СУБД: ORACLE и MySQL. Сейчас я предлагаю попытаться (как этополучится - посмотрим) – сравнить эти две системы.

Надо сказать, что сравнивать две такие разные СУБД довольно тяжело, так как онипринадлежат к разным областям применения. Это (условно) как сравнивать велосипед игрузовик – оба могут ездить, на обоих надо учиться ездить. Но все равно попробуемпровести некоторое сравнение.

1 . Начнем с истории и возраста данных СУБД. ORACLE изначально разрабатываласьодноименной компанией. Первая версия была выпущена в 1 979 году (надо отметить одинзанимательный факт – «первая» версия имела номер два (2), это был маркетинговый ходруководства компании).

MySQL сначала разрабатывалась компанией MySQL AB, которую в 2008 году купила SunMicrosystems. Первая версия данной СУБД появилась в 1 995 году (внутренняя).

2. Принципы разработки. MySQL изначально разрабатывал коллектив удаленныхсотрудников – около семидесяти процентов из 400 работали из собственного дома.ORACLE разрабатываю в офисах.

3. Условия распространения: MySQL распространяется двумя путями. Первый – полицензии GPL. По данной лицензии получается, что любой программный продукт,включающий в себя исходные коды MySQL – также должен распространятся под лицензиейGPL. Отсюда вытекает второй путь распространений – по коммерческой лицензии.

ORACLE изначально разрабатывалась как корпоративная СУБД, поэтому логично, что онаплатная. Распространяется четыре основные редакции и две дополнительные. Первыечетыре – полностью платные, пятая – предназначена для мобильных и встраиваемыхустройств, а шестая (называется Express Edition) распространяется бесплатно, но имеетурезанный функционал.

4. Особенности. Глубоко в техническую реализацию данных СУБД лезть не будем.

До версии 3.23 у MySQL максимальные размеры таблиц могли равняться четыремгигабайтам. С версии 3.23 – уже до восьми миллионов терабайт. Начиная с пятой версииMySQL поддерживает хранимые процедуры и функции, обработчики ошибок, курсоры,триггеры, представления (не знаю, как без этого сделать нормальную промышленнуюсистему). Чтобы установить себе на компьютер MySQL можно скачать либо исходные коды,либо готовый исполняемый модуль для вашей ОС. В MySQL используется немного«подрезанный» стандартный SQL. MySQL поддерживает очень большой список платформ.Надо сказать, что почти все хостеры предоставляют хостинг вместе с MySQL – поэтому онаи является такой популярной.

ORACLE поддерживает все вышеописанные функции, но в ней есть еще ряд особенныхфункций: объектно-ориентированные свойства, автономные транзакции,последовательности, пакеты, аналитические функции. Для работы можно использовать какстандартный SQL, так и язык программирования PL/SQL – в него добавлено множество

vr-onl ine | май 201 0

Автор:paveldev

E-mail:paveldev2k@

gmail.com

Page 57: VR-Online (May 2010)

дополнительных функций, упрощающих работу программиста. Кроме того, последняя наданный момент версия СУБД ORACLE 11 g – это первая в мире база данных, специальноразработанная для работы в сетях распределенных вычислений Grid. ORACLE, также как иMySQL – поддерживает очень много различных платформ.

5. Удобство работы с СУБД. MySQL можно скачать вместе с веб-сервером иинтерпретатором PHP в пакете Denwer (или, например – TopServer), затем достаточноустановить – и все будет работать. Лично я пользовался для администрирования и запускаSQL-кода средством phpMyAdmin. Все очень просто и легко. Создавать, изменять иудалять объекты можно с помощью кликов мышью. Для начинающего пользователя даннаясистема – идеальна (говорю сейчас от имени начинающего пользователя). По умолчаниюпользователь имеет имя root и пустой пароль. Поэтому обязательно надо создать новогопользователя и задать ему необходимые привилегии и пароль. Все настройкиосуществляются базе mysql.

Чтобы установить ORACLE – придется немного повозиться, но этот процесс все жедовольно прост. Для работы с СУБД я использую PL/SQL Developer – это отдельнаяпрограмма, которую необходимо устанавливать. Там тоже бОльшая часть функцийдоступна по щелчку, но надо знать – где что лежит. Зато потом, когда все будет изучено -открываются огромные возможности по созданию, редактированию и удалению всехобъектов базы данных. По умолчанию, администратор СУБД имеет логин и парольMANAGER. После входа также надо создать своего пользователя.

В плане пользования – MySQL выигрывает, так как она очень проста, новичок сразу почтивсе сможет сделать. Для работы с ORACLE надо много учиться.

6. Тестовое сравнение. Данный тест производился не мной, но я с ним полностью согласен.Тест проводился на одной машине, действия были одни и те же. Создано в каждой СУБД поодной таблице объемом 8452525 строк. Был написан запрос, проверяющий четыре условия– и по этим условиям формировавший новую таблицу. В сформировавшейся таблице будет978 строк.

MySQL выполнила данный тест за 35 секунд. ORACLE – за 2 секунды. Что сказать …

7. Итог – мое субъективное мнение. Я еще не являюсь профессиональным пользователемСУБД ORACLE (поэтому не все знаю), но она мне все больше и больше нравится.Возможно, MySQL обрабатывает малые массивы данных (до 1 00 000 записей) даже ибыстрее, чем ORACLE. Но я работаю уже почти год на предприятии, и работаю стаблицами, где хранится от 1 00 до 300 тысяч записей. А что будет, когда я полностьювтянусь в процесс?

Мое мнение такое – MySQL подходит для проектов, в которых будут обрабатываться малоеколичество информации (относительно конечно) и не будет большое число пользователей.ORACLE – для больших проектов.

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

Без рамки57

vr-onl ine | май 201 0

Page 58: VR-Online (May 2010)

Без рамки58

Google Font APIПервое знакомство

Сегодня у нас речь пойдет о такой новой фиче, как Font API от Google . 1 9 и 20 мая201 0 в Сан-Франциско состоялась конференция разработчиков Google I/O. Темойконференции стала Google – Font Directory и Font API. По словам представителейGoogle, открытые шрифты принесут в web визуальное разнообразие и богатство.

Само собой, использование на web-странице Font API будет таким же простым, как ииспользование стандартных, так называемых шрифтов «web-safe», установленные набольшинстве компьютеров. В настоящее время в Google Font Directory доступны 1 8шрифтов, два из которых были разработаны для Android. Чтобы начать их юзать в своихпроектах разработчикам достаточно добавить несколько строк HTML-кода. ПоддержкаCSS3 и стилей и HTML5 имеется (падающие тени (drop shadows), вращение (rotation)).

Среди плюсов Google Font API особенно выделяются:

- Шрифт скачивается с сервера Google.

- CDN Google быстрее чем ваш сайт.

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

Единственным видимым минусом Font API - это небольшое количество шрифтов. Хотя этодаже не минус, а временная трудность. Количество доступных шрифтов будет со временемувеличиваться.

Теории достаточно и перейдем сейчас к любимой практике. Давайте перейдет в каталогшрифтов и посмотрим что там такого хорошего. Здесь мы видим 1 8 различных шрифтов.Каждый шрифт имеет несколько вариантов. Когда вы выберите тот, который вам нравится,просто нажмите на него, чтобы увидеть дополнительные параметры. Допустим, выберемLobster . Нажимаем на шрифте и переходим на страницу с описанием этого шрифта.Теперь ищем кнопку Get the code. Перед нами html код который нужно вставить в headстраницы, а также пример css, как использовать новый шрифт.

Существует два способа вставки шрифта на сайт. Через html и через css @import.Рассмотрим каждый в отдельности.

1 . Через HTML<link href='http://fonts.googleapis.com/css?family=IM+Fell+DW+Pica' rel='stylesheet'type='text/css'>2. Через @import@import url(http://fonts.googleapis.com/css?family=IM+Fell+DW+Pica);Все, подготовительные работы закончились, теперь сделаем небольшой пример сиспользованием этих шрифтов.<! DOCTYPE HTML PUBLIC "­//W3C//DTD HTML 4.01 Transitional//EN"><html><head><link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'><style>body font­family: 'Lobster', serif;font­size: 48px;text­align: center;

</style>

</head><body><h1>VR­Online.ru</h1>

vr-onl ine | май 201 0

Автор:aka_GRAD

Page 59: VR-Online (May 2010)

</body></html>Результат на лицо:

Есть еще такая фича как Shadow (тень). Если вставить этот код, то можно сделать у текстатень.body font­family: 'Tangerine', serif;font­size: 48px;text­shadow: 4px 4px 4px #aaa;

Основную роль играет подчеркнутая строка остальное все тоже самое, что и в первомпримере. Теперь изменим первый пример и посмотрим что получиться.<! DOCTYPE HTML PUBLIC "­//W3C//DTD HTML 4.01 Transitional//EN"><html><head><link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'><style>body font­family: 'Lobster', serif;font­size: 48px;text­align: center;text­shadow: 4px 4px 4px #aaa;

</style>

</head><body><h1>VR­Online.ru</h1>

</body></html>

The End

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

Без рамки59

vr-onl ine | май 201 0

Page 60: VR-Online (May 2010)

Без рамки60

ScribusВизуальная верстка документов

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

На это раз в поле моего зрения попалась одна примечательная программа, котораяспособна облегчить работу, как начинающему, так и профессиональному верстальщику.Речь пойдет о программе под названием Scribus, — это приложение для визуальнойвёрстки документов, которое доступно для большинства известных платформ:Linux/Unix/Mac OS X и Windows. Что самое немаловажное, Scribus распространяется наусловиях GNU General Public License. Некоторые ставят ее на один уровень с такимигигантами, как Adobe InDesign и QuarkXPress, но это сравнение, лично для меня мало, чтозначит и представляет меньший интерес, т.к. каждая программа имеет свои плюсы иминусы, но вернемся к теме.

Последней доступной версией, на сегодняшний день, является Scribus 1 .3.7 (ссылки дляскачивания смотри во врезке к статье – прим. автора), которая уже успела обзавестиськрасивым оформлением и рядом дополнительных возможностей, о которых чуть ниже.Программа, полностью портирована на Qt4. Можно отметить, что большинство проектовсоздается с помощью этого средства разработки приложений, например: VLC, SMPlayer.Интерфейс программы, прост до безобразия: панель вставки объектов (текст, фигуры,линии, изображения и т.д.) именуемая Инструменты, PDF-инструменты, для созданияинтерактивных документов, Файл (создать, открыть, закрыть, экспорт, печать), Правка(копирование, вставка, отмена/возврат действия). Чуть ниже рабочего поля, несколькопереключателей: навигатор по страницам, масштаб страницы, просмотр.

Я хотел бы, сразу, развеять ваши сомненияотносительно этой программы, пускай,если даже их нет – «Full Circle Magazine»,электронный журнал полностьюсверстанный с помощью Scribus. Многихпугает и отталкивает GUI интерфейс,большинства свободно распространяемыхпрограмм, но не это главное, ведьпрограмма, как программа, интересна инужна, благодаря своим возможностям, ане красивой оболочкой (хотя и наличиеэтого компонента тоже желательно – прим.автора). Большинству из нас, важенрезультат, получаемый с помощью того илииного инструмента. Вернемся к сути.Далее, я подробно остановлюсь навозможностях программы Scribus, чтобыболее масштабно охватить все стороныэтого инструмента (рассмотрим толькосамое важное, более подробнаяинформация - на сайте разработчика –

vr-onl ine | май 201 0

Автор:КозловАнтонakaJimmyJonezz

Email:ant.pet.koz@

gmail.com

Page 61: VR-Online (May 2010)

прим. автора):

• Собственный формат документов (полностью документирован и основан на XML), полнаяподдержка шрифтов и текста в Unicode, шаблоны, слои, трансформация блоков,использование стилей с различными настройкам, поля, направляющие, настраиваемоеприлипание к сетке.

• Поддержка CMYK, встраивание ICC-профилей в PDF для аккуратного сохраненияисходного цвета, создание цветоделений CMYK и RGB в PostScript.

Поддержка большого количества возможностей PDF, включая интерактивные заполняемыеформы, использование сценариев на JavaScript и Python. Поддержка PDF 1 .4, включаяполупрозрачность, градиенты и 1 28-битное шифрование, полная совместимость с PDF/X-3— стандартом ISO на PDF для печатной публикации. Scribus может преобразовывать всеиспользуемые шрифты в контуры PostScript, сохраняя возможность изменять текст.

• Drag’n’Drop. Удобные инструменты и палитры для измерений, вращения и правки прочихсвойств объектов. Поддержка TrueType, Type1 PostScript и OpenType шрифтов.Настраиваемые пользователем «горячие клавиши». Локализация интерфейса на русский.Настраиваемая расстановка переносов в текстах. Удобные инструменты рисования фигур:линия от руки, прямая, кривая Безье, эллипсы, многоугольники и.т.д.

• Scribus может импортировать и экспортировать корректные документы SVG 1 .0 (ScalableVector Graphics), включая текст по контуру, изображения и текст. Все данные документаScribus транслируются в SVG, изображения при этом преобразовываются в формат PNG.

Из перечисленного, хочу выделить, что мне нравится тот момент возможности «импорта» и«экспорта» документов SVG 1 .0. Имея это в виду, применение векторного редактораInkscape более чем оправдано, а также Scribus легко находит «общий язык» с роднымфайлом векторного редактора Inkscape. Другой интересный момент – Scribus имеетдостаточно мощный текстовый движок. Это помогает программе делать правильный выборпри расчёте переноса строк и более равномерно распределять текст, например абзац.

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

Scribus поддерживает следующие текстовые атрибуты на уровне символов:

1 . гарнитура;

2. кегль;

3. эффекты гарнитуры;

4. цвета заливки и обводки;

5. смещение относительно базовой линии;

Без рамки61

vr-onl ine | май 201 0

Page 62: VR-Online (May 2010)

6. горизонтальное и вертикальное масштабирование;

7. кернинг;

8. трекинг;

9. язык (для переносов);

1 0. имя родительского стиля.

На уровне абзаца поддерживаются следующиеатрибуты:

1 . интерлиньяж и его типы;

2. выключка;

3. интервал до и после;

4. левое и правое поля;

5. отступ первой строки;

6. параметры капители;

7. табуляция;

8. имя родительского стиля;

Важной особенностью, быстрой, а главное, качественной верстки, является, возможностьавтоматизации самого процесса создания электронной публикации. Каждый верстальщиксталкивается с необходимостью частого использования одинаковых объектов, будь тологотипы, нумерация страниц, верхние или нижние колонтитулы, фоновые изображения,которые располагаются в одинаковых местах страниц, на протяжении всего документа.Надеюсь, вы понимаете, что каждый раз производить расстановку объектов вручную,довольно проблематично и неправильно (и это еще мягкосказано – прим. автора). Scribus, как любой другой редактор,работающий с текстом, позволит сократить эту рутиннуюработу, благодаря использованию/созданию мастер-страниц(шаблонов). Любой создаваемый шаблон, напоминает своегорода конструкцию, которая не может быть изменена врежиме обычной правки документа. По желанию или понеобходимости, документ может содержать несколькомастер-страниц, которые будут являться неотъемлемойчастью документа.

Кстати о формах, хочу отметить, что управление формамивыполнено в отдельном диалоге, который содержит в себевсе саамы необходимые функции по управлению/изменениюформ. Когда все содержится в одном «месте», со сторонывыглядит очень просто и удобно. Щёлкнув правой кнопкой наформе и выбрав "Свойства" (Properties). В появившемся окненаходится множество различных настроек, например:изменение внешнего вида, цветов, границ, прозрачности ит.п.

Ну и конечно, самый лакомый кусок - если понадобитсядобавить штрих-коды в ваше издание или же ISBN-коды, товы будете рады, узнав, что Scribus поддерживает подобныедействия. Это приложение может автоматическисгенерировать 1 8 различных штрих-кодов, также имеетсявозможность редактировать полученный штрих-код: изменитьцвет, текст и фон. Когда код будет готов, вы можете простымперетаскиванием разместить его в любой части своегодокумента.

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

Без рамки62

vr-onl ine | май 201 0

Page 63: VR-Online (May 2010)

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

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

Официальный сайт: http: //www.scribus.net/Вики-страница (рус.): http: //wiki.scribus.netСообщество пользователей: http: //www. l inuxgraphics.ru/Ful l Circle Magazine: http: //ful lcirclemagazine.org/

Без рамки63

vr-onl ine | май 201 0

Page 64: VR-Online (May 2010)

Меня тошнит64

Меня тошнитВыплескиваем негатив

Jimmy Jonezz: Хочу спроситьтебя, уважаемый читатель. Тыумеешь/знаешь как ходить, потротуарной дорожке? Не торописьотвечать и взрываться вистерическом хохоте - сначала я,поведаю тебе своенегодование/неприязнь по поводунеправильности ходьбыбольшинства пешеходов, инадеюсь, ты сделаешь выводы измоего повествования, перед тем,как ответить на вопрос. Многиепешеходы, не соблюдают простогоэтикета при ходьбе по тротуару, аименно, идут по середине дороги.Когда я гуляю со своейподруженцией :), то и дело из моихуст "вылетает" фраза "Разрешитепройти". Почему, многим сложнопридерживаться правой сторонытротуара? Не понятно. Особеннонервируют дамы пожилоговозраста, которые с"огроменными" авоськами идутточно по середине, но, даже знаято, что сзади идут люди, никоимобразом не собираются менятьсвое положение и это неединичный случай. Таких людей,хочется просто бить, нещадно(хотя я уважаю людей, не смотряна возраст). Никто не идеален, номожно же хоть чуть-чуть уважатьдругих пешеходов. Подумай.

Va-Bank: Меня тошнит от того, какначальство относится работе. Вотмы провайдеры. Сколько уже мы снапарником капаем на мозгиначальству, ну купитебесперебойник, купите…купите…Ну ведь же оно само должнопонимать что он нужен. И ведьправы были. Ошибка электрика и380В на вводе - нет половиныоборудования. И все равнотянут…Нет до сих порбесперебойника. В другом зданиикто-то щелкнул пакетник. И нетпочтового сервера. Елевыклянчили для своихкомпьютеров UPSы. И меня простодаже не тошнит, а бесит такоеотношение. И деньги же есть…

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

ZeroXor: Единственное, от чего(точнее, от кого) меня тошнит,пожалуй, - это одна категориялюдей, которых я называю"нытики". Те, которые постоянноплачутся и жалуются на "горькуюсудьбинушку". Я больше чемуверен, что нужно просто хотя быначать что-то делать - и жить ужестанет легче. А уж еслиопределить верное направление иначать действовать именно в этомнаправлении - то жизнь вообщестанет прекрасной сказкой.

wwwnet: В этом месяце героем

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

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

Lord_of_fear: Болеть - плохо, аболеть в нашей стране - в двараза хуже. Глядя на нашумедицину, начинаешьдействительно верить, чтобесплатно ничего хорошего небывает. . . Хотя, с чего это онобесплатное? Мы платим налоги,поэтому слово "бесплатное" неподходит по определению.Причем достаточно неплохуючасть зарплаты приходится на этодело отслюнявливать. Почему я обэтом пишу? Сейчас я тебеповедаю эту офигеннодушещипательную историю :)Значит, был я недавно на приеме уврача. Прием стоит 350р. Да ихрен с ними. По моему мнению,это еще даже сравнительномаленькая сумма, дающаявозможность попасть на прием кврачу без геморного ожидания вочереди. Врач выслушал моюгрустную историю и сказал, что

vr-onl ine | май 201 0

Page 65: VR-Online (May 2010)

мне нужно для начала сдать 2анализа. Сдать их можно толькоплатно. Пошёл в кассу, оказалось,что один анализ стоит 4000р. ,другой 1 0000р. Да они совсемофигели чтоли? Если заплачу, тоостанусь с голой жопой и пустымхолодильником. Короче говоря, яполностью забил на анализ за 1 0k,а стоимость анализа за 4k удалосьуменьшить вдвое благодаряхорошим знакомым. :) Пришёл наповторный прием. Врачпосмотрела анализы и сказала, чтоне знает в чем причина и мненужно попробовать попитьтаблетки суммарной стоимостью5000 на весь 20-ти дневный курс.Типа может быть поможет. Если непоможет, то выпишет другое. Эточто за развод такой? В рулеткуиграем чтоли? Я прям в шоке.Короче, забил на всё это дело.Обойдусь как нить без этих врачей:)

Spider_NET: На протяжениимесяца в моей голове появлялосьмножество идей для этой рубрике.К сожалению, написание текста яоткладывал до последнего и вконце концов мысли былиблагополучно забыты. Генерить ихкак-то надо было, и я решилпогулять по сети. "Авось увижу что-нибудь раздражающее". Первымделом зашел на Хабрахабр. Наосновании комментариев многихтамошних пользователей можнонаписать целую книгу с громкимназванием "Меня тошнит". Неподумайте, я не наезжаю наХабролюдей. Вовсе нет! Мнепросто непонятны мысли многих изних. Читаю пост. Вроде авторнаписал интересный материал, а вкомментах его опустили по самыене хочу. При всем этом,объективными доводами не пахнет.Есть сила/карма - можноприхлопнуть новичка. Подобныеситуации я встречал не раз,поэтому мнение об актуальностикоментов Хабра у меня ужесложено. Но сейчас речь пойдет необ этом.

Терпеть не могу тупые ибессмысленные государственныепроекты в области IT! От этого нето, что тошнит, а хочется блевать! ! !А если нечем это сделать, то два

пальца в рот по-дружески выручат.Вот реально, почему у нас встране бабки тратятся на право ина лево? На фига нашимчиновникам портал за 6-7 млн.рублей? Где профессионалы, прокоторых нам рассказывают людисверху? Или это специалистырешили строить информационныйресурс за такие бабки? Я даже немогу представить, что можнонаворотить за такие деньги! Что ж,подождем – увидим!

"Золотые" сайты - не единственнаятупость. Я всегда знал, что у нас встране многие вещи делаются для"галочки" и ничуть не сомневался,что в IT-области все будет точнотакже. Помнишь вроде бы реальноклассную идею о переводероссийских школ на Linux? Я вотпомню и хорошо помню суммы,которые были выделены на проект.Бабла тогда выделили нормально,а вот школ перешло мало. И это неиз-за того, что на Linux сложномигрировать. Просто проектпоручили тем, кто в Linux вообщене фига не понимает. Иначе какможно было так запороть испустить деньги? Финал этойистории меня вообще начинаетпоражать. Готовы?"Профессионалы" сверху решиливнедрить электронные учебники.Все, как и полагается - выделеныденьги, определены ответственныелица и выбрана платформа, накоторой ebook'и будут работать. Ичто выбрали? Увы, не Linux, аWindows. Для чего тогда вообщебыло затевать миграцию воткрытый стандарт? Хоть убейте, ане понимаю.

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

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

братец спят. Вдруг трах и войсверла и стены и потолок началиходить ходуном под их ударамисверла и молотка. Кретины, вкакое время ремонт проводить вквартире! ! ! ! ! Не могли днем ремонтсделать? Оказывается, они былизаняты тем, посидели в садике ипили пиво весь день. Этоназывается работа?. . . . . .

Еще одно напоследок. Матрасывывешивают с утра и выбиваютпыль. Это нормально. . . . А вот где-то 1 2 часов ночи мы слышим, какна восьмом этаже выбивают пыльиз матраса. . .

Меня тошнит65

vr-onl ine | май 201 0

Page 66: VR-Online (May 2010)

Креатиff66

InkscapeОбои для рабочего стола. Часть 2

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

Начнем с того, что попробуем создать фон, который можно провести двумя способами, либоизменить цвет холста (воспользовавшись командой «Свойства документа» иликомбинацией клавиш - Shift + Ctrl + «D» - прим. автора), либо создать прямоугольник снужной нам заливкой и поместить его назад (клавишa “End”). Воспользуемся вторымспособом.

Создание прямоугольника возможно с использованиемсоответствующего инструмента. Желательно соблюдатьправильное соотношение сторон, хотя и в любой момент мыможем масштабировать объекты без потери качества, но всвязи, с разной размерностью и разрешением мониторов,может выявляться некоторое искажение вашего рисунка.Например: рисунок, который имеет ширину 40 и высоту 30(4:3) будет экспортирован правильно для любого 4:3 форматамонитора; рисунок с размерами 50x30 не будет. Установимцвет фона прямоугольника, серым цветом, щелкнув на нужномобразце в цветовой палитре в нижней части экрана).

В Inkscape есть огромное количество операций позволяющихнам, создать линии в стиле фанк. Первое, что я предлагаю -функцию Интерполяции. Для начала проведем некоторыеподготовительные действия:

В Inkscape есть огромное количество операций позволяющихнам, создать линии в стиле фанк. Первое, что я предлагаю -функцию Интерполяции. Для начала проведем некоторые подготовительные действия:

· Выбираем инструмент , с помощью него мы выберем тот контур, что создавали ранее.

· Проводим операцию дублирования: «Правка» - «Дублировать» или клавиши Ctrl + D.

· Нажимаем на дублированный объект (контур) до появления маркеров (двойной щелчок).

· Поворачиваем его, примерно на - 20 градусов. Надеюсь, про строку состояния вы незабыли, т.к. информативность нам не помешает, при выполнении данной операции.

· Установим цвет обводки для поворачиваемого контура: удерживая «Shift» и нажимаем набелый образец в цветовой палитре.

· Установим цвет обводки для контура, который следует по форме сердца, на красный.

Теперь, самое интересное, а именно, пришел моментвоспользоваться функцией интерполяции. Для этого,нам нужно два контура – выделяем контур сердца иконтур, который мы изменяли ранее – удерживаемклавишу Shift и нажимайте на необходимые контуры,чтобы добавить их в общее выделение. Открываемокошко Интерполяция («Эффекты» - «Создание изконтура») и заполняем поля, по аналогии рисунка, что япривел ниже.

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

Объедините все объекты: сердце и интерполированные линии. Для этого выделите их и

vr-onl ine | май 201 0

Автор:АнтонКозловakaJimmyJonezz

Email:ant.pet.koz@

gmail.com

Page 67: VR-Online (May 2010)

воспользуйтесь комбинацией клавиш: Ctrl + G. Сохраните вашу работу, и впредь я бысоветовал «сохраняться» как можно чаще.

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

Откройте окно «Выравнивание», нажав на кнопку ,расположенную на панели инструментов (Shift + Ctrl+ A).

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

В начале этой статьи, я предупредил вас, что способ окраски фона, мы рассмотрим позже.Вот теперь и пришло время, когда на цвет и способ заливки, стоит обратить болеепристальное внимание. Выделяем прямоугольник, и заполняем его красным цветом.Откройте диалог заливки и обводки (Shift + Ctrl + F). Используйте градиентное заполнениес помощью кнопки обозначающего градиент - линия с двумя маркерами на концах.Инструмент позволит, как установить цвет, так и определить местоположение, радиус и уголградиентной заливки. Менять градиент очень легко: выберите инструмент , нажмите наобъект с градиентом, а затем используйте комбинацию клавиш Shift + R. Центр градиентабудет обозначен квадратным маркером. Изменение угла и радиуса оставляю на ваше,самостоятельное изучение.

Теперь украсим рисунок дополнительнымиэлементами – добавим сердце и расположим егопозади центральных объектов, при этом увеличивего и изменив прозрачность. Этап действий таков:

· Используйте инструмент для выделениядополнительной формы сердца.

· Установите цвет заливки на белый, а неиспользуйте обводку.

· Установите ползунок прозрачности, в заливке иобводке , около 1 5%.

· Удерживая нажатыми, клавиши Shift + Ctrl , и с помощью маркеров выделения, равномерноувеличивайте объект.

· Расположите его так, чтобы он был вторым, между фоном и главными центральными

Креатиff67

vr-onl ine | май 201 0

Page 68: VR-Online (May 2010)

объектами. Воспользуйтесь клавишей End, для перемещения объекта на слой ниже иклавишей Up для перемещения на слой выше.

Результат наших с вами манипуляций, ниже.

Добавим еще одно фоновое сердце. Сделайте дубликат объекта, над которым ранеепроводились манипуляции и уменьшите его размер, примерно на 1 /3. Установите, ползунокпрозрачности заливки и обводки , на 30%.Размывание около 5%. Переместите этот объект наслой выше, чтобы он был 3-им снизу.

Обратите внимание на два маленьких сердечка, я быпосоветовал, их цвет, изменить на более теплый, ноэто опять же зависит от вашего желания и фантазии.Теперь несколько слов о возможности примененияфильтров, которые помогут преобразить объекты,сделав их более привлекательными. Выбираем нашеглавное, центральное сердце, при этом,первоначально применив разгруппировку объектов, ииспользуем фильтр:«Фильтры»>«Морфология»>«Параллельные Холла».Результат должен выглядеть следующим образом:

Для фонового сердца используйте фильтр – Кубы. Я бы советовалиспользовать фильтры в конце вашей работы над проектом, т.к. ихиспользование несколько замедляет работу программы Inkscape. Естьеще одна важная особенность данной программы – она позволяет неотображать фильтры («Правка»>»Режим отображения»>»НетФильтров»), но это никак не влияет на экспорт документа в«растровый» формат, т.к. используемые фильтры все равно будутприменены, если конечно они были вами использованы.

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

Уважаемы читатель, если ты заметилкакие-либо неточности или у тебявозникли затруднения в освоенииданной темы, а может ты хотел бывнести свои замечания ипредложения, то не стесняйся, пишинам – либо автору, либо на форумнашего сайта www.vr-onl ine.ru, твоивопросы не заставят себя долгождать.

Креатиff68

vr-onl ine | май 201 0

Page 69: VR-Online (May 2010)

Креатиff69

Рассказы в стиле киберпанкЧитая миры

Уже достаточно темно, наступает ночь как-никак. Улицу освещают несколько фонарей,расположенных возле автобусной остановки. Идет мелкий противный дождь. Несмотря нато, что сейчас лето и ночами очень тепло, дождь делает свое дело. Я не хочу промокнуть,мне неприятны капельки воды, попадающие за шиворот. Подымаю воротник своей летнейкурточки и в очередной раз поправляю рюкзак, висящий через плечо. В нем, как всегда,лежит мой верный ноутбук, и парочка других девайсов, без которых я даже из дома невыхожу. Я подхожу к остановке, на которой уже несколько людей ждут, вероятно, последнийавтобус. Вот женщина с пакетами. Наверное, задержалась допоздна на работе, после чегоуспела заскочить в супермаркет и купить продуктов. Теперь пытается приехать домой, ксемье. Двое парней, по состоянию которых можно сказать, что они закончили гулянку итеперь так же хотят уехать отсюда по домам. Молодая девушка стоит в сторонке от всех идержит в руках маленький пакет. Она старается не обращать ни на кого внимания, а тольковыглядывает автобус. Но больше всего мое внимание привлек странный человек в плаще,стоящий позади всех. Его лицо мне не видно, он стоит в тени от дерева и свет фонаря непопадает на него. Он вызывает у меня волнение. Я подхожу к остановке и становлюсь всторонке от всех, в прочем как все и делают, пока не приезжает автобус и не начинаетсятолкучка. Жду автобус. Я понимаю, что все это время он следит за мной. Мое сердценачинает биться все быстрее. Не выдерживаю и медленно поворачиваю голову. В этотмомент, боковым зрением я замечаю, что он поворачивается ко мне и его рукипроскальзывают внутрь плаща. Дальше все происходит как в фильмах при замедленнойсъемке. Капли дождя почти висят в воздухе. Они медленно падают вниз и разбиваются ободежду людей и асфальт. Люди, стоящие на остановке, еле шевелятся. Их движения,словно в воде – заторможенные, вялые. Незнакомец распахивает свой плащ и с криком«Стоять! Полиция!», достает из-за пояса и направляет на меня… Я не разглядел, чтоименно. Может это был пистолет, а может всего лишь жетон. Но судя по тому, что онвыбросил две руки, это и то, и другое. Волнение переросло в тревогу и мое вниманиеначала захватывать окружающая обстановка. Переулки, подъезды, крыши домов. За долисекунды я пытаюсь придумать свой будущий план побега. Словно напуганный кот,прижавшийся к земле от постороннего шороха, я немного согнул ноги и чуть выставил рукив стороны. Нет времени на размышления. Медлить нельзя. Схватив одной рукой лямкурюкзака и прижав ее покрепче к себе, я рванул в ближайший переулок…

Дернувшись, я резко присел на диване, сбросив с себя простыню. Меня заспанного, еще восне бросило в пот. Несколько секунд я просидел так, ничего не понимая. В комнату, сквозьшторы пробивается яркий, солнечный свет. На улице давно день. За окном слышно шумпроезжающих по дороге автомобилей и пение птиц. Тут я начинаю понимать, что со мнойвсе в порядке. За мной никто не гонится. Я не взламывал никакие сайты, не воровал базыданных и не хакал компьютеры NASA. Следовательно, мне не надо пускаться в бега ишарахаться каждого встречного. Это всего лишь глупый сон, приснившийся мне прошлымлетом из-за моего одержимого увлечения хакерскими и киберпанковскими рассказами, зачтением которых я проводил ночи напролет.

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

Начну я с одной из самых классных, на мой взгляд, документальных книг о хакерскомдвижении конца 80-х, в частности Австралии. «Компьютерное подполье. Истории о хакинге,безумии и одержимости», автор Сьюлет Дрейфус. Название книги очень точно отражает еесодержимое. Честно говоря, до ее прочтения я даже и не знал, что Австралия можетпохвастаться своим андерграундом. Оказалось, что все совсем не так. На вопрос, зачем выэтим занимаетесь, некоторые австралийские хакеры могут в шутку ответить: «А чем здесьеще заниматься круглый год?». Но это только шутка. Ведь не из-за скуки и вагонасвободного времени, простой парень, на заработанные деньги, собирает у себя в спальнедва мощных сервера, к каждому проводит по телефонной линии и размещает на них двесамые популярные BBS Pacific Island и Zen. Эти две и еще некоторые BBS стали местомсбора и обмена информацией продвинутых хакеров, которые могли вступить в группутолько по приглашению. Единственная телефонная компания Австралии того времени

vr-onl ine | май 201 0

Автор:Kastor

Email:KastorDriver@

gmail.com

Page 70: VR-Online (May 2010)

Telecom, выступающая в роли корпорации зла для большинствафрикеров. Немецкий чат Altos, в который все через тот же Telecomнезаконным путем попадали австралийские хакеры, рейды,обыски и преследования. Знакомство с красивой девушкой изШвейцарии через компьютерные сети, личная встреча, любовь спервого взгляда и расставание. Это я сейчас вспоминаюзахватывающую историю «Мастера параметров» (Par’a) – одногоиз хакеров. Все это жизнь загадочных людей, посвящающих себяизучению компьютерной техники и сетей. Многие соблюдалиопределенные правила и не вредили взломанным системам,некоторые использовали свои знания для наживи, и откровенночихали на всех. Читая книгу, кажется, что это только хорошонаписанный художественный рассказ. Но все это было на самомделе и поэтому оторваться от текста с каждой главой становитсявсе сложнее.

Скачать: http: //www.book-free.net/publ/39-1 -0-291

Увлекаясь данной тематикой, просто невозможно пропуститьмимо внимания такого человека, как Кевин Митник. Кто этотакой и чем он прославился, я думаю, знает каждый второй.Невероятная тяга к знаниям сделали его в глазах государстваи журналистов чуть ли не угрозой национальнойбезопасности. Начиная с мелких приколов над телефоннымисетями и достигая невероятных способностей в социальнойинженерии, он мог втираться в доверие к сотрудникамкомпаний, проникать в любую систему и ускользать отпреследовавшего его ФБР. Одержимость доходила до того,что взламывая компьютерную сеть, сидя за университетскоймашиной, он мог даже не заметить подкравшегося сзадиадминистратора, который мог спокойно стоять и смотреть чемон занимается. Первая часть книги «Хакеры» Хефнер Кэти иМаркофа Джона рассказывает о нем, Роско и остальных еготоварищах, их взломах, отношениях между ними инеизбежными преследованиями и арестами.

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

образовывают известную группу Хаос. У некоторых созревает план заработка большихденег. Так Pengo и его товарищ пытаются продать агенту советской разведки некуюинформацию, которая бы позволила им вторгаться в компьютеры «заокеанских друзей».Шпионаж и взломы редко приводят к добру, в результате чего некоторые хакеры пускаютсяв бега, другие находят выход в наркотиках, третьи попадаются в лапы полиции и то иделают, что живут между допросами и судебными разбирательствами.

Скачать: http: //ifolder.ru/1 7840779

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

Креатиff70

vr-onl ine | май 201 0

Page 71: VR-Online (May 2010)

системы и подумать, как бы он обезопасил свою сеть, помогают ему проникать туда, гдепосторонним вход запрещен. А как тебе история о двух парнях, по плохому стечениюобстоятельств оказавшихся в тюрьме, получающих доступ к всемирной сети прямо подстрогим надзором охранников. Они не хотели потерять время, дожидаясь своегоосвобождения, поэтому исхитрялись, как могли, чтобы посредством Интернета получатьинформацию для самообразования. Автор книги рассказывает и про обратную сторонухакерского ремесла. Твоему вниманию предстанут несколько историй о людях, которыезанимаются взломом на законных основаниях. Да, прикинь как круто! Тебе за это еще иденьги платят! Все это делается для того, чтобы обнаружить недостатки в системахбезопасности до того, как до них доберется злоумышленник. Поверь, такие истории читатьне менее интереснее, чем о реальных взломах.

Скачать: http: //ifolder.ru/1 7841 071

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

Хочешь знать, как живет, как думает и чем руководствуется настоящийхакер? Хочешь проникнуть в его жизнь и посмотреть на всесобственными глазами? Тогда очень советую тебе книгу ЖитковаАндрея «Хакер». В ней описывается жизнь молодого парня. Причемжизнь не обычная, размеренная и нудная, а нестандартная снеожиданными поворотами, происшествиями и встречами. Наглый,самоуверенный, с блестящим умом и познаниями в хакерском деле он,вместе со своим знакомым, работает над взломом, который можетобеспечить их на долгие годы безбедной жизни. Только вот современем начинают погибать его знакомые, в доверие втираютсянезнакомые люди и жизнь идет совсем не так, как хотелось бы. Совсемне по намеченному плану.

Скачать: http: //ifolder.ru/1 78411 43

"История, которой не было, или "Хакнутые ВЫБОРЫ'99" от Лишутина Андрейя аКа (с) Leshy,так же смотрит на хакерские события от первого лица. Согласись, интересно ведь нетолько какие команды, эксплойты, программы использует хакер. Мне, например, всегдабыло интересно узнавать об их способе жизни, манерах, стиле. Ведь каждый из них этоотдельная личность, а не просто один из немногих с биркой «хакер». Несколько десятковтысяч долларов, связи в разных организациях, организованность и сплоченная работахакерского сообщества может свести на нет даже выборы в стране. Я понимаю, чтоаннотации писать мне может быть и не удается, но рассказ очень интересный иувлекательный.

Скачать: http: //ifolder.ru/1 7841 201

Настоящей книгой в стиле киберпанк я считаю книгу СашиЧубарьяна «Полный root». Да, это он был главным сценаристомфильма «На игре». Я этой книге посвятил два выходных, делаятолько небольшие перерывы на обед, туалет и сон. Можетеговорить, что я нифига не шарю в компьютерной безопасности иабсолютно не компетентен в этом вопросе, но оторваться от текстая был не в силах. Это самый настоящий киберпанк. Когда кланыхакеров воюют друг с другом, когда каждый такой клан имеет своебоевое подразделение, то хакинг, из компьютерного увлечения илиопасного для своей свободы вида деятельности, перетекает вопасный для жизни. Кстати, на счет свободы. Хакеров такогоуровня, как Ринат, давно не считают просто взломщиками. Попадаяв руки сетевой полиции, он запросто может оказаться в Райсе.Самой опасной тюрьме, куда попадают отпеты убийцы. Выжить тампростому хакеру - значит родиться заново. Хотя не известно, чтоопаснее, Райса или свихнувшийся сетевик Джет. Напичканныйимплантатами, он в силах справиться в одиночку с отрядомспецназа и отомстить за свое прошлое не одному хакеру.

Скачать: http: //ifolder.ru/1 7841 308

Креатиff71

vr-onl ine | май 201 0

Page 72: VR-Online (May 2010)

Если книга понравилась, обязательно читай ее продолжение «Точка не возврата». Сам яэтого еще не сделал, так как только что узнал о ней, но меня уже распирает интерес.

Скачать: http: //ifolder.ru/1 7841 31 3

«Глубина, глубина я не твой. Отпусти меня глубина», - говорю я самсебе, когда уже за окном встает солнце, а я до сих пор не разорвалконнект с инетом. Если ты знаешь, от куда это выражение, то яуверен ты прочитал все эти три книги: «Лабиринт отражений»,«Фальшивые зеркала» и «Прозрачные витражи» замечательногописателя Сергея Лукьяненко. Призрачный мир, ставший вторымдомом для многих людей. Так называемая глубина, затягивающаявсех, кто попал в нее. Люди могут создавать свои собственныемиры, жить в виртуальных городах и даже работать в этомвиртуальном пространстве. Здесь найдется место и программистам,и хакерам. Но бывают случаи, когда обычным пользователям простоне по силам совершить ту, или иную операцию. Будь то спасениезаигравшегося подростка, который не может добраться до панеливыхода из игры и вот-вот умрет в реальном мире, ведь просто такпокинуть глубину невозможно. Или кража секретной информации оновом лекарстве от гриппа. Вот здесь и пригодятся невероятныеспособности людей, которых называют дайверами. В их силахпокидать глубину, без каких либо панелей выхода или таймеров, в их силах совершать то,что другим не подвластно.

Несмотря на то, что выложенная книга в обычном текстовике (в другом формате не нашел),все равно советую скачать. Ведь главное не обложка, а содержание.

Скачать: http: //ifolder.ru/1 7841 393

Вот ты просиживаешь большую часть времени за компьютером, пишешь новые программы,настраиваешь различные сервера, и жизнь тебе кажется прекрасной. Большего и не надо. Ачто бы ты делал, если бы, не дай Бог, конечно, случилась катастрофа. Чтобы сделалнастоящий it-шник? Правильно, он бы продолжал заниматься своим делом. Хватит крутитьпальцем у виска, я не сбрендил. Как бы смешно это не звучало, но рассказ «Землясисадминов» канадского писателя Кори Доктороу, написан очень серьезно. Когда планетуохватывает неизвестный вирус, то единственными безопасными местами остаются дата-центры крупных компаний, где используются установки для фильтрации воздуха серверных.Запершись с сотрудниками в огромном здании, как узнать масштабы катастрофы? Каккинуть кличь о помощи? Ведь наверняка все спасательные службы уже не в силах помочьтебе. В такой ситуации, как никогда, важную роль сыграет Интернет, объединяющий такиеже дата-центры по всей планете. Последняя связь с выжившими, это биты информациитекущие по всемирной сети, которую жизненно важно поддерживать в рабочем состоянии. Втакой момент, у руля человечества действительно могут оказаться сисадмины.

Читать: http: //www.computerra.ru/l ib/354693/

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

Скачать: http: //ifolder.ru/1 7848454

Кто такой mindw0rk, думаю, знает каждый. Он не только брал интервью у интересных людейдля журнала «Хакер», но и писал свои повести и рассказы в стиле киберпанк. И это у негополучалось на пять с кучей плюсов, до того все круто. Чего только стоят рассказы «Хаос»,«Загадки Нострадамуса», «Всего через несколько секунд…», «Месть Denny» и другие.Перечислять все рассказы, что выложены в архиве, долго. Намного быстрее перечислить

Креатиff72

vr-onl ine | май 201 0

Page 73: VR-Online (May 2010)

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

Скачать: http: //ifolder.ru/1 7841 535

Прочитав его рассказы, некоторые говорят, что местами он даже ничем не уступаетЛукьяненко. Суперские рассказы от Niro, такие как «Гражданская казнь», «Овердрайв»,«Четвертая передача» и множество других на хакерскую тематику так же полностьюпоглощают меня. Интересные сюжеты, красивое описание событий, все это не можетоставить равнодушным любителя киберпанковских рассказов. Заходим, выбираем любой ичитаем: http: //www.nixp.ru/niro/

А потом возвращаемся за следующим.

Ох, как я много написал. Подымая такую тематику, я просто не мог не упомянуть дварассказа, с которых и началось это мое увлечение. Это «BloodyHart» и «DarkHorror»,которые я скачал в далеком 2006 году с проекта VR-ONLINE. Автором второго рассказаявляется Михаил Корниенко. К сожалению, я не знаю, кто написал первый рассказ, но мнекажется, что он тоже дело рук и пера Михаила. Классные рассказы, в которых группамолодых ребят борется против могущества корпораций и государственных структур. Как разто, что надо!

Скачать «BloodyHart»: http: //ifolder.ru/1 7841 560

Скачать «DarkHorror»: http: //ifolder.ru/1 7841 561

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

Креатиff73

vr-onl ine | май 201 0

Page 74: VR-Online (May 2010)

Креатиff74

Песнь легиона 2. часть 1

Время номер два.

"Утро"

06:00, 1 8 часов назад

"Утром, когда ты решишь, что проснулся, убедись, что это не сон."

Солнце понемногу всходило, народ поднимался из постелей, начинал свои дела.

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

- Эй! Да это же фальшивка! - крикнул он, разглядывая сдачу на просвет. - Что вы мнедаёте?!

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

Живая женщина лежала между двумя трупами. Он достал кастет.

"Я не люблю людей, это я уже говорил. Но ещё больше я не люблю живых и наглых людей."

Первым ударом была сломана челюсть, вторым - плечо, третий удар пришёлся в висок.Череп прогнулся внутрь, ухо перекосилось. Номер восемьдесят два.

"Я люблю дождь. Когда он льёт вот так, смывая следы, позволяя умереть самымвыносливым, которые смогут выйти на улицы."

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

"Не следует позволять им знать меня в лицо, ни к чему им это. Это уже будет не волк противволка, а стадо бизонов против волка в ущелье."

В полусотне метров отсюда вдоль дороги пристроилась пиццерия, они как раз открывались.Работники ещё не пришли полностью. Хоть пиццерия и работала по ночам, но то былазамедленная работа с небольшим числом работников. Между столами ходила девушка летдвадцати, по виду студентка. За стойкой сидел на стуле её ровесник.

Он спокойно прошёл к стойке и начал изучать расценки. Девушка от нечего делатьподошла.

- Что интересует, спрашивайте.

- Спасибо, я сам посмотрю.

- Я не прошу смотреть, я прошу спрашивать.

"Думаю, никто не любит, когда ему незнакомцы указывают, как жить."

Он молча повернулся к ней спиной. В таких заведениях не должно быть камер наблюдения.Любимая короткая труба до сих пор висела под плащом, надёжно скрываясь от постороннихглаз. Резким движением он развернулся справа налево, нанося ей апперкот точно вчелюсть. Девушка устояла, но сильно выгнулась назад. Раздробленные зубы вылетеливместе с окровавленной слюной. Не долго думая, почти не видя её, он наугад махнултрубой. Удар пришёлся по лбу. Девушка развернулась и упала. Номер восемьдесят три.

Парень быстро среагировал, перелетев через стойку как кенгуру. Ты хочешь этого да?

vr-onl ine | май 201 0

Автор:Neon_Kaligula

http://neonka.info

Page 75: VR-Online (May 2010)

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

"Буш - нацист!"

Легион молча прогнулся, голову вверх, плечи вниз, и дотянулся до его головы. Разведкабоем и последовал удар правой рукой слева направо, ломающий кадык. Юноша мгновеннообмяк и закашлял, кровь пошла горлом. Он пытался встать, перевернуться на живот, но нанём сидел сильный мужчина в плаще. Прицелившись, он нанёс ему серию ударов ввисочные доли. Громкий хрип вырвался из разбитого горла жертвы.

Номер восемьдесят четыре.

Сразу за стойкой была дверь в подсобку и туалет.

"Дело в том, что сейчас я доминирую над всеми жертвами лишь тем, что я подготовлен и нежду смерти для себя. Я не знаю ничего про своих жертв, я их не выбираю, и вижу ихвпервые. А когда они будут знать меня в лицо, на их стороне будут почти все козыри: онивыяснят мою тактику, мою цель, они будут доминировать численностью и в силовомотношении. У них будет всё, и они меня будут гнать. . . Хотя, это даже интересно. Хе-хе,бороться против всех одновременно я пока не готов, но стоит попробовать. Посмотрим ктокого."

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

- Эй! - окрикнули его сзади. - Повернись.

В проёме дверей сортира стоял человек в пиджаке и с пистолетом в руках. Легион недвигался.

Попытка выиграть?

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

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

- Положи пистолет, - скомандовал он, - и я тоже положу.

Глаза противника бегали.

Одновременно они стали класть пистолеты, как вдруг Легион одним движением рукизашвырнул пистолет жертве в голову. Жертва упала. Он напрыгнул на него и, смеясь,вырезал ему улыбку от уха до уха. Номер восемьдесят шесть.

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

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

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

Он подошёл к первому, расставляющему продукты на витрине, и сунул ему нож под лопатку,делая надрез справа налево. Кровь почти не шла. Молча и бездвижно они стояли таксекунд десять, пока человек не свалился. Номер восемьдесят семь.

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

Креатиff75

vr-onl ine | май 201 0

Page 76: VR-Online (May 2010)

размаху всадил тесак ему в плечо. Тесак прошёл как меч, чуть ли не отрубая руку вместе сплечом. Номер восемьдесят восемь.

"При работе с тесаками главное - вкладывать в удар всю силу, задействовать всю руку отплеча до запястья."

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

Небритый мужик в куртке мыл свою машину на полянке.

- Зачем вы это делаете? - Спросили его. - Тут растут деревья, тут гуляют дети, а вы моетемашину, ставите гаражи. И мне кажется, что эти масляные тряпки неподалёку ваших рукдело.

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

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

Легион вынул из багажника монтировку и ломик, ломик он сунул себе в рюкзак так, что егоможно было легко достать. С размаху пробив ножом трахею, он затолкал туда монтировкусантиметров на десять-пятнадцать и, прижав тело ногой, отломал её. Голова безвольноболталась на нескольких неоторванных мышцах.

Он завёл машину; заводилась она неохотно, будто делая одолжение кому-то. Взревевмотором, он стартанул, резко перешёл на вторую, сразу на третью, выезжая между ракушекво двор. Здесь две женщины в возрасте и с зонтами выгуливали собак.

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

"Моя мать всегда любила ругаться с теми, кто выгуливал своих собак у нас под окнами.Жаль, что они тогда уходили безнаказанными."

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

"Давно подметил, что, несмотря на то, что всем нам говорили в детстве, при переходедороги нужно смотреть в обе стороны, а при переходе вертеть головой. У нас много психов,которые ездят не по своим полосам."

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

Номер девяносто два.

07:00, 1 7 часов назад

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

Справа шёл относительно новый белый дом, далее магазин и аптека в одном подъезде,снова жилые дома и стоянка. Лёгкой трусцой он бежал мимо них.

Креатиff76

vr-onl ine | май 201 0

Page 77: VR-Online (May 2010)

Креатиff77

vr-onl ine | май 201 0

"Не останавливаться! Не думать! Не рассуждать!"

Около дверного проёма у второго подъезда под навесом стояла молодая мама с коляской.

- Зачем вы гуляете в такую погоду?

- Не знаю, просто вышла.

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

В коляске лежал сонный ребёнок, закутанный в тёплое одеяло. Аккуратно, чтобы не помять,он снял одеяло и взял ребёнка на руки. Тот негромко попискивал.

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

"Если убивать каждую секунду топором насмерть одного человека, то, приняв, что они небудут плодиться, на Земле останется всего один человек через сто девяносто лет."

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

На этот раз всё произошло молча и быстро: от стены отделилась тень, как раз когда онвыходил из будки на свежий воздух. Тень достала из кармана ломик-гвоздодёр. Ломиквошёл точно сзади в череп, протыкая его. Охранник мгновенно осел на пол. Тень уперлась внего ногой и вырвала ломик. Номер девяносто пять.

Сторожевые собаки лаяли, но ничего более сделать не смогли. Тень ушла.

Здесь через дворик и своеобразную детскую площадку какой-то человек в пиджаке и счемоданом спешил на работу. По пути он забежал на помойку, что-то бросил туда, и сталраскрывать зонтик.

"Главное - это давить до конца, не убирать руку, а вдавливать дальше."

Щёлк, щёлк, зонтик хлюпнул и раскрылся в грибок. Раскрывая зонт, он выпустил из рукчемодан, тот упал с неприятным стуком. Почти в тот самый момент, когда он началнагибаться, чтобы поднять чемодан с мокрой дороги, перед ним мелькнуло что-то. Онполучил удар ногой в промежность, и в первый момент ничего не почувствовал. Так, покрайней мере, ему казалось. Но в следующую секунду боль пронзила его, такаянарастающая боль, заставившая его упасть на колени и выпустить из рук зонт.

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

Кто-то вскрикнул неподалёку. Он увидел юную особу в длинной юбке, которая стояла,прижав руки к груди, и кричала.

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

Убить всех.

Тело было заброшено в помойный ящик, привалено сверху картонкой.

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

Прошёл один шаг. В спину человека вошёл ломик, чуть пониже рёбер. Чуть погодя рядом вбок вошёл нож по рукоять, и стал двигаться, разрезая бок и живот. Человек дёрнулся иупал. Номер девяносто восемь.

Page 78: VR-Online (May 2010)

Креатиff78

vr-onl ine | май 201 0

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

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

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

"Это иллюзия. На самом деле каждый человек боится, когда общается с другим. Всегдабоится. Не боятся только идиоты."

- Хочешь это? - Спросил он, поднимая вверх голову на ломике, и тут же отвернулся назад. -Меня это всё достало! Я не хочу этого! ! ! - С этими словами он швырнул голову в неё.

Она выронила ружьё, когда твёрдое липкое круглое тело коснулось её. Он подлетел к нейкак ветер, нанося стремительные удары по голове.

"Женщины плохо переносят удары по голове. Статистика говорит, что у них в среднемгораздо меньше околомозговой жидкости, чем у мужчин, поэтому плохая амортизация."

Мордой об стол, об угол, да посильнее. Болевой шок. С ещё живой он решил снять лицо.Для этого он воткнул нож остриём ей в макушку, провёл две линии от макушки до ушей, имедленно, помогая ножом, стал отдирать кожу. На всякий случай укол в оба глаза, забираемружьё.

Юбилейный сотый номер.

Перебегаем ещё одну дорогу, минуем красивые виды парка. Справа ещё один детский сад ижилые дома. Впереди близ торгового центра люди непонятной национальности разгружалигрузовик. Ветер становился всё более порывистым, они надвигали кепки на глаза, стараясьспрятаться от дождя.

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

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

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

К третьему он вышел сам. Пустой. И спокойный. Шёл не быстро и не медленно, а снормальной скоростью. Поравнявшись с ним, он остановился и кашлянул. Человек тожеостановился.

- Там ружьё. - С этими словами он резко пригнулся, обхватил человека за торс, и резкоперебросил через себя. Тот даже не успел сообразить, что произошло, как оказался наполу, а сверху прямо промеж глаз ему вошёл ломик. Номер сто три.

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

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

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

Page 79: VR-Online (May 2010)

Креатиff79

vr-onl ine | май 201 0

"Нету свободы."

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

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

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

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

Тут же последовал выстрел, такой негромкий и почти неотличимый от обычных городскихзвуков хлопок. Пуля попала одному из трёх всё ещё живых подростков в ногу.

- Стоять! Не оборачиваться! Легли на землю, руки за голову. - командовал он, перезаряжаяружьё.

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

- Повторяю: лежать!

Они легли на землю как подкошенные, просто упав, и закрыли руками головы. Такпоказывают в американских фильмах, когда берут преступников. Те падают лицом в землю,ноги вытянуты, руки за головой. Раздался хлопок, а вслед за ним удар. Номер сто девять.

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

08:00, 1 6 часов назад

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

"А вы верите в ангелов? Нет? Напрасно. Они в вас верят, не подведите их."

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

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

Второй рванулся на обидчика с ножом в руке, норовя проткнуть его. Ему не повезло, онупал, нож выпал из его руки. Пришло время умирать. Легион вспрыгнул ему на лопатки,придавливая всем весом, схватил обеими руками за голову и потянул её на себя. Потом,когда уже казалось, что более некуда её загибать, он отпустил её. Жертва расслабилась,намереваясь вырваться, как вдруг хватка вновь обрела былую силу. Он изо всех сил рванулголову на себя. Позвоночник мгновенно изломился, голова безвольно откинулась назад. Какяблоко на верёвочке. Номер сто двенадцать.

Между школьным двором и дорогой расположился пруд с асфальтированной дорожкой

Page 80: VR-Online (May 2010)

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

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

Здесь, слева во дворах, стояли столь обыденные ракушки. Заспанный человек стоял внутриодной из них и зачем-то протирал и так чистую машину. Делать было нечего. Легион зашёли двинул тому прикладом в висок. Получилось, что удар немного неточен был, в високпопал край приклада. Он-то и проделал надрез, он-то и проломил кости, он-то и повредилмозг. Человек откинулся назад, вцепился изо всех сил в тряпку, которую держал в руках,посмотрел на неё и упал. Номер сто четырнадцать.

У него было ещё две пули в запасе, он не хотел их тратить просто так.

"Государство обязывает нас платить. Вольно или невольно, но мы платим за всё, даже за то,что бесплатно. Телевизор, пусть вы его не смотрите, но вы за него платите. Это круговаяпорука, ни у кого нету выбора, нас просто заставляют."

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

- А она когда выходит, я ей так и сказала, мол, нечего тут, ведь не будет никогда. По любому,всё, что здесь есть, это всё они, и никто другой.

- Вы так считаете? - Спросил он, подходя и садясь на скамейку. - А они сами разве не изваших же? Посмотрите туда, посмотрите себе под ноги, это же всё ваших рук дело!

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

Номер сто пятнадцать.

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

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

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

Номер сто шестнадцать.

В окне напротив что-то мелькнуло. Скорее всего, это была лампа, и, скорее всего, тот, ктоеё выключил, всё видел.

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

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

Он долго не раздумывал, резко отступил назад и тут же попёр на неё с дверью в руках, кактанк, проволок её по стене, пока она не упала, и свалил на неё дверь. Номер стосемнадцать.

Креатиff80

vr-onl ine | май 201 0

Page 81: VR-Online (May 2010)

Креатиff81

vr-onl ine | май 201 0

На минуту он зашёл в ванную и на кухню, вырвал там краны с корнем. Вода забилафонтаном. Со шкафов на него смотрела серая кошка.

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

"Если на вас нападают или если вы нападаете, не затевайте драку. Вырубайте с одногоудара."

Точным ударом в челюсть он повалил её на пол, и тут же начал пинать по голове. Номерсто восемнадцать.

"Это только в самом начале больно, а потом всё нормально. Боль и страх уходят, умираешьспокойно, будто сон."

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

"Я не оборачиваюсь, это бессмысленно. Если я обернусь, а сзади враг, то он нападёт. Еслия обернусь, а враг неподалёку, я привлеку его внимание, он поймёт, что его обнаружили."

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

Второй сидел в позе эмбриона, спрятав голову и закрыв глаза. Легион потрогал егопальцем.

- Встань.

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

Прошла секунда, мальчик тёр руками пустые глазницы и катался по полу. Пара ударовногами по голове, и он умер. Номер сто двадцать.

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

Он прильнул губами к ране на шее и начал пить кровь. Это не было противно или невкусно,он просто понял, что проголодался. Кровь была немного вязковата, липла к зубам, такая снепонятным вкусом, чуть приторная. Пить её было удобно - она сама затекала в рот ипрокатывалась внутрь по горлу. Странно, но вместе с чувством жажды уходило и чувствоголода. Тёплая жидкость разливалась внутри него.

Очень аккуратно он положил трупик на диван и вышел. За эти минуты вода из покоцаныхкранов успела образовать приличную лужу. Ждём соседей снизу.

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

Номер сто двадцать один.

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

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

- Стоять, руки за голову, лицом к стене! - Была отчётливая команда. Оба замерли на месте;голос исходил из тёмной части подъезда, они вряд ли видели чего-нибудь. Один из нихвдруг сделал резкий разворот и решил бежать. Раздался тихий хлопок, он упал.

Номер сто двадцать два.

Page 82: VR-Online (May 2010)

Креатиff82

vr-onl ine | май 201 0

- Повторяю, лицом к стене, руки за голову, - уже почти шёпотом сказал голос из темноты.

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

Человек в спортивном костюме и с барсеткой стоял у стены, так и не выпуская барсетку. Втишине можно было слышать его тяжёлое дыхание, такое глубокое с перерывами иподёргиваниями. Оставалось ещё время, с минуты на минуту ожидался приезд группы,которую должны были вызвать соседи под квартирой смертников, но до этого временинельзя было расслабляться, нельзя было сбрасывать темп.

- Голову выше, - скомандовал он на ходу.

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

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

Номер сто двадцать три.

Ну, что ж, продолжаем разговор.

Page 83: VR-Online (May 2010)

Психо83

Невербальные знакиЧем полезно умение управлять собственной невербаликой. Практическое занятие.

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

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

Почему это работает.

А почему, собственно, эти правила работают? Все очень просто. Если ты регулярночитаешь VR-Online, то уже знаешь, что невербальные сигналы и подсознание человекасвязано как в прямом, так и в обратном направлении. На всякий позорный поясню: если намтревожно, то мы инстинктивно выставляем невербальные “блоки”. И наоборот: сознательновыставляя позой и жестами подобную “защиту” мы подсознательно начинаем испытыватьчувство тревоги. Так уж устроен человек и не надо с этим бороться. Это не баг, а фича,которую можно более чем успешно использовать. Собственно, именно этим мы сейчас изаймемся.

Недоверие.

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

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

vr-onl ine | май 201 0

Автор:АндрейАгаларовакаZeroXor

Page 84: VR-Online (May 2010)

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

Волнение и страх.

О страхе очень подробно говорил Jimmy Jonezz в одном из недавних номеров VR-Online.Страх тоже является одной из наших защитных реакций с давних пор. Есть в страхе и ещеодна польза: когда мы боимся, то в кровь выделяется адреналин, который позволяет намбыстрее соображать, улучшает нашу жестикуляцию, внимание, помогает быстрее найти вглубинах мозга нужную информацию и вывести ее на поверхность. Да-да, я снова сейчаспопрошу вас вспомнить учебные заведения, в частности, такое событие как экзамен.Думаю, все волновались накануне экзамена, а волнение – это и есть слабая разновидностьстраха (о сильных страхах – фобиях, говорить не будем, здесь нужно лично обратиться кспециалистам, лично я подобные эксперименты ставлю ТОЛЬКО на себе и никому ничегоне буду советовать, пока у меня нет корочки как минимум психолога).

Но вернемся к страху. Почему-то зачастую оказываетсянаоборот: когда мы боимся, то мы краснеем, мысли начинаютпутаться, речь становится несвязной, иногда даже не совсемпонятно, что мы говорим, отвечая на экзамене. Так? Причинатоже на удивление банальна – адреналина в крови слишкоммного, значит, нужно каким-то образом его уменьшить. Можноэто сделать, например, выполнив пару несложных физическихупражнений (адреналин просто “выжигается”, как говорят, “выходит вместе с потом”). Тоже не айс ситуация, если студентвдруг посередине ответа примет упор лежа и начнет выполнятьнебезызвестное упражнение под названием “вставай, она ужеушла”, правда ведь? Значит, давим страх тем, чем он и былвызван – собственными мыслями.

Если вдруг представится такая ситуация, попробуй пойматьположение своего тела, когда ты испуган. Я практическиуверен, что ты будешь сутулиться, голову будешь прятать вплечи, да и сами плечи сведешь как можно сильнее. Вся этапоза по-прежнему идет от наших предков, которые очень сильно боялись прыжка какого-нибудь саблезубого создания или камня, брошенного от какого-нибудь питекантропа изсоседнего племени. Решение тоже просто: расправляем плечи, поднимаем голову. Все,сигналы “бояться нечего” пойдут в мозг практически сразу, в ответ на что наш мозг дасткоманду уменьшить выброс адреналина. Колени, конечно, будут еще дрожать пару минут –это будут выжигаться остатки лишнего адреналина, а дальше этого самого гормонаостанется ровно столько, сколько тебе нужно, чтобы с блеском сдать экзамен (естественно,в том случае, если материал ты хотя бы немного знаешь).

Психо84

vr-onl ine | май 201 0

Page 85: VR-Online (May 2010)

Скука и незаинтересованность.

Жесты, выражающие эти эмоции – это то, что мы делаем, когда устали. Это может бытьзевота (в этом случае собеседник откровенно говорит “мне скучно”), расслабленная поза,как будто человек спит с открытыми глазами. Заинтересованный человек будет всегдадержать держать взгляд на твоих глазах, ждать от тебя ответного взгляда, так называемойобратной связи. Опять же, заинтересованный человек ведет себя максимально тихо,стараясь услышать каждое слово, увидеть каждый жест, в то время как человек скучающий– с точностью до наоборот: отвлекается по любому поводу, смотрит куда угодно, только нетебе в глаза.

Рецепт здесь тоже несложен: следим за направлением его взгляда, тем самым определяемто, что же ему интересно в настоящий момент. Если разговор ведется в кафе/пабе, то этимчем-то зачастую оказываются вырезы на юбках и/или блузках официанток (тут уж всезависит от его личных предпочтений и от официанток), также может поглядывать на свойтелефон, стирать с него пылинки. В этом случае можно резко сменить тему разговора на то,что ему интересно, постепенно переводя ее снова в нужное тебе русло. Таким образомсобеседник поймет, что ты не просто читаешь заученный текст в пустоту, а действительноинтересуешься тем, кому ты все это рассказываешь. Ну а если уж прелести официантокили последняя модель яблофона – это и твоя страсть тоже, то сработает “маячок”свой/чужой. Ну а то, что рассказывает “свой” человек – это уже интересно, значит, на какое-то время собеседник снова готов слушать тебя, какую бы скукотищу ты ни говорил.

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

Уважение.

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

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

Кстати, соверши как-нибудь (эксперимента ради) героический подвиг – посмотри какую-нибудь передачу о русском гламуре. Отплевался? :) Тогда я продолжу. Просто обративнимание на их объятия и “цемки-цемки”. Несмотря на то, что и объятия и поцелуи, вродекак, есть, в то же время они будто бы наклоняются друг к другу, не допуская другогочеловека в свое личное пространство. Собственно, подобный жест явно можно трактоватькак неискренность и самый что ни на есть откровенный обман. Ну, в общем, с этимиребятами и так все понятно, а мы продолжим.

Задумчивость.

Так, а теперь убери, пожалуйста руку от левой щеки. Угадал? Процент вероятности этогодовольно высок, сейчас объясню, почему. Дело в том, что, подпирая щеку или потираявисок, человек выдает, что информация, которую он в настоящее время получает, для негоинтересна и здесь есть над чем призадуматься.

Кстати, наверное, тоже не открою секрета, если скажу, что тело человека подчиняется так

Психо85

vr-onl ine | май 201 0

Page 86: VR-Online (May 2010)

Психо86

vr-onl ine | май 201 0

называемому закону перекрестногораспределения влияния зон мозга. Атеперь то же самое, но нормальнымязыком: как ты уже знаешь, левоеполушарие мозга отвечает за логическоемышление, а правое – за “творческое”,образное. Соответственно, еслисобеседник будет потирать правый висок,значит, у него усиленно работает левоеполушарие мозга. Если же, например,твой препод подпер щеку левой рукой вовремя того, как ты построчнорассказываешь ему работу какой-либопрограммы – будь уверен, логическоемышление в настоящий момент у негоотключено, наверняка он думает о том,

как отправится сегодня с друзьями на рыбалку, а твоя программа волнует его не большекакого-нибудь брошенного котенка. Кстати, работа правого полушария мозга вовсе необязательно говорит о том, что человеку все пофиг – очень даже возможно, что ты и самсейчас потираешь левый висок, усиленно представляя как уже завтра начнешьпользоваться всеми теми приемами, которые в этой статье мы и разбирали так упрямо. Аведь за образы, фантазии, моделирование ситуаций как раз и отвечает правое, “образное”полушарие мозга.

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

Page 87: VR-Online (May 2010)

Админинг87

Оптимизируйся5 самых нужных модулей Apache и PHP оптимизаторов

На серверах Apache и языке PHP находятся более чем 70% всех интернет серверов.Без них было бы невозможно выполнять буквально миллионы сценариев исерверных веб-страниц для посетителей сайта. Эти два инструмента, которыедействительно незаменимы для работы веб-серверов во всём мире.

Что естественно, для обоих есть свои альтернативы : ASP, Javascript для PHP и Lighttpd илиNginx для Apache), но большого распространения ничто из них не получило. К тому, жесуществует множество скриптов написанных на PHP, или же без него – на сервере, безвсего этого невозможна была бы работа. Многие малые представители веб-хостингапредлагают своим клиентам PHP, CGI , Ruby(Por), Perl и много чего ещё.

Как и любое другое программное обеспечение, пользователи могут изменить, улучшить иоптимизировать Apache и PHP под свои нужды. Для этого есть много модулей, расширенийи оптимизаторов, и ниже мы рассмотрим наиболее важные из них, которые должны иметькаждый сервер PHP и Apache:

mod_deflate: Этот модуль Apache поможет вам сохранить пропускную способность иуменьшить время загрузки страницы Вашего сайта (особенно полезно для тех посетителей,которые не имеют 1 0Mbit скорости Интернета). Он работает за счет сжатия вывода отсервера перед отправкой пользователю. Вы индивидуально можете настроить какиебраузеры следует игнорировать (потому что не все из них работают с этим модулем) истепень сжатия. Недостатком является то, что сервер будет иметь более высокую нагрузкуна процессор и, возможно, несколько возрастёт задержка за счёт обработки и сжатия всехфайлов и данных перед их отправкой.

mod_gzip: Этот модуль Apache работает так же как и mod_deflate, с той разницей, чтомодуль использует для сжатия GZIP, в результате чего достигается ещё большаякомпрессия (20-30%) в сравнении mod_deflate. Лучше всего использовать вместе mod_gzipи mod_deflate, потому что много наиболее часто используемых браузеров (IE, Firefox, Safariи другие) не поддерживают mod_gzip и часто возникают ошибки. Кроме того, mod_gzipиспользует ещё больше процессорной мощности, чем mod_deflate, поэтому используя его, увас должны быть хорошие вычислительные мощности (4 и более ядер).

mod_bw: Еще один модуль Apache, которые поможет вам сэкономить полосу пропускания(как в смысле объема, так и ежемесячные Мбит в секунду). Он работает как выходнойфильтр в цепочке фильтров Apache. Все данные, которые были загружены пользователямипроходят через него, и если вы установите ограничение полосы пропускания (например,разрешить только 20Mbit / от общей 1 00 Мбит / с), модуль начнет разбиение данных наболее мелкие части. это увеличит задержку между отправкой каждой части, что приведет кзамедлению скорости скачивания для пользователей, которое, в свою очередь, будетэкономить пропускную способность. Это может быть очень полезно, когда, например, у васесть файл хостинг сайта и популярный блог на том же сервере. Если блог попадает напервую страницу социальной сети, такой как Slashdot и Digg, и вы не хотите, чтобы вашресурс стал недоступными из-за того что многие пользователи загружают файлы намаксимальной скорости, Вы можете ограничить полосу пропускания, что приведет к томучто блог будет работать с большим объемом трафика (хоть и с замедленной скоростьюзагрузки).

Zend Optimizer: Это бесплатное приложение, котороепозволяет выполнять на сервере запуск PHP сценариев,закодированных с помощью Zend Guard и, самое главное,ускорить обработку дополнительного кода для повышенияпроизводительности. Существует множество сценариев,которые вам могут понадобиться, они закодированы с помощью Zend Guard, а заранееустановленный и настроенный Zend Optimizer поможет вам избежать каких-либо проблем,которые могут возникнуть при первой попытке запуска Zend Guard.

eAccelerator: Это очень полезное приложение, котороеявляется обязательным для любого сервера,работающего под постоянными средними и тяжелыми

vr-onl ine | май 201 0

Перевод:МаксимБогдановakaLimonell

Page 88: VR-Online (May 2010)

нагрузками. Это ускоритель PHP и оптимизатор, который увеличивает производительностьPHP сценариев, как правило, в 3-1 0 раз и уменьшает нагрузку сервера (на те же 3-1 0 раз) засчет кэширования всех сценариев, так что в любой момент при повторении сценария, онине должны быть составлены еще раз. Это сильно сокращает время процессора иоперативной памяти, а т.к типичный современный сайт состоит примерно на 80% изсценариев PHP, это очень хороший инструмент нужный всем.

Итак, теперь вы знаете некоторые модули и приложения, которые повысятпроизводительность и стабильность любого сервера Apache и PHP, уменьшая при этомиспользование полосы пропускания и издержки. Что ж, пробуйте их!

Админинг88

vr-onl ine | май 201 0

Оригинальный материал: http: //hostwisely.com/blog/5-must-have-apache-modules-and-php-optimizers/

Page 89: VR-Online (May 2010)

Админинг89

Поднимаем VPSНастройка MTA

Не так давно ради интереса почитал несколько обсуждений на форумах, касающихсявыбора MTA для VPS. Если ты не в курсе, то MTA (от англ. Mail Transfer Agent) – агентдля передачи почты, проще говоря, почтовый сервер; VPS (от англ. Virtual PrivateServer) – выделенный виртуальный сервер. Если проще: ось работает у хостера подвиртуальной машиной и находится полностью в твоем распоряжении. В основном,народ писал, что юзает для таких задач qmail и postfix. От таких высказываний у меняаж навернулась скупая мужская слеза и упала на клавиатуру. : ) Как же наш народлюбит забивать гвозди плоскогубцами! В этой статье я расскажу тебе, мой дорогойдруг, как такое дело по-хацкерски настроить для работы на VPS.

В принципе, основная суть работы MTA на VPS сводится лишь к отправке пользователямписем с уведомлениями о регистрации, получении приватных сообщений, оповещенииадмина о каких-либо происшествиях, наличии обновлений модулей и прочее. Созданиепочтовых ящиков другим пользователям - второстепенная задача. Вместе с такимудовольствием как свой личный почтовик, сразу же бонусом получаешь большой гемор:борьба со спамом. =) И тут уже нужно обращаться к технологии грейлистинга и начинатькурить как же это делается. Сразу возникает логичный вопрос: а на фига козе баян? =)Нужен ли для этого свой почтовый сервер? Не проще ли воспользоваться каким-нитьпростеньким smtp клиентиком (MDA)? А роль почтовика сложить на плечи, например, тогоже самого Google Mail , у которого отличный антиспам контроль и 99-ти процентный аптайм!И это, действительно, проще и логичнее…

Делаем так: переносим свою почту на gmail(http: //www.google.com/apps/intl/ru/group/index.html), создаем почтовый ящик админу (пустьэто будет admin@vr-onl ine.ru), а затем уже через него рассылаем свою почту. Получается,что всю грязную работу по рассылке писем будет делать почтовый сервер гугла, а намможно радоваться сэкономленным ресурсам на VPS. Ведь ресурсы на самом деле не такиеуж и большие. Для примера вот что дает хостер masterhost на UNIX VPS тарифе за 11 50рублей в месяц:

Место на диске – 5 Гб.

CPU гарантировано - 500 MHz

RAM гарантировано – 768 Мб

Операционная система - Fedora Core 7, CentOS 5 или Debian 4.0

Пусть в нашем распоряжении имеется VPS с Debian Linux на борту. Debian версии 4.0 носитгордое название Etch. Рассматриваемые мною smtp клиенты: msmtp и ssmtp. С первым изних я уже имею большой опыт работы (про его настройку под FreeBSD я уже как то писал).С него и начнём. : )

MSMTP

Msmtp – очень легкий и простой MDA. Его достаточно часто используют админы Unixсистем. Для начала снесем sendmail , который хостер уже включил в установку ОС:apt­get remove ­­purge sendmail­baseКлюч purge говорит о том, что вместе с удалением пакета нужно снести всё, включая файлаконфигурации. Установим msmtp из репозитория:apt­get install msmtpТеперь создаем конфиг. В случае использования msmtp файл конфигурации может бытьглобальным или персональным для каждого юзера. Для создания глобального конфиганужно файл с именем msmtprc поместить в папку /etc. Для персональной конфигурации подкаждого пользователя в его домашней папке нужно создать файл .msmtprc (Обратитевнимание, что имя файла начинается с точки, т.е. файл является скрытым). Прииспользовании персональной конфигурации есть одна тонкость – пользователь обязательнодолжен быть владельцем файла конфига и единолично иметь права на его запись. Пусть

vr-onl ine | май 201 0

Автор:РоманКостенкоakaLord_of_fear

E-mail:kostenko.r.khv@

gmail.com

Page 90: VR-Online (May 2010)

юзер, от имени которого запускается веб-сервер, имеет имя www-data и состоит в группеwww-data, его домашняя папка /var/www

В таком случае делаем его владельцем конфига и устанавливаем права:chown www­data:www­data /var/www/.msmtprcchmod 622 /var/www/.msmtprcСледует понимать, что файл конфигурации не может лежать и в папке /etc, и в домашнейпапке пользователя одновременно. Работать не будет.

Теперь, собственно, содержимое файла конфигурации:account mymaillogfile /var/log/msmtp.logsyslog offhost smtp.gmail.comtimeout 60port 587from admin@vr­online.ruauth loginuser admin@vr­online.rupassword my_passwordtls ontls_certcheck offaccount default : mymailДанным способом мы создали аккаунт mymail и сделали его дефолтным. Логи пишем внужное нам место - /var/log/msmtp. log. Тут, думаю, всё понятно. Конфиг очень дажечитабелен. Теперь дело за малым. Надо поправить конфиг php:nano /etc/php5/apache2/php.iniИщем строку sendmail_path = и меняем на:sendmail_path = "/usr/bin/msmtp ­t ­i ­a mymail"Не забудь перезапустить апач. ; ) На этом всё. Теперь почту можно отправлять функциейmail().

SSMTP

Тоже достаточно простой smtp клиент. Установим его:apt­get install ssmtpЕсли ты собираешь ssmtp из исходных кодов, то собирай с отключенными флагами "ipv6 иmd5sum" и включенными "mailwrapper и ssl”

Ssmtp имеет 2 файла конфигурации:

• /etc/ssmtp/ssmtp.conf – файл конфигурации

• /etc/ssmtp/revaliases – файл обратных алиасовРедактируем файл /etc/ssmtp/ssmtp.conf## Config file for sSMTP sendmail## The person who gets all mail for userids < 1000# Make this empty to disable rewriting.root= admin@vr­online.ruИМХО, достаточно мутный параметр. Прихожу к мысли, что если оставить без заполнения,то в письме в директиве FROM будет стоять [email protected], т.к. по дефолту апачработает от имени пользователя www-data. После символа собачки будет указано имямашины, на которой это всё крутиться. Если же этот параметр менять, то вся почта будетприходить от имени admin@vr-onl ine.ru. В принципе, всё логично. Однако зачем тогда

Админинг90

vr-onl ine | май 201 0

Page 91: VR-Online (May 2010)

нужен файл revaliases? В нём можно для каждого пользователя указать почтовый адрес,сервер, порт для заполнения шапки письма. Признаюсь, что я не экспериментировал с этимделом, поэтому оставил как есть :) Ибо работа с ssmtp закончилась отправкой первоготестового письма, а затем был установлен msmtp. Посему возлагаю разбор полётов на твоиплечи :)

Идём далее:# The place where the mail goes. The actual machine name is required no# MX records are consulted. Commonly mailhosts are named mail.domain.com# Use mail.domain.com:PORT if you want to specify PORT (e.g. mail.server:587)mailhub=smtp.gmail.com:587Тут понятно. Указываем почтовый сервер и порт.# Are users allowed to set their own From: address?# YES ­ Allow the user to specify their own From: address# NO ­ Use the system generated From: addressFromLineOverride=YESЕсли установить NO, то все письма будут приходить от www­[email protected], т.е. небудет работать перезапись параметра FROM письма. Ставим YES.UseSTARTTLS=YESAuthUser=admin@vr­online.ruAuthPass=my_passwordОбъяснения нужны? Думаю, что нет =)

Редактируем файл /etc/ssmtp/revaliases# sSMTP aliases## Format: local_account:outgoing_address:mailhub## Example: root:[email protected]:mailhub.your.domain[:port]# where [:port] is an optional port number that defaults to 25.#www­data:admin@vr­online.ru:smtp.gmail.com:587Здесь создаем алиас для юзера www-data. Всё это автоматом попадёт в шапку письма.Теперь открываем привычный нам php. ini и правим строку:sendmail_path=/usr/bin/ssmtp –tТеперь в php можно работать с функцией mail(). На этом всё. Надеюсь, что даннаяинформация тебе пригодится. Если возникли вопросы, то задавай их у нас на форуме. Довстречи ;)

Админинг91

vr-onl ine | май 201 0

Page 92: VR-Online (May 2010)

Школа92

Уроки по GimpРадиоактивная рука

Решил на днях нарисовать кисть руки, похожий на кистьруки в сериале “Секретные материалы”... Для этого яраздобыл изображение кисти руки и подкорретировалего под свои нужды. А вам только остается заглянуть вархив, так как я прикрепил его к статье.

Пункт 1 .

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

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

“Моментальная маска” позволяет подчистить выборку мягкойкистью, черной или белой. Нажав на ту же кнопку, вернитесьс маски на выборку, затем растушуй выборку (Выделение >

Растушевать. . . ) на 1 5 пикселей.

Пункт 2.

Теперь убавим краски кисти руки. Сохрани выборку в канале(Выделение > Сохранить в канале), дав ей имя Запас. В окнехолста отключи выборку, нажав Ctrl+Shift+A. Сохранение выборкив канале передает активность следующему каналу, поэтомущелкни на исходном слое в диалоговом окне слоев, чтобы сноваего активизировать. Дублируй слой (Слой > Создать копию слоя) иназови его Бледный. Осветли новый слой (Цвет >Обесцвечивание) и установи значение его режима “Объединениезерна”. Вот и контрастность изображения усилился.

Пункт 3.

Продублируй “Бледный” слой и назовидубликат Цветной. Двойной щелчок в окневыбора цвета переднего плана на Панелиинструментов откроет диалоговое окно. Втекстовом поле введи значение 00f800.Чтобы изменения вступили в силу, нажмиОК.

Примени инструмент, похожий наволшебную палочку, к белому фону, чтобылегче окрасить зеленым цветом. Послетого, как ты выделил белую область,нажми комбинацию Ctrl+I и увеличьвыделение на 5 (Выделение >Увеличить. . . ).

Потом перетащи зеленый квадрат на рукуи режим слоя ставь в “Умножение”.

Это придаст более-менее фосфоцерирующий оттенок руке.

Пункт 4.

Все еще этот слой “Цветной” активен. Добавляем прозрачный слой(Слой > Создать слой. . . )поверх стопки слоев и называем его “Мрак”. Теперь вернем выборку из канала “Запас”,открыв диалоговое окно каналов(Окна > Прикрепляющиеся диалоги > Контуры), выделив

vr-onl ine | май 201 0

Автор:АндрейПетрикинakaZanuda25

[email protected]

Page 93: VR-Online (May 2010)

Школа93

vr-onl ine | май 201 0

нужный канал и нажав кнопку “Канал” справа внизуокна (на рисунке обведена кружочком).

Выдели слой “Мрак” в диалоговом окне слоев, чтобысделать его активным. Нажми Ctrl+I и увеличьвыборку на 5 пикселя (Выделение > Увеличить. . . ) ирастушуй ее (снова) на 1 5 пикселей. Потом снованажми Ctrl+I . В окне изображения нажми клавишу D,то есть ты назначаешь черный цвет для фона, затемперетащи передний план на выборку.

Пункт 5.

Добавляем новый прозрачныйслой под названием “Туман”.

Откроем фильтр Плазма (Фильтры > Визуализация > Облака >Плазма. . . ), задаем турбулентность 2,6 и нажмем ОК, чтобы применитьизменения. Обесцвечиваем этот слой (Цвет > Обесцвечивание) дляуменьшения количества видимого тумана.

Пункт 6.

Снова вызови слой Запас. Убедись, что после его вызова слой “Туман”выделен и активирован. Инвертируй выделение (Выделение >Растушевать) и растушуй его на 1 0 пикселей, затем, нажав в холстеCtrl+X, вырежь выборку из туманного слоя. Если туман слишком яркий– уменьши яркость слоя Тумана, как показано на рисунке. Потомснимаем выделение.

Пункт 7.

Создаем новый прозрачный слой с названием “Темный” и заливаем черным цветом.Добавляем белую маску слоя (Слой > Маска > Добавить маску слоя). Еще раз вызовисохраненную выборку Запас и растушуй ее на 1 0 пикселей. Активируй маску слоя Темный,выделив ее, затем залей выборку черным цветом. Задай значение режима смешения слоевдля слоя Темный как Перекрытие и очисти выборку (Ctrl+Shift+A).

Потом на маске слоя Темный вызови контектное меню, нажав на правую клавишу мыши,чтобы применить маску к слою.

Финиш.

Вот и все. Можешь посмотреть на мою халтуру.

Page 94: VR-Online (May 2010)

Школа94

Уроки по GimpОбои в стиле Mac.

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

Примечание: я рекомендую сохранять вашу работу в. XCF очень часто.

Шаг 1 .

Прежде чем создать изображение, нужно решить, какие резолюции для обои ставить. Этовсегда лучше начинать с больших, таких как 1 600x1 200, так как его всегда легко настроитьразмер изображения, чтобы меньше резолюций в дальнейшем.

Сейчас мы создаем новое изображение размером 1 600x1 200. Ты можешь уменьшитьизображение так, чтобы тебе было виднее и удобнее работать. К примеру, я уменьшилхолст на 25.

Шаг 2.

Возьми инструмент “Градиент”, предварительно выставляемзначения цвета фонов: передний = 00e600; задний = 0000f1 .Теперь применим Градиент сверху вниз к изображению,только следи, чтоб строго вертикально равномерноприменился градиент к будущему обою.

Шаг 3.

Создаем новый слой. Снова береминструмент “Градиент”, попутно назначивбелый цвет передного фона. Меняем внастройках инструмента “Градиент”: в

пункте “Градиент” ставим Основной в прозрачный; пункт “Форма” –Радиальная.

Шаг 4.

Применяем Градиент так, как показано ниже(то есть сверхувниз).

Меняем режим слоя с “Нормального”на “Перекрытие”.

Шаг 5.

Добавляем новый слой. Бери инструмент “Контуры” исделай так как показано ниже

После операции “Контуры” незабудь нажать на кнопку“Выделение из контура”.

Шаг 6.

Возьми инструмент “Градиент” и в настройках инструментапоменяй значения: Форма – “Линейное” и Градиент –“Основной в прозрачный”, предварительно убедившись, что

передний фон имеет белый цвет. Изаливаем градиентом выделеннуюобласть.

Меняем режим слоя на “Перекрытие”.

Шаг 7.

Снова создаем новый слой. С помощью инструмента “Контуры”рисуем треугольник так, как показано ниже. Но только на этот раз мы

vr-onl ine | май 201 0

Автор:АндрейПетрикинakaZanuda25

[email protected]

Page 95: VR-Online (May 2010)

Школа95

vr-onl ine | май 201 0

использовали черный цвет для переднего фона. Этокогда будем заливать градиентом. Только смотри,чтобы было снизу наверх.

И снова переключаем режим слоя на “Перекрытие”.

Шаг 8.

Опять создаем слой. Снова с помощью Контуров мырисуем так, как показано ниже.

И применяем Градиент (Белый цвет переднегофона, Основной в прозрачность ) слева направо.Установливаем слой в режим "Перекрытие".

Шаг 9.

Мы снова применяем инструмент “Контуры” так, какпоказано на рисунке ниже.

Шаг 1 0.

Черный цвет ставим для переднего фона (это дляГрадиента). Берем инструмент “Аэрограф”(Кисть:Circle Fuzzy(1 9) и масштаб = 1 0,00) и рисуемлинии, прилегающие к внутренней сторонеконтуров, как показано ниже.

Затем щелки правой клавишей мыши, чтоб выбратьиз контекстного меню Выделение > Инвертировать.И дальше мы рисуем нижний край.

Шаг 11 .

Еще раз создаем новый слой. Только не забываеминвертировать.Выделение все еще активно. Мывыбираем инструмент “Заливка” и заливаемконтуры белым цветом. Меняем режим слоя на

“Перекрытие” и ставим непрозрачность на 55.

Шаг 1 2.

Еще раз новый слой создаем. Затем щелки правойклавишей мыши, чтоб выбрать из контекстногоменю Выделение > Увеличить. . . . Ставим 1 5 px.Проходим по контурам Аэрографом черного цветанепрозрачностью 33. Потом мы снимаемвыделение.

Шаг 1 3.

Мы снова рисуем контур округлой формы, который охватываетпочти полностью все изображение, за исключением верхнейправой части. С белым цветом, выбранный в качестве переднегофона и "основной в прозрачный",Градиент проводим его от нижнеголевого стороны до серединыизображения.

И снова ставим режим слоя в “Перекртыие”и прозрачность в 75.

Шаг 1 4.

Создаем еще раз новый слой. Берем Градиент с белым цветом(Основной в прозрачность) и заливаем им с верхнего правого

Page 96: VR-Online (May 2010)

угла до центра. Снова ставим режим слоя в “Перекрытие”.

Шаг 1 5.

Создаем новый слой и инвертируем его, нажав Ctrl+I . Повторяем шаг 1 5. Только так, какпоказано ниже.

И ставим слой в режим “Перекрытие” и мы закончили этот почтинескончаемый урок.

Финал.

Осталось только нанести либо предустановленным кистем, либолюбой логотип. К примеру, я поместил логотип Виста ипрозрачность поставил ему на 55.

Школа96

vr-onl ine | май 201 0

Оригинал статьи: http: //gimp-tutorials.net/mac-wallpaper-tutorial

Page 97: VR-Online (May 2010)

Школа97

Проверяем дату средствами PHPО важности курения манов

На многих сайтах, форумах, соц. сетях и иже с нимипользователь, как правило, проходит одну незамысловатуюпроцедуру под названием регистрация. И после завершенияэтой самой регистрации, как правило, запоминается двазначения: дата регистрации пользователя и дата рожденияего же. В принципе, поля эти важные и нужные, мало ли,вдруг администрация сайта дает какие-либо бонусы"старожилам" или, наоборот, тем, кто обосновался на сайтесовсем недавно, ну или просто присылает открытку на ДеньРождения. И если дата регистрации создаетсяавтоматически, а машина - человек хороший и ей лично япривык доверять, то к пользователю, заполнявшему анкету уменя такого доверия совершенно не имеется. По зломуумыслу или в результате случайной ошибки можно увидеть,например, что некий пользователь родился, например 31

февраля (неважно какого года). Особенно забавно это будет в тех случаях, когда введеннаяпользователем дата стопроцентно должна находиться после 1 970-го года, значит, длякомпактности она, скорее всего, преобразуется во временную метку Unix - результатобратного перевода наверняка шокирует Вас и, возможно, и машину.

Хотелось бы также коснуться таких моментов:

1 . Русский человек предпочитает все постигать на практике. Над (вообще-то правильным)советом юниксоидов "курите маны" Вы ведь тоже как правило смеетесь, конечно, если Вы исами не юниксоид и важность курения манов понимаете прекрасно.

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

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

И что в результате?

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

Килобайты кода.

<?phpfunction showForm()$day = '';$month = '';$year = '';for ($i=1; $i<32; $i++)$day .= '<option value="'.$i.'">'.$i.'</option>';

for ($i=1; $i<12; $i++)

vr-onl ine | май 201 0

Автор:АндрейАгаларовакаZeroXor

Page 98: VR-Online (May 2010)

$month .= '<option value="'.$i.'">'.$i.'</option>';for ($i=1950; $i<2011; $i++)$year .= '<option value="'.$i.'">'.$i.'</option>';

$date_form = '<select name="day">'.$day.'</select><selectname="month">'.$month.'</select><select name="year">'.$year.'</select><input type="submit"value="Check date!" /><input type="hidden" name="action" value="check_date" />';

return '<form method="post">'.$date_form.'</form>';function showCheckDate()if (checkdate($_POST['month'], $_POST['day'], $_POST['year']))return 'true';

elsereturn 'false';

if ($_POST['action'] == 'check_date')$content = showCheckDate();

else$content = showForm();

print('<html><head></head><body>'.$content.'</body></html>');?>Разбор полетов.

Собственно, здесь и разбирать-то особо нечего, но все же:

Функция showForm() возвращает HTML-код формы, в которую мы и будем вносить дату.Что касается года, то я решил взять четкий и фиксированный промежуток времени от 1 950до 201 0 года, ничего не мешает Вам добавить немного функционала и рассчитывать годы взависимости от года текущего.

Функция showCheckDate() возвращает слова 'true' или 'false' в зависимости от того,является ли введенная дата валидной или же нет. Здесь тоже, если уж по хорошему, нехватает проверки значений, пришедших в массиве $_POST[], я специально не стал ихуказывать, чтобы не усложнять код. Если решите применять код в боевых условиях,обязательно допишите эту проверку.

Собственно, в showCheckDate() и находится та самая замечательная библиотечнаяфункция checkdate(), которой в качестве параметров передаются месяц, день и год тойсамой даты, которую нам требуется проверить на валидность. Как видите, все до смешногопросто - достаточно лишь заглянуть в мануал aka учебник; помнится, один мой студентписал аналогичную процедуру на PHP около двух недель. О разнице в скоростях работыпроцедуры, написанной на PHP, и процедуры, входящей в интерпретатор, я вообщепромолчу.

Кстати, с помощью checkdate можно проверять год на "високосность", нужно лишьзапросить у нее ответ на 29 февраля нужного нам года. А, может, функция проверкивисокосного года тоже есть в интерпретаторе и можно еще раз обойтись без изобретениявелосипеда? ;-)

Школа98

vr-onl ine | май 201 0

Page 99: VR-Online (May 2010)

Мнение VR99

Мнение VR"Социальные сети"

Va-Bank: Я против социальных се-тей. Я уже даже и не помню поче-му так решил. Наверно этомуспособствовали три причины. Пер­вая. Мои друзья, мои знакомые илюди с работы. Некоторые людикаждой из групп «тусуются» в соци-альных сетях. Одноклассники, вконтакте, мой мир на mail . Вотвстречаюсь с ними и в принципе по-говорить даже не о чем. Тема од-на, что он(она) делал сделал (илиделает) у себя на сайте. Мне запримером даже далеко ходить ненадо. Есть на работе один чел, ко-торый сидит в контакте. Смотрючем то занимается за компьюте-ром. Такое лицо, как-будто решаетбудущее нашей страны. Подхожу.А нет. В контакте он и убирает ка-кашки своего питомца. Потом соби-рает яблоки в виртуальном саду ив качестве подарка отправляет ихсвоим таким же Зависимым дру-зьям. И так весь рабочий день. Иведь этого человека можно понять.Он ведь на сайте не потому что нехочет работать, а потому что у негоуже зависимость от этого сайта.Он не может жить без него. Это какалкоголизм или наркомания, а мо-жет как игромания ну и т.п. Прихо-дит на работу и первым делом насайт лезет. Ну ведь есть реальнаяжизнь. Я не против живого журна-ла и ему подобных. Но мне кажет-ся это перебор. И с друзьями также. Хочу попить пивка. Нет они за-няты. Чем? Да надо разыскать од-ного человека на одноклассниках,ведь мне это так необходимо и таккаждый раз. Может я преувеличи-ваю, но факт есть факт, моральноя потерял добрую часть друзей.Виртуальный мир «лучше реально-го» (сарказм).

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

ловалась под лестницей в школе.И все. У моих знакомых именно таки произошло. Я наверно дурак иревнивец. Мне все равно так спо-койнее. Как говорится «Доверяй,но проверяй». Есть конечно у нее иаська, и зарегистрирована она нанескольких форумах. Но…

Третья. Да просто неохота тратитьвремя на виртуальную жизнь. Вотсайт VR-Online. Посмотрел новыепосты и т.п. Прочитал, ответил и по-шел гулять/работать. Конечно соц-сети не всех затягивает, нобольшинство все таки «зависимы»и это огорчает. Ну как-то так навер-но. Да кстати. Я ведь пробовал од-ноклассники и мой мир на mail . Такчто из нутрии немного знаю все этодело. Теперь вот на одноклассни-ках не могу удалить профиль - ло-гин и пароль забыл. Бывает…

Jimmy Jonezz: Лично меня, на дан-ный момент, социальные сети ма-ло привлекают. Одно время, япросто погружался в пучины однойизвестной социальной сети; когдавсе исследовал и рассмотрел подмикроскопом, понял, что просто те-ряю время. Те сайты (социаль-ные), на которых я имею аккаунт,использую в качестве медийных ре-сурсов: скачиваю музыку, просмотринтересных изображений и ви-деороликов. В меньшей степени ис-пользую для общения, т.к. еще разубеждаюсь, что живому общению(тет-а-тет) нет замены. Хотя быва-ет интересно общаться с интерес-ными людьми, которые оченьдалеко от твоего города и расстоя-ние отмеривается в несколько часо-вых поясов. Социальная сетьсодержит в себе различные направ-ленности, начиная от сайта зна-комств домедино-развлекательных ресур-сов. Здесь и группы по интересам,увлечениям, фан-клубы. Однимсловом все то, что является состав-ной частью социальной сферы че-ловека, но хочу отметить, что стоитопасаться такие вот ресурсы - воз-можность быть "поглощенным" со-

циальной сетью очень высока, иэто ужасно. Это хуже чем нарко-тик, нельзя превращать социаль-ные сети во "вторую" жизнь.Реальная жизнь и окружающеенас пространство куда более ин-тересней и загадочней, нежели«электронная жизнь».

Kastor: Социальные сети? Хм. Уменя с ними довольно интереснаяистория. «Под натиском обще-ственности» я года два назад за-регистрировался Вконтакте.Добавил парочку друзей, пошлатупая переписка, мол, че делаешьили как дела. Потом кто-то при-слал письмо счастья, которое еслине отправить десяти своим знако-мым, то у тебя случится чуть ли неАрмагеддон. А фигли и не отпра-вить его? Делать особо нечего.Когда я закончил «спамить», черезпару часов пришло ЛС от какого тобородатого чувака: «Спасибо, чтовоспользовались нашим сервисом.Всего хорошего». В непонятках, яна пару дней забил на контакт, акогда попытался зайти, то понял,что мне кто-то пароль поменял,так как я его точно помню. Вообщени капли не расстроился потому,что не увидел в этом сервисе ни-чего полезного. Но, что бы хоть од-ним глазком глянуть, чтотворилось в нашей группе отLiveofpc (простите, что не бывалтам), пришлось зарегистрировать-ся еще раз. Тупое название вшесть единиц, не менее тупой па-роль и аватар, на котором изобра-жен был призрак, сфотканныймоим одноклассником у себя в га-раже (правду говорю). Через ка-кое-то время Jimmy спросил, чтоза фигня у меня в статусе написа-на. Откуда я знаю, я сто лет не за-ходил под этим аккаунтом иоказалось, какой-то хакер Васяподобрал к ней пароль. Что ж, по-прощался с контактом второй раз.Не страшно. Но так вышло, что да-же такому пофигисту социальныхсетей как я, пришлось регистриро-ваться третий раз. У меня появи-лись несколько знакомых, с

vr-onl ine | май 201 0

Page 100: VR-Online (May 2010)

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

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

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

Многие кричат о том, что, мол "насконтролируют", "за нами следят",etc. . . А мне интересно, что, до появ-ления социальных сетей не было,допустим, паспортов и любого че-

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

А про, якобы, засилье "гламурныхкисо", "школоты", "военов с лучеме-тами" и аналогичных я бы сказалтак: Вы выйдите на улицу, Вы сядь-те в автобус, например. Может мнене верить, но Вы обязательно ивсенепременно увидите и кисо, си-дящую на потертом кресле и дую-щую губки, увидите "реальныхпацанов" в кэпках, увидите стайку"школьнегов", с гыгыканьем и ма-том делящих между собой куплен-ную в ларьке пачку сигарет. Так чтовсе траблы и отрицательные "пер-сонажи" Сети - это всего лишь отра-жение нашей реальной жизни.Знаете, то, что соц. сети позволяютувидеть этот негатив - это тоже хо-рошо, может быть, кого-то увиден-ное заставит взглянуть на себя состороны и задуматься.

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

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

клиентами и финансами. По-лезным же делом в социалках мо-гут заниматься лишь рекламщикии стартаперы, для продвижениясвоих продуктов и проектов. Припомощи того же контакта можнонеплохо раскурить сайт, достаточ-но иметь несколько аккаунтов, припомощи которых спамить, остав-лять везде линки на свои проектыи создавать группы. Я сижу вкон-такте не более 1 5 минут в день.Приглашаю людей в группу VR,проверяю стенку, дополняюконтент и все. Именно "социаль-ной" деятельностью я не занима-юсь. Не пишу сообщений, несмотрю фото, ничего.

Lord_of_fear: Социальные сети го-ворите? Пустая трата времени.Так же как, например, болтовня поаське. Около 7 месяцев назад яполностью отказался от ICQ. За 4года юзания аськи у меня накопи-лось огромное число контактов,каждый второй из которых считалсвоим долгом сразу после моеговыхода в онлайн написать “Привет.Как дела?”. Знакома ситуация? Во-во. Ещё как знакома =) Так можновсё рабочее время до обеда по-тратить на бесполезный трёп и нифига не сделать по работе. И совсякими одноклассниками, вкон-тактами и прочим такая же исто-рия. Часто ли у тебя возникаетжелание пообщаться в онлайне сосвоими одноклассниками? Скажуоткровенно: у меня вообще ни-когда такого не бывает :) Од-ноклассники – это люди, скоторыми пришлось проучиться 1 0лет не по своему желанию, а из-застечения обстоятельств, поэтомусо многими из них даже в реалеобщаться не хочется. : ) И это каса-ется не только одноклассников, нои все остальных моих знакомых иприятелей. Посему ну на фиг всеэти соцсети. На компьютерную те-матику я лучше пообщаюсь на фо-руме vr-onl ine, а всё остальноеобщение только в реальной жизни.)) Вообще замечаю, что очень ма-ло стал в онлайне общаться. )))

Zanuda25: Я отношусь к соц.сетям никак, то есть ниотрицательно и ни положительно.

Мнение VR1 00

vr-onl ine | май 201 0

Page 101: VR-Online (May 2010)

Да, соц. сети все чаще и чащестали играть главную роль в жизнипочти каждого человека. Это ихорошо, и плохо.

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

Сам пробовал пожить в соц.сетях:“Одноклассники”, “ВКонтакте” и“Facebook” и понял, что именнонравятся и не нравятся этисоц.сети. Эти социальные сетипомогли мне понять, что такоевиртуальность. А вот в“Одноклассниках” я нашел всехродственников своих родителей исвоих однокашников, и сейчас мыактивно переписываемся. Этожирный плюс, когда тыразыскиваешь “без вестипропавших” людей. А вот огромныйминус – повторяю – уход изреальности в виртуальность.

Мнение VR1 01

vr-onl ine | май 201 0

Page 102: VR-Online (May 2010)

VR-Crew1 02

VR-CrewСообщество VR в лицах

vr-onl ine | май 201 0

Zahod5277

РоманКостенко

ИгорьАнтонов

x-zone

WWWNET

Va-Bank ZeroXor

Page 103: VR-Online (May 2010)

VR-Crew1 03

vr-onl ine | май 201 0

СергейДубовикakaSD

АлексейСтуликовakaA.S

Kastor

Юрий Рожков

JimmyJonezz

Page 104: VR-Online (May 2010)