LINUX.ORG.RU

Сообщения GArik

 

Обновлён перевод книги «Pro Git»

За прошедшие три месяца было исправлено множество пунктуационных ошибок, исправлены опечатки и неверные формулировки, кое-какие фактические ошибки и немного поправлена терминология.

Исправленная версия перевода книги доступна в форматах pdf, epub и mobi.

Приятного чтения :)

 ,

GArik
()

e17 готовится к релизу

В бложике появилась информация о том, что e17 выходит на финишную прямую и наконец-то готовится к стабильному релизу. Перед выпуском e17 будет ещё один релиз EFL, который уже находится в стадии заморозки. Основной задачей в данный момент является исправление ошибок в EFL и enlightenment, поэтому разработчики сообщают, что если у вас было желание попробовать e17, но всё как-то не доходили руки или вы опасались низкой стабильности, то сейчас самое время установить свежую версию, хорошенько её протестировать и обо всех недочётах сообщить в bug-tracker.

[вброс] Буквально несколько дней назад в оконный менеджер добавили эффекты на основе физических законов, задействовав библиотеку bullet, тем самым поднимая планку в свистелко-перделко строительстве на новый доселе невиданный уровень. [/вброс]

 ,

GArik
()

[autotools] Помогите добавить конфиг для cmake в проект использующий autotools

Есть проект bash-completion, который использует autotools для сборки. Там есть конфиг bash-completion.pc.in для pkg-config:

prefix=@prefix@
compatdir=@compatdir@
completionsdir=@datarootdir@/@PACKAGE@/completions
helpersdir=@datarootdir@/@PACKAGE@/helpers

Name: bash-completion
Description: programmable completion for the bash shell
URL: http://bash-completion.alioth.debian.org/
Version: @VERSION@

Хочется добавить аналогичный конфиг для cmake. Я сделал заготовку bash-completion-config.cmake.in:

# config file for bash-completion
# http://bash-completion.alioth.debian.org/

set (BASH_COMPLETION_VERSION "@VERSION@")

set (BASH_COMPLETION_PREFIX "@prefix@")
set (BASH_COMPLETION_COMPATDIR "@compatdir@")
set (BASH_COMPLETION_COMPLETIONSDIR "@datarootdir@/@PACKAGE@/completions")
set (BASH_COMPLETION_HELPERSDIR "@datarootdir@/@PACKAGE@/helpers")

set (BASH_COMPLETION_FOUND "TRUE")

Как мне сделать чтобы этот конфиг для cmake обрабатывался так же как и конфиг для pkg-config и потом устанавливался в /usr/share/cmake/bash-completion/ при `make install`? Для pkg-config в Makefile.am есть только такие строчки:

pkgconfigdir = $(datadir)/pkgconfig
pkgconfig_DATA = bash-completion.pc

 ,

GArik
()

[kernel][ноутбуки с двумя видеокартами] Подтвердите баг

Проверьте пожалуйста сколько уровней яркости дисплея доступно на вашем ноутбуке в линуксе и вне линукса. Алгоритм таков:

  • Включаем ноутбук.
  • Линукс не загружаем, остаёмся, например, в меню grub'а.
  • Нажимаем кнопки для уменьшения яркости дисплея (у меня это Fn+Down) и делаем яркость минимальной.
  • Увеличиваем уровни яркости клавишами (Fn+Up) по одному до максимума и считаем количество уровней. Не забудьте посчитать самый первый уровень с минимальной яркостью.
  • Теперь загружаем линукс.
  • Точно так же как раньше подсчитываем количество доступных уровней яркости.

Количество доступных уровней яркости должно совпасть в обоих случаях. Но у меня не совпадает. У меня из доступных 11ти уровней, в линуксе я получаю только 6.

 

GArik
()

[идиотизм] Ищу картинку с кроликом

Пришла рецензия на статью. В статье для демонстрации работы алгоритма используется картинка с Леной. Рецензент просит заменить Лену на что-нибудь нейтральное, дабы не задеть ничью ранимую душонку. Предлагает заменить Лену на какого-то кролика. Понятия не имею где его найти. Если у кого есть, дайте ссылку.

то самое замечание

please replace the image of Figure 2 by a more neutral one. There is a concern that the current image might offend certain sensitivities among the readership, and we have to be very careful in this respect. A frequently used image which would be sufficiently neutral is that of a rabbit.

Если нет кролика, то посоветуйте какую-нибудь другую нейтральную картинку для тестов.

 

GArik
()

Посоветуйте спеллчекер

