LINUX.ORG.RU

Сообщения cdshines

 

не пойму, что делает код

int *p = (int*)malloc(MAX_BLOCK_SIZE);
int tmp = 0;
for (int b = MIN_BLOCK_SIZE; b < MAX_BLOCK_SIZE; b += STEP) {
    for (int c = 0; c <= b; c += sizeof(int)) {
        tmp += *(int*)((int)p + c);
        *(int*)((int)p + c) = tmp;
    }
}

Да, я пришел на лор со своими лабами. Нет, я не хочу, чтоб анонимус, который всем говорит, что им не быть программистами, делал мои лабы за меня. Я хочу разобраться.

MAX/MIN block size и step - это предполагаемые «размеры блока» кэша L1. Это как бы пример кода из руководства от лабы. Там написано «Для выполнения лабораторной работы вам нужно время выполнения одной итерации внутреннего цикла в зависимости от размера блока, который обрабатывается».

То есть что я получаю? На k-й итерации: размер блока min+((k-1)*step), я произвожу соответствующее количество операций записи и чтения (дальше - допустим, только записи), получаю какой-то набор чисел.

К сожалению, я не понимаю, зачем это делается. Задание такое: «исследовать скорость обработки элементов блока памяти при выполнении операций записи». При проходе во внутреннем цикле я почему-то заполняю какой-то кусок массива с каким-то шагом какими-то числами, а во внешнем цикле - просто увеличивается обрабатываемый кусок массива. Как это может продемонстрировать производительность кэша?

 , ,

cdshines
()

Переход IDE->AHCI в настройках BIOS

Почему-то по недосмотру в настройках контроллера выставлено было IDE, а теперь вот случайно зашел в биос, увидел это, сменил на AHCI, и система, ожидаемо, не загрузилась, потому что что-то там «/dev/disk/by-uuid/###» не найден.

Посоветуйте, как сделать так, чтобы в следующий раз я смог поменять эту настройку на AHCI и все получилось нормально.

 , ,

cdshines
()

Skype сегфолтится.

cdshines@v3700:~|⇒  apt-cache show skype
Package: skype
Priority: extra
Section: net
Installed-Size: 61
Maintainer: Steve Langasek <steve.langasek@canonical.com>
Architecture: amd64
Version: 4.1.0.20.0-0ubuntu0.12.04.2
Depends: skype-bin
Filename: pool/partner/s/skype/skype_4.1.0.20.0-0ubuntu0.12.04.2_amd64.deb

strace, ltrace

 ,

cdshines
()

Как «сбросить» состояние системы, не перезагружаясь?

В общем, аптайм всего неделя, а тормозит, как будто сто лет. Сделал drop_caches - полегчало не особо.

Есть ли какие-то тулзы для поиска потерянных процессов, утечек памяти (htop вроде не показывает ничего особенного, вот скриншоты по CPU & MEM). Я не слишком хорошо понимаю, что может оказывать такое влияние, но стало просто инетересно - можно ли избежать перезагрузок?

Linux v3700 3.8.0-17-generic #27-Ubuntu SMP Sun Apr 7 19:39:35 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

 ,

cdshines
()

У кого есть Sage, какое у кого время работы OrderedSetPartitions().list()?

Пишу свой гогнокод по реализации корявых OSP (алгоритм - свой, комбинировал из того, что знал), у меня работает достаточно медленно. Из нагугленного реализация подобного есть только у Sage math: http://www.sagemath.org/doc/reference/combinat/sage/combinat/set_partition_or.... Попробуйте запустить с числами порядка 8-12 (ворнинг: ростет очень быстро: http://oeis.org/A000670).

Еще было бы хорошо услышать мнение по поводу придуманного алгоритма - сначала строю разбиения массива методом restricted growth length, потом заполняю соответственно полученным строкам множество своими числами, потом строю все перестановки по полученным подмножествам на каждое множество. Получается так же, как и в примере, но не так упорядочено (пока пофиг). Суть в том, каким образом можно ускорить алгоритм, чтобы добиться приемлемой скорости, если это вообще реально. (В исходниках Sage берутся все разбиения мощности множества на части от 1 до |S|, и для каждого такого разбиения потом просто перестанавливаются элементы).

Перемещено tazhate из talks

 ordered set partitions,

cdshines
()

Как в Ruby задать для конструктора хэша правило, чтобы предыдущее значение не затиралось?

a = [0,0,0]
b = [1,2,3]

Hash[a.zip b] # {0=>3}

А хочется, чтобы 0 => [1,2,3].

Нагородить обвеса я и сам могу, у кого-то есть одно-двухстрочник в труЪ-руби-стиле?

Пока никто не запостил: я поспешил с тредом:

h = Hash.new{|h,k| h[k] = []}
h[c] << e
работает

 

cdshines
()

