Thinking in HTML

В предыдущей статье я рассказал немного о вёрстке газеты с помощью прямой генерации постскрипт-файлов из отдельных готовых макетов. Комментаторы обратили моё внимание на LaTeX. Для меня было очевидно, что в описанном мной случае LaTeX был избыточным, но осадок остался. И я пошёл искать подробности в Яндексе.


LaTeX поразил меня прежде всего размером пакета texlive-full. Затем — сложностью вставки кавычек-ёлочек: надо каждый раз переключаться на латиницу. Я попробовал начать писать эту статью в LaTeX, и понял, что это не нужно. Потому что а) у Хабра другие требования (например, кавычки Хабр делает сам), и б) у меня тоже другие требования: если статья не для Хабра, я всё равно буду ставить обычные кавычки, а потом заменю их на ёлочки макросом в Виме.


Думаю, так рассуждаю не я один — что удобнее во время написания текста ставить какие-то простые метки, обозначающие кавычки, ссылки, жирность, нумерованный список… А потом заменять эти метки на универсальную разметку типа HTML с помощью, допустим, Markdown.pl.

Читать дальше →

[Из песочницы] Еще раз о SWAP в Linux «на горячую» на AWS EC2 Instance

Все мы знаем, как важен SWAP. И как без него бывает плохо. Особенно когда ОЗУ не так много, а на сервере появился "прожорливый" процесс.


В данной статье хочу рассмотреть способы добавления SWAP на AWS EC2 серверах "на горячую", без перезагрузки сервера.

Читать дальше →

Линукс и вёрстка газеты (не для профессионалов)

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

— Верно… — откликнулось несколько голосов в зале. [...]

— И ток не течет по воздуху. Верно?

— Верно…

— И без Windows или MacOS невозможно производить допечатную подготовку газеты?


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


Лет пятнадцать назад рекламное агентство, где я работал, начал поклёвывать жареный петух по поводу нелицензионного ПО. Шеф прикинул возможности и решил, что сможет выкроить из бюджета сумму на покупку пяти лицензий Windows+Office, одной 1С 7.7 и парочки Corel Draw. Работать при этом на 1С должны были 10 рекламных менеджеров, а Windows была совершенно необходима дизайнерам.


У нас был хороший админ; он тоже прикинул возможности, проконсультировался с коллегами и задумался: зачем конкретно менеджерам-продажниками нужна Windows?


Читать дальше →

[Перевод] Патчи против уязвимостей Meltdown & Spectre вызывают проблемы с загрузкой Ubuntu 16.04



Пользователи Ubuntu Xenial 16.04 кто недавно установили обновления против уязвимостей Meltdown и Spectre сообщают, что не смогли после этого загрузить свои системы и вынуждены откатиться на более ранние образы ядер Linux.
Читать дальше →

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

Диспозиция


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



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

Читать дальше →

Vim: поиск по документации на Javascript

Обычно я работаю в Kate или Geany. Но иногда, как и всем людям, мне хочется освоить Vim. И каждый раз, примерно на второй минуте «освоения» возникает какой-нибудь совершенно дурацкий вопрос. Например, почему при нажатии стрелок (или клавиш jk) курсор скачет сразу через все строки абзаца?


Как бы я ни старался свои вопросы формулировать, поиск каждый раз выдаёт мне примерно одни и те же сто сайтов с заголовками вроде «100 самых полезных команд Vim». И какой бы сайт я ни выбрал, на нём всегда не будет хватать именно той «команды», которая мне нужна как раз сейчас.


Я подумал, как бы найти не сто, а вообще все команды Вим. И нашёл-таки страничку в сети, которая так и называлась: «Все команды Vim». И там действительно был очень большой список — штук шестьсот слов. Но не было указано, что эти команды делают, — просто список терминов. Меня так разозлила эта шутка, что я решил, наконец, почитать документацию и раз и навсегда составить свой собственный список «всех команд Vim». Результат на экране. Подробности ниже.


image


Читать дальше →

Система сбора, анализа, уведомлений и визуализации логов на syslog-ng, elasticsearch, kibana, grafana, elasticalert

image

Что мы получим после этой статьи:

Систему сбора и анализа логов на syslog-ng, elasticsearch в качестве хранилища данных, kibana и grafana в качестве систем визуализации данных, kibana для удобного поиска по логам, elasticalert для отправки уведомлений по событиям. Приготовьтесь, туториал объемный.

Какие логи будем собирать:

  • все системные логи разложенные по индексам в зависимости от их facility(auth,syslog,messages и т.д.);
  • логи nginx — access и error;
  • логи pm2;
  • и др.

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

