Поздравления с Новым Годом и подведение итогов



6 коммент.
От всей души поздравляю всех пользователей UNIX-систем с Новым Годом и Рождеством! Пусть у нас у всех сбудется всё, чего хочется. Главное - берегите себя, друзья, ибо здоровье и оптимизм в нашем деле это самое главное. Ну и конечно же, новый 2011 год уж точно будет годом Юниксов на десктопах :-)

С новым годом!

Читать далее

Впечатления от Mozilla Firefox 4.0 beta8 в Debian Linux



24 коммент.
Не так давно была анонсирована бета-версия броузера Mozilla Firefox 4.0 beta8, который так любит чавкать нашей оперативной памятью, гигагерцами и гигабайтами. Небольшая заметка о том, что в нём нового и как Firefox4 выглядит - мало ли кто ещё не видел.
Читать далее

Создание постеров с beamerposter



19 коммент.
Некоторое время назад был опубликован пост об Inkscape, в котором уважаемые комментаторы попеняли автору на то, что не использовал для постеров beamerposter. Автор взял на себя очередное социалистическое обязательство в этот самый beamerposter потыкать палочкой. Результаты оной деятельности можно
Читать далее

Перенос Linux на другой диск



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

Особенности документации Doxygen для MATLAB скриптов



2 коммент.
Документирование программ MATLAB в Doxygen имеет свою специфику, поэтому нам пригодятся далеко не все возможности Doxygen. Далее следует краткое описание основных моментов при комментировании кода MATLAB.
Читать далее

Генерация документации с помощью Doxygen к программам MATLAB



15 коммент.
Doxygen это кроссплатформенная система документирования исходных текстов - то есть, пишем в коде нашей программы комментарии в стандартизированной форме, скармливаем это Doxygen и на выходе имеем документацию по использованию нашей программы. Doxygen, разумеется, ни в коем разе не отменяет написание нормальной документации к программам, однако поможет быстро вспомнить вам, что делает написанная вами программа до Грюнвальдской битвы. И использовать это чудо можно не только для С/C++, но даже для программ на MATLAB, для чего есть описываемый далее небольшой перловый костылик.
Читать далее

Тестирование быстродействия MATLAB и GNU/Octave



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

Электронная книга PocketBook 360: обзор и впечатления



23 коммент.
С достаточно раннего протуберантного возраста мне нравилось читать - сначала бумажные книги, потом с экрана. От литературы художественной я плавно перехожу к технической и (иногда) обратно. Для покорения новых горизонтов нужно читать статьи и талмуды предшественников, а с LCD экрана это не очень удобно, так как экран не слишком контрастный. Хотелось что-нибудь портативное, долгоживущее от батареек, с контрастным экраном. И тут я вспомнил про E-Ink... Несколько дней прочёсывания форумов и отзывов, и вот, ещё через неделю, держу в руках PocketBook 360, чему и посвящена заметка.
Читать далее

Пингвинам о пингвинах



19 коммент.
В комментариях к посту о Блогодне-2010 от ведущего блога ♠ Краплёная колода ув.тов. Dr.AKULAvich прозвучала идея "поддерживать такие молодые блоги и делать своеобразный digest свежей прессы". Первый камень уже заложен. Мне эта идея понравилась и я решил взять из своей длинной RSS-ленты пять блогов и о них что-нибудь написать. Итак, несколько блогов о Linux на русском языке, которые я время от времени читаю.
Читать далее

KdeSVN: графический svn клиент к Subversion



11 коммент.
Система контроля версий Subvervion, она же SVN, чрезвычайно удобна для небольшой группы, особенно если серьёзных требований по веткам и их слиянию не предъявляется. И хотя в консоли Subversion пользоваться удобно и просто, иногда бывает удобнее просмотреть графически историю версий или быстро вытащить нужный файл определённой ревизии - тут нам поможет svn клиент kdesvn.
Читать далее

Пример библиотеки для скриптов на языке bash - shell-framework



22 коммент.
Это гостевой пост автора Beggy. Оригинальный пост доступен по этой ссылке.

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

Читать далее

Блогодень-2010



12 коммент.
Пусть этот пост несколько отходит от темы блога, но сегодня - день блоггера, и мне хотелось бы сказать несколько слов моим дорогим читателям, которые, может быть, однажды станут писателями. Мне иногда задают вопросы по почте и иногда при личном общении: "зачем ты ведёшь блог? для чего всё это?". Как вести блог?
Читать далее

Рисуем графическим планшетом в MyPaint



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



Преамбула
Этот обзор несколько необычен: он написан целиком под Windows. Удивление читателя понятно и будет удовлетворено. Дело в том, что программа художественной растровой графики MyPaint имеется только в сильном тестинге Debian, притом даже из этого самого тестинга при установке кучи пакетов попытка запуска заканчивается вот так
Читать далее

Книга по Linux: The Debian Cookbook



26 коммент.
Позволю себе немножко пафоса в заголовке - не пугайтесь, это не книга по Linux, а всего лишь PDF-версия постов этого блога, или повареная книга Debian как следует из названия. Некоторое время назад я взял на себя социалистическое обязательство изваять справочник по Debian, а точнее сделать часть своих постов в виде книжки под формат ежедневников А6. Собственно, проект достиг стадии, которую можно назвать первым релизом.
Читать далее

Скриншоты в Linux, или как сделать снимок экрана



26 коммент.
Скриншоты - это как показы высокой моды:
всё красиво и вычурно, но по улице в таком не ходят.
(с) глас народа из раздела Галереи на ЛОРе

Как-то раз мне задал вопрос один новоиспечённый убунтовец: как в Linux сделать скриншот в иксах (screenshot, снимок рабочей области)? А то тут кнопка PrnScr/SysRq не работает..." Естественно, ему было рассказано про истинное назначение кнопки SysRQ, но вопрос остался: чем скриншоты в Linux делать!? Как и многое другое в Linux, это имеет 1001 решение.
Читать далее

Новый шаблон, эпизод 3: Классицизм



48 коммент.
Добрый молодец али девица, посетив сию обитель мудрости и вселенской благодати, да узреет очередные творческiя муки многострадального автора в поиске недостижимого совершенства. Сия смена обличия бложия есть верстовой камень новый в деле освоения XML-я басурманского. Да не сочтёт за труд сей добрый молодец али девица поделиться в комментариях о думах и впечатлениях своих по сему поводу...
Читать далее

Автозапуск приложений в IceWM: IceWM autostart



26 коммент.
Автоматический запуск приложений в автозапуск IceWM при старте - вещь простая, но всегда вылетает из моей головы. Так как гуглить в яндексе на эту тему приходится не в первый раз, выкладываю это тут.

Как говорит документация, которую всё равно настоящие джигиты не читают, в IceWM начиная с версии 1.2.13 имеется бинарный файл icewm-session. Именно он запускает все компоненты IceWM, такие как собственно icewm, системный лоток icewmtray, скрипт автозапуска startup, и другие. Так что для автозапуска приложений в IceWM правим (или создаём сами) файл ~.icewm/startup в домашнем каталоге. Это обычный bash-скрипт, с тем лишь отличием, что каждая команда в нём заканчивается знаком амперсанда &, что означает параллельный запуск приложений (скрипт не будет ждать, когда приложение завершится).
Читать далее

