Live data from Hacker News

Android’s 10 Millisecond Problem explained

superpowered.com

281–290 of 311 posts

Re: Android’s 10 Millisecond Problem explained

#281
post #214

Going completely off-topic: Why has everyone recently decided to use ultra-thin fonts everywhere? On my system (24" FullHD, Win8.1, Chrome 42 and Ubuntu 14.04, Chrome 43) the text is thinner than one pixel and thus unreadable below 130% zoom. Sure, I can open up DevTools and fix the font-weight, but seriously?

My theory on this is that Windows 8 hyped this. It's particularly problematic when it's being copied in mac circles because OSX has a biased font-smoothing algorithm that adds font weight (it's a design flaw). In other words, to get something to look thin on a mac, especially a non-retina mac, it needs to be very thin, sometimes less than a pixel thin. How other systems display borderline visible strokes varies depen…

Oh, so I can tell whether the designer uses OSX by the fact that I can't read the fonts. That's nice.

Re: Android’s 10 Millisecond Problem explained

#282
post #275

Earlier quoted context omitted.

We should be considerate in how we listen as well as how we speak. It does no good to speak insensitively, nor to listen oversensitively. Communication is a two-way street. When I feel offended, I treat it as an opportunity to learn about a different viewpoint. Sometimes it makes me change my mind. It always gives me a better understanding of people.

The thing is, you've got a woman right here telling you, "this is exclusionary and seems stupid on the face of it." We don't even have to guess at how it's taken by someone who doesn't fit into its built-in description; they're telling us in plain language. The different viewpoint, I guess, is that the original author has some outdated views on gender competence. I've seen lots of comments saying "oh but it adds flai…

I agree that the comment was insensitive. I never said otherwise. I was pointing out that you missed a case: it is entirely possible “that is not what they meant and they do not need to update their vocabulary”.

Re: Android’s 10 Millisecond Problem explained

#283
post #228

Earlier quoted context omitted.

"A little manly-man programming from the wrist and we move on to real problems." See... it's the little things like this. I am pretty sure that was not your intention, but please do know that turns of phrases like that hurt a little, and exclude a little. To see what I mean, s/man/jew/ or s/man/white/ or some other category and see how it reads.

I did the substitution in my head and the statement sounds silly. Just like "manly-man" sounds silly. Is this genuinely offensive and exclusive though?

[deleted]

Re: Android’s 10 Millisecond Problem explained

#284
post #228

Earlier quoted context omitted.

"A little manly-man programming from the wrist and we move on to real problems." See... it's the little things like this. I am pretty sure that was not your intention, but please do know that turns of phrases like that hurt a little, and exclude a little. To see what I mean, s/man/jew/ or s/man/white/ or some other category and see how it reads.

I did the substitution in my head and the statement sounds silly. Just like "manly-man" sounds silly. Is this genuinely offensive and exclusive though?

[deleted]

Re: Android’s 10 Millisecond Problem explained

#285
post #275

Earlier quoted context omitted.

The thing is, you've got a woman right here telling you, "this is exclusionary and seems stupid on the face of it." We don't even have to guess at how it's taken by someone who doesn't fit into its built-in description; they're telling us in plain language. The different viewpoint, I guess, is that the original author has some outdated views on gender competence. I've seen lots of comments saying "oh but it adds flai…

I agree that the comment was insensitive. I never said otherwise. I was pointing out that you missed a case: it is entirely possible “that is not what they meant and they do not need to update their vocabulary ”.

Of course it's possible they didn't mean to equate programming skill with masculinity. That doesn't mean that they don't need to update their vocabulary--just like those those elderly people I know who still use words like "negros" to refer to black folks.

Sometimes, the world changes, and it's up to us to keep up with the times.

(It's funny, I bet you anything if the original author had said "this negro gentleman at my workplace...", no one would be defending his retrograde use of language.)

Re: Android’s 10 Millisecond Problem explained

#286
post #285

Earlier quoted context omitted.

I agree that the comment was insensitive. I never said otherwise. I was pointing out that you missed a case: it is entirely possible “that is not what they meant and they do not need to update their vocabulary ”.

Of course it's possible they didn't mean to equate programming skill with masculinity. That doesn't mean that they don't need to update their vocabulary--just like those those elderly people I know who still use words like "negros" to refer to black folks. Sometimes, the world changes, and it's up to us to keep up with the times. (It's funny, I bet you anything if the original author had said "this negro gentleman at…

You’re not wrong, but we’re arguing about different things, and I’m not sure how I can make myself clear.

I think they didn’t mean to equate programming skill and masculinity. I also think they should be more sensitive in how they speak. I also think it’s dishonest to ignore the fact that one can be true without the other.

Furthermore, “manly man” is a wacky satirical caricature of “real man”, a problematic stereotype. “Negro” is just a problematic stereotype. I think we should find a better comparison, but one doesn’t come to mind.

Re: Android’s 10 Millisecond Problem explained

#287
post #209
post #141

I think the article may be ascribing too much technical reasoning to why iOS has a better community of music apps - remember that Apple is also has Garage Band and dominates the online music sales business. It's fair to say that music is a core part of Apple's brand, and so the platform has a much greater draw for people who prioritize music software.

It's possible for Apple to have stuff like Garage Band because they have the ability to do low latency audio.

Garage Band (and Apple's position as the kings of music) predates iOS and Android. That's my point. Even if Android had good low-latency audio, I doubt that Android would still see the kind of audio-community we see with iOS because Apple is the brand for that sort of thing and has been that since the fruity-iMac-days.

Re: Android’s 10 Millisecond Problem explained

#288
post #200

Isn't this kind of a known issue in Linux land? As much as it has improved, latency has always been the bane of audio applications in the Linux kernel. I remember in the days of kernel 2.2 that even XMMS would stop playing any music if I started using more than one or two applications. Recently I got one of those cheap USB interfaces to connect my guitar. I spent some good 4 hours changing the kernel to "low latency"…

"Isn't this kind of a known issue in Linux land?" No. If you're doing serious audio in Linux, you use jack and get fantastic latency properties. This is a Solved Problem.

> If you're doing serious audio in Linux

Except I am not. And I guess it would be the same case for the vast majority of people who have Android devices.

It is only a "Solved Problem" if you are talking exclusively about sound systems that are designed to deal with latency. The problem I was stating is that you can not transparently run "serious audio" and common desktop applications that rely on alsa/pulseaudio.

I would consider it a "Solved Problem" when I can get to install Audacity, Skype, my web browser, the mentioned usb interface connected and I can run some effect software... and run them all concurrently without caring how to setup the sound system. People can do that in MacOS/iOS/Windows, and they can't do that in Linux (GNU or Android).

Re: Android’s 10 Millisecond Problem explained

#289
post #217

Earlier quoted context omitted.

1) Userspace sleeps until audio data is available because there's an eternity of clock cycles between each sample; do you want to be woken up after every sample if you're done doing work or a handful? You could also busy wait but that kills battery life. 2) In order to hand you off some samples you have to at least make one copy. It's convenient to be able to copy an entire _something_ without worrying about the soun…

Why is (2) dependent on anything regarding the number of samples you get at once? Sure, suppose there is a maximum block size; why does anything regarding copying "an entire something" require you to have filled that entire block size with live data? Why can't you just copy however much is available in the buffer? I don't understand why copies are even relevant: you can make several extra copies and nobody will ever…

Typically because the hardware delivers audio in blocks. I know mostly about how USB works, but I imagine it applies to other hardware types as well.

USB has several transfer types: interrupt, bunk and isochronous.

Interrupt is initiated by the device so it wouldn't help you read variable amounts.

Bulk is good for mass data transfers, but has guaranteed access to the bus, so you'd possible get audio dropouts when accessing another USB device.

Isochronous can reserve bus bandwidth and have latency guarantees, but must occur on a fixed schedule. Since they are on a fixed schedule, they always have the same amount of data, hence a fixed block size.

Since data is arriving at the OS in fixed blocks, the lowest latency way to handle the data is deal with the blocks when the arrive. If you wanted to read variable amounts of data, you'd need to add a buffer on top that could hold a variable amount of data which would add latency.

Copying variable amounts of data isn't slow, but dealing with dynamic memory allocation is. If you needed to allocate a different sized block every few milliseconds you'd be spending the majority of your time allocating memory rather than processing audio.

This system can work very well: OS X, iOS, Windows and Linux can all get very low latencies. The issues with Android has nothing to do with block sizes, but something else in it's architecture.

Re: Android’s 10 Millisecond Problem explained

#290
post #285

Earlier quoted context omitted.

Of course it's possible they didn't mean to equate programming skill with masculinity. That doesn't mean that they don't need to update their vocabulary--just like those those elderly people I know who still use words like "negros" to refer to black folks. Sometimes, the world changes, and it's up to us to keep up with the times. (It's funny, I bet you anything if the original author had said "this negro gentleman at…

You’re not wrong, but we’re arguing about different things, and I’m not sure how I can make myself clear. I think they didn’t mean to equate programming skill and masculinity. I also think they should be more sensitive in how they speak. I also think it’s dishonest to ignore the fact that one can be true without the other. Furthermore, “manly man” is a wacky satirical caricature of “real man”, a problematic stereotyp…

Actually, I think you've hit on something important: you're saying "manly man" is wacky and humorous, but "negro" is problematic. The only difference here and now is how it's no longer acceptable, at all, to play on race stereotypes, not like it was 50 years ago.

Times change, and we can either keep up, or we can let ourselves becomes relics from an earlier era.

Post reply on HN