Многоязычное

23.07.2009 14:26:34

Как понять, что ты слишком много последнее время писал на Python и Shell? Легко — когда GCC начинает ругаться на комментарии начинающиеся с «#» в C.

#!/bin/sh

12.11.2006 22:22:43

После обновления UbuntuK’а с Dapper на Edgy заметил странное: в шелл-скриптах перестали разворачиваться выражения типа dir/blah.{c,o}, то есть, с фигурными скобочками. Больших проблем не создавало, поэтому для начала забил.
Читайте далее »

rsync

03.10.2006 16:10:21

Иногда задумывался над разного рода синхронизацией между рабочей машинкой и ноутбуком. В принципе, нужно не так часто и не так много, поэтому «lftp sftp://…» обычно хватает. Но тут что-то с утра пришел в особо бодром расположении духа и набрал «man rsync». Я-то думал, там rsyncd придется настраивать, курить мануал полдня… Собственно, почему и не заморачивался.

Оказалось, rsync вполне может жить и без rsyncd, общаясь через SSH, который на машинках, естественно, стоит. Оказалось, что мне, в общем-то, окромя «rsync -av …» и знать больше ничего не надо. Оказалось, что оно отлично работает. Что радует.

FreeBSD 6.1

13.07.2006 08:12:39

Круто!

[rik@lapsang ~]$ df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a    9.7G    5.5G    3.4G    62%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad4s1d    135G    101G     33G    75%    /home
/dev/ad2s1d    6.8G    1.9G    4.8G    29%    /usr/ports
/dev/ad2s1e    174G    173G    835M   100%    /trash
procfs         4.0K    4.0K      0B   100%    /proc
/dev/ad1s1e    216G    205G   -6.1G   103%    /root/tmp/trash

А, как оказалось, всего делов — зарезервированные для root-а 8%.

tunefs -m 0 ...

SSH туннелирование

17.06.2006 12:42:44

Так интересно совпало вчера. Слушал старые подкасты Security Now!, а именно 15-й и 16-й. Там упоминалось SSH туннелирование и то, что это, в общем-то, достаточно геморройный метод. А тут вот как раз мне очень понадобилось пробить туннель и я, слегка опечаленно, пошел курить маны. Не прошло и пяти минут как все замечательным образом заработало! Собственно, я теперь даже не знаю, что может быть проще, чем пробить SSH туннель. У него, конечно, есть другие очевидные недостатки, но при необходимости пробить защищенный туннель до конкретной машины с конкретным портом — просто песня. Всего делов:

ssh user@some-machine -L local_port:remote_server:rserver_port

В результате чего любые подключения на localhost:local_port будут шифрованно уходить на some-machine, а оттуда на remote_server:rserver_port. Все, проблемы закончились.

Ну вот еще только сегодня обнаружил документ, где предлагается запускать на удаленной машине cat, дабы не получать shell и не быть привязанным к терминалу. Тоже полезный совет, особенно, если прорубать тоннель надо как-то автоматически.

ping

04.05.2006 18:01:43

Чего может быть проще чем ping? Да мало что. Только вот, похоже, некоторые разработчики страдают особой формой кретинии и, как результат, ping практически невозможно использовать в кроссплатформенных скриптах без большого геморроя.

Например, необходимо так или иначе быстро проверить жив хост или нет. Для этого, естественно, надо ограничить таймауты и/или количество посылаемых пакетов. В GNU делается легко — опции «-c» или «-w», count и wait соответственно. Классно? Классно! Переходим к BSD и видим опции «-c» и «-t». ОК, хотя бы можно воспользоваться той же опцией «-c».

Самая большая радость наступает когда мы переходим к Solaris и видим, что для начала, можно было бы указать таймаут как второй параметр. При этом, естественно, такой формат более не понимает ни один ping, да и вывод в результате совершенно другой. Но если хочется ограничить количество «пинков», то, для начала надо воспользоваться «расширенной» опцией «-s», после чего последний передаваемый параметр вдруг резко превратится из таймаута в количество тех самых пинков!

За такие выверты, особенно, с учетом далекого BSD-шного прошлого Solaris, разработчиков надо отстреливать на месте.

Забавно, что в Windows работает GNU-тый параметр «-w». Правда, количество пинков уже идет через «-n», чего более нет нигде. Но хоть что-то совпадает, и то радость. Солярщиков же, похоже, точно пора убивать.

Cal

29.04.2006 12:50:50

Не, без FreeBSD и сопутствующей возни я все-таки совершенно точно помер бы дураком. Откуда еще я бы узнал о чудовищной полезности программулинке ‘cal’?! Делаем так нехитро ‘cal -m’ или ‘cal -my’ и радуемся вот такому простому результату (для первого случая, во втором слишком много:

     Апреля 2006
Пн Вт Ср Чт Пт Сб Вс
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Это ж какой прогресс! Теперь за календуриком не надо таскать мышь и тыкать в KDE-шные часики!

Всякое

22.01.2006 13:46:17

Особых поводов писать нету, но, вроде бы, надо что-то. За отчетный период программировал на Ocaml (вот еще прекрасный ресурс) и «программирую» на Bash. Второе довольно отвратно, однако работа. Зато первое было просто чудесно, крышесносящий опыт. К сожалению, пока не добрался до объектно-ориентированных возможностей, постараюсь на следующей неделе, глядишь, и отчет появится.

Смотрел Lost, как обычно, запоем — с пятой по девятую серию второго сезона. Скачал десятую. С трудом нарыл для нее субтитры (на forom.com, куда предыдущие субтитры отсылают, но ресурс на Flash’е и чудовищно спамный, мне не понравилось…), зато нарыл сразу и для одиннадцатой (на привычном divxsubtitles.net, куда у них подевались английский субтитры для десятой серии — ума не приложу) , которую сейчас потихоньку качаю.

Заворочено в Lost лихо, видно, кусок из пленки вырезан не зря был, кто-то до этого уже воспользовался кнопкой не по назначению, с чего, скорее всего, странности там и начались, а теперь вот еще черный брат Михаил туда же… Ну, это wild guess, посмотрим, что там дальше как. Хочется верить, что второй сезон будет завершающим, но пробелы в поле «To» вот здесь наводят на всякие мысли.