Linux

ПТ Сериф — вторая бесплатная национальная гарнитура

Компания ПараТайп продолжает проект общенациональных бесплатных шрифтов. Первая гарнитура — ПТ Санс — выпущена в конце 2009 года. Год спустя мы получили следующую гарнитуру комплекта — ПТ Сериф. Проект является частью программы, посвящённой 300-летию реформы русского алфавита, проведённой Петром I с 1708 по 1710 год.

PT Sans | PT Serif

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

Подробнее — на сайте ПараТайп.

Опубликовано Михаил К в СПО, 0 комментариев
WINE@Etersoft — бесплатно для школ России

WINE@Etersoft — бесплатно для школ России

EtersoftПоскольку срок действия лицензий пакета базового программного обеспечения (СБППО) для общеобразовательных учреждений Российской Федерации завтра истекает, и школам предлагается перейти на использование свободного программного обеспечения, компания Etersoft решила бесплатно предоставить образовательным учреждениям Российской федерации лицензию на  специальную версию продукта WINE@Etersoft 1.7 School. Основная ее цель — использовать платформу «1С:Предприятие 7.7» (лицензия на которую также продлена бесплатно) в свободных Linux-системах (ALT Linux 5.0 Школьный, ПСПО 5 Лёгкий, EduMandriva, Edubuntu и др.). Совпадает и срок действия лицензий — до 31 декабря 2019 года.

Замечу, что для получения WINE@Etersoft представитель школы должен зарегистрироваться. Потребуется номер карты доступа, полученной с СБППО, а также ИНН и КПП школы.

Подробнее — на сайте Etersoft.

Опубликовано Михаил К в Linux, 0 комментариев

Что больше: 1 ГБ или 1 ГБ?

8-гигабайтная флеш-карта в сравнении с 8 байт ПЗУ на магнитных сердечниках (кстати, тут хорошо видно, почему программирование ПЗУ назвали «прошивкой»).
Фото: Daniel Sancho

Казалось бы, странный вопрос. Но не всё так просто…

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

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

Неприятности начинаются уже с байтами. Это, по своей сути, чисто техническая величина — размер наименьшего адресуемого «кусочка» оперативной памяти. И бывал он разным: и 6 бит, и 9 бит… (Причем, это относится только к «полезной» емкости — физически могут существовать еще и служебные биты, например, бит контроля четности) Но фактическим стандартом стал предложенный около 40 лет назад фирмой IBM 8-битный байт. Сейчас это закреплено и в национальных стандартах, и в рекомендациях МЭК. Хотя, к примеру, французы до сих пор предпочитают говорить не о «байтах», а об «октетах» (и обозначают их буквой «о»).

Но хуже всего получилось с кратными единицами. Началось с измерения объемов оперативной памяти. Она же RAM — Random Access Memory. Память с произвольным доступом. Чтобы реализовать этот произвольный доступ, нужно «раздать» каждому байту свой числовой адрес. Числа в компьютере двоичные, а значит удобно, чтобы объем памяти был кратен 2. С другой стороны, человеку приятнее пользоваться целыми числами. В том числе, для указания объема памяти.

Так из соображений удобства и начали пользоваться двоичными приставками. Названий же для них новых придумывать не стали. Воспользовались существующими с близкими числовыми значениями: 210 = 1024 ≈ 1000 — будем называть «кило» и т.д.

Но для дисков двоичная адресация ни к чему. И, вдобавок, при делении на 1024 результат выходит меньше, чем при делении на 1000. Кто же будет искать лишних трудностей да еще себе в убыток? 😉 Так что объем жестких дисков всегда указывался с использованием десятичных приставок. Однако, когда такой диск ставился в компьютер, операционная система пересчитывала его уже с двоичными приставками. Объём волшебным образом уменьшался! Не меньше удивляет пользователя, когда на DVD-R, на котором написан объем 4,7 GB, не помещается 4,5 гигабайта файлов.

В какой-то момент эта чертовщина начала надоедать — появились международные рекомендации (в частности, стандарт МЭК 60027–2), по которым приставки «кило», «мега», «гига» и т.д. должны использоваться только как десятичные. Для двоичных же придумали другие названия, скомбинированные из начальных букв «старых» и сочетания «би» (от binary = двоичный): «киби», «меби», «гиби»…

Правда, в устной речи эти новые приставки практически не встречаются. Мало того, наш ГОСТ-Р 8.417-2002 фактически подтвердил существующую практику. Хотя использование приставок СИ в качестве двоичных там названо некорректным, но только «для информации».

Ну, а на практике о стандартных обозначениях у нас вообще частенько забывают. Например, по ГОСТ байт положено сокращать заглавной буквой «Б», а бит — вообще писать только полностью. Как же понять, о каком количестве информации идет речь, если мы видим надпись «10 Мб»?  Точно — не получится. Только угадывать по контексту с большей или меньшей вероятностью. Это может быть  10 мегабайт или 10 мегабит, 10 мебибайт или 10 мебибит. Можно даже столкнуться с указанием таким образом скорости передачи — ну, забыли дописать «/с», ерунда какая 😉

