LINUX.ORG.RU

Сообщения Genuine

 

Линусу Торвальдсу понравилась Верка Сердючка

На своем Google+ Линус Торвальдс написал, что посмотрел видео с Евровидения. Судя по его посту, видео с Веркой Сердючкой ему понравилось. Proof

Для Ъ:

I missed this (again) this year.

It's one of those things that pretty much everybody in Europe despises, but because it only happens once a year, you can enjoy everybody making a complete fool out of themselves.

This is a great write-up on what the Eurovision is and should be. And yes, that first Ukrainian video is an oldie but goodie, and a perfect introduction.

Genuine
()

xfce 4.10.1

Тихо и незаметно вышло обновление стабильной ветки xfce 4.10.1. Притом, что выпуск xfce 4.12 был намечен на март текущего года. Собственно вопрос в том, слышал ли кто, о том, как у них дела с новым выпуском?

 

Genuine
()

Низкая производительность вычислений в openMP

Доброго времени суток.

Решил я на досуге к своей программе добавить параллельность на базе openMP. В результате никакого ускорения я не получил (а даже наоборот). Сделал я для проверки тестовый пример (подобный тем, которыми в изобилии интернет):

#include <iostream>
#include <boost/timer.hpp>

#include <omp.h>

using namespace std;

long single_thread(long a[], const long &niter)
{
    long sum = 0;
    for (long i = 0; i < niter; i++)
    {
        for (long j = 0; j < niter; j++)
        {
            for (long k = 0; k < niter; k++)
            {
                sum += (a[i] + a[j] + a[k]);
            }
        }
    }
    return sum;
}

long omp_atomic(long a[], const long &niter, const int &num_treads)
{
    long sum = 0;
    omp_set_num_threads(num_treads);

#pragma omp parallel for
    for (long i = 0; i < niter; i++)
    {
        for (long j = 0; j < niter; j++)
        {
            for (long k = 0; k < niter; k++)
            {
#pragma omp atomic
                sum += (a[i] + a[j] + a[k]);
            }
        }
    }
    return sum;
}

long omp_reduction(long a[], const long &niter, const int &num_treads)
{
    long sum = 0;
    omp_set_num_threads(num_treads);

#pragma omp parallel for reduction(+: sum)
    for (long i = 0; i < niter; i++)
    {
        for (long j = 0; j < niter; j++)
        {
            for (long k = 0; k < niter; k++)
            {
                sum = sum + (a[i] + a[j] + a[k]);
            }
        }
    }
    return sum;
}

int main()
{
    boost::timer t;
    const long niter = 1000;
    long a [niter];
    long sum = 0;



    for (long i = 0; i < niter; i++)
    {
        a[i] = i;
    }

    t.restart();
    sum = single_thread(a, niter);
    cout << "Iterative. Sum: " << sum << " time: " << t.elapsed() << endl;

    t.restart();
    sum = omp_atomic(a, niter, 2);
    cout << "Atomic, 2 threads. Sum: " << sum << " time: " << t.elapsed() << endl;

    t.restart();
    sum = omp_atomic(a, niter, 4);
    cout << "Atomic, 4 threads. Sum: " << sum << " time: " << t.elapsed() << endl;

    t.restart();
    sum = omp_reduction(a, niter, 2);
    cout << "Reduction, 2 threads. Sum: " << sum << " time: " << t.elapsed() << endl;

    t.restart();
    sum = omp_reduction(a, niter, 4);
    cout << "Reduction, 4 threads. Sum: " << sum << " time: " << t.elapsed() << endl;

    return 0;
}

В итоге получил следующие результаты:

./openmp_test 
Iterative. Sum: 1498500000000 time: 0.98
Atomic, 2 threads. Sum: 1498500000000 time: 60.85
Atomic, 4 threads. Sum: 1498500000000 time: 117.51
Reduction, 2 threads. Sum: 1498500000000 time: 11.04
Reduction, 4 threads. Sum: 1498500000000 time: 24.45

В качестве тестовой выступает машина под управлением openSuse:

cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 42
model name	: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz
...

Может кто-нибудь сталкивался с подобной проблемой, как лечили?

 , , ,

Genuine
()

[telnet, cp866] Конфигурация сессии терминала для работы через telnet

