Автодополнение имён хостов из LAN в консоли

Мне по работе часто приходится подключаться к машинам в локальной сети через SSH. Некоторые IP-адреса запоминаются, но всё же чертовки удобно, когда для такой банальной вещи, как имена локальных машин, работает автодополнение. В принципе, имена хостов часто несложно получить с помощью Avahi (avahi-browse). Странно — думал я, — почему до сих пор никто не догадался … Читать далее Автодополнение имён хостов из LAN в консоли

Закрытие летнего сезона полётов

Прошедший год получился не то что бы сильно щедрым на полёты. Дождливое лето, много работы, к тому же в Долгопрудном особо негде полетать, всегда надо искать время и возможность куда-нибудь выбраться. Тем не менее, как я уже писал, мой авиамодельный парк слегка расширился, и надо это хозяйство периодически выгуливать. С новым самолётом пришлось довольно много … Читать далее Закрытие летнего сезона полётов

Bixler: продолжаем самолётную тему

В июле я всё-таки созрел для покупки самолёта более солидных характеристик, чем мой первый пенолёт. Поскольку ещё на момент выбора самолёта тогда, три года назад, я засматривался на Bixler, в результате решил купить именно такой агрегат.

В сравнении с моим старым самолётом, у него больший размах крыльев (1500 мм против 1000), более тяговитый мотор из коробки и куча места в фюзеляже. Плюс — огромное сообщество упоротых FPV-шников, которые наделали кучу разного кастома для этого многострадального самолёта. Что с ним только не делали: нагружали аппаратурой до потери планирования, поднимали на 3 км, даже летали над Питером из Москвы. В общем, если у меня появятся какие-то странные идеи, наверняка под это уже будут готовые решения. Плюс, каждый элерон у него управляется своей сервомашинкой, что позволяет реализовать подобие закрылок для более уверенного подъёма при взлёте.

Был вариант ждать аппарат из Китая, но конкретно Bixler-ы уже мало где есть в наличии. В итоге я психанул и купил модельку на Авито. Забегая вперёд, скажу, что предыдущий владелец, на мой взгляд, перестарался с доделыванием этого самолёта. Однако, самолёт у меня в руках, а это значит, что настало время летать!

Читать далееBixler: продолжаем самолётную тему

Делайте бекапы

Пост из разряда типовых. «Люди делятся на две группы — на тех, кто не делает бекапы, и на тех, кто теперь делает». И опять это работает не очень долго. Когда ты линуксоид, у тебя мало что работает из коробки. Надо постепенно разворачивать среду под себя, оттачивать мелкие детали, чтобы было максимально удобно этим пользоваться. И … Читать далее Делайте бекапы

rssh, или Как разрешить SCP, но запретить SSH

Вполне адекватная ситуация: у вас есть удалённая Linux-машина с доступом по SSH, и вам срочно нужно дать кому-то из знакомых возможность загрузить на эту машину файл. Разумеется, нам абсолютно лениво разворачивать ради этого FTP-сервер. Да и зачем, когда есть SCP?

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

Выход вроде как всплывает: надо заменить пользователю shell по умолчанию (/bin/sh) на что-нибудь другое. Вот только что?

Читать далееrssh, или Как разрешить SCP, но запретить SSH

Мой Linux орёт на меня! (+ решение проблемы)

Да, не самая приятная история, связанная с особенностями Pulseaudio. Но хорошо всё то, что хорошо кончается (или разрешимо для этого).

Проблема

Сижу я за работой, в фоне тихонько играет музыка. В какой-то момент отлаживаемое приложение подвисает, я пытаюсь отключить его соответствующей кнопкой окна. Разумеется, без ответа. Но кеды умные — подождут несколько секунд, а потом выплюнут окошко с вопросом «Приложение не отвечает на SIGTERM, прикончить его SIGKILL?». Окошко выплёвывается с характерным системным звуком.

И вот, кнопка завершения нажата, ждём эффекта. Тут из 40-ваттной акустики, подключенной к ноуту, раздаётся громкое «БР-Р-ЯМЦ», разрушая гармонию и покой одиночества в небольшой квартире, попутно заставив проснуться соседей. Ах да, это системный звук. С непривычки откладвается груда кирпичей, проклинается всё на свете и окошко закрывается.

Но как же так? Я же ставил Master volume в 20%, оно не могло издать такой громкий звук?

Смотрим в трей и видим, что Master volume теперь не 20%, а 100%. Чудеса!

Повторные эксперименты показывают, что Master volume действительно выкручивается в максимум в момент проигрывания системного звука.

Читать далееМой Linux орёт на меня! (+ решение проблемы)

Toony Mugs, или Как разрисовать кружку и не сгореть от стыда

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

Для этих целей где-то месяц назад в одном крупном гипермаркете за копейки была куплена пара больших кружек «дымчатого стекла» или чего-то в этом роде. В общем, полупрозрачное коричневатое стекло. На тот момент мне показалось, что это довольно удачный вариант для раскрашивания. Однако, хоть весь материал был в наличии, идей всё ещё не было.

Очередным вечером мне вдруг надоело это бездействие. Я взял самую простую маленькую стеклянную чашку из сервиза и на ночь глядя попытался перевести на неё один из пони-артов товарища up1ter (кстати, если ты это читаешь — огромное спасибо за проделанную работу! Когда будет возможность — постараюсь подбодрить донатом :3). К сожалению, получилось так себе, но, думаю, скоро повторю попытку (фотография, тем не менее, лежит внизу).

Реакцией Богдана на эту кружку была вот эта замечательная мордаха:

В общем, глядя на это, я решил, что настал самый подходящий момент.

Читать далееToony Mugs, или Как разрисовать кружку и не сгореть от стыда

Address Sanitizer, или Что делать, если не работает valgrind

Случилась непростая ситуация. Есть код, написанный на С, который активно используется через CGo в проекте, написанном на Go. В какой-то момент программа начала падать с ошибками от malloc: то segfault, то memory corruption.

Логичная мысль: нужен valgrind с его memcheck, чтобы проверить, кто лезет поперёк батьки в пекло в невалидную память. Однако, попытка скормить валгринду бинарник, полученный от go build, приведёт только к разочарованию — даже на простом Hello World валгринд разразится сотнями ошибок и отправит разработчика на известные координаты.

Это происходит из-за того, что go runtime довольно специфичен и неплохо отличается от такового в С. (Подробности можно спокойно нагуглить по запросу «golang valgrind»).

Так как же нам разобраться, что происходит?

Читать далееAddress Sanitizer, или Что делать, если не работает valgrind

Winter Wrap Up

Всем доброй пятницы, друзья.

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

Забавно, но лучший способ вспомнить всё, что происходило за последнее время — залезть в телефон и вытащить оттуда фотографии. Чем я и попробую сейчас заняться.

Читать далееWinter Wrap Up

Пешком на работу

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