And if you don't understand the phrase, "And all the music iTunes matches plays back at 256-Kbps iTunes Plus quality — even if your original copy was of lower quality," please see Engadget's live coverage which details it for you.
2:55PM If any songs don't match they'll be uploaded for you. Anything that's matched is upgraded to 256Kbps AAC, without DRM.
Different companies are approaching a new type of device with new interfaces, and since they don't approach it like the decades-old windowed desktop environment, they are wrong.
Not that that is at all surprising... but I am a little surprised Apple doesn't make its Windows version better, seeing as Quicktime is the only computer-related Apple product many people come in contact with. It made me think poorly of them for years, until I actually used a Mac and found it to be better.
No, it's not the same as a penis. I'm not showing that I'm proud of the size of my religion. I don't whip it out and wave it around.
I live in Tuscaloosa. When power went out before the tornado, but the wi-fi was on battery backup, I kept watching the weather stream. I saw the size of the tornado. I called/texted my friends who may have been in danger.
My faith is the same... I see danger, I want to warn you for your sake. If you would rather ignore me and risk your life, that's your decision. But I refuse to stop warning the people I know just because a few people like yourself would rather not be bothered.
But what about GPS error? Rarely does my GPS signal place me directly on the coordinates of the roadway. Usually I am several feet off one way or another. In order to tax me appropriately, the system will have to have a buffer zone of several feet.
So then, what if I actually am in the mall parking lot a few feet from a public street? Do I get taxed? I'm still in the buffer zone, and it's just as likely to error into the roadway as it is into the parking lot.
The problem with these people is that they won't stop believing, because this really won't prove the Bible untrue. Which would mean that this isn't unambiguously predicted by the Bible. So then, what's this all about... fame? Money?
My beliefs have nothing to do with attempting to gain fame or money by (ab)using my faith or my position. My evangelism starts and ends with my telling you my beliefs, and my hope that you'll at least entertain the ideas... but there is no expectation that you must listen or change your mind on the spot. For these people, though, they need more... they need to convince the world of their views using scare tactics.
While touting the good that comes from spreading power away from individuals in government, we must be careful not to assume that big business is any better than big government. Not that I got that implication from the parent post... but like it stated, the less power any individual has, the better off we all are. So in that sense, we don't want huge monopolies any more than we want huge government. Billionnaire CEOs have so much power and influence, they might as well be kings. And we certainly don't want government giving special favors to mega-corporations over small businesses.
(Don't ask me how we solve all these problems at the same time... indeed, regulating mega business would seem to require a big government.)
Architecture doesn't really matter. It only matters how many transistors and electrical components are in use at once. Considering the efficiency of modern CPUs in pipelining and branch prediction (and probably even better stuff since the last time I've heavily studied CPU architecture), I'd venture to guess that the number of transistors active at any moment is reasonably close to the number of transistors available.
As I read it, it's more like buying an SUV in 2004 and getting a compact car as a replacement in 2011. The machine offered as a replacement is not as powerful as the original, i.e. single-core instead of dual-core.
That word "superior" you use can be taken to mean a lot of things.
Let's look at a different company, same fundamental strategy: Apple. The iPhone has never been the "superior" device in a technical sense, always lagging behind in some major area (first it was applications, then copy-and-paste, then multitasking, and now useful widgets, etc.). Apple is arguably even worse than Microsoft, having a very closed platform with a difficult development route. But you've got to admit, the smartphone industry itself is in a very superior position to pre-2007, and to Apple's greed has nothing to do with it would be laughable. So one company taking the lead in the industry made a huge difference.
Microsoft is the same way. The only way to maintain their monopoly was to ensure that they expanded rapidly across the globe, and made themselves at least marginally useful to billions of people. Sure enough, this worked. So even though it took some crappy years of Windows, IE, and Office, the world has benefitted from the reach of computing and the Internet. (And now, Microsoft has little room to expand, so we've started to see a nice era of competition driving them to do better.)
The biggest difference is competition, and I will agree 100% that competition has resulted in vastly different timelines and outcomes for the two industries. I'm just arguing that your original suggestion, greed doesn't entice people to do good things for others in bringing benefit to themselves, is simply incorrect.
It is true that Microsoft has "done evil" in being a greedy mega-corporation trying to skim off the productivity of others. But it is also true that in doing such evil, they have accidentally brought computing to the masses, driven hardware power up while prices have dropped, increased productivity in most every sector in the globe, and brought in an age of instant global mass communication.
Don't get me wrong, I'm not trying to give Microsoft credit for all of those things. But they were part of the solution, enabling the people who deserve most of the credit. And for that, even evil Microsoft can be said to have accomplished societal good in spite of their greed.
Thank you for your insightful comment. Indeed, Windows should be fully expected to solve an undecidable problem like antivirus. Linux has never has a virus written for it because it is so secure. Nor has Mac OS X, nor has any other OS other than Windows. Windows is the only OS that has ever has viruses. Viruses were probably created by M$ because they are so evil.
And don't fool me with UAC or full-disk encryption or any of that smoke and mirrors. UAC is a hack that never works, and the only time it pops up is when a virus ISN'T running. Just installing IE 7/8/9 brings thousands of viruses. Windows is so broken even Firefox and Chrome can't help!
I've used SQL extensively, and I currently use db4o as a noSQL embedded database. Why?
- My program's object model is hierarchical, and noSQL is hierarchical by nature. This eliminates the need for an O/RM tool, as the structures match naturally. - db4objects requires no DDL. It reflects my object model and persists the structure automatically.
The latter part was the killer feature for me. I literally got our entire program of over 100 classes persisting, from scratch, in the matter of a few minutes. And as it has grown, I have not needed to run ALTER TABLE commands, as db4o updates the persistance hierarchy automatically.
- Persistance of a complete object is very easy. I open the database, call "db.Store(myLargeComplexObject); db.Commit();", and it's in the database. - Retrieval of a complete object is very easy. I simply call "db.Query().Where(o => o.Id == myID);"
But... that said, noSQL is not for everybody and every task. As the article suggests, SQL and coSQL can do anything the other can do, but SQL tends to be more natural in the case of ad-hoc queries. For my task, I don't need many ad hoc queries, but I have a natural hierarchical relationship, so noSQL seems to be a better fit.
NoSQL has absolutely nothing to do with flat files. In fact, by definition, SQL databases are flat, and no/coSQL are hierarchical.
I am using the noSQL database db4objects, and its representation mirrors the representation of hierarchical Java/C# objects. RavenDB is another we considered that is built on top of JSON. XML is another way to implement noSQL.
2. can't stop to note that all the examples are LINQ-based. Is this an attempt to grow LINQ in a "standard"?
No, it's an attempt to promote understanding and usage of monads. LINQ is arguably the most widely used implementation of monads, it's just that many people don't realize it.
I have been a C# developer since.NET 1.0, and worked with MS SQL Server just as long. I love them, and recommend them wholeheartedly to everyone I know. But if you think C# + MSSQL = Safe, you've probably already been hacked.
Sure, C# via ADO.NET has parameterized queries to help prevent SQL injection, and we have the Entity Framework and such goodies, but all I need to do is "SELECT * FROM MyDB WHERE ID = " + queryStringID + ";". String concatenation... it's a feature of C#, and because of it you suddenly get to do with my database as you please. You're welcome.
And it happens all the time, since it's the most straightforward way to access a SQL database.
Besides, I doubt MySQL is that less secure than MSSQL. PHP is the traditional culprit... on that point, we agree.
Absolutely. And remember, this article was not just against C#, but against all of.NET. He is essentially bashing VB.NET, F#, IronRuby, IronPython, Boo, J#, and a host of other languages built on the CLI.
Ok, so VB is a bad example. Let's move on...
His rant is baseless and outdated. In fact, the world is moving in the opposite direction. Clients want their software to work regardless of the hardware architecture. Academia is busy researching domain-specific language, declarative languages, and metamodeling, which promise to abstract the details to the level as close to the problem domain as possible. Which is precisely as far from the hardware as possible.
As for production software across the globe, I feel.NET to be one of the strongest systems for realizing these ideals. You can write any language on top of the CLI. As for GPLs,.NET support of generics is superior to both Java and C++ in many ways. C# 5 will soon introduce the async operator for parallelism, and already supports lambdas, dynamic types, and integrates with XAML, arguably the most flexible but consistent language to declaratively specify your user interface. And these aren't just flimsy addons like in some languages... they are top-notch and well designed.
I've always said, if there are two things Microsoft ever did right, they are 1) gaming* and 2).NET. He just made an enemy by declaring war on the latter.
* I'm not talking about DirectX or programming games as a third-party. I'm really just talking about their XBox platform, and perhaps a few games like the old Flight Simulator series.
Motorola knows how to do hardware. The Droid put Android on the map for everyday users. The RAZR had an almost Apple-quality of hype. But I've never seen them produce new software that made me go "Wow". On the Xoom, they made the best decision they could have made, which was to use unmodified Honeycomb.
Mac OS X gives us more than pretty... it gives us UNIX. I chose Mac OS X because I could get UNIX, and my wife could have pretty.
Take away the UNIX shell and sudo, all that's left is a device that my wife uses. I might as well get her an iPad.
Try again.
And if you don't understand the phrase, "And all the music iTunes matches plays back at 256-Kbps iTunes Plus quality — even if your original copy was of lower quality," please see Engadget's live coverage which details it for you.
2:55PM If any songs don't match they'll be uploaded for you. Anything that's matched is upgraded to 256Kbps AAC, without DRM.
Different companies are approaching a new type of device with new interfaces, and since they don't approach it like the decades-old windowed desktop environment, they are wrong.
Very true for Windows. On a Mac it works fine.
Not that that is at all surprising... but I am a little surprised Apple doesn't make its Windows version better, seeing as Quicktime is the only computer-related Apple product many people come in contact with. It made me think poorly of them for years, until I actually used a Mac and found it to be better.
No, it's not the same as a penis. I'm not showing that I'm proud of the size of my religion. I don't whip it out and wave it around.
I live in Tuscaloosa. When power went out before the tornado, but the wi-fi was on battery backup, I kept watching the weather stream. I saw the size of the tornado. I called/texted my friends who may have been in danger.
My faith is the same... I see danger, I want to warn you for your sake. If you would rather ignore me and risk your life, that's your decision. But I refuse to stop warning the people I know just because a few people like yourself would rather not be bothered.
But what about GPS error? Rarely does my GPS signal place me directly on the coordinates of the roadway. Usually I am several feet off one way or another. In order to tax me appropriately, the system will have to have a buffer zone of several feet.
So then, what if I actually am in the mall parking lot a few feet from a public street? Do I get taxed? I'm still in the buffer zone, and it's just as likely to error into the roadway as it is into the parking lot.
Since when is exclusivity a free market solution?
As a Christian, I say mod parent up.
The problem with these people is that they won't stop believing, because this really won't prove the Bible untrue. Which would mean that this isn't unambiguously predicted by the Bible. So then, what's this all about... fame? Money?
My beliefs have nothing to do with attempting to gain fame or money by (ab)using my faith or my position. My evangelism starts and ends with my telling you my beliefs, and my hope that you'll at least entertain the ideas... but there is no expectation that you must listen or change your mind on the spot. For these people, though, they need more... they need to convince the world of their views using scare tactics.
Very good post.
While touting the good that comes from spreading power away from individuals in government, we must be careful not to assume that big business is any better than big government. Not that I got that implication from the parent post... but like it stated, the less power any individual has, the better off we all are. So in that sense, we don't want huge monopolies any more than we want huge government. Billionnaire CEOs have so much power and influence, they might as well be kings. And we certainly don't want government giving special favors to mega-corporations over small businesses.
(Don't ask me how we solve all these problems at the same time... indeed, regulating mega business would seem to require a big government.)
No, you were trying to make the point, so the burden of research is on you. Please, enlighten us.
Architecture doesn't really matter. It only matters how many transistors and electrical components are in use at once. Considering the efficiency of modern CPUs in pipelining and branch prediction (and probably even better stuff since the last time I've heavily studied CPU architecture), I'd venture to guess that the number of transistors active at any moment is reasonably close to the number of transistors available.
Mod parent up, this is the entire point of having LTS releases.
As I read it, it's more like buying an SUV in 2004 and getting a compact car as a replacement in 2011. The machine offered as a replacement is not as powerful as the original, i.e. single-core instead of dual-core.
That word "superior" you use can be taken to mean a lot of things.
Let's look at a different company, same fundamental strategy: Apple. The iPhone has never been the "superior" device in a technical sense, always lagging behind in some major area (first it was applications, then copy-and-paste, then multitasking, and now useful widgets, etc.). Apple is arguably even worse than Microsoft, having a very closed platform with a difficult development route. But you've got to admit, the smartphone industry itself is in a very superior position to pre-2007, and to Apple's greed has nothing to do with it would be laughable. So one company taking the lead in the industry made a huge difference.
Microsoft is the same way. The only way to maintain their monopoly was to ensure that they expanded rapidly across the globe, and made themselves at least marginally useful to billions of people. Sure enough, this worked. So even though it took some crappy years of Windows, IE, and Office, the world has benefitted from the reach of computing and the Internet. (And now, Microsoft has little room to expand, so we've started to see a nice era of competition driving them to do better.)
The biggest difference is competition, and I will agree 100% that competition has resulted in vastly different timelines and outcomes for the two industries. I'm just arguing that your original suggestion, greed doesn't entice people to do good things for others in bringing benefit to themselves, is simply incorrect.
To put it in Slashdot-compatible terms:
It is true that Microsoft has "done evil" in being a greedy mega-corporation trying to skim off the productivity of others. But it is also true that in doing such evil, they have accidentally brought computing to the masses, driven hardware power up while prices have dropped, increased productivity in most every sector in the globe, and brought in an age of instant global mass communication.
Don't get me wrong, I'm not trying to give Microsoft credit for all of those things. But they were part of the solution, enabling the people who deserve most of the credit. And for that, even evil Microsoft can be said to have accomplished societal good in spite of their greed.
Thank you for your insightful comment. Indeed, Windows should be fully expected to solve an undecidable problem like antivirus. Linux has never has a virus written for it because it is so secure. Nor has Mac OS X, nor has any other OS other than Windows. Windows is the only OS that has ever has viruses. Viruses were probably created by M$ because they are so evil.
And don't fool me with UAC or full-disk encryption or any of that smoke and mirrors. UAC is a hack that never works, and the only time it pops up is when a virus ISN'T running. Just installing IE 7/8/9 brings thousands of viruses. Windows is so broken even Firefox and Chrome can't help!
</sarcasm>
I've used SQL extensively, and I currently use db4o as a noSQL embedded database. Why?
- My program's object model is hierarchical, and noSQL is hierarchical by nature. This eliminates the need for an O/RM tool, as the structures match naturally.
- db4objects requires no DDL. It reflects my object model and persists the structure automatically.
The latter part was the killer feature for me. I literally got our entire program of over 100 classes persisting, from scratch, in the matter of a few minutes. And as it has grown, I have not needed to run ALTER TABLE commands, as db4o updates the persistance hierarchy automatically.
- Persistance of a complete object is very easy. I open the database, call "db.Store(myLargeComplexObject); db.Commit();", and it's in the database.
- Retrieval of a complete object is very easy. I simply call "db.Query().Where(o => o.Id == myID);"
But... that said, noSQL is not for everybody and every task. As the article suggests, SQL and coSQL can do anything the other can do, but SQL tends to be more natural in the case of ad-hoc queries. For my task, I don't need many ad hoc queries, but I have a natural hierarchical relationship, so noSQL seems to be a better fit.
Mod -1 (Wrong, RTFA)
NoSQL has absolutely nothing to do with flat files. In fact, by definition, SQL databases are flat, and no/coSQL are hierarchical.
I am using the noSQL database db4objects, and its representation mirrors the representation of hierarchical Java/C# objects. RavenDB is another we considered that is built on top of JSON. XML is another way to implement noSQL.
Agreed... and on that note, the article really should be "relational" and "co-relational", instead of SQL and coSQL.
2. can't stop to note that all the examples are LINQ-based. Is this an attempt to grow LINQ in a "standard"?
No, it's an attempt to promote understanding and usage of monads. LINQ is arguably the most widely used implementation of monads, it's just that many people don't realize it.
Brian Beckman's Don't fear the Monads
An excellent article explaining how LINQ is extensible to work with any monad
A video by Erik Meijer explaining the duality of IEnumerable/IObservable and IQueryable/IQbservable, as stated in the original article
If you develop first with Mono, there will be no worries. And if you develop first with .NET, you are free to choose not to update.
That's only if the changes don't get published in an updated standard.
I have been a C# developer since .NET 1.0, and worked with MS SQL Server just as long. I love them, and recommend them wholeheartedly to everyone I know. But if you think C# + MSSQL = Safe, you've probably already been hacked.
Sure, C# via ADO.NET has parameterized queries to help prevent SQL injection, and we have the Entity Framework and such goodies, but all I need to do is "SELECT * FROM MyDB WHERE ID = " + queryStringID + ";". String concatenation... it's a feature of C#, and because of it you suddenly get to do with my database as you please. You're welcome.
And it happens all the time, since it's the most straightforward way to access a SQL database.
Besides, I doubt MySQL is that less secure than MSSQL. PHP is the traditional culprit... on that point, we agree.
Absolutely. And remember, this article was not just against C#, but against all of .NET. He is essentially bashing VB.NET, F#, IronRuby, IronPython, Boo, J#, and a host of other languages built on the CLI.
Ok, so VB is a bad example. Let's move on...
His rant is baseless and outdated. In fact, the world is moving in the opposite direction. Clients want their software to work regardless of the hardware architecture. Academia is busy researching domain-specific language, declarative languages, and metamodeling, which promise to abstract the details to the level as close to the problem domain as possible. Which is precisely as far from the hardware as possible.
As for production software across the globe, I feel .NET to be one of the strongest systems for realizing these ideals. You can write any language on top of the CLI. As for GPLs, .NET support of generics is superior to both Java and C++ in many ways. C# 5 will soon introduce the async operator for parallelism, and already supports lambdas, dynamic types, and integrates with XAML, arguably the most flexible but consistent language to declaratively specify your user interface. And these aren't just flimsy addons like in some languages... they are top-notch and well designed.
I've always said, if there are two things Microsoft ever did right, they are 1) gaming* and 2) .NET. He just made an enemy by declaring war on the latter.
* I'm not talking about DirectX or programming games as a third-party. I'm really just talking about their XBox platform, and perhaps a few games like the old Flight Simulator series.
Motorola knows how to do hardware. The Droid put Android on the map for everyday users. The RAZR had an almost Apple-quality of hype. But I've never seen them produce new software that made me go "Wow". On the Xoom, they made the best decision they could have made, which was to use unmodified Honeycomb.
So sorting my email (which requires math for comparisons) is a game of picking axioms or a language?