Мелкие тонкости презентаций в Beamer



16 коммент.
Есть ряд мелких, но противных тонкостей при работе с Beamer, на которые мне пришлось нарваться при работе над очередной презентацией.


Как выровнять текст по ширине в Beamer?
Для этого используем возможности пакета ragged2e и в преамбуле документа презентации пишем:
\usepackage{ragged2e}
\justifying
Но это выровняет текст только в пределах одного слайда. Чтобы выровнять весь текст в презентации, в преамбулу вставляем:
\renewcommand{\raggedright}{\leftskip=0pt \rightskip=0pt plus 0cm}
И это выровняет текст по ширине в слайдах.


Куча слайдов в Beamer и как их структурировать
На самом деле, в Beamer никто не запрещает использование \section и \subsection - в тексте
презентации они никак не отражаются (за исключением, может быть, некоторых тем),
а структурировать презентацию это сильно помогает.
Читать далее

Векторная графика в Linux на примере редактора Inkscape



28 коммент.
Некоторое время назад мне потребовалось оформлять плакат для выставки. У меня не возникло вопросов, в чём создавать плакат - разумеется, в векторном редакторе Inkscape! Однако мои молодые коллеги, с изумлением глядя на двухметровый плакат, предлагая самые безумные версии от Microsoft Paint до Word, под конец закидали меня вопросами о том, где бы такое сделать. Пост написан по результатам наших бурных обсуждений и моих скромных находок.


Векторная графика

Если очень кратко, то дело обстоит так: растровая графика оперирует с пикселями и их значениями, в то время как для векторной графики существуют линии, кривые и узлы. В растровой графике, например, чёрный прямоугольник будет задан множеством чёрных точек - пикселей. В векторной - прямоугольником со сторонами A и B, толщиной линии, и цветом линии и заливки. Разница будет ещё очевиднее, если вы захотите нарисовать изогнутую линию. В растровом виде это будет сделать трудно, зато в векторном - легче лёгкого: вам помогут кривые Безье, которые можно представить как гибкую линейку. Задаём точки и изгибы в каждом узле, и получаем кривые самых невообразимых видов.

Векторная графика имеет ещё одно большое преимущество: масштабируемость. То есть если вы сделали плакат на формат А4, а печатать надо на формат А0, с векторной графикой нет проблем - просто растянули и всё. С растровой вы обязательно получите артефакты, квадратики и прочую гадость.

Не буду пересказывать википедию, так как многие вещи лучше просто попробовать и понять, нужны они вам или нет. Тем более, что в Debian это делается щелчком мыши \ одной командой: установить inkscape. Почему именно Inkscape? Это самый продвинутый и доведённый до ума это векторный редактор в Linux (если среди читателей есть те, кто ищут аналог Adobe Illustrator в Linux - так вот это он :-)). Есть его Gimp-подобный аналог Sodipodi, но активности оттуда что-то не видно. Развивается проект sK1, но до повседневного использования ему ещё далеко. В общем, все примеры будут приводиться исключительно для Inkscape.


Inkscape - быстрый старт

Для примера приведу свой плакат с выставки - он целиком сделан в Inkscape.
После запуска нас ждёт главное окно программы: панель инструментов рисования слева (выделено синим цветом на скриншоте), цветовая палитра внизу (там же управление слоями - выделено жёлтым), и несколько полезных кнопок на главной панели сверху (группировка\разгруппировка объектов, свойства текста, выравнивание объектов - группа выделена зелёным цветом). Собственно, скриншот во всей красе:



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



Это легко поправить: выбираем инструмент "Редактировать узлы контуров" (стрелка с узлом, помечено на скриншоте красным цветом). После этого выбираем фигуру, которую нарисовали, и начинаем дёргать за узлы (чтобы их переместить) или "усы", которые от узлов отходят (они отвечают за изгиб кривой). С узлами можно поступать как с любыми другими объектами - удалять, добавлять или изменять. Для этого, после выбора инструмента "Редактировать узлы контуров", появится группа инструментов на верхней панели (отмечено зелёным цветом на скриншоте), которые позволят это сделать. Немного тренировки, чуток практики, и вы будете рисовать как завзятых художник.


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



Об эстетике результата можно спорить, но стрелку в Inkscape поставить можно запросто. Может она не по ГОСТ ил ISO, но выглядит приемлемо и нареканий особых не вызывает.


Интересные возможности Inkscape
Немного потренировавшись рисованию в Inkscape, вы заметите, что часть инструментов (линии, текст, градиент, пипетка) вам уже знакомы из Gimp. Но так как Inkscape векторный редактор, а не растровый, в нём есть и отличия: например, инструменты для выравнивания объектов (на главной панели, вверху, на скриншоте помечено голубым цветом). Например, мне нужно было выровнять названия и прямоугольные блоки по центральной оси. Этим-то инструментом выравнивания я и воспользовался:



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


Трассировка растровой графики в векторную в Inkscape
Часто удобно хранить вставляемые в Inkscape изображения в векторном виде - но картинка-то изначально растровая! В самом Inkscape есть очень и очень приличный плагин трассирования растровых изображений в векторные - он использует трассировщик potrace. Хотя работает трассировщик не быстро и имеет минимум параметров, результат очень хорош. Например, он позволяет быстро и точно трассировать сложные логотипы, которые некоторые несознательные граждане присылают в растровом виде.
Для того, чтобы им воспользоваться, импортируем в Inkscapе растровое изображение, выделяем его и идём в меню "Контуры" искать пункт "Векторизовать растр...". Перед нами появится незамысловатый диалог:



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


Временное сокрытие сложных объектов

Вот это было для меня крепким орешком: дело в том, что в плакате были сложные отрассированные объекты, которые сильно тормозят отрисовку. Часто нужно их просто скрыть на некоторое время, и не городить при этом слоёв. Вроде бы всё просто: для этого можно выделить объект, нажать правую кнопку и в свойствах объекта поставить флажок "Hidden".
В документации по этому поводу говорится:
While these are solutions, the ultimate solution is just to not
hide objects. Instead put them on a separate Layer and hide the
Layer (see the section called "Layers").

Я не могу с ними согласиться: иногда слоёв и так много, и городить ещё один совсем не хочется. Потом, чаще всего объект перерисовывается и хочется просто оставить его на месте и вообще не трогать. Наконец, сдаётся мне, что такие вот "ultimate solution" есть дешёвая отмазка при отсутствии инструментов работы со скрытыми объектами: дескать, сие не баг но фича. Но мы-то знаем... :-)
Но тут появляется маленькая проблема: как его обратно показать!? Это (по крайней мере в версии 0.45) несколько неочевидно. Это даже стало поводом для скриншота:



Так вот, чтобы сделать объект снова видимым, сначала щёлкаем на любом видимом объекте и открываем окно "Свойства объекта". Далее нажимаем CTRL+F для поиска, отмечаем галку "Включая скрытые", и в поле Стиль подставляем display:none

Ищем - Inkscape будет по очереди находить скрытые объекты. Когда он доберётся до искомого, отобразится его (скрытого объекта) рамка. Тут-то нам и пригодится заблаговременно открытое окно "Свойства объекта" - оттуда мы убираем галку "СКРЫТЬ" у найденного скрытого объекта. Всё, он должен снова стать видимым.