А как показывают объем данных разные ОС?

Тут тоже возможны варианты.

Например, в Linux приняты двоичные приставки. И (естественно, в свежих сборках) честно указываются. То есть вы видите, например, «12.4 MiB» и понимаете, что это — двенадцать целых и четыре десятых мебибайта.

В Mac OS X до недавнего времени (и естественно, в классической Mac OS) объем измерялся с использованием двоичных приставок, но указывались обычные десятичные (то есть для приведенного выше примера было бы написано «12.4 MB»). А для особо дотошных — еще и точное число байт (т.е. «12.4 MB (13002342 byte)»). Но с выпуском Mac OS X 10.6 Snow Leopard ситуация изменилась. Возможно, Apple просто надоело объяснять недовольным пользователям, куда пропадает емкость их дисков (Этому, между прочим, была посвящена специальная статья на сайте компании). Но углубляться в различия «мега» и «меби» тут не стали. Просто перешили к обозначению всех величин с привычными «простым пользователям» десятичными приставками. И теперь в гигабайте ровно миллиард байтов. Точка.

Alt Linux
Snow Leopard
 

Использовано фото Daniel Sancho from Málaga, Spain на основании лицензии Creative Commons Attribution 2.0 Generic.

Опубликовано Михаил К в Информатика и ИКТ, 0 комментариев

Художественная студия GIMP

Рамон Миранда, художник из Испании, возглавляет проект по разработке комплекта инструментов и настроек графического редактора GIMP, призванный превратить эту программу в настоящий профессиональный инструмент. И, надо сказать, его работы дают уверенность в успехе этого славного начинания.
Вот небольшая видеопрезентация GIMP Paint Studio:

А загрузить входящие в GPS компоненты можно на сайте проекта, поддерживаемом Google: The Gimp + GPS (gimp paint studio).

Опубликовано Михаил К в Графика, 0 комментариев
Справка по редактору vi. Основные команды

Справка по редактору vi. Основные команды

Наиболее распространенные команды консольного текстового редактора vi.

Содержание


Совет: Перед любыми действиями с документом введите следующую команду:

:set showmode


Запуск и завершение VI

vi filenameОткрыть файл filename для редактирования
vi -r filenameОткрыть последнюю сохраненную версию filename после аварийного выхода
vi filename file2Открыть filename, затем file2 … Переход к следующему файлу — :n
ZZ или :wq или 😡Сохранить изменения и завершить VI
:wСохранить изменения в текущем файле
:w!Безусловно сохранить текущий файл
:w fileСохранить текущий файл под именем file
:q!Завершить VI без сохранения

К началу страницы

Режимы

VI работает в командном режиме и режиме ввода. Сразу после запуска редактор находится в командном режиме, в котором можно перемещаться по тексту, выполнять копирование и вставку текста из буфера. Режим ввода включается по командам вставки, дополнения, замены. Нажатие [ESC] возвращает редактор в командный режим. Большинство команд выполняется сразу после нажатия клавиши. Исключение — команды строчного редактора ex, начинающиеся с двоеточия, которые выполняются после нажатия [Return].

К началу страницы

Вставка текста

iВставка перед курсором
IВставка перед строкой
aДобавление за курсором
AДобавление после строки
:r fileВставить содержимое file после текущей строки
В режиме ввода:
CTRL-i или TABВставить смещение вправо на shift width
CTRL-dУменьшить смещение вправо на shift width
CTRL-h или BackspaceУдалить предыдущий символ
CTRL-wУдалить предыдущее слово
CTRL-uУдалить предыдущую строку

К началу страницы

Перемещение по тексту

hВлево
jВниз
kВверх
lВправо
«стрелки»Перемещение по тексту (в больших файлах работает медленно, в некоторых конфигурациях может работать некорректно).
wК следующему слову
bК началу слова
^К первому непробельному символу строки
+ или <cr>К первому символу следующей строки
К первому непробельному символу предыдущей строки
eК концу слова
(К началу предложения
)К концу предложения
{К началу абзаца
}К концу абзаца
Примечание: абзацы разделяются пустой строкой.
0 или |К началу строки
$В конец строки
1GК первой строке файла
GК последней строке файла
HК верхней строке экрана
LК нижней строке экрана
CTRL-dПрокрутка вниз на пол-экрана
CTRL-fПрокрутка вниз на экран
CTRL-uПрокрутка вверх на пол-экрана
CTRL-bПрокрутка вверх на экран
%К парной скобке: ( ), { }, [ ]

К началу страницы

Удаление текста

Большинство команд удаления образуются из символа d и команды перемещения. Например, dw удаляет слово. Другие команды удаления:

