Многоязычное
23.07.2009 14:26:34Как понять, что ты слишком много последнее время писал на Python и Shell? Легко — когда GCC начинает ругаться на комментарии начинающиеся с «#» в C.
Как понять, что ты слишком много последнее время писал на Python и Shell? Легко — когда GCC начинает ругаться на комментарии начинающиеся с «#» в C.
После обновления UbuntuK’а с Dapper на Edgy заметил странное: в шелл-скриптах перестали разворачиваться выражения типа dir/blah.{c,o}, то есть, с фигурными скобочками. Больших проблем не создавало, поэтому для начала забил.
Читайте далее »
Иногда задумывался над разного рода синхронизацией между рабочей машинкой и ноутбуком. В принципе, нужно не так часто и не так много, поэтому «lftp sftp://…» обычно хватает. Но тут что-то с утра пришел в особо бодром расположении духа и набрал «man rsync». Я-то думал, там rsyncd придется настраивать, курить мануал полдня… Собственно, почему и не заморачивался.
Оказалось, rsync вполне может жить и без rsyncd, общаясь через SSH, который на машинках, естественно, стоит. Оказалось, что мне, в общем-то, окромя «rsync -av …» и знать больше ничего не надо. Оказалось, что оно отлично работает. Что радует.
Круто!
[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 ...
Так интересно совпало вчера. Слушал старые подкасты 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? Да мало что. Только вот, похоже, некоторые разработчики страдают особой формой кретинии и, как результат, ping практически невозможно использовать в кроссплатформенных скриптах без большого геморроя.
Например, необходимо так или иначе быстро проверить жив хост или нет. Для этого, естественно, надо ограничить таймауты и/или количество посылаемых пакетов. В GNU делается легко — опции «-c» или «-w», count и wait соответственно. Классно? Классно! Переходим к BSD и видим опции «-c» и «-t». ОК, хотя бы можно воспользоваться той же опцией «-c».
Самая большая радость наступает когда мы переходим к Solaris и видим, что для начала, можно было бы указать таймаут как второй параметр. При этом, естественно, такой формат более не понимает ни один ping, да и вывод в результате совершенно другой. Но если хочется ограничить количество «пинков», то, для начала надо воспользоваться «расширенной» опцией «-s», после чего последний передаваемый параметр вдруг резко превратится из таймаута в количество тех самых пинков!
За такие выверты, особенно, с учетом далекого BSD-шного прошлого Solaris, разработчиков надо отстреливать на месте.
Забавно, что в Windows работает GNU-тый параметр «-w». Правда, количество пинков уже идет через «-n», чего более нет нигде. Но хоть что-то совпадает, и то радость. Солярщиков же, похоже, точно пора убивать.
Не, без 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-шные часики!
Особых поводов писать нету, но, вроде бы, надо что-то. За отчетный период программировал на Ocaml (вот еще прекрасный ресурс) и «программирую» на Bash. Второе довольно отвратно, однако работа. Зато первое было просто чудесно, крышесносящий опыт. К сожалению, пока не добрался до объектно-ориентированных возможностей, постараюсь на следующей неделе, глядишь, и отчет появится.
Смотрел Lost, как обычно, запоем — с пятой по девятую серию второго сезона. Скачал десятую. С трудом нарыл для нее субтитры (на forom.com, куда предыдущие субтитры отсылают, но ресурс на Flash’е и чудовищно спамный, мне не понравилось…), зато нарыл сразу и для одиннадцатой (на привычном divxsubtitles.net, куда у них подевались английский субтитры для десятой серии — ума не приложу) , которую сейчас потихоньку качаю.
Заворочено в Lost лихо, видно, кусок из пленки вырезан не зря был, кто-то до этого уже воспользовался кнопкой не по назначению, с чего, скорее всего, странности там и начались, а теперь вот еще черный брат Михаил туда же… Ну, это wild guess, посмотрим, что там дальше как. Хочется верить, что второй сезон будет завершающим, но пробелы в поле «To» вот здесь наводят на всякие мысли.