LINUX.ORG.RU

Сообщения zora

 

ЛОР, кодировка по умолчанию

Что-то путаю, или в выдываемых страницах отсутствует сабж?

Вроде раньше явно указывалась utf-8.

 , ,

zora
()

Захотелось странного: пробросить математические функции из bc в dc.

bc, который транслирует в dc при скармливании из исходников libmath.b выдал такую простынку:

<<EOF base64 -d | gzip -d > libmath.dc
H4sIAJuptFIAA5VWyW7bOhRFUHRjdNcfuF68jQXb1CwBToG3fHA2hTZFAxVwnixANa0NAcPIqvOQ
tuk8p/OP9lxSthUncaKFTFkkz7085w4kR9Ck1Wrtkk2ZmqoeCTnvZmqueqm609qVOSasTOWqJ+fk
UF9PDfnjBB9sGtxN1V2sm8lZJ1MzLMszu6tyEu3th6l6yBCrD5SqB9qWnPV3ALQzwpPhGeOBjZ0C
D7zYKfEAbGcfHnnXU/VIuyJo8IDk/kROGe0RUAB1cSAXQPcBNJJz+DqSmSwwZjgTdskx4LfvA1OO
LXOSIrMtBSAYYXv3UnWvtSuSfZHMRFKKZCqSQiS5SMYiyUQySuagRNC1OzTMFBsM4KxFPc8jWARo
ySzeqJNHspwwHfPK5Bx+aYPwC6ODseYAXfSogmyc9XIlLNmChre6S642ceRg32NNtkOdSveZFl3r
3772JFVPzprv+dQePE3VU16wDAjoNbuQbdbnGbaWcoqtpSzqyjw7pgysW3VqDlJ1cIY2lSrtweOV
LENrornNOeANx4vj0fIcpDXq6l8LrpTGdinLjkkV95g6B3TeAY0qV85Kt+f4XPv7Qv/VzHWXyHVU
tZYjr0DdIjde0RrnZ21kzl9i41gqWYBXHLjT79R4f7mR98NUHa54VzXqwXtFt91DgO93eKuO9a15
FeucK88BQ8gGFAReQB6XGJ0neAXTiCJDiCwx/w/bfAE0DcbZMtZYzBtSDCvVCV0O6TwSjC5XWRdz
koXrqHM9hLlJVvjNMW/Jq/NT4nrBp329/tcgX9KKC+b2hOivMdMLI9+NIztw3Tj0vMgVcWD7QSAi
ktNVeTststalfLsRzvMjO45CP3Rs4cVOY/R3TdBjx/XiyHPDMPB838GLGzS2+L61OySH0/EtDcnj
NH6Hl4Bf3qObvGGP7Dh0Y9/3YS2OIhH6kRsKuBA2NvdxI1zg27EXxsKJXc8L/cbon5qgR74t3DAC
26DT9u0wiJqHw+clfR8X9H1a0PcZ9H3gkkE+JyYCXWfmiKPyy3rnx2xX9yl+61j9ZcV3aPA1VV9N
6cnlCAlrNfXym6756mTN/7ax9hyl6uj02mNaMvrxosyaWvPaVPTtN9U5tj9UHaE6yBcuLK5pzvpg
xBWmPLfCHNFFj2vqwVa9A6Tqhy70ZdfUPVPm4OUP6PNdN9KiarSL+wgKddke/EzVT72TO63pEmxt
4cmeOv2WsN41/sDEXrFsHH9oidcYjrX8bXpJB0JC08Kqy/l7w+XqV6p+HRNz7XK1p/VMyqqncM8o
2ckFaZD3O/2XKfhJ/1Kh2c1XN6iKMlyF0NvRjLjjlLcwi9++zPtmMW861lC4HVWSVxtlftOS+Y3u
RC+u+U9N6TKxcJtjAS0lVQrjJYz/Y9zCOMJ4BaPEeBnjuPUXaRDzXa0LAAA=
EOF

Для спокойствия можно проверить, чтобы в *.dc не было "!" вне контекста "!< / !> / !=".