xУдалить текущий символ
nxУдалить n символов вправо, начиная с текущего
XУдалить символ слева от курсора
nXУдалить n символов влево от курсора
dd или :dУдалить текущую строку
«(a-z)ddВырезать текущую строку в именованный буфер (от a до z)

К началу страницы

Копирование в буфер

Подобно командам удаления, большинство команд копирования в буфер состоят из символа y и команды перемещения. Например, y$ помещает в буфер конец строки.

yy или :yКопировать текущую строку
«(a-z)yyКопировать текущую строку в именованный буфер (от a до z)

К началу страницы

Изменение текста

Команды изменения действуют как команды удаления с последующим переводом в режим ввода. Большинство из них состоит из символа c и команды перемещения. Например cw заменяет слово.

Вставка из буфера

pПоместить текст из буфера после курсора
PПоместить текст из буфера перед курсором
«(a-z)p или «(a-z)PПоместить текст из буфера (от a до z) после/перед текущей строкой

Буферы

Имя буфера может быть указано перед любой командой удаления, изменения, копирования или вставки. Префикс имеет вид «c, где c — любой символ нижнего регистра. Например, «adw удаляет слово и помещает его в буфер a. Затем его можно будет поместить в текст по команде «ap.

К началу страницы

Поиск/замена подстрок

/strПоиск str вперед от курсора
?strПоиск str назад от курсора
nПовторить поиск в том же направлении
:n,ms/str1/str2/optИскать строку str1 со строки n до m (n и m могут быть опущены); заменить str1 на str2; с опциями opt. Возможные опции: g — глобальный, c — подтверждать замены (y — заменить, <cr> — не заменять), p — печатать измененные строки
&Повторить последнюю команду :s
:g/str1/s/str2/str3/Найти строку, содержащую str1, заменить str2 на str3
;Повторить поиск
,Повторить поиск в обратном направлении

К началу страницы

Регулярные выражения

. (точка)Любой символ, кроме «новой строки»
*0 или более вхождений любого символа
[…]Любой из указанных символов
[^…]Любой из символов, кроме указанных
\<Строго в начале слова
\>Строго в конце слова
^В начале строки
$В конце строки
\(…\)Группа условий
\nЗначение n-ой группы
\Отмена значения спецсимвола (например, \$ позволяет искать символ $)
\\Отмена особого действия символа \

Счетчики

Практически перед любой командой можно указать количество ее повторений. Например, 5dw приведет к удалению 5 слов, а 3fe — к перемещению курсора вперед на 3-е вхождение символа «e». Подобным образом можно действовать и с командами вставки, например, вставить 100 одинаковых строк.

К началу страницы

Режимы VI

Заметьте: вводится :set option для включения режима и :set nooption для выключения. Чтобы установить настройки для каждого запуска VI, в домашнем каталоге создается файл .exrc, содержащий данные команды без двоеточия перед ними.

:set aiАвтоматический отступ (по предыдущей строке)
:set allВывести на экран все режимы
:set ebЗвуковой сигнал при ошибках
:set icИгнорировать регистр при поиске
:set listПоказывать символы табуляции (^l) и конца строки ($)
:set nu
:set number
Показывать номера строк
:set showmodeПоказывать текущий режим в нижней части экрана
:set showmatchПодсвечивать парную открывающую скобку при вводе закрывающей
:set waИсключить нормальную проверку перед записью
:set wm=nУстановить размер правого поля для автопереноса. Для отключения автопереноса n=0

К началу страницы

Макросы

Примечания:

  • Файл «.exrc» в домашнем каталоге может содержать набор макросов, используемый при каждом запуске VI (записываются аналогично командам определения макросов, но без двоеточия).
  • Чтобы включить в макрос управляющий символ, например, ESC, следует предварительно нажать CTRL-v.
  • Чтобы включить в макрос кавычки («), перед ними набирается \ (backslash).
  • Неиспользуемые в vi клавиши: K V Z g q v * = [ ] @ # и функциональные.

Пример (выделены команды VI, которые будут включены в макрос):

:map v /I CTRL-v ESC dwiYou CTRL-v ESC ESC

Действие макроса: При нажатии v найти «I» (/I ESC), удалить слово (dw) и вставить «You» (iYou ESC). CTRL-v нужно для вставки кода ESC

:map key cmd_seqНазначить клавише key исполнение макроса cmd_seq
:mapПоказать в строке состояния все имеющиеся макросы
:unmap keyУдалить макрос
:ab str stringПри вводе сокращения str заменить его на string
:abПоказать все сокращения
:una strОтменить сокращение str

К началу страницы

Прочее

~Смена регистра символа над курсором
JСлияние следующей строки с текущей
nJСлияние n строк
.Повторить последнюю команду, изменяющую текст
uОтменить последнее изменение
UОтменить все изменения в строке
CTRL-GПоказать имя файла, номер строки, общее число строк и положение в файле (%)

К началу страницы

Опубликовано Михаил К в FreeBSD, Linux