Forgot your password?
typodupeerror

Comment: Re:Big Battle (Score 1) 463

by CoughDropAddict (#30848652) Attached to: Bing To Become Default iPhone Search?

Based on their merits?

The Windows API is so broad, so deep, and so functional that most ISVs would be crazy not to use it. And it is so deeply embedded in the source code of many Windows apps that there is a huge switching cost to using a different operating system instead...

It is this switching cost that has given the customers the patience to stick with Windows through all our mistakes, our buggy drivers, our high TCO, our lack of a sexy vision at times, and many other difficulties [...] Customers constantly evaluate other desktop platforms, [but] it would be so much work to move over that they hope we just improve Windows rather than force them to move.

In short, without this exclusive franchise called the Windows API, we would have been dead a long time ago.

--Internal Microsoft memo drafted for Bill Gates, Feb 21, 1997

In 2002, Be Inc. sued [4] Microsoft claiming that Hitachi had been dissuaded from selling PCs loaded with BeOS, and that Compaq had been pressured to not market an Internet appliance in partnership with Be. BeOS also claimed that Microsoft acted to artificially depress Be Inc's IPO. The case was eventually settled out of court[5] with no admission of liability on Microsoft's part.

--Wikipedia page about BeOS

Comment: Re:a rat != a pig != a dog != A boy (Score 2) 230

by CoughDropAddict (#30515912) Attached to: OSU President Cans Anthrax Vaccine Research On Primates

I frequently think of the behaviors I see in terms of human behavior and human emotional responses even though I know that they are wrong. The motivation and perception of a pig is incredibly different from that of a human, even a child at a similar level of intellectual development. The perfect person to readup on to learn about how fundamentally damaging the "anthropomorphic" view is to our understanding of animals is Temple Grandin.

From what I have read, Temple Grandin does not support your arguments. From her essay Animals Are Not Things: A View on Animal Welfare Based on Neurological Complexity:

Science has shown that animals such as mammals and birds feel pain in a manner similar to humans. Insects, viruses and microbes are not able to feel pain or suffer. More research is needed to determine the extent that fishes and amphibians feel pain. Present research shows that they do experience fear. Fear is very aversive and animals should be shielded form situations that cause great fear. Fear will cause a great rise in stress hormones.
[...]
When the structure of the brain and nervous system is studied, there is no black and white line between people and higher mammals such as chimps, dogs or cows.
[...]
As nervous system and brain complexity increases the welfare needs of the animal increase and become more complex, but all animals that have sufficient nervous systems complexity to suffer from either pain or fear need basic welfare protections. Animals with complex brains also have greater social needs and a need for greater environmental enrichment.
[...]
It is obvious to me that intelligent animals such as elephants experience emotions that are more complex than simple pain or fear. They will need different legal protections than animals with simpler nervous systems. The degree of protection, and environmental and social enrichment an animal will require will be dependent on the level of complexity of its nervous system.

Her opinions do not support your assertion that "the motivation and perception of a pig is incredibly different from that of a human," or that animals do not resemble human behavior or emotional responses.

Comment: Re:Cheating on my first love - Firefox (Score 3, Interesting) 383

by CoughDropAddict (#29992470) Attached to: Google Betas Chrome 4, Touts 30% Speed Boost

Want proof? Ctrl+U.

Whoa, don't blow my mind quite so hard. I'm not sure I can handle all this wisdom at the same time.

C'mon, you think I execute shell commands by writing a C program that calls fork(), exec(), and pipe()? You think I write web pages pixel by pixel? Obviously high-level languages and programming paradigms are appropriate in many cases.

I'm sticking it to the Java weenies who think that C and C++ are obsolete. The people who year after year say that *now* Java is "often as fast as C++ and sometimes faster." The people who still won't acknowledge that there is a real reason C and C++ are still the languages of OS kernels.

It's not premature optimization to write libavcodec in C. Likewise with OS kernels, virtual machines, rendering engines, DSP plugins, and many other applications where the code will almost certainly be on the critical path of a resource-intensive application. It's not premature optimization to use manual memory management in applications that need to move lots of data around with low latency.

Comment: Re:Cheating on my first love - Firefox (Score 1) 383

by CoughDropAddict (#29991180) Attached to: Google Betas Chrome 4, Touts 30% Speed Boost

Chrome got me where it matters most - raw speed.

This is why I never understand how people can say "sure, maybe Java/garbage-collection/50mb-binaries/etc. are a little slower, but computers are SO FAST these days and programmer productivity is SO much more important. Hardware is cheap, programmers are expensive." etc.

Speed still matters! And it always will.

Comment: Joyce estate owner an antagonistic control freak. (Score 2, Informative) 150

by CoughDropAddict (#29586027) Attached to: Professor Wins $240K In Fair Use Dispute

The stuff in the linked articles is nothing, read this: The Injustice Collector: Is James Joyce's grandson suppressing scholarship?

Stephen Joyce to a James Joyce scholar he disagreed with: "You should consider a new career as a garbage collector in New York City, because you'll never quote a Joyce text again."

Comment: Re:x86 in the browser? Ugh... (Score 1) 175

by CoughDropAddict (#27048503) Attached to: Google NativeClient Security Contest

Your "abstract solutions" all take orders of magnitude more memory than C, and still suffer garbage collection pauses.

Why isn't your web browser written using these "abstract solutions"? The answer is the same reason that having real machine code on the client is a win, for those who want to go to the trouble.

Comment: BigTable is what you should be comparing with (Score 1) 344

by CoughDropAddict (#26857583) Attached to: Is the Relational Database Doomed?

But the killer thing here is that MapReduce says absolutely nothing about the updates problem.

That's because MapReduce is a data processing system, not a data storage system. You should read about BigTable, which is the data storage system we use (I work at Google), which does support updates.

In your comments on this thread, I think you miss the key difference between an RDBMS and a system like BigTable. BigTable is almost perfectly horizontally scalable. When you need more capacity, it really is as simple as throwing more machines at the problem.

RDBMS's can never give you this kind of horizontal scalability, because they make a promise to you that you can transactionally modify any two bits of data anywhere in your database. Fulfilling this promise requires that either your whole database lives on a single machine, or that you use a distributed transaction protocol like 2PC (which totally kills performance).

So when your database gets busier than a single machine can handle, you have to manually partition your database into multiple physical databases. All the nice RDBMS features like transactions, joins, foreign keys, triggers, etc. can only (reasonably) work within a single physical database. The divide between physical databases is something your application code has to deal with -- it has to know to direct its queries to the correct partition. And repartitioning your data to run on more machines later is an invasive procedure, both operationally and to your application's code.

BigTable is designed around the reality that a database of any significant size will need to run on more than one machine. It only guarantees that you can transactionally modify data within a single row. This gives BigTable the ability to move rows around between machines without the application even knowing this is happening. If you add more machines, BigTable can immediately start moving some subset of your rows onto this new machine.

I recommend reading this paper for a far more in-depth look at this pattern. The key point of this paper is:

A scale-agnostic programming abstraction must have the notion of entity as the boundary of atomicity.

BigTable calls such entities "rows."

Comment: Re:The thing is... (Score 1) 570

by CoughDropAddict (#26747719) Attached to: The Case For Supporting and Using Mono

Maybe in your field, but these are by no means universal.

There's a point where your software is running on enough machines at the same time that the developer cost of optimizing it is cheaper than the hardware cost of buying more machines.

Just because you've never worked in a situation where this was the case doesn't mean it doesn't exist.

A modem is a baudy house.

Working...