Есть ещё такой вариант: нажимать на кнопку TAB для выделения объектов и смотреть, когда появится рамка вокруг скрытого объекта. При этом в настройках Inkscape (Файл - Настроить Inkscape - Выделение) должна быть снята галка "Игнорировать скрытые объекты".

Заключение
Это, разумеется, далеко не полный перечень возможностей Inkscape (которые к тому же постоянно развиваются). Здесь я только упомянул о нескольких вещах (трассировка, выравнивание и особенно сокрытие объектов, о котором я постоянно забываю). Буду рад, если для кого-то векторные редакторы станут ещё одним полезным инструментов для работы и творческого самовыражения.
Читать далее

Совместная работа над документами LaTeX



28 коммент.
Когда вы сидите и тихо работаете над своей задачей - всё хорошо и здорово. Ровно до тех пор, пока не возникнет необходимость в совместной работе над статьёй, отчётом или другим крупным документом в LaTeX. Особенно этот процесс становится захватывающим при использовании разных кодировок и операционных систем. Но обо всём по порядку.


Совместная работа над документами LaTeX
Для того, чтобы взять под контроль процесс правок при совместной работе, перво-наперво нужно выбрать систему контроля ревизий - пусть это будет Subversion, хотя может быть и Git, и Mercurial, и подставьте_сюда_вашу_любимую_VCS. На мой взгляд, централизованные системы здесь предпочтительнее (всегда знаешь, где последняя ревизия), но это лишь моё личное скромное мнение.

Как бы там ни было, без системы контроля версий обойтись в этом процессе будет невозможно. О том, как быстро и просто установить SVN, уже написано. Использовать Subversion тоже совсем несложно, но, как и ранее, работать можно с любой VCS - я лишь привожу это в качестве примера.

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



Правки и комментарии в документах LaTeX

Приведу свои результаты проб и ошибок в деле коллективной работы над латеховскими документами. Вот тут, кстати, начинаешь немного тосковать по Word и OpenOffice.Writer, в которых есть встроенные средства для коллективной работы (правки, исправления, пометки, заметки на полях). Некое подобие этого я реализовал в LaTeX и с некоторым успехом применял для правок дипломов у своих студентов.

1. Дробление документов
С одним большим документом работать просто невозможно и жутко неудобно - так что главы дипломов, отчётов и крупных монографий лучше разделить на файлы и вставлять директивой \input. Это облегчит работу и системе контроля версий при обновлении рабочих копий - чтобы правки были неперекрывающиеся.

2. Зачёркивания и пометки цветом
Чтобы иметь возможность зачеркивать слова в LaTeX, включаем в преамбуле документа пакет ulem:
\usepackage{ulem}
И далее в тексте для зачёркивания используем команду \sout{чтобы зачёркивать текст}.
И далее в тексте для зачёркивания используем команду чтобы зачёркивать текст.
Альтернатива пакету ulem - пакет soul, где для зачёркивания используется команда \st{зачеркнуть это}.
Рядом обычно пишется вопрос или предложение фразы для соавтора - это лучше помечать цветом (при этом лучше сразу договориться, какой цвет выберет каждый соавтор, чтобы потом с ума не сойти). Для выделения цветом в LaTeX можно использовать пакет xcolor, который подключаем в преамбуле:
\usepackage{xcolor}
И далее помечаем в тексте слова \textcolor{red}{красным шрифтом}:
И далее помечаем в тексте слова красным шрифтом
Удобно, когда нужно обратить внимание соавтора на выдающийся ляп :-)


3. Заметки на полях и комментарии в LaTeX
Иногда хочется выразить своё мнение или особо обратить внимания соавтора на что-то - в этом случае стоит использовать заметки на полях. Для этого есть стандартная команда
\marginpar{Замечание соавтору сбоку на полях.}
и этот текст появится сбоку на полях, для лучшей видимости.

Но иногда комментарий длинный или хочется втянуть соавтора в письменную дискуссию - тогда нам придёт на помощь небольшой трюк. Можно определить команду комментирования, и тот текст, который будет в комментарии, не будет виден в откомпилированном документе, но в коде присутствовать будет. Для этого в преамбуле определяем новую команду так:
\newcommand{\comment}[1]{}
и в тексте можно дать волю своим полемическим способностям\comment{, потому как этот текст всё равно не будет виден в откомпилированном LaTeX-документе}.
и в тексте можно дать волю своим полемическим способностям.
Эти в общем-то нехитрые приёмы, часть из которых со временем выветривается из моей просторной головы, помогают поддерживать адекватный уровень совместной работы.

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


Ссылки по теме

http://sovety.blogspot.com/2007/07/latex.html
http://en.wikibooks.org/wiki/LaTeX/Formatting#Emphasizing_Text
http://www.tex.raleigh.ru/doku.php/faq/typesetting
Читать далее

Файл подкачки: swap-файл и swap-раздел в Linux



31 коммент.
Все мы знаем, что swap-файлы в Linux делаются просто и легко - настолько просто, что иногда забываем, как это делается. Прежде, чем что-то создавать, хорошо бы узнать, сколько swap-пространства у нас уже имеется в системе - для этого следует дать команду в консоли от рута:
# swapon -s
Результат будет в виде:

Filename Type Size Used Priority
/dev/hda1 partition 289128 0 -1

Описание вывода команды:
  • Filename описывает имеющиеся у вас своп-пространства и где они находятся.
  • Type указывает тип пространства: partition (раздел) или file (файл).
  • Size сообщает общий размер Swap-пространств.
  • Used говорит о том, сколько сейчас свопа задействовано.
  • Priority указан приоритет, т.е. какие пространства системе использовать вначале.
Тот же самый результат мы получим по команде cat /proc/swaps

Создание swap-файла в Linux
1. Открываем консоль\терминал и получаем полномочия root или используем sudo:
$ su
2. Думаем*, какой размер swap-файла нам нужен в мегабайтах. Подумавши, даём команду:
sudo dd if=/dev/zero of=/swapfile bs=1M count=500
или
# dd if=/dev/zero of=/swapfile bs=1M count=500
В команде dd для задания размеров можно использовать суффиксы K, M, G для килобайт, мегабайт и гигабайт соответственно. В данном примере это 500 Mегабайт файла подкачки.

* Многие задаются фундаментальными вопросами бытия вроде "каков рекомендуемый размер swap в linux"? Можно не думать, а просто создать SWAP-файл по размеру оперативной памяти, периодически посматривая на её, подкачки, использование с помощью команды top. При необходимости добавить\уменьшить своппинг системе. Можно использовать несколько файлов подкачки.

3. Поясняем системе, что созданный пустой файл это всё-таки файл подкачки для Linux:
sudo mkswap /swapfile
или
# mkswap /swapfile

4. Подключаем созданный swap-файл:
sudo swapon /swapfile
или
# swapon /swapfile
При этом в выводе команды top или команды free должно появиться упоминание, что свопинга в системе поприбавилось. Чтобы отключить файл подкачки, пишем
sudo swapoff /swapfile
или
# swapoff /swapfile
Чтобы не подключать swap-файл или swap-раздел каждый раз, полезно занести запись в /etc/fstab следующего содержания:
/swapfile none swap sw 0 0
На всякий случай отмечу, что каждый раз создавать swap-файл не нужно: просто подключаете и отключаете его с помощью swapon/swapoff. Работа со swap-разделами в Linux происходит аналогичным образом.


