понедельник, 23 августа 2010 г.

php unzip

     $zip = new ZipArchive;
     $res = $zip->open('111.zip');
     if ($res === TRUE) {
         $zip->extractTo('./');
         $zip->close();
         echo 'ok';
     } else {
         echo 'failed';
     }

src: http://www.bjw.co.nz/developer/php

понедельник, 5 июля 2010 г.

backup by tar

http://wiki.openvz.org/Physical_to_container


Tar

Another approach is using tar and excluding some dirs, you could do it like this:
Create a file /tmp/excludes.excl with these contents:
 
.bash_history
/dev/*
/mnt/*
/tmp/*
/proc/*
/sys/*
/usr/src/*

Then create the tar. But remember, when the system is 'not' using udev, you have to look into /proc/ after creating your container because some devices might not exist. (/dev/ptmx or others)

# tar --numeric-owner -cjpf /tmp/mysystem.tar.bz2 / -X /tmp/excludes.excl

Naturally, you can only do this when the critical services (MySQL, apache, ..) are stopped and your /tmp filesystem is big enough to contain your tar.

суббота, 26 июня 2010 г.

СВЯТАЯ НАУКА



Академик Кругляков считает, что только в рецензируемых научных журналах находится истина в последней инстанции, дескать, рецензенты – абсолютно независимые и непогрешимые специалисты. Это новогодняя сказка для непосвященных. Допустим, какой-нибудь рецензент напишет хвалебный отзыв на какую-то статью, направит ее редактору. А у редактора журнала «Физика плазмы» Круглякова другое мнение. Пропустит он ее? Пропустит, а потом догонит и еще поддаст, чтобы впредь было неповадно рецензированием заниматься.
Или попадет к рецензенту статья физика Круглякова и он аргументировано раскритикует ее вдребезги. Само собой разумеется, после этого такому рецензенту уже никогда не придется получать в редакциях гроши за рецензии.

ЭНЕРГЕТИКА БУДУЩЕГО


 

В конце прошлого века в США работал физик Никола Тесла, серб, один из первых лауреатов Нобелевской премии, от получения которой он отказался. В 1885 году он продемонстрировал работу своего трансформатора, и от турбины Ниагарской ГЭС (мощность 5000 л. с.) и зажёг без проводов и выключателей в радиусе 25 миль угольные лампы накаливания. После этого один из его энергетических проектов получил поддержку и стал финансироваться Морганом. Н.Тесла на специальном полигоне создал свои энергетические установки, работавшие на принципе "свободной энергии" (сегодня мы бы сказали - на основе энергии вакуума). Когда в 1898 году с их работой познакомился Морган, то он распорядился все установки и полигон уничтожить, ибо понял, что если им дать дорогу, то органическое топливо человечеству больше никогда не потребуется. Вот с тех пор мир и "ищет энергию"...

Этот эксперимент по зажиганию угольных электроламп на расстоянии без подводящих проводов сумел повторить только русский учёный Филиппов, который от созданной им установки из С-Петербурга зажёг электролампы в Царском Селе. Это был уникальный учёный-универсал: он был доктором математики, физики, химии, философии. Зимой 1914 г. он направил в Генштаб России решение, позволявшее исключить войны из практики человечества - через семь дней об этом было опубликовано в жёлтой прессе, а ещё через три дня его нашли убитым в своём домашнем кабинете, причём жандармы не смогли определить способ убийства.

...В "ТМ" (№10, 1962 г.) была опубликована статья В.Василевского, в которой сообщалось, что ещё в 1917 г. приехавший в США эмигрант из Португалии Андрес изобрёл горючее для ДВС, добавляя к простой воде некоторые простые и дешевые химикалии (несколько капель на ведро воды). Это горючее было испытано специальной государственной комиссией на автомобиле в пробеге Нью-Йорк - Вашингтон и обратно. После этого одна из крупнейших нефтяных монополий США за два миллиона долларов наличными купила у Андреса документацию и права на это изобретение, спрятав его в своих сейфах. Сам Андрес через два дня после получения денег бесследно исчез. Достоверность изобретения этого водного горючего подтверждалась рядом публикаций (газета "Эсквайр", статьи в журнале "Труды морского института США" в 1926 и 1936 гг.). Данным статьи В. Василевского можно полностью доверять, ибо за этим скрывался бывший начальник отдела научно-технической разведки КГБ СССР, возглавлявший его с 30-х годов.

И на чём же тогда основан крик об "энергетическом кризисе"?..

В конце 60-х правительство Японии обратилось к нам с предложением продать им за 100 млн. долларов фонд отказных заявок нашего патентного ведомства. Тогдашний Предсовмина А.Косыгин собрал совещание, пригласив на него ряд академиков АН. На вопрос: "можно ли продать японцам наш фонд отказных заявок?" они тут же дружно ответили - "ни в коем случае!" Дескать, продажа этого фонда может причинить большой ущерб (!?) не только нашей стране, но и другим. Тем самым этот самый "интеллектуальный капитал" консервировался, а определённые научные кланы получали возможность безнаказанно заниматься "патентным гешефтом".

Тем не менее, под давлением результатов научной практики, полученных в ведущих научно-прикладных центрах, Госкомизобретений в 1975 г. вводит специальный класс: псевдо-"перпетуум-мобиле", куда относит реально работающие опытные машины, имеющие КПД больше КПД цикла Карно (или больше единицы). Перечислю некоторые: авт.св. №№ 270059, 762706, 743145, 890534, 748750, 738015,... (их многие тома). Запрет продолжает существовать.
 

понедельник, 21 июня 2010 г.

named pipe

http://habrahabr.ru/blogs/linux/94350/#habracut


Ещё одно применение named pipe — обход ограничения на командный пайп — нельзя читать и писать в файл одновременно.
Вот например одноразовый http-debugger на пайпе и netcat:
$ mkfifo ncproxy
$ cat < ncproxy | nc -l -p 8888 | tee connlog-in | nc google.com 80 | tee connlog-out | cat > ncproxy &

Таким способом можно зацикливать пайп относительно ввода/вывода.

вторник, 25 мая 2010 г.

CPUID from c++

a.cpp:
#include 
 
int main(int argc, char **argv) {
  int b;
  for (int a = 0; a < 5; a++) {
    asm ( "mov %1, %%eax; " // a into eax
          "cpuid;"
          "mov %%eax, %0;" // eeax into b
          :"=r"(b) /* output */
          :"r"(a) /* input */
          :"%eax" /* clobbered register */
         );
    std::cout << "The code " << a << " gives " << b << std::endl;
  }
  return 0;
}


# g++ a.cpp -o a
# exec ./a 
The code 0 gives 5
 The code 1 gives 3908
 The code 2 gives 1616597249
# echo "obase=16; 3908" | bc
F44
http://processorfinder.intel.com
in search sSpec=0F44h
 
 
or
 
sudo dmidecode --type bios 
sudo biosdecode
sudo hwinfo --bios | less
sudo lshw
gksudo lshw-gtk 
 
 

Check if your processor has virtualization support

egrep '^flags.*(svm|vmx)' /proc/cpuinfo