Почему я выбрал связку с syslog-ng в качестве отправителя, парсера и приемщика логов? Да потому-что он очень быстрый, надежный, не требовательный к ресурсам(да да — logstash в качестве агентов на серверах и виртуальных машинах просто убожество в плане пожирания ресурсов и требованием java), с внятным синтаксисом конфигов(вы видели rsyslog? — это тихий ужас), с широкими возможностями — парсинг, фильтрация, большое количество хранилищ данных(postgresql,mysql,elasticsearch,files и т.д.), буферизация(upd не поддерживает буферизацию), сторонние модули и другие фишки.

Требования:

  • Ubuntu 16.04 или debian 8-9;
  • vm для развертывания;
  • Прямые руки.

Приступим или добро пожаловать под кат...Далее...

Система сбора, анализа, уведомлений и визуализации логов на syslog-ng,elasticsearch,kibana,grafana,elasticalert

image

Что мы получим после этой статьи:

Систему сбора и анализа логов на syslog-ng, elasticsearch в качестве хранилища данных, kibana и grafana в качестве систем визуализации данных, kibana для удобного поиска по логам, elasticalert для отправки уведомлений по событиям. Приготовьтесь, туториал объемный.

Какие логи будем собирать:

  • все системные логи разложенные по индексам в зависимости от их facility(auth,syslog,messages и т.д.);
  • логи nginx — access и error;
  • логи pm2;
  • и др.

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

Почему я выбрал связку с syslog-ng в качестве отправителя, парсера и приемщика логов? Да потому-что он очень быстрый, надежный, не требовательный к ресурсам(да да — logstash в качестве агентов на серверах и виртуальных машинах просто убожество в плане пожирания ресурсов и требованием java), с внятным синтаксисом конфигов(вы видели rsyslog? — это тихий ужас), с широкими возможностями — парсинг, фильтрация, большое количество хранилищ данных(postgresql,mysql,elasticsearch,files и т.д.), буферизация(upd не поддерживает буферизацию), сторонние модули и другие фишки.

Требования:

  • Ubuntu 16.04 или debian 8-9;
  • vm для развертывания;
  • Прямые руки.

Приступим или добро пожаловать под кат...Далее...

Перевод статьи основателя Debian Яна Мердока «Как я пришел в Linux»

Привет! 28 декабря 2015 года при довольно странных обстоятельствах ушел из жизни Ян Мердок (Ian Murdock) — основатель проекта Debian. Как-то блуждая по Сети и выясняя причины этой весьма загадочной смерти, я наткнулся на блог Яна и пост в нем под названием «How I came to find Linux». Этот текст мне показался очень трогательным и интересным. Так как я не программист и не художник, я решил внести свой небольшой вклад в сообщество, сделав перевод его текста на русский язык. Я постарался, чтобы мой перевод был одновременно и максимально близким к тексту, и все-таки литературным, читаемым. Получилось или нет судить не мне. Сам текст, как мне кажется, несмотря на его небольшой размер и простоту, очень важен. Важен для понимания того времени, той розовой эпохи, плодами которой мы пользуемся до сих пор, будь то iPhone, Android или сайт VK.com (powered by Debian, насколько мне известно). В завершении предисловия я хотел бы дать и практический смысл моему посту. Дело в том, что я так и не смог найти сервис для совместного перевода, который бы отличался простотой и ясностью в главном: в размещении английского оригинала и удобной совместной работы над переводом в идеале с учетом разных вариантов. Вот посмотрел с пяток и нужного не нашел. Так и переводил в google docs с разбивкой на строки-абзацы и две колонки: оригинал/перевод. Если знаете такой: отпишите в комментариях и, да, не судите строго. Приятного чтения!

Как я пришел в Linux

image...Далее...

Включаем поддержку TLS v1.3 в Nginx на примере Debian 9

Всем доброго времени суток!

Данный пост написан вследствие победы желания докопаться до сути над усталостью, сонливостью, соблазном опрокинуть очередную бутылочку пива пятничным вечером.
Сразу скажу, что ничего супер сложного не раскрываю, всего лишь включение TLS v1.3 в Nginx.
image

Наверняка на Хабре найдутся те, кто уже 100 раз это делал, поэтому данная статья — больше для новичков или для тех, кто хочет найти готовое решение в виде мануала, не тратя много времени на поиски, как я, например. Вспомнив, что я давно не писал на Хабре и поставив статье метку «tutorial», принялся за дело.

Читать далее


Последние посты