Приоритет SWAP-файлов
Создавать и использовать swap-файлов в Linux можно любое количество. При этом можно указать приоритет подключаемого swap-файла или раздела (хотя ядро умеет самостоятельно распределять по разделам/файлам подкачки).

Например, высший приоритет для файла подкачки задаётся так:
swapon -p 1 /opt/swapfile
Приоритет является целым числом от 0 до 32767.


Очистка swap-пространства после ресурсоёмких приложений
Командой swapoff -a, запущенной от имени root, можно отключить использование всех разделов и файлов подкачки. После ввода команды содержимое свопа за несколько минут загружается обратно в оперативную память, а сам раздел подкачки отключается.
После загрузки содержимого свопа в оперативную память включем своп обратно командой swapon -a.


2. Системные настройки использования своппинга - Linux
За интенсивность обращения системы к swap-файлам и swap-разделам отвечает параметр swappiness, равный по умолчанию 60. Значение параметра может быть в пределах от 0 - наименьшее использование подкачки, до 100 - подкачка используется часто.

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

Чрезмерное значение здесь приведёт к интенсивному использованию swap-файла, что нежелательно. Слишком маленькое значение может привести к тому, что при заполнении памяти будет принудительно запущен OOMkiller (процесс, запускающийся при исчерпании памяти и убивающий наиболее ресурсоёмкие задачи).

Временно (до перезагрузки системы) изменить этот параметр можно с помощью команды:

echo 50 > /proc/sys/vm/swappiness

Чтобы изменить значение по умолчанию, необходимо изменить параметр vm.swappiness:

vm.swappiness=50

в файле /etc/sysctl.conf

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

Также можно попробовать увеличить\уменьшить объём потребляемой системой памяти за счёт изменения размеров дискового кеша. Уровень выделяемой под кеш памяти хранится в
/proc/sys/vm/vfs_cache_pressure
Значение по умолчанию: 100. Чтобы использовать меньше памяти под дисковые кеши (что вообще говоря не есть хорошая идея), ставим значение 50. Если, наоборот, хочется больше отзывчивости системы, увеличиваем размер кеша не скупясь:
echo 1000 > /proc/sys/vm/vfs_cache_pressure
и далее продолжаем играться с параметрами вплоть до полного удовлетворения. Для того, чтобы настройки стали постоянными, заносим параметр
vm.vfs_cache_pressure = 1000
в файл /etc/sysctl.conf и со следующей загрузки дисковые кеши будут смачно чавкать вашей оперативной памятью.

Ссылки
Источники вдохновения здесь, там, среди замечательных комментариев к этому посту и кое-что из Цифровой кладовки.
Читать далее

Конвертировать img-образ QEMU в VirtualBox без vditool



8 коммент.
Для запуска приложений Windows, аналогов которым в Linux пока не видно, а особенно программ, работающих с сетью или требующих сетевого подключения, в последнее время я всё чаще использую VirtualBox. В отличие от QEMU, VirtualBox изначально сильно заточен именно под Windows (Guest addons, разные варианты ACPI, seamless-перехват мыши). Но у меня есть уже установленные варианты Windows в QEMU и их хотелось бы использовать в VirtualBox. Ниже небольшой пост о конвертации QEMU-образов в образы VirtualBox.


Конвертирование образов QEMU в VirtualBox, и, может быть, обратно Собственно, это не сложно, но задачу в первый раз при поиске осложняет масса устаревшего мусора в Сети, который рекомендует пользоваться vditool, однако насколько мне известно эту утилиту больше не скачать. А на самом деле, всё, что нужно для преобразования, уже находится в комплекте VirtualBox.

Итак, чтобы преобразовать образ диска QEMU под названием test.img в образ диска VirtualBox а-ля test.vdi, делаем вот что:
qemu-img convert -O raw test.img test.raw

VBoxManage convertdd test.raw test.vdi
как вариант: VBoxManage convertfromraw -format VDI test.raw test.vdi

VBoxManage modifyvdi /full/path/to/test.vdi compact


Здесь есть один момент, который важной упомянуть: обратная конвертация из VirtualBox в QEMU затруднена. Это означает, что если вы не найдёте vditool для Linux, обратно преобразовать данные не выйдет. Но если вам всё-таки улыбнётся удача, то последовательность действий такова:

vditool COPYDD vbox-image.vdi raw-image.img

qemu-img convert -f raw raw-image.img -O qcow2 qemu-image.qcow

То есть сначала перегоняем данные из vdi-формата в img, при этом размер файла будет 8Гб независимо от того, насколько заполнен диск. Далее уже стандартной утилитой в QEMU сжимаем образ и получаем на выходе QEMUшный диск, готовый для запуска.

Благодаря комментаторам, выяснилась возможность конвертировать образ Virtualbox в образ QEMU

VBoxManage internalcommands converttoraw src.vdi dst.raw

И ещё. В отличие от образов QEMU, примонтировать которые не составляет проблемы, образы VirtualBox примонтировать вовсе не так просто. Так что если вы хотите иметь постоянный (и простой) доступ к файлам гостевой ОС, имеет смысл использовать QEMU. Если же вам нужно запустить Windows в Linux без особых сложностей, VirtualBox всё-таки лучше.


Примечание
В последних версиях QEMU (по крайней мере, 0.12.3) имеется поддержка vdi формата VirtualBox 1.1. Для более ранних версий патч можно найти на сайте QEMU Forum в разделе Patches Repository.
Спасибо анонимному комментатору за ценные сведения!

Ссылки
Краткое изложение можно почерпнуть на опеннете, а очень ценный пост по обратной конвертации из Virtualbox в QEMU можно найти здесь.
Читать далее

Google Wave: на Волне Общения



32 коммент.
Всё началось с того, что в комментариях к посту о Twitter завязался делёж мнениями о разных системах мгновенного общения. После этого я решил пройтись по разным интернетам в поисках чего-нибудь новенького. И нашёл! Google Wave - это новый сервис мгновенных сообщений, который может использовать все другие сервисы от Гугл вместе взятые. И хотя это лучше один раз увидеть, чем сто раз пересказать, я попробую сделать и то, и другое

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


Что такое Google Wave?
Конечно, самый простой способ - это посмотреть на видео. Но если напрячь фантазию, можно это представить. Итак, берём Twitter, убираем из него ограничение по длине сообщения, делаем так, что собеседник видит, как вы набираете текст (посимвольно). Добавляем возможность быстро делать форматированный текст (типа чата в Skype, только вы видите набираемый собеседником текст). Более того, можно сразу вставить кусок Google Maps и собеседник(и) это увидят, и смогут прокомментировать - можно отвечать на любой кусок беседы.
Таким образом, волна (Wave) - это такая real-time текстовая конференция между двумя или более собеседниками, когда каждый видит, что пишут и рисуют остальные, может комментировать любое сообщение (как древовидные комментарии), вставлять изображения и голосования. На мой взгляд, Google Wave идеален для мозговых штурмов (brainstorm), обсуждения встреч и мероприятий, генерации идей и просто дружеского общения.
Для начала, как это выглядит - вот мой довольно простой скриншот (вход в сервис):


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

