Home
entries friends calendar user info Previous Previous
IMHOmania
גם זה יעבור
nightgoblin
Add to Memories
Tell a Friend
My brain has burst in flames.

I guess, "I'll just put it with the rest of the fire." (© The IT Crowd)

Tags:

nightgoblin
Add to Memories
Tell a Friend
For some time now, my Adobe Flash plugin (v10) in Firefox running under FC10 was working, except for the abyssmal sound quality: cracking, skipping, stuttering, you name it. Apparently, the problem lies in PulseAudio buffering, and can be fixed as follows:

sudo vim /etc/pulse/daemon.conf

Here, I uncommented the following lines (change as necessary):

realtime-scheduling = yes
default-fragments = 8
default-fragment-size-msec = 25


After this, restart the daemon:

pulseaudio --kill && pulseaudio --start

Restart firefox, and the sound problems should be gone.

For more info, see pulse-client.conf(5).

Tags:

nightgoblin
Add to Memories
Tell a Friend
На дорогах, сцуко, холодно. Напялил всё, что мог, и за каких-то 100 км (туда 50 и обратно 50, ещё и с остановкой в закусочной с горячим кофе) чуть не превратился в эскимо. Хорошо хоть хватило мозгов купить подштанники. Ещё бы шлем потише, а то мой Fulmer шумит как чёрт знает что. Да, и штаны с курткой бы кожаные, было б другое дело — с расцветкой только надо что-то придумать, а то чёрную кожу не видно ни хрена, особенно в темноте, а других цветов я что-то не видел. Жилетку оранжевую или жёлтую можно, да.

Ладно, на сегодня будет. Допью пиво и пойду спать.

Tags:

nightgoblin
Add to Memories
Tell a Friend
Задача: создать контейнер таблицы для работы с запросами БД на C++ (в других средах есть DataSet какой-нибудь, а я вот не могу ничего такого найти).

Проблема: Итераторы записей. Известно, что при манипуляциях с контейнером итераторы могут быть инвалидированы. Минимизировать этот эффект можно, используя std::list, который инвалидирует только итераторы, указывающие непосредственно на удаляемый элемент. Какой-нибудь void DataSet::erase(DataSet::Iterator& it) может, конечно, изменить свой параметр, и, казалось бы, всё бы хорошо, но как быть, если на удаляемый элемент ссылаются ещё другие итераторы?

Возможное решение:
1) Убрать непосредственное удаление элементов, вместо этого помечая их как "удалённые". Итератор может проверять состояние записи: если она удалена, считать себя недействительным, а дальше по усмотрению — либо переходить на соседний элемент (а при итерации пропускать удалённые), либо просто кидать исключение (на данный момент кажется более правильным, потому что переход на соседний элемент создаёт дилемму выбора между следующим и предыдущим).

2) При очистке контейнера (метод clear()) все итераторы должны быть инвалидированы, что логично. Разумным представляется хранить слово состояния контейнера, или версию, копию которой хранить в итераторах. Оверхед небольшой (подумаешь, по 4-8 байт на итератор, по усмотрению; в конце концов, кто будет обновлять контейнер 1.8E+19 раз?), а выгода по сравнению с пулом итераторов в контейнере и работе с ним при создании-удалении-переназначении имеется: контейнеру достаточно инкрементировать слово состояния, и все итераторы автоматически считаются недействительными. В свою очередь, итератору достаточно сравнить 32 или 64 бита (слово или два, в зависимости от архитектуры), и всё сразу будет понятно.

3) Если необходимо, удалённые элементы можно чистить специальной функцией, которая пройдётся по списку и удалит (в этот раз, по-настоящему) помеченные элементы (O(n)). При этом для верности инвалидировать все итераторы (ну или заморачиваться с пресловутым пулом, который, как мне кажется, как-то слишком: иначе нельзя предугадать, кто потеряет ссылки; чистить — так уж чистить).

У кого-нибудь есть ещё идеи?

Tags:

nightgoblin
Add to Memories
Tell a Friend
Same-sex marriage opponents make me want to vomit. Literally.
nightgoblin
Add to Memories
Tell a Friend
Ice packs. I love them. They feel sooooo goood :)

Midterm is nigh; grades are due really soon. Need to grade a bunch of stuff as quickly as possible; otherwise, beware of lots of hungry zombies unhappy students... Ugh, don't want to go there.

Almost caught my breath... time to work. It will be a long night tonight.

Tags:
Current Mood: good

nightgoblin
Add to Memories
Tell a Friend
nightgoblin
Add to Memories
Tell a Friend
Чатра лежала, тщетно пытаясь подняться. Со стороны юзеров раздавался задушевный хоровой пинг.

Tags:

nightgoblin
Add to Memories
Tell a Friend
IE — n. [< Eng.: Internet Explorer] The opposite of sanity.

Tags:

nightgoblin
Add to Memories
Tell a Friend
Introspective — Follow Me

Tags:
Current Music: Soma FM

profile
The Wandering Absurdity
Name: The Wandering Absurdity
calendar
Back November 2009
1234567
891011121314
15161718192021
22232425262728
2930
links
miscellaneous
Stuff I care about:
Join the Blue Ribbon Online Free Speech CampaignSomaFM independent internet radio
page summary
tags