в моем траше показаны только 20 писем ( http://slil.ru/22561063 ), хотя в самой директории их - до 3.14ды:
[trash]$ pwd
/home/phrm/.Mail/trash
[trash]$ du -h ./
4.0K ./new
445M ./cur
4.0K ./tmp
445M ./
[trash]$ ls -l cur/ | wc -l
14412
[trash]$
Появилась у меня мысль добавить RAM-а, но перед этим хочется удостоверится, что стОит это делать.
Как лучше собрать статистику о том, как часто и сколько, система использует swap?
На одном из компьютеров, с которыми я работаю была установлена мандрива 2006. По непонятной причине, соединение с сетью на этом компьютере медленное. Но не просто медленное, а как-то странно медленное. Вот посмотрите: делаю пинг на прокси сервер нашей конторы:
[phrm@ws7 ~]$ time ping -c 5 -i 1 wwwproxy.huji.ac.il
PING proxy4.xxxxxx.com (WWW.XX.Y.ZZ) 56(84) bytes of data.
64 bytes from proxy4.xxxxxx.com (WWW.XX.Y.ZZ): icmp_seq=1 ttl=253 time=1.27 ms
<snip> .........................
64 bytes from proxy4.xxxxxx.com (WWW.XX.Y.ZZ): icmp_seq=5 ttl=253 time=1.28 ms
обратили внимание: хотя время, о котором докладывает пинг достаточно мало (1.34 мс), на пять пингов с промежутком в секунду ушло 30 секунд. Для сравнения: то же самое, но с другого компьютеро, идентичного по конфигурации (железо, и ОС) и подключенного к той-же самой сети:
[phrm@ws13 phrm]$ time ping -c 5 -i 1 wwwproxy.huji.ac.il
PING proxy4.xxxxxx.com (WWW.XX.Y.ZZ) 56(84) bytes of data.
64 bytes from proxy4.xxxxxx.com (WWW.XX.Y.ZZ): icmp_seq=1 ttl=253 time=1.32 ms
<snip> ..........................
64 bytes from proxy4.xxxxxx.com (WWW.XX.Y.ZZ): icmp_seq=5 ttl=253 time=1.42 ms
Не врублюсь: где в kate (2.5.0, kde 3.5.0) указать, что-бы kate использовал (использовала??) только один процес? (т.е. если запускаешь комманду "kate somefile", а kate уже работает, то somefile отркрывается в уже работающем редакторе)
<это не домашнее задание, просто образования нормального нету, а жизнь заставляет програмульки писать>
Такая задача: перебраем КУЧУ (M) (около 10^9 объектов) и держим N (между 100 и 1000) лучших из них. Очевидно, что список лучших должен (хотя-бы) время от времени сортироваться. Такие варианты:
а. держать stl::multimap<object_type, int> (int -dummy) - он всё время сортирован, вставляя каждый новый объект, стераем последний. Плюсы - простота использования. Минусы - время: каждый insert берет (если память не подводит) log(N) времени (и того - MlogN).
б. stl::list<object_type>. Набрать 2*N элементов, отсортировать, отбросить последние N, набрать заново, отсортировать .... . (+): мало сортировок. сортировки быстрые, но... (-): отброс последних элементов - log(N)
в. тоже самое, но с std::vector. (+): быстрый отброс (-): сортировка медленнее чем в list-е, и жрет больше памяти (последнее - не очень важно).
У меня на кикере был очень полезный апплет, который столбиками показывал нагрузку процессора и данные о памяти (RAM, swap). На новом рабочем месте мне очень не хватает такого апплета. Пытался делать: Panel Menu -> Add To Panel -> Applet -> KSysTray, но это не то. В этом апплете данные идут в виде графика, а не столбиками, и ни одной опции для изменения вида я не вижу. Может кто помнит как зовется такой апплет, и в каком rpm-е он лежит.
Посоветуйте, пожалуйста, книгу по ГИМП-у. Обязательно на русском языке. Онлайн и печатные. Что-то по типу "Grokking the gimp" http://gimp-savvy.com/BOOK/
Нужно перебрать все возможные решения многомерной задачи, сохраняя лучшие N вариантов решения. Лучшие - согласно определенной функции оценки. Предпологается, что если растояние между двумя телами в данном многомерном пространсве достаточно близко, то только одно из них будет сохранено. Моя стратегия:
<PSEUDOCODE>
variant=problem.nextSolution();
while (variant.isValid()){
bool insert=true;
for (list<Variant>::iterator i=bestList.begin();i!=bestList.end();++list){
if (distance(variant, *i) < threshold){
insert=false;
break;
}
if (insert){
variant.calculateScoringFunction();//(много времени)
//пройтись по листу
//и вставить вариант в нужном месте
//если вставлено как минимум N
//вариантов, убрать последний
}
variant=problem.nextSolution();
}
</PSEUDOCODE>
Есть ли стратегии лучше?
Стоит ли, для хранения лучших результатов, использовать std::map (или какой-то другой sorted conainer) вместо std::list?
Пару пояснений и оговорок:
0. язык - С++
1. вычесление "функции оценки" забирает раза в 4-5 больше времени, чем вычесление растояния между телами в пространсве поэтому вычеслять её до того, как уверены, что вариант интересен - не имеет смысла.
2. очень и очень не хочется иметь дело с динамичеким выделением (и освобождением) памяти
3. Может вопрос и OT, так как к линуксу прямого отнашения не имеет (разве, что пишется на оном), но опыт показывает, что на этом форуме довольно высокое отношение сигнала к шуму ("signal to noise ratio") благодоря тому, что его посещают специалисты во многих облостях.
(только больно не бейте - не специалист я в этом деле)
Есть компьютер с Мандривой на борту, который подключен в сеть через кабельный модем(dynamic IP). Мне надо иметь возможность переодически подключатся к компьютеру через ssh и, может, через vnc.
Достаточно ли закрыть стандартными способами Мандривы (mcc) всё, кроме ssh (и ping), или же мне надо заходить в дебри компьютерной безопасности?
Сразу оговорюсь: ядерных секретов на компьютере нет, просто хочу минимальной защиты от всяких слуйчайных вандалистов и нехороших людей.
Ниже следующий отрывок кода илюстрирует такую вот проблему:
в функции main существуют массивы (1, 2-х и 3-мерные). Дан класс, все функции, которого обязаны иметь доступ к этим массивам. Так как массивов много, хочу держать в классе статические ссылке (поинтеры или чего есче). Пожалуйста, не обясняйте мне что это совершенно долбанный дезайн. Я это знаю, но ничего поделать не могу, т.к. программа мне досталась по наследству и переделывать дезайн - не могу.
Помогите скомпилировать
#include <iostream>
#define X 3
#define Y 10
using namespace std;
class A {
public:
static void setup (float (a[X][Y]), int b[]);
static void print();
static void add();
static float arr[X][Y];
static int *brr;
};
void A::setup(float a[X][Y], int b[]) {
brr=b;
arr=a;
}
int main(int argc, char *argv[]) {
float arr[X][Y];
int brr[Y];
return 0;
}
hello.cpp: In static member function ‘static void A::setup(float (*)[10], int*)’:
hello.cpp:17: error: incompatible types in assignment of ‘float (*)[10]’ to ‘float [3][10]’
gmake: *** [zhello.lo] Error 1
Нужно по быстрому сделать гуй: дать возможность юзеру тыкнуть раз-другой в чек-бокс, выбрать файл, нажать на ОК и т.п. Никаких картинок/графиков.
Что очень важно:
- быстрота написания и изучения
- работа с русским, арабским и ивритом
- у меня нету времени учить новые языки програмирования, по этому - перл (знаю С++, но думаю тут он не нужен)
Что совсем не важно
- эстетика
- portability - будет работать на одном компе
- maintenance - написал один раз и забыл
Разбираю, программу, у которой в main-е ну просто до хера таких вот деклараций:
float positions [MAX_MAPS][MAX_LOCATIONS][MAX_POINTS][SPACE];
(это при том, что MAX_LOCATIONS==512, MAX_POINTS==1024, и т.д )
В общем, стэк получяется нехилий. Valgrind почти везде плюётся: "invalid write of size X". На сети [1] прочел, что делая выше указанные таблицы static, можно избавится от таких сообщений.
Может ли кто-нибудь пояснить как и почему этот ход работает, и какие побочныэ эффекты могут быть у такого хода?
У меня в оффисе стоят около 10 компьютеров.
Все - линукс и все подключену к LAN-у. Что-бы ускорить коммуникацию
между нашими компьютерами (будем их объеденять в кластер), было решено снабдить
каждый комп дополнительной сетевой платой (1Г) и купить switch соотвестсвенно 1Г).
Надо, что-бы связь с миром (вход и выход) происxодил через нынешний LAN, а связь между компьютерами в оффисе - через switch.
Нужны русские шашки для линукса. Подчеркиваю: русские - такие где можно бить назад,
где дамка ходит на столько клеток, на сколько хочет и т.д. (а то во всех программах, которые я видел
правила - американские).
Он-лаин игры не предлагать, т.к нужна возмозность играться без подключения к интернету.