Вот, например, моя волна, где я общаюсь со своим вторым ноутбуком:

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

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

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

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


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

Стоит сказать так же, что на волну можно отвечать и в off-line, то есть одновременность не обязательна: волна будет лежать в Inbox как и любое другое письмо. Но, конечно, гораздо веселее, когда большинство участников беседы подключены и одномоментно общаются.

Мозговой штурм (brainstorm in Google Wave)
Вот где вся сила Волны - так это в Brainstorm. Создаём новую волну со свойством Brainstorm, и достаточно просто перетащить контакты в поле мозгового штурма, чтобы волна стала доступна для другого участника:

Здесь можно участвовать всем сразу: добавляем картинки, выделяем цветом, вставляем текст и карты. Подключать и отключать участников можно быстро и просто.


Заключение
Достаточно плодотворное обсуждение есть на Хабре, часть идей с которого опробована в этом небольшом обзоре. Отличный обзор на ReadWriteWeb. Автор считает, что команда Google Wave замахнулась на замену "некоторых существующих протоколов сетевой коммуникации". В комментах раскрывают тему XMPP как базы этой гугло-революции. В общем, отличный шанс попробовать то самое светлое будущее, которое уже рядом.

Автор выражает благодарность команде Google Wave за быстрый ответ и приглашение поучаствовать в тестировании сервиса.
Читать далее

Коктейль из Twitter и Blogger: смешать, но не взбалтывать



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

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

Twitter и Blogger
Можно постить короткие анонсы из блога на Blogger в Twitter, то есть сделать из Twitter зеркало Blogger с помощью службы twitterfeed. Регистрироваться на нём не обязательно - достаточно указать OpenID с блоггера.

Дело происходит так: twitterfeed с скармливает twitter-у посты блога с Blogger. То, что больше формата twitter, обрезается и доступно по оригинальной ссылке.

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



mail-блокнот из Twitter
Пойдём дальше и попробуем использовать Twitter в качестве открытого блокнота в телеграфном стиле. Слать на него sms-ки с телефона, на мой взгляд, разорительно. Поэтому можно использовать олдскульный email и отправлять в Twitter идеи и всякие ссылки прямо из почтового клиента. Встречаем twittermail - после короткой регистрации залогиниваемся и получаем особый e-mail вида XXX@twittermail.com

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


Twitter и Firefox
Большую часть времени, проводимом в Интернете, я пользуюсь Firefox (подставьте сюда ваш любимый броузер - уверен, для него тоже найдётся плагин или "в нём уже всё есть").
Чтобы постить напрямую из Firefox, устанавливаем плагин, например, Echofon - далее даём ему логин и пароль от нашего аккаунта в Twitter, и начинаем отправлять сообщения. После установки в нижней части Firefox появится кнопка, нажав на которую можно просмотреть сообщения, отправленные вам другими пользователями, и отправить свои сообщения в Twitter.

Выглядит Echofon примерно так:


Заключение
Для полноценного блога Twitter, естественно, не годится, но в качестве простой записной книжки очень даже сойдёт. Буду благодарен уважаемым комментаторам, ежели они подкинут ещё идей относительно использования Twitter.
Читать далее

Microsoft Windows EULA - End User's Licence Agreement и что это всё значит



31 коммент.
Думаю, что многие из нас хоть раз устанавливали Windows, и каждый, скорее всего, видел длиннющее лицензионное соглашение. Мало у кого хватило терпения хотя бы пробежаться по этому документу глазами. И ещё меньшее народу этот документ (EULA) прочли. Но таковые есть - и ниже приводится более или менее вольный перевод Microsoft EULA.

В двух словах:
1. Вы заплатили Microsoft деньги за прокат Windows.
2. Microsoft ни в чём не виновата.
3. Microsoft ни за что не отвечает.
4. Даже если Microsoft когда-то говорила что-то другое, с этого момента всё отменяется.

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

Хотя это [:|||||||:] двухлетней давности, актуально и сейчас - не думаю, что Майкрософт за это время стала белее и пушистее.


Вкратце о EULA
Перед нами, дамы и господа, уникальный по своей наглости, хамству и юридической казуистике документ. Кликая по кнопке "Я принимаю условия Microsoft EULA", вы получаете целый букет ограничений и обязанностей - и никаких гарантий. За свои собственные деньги. Microsoft ничего не гарантируют, ни за что не отвечает, никаких убытков компенсировать не будет никогда и ни за что. Используйте дорогой софт от Майкрософт на свой страх и риск. И платите снова и снова...

Более того, если даже вы не согласны с EULA и хотите получить деньги за незаконно впаренную копию Windows - тут вас ждёт партизанская засада: Microsoft никак не регламентирует процедуру возврата денег за неиспользованную копию Windows!

Хотите узнать больше? Наслаждайтесь текстом ниже. Попкорн в комплект не входит :-)


Собственно, EULA - End User Licence Agreemen

Текст EULA будет выделен серым цветом, а то, что он означает - красным.


IMPORTANT-READ CAREFULLY: This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software that accompanies this EULA, which includes computer software and may include associated media, printed materials, "online"or electronic documentation, and Internet-based services ("Software"). An amendment or addendum to this EULA may accompany the software. YOU AGREE TO BE BOUND BY THE TERMS OF THIS EULA BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE. IF YOU DO NOT AGREE, DO NOT INSTALL, COPY, OR USE THE SOFTWARE; YOU MAY RETURN IT TO YOUR PLACE OF PURCHASE FOR A FULL REFUND, IF APPLICABLE.

Это юридический документ, и фактом использования Windows вы автоматически обязуетесь выполнять всё, что содержится в этом договоре.



1. GRANT OF LICENSE. Microsoft grants you the following rights
provided that you comply with all terms and conditions of this EULA:


1.1 Installation and use. You may install, use, access, display and run one copy of the Software on a single computer, such as a workstation, terminal or other device ("Workstation Computer"). The Software may not be used by more than one processor at any one time on any single Workstation Computer.

Вы можете инсталлировать и использовать Windows только на одном компьютере. Программное обеспечение не может быть использовано на более чем одном процессоре в любом случае.



1.2 Mandatory Activation.
The license rights granted under this EULA are limited to the first thirty (30) days after you first install the Software unless you supply information required to activate your licensed copy in the manner described during the setup sequence of the Software. You can activate the Software through the use of the Internet or telephone; toll charges may apply. You may also need to reactivate the Software if you modify your computer hardware or alter the Software. There are technological measures in this Software that are designed to prevent unlicensed use of the Software. Microsoft will use those measures to confirm you have a legally licensed copy of the Software. If you are not using a licensed copy of the Software, you are not allowed to install the Software or future Software updates. Microsoft will not collect any personally identifiable information from your Workstation Computer during this process.

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



1.3 Device Connections.
You may permit a maximum of five (5) computers or other electronic devices (each a "Device") to connect to the Workstation Computer to utilize one or more of the following services of the Software: File Services, Print Services, Internet Information Services, and remote access (including connection sharing and telephony services). The five connection maximum includes any indirect connections made through "multiplexing" or other software or hardware which pools or aggregates connections. This five connection maximum does not apply to any other uses of the Software.

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