Хочется годный рабочий спеллчекер. Пробовал проверять в OO.o (стоит версия 3.2.1 от i-rs.ru), так там вообще у меня проверка орфографии не работает почему-то. Пробовал в простых редакторах типа kwrite проверять, так там я не нашёл как проверять орфографию по нескольким словарям и не понятно как добавить свой словарь. Сейчас использую в качестве спеллчекера hunspell. Радует возможность проверки по нескольким словарям и возможность дополнительно подключить личный словарь. Не радует наличие каких-то непонятных ошибок в отображении текста (текст в utf-8) и сложность настройки (в основном из-за несоответсвия того, что написано в мане и того, что есть на самом деле). Что ещё есть, кроме этих программ?

Пунктуацию вообще умеет что-то проверять кроме MS O?

GArik
()

[slackware][kde] скандалы, интриги

Как известно, в Slackware нет пакетов для GNOME (хотя есть сторонние сборки). Основной причиной удаления GNOME из Slackware-10.2 было то, что GNOME было слишком тяжело правильно собрать — слишком много пакетов. Теперь, начиная с KDE-4.7, вместо больших тарболов типа kdelibs, kdegraphics и т.п., разработчики KDE планируют предоставлять более мелкие пакеты разбитые по отдельным библиотекам и приложениям. В связи с этим AlienBob — человек, который собирает пакеты с KDE под Slackware, в своём блоге написал следующее:

After talking to Pat Volkerding, I announced on the KDE packager mailing list that we are considering the same solution as was chosen for GNOME in the past: remove KDE from Slackware if it proves to become a maintenance burden. I can not yet say anything final about this. For the time being, I have decided not to create Slackware packages for the KDE Software Compilation 4.7.x.

То есть с согласия Патрика он объявил, что если KDE будет также сложно собирать как GNOME, то он также будет исключён из Slackware.

Discuss.

 ,

GArik
()

[lapack] Метод наименьших квадратов

В lapack есть функции для решения задач вида ||B - Ax|| -> min методом наименьших квадратов. А мне сейчас нужно решить задачу вида ||B - Ax||^2 + ||C - Dx||^2 -> min. Не могу понять как можно одно к другому преобразовать и что вообще теперь делать. Может стоит посмотреть как написана dgels() и написать по аналогии свою функцию?

В принципе сейчас решение задачи запрограммировано и работает. На листочке были выписаны производные и коэффициенты матрицы, а потом просто в цикле заполняется нужная матрица и решается обычная система лин. уравнений. Но меня не устраивает произовдительность получившегося решения. Я вроде всё что мог оптимизировал, но заполнение матрицы происходит долго. При размерности задачи около 500 оно ещё приемлемо работает, но при 1000 уже совсем медленно получается.

GArik
()

[cmake] несколько вопросов

1. Есть библиотека, она при сборке генерирует cmake'овские конфиги для find_package(), устанавливает их в /usr/lib/cmake/. Каким образом в эти конфиги можно прописать зависимости моей библиотеки? Например в .pc файлах для pkg-config есть строка «Required: », куда можно всё прописать. Как это делать в cmake?

