LaurVas

Строгий календарь 2017

   дизайн

Ключевые особенности моего календаря:

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

Скачать в pdf: версия на одном и на двух листах (6+6).

Каледнарь предназначен для печати на форматах от А4 до А2, поэтому в самом документе поля отсутствуют. При печати указывайте в параметрах что-то вроде “масштабировать под размер области печати”, чтобы края не пропали.

Распечатанный календарь вешается на видном месте, все важные даты подписываются (для этого отведено место справа от даты).

Запускаем Debian в контейнере systemd-nspawn

   linux debian

Linux-контейнер — это линукс внутри линукса. Примерно как виртуализация (VirtualBox, Qemu), только без эмуляции железа. Для каких задач могут пригодиться контейнеры?

  • Когда хочется установить временно какой-то софт, не захлямляя основную ОС. Сделал контейнер, поработал, сохранил результат, удалил контейнер. Мусора в системе не осталось.

  • Когда нужна более свежая или наоборот, устаревшая версия той или иной программы/библиотеки.

  • Когда нужного софта нет в репозиториях вашего дистрибутива, зато есть в репозиториях другого. Например мне пару раз нужен был pdftk, который в Archlinux есть в AUR, но не хочет собираться. Я нашёл готовый пакет в Debian и быстро установил его в контейнере.

  • Когда надо потестить свежий выпуск Debian/Ubuntu/whatever.

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

  • Для сборки пакетов под другой дистрибутив.

  • Когда вам по работе нужен какой-нибудь oldstable Debian, недостойный быть основной системой на компьютере.

  • Для изоляции приложений. Заводим отдельный контейнер под Skype и не боимся его шпионских действий.

Эта инструкция описывает создание и использование контейнера на примере Debian Jessie. Создание контейнера с другим Linux-дистрибутивом ничем принципиально не отличается.

Ручная установка минимального Debian-based Linux (Install Debian the Archlinux way)

   linux debian

В данном руководстве описана установка Debian-based дистрибутива Linux (Debian, Ubuntu, Kali и др.) с нуля без использования каких-либо автоматических установщиков.

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

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

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

Trap — обработка сигналов и ошибок в Bash

   bash

trap ДЕЙСТВИЕ СИГНАЛ...

Trap работает очень просто: при возникновении сигнала будет выполнено указанное действие. Если действие простое (последовательность команд, умещающаяся на одной строке), его можно указать прямо в аргументе trap. Если не очень простое, то надо объявить функцию и поместить вызов этой функции в trap.

Можно обрабатывать стандартные сигналы (их полный список выводится по trap -l). Также доступны специфические для Bash: DEBUG, RETURN, ERR, EXIT.

На практике trap оказывается не такой уж простой штукой. Дьявол как всегда кроется в деталях. Сейчас покажу.

Мои впечатления от Gentoo Linux

   linux

КПДВ

Да, здесь должна быть эта устрашающая картинка.

TL;DR: Я рад, что наконец-то осмелился попробовать Gentoo. Да, пришлось потратить время, чтобы заработали самые базовые вещи, но я узнал много нового и многому научился. В Gentoo есть свои интересные фишечки, которых нет в других дистрибутивах.

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

If you know <distro>, then you know <distro>. If you know Gentoo, then you know Linux

На момент написания статьи я использую Gentoo около года.

Жизнь с комфортом в Openbox WM

   linux

Openbox window manager — стэковый оконный менеджер для графической системы X Window.

Как-то не попадались мне душевные рассказы про Openbox на просторах рунета. А зря, ибо хороший он. В этой статье я хочу поделиться своим опытом формирования полноценного окружения на его основе. Мне результат нравится.

Гистограммы в гнуплоте

   gnuplot

Пример гистограммы

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

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

Особенности гнуплота под Windows

   gnuplot windows

КДПВ

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

Битва за кириллицу в консольных приложениях

   windows

При написании консольных программ на языках C, C++ под Windows возникает проблема с отображением русских букв. Поэтому начинающие программисты часто делают вывод текста в своей программе транслитом, на ломанном английском, либо на каком-то промежуточном языке. Наверняка среди них популярно заблуждение о том, что русские буквы невозможно получить в принципе.

Несмотря на то, что с этой проблемой я столкнулся ещё в своей самой первой программе на C, элегантное решение нашлось только сейчас. И знаете что? Выражать свои мысли на родном языке намного приятнее, и программа выглядит аккуратно.

Скриншот сравнения разных способов решения проблемы