1.4 Remote Assistance/NetMeeting.
The Software contains Remote Assistance and NetMeeting technologies that enable the Software or applications installed on the Workstation Computer (sometimes referred to as a host device) to be accessed remotely from other Devices. When you are using Remote Assistance or NetMeeting (or other software which provides similar functionality for a similar purpose) you may share your session with other users without any limit on the number of Device connections and without acquiring additional licenses for the Software. For Microsoft and non-Microsoft applications, you should consult the license agreement accompanying the applicable software or contact the applicable licensor to determine whether use of the software with Remote Assistance or NetMeeting is permitted without an additional license. As used above, a session means the experience delivered by the Software similar to when a user is using the input, output and display peripherals attached to the Workstation Computer.

Вышеприведённое правило не распространяется на приложения “Remote Assistance” и “NetMeeting”.



1.5 Storage/Network Use. You may also store or install a copy of the Software on a storage device, such as a network server, used only to install or run the Software on your other Workstation Computers over an internal network; however, you must acquire and dedicate an additional license for each separate Workstation Computer on or from which the Software is installed, used, accessed, displayed or run. Except as otherwise permitted by the NetMeeting and Remote Assistance features described above, a license for the Software may not be shared or used concurrently on different Workstation Computers.

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




2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS

Дополнительные права и ограничения:


2.1 Digital Rights Management.
Content providers are using the digital rights management technology contained in this Software ("DRM") to protect the integrity of their content ( "Secure Content") so that their intellectual property, including copyright, in such content is not misappropriated. Portions of this Software and third party applications such as media players use DRM to play Secure Content ("DRM Software"). If the DRM Software's security has been compromised, owners of Secure Content ("Secure Content Owners") may request that Microsoft revoke the DRM Software's right to copy, display and/or play Secure Content. Revocation does not alter the DRM Software's ability to play unprotected content. A list of revoked DRM Software is sent to your computer whenever you download a license for Secure Content from the Internet. You therefore agree that Microsoft may, in conjunction with such license, also download revocation lists onto your computer on behalf of Secure Content Owners. Microsoft will not retrieve any personally identifiable information, or any other information, from your computer by downloading such revocation lists. Secure Content Owners may also require you to upgrade some of the DRM components in this Software ("DRM Upgrades") before accessing their content. When you attempt to play such content, Microsoft DRM Software will notify you that a DRM Upgrade is required and then ask for your consent before the DRM Upgrade is downloaded. Third party DRM Software may do the same. If you decline the upgrade, you will not be able to access content that requires the DRM Upgrade; however, you will still be able to access unprotected content and Secure Content that does not require the upgrade.

Цифровое управление правами. Вы соглашаетесь с тем, что в любой момент, по просьбе “поставщиков защищённого контента” Microsoft может деактивировать некоторые функции вашего компьютера, например, возможность проигрывать музыку или фильмы. Вы так же соглашаетесь, что Microsoft может принудительно загружать в ваш компьютер список отзываемых у вас прав на использование функций вашего компьютера по просьбе “поставщиков защищённого контента”.


2.2 Windows Media Format Software Development Kit ("WMFSDK").
This EULA does not grant you any rights to use the WMFSDK components contained in the Software to develop a software application that uses Windows Media technology. If you wish to use the WMFSDK to develop such an application, visit http://msdn.microsoft.com/workshop/imedia/windowsmedia /sdk/wmsdk.asp, accept a separate license for the WMFSDK, download the appropriate WMFSDK, and install it on your system.



2.3 Internet-Based Services Components.
The Software contains components that enable and facilitate the use of certain Internet-based services. You acknowledge and agree that Microsoft may automatically check the version of the Software and/or its components that you are utilizing and may provide upgrades or fixes to the Software that will be automatically downloaded to your Workstation Computer.

Вы соглашаетесь с тем, что Microsoft может автоматически и без вашего согласия установить новое ПО или исправления ошибок на ваш компьютер.



2.4 Internet Gaming/Update Features. If you choose to utilize the Internet gaming or update features within the Software, it is necessary to use certain computer system, hardware, and software information to implement the features. By using these features, you explicitly authorize Microsoft or its designated agent to access and utilize the necessary information for Internet gaming and/or updating purposes. Microsoft may use this information solely to improve our software or to provide customized services or technologies to you. Microsoft may disclose this information to others, but not in a form that personally identifies you.

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



3. RESERVATION OF RIGHTS AND OWNERSHIP.
Microsoft reserves all rights not expressly granted to you in this EULA. The Software is protected by copyright and other intellectual property laws and treaties. Microsoft or its suppliers own the title, copyright, and other intellectual property rights in the Software. The Software is licensed, not sold.

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


4. LIMITATIONS ON REVERSE ENGINEERING, DECOMPILATION, AND DISASSEMBLY.
You may not reverse engineer, decompile, or disassemble the Software, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

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


5. NO RENTAL/COMMERCIAL HOSTING. You may not rent, lease, lend or provide commercial hosting services with the Software.

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



6. CONSENT TO USE OF DATA.
You agree that Microsoft and its affiliates may collect and use technical information gathered as part of the product support services provided to you, if any, related to the Software. Microsoft may use this information solely to improve our products or to provide customized services or technologies to you and will not disclose this information in a form that personally identifies you.

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


7. LINKS TO THIRD PARTY SITES.
You may link to third party sites through the use of the Software. The third party sites are not under the control of Microsoft, and Microsoft is not responsible for the contents of any third party sites, any links contained in third party sites, or any changes or updates to third party sites. Microsoft is not responsible for webcasting or any other form of transmission received from any third party sites. Microsoft is providing these links to third party sites to you only as a convenience, and the inclusion of any link does not imply an endorsement by Microsoft of the third party site.

Microsoft не отвечает за содержимое чьих-либо веб-сайтов.


8. ADDITIONAL SOFTWARE/SERVICES.
This EULA applies to updates, supplements, add-on components, or Internet-based services components, of the Software that Microsoft may provide to you or make available to you after the date you obtain your initial copy of the Software, unless we provide other terms along with the update, supplement, add-on component, or Internet-based services component. Microsoft reserves the right to discontinue any Internet-based services provided to you or made available to you through the use of the Software.

Эти ограничения касаются любого ПО, которое вы будете получать от Microsoft в будущем. На будущее ПО могут распространяться дополнительные ограничения.
Microsoft может прекратить предоставлять вам любые услуги, которые предоставляются вам в настоящее время, по любой причине.


9. UPGRADES.
To use Software identified as an upgrade, you must first be licensed for the software identified by Microsoft as eligible for the upgrade. After upgrading, you may no longer use the software that formed the basis for your upgrade eligibility.

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


10. NOT FOR RESALE SOFTWARE.
Software identified as "Not For Resale" or "NFR," may not be sold or otherwise transferred for value, or used for any purpose other than demonstration, test or evaluation.

Если ваш экземпляр Windows имеет пометку “Не для продажи,” вы не можете его продавать.


11. ACADEMIC EDITION SOFTWARE.
To use Software identified as "Academic Edition" or "AE," you must be a "Qualified Educational User." For qualification-related questions, please
contact the Microsoft Sales Information Center/One Microsoft Way/Redmond, WA 98052-6399 or the Microsoft subsidiary serving your country.

