04.02.2011
Иногда бывает необходимо удалить установленный порт со всеми зависимостями. Можно конечно колдовать с pkg_… но это долго и утомительно. На днях обнаружил интересную утилиту: pkg_rmleaves.
Ставим так
$ cd /usr/ports/ports-mgmt/pkg_rmleaves/
$ make install clean
$ rehash
$ pkg_rmleaves -d
Для информации читаем маны. Надеюсь будет полезно.
26.01.2011
Сегодня, 26 января, в полночь по GMT, наступил 15000 день от начала летоисчисления Unix машин. Юниксоиды всех стран встречаются, празднуют, проводят массовые гуляния и гадают. Встречи локальных групп можно найти на специальном сайте, посвящённом этому знаменательному дню.
День можно посмотреть командой:
$ echo `date +%s`/86400|bc
15.01.2011
Произведение не мое, но уж очень понравилось…
У сисадмина серв от Intel,
Ядро i7 стоит на нём.
И днём и ночью ты, убитый,
Е@#шься с ним, как с букварём.
Как «линь» поставил — песнь заводишь;
Под Windows матом говоришь.
Там чудеса, там BSoD выводит,
Там в Микрософте Билл сидит…
Там от неведомых экзешек
Следы невиданных зверей.
Там выдаёт «Не отвечает»,
Когда нажмёшь ты на «ОК».
Там SSH не обитает —
Хреново без него порой…
А грёбаный telnet слетает,
Когда брутфорсят твой пароль.
Там chroot’а нет — как хостинг ставить?
Как обойтись без IIS?!
А вот никак! Format спасает…
Apache без «никса» есть не жилец.
Там злостный вирь над hosts’ом чахнет,
Там гейтский дух, там Дверью пахнет.
10.01.2011
Продолжаю публиковать серию сниппетов. На этот раз задача – заменить подстроку в строке wstring другой. Делается это так:
std::wstring strSource = L"this string is XXXX and YYYY";
size_t posn;
std::wstring replaceFrom = L"XXXX";
std::wstring replaceTo = L"SOMETHING";
posn = strSource.find( replaceFrom );
strSource.replace( posn, replaceFrom.length( ), replaceTo );
если надо заменить все вхождения, то последние две строки надо заменить на
while ( std::wstring::npos != ( posn = strSource.find( replaceFrom ) ) )
{
strSource.replace( posn, replaceFrom.length( ), replaceTo );
}
Надеюсь будет полезно.
08.01.2011
Бывает полезная функция, однако в интернете редко можно найти сниппет, поэтому предлагаю его здесь. Надеюсь будет полезен.
int length = 0;
char* buffer = null;
std::ifstream is;
is.open( "config.xml", std::ios::binary );
is.seekg( 0, std::ios::end );
length = is.tellg( );
is.seekg( 0, std::ios::beg );
buffer = new char[ length + 1 ];
buffer[ length ] = '\0';
is.read( buffer, length );
is.close( );