Необходим терминальный доступ с машины, которая под управлением Debian'ом (системная кодировка ru_RU.UTF-8), к удаленной базе данных с кодировкой cp866 через протокол telnet. Понятно, что по умолчанию вся кириллица из БД отображается квадратиками, но это элементарно решается выбором режима отображения символов в кодировке cp866 для терминала GNOME. Однако, естественно, при этом режиме ввод продолжает осуществляться в системной кодировке. Для решения возникшей проблемы пробовал:

1. запуск сессии telnet'а командной: LC_ALL=«ru_RU.CP866» telnet ...

2. где-то в сети нашел предложение записать в .telnetrc строку DEFAULT set outbinary - не помогло.

Собственно, вопрос как решить задачу?

Genuine
()

[Посоветуйте-тред] Собрать кластер

Необходимо, составить ориентировочную смету на вычислительный кластер начального уровня (55-60 тыс. грн.) для университетской лаборатории. Необходимо постараться все учесть (а у меня, к сожалению, малый опыт в таких делах), поэтому прошу помочь не забыть какую-либо мелочь, чтобы потом не возникло ситуации, что сервер купили а из-за недостатка элемента x теперь не понятно, что делать. Желательно помочь в подборе всех компонентов в одном интернет магазине ( сейчас я за основу пока взял http://fotomag.com.ua/HP_DL160G6_-AV340A-1-info.html?utm_content=sp0&utm_... ).

Понимаю, что искать может быть лень, поэтому прошу более опытных товарищей хотя бы перечислить, какое доп. оборудование нужно предусмотреть)

Genuine
()

Linux и сервер статистики

В рамках возникшего сотрудничества с местной поликлиникой возникла передо мной задача установки Linux'а на компьютер, который работники статистического отдела называют сервером: Intel® Core™2 Duo Processor E4500, 2048RAM (которые приказали долго жить и пока временно пришлось заменить планкой на 512, однако материнской плате четыре слота), 2 НЖМД по 320Gb (его, как я понял в процессе объяснения задачи, им более года назад втулила некая контора с заверениями, что это лучший вариант сервера, в после чего его местные сотрудники боялись даже включить). В процессе «оживления» этой машины я выяснил, что Ъ-админы фирмы поставщика установила на него Ubuntu 8.04 (! в desktop редакции), у которой ко всему отвалился загрузчик. Назначение сервера - хранение статистики посещений врачей и диагнозов больных поликлиники.

