Автоматический тайлинг в Sway

Я давно использую i3wm в работе, а после выхода версии 1.0 Sway я перешел на него с i3. Sway – это пракатически полностью совместимый с i3 композитор Wayland. По-этому перейти на него оказалось очень просто. Мои конфиги Sway можно посмотреть на Github. Почему-то я долгое время думал, что мне в i3/sway не хватает полностью ручного тайлинга, я пробовал различные оконные менеджеры с ручным тайлингом, такие как, bspwm, herbstlutfwm и другие, но они не заходили.

Ограничиваем в правах Firefox с помощью apparmor

AppArmor — программный инструмент упреждающей защиты, основанный на политиках безопасности, которые определяют, к каким системным ресурсам и с какими привилегиями может получить доступ то или иное приложение. В AppArmor включён набор стандартных профилей, а также инструменты статического анализа и инструменты, основанные на обучении, позволяющие ускорить и упростить построение новых профилей. © Wikipedia.org Самое опасное приложение на десктопе, как я считаю, – это браузер. На меня напал очередной приступ паранои и я написал профиль apparmor для Firefox.

Читаем почту в GNU Emacs

И так по обсуждению из вот этого вот треда(стартовый пост) у меня получилось настроить Gnus для работы с пятью почтовыми аккаунтами и отказаться от Evolution. На самом деле связка получилась такая: fetchmail забирает письма, раз в 5 минут и запускает procmail для фильтрации сообщений, procmail сохраняет сообщения в $MAILDIR, дальше уже Gnus читает почту и показывает ее. Чтобы иметь нормальные уведомления я использую индексер почты mu, i3blocks запускает раз в 30 секунд скрипт проверки на новые письма и отправляет уведовления через libnotify, ну и иконку на панели рисует.

Автодополнение для python с LSP в GNU Emacs

The Language Server Protocol (LSP) – это открытый, основанный на JSON-RPC протокол для использования между редакторами исходного кода и серверами, которые предоставляют специфические для языка программирования функции. Цель протокола заключается в том, чтобы обеспечить поддержку автодополнения языка программирования независимо от любого редактора или среды IDE. LSP дает реально крутые штуки, такие как: Показ документации для модуля под курсором Автодополнение по точке. На самом деле это company-lsp, но про это будет дальше.

eshell в качестве шелла

Я тут подумал: а чей-то я использую в качестве шелла zsh, когда можно юзать емаксовый eshell? Быстренький гайд. Делай раз Для начала, чтобы темы отображались правильно нужно сгенерировать terminfo. В 26.1 емаксе можно работать с 24-битным терминалом. Напишем файл terminfo-24.src: # Use colon separators. xterm-24bit|xterm with 24-bit direct color mode, use=xterm-256color, setb24=\E[48:2:%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%dm, setf24=\E[38:2:%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%dm, # Use semicolon separators. xterm-24bits|xterm with 24-bit direct color mode, use=xterm-256color, setb24=\E[48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm, setf24=\E[38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm, Генерируем: tic -x -o ~/.

Про IDEC

IDEC - это протокол обмена сообщениями совместимый на базовом уровне с ii. Расшифровывается, как ii-like Data Exchange Convention. Главная фишка его - это простота и возможность работать поверх чего угодно, например, ssh. Но практически все реализации сейчас работают поверх http. Цитата из официальной документации Есть несколько серверов (грубо говоря, сайтов), за каждым из которых закреплены свои пользователи (поинты). Поинты пишут сообщения каждый на свой сервер. Через каждые 10-20 минут сервера скачивают друг у друга новые сообщения.

API поиска на dynamic.lessmore.pw

Поиск на dynamic.lessmore.pw Как это ваще устроено??? На самом деле API – это открытый всем Elasticsearch, который предоставляет гору возможностей для поиска за счет движка Lucene. Давайте что-нибудь найдем! Вот в этом вот комменте я пообещал рассказать как это все сделать. Приступим. Давайте для начала попробуем поискать этот самый коммент: ii://XWShDDcuR4C8PcrTFdGl. Здесь и далее мы будем использовать только curl. curl -XPOST -d '{"query": {"query_string" : {"fields" : ["msgid"], "query" :"XWShDDcuR4C8PcrTFdGl"}}}' https://dynamic.

Go в GNU Emacs

На самом деле это выжимка вот этой статьи. Ну, а еще некоторые вещи в ней устарели, по-этому немного обновленная версия. tl;dr Поставим нужные пакеты в Емакс (use-package exec-path-from-shell) (use-package rainbow-delimiters) (use-package go-snippets) (use-package go-guru) (use-package go-autocomplete) Настроим go-mode (use-package go-mode ;; Godef jump key binding :bind (("M-." . godef-jump) ("M-*" . pop-tag-mark)) :init (setenv "GOPATH" (concat (getenv "HOME") "/.local")) :config (defun set-exec-path-from-shell-PATH () (let ((path-from-shell (replace-regexp-in-string "[ \t\n]*$" "" (shell-command-to-string "/bin/bash -c '.

Отправляем логи в удаленный logstash

Все привыкли пользоваться связкой ELK. А что делать, если хочется отправить логи в уже существующий ELK с хоста на котором памяти в обрез? У меня получилось так, что на виртуалке с сайтиком всего 512Мб памяти и логстешь при запуске просто выжирал ее всю и падал. Никакие Xmx Xms не помогали. Самое интересное, что логи-то nginx я заставил писать в JSON, а значит logstash выступает просто проксей до эластика. Вот так можно заставить писать nginx в JSON.

Фест Эпоха рыцарства 2017

Будет много фоток. Пост весит 16Мб. Под Минском в д. Озерцо проходил фестиваль “Эпоха рыцарства” на котором в первый день я и побывал. Было солнечно и тепло. В палатках продовались домашняя медовуха и сбитень. Уже на подходе к самому месту проведения заметили палатки и косплееров на коняшках. Сам фестиваль проходил на территории музея народной архитектуры и быта. Там можно походить и заглянуть в некоторые из домов, где попытались воссоздать старинный быт.