2. Можно ли как-то просто удалить define'ы из флагов компилятора? В документации о remove_definitions написано следующее: «remove_definitions: Removes -D define flags added by add_definitions». А как быть если, например, в CMAKE_C_FLAGS при сборке добавлен -DNDEBUG, а мне обязательно нужны assert'ы? remove_definitions(-DNDEBUG) в этом случае define из флагов не убирает =(

3. Как-нибудь можно сделать, чтобы find_library находила сначала статические библиотеки, а потом уже динамические и наоборот? Сейчас у меня получается, что если есть оба варианта, то находятся динамические, и потом нужно руками перебивать найденные пути на пути к статическим.

 

GArik
()

Как определить набор инструкций используемых бинарником?

Нужно примерно то же, что делает команда file, т.е. наподобие

$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
но, чтобы информация была более подробной. Например: «i486» или «i686 + mmx + sse + sse2».

GArik
()

В mesa появилась начальная поддержка direct3d

В mesa для gallium добавлена поддержка direct3d 10, 10.1, 11. Как написано в комментарии, можно будет реализовать нормальные библиотеки для поддержки direct3d для wine. Также возможно будет использовать direct3d в своих программах на платформах отличных от.

Currently, this commit contains:

  • Independently created headers for Direct3D 10, 10.1, 11 and DXGI 1.1, partially based on the existing Wine headers for D3D10 and DXGI 1.0
  • A parser for Direct3D 10/11 DXBC and TokenizedProgramFormat (TPF)
  • A shader translator from TokenizedProgramFormat to TGSI
  • Implementation of the Direct3D 11 core interfaces
  • Automatically generated implementation of Direct3D 10 and 10.1
  • Implementation of DXGI using the «native» framework of the EGL st
  • Demos, usable either on Windows or on this implementation
    • d3d11tri, a clone of tri
    • d3d11tex, a (multi)texturing demo
    • d3d11gears, an improved version of glxgears
    • d3d11spikysphere, a D3D11 tessellation demo (currently Windows-only)
  • A downloader for the Microsoft HLSL compiler, needed to recompile the shaders (compiled shader bytecode is also included)
GArik
()

[kernel] бэкпортировать драйвер

Приобрёл недавно ноутбук. Wi-fi не работает потому, что нету драйвера. Вот только что на opennet'е увидел новость, что Broadcom открыла код нужного драйвера. Есть ссылка на git и написано, что появится этот драйвер в 37ом ядре. Вопрос собственно такой: можно ли просто взять скопировать нужную директорию и собрать драйвер с 35ым ядром? Или это дурацкая затея?

 

GArik
()

[ARM]Наступило будущее?

Предзаказ на озоне на Toshiba AC100-11 - 12990 руб http://www.ozon.ru/context/detail/id/5469053/

 

GArik
()

[maxima] кусочные функции

Как в maxima'е задать кусочную функцию? Типа

 y(x) =  x | x > -1,
        -1 | otherwise
В maple такое делается с помощью piecewise.

 

GArik
()

[ВНЕЗАПНО] Slackware-13.1 beta1

Итак, можно подвести некоторые итоги и сказать, что в slackware-13.1 будет kernel-2.6.33.x, glibc-2.11.x, gcc-4.4.x, bash-4.1.x (!), mesa-7.8.x, xorg-1.7.x, gtk+-2.18.x, qt-4.6.x, kde-4.4.x. Неожиданно в -current сейчас добавлено довольно большое количество новых пакетов. Стабильный релиз обещан в скором времени.

 

GArik
()

[OpenMP] Аналог rwlock

Как можно реализовать в openmp аналог того, что в posix threads называется rwlock?

 

GArik
()

[OpenMP] Всё болит, ничего не помогает

Есть у меня программа, в нераспараллеленой версии работает корректно, всегда, valgrind на неё не ругается, gcc предупреждений не выдаёт. Когда я её распараллеливаю с помощью openmp (только одна функция распараллелена) у неё появляется один забавный глюк. Если я программу запускаю просто так, то она работает; если указываю OMP_NUM_THREADS=2 или 4, то тоже работает без проблем, но если я ставлю OMP_NUM_THREADS=3 или 5, то она может дойти до конца, всё записать и зависнуть, совсем. Проверено на двух машинах: на gcc-4.3.3 и 4.4.3. Пробовал проверить valgrind'ом, но оказалось, что он не поддерживает openmp (можно добавить поддержку, но нужно пересобирать компилятор). Скачал вчера intel thread checker — он тоже ничем не помог — при зависании программы он зависает вместе с ней :) Если запустить thread checker с независающим вариантом, то он выдаёт предупреждения практически на всё (218 штук), при этом от этих предупреждений картина не проясняется, вообще.

Посоветуйте мне что-нибудь для отлова подобных ошибок. Может быть кто-нибудь сталкивался уже с подобным? Могу показать код если кто-то хочет на него смотреть :)

 

GArik
()

[C] Обработка ошибок

Подскажите какую-нибудь литературу про обработку ошибок в C. Интересуют больше не технические аспекты, а вопросы правильности и разумности.

В частности интересует следующее:

1. Правильно ли сообщать информацию об ошибках через errno или стоит свой аналог такой переменной завести? Что делать если хочется положить в errno код ошибки отличный от стандартного?

2. Как вообще определить, что при выполнении математической операции возникла ошибка ERANGE?

3. Где в коде следует выводить сообщения об ошибках? Как я понимаю, в библиотеке не должно вообще ничего выводиться, всё только через возвращаемые значения и errno. А вот в программе следует выводить сообщение об ошибке сразу там где она возникла, или стоит стараться отделять рабочие функции и функции общающиеся с пользователем?

 

GArik
()

[скородрочерам] Напишите новость о gdb 7.0

Напишите кто-нибудь подробную новость о gdb-7.0. С удовольствием бы почитал. А писать лень, да.

GArik
()

Системы управления проектами

Поставил недавно trac, внутри используются git и postgresql. Не устраивает производительность того что получилось. Подскажите как можно было бы ускорить всё это хозяйство. Говорят, что нужно капать в сторону psyco, apache mod_wsgi. С python не знаком, не знаю как этот psyco использовать. Может просто при сборке с помощью `python setyp.py` можно какие-то оптимизации задать?

P.S. Есть ли где-нибудь в свободном доступе та система управления проектами, которую google использует для code.google.com ?

GArik
()

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