Для использования "академической версии" (Academic Edition), вы должны соответствовать определенным критериям.



12. EXPORT RESTRICTIONS.
You acknowledge that the Software is subject to U.S. export jurisdiction. You agree to comply with all applicable international and national laws that apply to the Software, including the U.S. Export Administration Regulations, as well as end-user, end-use, and destination restrictions issued by U.S. and other governments. For additional information see http://www.microsoft.com/exporting/.

Вы должны соблюдать все нормативы и правила, установленные Администрацией по экспорту США (United States Export Administration).



13. SOFTWARE TRANSFER.
Internal. You may move the Software to a different Workstation Computer. After the transfer, you must completely remove the Software from the former Workstation Computer. Transfer to Third Party. The initial user of the Software may make a one-time permanent transfer of this EULA and Software to another end user, provided the initial user retains no copies of the Software. This transfer must include all of the Software (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity). The transfer may not be an indirect transfer, such as a consignment. Prior to the transfer, the end user receiving the Software must agree to all the EULA terms.

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



14. TERMINATION.
Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the Software and all of its component parts.

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


15. LIMITED WARRANTY FOR SOFTWARE ACQUIRED IN THE US AND
CANADA. Microsoft warrants that the Software will perform substantially in accordance with the accompanying materials for a period of ninety (90) days from the date of receipt. If an implied warranty or condition is created by your state /jurisdiction and federal or state/provincial law prohibits disclaimer of it, you also have an implied warranty or condition, BUT ONLY AS TO DEFECTS DISCOVERED DURING THE PERIOD OF THIS LIMITED WARRANTY (NINETY DAYS). AS TO ANY DEFECTS DISCOVERED AFTER THE NINETY-DAY PERIOD, THERE IS NO WARRANTY OR CONDITION OF ANY KIND. Some states/jurisdictions do not allow limitations on how long an implied warranty or condition lasts, so the above limitation may not apply to you. Any supplements or updates to the Software, including without limitation, any (if any) service packs or hot fixes provided to you after the expiration of the ninety day Limited Warranty period are not covered by any warranty or condition, express, implied or statutory.

Microsoft гарантирует, что Windows будет правильно работать первые 90 дней (только в США и Канаде). Компания Microsoft не обещает, что Windows или любые обновления (“service packs”) или заплатки (“hot fixes”) будут правильно работать по истечении этого времени.



LIMITATION ON REMEDIES; NO CONSEQUENTIAL OR OTHER DAMAGES.
Your exclusive remedy for any breach of this Limited Warranty is as set forth below. Except for any refund elected by Microsoft, YOU ARE NOT ENTITLED TO ANY DAMAGES, INCLUDING BUT NOT LIMITED TO CONSEQUENTIAL DAMAGES, if the Software does not meet Microsoft's Limited Warranty,and, to the maximum extent allowed by applicable law, even if any remedy fails of its essential purpose. The terms of Section 17 ("Exclusion of Incidental, Consequential and Certain Other Damages") are also incorporated into this Limited Warranty. Some states /jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you. This Limited Warranty gives you specific legal rights. You may have other rights which vary from state/jurisdiction to state/jurisdiction. YOUR EXCLUSIVE REMEDY. Microsoft's and its suppliers' entire liability and your exclusive remedy for any breach of this Limited Warranty or for any other breach of this EULA or for any other liability relating to the Software shall be, at Microsoft's option from time to time exercised subject to applicable law, (a) return of the amount paid (if any) for the Software, or (b) repair or replacement of the Software, that does not meet this Limited Warranty and that is returned to Microsoft with a copy of your receipt. You will receive the remedy elected by Microsoft without charge, except that you are responsible for any expenses you may incur (e.g. cost of shipping the Software to Microsoft). This Limited Warranty is void if failure of the Software has resulted from accident, abuse, misapplication, abnormal use or a virus. Any replacement Software will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer, and Microsoft will use commercially reasonable efforts to provide your remedy within a commercially reasonable time of your compliance with Microsoft's warranty remedy procedures. Outside the United States or Canada, neither these remedies nor any product support services offered by Microsoft are available without proof of purchase from an authorized international source. To exercise your remedy, contact: Microsoft, Attn. Microsoft Sales Information Center/One Microsoft Way/Redmond, WA 98052-6399, or the Microsoft subsidiary serving your country.

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

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

Microsoft ни в коем случае не будет обязана выплачивать вам больше, чем вы изначально заплатили за Windows.

Microsoft не несет ответственности за любой ущерб, причиненный вирусами, даже если заражение произошло в результате проблем с безопасностью в Windows.



16. DISCLAIMER OF WARRANTIES.
The Limited Warranty that appears above is the only express warranty made to you and is provided in lieu of any other express warranties or similar obligations (if any) created by any advertising, documentation, packaging, or other communications. Except for the Limited Warranty and to the maximum extent permitted by applicable law, Microsoft and its suppliers provide the Software and support services (if any) AS IS AND WITH ALL FAULTS, and hereby disclaim all other warranties and conditions, whether express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of reliability or availability, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence, all with regard to the Software, and the provision of or failure to provide support or other services, information, software, and related content through the Software or otherwise arising out of the use of the Software. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THE SOFTWARE.

Вышеуказанные права, предоставленные вам, заменяют любые права, которыми, по вашему мнению, вы обладаете, так как оних шла речь в рекламе, документации или на упаковке товара. Windows поставляется в виде "как есть" (“AS IS”), и со всеми её недостатками (AND WITH ALL FAULTS).

Это означает, что они ничего не гарантируют по поводу того, насколько хорошо Windows будет работать.




17. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF PROFITS OR CONFIDENTIAL OR OTHER INFORMATION, FOR BUSINESS INTERRUPTION, FOR PERSONAL INJURY, FOR LOSS OF PRIVACY, FOR FAILURE TO MEET ANY DUTY INCLUDING OF GOOD FAITH OR OF REASONABLE CARE, FOR NEGLIGENCE, AND FOR ANY OTHER PECUNIARY OR OTHER LOSS WHATSOEVER) ARISING OUT OF OR IN ANY WAY RELATED TO THE USE OF OR INABILITY TO USE THE SOFTWARE, THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT OR OTHER SERVICES, INFORMATION, SOFTWARE, AND RELATED CONTENT THROUGH THE SOFTWARE OR OTHERWISE ARISING OUT OF THE USE OF THE SOFTWARE, OR OTHERWISE UNDER OR IN CONNECTION WITH ANY PROVISION OF THIS EULA, EVEN IN THE EVENT OF THE FAULT, TORT (INCLUDING NEGLIGENCE), MISREPRESENTATION, STRICT LIABILITY, BREACH OF CONTRACT OR BREACH OF WARRANTY OF MICROSOFT OR ANY SUPPLIER, AND EVEN IF MICROSOFT OR ANY SUPPLIER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Microsoft не несет никакой ответственности за какой-либо ущерб. Сюда входит потеря прибыли, разглашение конфиденциальной информации, или распространение личной информации.
Более того, Microsoft не несет никакой ответственности за отсутствие добросовестности (“good faith”), неиспользование должной осторожности (“reasonable care”), или же за халатность (“negligence”). Microsoft не несет ответственности, даже если нарушит условия этого соглашения.



