gladilov.org.ru 

Позднее Ctrl + ↑

Прочтённые книги — 03.03.2018

Прочёл монографию
    «Города-государства Древней Руси» — И.Я. Фроянов, А.Ю. Дворниченко

Монография посвящена проблеме формирования городов-государств Древней Руси. В ней рассмотрены вопросы, связанные с историей возникновения русских городов и их социально-политической ролью от второй половины IX до начала XIII вв. В центре исследования находится история городских общин, приобретение ими государственного характера. Книга интересная, но немного «сильно научная»...

405 лет основания дома Романовых

Я, конечно, не оголтелый монархист, но в последнее время стал интересоваться историей своего Отечества. Поэтому памятные даты из истории России интересуют меня, заставляя читать о них, восстанавливать прошедшие события, выстраивая причинно-следственные связи. Сегодня, 3 марта 2018 года — годовщина одного из знаменательных событий, ставшего важной вехой в истории русского государства.

3 марта (21 февраля) 1613 года основана монархическая династия Романовых, давшей стране пять царей: Михаила Фёдоровича, его сына Алексея Михайловича, и трёх его сыновей — Фёдора Алексеевича, Ивана V и Петра I, принявшего в 1721 году императорский титул.

Показать

Зарождение династии Романовых происходило в тяжёлое время, время непростых событий. Страна, оправлявшаяся от последствий Опричнины, содрогнулась от новых ударов судьбы, целого ком­плекса негативных внут­ри- и внеш­не­по­ли­тических со­бы­тий: стихийных бедствий, войн и гражданских беспорядков, тяжелейшего государственно-политического и социально-экономического кризисов. Прервалась династия Рюриковичей; бояре стали бороться за усиление своего политического влияния, конкурируя друг с другом и державной властью и «лоббируя» выгодные им коалиции; войны Ивана Грозного и последующие с поляками и шведами потребовали расхода значительных «фондов» и ресурсов; неурожай и голод 1601‒1603 годов нанёс страшный удар но населению. Обострились глубокие социальные противоречия: Семибоярщина, тяжёлый вал польской интервенции, предательства и беспредел власть имущих, взвинчивание цен, разбои, грабежи и насилие на дорогах, общее ухудшение социальных условий, межрелигиозные противоречия — всё это послужило предпосылкой для нарастания недовольства, подорвало уважение к власти и закону.

Сама власть была представлена весьма неравномерно — государство, представляющее из себя конгломерат удельных княжеств, набор конкурирующих городов-государств и волостей, подверглось интервенции со стороны польско-литовских войск, дошедших до столицы. Годуновы, Шуйские, Лжедмитрии — всех перемолола мельница военных и социальных потрясений, и лишь благодаря начавшемуся подъёму национально-освободительного движения, возглавленному Ляпуновым, Трубецким, Заруцким, Мининым, Пожарским в ноябре 1612 года закончилась Смута — междоусобица, нанесшая немалый экономический и военный урон русскому государству. Поляки были изгнаны из Москвы, ликвидирована угроза католической унии и владычества польской короны.

Теперь требовалось укрепить пошатнувшуюся государственность, преодолеть «кризис власти». Поэтому князь Пожарский рассылал грамоты о сборе на Земский собор для решения вопроса, кому быть новым русским царём. В то время в истерзанной Москве единственное здание способно было вместить всех «делегатов» — Успенский собор в Кремле. «Парламентское заседание» происходило именно там.

Спектр мнений о подходящей кандидатуре был необычайно широк. Были мнения, что на русский престол нужно посадить сына короля Речи Посполитой Сигизмунда III Владислава или сына шведского короля герцога Сёдерманландского Карла-Филиппа (при условии, что новый царь примет православие). Другие считали идеальными кандидатами в цари князей Дмитрия Тимофеевича Трубецкого и Дмитрия Михайловича Пожарского, некоторые предлагали даже английского короля Якова I. Звучали также фамилии весьма влиятельных боярских и княжеских родов — Голицыны, Воротынские, Шуйские, Годуновы.

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

Дискуссии на Соборе продолжались более месяца. Молодой Михаил Романов оказался самой компромиссной для большинства кандидатурой, за Михаила Романова голосовали дважды — первое голосование признали недействительным «из-за отсутствия кворума». Через две недели, 3 марта (21 февраля по старому стилю) 1613 года Земский собор избрал на царство первого из династии Романовых — Михаила Фёдоровича. Сам Михаил Романов в те дни находился под Костромой. Послы от Земского собора прибудут к нему только через десять дней.

