There are already issues with odf's opening across operating systems (usually a font issue causing discrepancy in formatting), and I am sure that Microsoft will use this opportunity to "make its case" for the "superiority" of its native format, whatever that format may be. FYI, the font issue is wholly OpenOffice's fault. Word saves the font inside the.doc file exactly just to prevent "font issues" like these. OpenOffice opens the file just fine, but when you save it, it notices that whatever font was embedded in the.doc file is not found on your system, so it switches to similar font instead.
Censorship is the correct word to describe the practice of a third party deleting or reediting publications. Google for it. If you choose to assign it a negative connotation to the word, that is your prerogative.
FutureMap: This program hoped to use a kind of terrorism futures market to predict key developments and even attacks. It was thought market valuations of possible future events could reflect the probability of their occurring. However, FutureMap was scrapped in 2003 after the notion of betting on terrorist atrocities was called "ridiculous and grotesque" by US politicians.
I really wanted to see if it would work - grotesque or not. It intrigued me that a "market" could be formed for things that aren't being bought and sold. And I wanted to see if the market could predict things.
Um.. or maybe the idea didn't sell because there is absolutely no logic to it? If share prices go up for "terrorist incident in country X" does that mean that it becomes more likely that a terrorist incident occurs in said country? No. It just means that the share price went up. If Al-Qaeida says that they are planning to blow up something in country Y and that causes the share price to sky rocket, then yeah, the "market" worked. But you don't need a bloody stock exchange for that!
Plus, you would need thousands of players playing this stupid zero-sum game and essentially doing the same job that one terrorism analyst could do hundred times better.
But without knowing what your project is, it is hard to know what you are doing wrong. Because you probably are doing something wrong if your project is generally useful but noone is willing to help. I also run an open source project (on a really slow site so no link:)) and have gotten quite a lot of code contributions from other people. Here are some tips on what I did to try and attract people. Take it with a grain of salt, I know nothing about nBody modelling.
Presentation is everything! If you can't convey interest to a potential contributor in less than two minutes after they have visited your site for the first time, then you have lost. You need to present your project in the most favorable way possible. You need to show me why I would want to use your code, why I would want to choose your modelling package over any of the hundreds of alternatives. I found no screenshots, no API documentation or tutorials during the ten minutes i spent browsing your project. Just a lot of text. Boooring!
In the same vein as above, you need top quality documentation. And it needs to be very visible. Preferably a front page link. One reason why the parser generator Bison is so popular is because it includes a detailed introduction to language parsing in general. So if you want your toolkit to be popular a good idea is to include an easy introduction to nBody modelling.
Present what your project is capable of doing, or what tasks it is supposed to solve. Can i write a space flight simulator using your library? Can I write a Python wrapper? I don't know.
If I get seriously interested in nBody modelling then I'm likely to want to contact you with questions about the code, bug reports and patches. But your email address isn't available. I know you have an issue tracker but that is no substitute for email. New people often perfer personal communication.
One thing I noticed is that you are using CMake for building, which is cool. But most people aren't as used to CMake as to autotools and make so you need to provide explicit and complete instructions for building your project. It is little details like that that makes your project much more appealing for potential developers.
And last (because it is not so important), use dependencies. For example, if you can use the hash table implementation in glib instead of writing your own. Then do so! You might be able to write a good hash table in less than 400 lines, but by using glib's hash table you just saved yourself from maintaining 400 extra lines of code. There are probably both particle and linear algebra packages you could depend on to make the burden of maintaining your code easier for you.
Besides, whats the fear? Its not like this planet cannot support double that if not more. Do people realize just how much arable land is not in use? Hell on my recent 1600 mile trip to and from Ohio I can tell you this, this country is empty in many spots and I am sure it is in others. Hell I know there are substantial areas of Europe that are essentially empty. Yeah there are villages and towns nearby but its not like we even try to exploit the lands we have. Look at Africa! How much of that is still like America of a hundred if not two hundred years ago?
The big fear is that with more people, we in the industrialised world will have to stop squandering resources. If everyone in China owned a car, things would get rough for the environment. If you divide the earths area with the worlds population, that gives each person about two football fields of land to use. Discounting the fact that most of the worlds surface is oceans, deserts and mountains which are mostly not arable. I probably go through two football fields just for the paper coffee cups I use at work everyday.
And there can be no food shortage, just a fairness shortage. The EU has for decades dumped its agricultural surplus in the Third World because state subsidies has made farmers overproduce. It has destroyed the native agriculture which hasn't been able to compete with imported foodstuff. That is the direct cause of the food shortage they are experiencing. Hail globalization.
Because this time, they are not trying to break into a market. They are already in a market, with a very popular device (iPhone/Touch), that has decent power and 3D capabilities along with some really good control systems (accelerometers/multitouch).
How cute! An input system that makes texting take 10 times as long as using the keypad. Fantastic! I'm sure it works perfectly for Doom RGP and other popular mobile games. Oh and no other mobile phone as decent power and 3D capabilities, the iPhone is way ahead of the competition there.
Then there is the little fact that there are already hundreds of ISV:s developing mobile games using the J2ME platform so that they can easily be ported between different phone models. But they are ofcourse going to give up (relatively) easy portability in favor of designing games for the Apple iPhone uberdevice exclusively.
Lies. It installs 3 browsers Firefox, Epiphany and links. Epiphany and links, which is a text-based browsers, would have sufficed except that Epiphany's developers took a number of anti-userbase decisions (backspace key doesn't go page back, for example) which makes it unsuitable for a lot of people. 4 image programs, GIMP, gThumb, f-spot and Eye of GNOME. All different from each other but not different enough to require four programs really. 2 word processors, Abiword and OpenOffice Writer. Then some more redudancy.
obviously, this hack is contemporaneous with the whole tibet riots/ olympic torch protests. that's the meat of this story, and that avenue seems unexplored as of yet. similar to the russian ddos of estonia due to the deprecation of a war statue in 2007 [slashdot.org]: Please don't spread this unsubstantiated rumour. The only one who ever was found guilty of the dos attacks was an Estonian Russian script kiddie. The other allegations about Russia launching a cyber attack on Estonia were just that, allegations with no evidence what so ever.
Correct, but then you should never fix crasher bugs either. Because it is a mistake and you will never achieve 100% uptime. Use distributed computing instead.... Your argument is flawed. What happens if you have a dual node system and one node suffers a critical software failure while the other is rebooting due to a patched kernel? Your system suffers downtime that it otherwise wouldn't have if it had hot patching.
Sometimes it is, sometimes it is not. C99 was a standard long before there were any complaint implementations, same thing with CSS2 and 3. Not to mention Ada 83 which was specified a decade before there was an implementation because the spec designers didn't understand how hard the language they wrote was to parse. Or the different dialects of SQL, some which were standardized two decades ago but there is still no implementation working as specified in the standard. Or all the RFC:s for different protocols, many (maybe most) which has no complete implementation.
The question in the summary is a red herring, there are hundreds of rushed through ISO standards with no conforming implementations. OOXML is not alone in that regard. That is not to say that it is a good way of developing specifications, it isn't. JCP has a better alternative. The spec lead has to release a reference implementation along with a sufficient test suite with their spec. That is the price they have to pay to push their technology into the J2ME platform. It reduces the competetive advantage they gain by having their cool stuff standardized.
Similarily, if Microsoft had to release a free reference implementation and a test suite along with OOXML I don't think anyone would have complained one bit about the spec.
Not true, write speed isn't all that important. The reason why hard disk drives are such huge bottle necks is because reading data is a synchronous operation. When you read a file, you do so because you need to do something with its data. Right now, not some time in the future. So your program has to wait (block) until the hard disk has finished reading all data. Depending on how far the disk head has to seek, the wait may take a huge amount of time. Writes cannot usually be performed asynchronously though - because they need to conform to the api presented. e.g. close() or sync() guarantee the data is written to non-volatile storage, whatever that may be. Being able to cache bits of the write in memory may help but at the end of the day it's all gotta be stored once close() returns, so it makes no real difference to many applications apart from being able to better store the data on disk. e.g. a compile writes files which are read by another programme later. Er.. close() does not guarantee that any data has been written at all. sync() guarantees that the kernel has flushed its in memory buffer, but it does not guarantee that the disk controller has flushed the write cache. Writes does not block unless your program is stupid enough to wait for it to complete. For the compiler example, gcc writes.o-files from source which ends up in cache (=fast). Then when it is time to link, it reads them all to build the executable or library. Reads are synchronous so now gcc has to wait for the disk to do some work. Now those.o-files has to be written to disk. Since they are all written at the same time, the operations are orders of magnitudes faster than if they would have been written one by one.
Not true, write speed isn't all that important. The reason why hard disk drives are such huge bottle necks is because reading data is a synchronous operation. When you read a file, you do so because you need to do something with its data. Right now, not some time in the future. So your program has to wait (block) until the hard disk has finished reading all data. Depending on how far the disk head has to seek, the wait may take a huge amount of time.
To put it in perspective: when the CPU accesses a register, it is like one neuron talking to another in your bran, to fetch something from cache memory is like asking someone on the other side of the room, memory access would be asking your neighbour. Disk seek would be walking from London to ask someone in Istanbul.
Writes on the other hand, are much less expensive because they can be performed asynchronously. There is no reason for your program to block and wait until the hard disk has written all data, there is no urgency at all involved. The data is written to a cache in memory which the kernel periodically unloads to the disk controllers cache which in turn writes it. Writes are kind of like asking your next door neighbour to book a freight plane because you have some important goods that needs to be shipped to Turkey soon.
AFAIK, his INT score shouldn't be higher than 9.
I'd also say 16 isn't his rolled CHA score; he couldn't possibly have rolled more than 12. At best.
All the rest is the doing of a few magical items, circumstance bonuses and followers. Impossible, the Diebold optical scanner validated his character sheet. And you are just a sore loser.
The premise of the question is wrong. There doesn't HAVE to be a business model at all for ISP:s. Currently, no matter what connection you have, what you pay for is NOT for your big fat pipe, it is for the ISP to run the billing. It costs ISP:s a lot more to employ accountants, collect user data, keep customer databases, marketing and send bills than it costs them to deliver traffic. A tiered internet, or a pay-per-megabit system would just add to the overhead as ISP:s would need to employ more accountants and implement more monitoring systems to track exactly how many megabits their users transfer.
Kind of similar to how Nike shoes doesn't cost many Euros to produce using the Chinese child labour they employ, but are marked up hundredfold. But the case with ISP:s is even more egregious because they are all 100% government sponsored institutions. Governments either built all the infrastructure or heavily subsidized telecom companies to do it. The net is public property and companies really have no moral rights to charge money for it.
still, right now my non-smart sonyericsson Z710 can have j2me stuff running in the background. i can have a im client (ebuddy) running while doing other stuff.
the funny thing is that the only app that cant be backgrounded on that phone is the built in browser. the built in mail can, but not the browser for some odd reason... I believe the camera application can't either. Basically both those apps lock some important resources that can't be shared between applications. Multitasking is definitely not perfect, but at least it works for most midlets.
When I worked for Sony Ericsson there where some German security researcher (probably students had done the real work) privately let us know that there was a critical security flaw in the firmware. Something that, according to his email, could compromise the whole platform, make IMEI spoofing possible, steal credit card numbers and what not. He gave us three months to come up with a fix before going public with his findings. The only problem was that the only technical information he provided us with was that "the problem is in the filesystem." So.. uuuh.. great. So somewhere in those millions of lines of C code there is a problem? No description on how to reproduce whatsoever.
Naturally, we still tried to find out what the hell this critical security flaw was before he would go public and raise doomsday upon us. We failed of course. Turns out there was a problem, but not in the file system, but in the Java layer which runs in a protected environment so basically nothing harmful could be done with the exploit. Except maybe unlocking some operator locked down j2me features. The bug was fixed though, but I don't think it was even backported to the maintenance branches.
I'd assume a much more high-profile company like Microsoft is approached by such security researchers on a daily basis. They are no holy Samaritans and the best way for a researcher to make a name for himself is to make a security flaw public. There are probably those too that are driven to make the world a safer place, but I'll bet those are the minority...
Buying a sexy mainframe with real hardware support, the kind where they send out a guy who knows what he's doing, 3 minutes after you call, and he's got the new part installed in an hour and a half or your money back...That stuff is priceless if you really really need your system to be reliable. I can definitely see why they're still around.
Uhm... So when something goes wrong, you have to sit and twiddle your thumbs for one and a half hour waiting for a tech to fix your system? That's not a very good argument in favor of mainframes.:) I wouldn't call that very reliable either. It also demonstrates what is wrong with mainframes, why they are old and outdated technology. They represent a single point of failure. Stuff goes wrong and when it does, you're fucked. For really critical, high availability systems, telecom switches for example, you use redundant distributed servers. Even if a mainframe offers you 99.999% uptime, it is still trumped by five redundant server nodes that each offer 99% uptime.
Blade servers are the future. And yes, they run Linux and MySQL on shiny Dell commodity hardware. They are infinitely more scalable and many times as robust as mainframes. Any PC repair tech can unplug and insert a blade so you don't have to wait for an IBM technician to show up. Plus, it is easy to design in redudancy by merely adding a few redundant blades so that in case of a hardware or software failure the system is still operational.
Is this comparision fair? In my community every building is connected to the cable tv network. Renters have to pay an additional fee to see cable. If you don't want cable tv, the company sends out a tech that installs a filter behind your antennae socket. So we are basically paying extra for not receiving a filter in the wall socket. Is that too customers getting fleeced?
I'll close with a somewhat depressing fact: Regular expression and string processing can be done quickly and efficiently (and was done that way back decades ago, with grep and awk), but is actually done in a horribly inefficient way [swtch.com] in all modern/popular programming language regexp engines. That's not true. To get the exponential runtime from your regexps in a pcre-style engine, you have to write some wicked bad regular expressions. In Real Life(tm) backtracking engines are just as good as NFA's. Plus, backreferences are hard to implement using NFA's so you must resort to backtracking them anway. Which is why the authors of Perl's, Python's and PHP:s regular expression libraries have choosen to use recursive backgracking -- it is much simpler and you get the same performance for non-pathological cases.
Oh no, private companies should run the internet. Just like they do your medical system, army and education system. Everything works much better when the government just hands out large sacks of money to companies to run internet. Even this article is proof of how well it works! The writing's on the wall. Now everyone sees how bad Comcast is, so they will go bankrupt and some other company will replace them. Go market forces!
While that is true, it is also true that the situation in Europe is very different from the US. Western European countries have large built out mostly under-used 3G networks so carriers offer fairly cheap access for mobile broadband. 7 MBit for 19/month is not that bad. And at least in Sweden, free wifi hotspots isn't that common. The fee at hotels is about 20/week and on the train it is 10 for a 5 hour ride. Both wifi and mobile operators are trying to screw you so you just have to roll with the one that manages to screw you the least.
And before that there were irony paranthesis. (. Irony, irony. Etc. .)
You are wrong.
Censorship is the correct word to describe the practice of a third party deleting or reediting publications. Google for it. If you choose to assign it a negative connotation to the word, that is your prerogative.
FutureMap: This program hoped to use a kind of terrorism futures market to predict key developments and even attacks. It was thought market valuations of possible future events could reflect the probability of their occurring. However, FutureMap was scrapped in 2003 after the notion of betting on terrorist atrocities was called "ridiculous and grotesque" by US politicians.
I really wanted to see if it would work - grotesque or not. It intrigued me that a "market" could be formed for things that aren't being bought and sold. And I wanted to see if the market could predict things.
Um.. or maybe the idea didn't sell because there is absolutely no logic to it? If share prices go up for "terrorist incident in country X" does that mean that it becomes more likely that a terrorist incident occurs in said country? No. It just means that the share price went up. If Al-Qaeida says that they are planning to blow up something in country Y and that causes the share price to sky rocket, then yeah, the "market" worked. But you don't need a bloody stock exchange for that!
Plus, you would need thousands of players playing this stupid zero-sum game and essentially doing the same job that one terrorism analyst could do hundred times better.
But without knowing what your project is, it is hard to know what you are doing wrong. Because you probably are doing something wrong if your project is generally useful but noone is willing to help. I also run an open source project (on a really slow site so no link :)) and have gotten quite a lot of code contributions from other people. Here are some tips on what I did to try and attract people. Take it with a grain of salt, I know nothing about nBody modelling.
Presentation is everything! If you can't convey interest to a potential contributor in less than two minutes after they have visited your site for the first time, then you have lost. You need to present your project in the most favorable way possible. You need to show me why I would want to use your code, why I would want to choose your modelling package over any of the hundreds of alternatives. I found no screenshots, no API documentation or tutorials during the ten minutes i spent browsing your project. Just a lot of text. Boooring!
In the same vein as above, you need top quality documentation. And it needs to be very visible. Preferably a front page link. One reason why the parser generator Bison is so popular is because it includes a detailed introduction to language parsing in general. So if you want your toolkit to be popular a good idea is to include an easy introduction to nBody modelling.
Present what your project is capable of doing, or what tasks it is supposed to solve. Can i write a space flight simulator using your library? Can I write a Python wrapper? I don't know.
If I get seriously interested in nBody modelling then I'm likely to want to contact you with questions about the code, bug reports and patches. But your email address isn't available. I know you have an issue tracker but that is no substitute for email. New people often perfer personal communication.
One thing I noticed is that you are using CMake for building, which is cool. But most people aren't as used to CMake as to autotools and make so you need to provide explicit and complete instructions for building your project. It is little details like that that makes your project much more appealing for potential developers.
And last (because it is not so important), use dependencies. For example, if you can use the hash table implementation in glib instead of writing your own. Then do so! You might be able to write a good hash table in less than 400 lines, but by using glib's hash table you just saved yourself from maintaining 400 extra lines of code. There are probably both particle and linear algebra packages you could depend on to make the burden of maintaining your code easier for you.
The big fear is that with more people, we in the industrialised world will have to stop squandering resources. If everyone in China owned a car, things would get rough for the environment. If you divide the earths area with the worlds population, that gives each person about two football fields of land to use. Discounting the fact that most of the worlds surface is oceans, deserts and mountains which are mostly not arable. I probably go through two football fields just for the paper coffee cups I use at work everyday.
And there can be no food shortage, just a fairness shortage. The EU has for decades dumped its agricultural surplus in the Third World because state subsidies has made farmers overproduce. It has destroyed the native agriculture which hasn't been able to compete with imported foodstuff. That is the direct cause of the food shortage they are experiencing. Hail globalization.
How cute! An input system that makes texting take 10 times as long as using the keypad. Fantastic! I'm sure it works perfectly for Doom RGP and other popular mobile games. Oh and no other mobile phone as decent power and 3D capabilities, the iPhone is way ahead of the competition there.
Then there is the little fact that there are already hundreds of ISV:s developing mobile games using the J2ME platform so that they can easily be ported between different phone models. But they are ofcourse going to give up (relatively) easy portability in favor of designing games for the Apple iPhone uberdevice exclusively.
Your belief in stock market valuations meaning something at all in the real world is quite interesting.
Lies. It installs 3 browsers Firefox, Epiphany and links. Epiphany and links, which is a text-based browsers, would have sufficed except that Epiphany's developers took a number of anti-userbase decisions (backspace key doesn't go page back, for example) which makes it unsuitable for a lot of people. 4 image programs, GIMP, gThumb, f-spot and Eye of GNOME. All different from each other but not different enough to require four programs really. 2 word processors, Abiword and OpenOffice Writer. Then some more redudancy.
Correct, but then you should never fix crasher bugs either. Because it is a mistake and you will never achieve 100% uptime. Use distributed computing instead.... Your argument is flawed. What happens if you have a dual node system and one node suffers a critical software failure while the other is rebooting due to a patched kernel? Your system suffers downtime that it otherwise wouldn't have if it had hot patching.
Sometimes it is, sometimes it is not. C99 was a standard long before there were any complaint implementations, same thing with CSS2 and 3. Not to mention Ada 83 which was specified a decade before there was an implementation because the spec designers didn't understand how hard the language they wrote was to parse. Or the different dialects of SQL, some which were standardized two decades ago but there is still no implementation working as specified in the standard. Or all the RFC:s for different protocols, many (maybe most) which has no complete implementation.
The question in the summary is a red herring, there are hundreds of rushed through ISO standards with no conforming implementations. OOXML is not alone in that regard. That is not to say that it is a good way of developing specifications, it isn't. JCP has a better alternative. The spec lead has to release a reference implementation along with a sufficient test suite with their spec. That is the price they have to pay to push their technology into the J2ME platform. It reduces the competetive advantage they gain by having their cool stuff standardized.
Similarily, if Microsoft had to release a free reference implementation and a test suite along with OOXML I don't think anyone would have complained one bit about the spec.
Not true, write speed isn't all that important. The reason why hard disk drives are such huge bottle necks is because reading data is a synchronous operation. When you read a file, you do so because you need to do something with its data. Right now, not some time in the future. So your program has to wait (block) until the hard disk has finished reading all data. Depending on how far the disk head has to seek, the wait may take a huge amount of time.
To put it in perspective: when the CPU accesses a register, it is like one neuron talking to another in your bran, to fetch something from cache memory is like asking someone on the other side of the room, memory access would be asking your neighbour. Disk seek would be walking from London to ask someone in Istanbul.
Writes on the other hand, are much less expensive because they can be performed asynchronously. There is no reason for your program to block and wait until the hard disk has written all data, there is no urgency at all involved. The data is written to a cache in memory which the kernel periodically unloads to the disk controllers cache which in turn writes it. Writes are kind of like asking your next door neighbour to book a freight plane because you have some important goods that needs to be shipped to Turkey soon.
I'd also say 16 isn't his rolled CHA score; he couldn't possibly have rolled more than 12. At best. All the rest is the doing of a few magical items, circumstance bonuses and followers. Impossible, the Diebold optical scanner validated his character sheet. And you are just a sore loser.
The premise of the question is wrong. There doesn't HAVE to be a business model at all for ISP:s. Currently, no matter what connection you have, what you pay for is NOT for your big fat pipe, it is for the ISP to run the billing. It costs ISP:s a lot more to employ accountants, collect user data, keep customer databases, marketing and send bills than it costs them to deliver traffic. A tiered internet, or a pay-per-megabit system would just add to the overhead as ISP:s would need to employ more accountants and implement more monitoring systems to track exactly how many megabits their users transfer.
Kind of similar to how Nike shoes doesn't cost many Euros to produce using the Chinese child labour they employ, but are marked up hundredfold. But the case with ISP:s is even more egregious because they are all 100% government sponsored institutions. Governments either built all the infrastructure or heavily subsidized telecom companies to do it. The net is public property and companies really have no moral rights to charge money for it.
When I worked for Sony Ericsson there where some German security researcher (probably students had done the real work) privately let us know that there was a critical security flaw in the firmware. Something that, according to his email, could compromise the whole platform, make IMEI spoofing possible, steal credit card numbers and what not. He gave us three months to come up with a fix before going public with his findings. The only problem was that the only technical information he provided us with was that "the problem is in the filesystem." So.. uuuh.. great. So somewhere in those millions of lines of C code there is a problem? No description on how to reproduce whatsoever.
Naturally, we still tried to find out what the hell this critical security flaw was before he would go public and raise doomsday upon us. We failed of course. Turns out there was a problem, but not in the file system, but in the Java layer which runs in a protected environment so basically nothing harmful could be done with the exploit. Except maybe unlocking some operator locked down j2me features. The bug was fixed though, but I don't think it was even backported to the maintenance branches.
I'd assume a much more high-profile company like Microsoft is approached by such security researchers on a daily basis. They are no holy Samaritans and the best way for a researcher to make a name for himself is to make a security flaw public. There are probably those too that are driven to make the world a safer place, but I'll bet those are the minority...
Those figures must be very old. Last I saw, the US's share was 16% of the market, comparable in size to Europe.
Uhm... So when something goes wrong, you have to sit and twiddle your thumbs for one and a half hour waiting for a tech to fix your system? That's not a very good argument in favor of mainframes. :) I wouldn't call that very reliable either. It also demonstrates what is wrong with mainframes, why they are old and outdated technology. They represent a single point of failure. Stuff goes wrong and when it does, you're fucked. For really critical, high availability systems, telecom switches for example, you use redundant distributed servers. Even if a mainframe offers you 99.999% uptime, it is still trumped by five redundant server nodes that each offer 99% uptime.
Blade servers are the future. And yes, they run Linux and MySQL on shiny Dell commodity hardware. They are infinitely more scalable and many times as robust as mainframes. Any PC repair tech can unplug and insert a blade so you don't have to wait for an IBM technician to show up. Plus, it is easy to design in redudancy by merely adding a few redundant blades so that in case of a hardware or software failure the system is still operational.
Is this comparision fair? In my community every building is connected to the cable tv network. Renters have to pay an additional fee to see cable. If you don't want cable tv, the company sends out a tech that installs a filter behind your antennae socket. So we are basically paying extra for not receiving a filter in the wall socket. Is that too customers getting fleeced?
Oh no, private companies should run the internet. Just like they do your medical system, army and education system. Everything works much better when the government just hands out large sacks of money to companies to run internet. Even this article is proof of how well it works! The writing's on the wall. Now everyone sees how bad Comcast is, so they will go bankrupt and some other company will replace them. Go market forces!
While that is true, it is also true that the situation in Europe is very different from the US. Western European countries have large built out mostly under-used 3G networks so carriers offer fairly cheap access for mobile broadband. 7 MBit for 19/month is not that bad. And at least in Sweden, free wifi hotspots isn't that common. The fee at hotels is about 20/week and on the train it is 10 for a 5 hour ride. Both wifi and mobile operators are trying to screw you so you just have to roll with the one that manages to screw you the least.