Если известна соль и хэш пароля, чем это отличается от того же, но без соли?

Вот, к примеру, shadow содержит запись об одном пользователе (там соль и выхлоп crypt). Я правильно понимаю, что мы просто будем ко всем предполагаемым ключам из пространства ключей приклеивать соль и искать совпадение - и все? Чем тогда отличается это от простого поиска совпадения данного хэша и перебираемых ключей? Подчеркиваю, речь идет лишь об одном пользователе.

Вдогонку: 1) важно ли в этом случае то, что соль удлинняет хэшируемую строку? 2) использование именно парольных хэш-функций вместо криптографических оказывает заметное влияние?

 , , ,

cdshines
()

В прямом эфире из стана стратегического противника

Пока тут космонавт решает свои проблемы с роллинг-релизами, МС не теряет времени даром. Windows Blue не за горами: http://www.theverge.com/2013/3/27/4152168/windows-blue-public-preview-build-d...

Суть треда. Ответьте на мой вопрос - в чем смысл? Они собиратся выпускать по новой ОС каждый год? Но ведь Виндовс 8 в конце февраля еле-еле добралась до 3%. Вам не кажется, что это проигрышная стратегия? Линукс тут при том, что некоторые его дистрибутивы выходят примерно с той же периодичностью, но на их разработку-то таких финансов не уходит? В чем профит МС? Выпуск косметических версий что-то решает?

 ,

cdshines
()

Потерял полезную опцию по настройке комплита в zsh

Раньше была такая опция - если в истории, допустим, содержаится такое:

abcd
efgh
ijkl
, а я набираю ef<Up>, то из истории выбирается то, что матчится с моим вводом, а не последняя строка, т.е.:

> ef<Up> != ijkl, а ef<Up> == efgh

Что это за опция?

 

cdshines
()

Насоветуйте свистелок для превращения KDE в закос

Сабж. Хочется посмотреть, насколько оно станет похожим на OS X. Приветствуется все - от темы плазмы до иконок. Только давайте то, что сами проверяли, а не то, что нагуглится с первой строчки - там в основном нерабочее гогно.

 ,

cdshines
()

Аналоги функций высшего порядка в С++

Допустим, некто попал на необитаемый остров без интернета, и у него только компьютер с про^W С++ - никаких функиональных языков. Ему хочется попробовать реализовать reduce, map, fold etc. самому и на С++. То есть должна быть функция, которая принимала бы контейнер, аккумулятор и операцию-функцию. Что ему делать? Указатели на функции? Функторы? Какие-то извращенские шаблоны или что еще можно придумать? Некто с удовольствием бы почитал манов на тему, но сразу как-то не нагуглилось.

 , ,

cdshines
()

Существует ли аналог Амарока по таким параметрам?

* такой же приличный и настраиваемый внешний вид (никаких mpd, xine etc. в этом треде)

* коллекция

* скробблер

* нормальная поддержка всяких приблуд типа ape-cue (это некритично, я стараюсь избегать такой музыки)

* плагины

* поддержка воспроизведения стримов

* редактор очереди - про это пишу просто так, т.к. любой плеер, наверное, умеет.

Почему не сам амарок (требования по отличиям от): нужно легкий плеер, а у меня от связки амарок + кторрент ноут скоро начнет вырубаться от перегрева.

 ,

cdshines
()

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

Предложение такое - перед спорными решениями вроде трех последних (кавычки, теги и это полосатое разделение) устраивать голосования по аналогии с теми, что описаны для выбора в модераторы. Только здесь участвуют все пользователи. Итак, алгоритм: очередной умник делает _у себя локально_ так, как он хочет видеть лор. Постит сюда с голосованием. Если за определенный период набралось голосов от >= (среднее за этот период) пользователей, то решение делается в пользу голоса большинства. Голосование должно содержать в себе только да и нет, никаких пунктов типа «тангопроблемы», «хромопроблемы» етс. Если же голосов не набралось, то нововведение принимается, но голосование проводится спустя неделю после принятия - если в этот раз его предлагается отменить большинством голосов, то оно отменяется, если голосов не набралось достаточно или выбор отрицательный, все остается, как есть. Бурление говн сокращается больше, чем на 50% - профит.

 

cdshines
()

Ядро на haskell? Что я еще интересненького пропустил?

Рабочий код для наблюдения поведения ядра L4.

http://www.ertos.nicta.com.au/research/sel4/sel4-refman.pdf

Ну теперь на хаскеле есть ядро, есть всякая мелочевка, когда уже будет хаскель ос, если кому-то приспичит? Накидайте в тред годных примерчиков аудиоплееров на хаскеле. (всякого прикладного и/или десктопного ПО).

 , ,

cdshines
()

Как поступать с app_key, app_secret при публикации кода?

