20080730

shell from here

вот уж не думал, что придется еще когда-нибудь запускать windows. однако, пришлось...
чтобы не разыскивать каждый раз это решение, запишу-ка его здесь:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\Command Prompt]
@="shell"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\Command Prompt\command]
@="cmd.exe /k pushd %1"

это содержимое <файл с произвольным именем>.reg.
добавляет в контекстное меню каталога пункт "shell" (shell from here).

20080706

delphi form (dfm) со строками на русском

портирую сейчас в lazarus под linux приложение, написанное в delphi под windows.
в дельфийских формах (файлы с суффиксом dfm) надписи на русском представлены в таком примерно виде:
Caption = #1055#1086#1080#1089#1082
что не очень-то удобочитаемо.
для чего набросал скриптик на perl-е:
#!/usr/bin/perl -w
use Text::Iconv;
$conv=Text::Iconv->new("ucs-2be","utf-8");
sub aaa{
$a=$_[0];
$b=$a%256;
$c=($a-$b)/256;
return $conv->convert(chr($c).chr($b));
};
while (<>) {
s/((?:#\d{4})+)/"$1"/g;
s/#(\d{4})/aaa($1)/eg;
print
}
использовать его можно и просто как фильтр, и как самостоятельный обработчик файла:
cat файл.dfm | скрипт.pl | less
скрипт.pl файл.dfm | less
если Вам нужен результат не в utf-8 - подправьте соответствующую строчку. подходит все, что понимает iconv.

20080703

хитрое использование команды tee.

linux-администраторам (да и простым пользователям) временами (а иногда и частенько) приходится использовать конструкции такого типа:
$ sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

есть способ (не мной, конечно же, открытый) слегка сократить и упростить подобное:
$ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward


p.s. заметку пишу исключительно для памяти. все это уже неоднократно советовалось в разных местах. даже, например, в википедии.

pmtu, mss и иже с ними. это когда часть сайтов не грузится.

тоже вот столкнулся с проблемой, когда некоторые сайты просто не грузятся.
у меня в данный момент adsl-подключение. питерский провайдер avangard.
размер mtu равен 1500 минус 8 байт на pppoe-заголовок, т.е. 1492 байта.
изменение mtu на интерфейсе ни к чему полезному не привело.
начитавшись примеров отсюда, решил поэкспериментировать с таблицей маршрутизации.
$ sudo ip route replace default via <шлюз> dev <интерфейс> window 1452

1452 - практически с потолка. просто вычел из 1492 еще 40 байт (размер стандартного tcp+ip заголовка, емнип).
отчасти помогло. кое-что начало загружаться.
дальше, видимо, можно продолжить в сторону других параметров - mtu lock, advmss, cwnd, initcwnd.
но это уже как-нибудь в другой раз.

20080404

exim. памятка.

памятка самому себе. да и кому другому может пригодиться.
наиболее часто используемые команды exim-у.
$ sudo exim -bp
посмотреть содержимое почтовой очереди. интерес представляют, конечно же, замороженные (frozen) письма.
$ sudo exim -bp | grep '\* frozen \*' | awk '{print $3}' | \
xargs -L 50 sudo exim -Mrm
снести все замороженные.
даже если их очень много — команда отработает нормально. будет обрабатываться по пятьдесят писем в один присест.
$ sudo exim -qff
перезапустить обработку всех писем в очереди. даже замороженных.

а какие другие хитрые команды для exim-а имеются в ваших пороховницах?

20080307

береги честь смолоду…

… а мозги начинай промывать с детства.
оригинал, русский вариант.
видимо, взрослые воспитывались «неправильно». пора браться за неокрепшие детские умы.
чтобы, подрастая, дети не «оболванивались» «пиратскими» cd.
даже несмотря на то, что и специально тренированные

«… собаки … к сожалению, … не могут определить, какие из них пиратские, а какие выпущены легально.»

20080228

aptgetupd.exe


страшный баян, но мне понравилось название файла:
«…незаметно для пользователя загружается специальный файл, который
"дотаскивает" с удаленного веб-узла непосредственно файл-носитель
"Bizex" (APTGETUPD.EXE)…» http://www.kompunet.com/kompunet/view.php?nid=194