Алексей Мичурин

Полезное

Работа с данными: передача, архивирование

Для Python-программиста

Нотификатор

Памятка с полезными скриптами и наборами опций

Mount/umount USB-Flash

Создание swap в файле

Русификация a2ps

Настройка Xorg

Работа с сетью: настройка, диагностика

Рort knocking

Как подготовить полноценную инсталляцию ArchLinux на USB Flash.

Настройка sudo под Linux

Фракталы

Фрактальная размерность

Применение фракталов

Фрактальные деревья

Комплексная размерность

Теория относительности

Пространство-время

Физический смысл

Скорость света

Эквивалентность систем

Относительность

Движение быстрее света

Парадокс близнецов

Любопытные соображения

Недоделанное

Редактор favicon on-line

Устаревшие страницы

Простой HTML-валидатор

Об авторе

Работа с данными: передача, архивирование


Передача файлов

HTTP-сервер в одну строку

Переименование

Кодировка имён файлов

Передача файлов

HTTP-сервер в одну строку

Python2 с поддержкой CGI:

python -m SimpleHTTPServer 10888

Python3 (без CGI):

python3 -m http.server 10888

Python3 с поддержкой CGI (рекомендую ещё и env):

env -i python3 -c 'import http.server as x; x.HTTPServer(
("", 10888), x.CGIHTTPRequestHandler).serve_forever()'

Переименование

Кодировка имён файлов

Рекурсивно обходит дерево и создаёт ещё одно дерево, которое повторяет оригинальное, но все сущности переименовываются в транслит.

function one_level_copy {
   sp="$1"
   tp="$2"
   mkdir "$tp"
   for i in *
   do
     j=`echo "$i" |
      iconv -f UTF-8 -t KOI8-R --byte-subst="<0x%x>" --unicode-subst='"' |
      translit`
     echo "j=$j"
     if test -d "$i"
     then
     (
        cd "$i"
        one_level_copy "../$sp/$i" "../$tp/$j"
     )
     else
       ln -s "$sp/$i" "$tp/$j"
     fi
   done
}
one_level_copy '../Fleur_UTF' '../Fleur_Translit'

Маленький скрипт для перекодирования в транслит:

#!/usr/local/bin/perl -p
chomp;
y/абвгдеёзийклмнопрстуфхъыьэ/abvgdeezijklmnoprstufh'y'e/;
y/АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ/ABVGDEEZIJKLMNOPRSTUFH'Y'E/;
s/ж/zh/g;
s/ц/ts/g;
s/ч/ch/g;
s/ш/sh/g;
s/щ/sch/g;
s/ю/ju/g;
s/я/ja/g;
s/Ж/Zh/g;
s/Ц/Ts/g;
s/Ч/Ch/g;
s/Щ/Sch/g;
s/Ю/Ju/g;
s/Я/Ja/g;
s/\s+/_/g;
s/[\177-\377]+/-/g;

Вы можете связаться со мной по e-mail a.michurin@gmail.com.



Технология Google App Engine Python powered