Документальное подтверждение избрания («Утверждённая грамота Земского собора») подписано всеми грамотными участниками, всего 230 подписей (общая численность участников, по разным оценкам, составляла от 700 до 1500 человек), и скреплено печатями участвовавших в Соборе представителей духовенства. Отныне Смута была официально завершена, российский престол перестал пустовать. Начиналась новая эпоха в истории России.

Михаил Федорович, прозванный в народе Кротким, правил вместе со своим отцом — патриархом Филаретом с 1613 по 1645 год. За это время он увеличил авторитет и значение царской власти, отодвинув в сторону от государственных дел боярскую Думу и Земский Собор, ввёл новую систему управления — воеводскую, восстановил систему приказов, предпринял попытку создания регулярной армии. проводил в жизнь мирную внешнеполитическую позицию, заключив «Вечный мир» со Швецией в 1617 году, Деулинское перемирие в 1618 году и Поляновский мирный договор в 1634 году. В период правления Михаила установлен 15-летний срок сыска беглых.

Михаилу Романову досталась страна, наполненная оккупантами, мятежниками и бандами разбойников. Остро ощущались последствия Смуты, повсеместно бесчинствовали шайки грабителей и жуликов, махрово расцвёл чиновнический произвол, внутренняя политика страны нуждалась в масштабных изменениях. Но за время правления благодаря грамотному подходу в управлении страной Михаил Фёдорович Романов сумел справиться с ситуацией. С шайками разбойников велась беспощадная война, не признавший утверждение Михаила Фёдоровича на престоле главарь атаманской «оппозиции» Иван Заруцкий был взят в плен и казнён. На Руси провели перепись населения для установления точных размеров налоговых соборов. Сама система налогообложения была пересмотрена.

Династия Романовых дала стране выдающихся монархов, способствовавших укреплению, росту и развитию страны — в их перечне присоединивший Украину сын первого царя Алексей Михайлович, присоединивший Прибалтику великий реформатор Пётр I, присоединившая Новороссию и Крым Екатерина II, победитель всей наполеоновской Европы Александр I. Вспоминая их, понимаешь, что решение Земского собора 3 марта 1613 года — это одна из великих исторических побед России.

О питомице (в честь дня кошек)

1 марта в России отмечается День кошек. В связи с этим хочу рассказать о настоящей хозяйке квартиры, в которой живу я и моя семья.

Владеет всем кошка Ли́са, впервые соизволившая посетить квартиру в 2013 году. Родители её, место и дата рождения не известны, есть только догадки, а в качестве наставницы выступила дворовая кошка Машка (в девичестве Мари́), которая взяла на воспитание эту особу. Обитали они в подвале нашей многоэтажки, благо летняя погода позволяла не заботиться о холоде, да и пищевое «изобилие» разнообразнее.

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

Хитрости BASH и тонкости его настройки

BASH (bourne again shell) — командная среда, используемая по умолчанию во многих современных Linux-дистрибутивах. Если используется ОС из семейства Linux, то, скорее всего, используется и bash. Ниже приведены команды, опции настройки и разные трюки, придающие пользователю терминала более комфортную среду для работы (в BASH).

Показать

Настройка автодополнения и поиска в ~/.inputrc

Для одинарного нажатия Tab при автодополнении в ~/.inputrc (или в /etc/inputrc для всех пользователей)

set show-all-if-ambiguous On


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

"\e[A": history-search-backward
"\e[B": history-search-forward

Тонкости настройки ~/.bashrc

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

shopt -s histappend
export PROMPT_COMMAND="history -a"


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

export HISTCONTROL="ignoredups"


Можно запретить логирование определённых команд

export HISTIGNORE="ls:[bf]g:exit"

Список исключений — через двоеточие, можно использовать шаблоны.


Эвристическое исправление ошибок а именах директорий

shopt -s cdspell


Звуковой сигнал при запуске оболочки

export PROMPT_COMMAND="echo -ne '\a'"

можно использовать по разнному, например — включить мигание окна KiTTY.


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

shopt -s cmdhist


Если вписать

export HISTTIMEFORMAT='%d %h %Y %H:%M:%S '

то в истории будут записаны дата и время выполнения команды.


Использование регистронезависимых масок файлов

shopt -s nocaseglob

Тогда, к примеру

ls *.jpg

выведет не только *.jpg, но и *.JPG.

Хитрости BASH

Возврат в предыдущую директорию

cd -


