Comment Re:Also why are they doing it? (Score 1) 520
Not sure if it's possible to make use of any graphics acceleration hardware to do decoding, but this certainly isn't implemented yet and I don't think anyone's working on it.
The abstract should be enough and should not make every CIS graduate in the room say "Oh, I can do that. Let me show you how".
"It's easy to implement" isn't a criterion for patent acceptance/rejection.
I've finally come to the opinion that locking is unnecessarily expensive, and doesn't tend to enhance collision handling capabilities beyond a simple concurrency timestamp check.
I guess that's fine, depending on the users' needs. If "typical" edits require spending 20 minutes fiddling around with a web form before the user clicks the save button, I bet they're gonna be pretty pissed when they get a rejection message and their 20 minutes of work gets thrown away.
With this in mind, if you're going to use your optimistic locking approach, you'd need to add more code that, instead of rejecting conflicting changes outright, presents the user with options, possibly listing the conflicting changes.
Personally I'd find the auto-expiring lock option to be the best (the user will know going into it that someone else is editing), though hitting the DB to update the timestamp every 10 seconds doesn't scale to a large number of users. But there are other options, like ones some wiki software uses, where you get a longer locking period (on the order of several minutes), and you have to manually refresh the lock before it expires. Or you can possibly refresh the lock automatically, by checking to see if the user isn't idle.
The unspoken question is, why not design a user workflow that avoids synchronization issues...?
Yeah, that would be ideal, but may not be practical. The article poster says they're migrating a native app to a web app, so changing the users' workflow may not be an option.
Other tasks like live midi stuff tend to require low latency or it will sound extremely off.
... which is why you should be using jack for these sorts of things.
Yes, they have been trying to work together, but serious question have you ever tried this setup? It's not pretty, the pulse audio sink for jack has a myriad of problems, and most of the time it just plain doesn't work.
This may improve in future, but for now it is extremely hit or miss, with most of the time being miss.
I never said it worked perfectly, just that there's been a commitment made to support this setup. PA is a new technology, and the basic concept of sharing an ALSA device between two sound-server-like apps is completely new as well. These things just don't magically start working overnight.
Better yet, try implementing them, I have.
Have you filed bug reports and tried to help fix the issues, or are you just complaining uselessly?
The rule on staying alive as a program manager is to give 'em a number or give 'em a date, but never give 'em both at once.