Решив, что поднимать Ubuntu дело бесперспективное я решил установить на него Debian (мной он просто изучен более других), при этом включить программный RAID1 (два абсолютно одинаковых диска сами на необходимость этого намекают). Теперь хочу посоветоваться с более опытными администраторами по поводу нескольких вопросов (сам я в большей степени занимаюсь программированием, а Linux'ы устанавливал себе, друзьям и в университетской лаборатории).

1. Какую разбивку диска наиболее оптимально сделать (в Ubuntu было \ - 100Gb, \home - 200Gb, swap - 20Gb, что мне кажется не рациональным)?

2. Учитывая перспективу увеличения количества ОЗУ, что лучше: 32 бита + bigmem ядро или 64-битное ядро?

3. На старом сервере статистики БД живет под управлением Oracle на базе SCO OpenServer. Как наиболее рационально импортировать БД на Linux'овую машину? И стоит ли использовать для такой задачи Oracle (с БД работают 5-6 операторов, однако в ней записи о ~100000 пациентов за последние 20 лет, поэтому у меня возникла мысль, что это как с пушки по воробьям, возможно достаточно PostgreSQL)?

Genuine
()

Использование памяти OpenGL

Сегодня, случайно глянув на изменения в показаниях Conky во время работы наколенной программы с OpenGL, работающей с несложными сценами, я заметил, что съедается много ОЗУ. При этом количество потребленной памяти резко уменьшается при открытии вкладки с текстом и, соответственно, увеличивается при возвращении на вкладку с портом OpenGL. Я сразу бросился на поиски утечек памяти в коде и в процессе проб и тестов я обнаружил, что использование памяти резко увеличивается, если включить режим GL_POLYGON_OFFSET_FILL (я его использую для корректного изображения линий сетки). Также я заметил, что использование памяти скачет в процессе зуммирования сцены.

Вопрос в том, сталкивался ли кто с подобным? Вполне может быть, что проблема видео драйвера (на борту встроенная ati x1250 со свободным драйвером) и тема больше соответствует разделу Linux-hardware.

Скрин с GL_POLYGON_OFFSET_FILL

Скрин без GL_POLYGON_OFFSET_FILL

P.S. Этот же код скомпилированный стабильно потребляет несколько десятков мегабайт ОЗУ под оффтопиком не зависимо от режима отрисовки многоугольников и манипуляций с изображением.

Genuine
()

[gmail]Как объединить письмо разбитое на две части

Мне с gmail прислали письмо с крупным файлом-вложением. Gmail разбил его на части и в результате я получил два письма вида _Тема_письма_(part 1 of 2) и _Тема_письма_(part 2 of 2). При этом проблема в том, что Thunderbird отказался соединить в одно. В результате я не могу просмотреть информацию из вложения.

Я создал ящик на gmail и попросил, чтобы мне переслали письмо в него результат практически тот же: в первой части распознается наличие вложения размером 2188Кб, а вторая часть распознается в виде текстового письма с содержимым вида bGuRNiEQbYLkyZPFg1bHDXbRDyIN22Iju6dxh/PPx+uNW5/mPp6P47u4z2Jl2gscHpTfCTmV.

Как их объединить?

 

Genuine
()

fsck failed. Please repair manually and reboot

На рабочей машине с OpenSuSe 11.4 процесс загрузки системы регулярно обрывается сообщением:

fsck failed. Please repair manually and reboot. The root file system is currently read-only. To remount it read-write do: bash# mount -n -o remount,rw /

В чем может быть проблема и как ее побороть?

Genuine
()

Tuesday, April 5, 2011: KDE 4.6.2 release

Что-то слышно? Ждем ближе к вечеру?

Genuine
()

EXDE - форк GNOME

Случайно, гуляя по gnome-look.org в теме обсуждения GNOME3 обнаружил сообщение о создании форка GNOME - проекта EXDE, цели которого, судя по беглому обзору, сосредоточены на развитии гнома без 3д инноваций.

EXDE Roadmap

Появился Unity, теперь анонсирован EXDE. Ваши мнения, товарищи.

Genuine
()

[kde4, openbox]Проблема с расположением элементов plasma на экране

Доброго времени суток, сообщество.

Решил на досуге, начитавшись отзывов о ускорении работы системы, посмотреть как работает связка kde4/openbox. После замены kwin на openbox после завершения сеанса все всплывающие окна plasma стали «улетать» вверх (вот так). Удаление ~/.kde4/share/config/plasma-desktop* лечит ровно на один сеанс, после которого проблема возобновляется. Если кто сталкивался, подскажите, как лечить?

Genuine
()

[Qt Creator]Сообщения сборки

Доброго времени суток, сообщество.

Недавно начал использовать Qt Creator (2.0.1, arch x64). И заметил маленькое неудобство: сообщения об ошибках компиляции в окне <Сообщения сборки> не являются ссылками на соответствующие место программы и к тому же являются не информативными. Поэтому приходится открывать область <Консоль сборки>, находить номер строки и скроллить в нужное место программы. И все бы ни чего, если бы не одно но: установил версию для виндовс в университетской лаборатории и там все работает как следует. Прошу поделится информацией, как у вас работают (работают ли) ссылки в области <Сообщения сборки>? Может это особенности сборки или я упустил какие настройки?

 

Genuine
()

[openSuse]Создание гостевой учетной записи

Доброго врмени суток, сообщество.

Хочу на машине в лаборатории создать учетную запись для гостей: чтобы пользователь user с паролем user мог работать со своей домашней папкой, сетью и флеш-накопителями, но при этом на изменение оформления и содержимого рабочего стола прав не было (или оно востанавливалось после перезагруки сеанса). Как это лучше сделать штатными средствами ОС?

 

Genuine
()

[arch, kde]Проблема с автомонтированием в Dolphin

Доброго врмени суток, сообщество.

Возникла у меня не большая, но не приятная проблема: CD и DVD диски не монтируются автоматически в KDE после загрузки в привод (при этом с флешками проблем нет). В арч/вики (https://wiki.archlinux.org/index.php/HAL#Inserted_CD.2FDVD_does_not_get_recog...) вычитал, что прблема может быть в наличии файла /etc/hal/fdi/information/media-check-disable-storage_model_$YOUR_DEVICE.fdi и решаема его удалением. Действительно, его удуаление и рестарт hal'а помогает, однако, после перезагрузки он снова появляется. Прошу подсказать тех, кто сталкивался.

Genuine
()

[QsciScintilla]Проблема с отображением Кириллицы

Из научно-спортивного интереса осваиваю Qt и QsciScintilla в частности. Решил разработать подсветку синтаксиса для виртуального языка. И сразу возникла проблема следующего характера: если в качестве лексера для QsciScintilla указать собственный (производный от QsciLexerCustom), то подсветка синтаксиса при вводе кириллицы превращается в абсурд, если же использовать готовый, например QsciLexerCPP, то все стилизируется корректно.

#ifndef GMLSCILEXER_H
#define GMLSCILEXER_H

#include <QObject>

#include <Qsci/qsciscintilla.h>
#include <Qsci/qscilexercustom.h>
#include <QColor>
#include <QFont>

class GMLsciLexer : public QsciLexerCustom
{
    Q_OBJECT
public:
    explicit GMLsciLexer(QObject *parent = 0);
private:
    //! Возвращает название языка
    virtual const char * language() const;
    //! Цвета для стилей
    virtual QColor defaultColor(int style) const;
    //! Шрифты для стилей
    virtual QFont defaultFont(int style) const;
    //! Бакгроунд для стилей
    virtual QColor defaultPaper(int style) const;
    //! Разбор текста на стили
    virtual void styleText (int start, int end);
    //! Описание
    virtual QString description (int style) const;
    //! Подстветить комментарии
    bool comments (QString source, int start, int end);

    enum
    {
        Default = 0,
        Comment = 1,
        Binary  = 2,
        String  = 3,
        Keyword1 = 4,
        Keyword2 = 5,
        Keyword3 = 6,
        Keyword4 = 7,
        Const  = 8
    };

signals:
public slots:
};

#endif // GMLSCILEXER_H
#include "gmlscilexer.h"

GMLsciLexer::GMLsciLexer(QObject *parent) :
    QsciLexerCustom(parent)
{
}

const char * GMLsciLexer::language() const
{
    return "GML";
}

QColor GMLsciLexer::defaultColor(int style) const
{
    if (style == Comment)
    {
        return QColor(0x00,0x7f,0x00);
    }
    return QsciLexer::defaultColor(style);
}

QFont GMLsciLexer::defaultFont(int style) const
{
    QFont f;
    if (style == Comment)
    {
#if defined(Q_OS_WIN)
        f.setFamily("Comic Sans");
#else
        f.setFamily("Sans Serif");
#endif
        f.setItalic(true);
    }
    else
    {
        f = QsciLexer::defaultFont(style);
    }
    return f;
}

QColor GMLsciLexer::defaultPaper(int style) const
{
    if (style == Comment)
    {
        return QColor(0xff,0xff,0xff);
    }
    return QsciLexer::defaultPaper(style);
}

void GMLsciLexer::styleText(int start, int end)
{
    //editor() - функция из родительского класса.
    //Возвращает указатель на QsciScintilla
    if (!editor())
        return;
    QsciScintilla * editor = this->editor();
    QString source = editor->text();
    comments(source, start, end);
}

QString GMLsciLexer::description (int style) const
{
    switch (style)
    {
    case Comment:
        return "Comment";
    case Default:
        return "Default";
    }
    return QString(style);
}

bool GMLsciLexer::comments(QString source, int start, int end)
{
    int count = source.count("//");
    int style = Comment;
    int idxStart = start;
    int idxEnd = idxStart;
    //Обрабатываем каждый символ комментария
    for (int i = 0; i < count; i++)
    {
        idxStart = source.indexOf("//", idxStart);
        if (idxStart == -1)
            break;
#if defined(Q_WS_X11)
        int pos = source.indexOf("\r\n", idxStart);
#elif defined(Q_WS_WIN)
        int pos = source.indexOf("\n", idxStart);
#endif
        if (pos != -1)
        {
            idxEnd = pos;
        }
        else
        {
            idxEnd  = idxStart + source.mid(idxStart).size();
        }
        //Здесь мы сообщаем, что начинаем новый стиль
        //с позиции start + idxStart
        startStyling(idxStart);
        int len = idxEnd - idxStart;
        //А здесь мы сообщаем, что начиная от текущей позиции, определенной startStyling,
        //дальше последуют len символов стиля style == Comment
        setStyling(len, style);
        //Заканчиваем отрисовку стиля
        startStyling(idxEnd);
        idxStart = idxEnd;
    }
}

Genuine
()

[google]70 лет со дня рождения Джона Леннона

Сегодня главная страница гугла порадовала вот таким приветствием, которое посвящено семидесятилетию со дня рождения Джона Леннона. При этом после нажатия на логотип начанал проигрываться рисованный клип на фрагмент композици Imagine (lyrics) со словами:

You may say that I'm a dreamer

But I'm not the only one

I hope someday you'll join us

And the world will be as one

 

Genuine
()

[kde,openoffize]Замеране экрана после копирования буффер из openoffice

Доброго времени суток, lor.

Замучал один неприятный баг. После копирования или вырезания текста из writer в буффер обмена при попытке переключения приложения на панали задач с помощью мыши (при alt+tab нормально) экран замерает на пару секенд. Также необходимо отметить, что после этого диалог сохранения очень медленно работает.

Поиск по сети показал, что я не один, кто сталкивался с этой проблемой ( https://bbs.archlinux.org/viewtopic.php?id=70738, http://forums.opensuse.org/english/get-help-here/applications/431860-strange-... ). Однако предложенные пути решения (отключение klipper'а и аппаратного ускорения в OOo) результата не дали.

OOo 3.2.1

KDE 4.5.2

Archlinux x86_64

P.S. Установка go-ooo проблемы не решила.

Genuine
()

[archlinux,laptop]Арчлинукс и ноутбук

Вопрос следующий. Каким образом вы конфигурируете archlinux на ноутбуке? Устанавливаете ли пакеты acpi и laptop-mode-tools (главное с какими настройками). И нужны ли они при использовании можных окружений, как KDE и GNOME и последних версий ядра? Необходимо ли добавлять ac, batter, button, fan в MODULES в rc.conf ?

Genuine
()

[archlinux, ati]Медленная работа ati в archlinux

Доброго времени суток, товарищи.

Решил я на досуге попробовать arch на ноутбуке. Установка прошла успешно: установид xorg и xf86-video-ati ( + mesa, libgl, ati-dri). Однако после входа систему glxgears показывает производительность в десятки раз меньшую, чем в стоявшей до этого ubuntu.

/etc/X11/xorg.conf:

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/lib/xorg/modules"
	FontPath     "/usr/share/fonts/misc/"
	FontPath     "/usr/share/fonts/TTF/"
	FontPath     "/usr/share/fonts/OTF/"
	FontPath     "/usr/share/fonts/Type1/"
	FontPath     "/usr/share/fonts/100dpi/"
	FontPath     "/usr/share/fonts/75dpi/"
EndSection

Section "Module"
	Load  "dri2"
	Load  "glx"
	Load  "record"
	Load  "dri"
	Load  "extmod"
	Load  "dbe"
	Load  "drm"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	#DisplaySize	  300   190	# mm
	Identifier   "Monitor0"
	VendorName   "SEC"
	ModelName    "4542"
EndSection

Section "Device"
        Option     "AGPMode"            	"4"
        Option     "AGPFastWrite"       	"yes"
        Option     "EnablePageFlip"     	"on"
        Option     "ColorTiling"        	"on"
       	Option     "RenderAccel"        	"on"
        Option     "AccelMethod"        	"EXA"
        Option     "DRI"                	"on"
        Option     "EXAVSync"           	"yes"
	Identifier  "ATI Radeon Xpress 1250"
	VendorName  "ATI Technologies Inc"
	Driver      "radeon"
	BusID       "PCI:1:5:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

видеокарта - Ati Xpress 1250.

Genuine
()

RSS подписка на новые темы