Linux: именованные каналы

Категории: HowTo

Для взаимодействия между различными процессами в *nix можно создавать именованные каналы, которые позволяют перенапрявлять ввод/вывод.

В одном терминале

$ mkfifo named_pipe $ gzip -9 -c < named_pipe > out.gz &

В другом

echo Hello, world! > named_pipe

Теперь мы можем увидеть полученный файл.

$ zcat out.gz Hello, world!

Пример использования именованных каналов в linux

Пример использования именованных каналов в linux

И удалить именованный канал

$ rm named_pipe

WINE: создание 32х битного префикса

Категории: HowTo

Некоторым приложениям, которые запускаются в wine нужно создание 32х битного префикса вместо 64х битного (это если у вас 64х битное окружение).

WINEPREFIX='/home/username/prefix32' WINEARCH='win32' wine 'wineboot'

Директории /home/username/prefix32 не должно существовать. Иначе wine ляжет с ошибкой.

Unicode characters to html entities

Категории: Разработка
function unicode_escape_sequences($str){  
 $working = json_encode($str);  
 $working = preg_replace('/\u([0-9a-z]{4})/', '&#x$1;', $working);  
 return json_decode($working);  
}

Python: Подсчет уникальных объектов в коллекции

Категории: HowTo
>>> from collections import Counter
>>> Counter('aaabbb')
Counter({'a': 3, 'b': 3})