При нажатии ESC и сразу за этим . (в терминологии *nix — Meta .) в строку подставится последний использованный объект. Например, если первой строкой набрано

ls /home/smbdy/logs

во второй наберите

rm ESC .

получите

rm /home/smbdy/logs


Реализация ввода пользовательского пароля с проверкой:

echo -n "Пользователь: "
read username
echo -n "Пароль: "
read -s password
echo -en "\nПовторите пароль: "
read -s password2 && echo -e "\n"
if [ "$password" != "$password2" ]; then
    echo -e "Пароли не совпадают.\nЗавершение работы." && exit 1
fi
echo -n "Всё верно, $username. Продолжаем." && echo -e "\n"


Копирование config.cfg в config.cfg-old

cp config.cfg{,-old}


Узнать, какой шел запущен

echo $0


Строка вида ^строка1^строка2 запустит предыдущую команду с заменой строки1 на строку2

$ ehco foo bar baz
bash: ehco: command not found
$ ^ehco^echo
foo bar baz


Переименование файла в такой-же, но с префиксом

mv long-file-name.txt prefix-!#^

Например, команда

mv file-with-long-name-typed-with-tab-completion.txt old-!#^

переименует ’file-with-long-name-typed-with-tab-completion.txt’ в файл с именем ’old-file-with-long-name-typed-with-tab-completion.txt’.


Функция быстрого переименования расширений

renamer() {
   local fn
   for fn in *."$1"; do
     mv "$fn" "${fn%.*}"."$2"
   done
}

Пример: renamer doc txt — переименует все доки в txt’шники в текущем каталоге.


Если определить функцию command_not_found_handle (), то можно обрабатывать ситуацию «команда не найдена». До выдачи сообщения о не обнаруженной команде bash поместит в $1 введенную строку и выполнит код этой функции. При этом, если функция возвращает код завершения 127, то сообщение о ненайденной команде будет выведено на экран.


Для добавления алиаса с автоприменением определяем новый алиас в ~/.bash_aliases

alias editalias=’edit ~/.bash_aliases && source ~/.bash_aliases’


Имейте в виду, что для работы алиасов из этого файла он должен быть явно включён в вашем ~/.bashrc:

[ -f ~/.bash_aliases ] && source ~/.bash_aliases




Новая виртуальная ОСь — 28.02.2018

 ArchLabs 2018.02

Дистрибутив Linux’а от дистроделов из  Новой Зеландии —  ArchLabs Linux 2018.02, основанный на минимальной сборке  Arch Linux с оконным менеджером Openbox.

В начале 2000-х годов Филипп ’corenominal’ Ньюборо поставил цель создать простой но мощный Linux-дистрибутив, жрущий мало ресурсов и подходящий для работы на слабых компьютерах. Он создал  CrunchBang Linux, достаточно легковесный, использующий оконный менеджер  Openbox. После завершения разработки и поддержки проекта в начале 2015 года ряд пользователей Crunchbang довольно быстро «запилили» несколько проектов, среди которых были, например —  BunsenLabs Linux и #!++ CrunchbangPlusPlus. Ещё одна группа неустановленных лиц (последовалелей Crunchbang — разработчиков) вместо использования продолжительного цикла  Debian взяли за основу менее тухлые более современные пакеты Arch Linux. Так появился ArchLabs — сборка для тех, кто не осилил Арч пример, как можно настроить минимальное ДЕ из г0вна и палок. В начале команда ArchLabs подражала внешнему виду BunsenLabs, но затем дистрибутив сумел развить своё собственные оформление и стиль.

 ArchLabs

Упругость




Слизал с сайта блога Ильи Бирмана прикольный эффект и выложил у себя на мини-сайте. Вот код HTML-страницы:

Показать