Зарегистрировал в дропбоксе приложение (просто получает публичную коротку ссылку на файлик) - скрипт на руби, в общем-то. Там выдали app_key & app_secret. Они используются при авторизации. Теперь я хочу залить, например, в репозиторий на гитхаб, но что делать с этими данными? И вообще, непонятно - если они требуются для авторизаци, то как мне распространять мой меганужный и мегапопулярный код? Я немного не понимаю эту схему - если обычный пользователь(тм) решит это у себя применять, как он будет пользоваться, не имея app_key & app_secret? Может, это нубские вопросы, но я не нагуглил сходу у них на сайте такого.

 , ,

cdshines
()

Slackware 14, где достать fsck.ntfs? И еще пара вопросов.

Достал тут с полочки свой старый карман с диском, решил сначала прогнать проверку. С помощью KDEшного менеджера разделов пытался - фейлится, ругается на то, что на один и тот же участок что-то там ссылается несколько раз:

Check and repair partition ‘/dev/sdb1’ (0.91 TiB, ntfs) 
Job: Check file system on partition ‘/dev/sdb1’ 
Command: ntfsresize -P -i -f -v /dev/sdb1 
ntfsresize v2012.1.15 (libntfs-3g)
Device name        : /dev/sdb1
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 1000202039808 bytes (1000203 MB)
Current device size: 1000202043392 bytes (1000203 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
Cluster 71070895 is referenced multiple times!
Cluster 71070896 is referenced multiple times!
ERROR: Filesystem check failed!
ERROR: 2 clusters are referenced multiple times.
NTFS is inconsistent. Run chkdsk /f on Windows then reboot it TWICE!
The usage of the /f parameter is very IMPORTANT! No modification was
and will be made to NTFS by this software until it gets repaired. 
Check file system on partition ‘/dev/sdb1’: Error
Check and repair partition ‘/dev/sdb1’ (0.91 TiB, ntfs): Error
Решил попробовать fsck, а мне тут:
fsck from util-linux 2.21.2
fsck: fsck.ntfs: not found
fsck: error 2 while executing fsck.ntfs for /dev/sdb1
А вот из гуя хоть до какого-то этапа доходит. Вот и где его достать? В каком пакете? sbopkg/slackpkg по «ntfs» ничего не находят. Может, не там ищу? Или что-то другое?

 , fsck.ntfs, ,

cdshines
()

После апдейта 3.2.* -> 3.7.* в Slackware пропали беспроводные устройства

Сабж. Сделал slackpkg update, slackpkg upgrade-all, никаких сообщений не было, никаких .new не было, все в порядке. iwconfig выдает, что для eth0: no wireless extensions. В /lib/firmware лежат вроде нужные firmware.

Надеюсь, среди слаководов лора найдется еще кто-то, с достаточной мерой пренебрежения относящийся к новогоднему шуму, и мне помогут оперативно:)

охлол, самое главное: bcm4313, Slackware 14.

 , , , ,

cdshines
()

Что посоветуете делать со странно брикнутым планшетом?

Nook Tablet 16GB. Работал-работал, все было в порядке. Никаких изменений прошивки в обозримом прошлом не было, все было в порядке. Сегодня он сел до 5% и выключился. Пришел домой, всятавил зарядку, а у него только подсветка включилась и все (экран из черного стал серым). Я попробовал сделать хард ресет зажатием кнопки на 20 секунд, потом должно было появиться меню ресет и т. д., но дело до этого не доходит - он просто включает подсветку и все. Потом стал просто включать-выключать экран с периодом в 5 секунд (серый-черный). Вот я умудрился отсановить эту вакханалию, теперь он просто черный. Попытка подключить к ноуту и глунуть lsusb, чтобы понять, он жив или нет, закончилась провалом - lsusb его не видит. Что это вообще может быть? Какой-то особый вид boot-loop'a? Совсем конец? Что может теоретически помочь?

 , , nook tablet

cdshines
()

Строка, представляющая массив -> массив (ruby)

В общем, есть строка вида [ a b c [ d [ e f ] ] g ] (например), где а, б, ц, ... могут быть любыми, в т.ч. и служебными. Вложенность произвольная. Нужно получить массив ['a', 'b', 'c', ['d', ['e', 'f']], 'g'].

 

cdshines
()

AeroFS - нужно или как обычно?

Пришел инвайт, а я теперь сижу и сомневаюсь. Может, отдам кому по результатам треда)

Вопрос вот в чем: а) надежна ли система? Если часто случается, что сидов нет на обычных раздачах обычных трекеров, то кто гарантирует, что в один день все мои р2р-бэкапы не накроются п^медным тазом, когда какой-то разочарованный пир удалит ПО со своего узла? И б) нужны ли вообще р2р-системы, связанные с хранением возможно важных данных? Или торренты только для порно?

 aerofs,

cdshines
()

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