18. LIMITATION OF LIABILITY AND REMEDIES.
Notwithstanding any damages that you might incur for any reason whatsoever (including, without limitation, all damages referenced herein and all direct or general damages in contract or anything else), the entire liability of Microsoft and any of its suppliers under any provision of this EULA and your exclusive remedy hereunder (except for any remedy of repair or replacement elected by Microsoft with respect to any breach of the Limited Warranty) shall be limited to the greater of the actual damages you incur in reasonable reliance on the Software up to the amount actually paid by you for the Software or US$5.00. The foregoing limitations, exclusions and disclaimers (including Sections 15, 16 and 17) shall apply to the maximum extent permitted by applicable law, even if any remedy fails its essential purpose.

Microsoft по желанию может компенсировать вам ущерб, но в любом случае не более суммы, которую вы изначально заплатили за ПО (в любом случае не менее $5).



19. U.S. GOVERNMENT LICENSE RIGHTS.
All Software provided to the U.S. Government pursuant to solicitations issued on or after December 1, 1995 is provided with the commercial license rights and restrictions described elsewhere herein. All Software provided to the U.S. Government pursuant to solicitations issued prior to December 1, 1995 is provided with "Restricted Rights" as provided for in FAR, 48 CFR 52.227 -14 (JUNE 1987) or DFAR, 48 CFR 252.227-7013 (OCT 1988), as
applicable.

(Касается только правительств.)



20. APPLICABLE LAW. If you acquired this Software in the
United States, this EULA is governed by the laws of the State of Washington. If you acquired this Software in Canada, unless expressly prohibited by local law, this EULA is governed by the laws in force in the Province of Ontario, Canada; and, in respect of any dispute which may arise hereunder, you consent to the jurisdiction of the federal and provincial courts sitting in Toronto, Ontario. If you acquired this Software in the European Union, Iceland, Norway, or Switzerland, then local law applies. If you acquired this Software in any other country, then local law may apply.

Если вы подаете на Microsoft в суд, то обязуетесь выполнить любое судебное решение


21. ENTIRE AGREEMENT; SEVERABILITY.
This EULA (including any addendum or amendment to this EULA which is included with the Software) is the entire agreement between you and Microsoft relating to the Software and the support services (if any) and they supersede all prior or contemporaneous oral or written communications, proposals and representations with respect to the Software or any other subject matter covered by this EULA. To the extent the terms of any Microsoft policies or programs for support services conflict with the terms of this EULA, the terms of this EULA shall control. If any provision of this EULA is held to be void, invalid, unenforceable or illegal, the other provisions shall continue in full force and effect.

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



Ссылки:
Этот пост основан на данной записи, дополненной и исправленной, а так же на оригинальном тесте отсюда.

Так что если кто всё ещё думает, что в Майкрософт сидят дураки - вот вам повод пересмотреть своё мнение. Они очень умные ребята в плане впаривания и маркетинга. Жаль, с программистами им не повезло. :-)
Читать далее

Виртуальный диск в памяти: как создать ramdisk в Linux?



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

Собственно, в ядре должна быть поддержка tmpfs, и если вы (или авторы вашего дистрибутива) не любители усложнять себе жизнь, она там должна быть.
Быстренько создаём новую точку монтирования:
# mkdir /mnt/tmpfs/
# chmod 777 /mnt/tmpfs/
и даём все права на использование. После этого даём команду (от рута или через sudo):
# mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
или
$ sudo mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
где xxxM есть размер RAMdisk в Мегабайтах.
Будьте осторожны и не размахивайтесь слишком широко: если вы попросите создать ramdisk больше, чем имеете оперативной памяти, система начнёт сгружать всё в swap-файл и дела пойдут очень медленно и грустно.

Если же вы хотите изменить размер ramdisk - это просто:
# mount -o remount -o size=yyyM /mnt/tmpfs/
или
$ sudo mount -o remount -o size=
yyyM /mnt/tmpfs/
При этом содержимое диска не пропадёт, но его размер тут же увеличится (при уменьшении также ничего не пропадёт, если только данных не больше, чем диск).

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

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

Ссылки
Есть толковые посты о том, как в Linux сделать виртуальный диск в памяти здесь и тут.
Читать далее

Быстрая смена каталогов в консоли Linux с помощью WCD



15 коммент.
Для того, чтобы быстро прыгать по каталогам в Linux, можно использовать разные продвинутые оболочки типа zsh, а можно прикрутить маленький костылёк wcd к старому-доброму bash. О том и пост - самому не забыть и читателя потешить :-)

Итак, что мы имеем после установки wcd? Набираем часть имени каталога, нажимаем Enter и видим варианты - выбираем один из них и тут же перелетаем в нужный нам каталог.




Как установить Wcd?
Установка проста:

aptitude install wcd
Далее создаём ссылку на wcd.exec в домашнем каталоге:
ln -s /usr/lib/wcd/wcd.exec ~/bin
либо (для новых версий)

ln -s /usr/bin/wcd.exec ~/bin

и добавляем следующую функцию в стартовый файл .bashrc оболочки bash:
function wcd
{
$HOME/bin/wcd.exec $*
. $HOME/bin/wcd.go
}
 
После этого следует перезалогиниться или создать новую оболочку (открыть новый таб).

Как использовать WCDДля этого сначала создадим деревья директорий. Например

$ wcd -A .
Точка в конце говорит о том, что создаём деревья директорий, начиная с текущей. Должно ответить просто:
Wcd: Please wait. (re)Scanning disk. Building treedata-file from /home/beast
И всё. Теперь получаем удовольствие.
Итак, есть каталог /home/beast/docs/matlab/Sci/cvkonnik
Но набирать это всё долго и лениво. Вместо этого пишем:


$ wcd cvk*
И нажимаем большую и любимую клавишу Enter. При этом в консоли выдаётся менюшка вида:
a /home/beast/docs/matlab/Sci/cvkonnik
b /home/beast/docs/matlab/docus/Work/otherscidocs/Sci/cvkonnik

Wild match for 2 directories. w=up x=down ?=help Page 1/1
Please choose one ( to abort):

Нажимаю букву b и тут же перелетаю в нужный мне каталог:

beast@notebeast:~/docs/matlab/docus/Work/otherscidocs/Sci/cvkonnik$
И все дела. Очень удобно и очень здорово!

Ещё веселее, если такой каталог у вас один - переход произойдёт сразу же:

wcd IST*
-> /home/beast/docs/matlab/docus/articles/SPIEproceedings/IST2009
beast@notebeast:~/docs/matlab/docus/articles/SPIEproceedings/IST2009$


Обновление дерева каталогов
Если у вас добавился новый каталог, то wcd автоматом его, увы, не подхватит. Но это не беда - просто пересоздадём деревья директорий:

$ wcd -A .

И после этого ваши новые каталоги снова в строю.

Ссылки
На всякий случай WCD расшифровывается как Wherever Change Directory. Сайт автора программы, но он очень аскетичен. Также толковую статью по wcd можно найти на ЛинСовете
тут. Замечательная статья по поводу WICD есть на блоге Максима Иванова.
Читать далее