<!DOCTYPE html>
<html>
  <head>
    <title>Soul</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta charset="utf-8"/>
    <style type="text/css">
        html,body{height:100%;padding:0;margin:0}
        #lh{display:table;height:100%;overflow:hidden;width:100%}
        #lh2{display:table-cell;vertical-align:middle;width:100%}
        #lh3{height:150px;width:150px;margin:auto;position:relative}
        #lg{display:block;margin:auto;top:0;left:0}
        #lg2{position:absolute}
        .animated {-webkit-animation-duration: 1s;animation-duration: 1s;-webkit-animation-fill-mode: both;animation-fill-mode: both;-webkit-animation-timing-function: ease-in;animation-timing-function: ease-in;}
        @-webkit-keyframes bounceIn {
            0% {opacity: 0;-webkit-transform: scale(.3);}
            50% {opacity: 1;-webkit-transform: scale(1.05);}
            70% {-webkit-transform: scale(.9);}
            100% {-webkit-transform: scale(1);}}
        @keyframes bounceIn {
            0% {opacity: 0;transform: scale(.3);}
            50% {opacity: 1;transform: scale(1.05);}
            70% {transform: scale(.9);}
            100% {transform: scale(1);}}
        .bounceIn {-webkit-animation-name: bounceIn;animation-name: bounceIn;}
    </style>
  </head>
  <body>
  <table><tbody><tr><td>
    <div id="lh" class="animated bounceIn"><div id="lh2"><div id="lh3">
      <img src="/img/special/soul.png" id="lg2" width="150" height="150" style="box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); -moz-border-radius: 75px; -webkit-border-radius: 75px; -o-border-radius: 75px; border-radius: 75px; vertical-align: bottom;" />
    </div></div></div>
  </td></tr></tbody></table>
  </body>
</html>

Запись и воспроизведение команд в консоли

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

Однако существует интересный способ, как делать «видеозапись команд» в консоли без лишних телодвижений (я не говорю обо всяких доставляемых ttyrec, termrec & ipbt). Выполните в терминале, к примеру, следующие команды:

Показать

script -t 2> timing -a ttyoutput
pwd
cd /
pwd
cd -
pwd
exit

После команды exit запись с терминала прервётся и с помощью команды

scriptreplay timing ttyoutput

можно воспроизвести записанные действия и ответы системы. Для выхода можно использовать комбинацию клавиш Ctrl + D в обычном шеле или набрать exit или logout в csh (если переменная ignoreeof не задана — то Ctrl + D тоже сработает).

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

awk '/@/' ttyoutput

А чтобы получить полный список вводимых команд и ответы интерпретатора:

awk '/./' ttyoutput

Можно даже интерактивно передавать вводмые команды, например — с помощью ключа

‒f (‒‒flush)

один пользователь вводит команды в терминал

mkfifo ttyoutput2; script -f ttyoutput2

другой — наблюдает за операциями в реальном времени с помощью

cat ttyoutput2

Сетевой обмен между удалёнными машинами можно организовать с помощью утилиты netcat.

P. S. Команды script и scriptreplay входят в пакет util-linux, поставляемый вместе с операционной системой (по крайней мере в Linux, хотя впервые утилита script появилась в системе 3.0BSD), поэтому они доступны сразу после установки системы.

P. P. S. Альтернативы — уже упоминавшиеся termrec, ipbt, ttyrec/ttyplay — имеет сходный функционал, есть утилита ttycast, осуществляющая широковещательную передачу команд терминального сеанса в реальном времени.
Также существуют такие утилиты:
TermRecord@github — пишет в html и воспроизводит в браузере.

pip install TermRecord
TermRecord -o /path/to/output_html


asciinema.org — свбодная утилита с открытым исходным кодом для записи сеансовых команд и выкладывания их в сеть.

curl -sL https://asciinema.org/install | sh
asciinema rec


showterm.io — похож на asciinema, но оперирует только с текстом.

gem install showterm
showterm
# or if you have not installed showterm, you can run the standalone
bash <(curl record.showterm.io)


monitor — утилита, перехватывающая ввод/вывод терминала и отправляющая на сайт commands.com.

curl commands.io/install-monitor-(ubuntu|macosx|redhat)
monitor -u myusername

Новая виртуальная ОСь — 26.02.2018-2

 CyanogenMod 13.0 RC1

Cвободная операционная система для мобильных устройств —  CyanogenMod 13.0 RC1. Сначала операционку (или прошивку), предназначенную для замены проприетарных предустановленных версий  Android, пилила команда Cyanogen Team, затем разработку коммерциализировали, создав контору Cyanogen Inc., закрывшуюся 31 декабря 2016 года (вероятно — поглощённую конкурентом-гигантом). Но разрабы продолжили развивать проект под новым именем  LineageOS.

 CyanogenMod

Новая виртуальная ОСь — 26.02.2018

 LineageOS 13.0

Основаная на  CyanogenMod ось для смартфонов и планшетов —  LineageOS 13.0 (на базе CyanogenMod 13, основанного на  ведроиде 6.0.1 Marshmallow). LineageOS Android Distribution разрабатывается после форка от CyanogenMod на основе его исходного кода.

 LineageOS

Ранее Ctrl + ↓
Наверх