Подобие юнит-теста (l<буква>x, конечно, не очень удобно, зато можно удваивать куб и квадратурить круг по обратно-польски):

dc -f libmath.dc -e '64k 5 lsxp 5 lcxp 5 laxp 5 llxp 5 lexp 2 5 ljxp'
echo "======"
echo 'scale=64; s(5); c(5); a(5); l(5); e(5); j(2,5)' | bc -l

 ,

zora
()

J конвертация строки в число

Пытаюсь потыкать этот векторный ЯП. Не могу найти адекватного способа конвертации.

Пример: сложить числа, выведенные построчно. Считает, но здесь ". - этакий eval, если кинуть на вход 2!:0 'ls' - побежит выполнять внешнюю команду. (Разумеется, можно фильтровать [0-9.-], но попахивает перлом.)

seq 10 | jconsole -js "echo +/ \". > cutLF stdin ''" 'exit 0'
zora
()

Удаление переводов строк в $(..)

Только недавно узнал, что $(..) удаляет _все_ конечные/trailing «\n». Значит, если (вдруг) filename оканчивает на «\n» - уже без жестких костылей не обработать.

Как например получить realpath или dirname (возможно файл и в /..)?

Верните веру в человечество, на чем надежнее писать скрипты, python?

> file=$'a\n'
> touch "$file"
> ls "$file" | cat
> a

> realpath "$file"
/tmp/a
 
> ls "$(realpath "$file")"
/bin/ls: cannot access /tmp/a: No such file or directory

 ,

zora
()

Yi очередная попытка использования

Пытаюсь перенести конфиг (ну то, что можно) emacs на yi:

Чувстую, что 0.6.7 почти «юзабел^Wдопиливаемый».

в vty 256 цветов прикрутил (другое дело, что аттрибутов для использования большого кол-ва пока нет)
ежа с уж^Uvim с emacs-ом вроде скрестил

Пока упираюсь в пару проблем:
переключение цвета курсора (для vim очень привык) в зависимости от top/insert режима для одного буфера прикрутил, но нужны хуки при переключении между буферами - как можно реализовать?
И YiM () странно стекуются: два «promptFile» ожидают ввод в обратном порядке: как по-нормальному выполнить два интерактивных действия?

// Понимаю, что маловероятно, что кто-то сильно копался в yi, но все же.. на #yi / #haskell спрашивал.

 ,

zora
()

Пара вопросов по socat.

Правильно ли я понимаю, что порядок адресов важен в том случае когда socat должен опеределить с какого начинать «read-write loop»? Чувствую, что что-то недопонимаю.

Допустим, хочется перенаправить unix ipc socket в пределах одной машины:

socat UNIX-LISTEN:socket-file-mirror,fork UNIX-CONNECT:socket-file

Начинает слушать с socket-file-mirror, но если попробовать через ssh:

local> socat EXEC:'ssh remote "socat UNIX-LISTEN:socket-file-mirror,fork -"' UNIX-CONNECT:local-socket-file
remote> socat UNIX-LISTEN:remote-socket-file,fork exec:'ssh local "socat - UNIX-CONNECT:local-socket-file"'

То первая команда не всегда будет работать корректно: такое ощущение, что цикл начинается со второго адреса. А вторая не всегда подходит, потому что не комильфо с удаленной машины логиниться на локальную.

Разумеется, можно в 3 команды: два socat-а и ssh -R, но хотелось бы узнать, можно ли проще?


Еще такой момент, почему для ya.ru приходится добавлять shut-* (для сравнения netcat ничего такого не требует, врочем у него и опций таких нет):

echo -e "HEAD / HTTP/1.1\nHost: ya.ru\n" | socat - TCP:ya.ru:80,shut-down
echo -e "HEAD / HTTP/1.1\nHost: www.linux.org.ru\n" | socat - TCP:www.linux.org.ru:80


Заранее спасибо, в том числе и за пинки в правильно направлении :)

zora
()

RSS подписка на новые темы