FWIW, Android also leaves it up to the handset manufacturers to decide whether or not a particular piece of functionality is available. However, it provides a simple and standardized mechanism to determine whether or not it is, and use it if it is there.
And besides this, even just having a single VM with a single set of bugs will seriously simplify things - right now entire companies exist for the purpose of making J2ME code run on enough phones to take the thing to market (I know - my brother works at one), and the process is anything but simple.
Google cares little either way about fragmenting Java - what they want to avoid is fragmentation of Android, and I think they will accomplish this, more or less. They just decided that J2ME didn't do it technically for them. As far as the license, I think they wisely realized that Apache would be seen as more business friendly, and it leaves service providers with the illusion that they can still lock everything down.
Illusion? Yup - in practice, this will be extremely difficult. IMO, Google's play is to make a huge fuss about how open the platform is, and get a whole crapload of software written for it that requires fully unlocked phones in order to operate, which will all exist before the first phones even come out. They're even dumping $10 mil into this, and I all but guarantee you that most of those 50 finalists will be using all the cool API features that providers would be happier to lock independent developers out of. By the time phones hit the market, people will be so used to seeing all the sweet things that full Android phones can do that it would be tactical suicide for a phone company to release crippled versions - they would be instantly accused of misleading their customers, with very good reason. I'd be freaking pissed if I was expecting to get a phone that could run all sorts of free map-based software with P2P gaming and all that fun stuff, and when I picked one up none of the software I was promised (implicitly, by their marketing of it as an Android phone) would run.
Think about it - what are the buzzwords associated with Android as far as the press releases go? 1) Open, and 2) Business-friendly. These are largely mutually incompatible, but a lot more people will be pissed if the phone companies strip out 1), so they will have no choice but to succumb to a different business strategy. Google is going to force their hand by making their customers insist on keeping the phone open, just watch - it's rather clever, if you ask me, and I hope it works.
In the market Google is targeting (higher-end smartphones - note that their reference platform and a number of initial handsets are made by HTC, they do *NOT* do low-end cripplephones.), no one develops in Java. If they try to target the Windows Mobile/Symbian market segment without making native code easy, they're toast.
Okay, you may actually be right here about smartphone devs, I'm not sure - I was thinking of the aptly described "cripplephone" market, not the higher end one, I suppose I assumed it was the same at the top, too, since I've never even used one of those phones before.
But I still don't think they are killing their hopes here by going with Java. They can get plenty of competent Java developers working on software for their phones even without targeting people that already do mobile development - people are always pointing out that overall, many more Java jobs are available than C++, and if at most colleges at the moment, students end up doing tons of Java, so it's a very familiar language to most people. Google may be offending the "serious" mobile developers of today, but frankly, those programmers are a tiny minority of programmers overall, and to appease them would require native code, which would require micromanaging which apps are allowed on the phones so as to avoid a security nightmare - that sort of lockdown exactly the reason most smaller shops can't do Symbian dev, so I think it would be a mistake to go that route. Since the learning curve for Android is much shallower than that of Symbian or Windows Mobile, I think a lot more people will end up developing applications overall for Android, and that, to me is a good thing.
The funniest part about this? If you look at the comments that this article has spawned, the overall quality is about as low as I've seen on Slashdot for quite some time now.
Perhaps there is no way to talk about stupidity without causing stupidity to be created anew?
I'm assuming (need to confirm) that Android is primarily developed using native ARM code, it just happens to include a Java VM for all those legacy MIDlets running around out there.
Err, no. Everything about Android, at least from the POV of a developer for applications on it, is Java. Think about it - why on Earth would you allow native code when one of your primary goals is system security? Maybe you could figure out a way, but it doesn't seem like the best thing to do.
I don't think the way Google has done this is such a terrible move, basing it all on Java. Most mobile application developers are already doing their work in Java, except for the unlucky ones that are stuck with the mess that is Brew. It remains to be seen how performance is on these things, of course, but to some extent, having a rich body of applications will force cellphone manufacturers to build actual power into the phones. I guess we'll ultimately have to wait and see, though it sucks for developers that they won't have any idea about performance for a whole year...
Having done a quick pass through the docs, it doesn't look like there's much info on the VM, other than that they're calling it the "Dalvik VM" (a Google search doesn't turn up much - Dalvik is just some place in Iceland, so it's likely they just chose the name).
I don't know that I can agree that everyone should just calm down - a lot of people moved their Java development over to OS X because Apple made a huge deal about what a fan-freaking-tastic platform OS X was to code Java on. But 11 months later than the Win/Lin release? Come on now...that kind of delay does not indicate that they are taking developers very seriously, especially since said developers have been explicit ever since the ridiculous 1.4 delay about the fact that being up-to-date with Win/Lin is crucial to them. If they are not putting enough resources behind this to get the new version out in a timely manner, then it's pretty clear how much they care about the customers making the requests, and I think these customers are right to be a little pissed.
Mac is a great platform, but if you're trying to stay on the cutting edge in Java, you need to be running Windows (Linux, meh - bugs always take a lot longer to disappear from the Linux JVMs than the Windows ones, so...). Lucky for me, most of my work is 1.4 targeted so it doesn't really matter.
This is going to sound condescending, and it's not; I actually want to know more about this post. What is the purpose? Did you just sit around all day waiting to get one of the first posts so that you could cut n' paste this in? Do you have a program set up to let you know when a new topic is available, or do you just reload over and over? Are your posts pre-planned? I'm not just insulting you, I am actually genuinely curious to hear what the though process is that ended with you hitting "Submit" after putting that into the text box. I'm also curious as to whether you also post under a regular name, and how often - even if you don't give up your real name, can you anonymously enlighten me, "pwease?"
Am I the only one here fascinated (and horrified) at the amount of thought and effort some of these degenerates put into quickly coming up with vulgarity?
I wrote a complicated loop that did...[snip - a whole bunch of stuff]. He used an array list and Collections.shuffle(). Now I know better for next time.
I don't know about that, in my experience anything that is built in to Java is probably best rewritten anyways, at least if you care at all about how fast your stuff runs (I'm a simulation weenie, so to be fair, my POV may be biased too far in favor of speed than the average programmer, which of course does make one wonder why I ever decided to use Java for anything).
Speed issues aside, given that this was an assignment for the class, before you beat yourself up over taking too long on that program, which one of you do you think learned more from the exercise? When you enter the real world and have to start using the next new trendy spinoff language of the month for some company's Hi Tech Superweb teh 3.0 plus Social Networking and Oh, Did We Forget to Mention Web 3.0? offering, (you know, you'll be using that Perfect Language that never has built in support for reasonable methods of array handling or anything else that programmers actually find useful, though [SNAP!] it has things like closures and a Better Method of Variable Scoping - that's actually not a dig at Python, BTW, which I happen to quite enjoy), which one of you do you think will be better prepared?
School is perhaps the best and only time to forget about the work everyone else has done before you, and reinvent the wheel from scratch each time you need it. When you need to be productive, that's when you use Collections; while you have the luxury to take the time to understand things, it sounds like you're the one with the right approach. Enjoy it while you can, it will make you a much better programmer than memorizing the available built in functions that your current language of choice makes available.
See, I think the problem in all of these threads is that blckbllr is arguing things based on what the patent system is in practice (I assume he is involved in patent law in some way); everyone else is arguing from the point of view of what it should be in a perfect world. Blckbllr sees everyone as hopelessly ill informed, sticking their noses into a subject that they don't understand, whereas everyone else sees him as too personally invested in a broken system to see what's so obviously wrong with it. Both sides are probably a little bit right.
In the opinion of a lot of people here, a patent should probably only apply to something that is somewhat difficult to do for someone competent in the field. They (we) feel that if you handed a fairly obvious task to 100 decent programmers and 90 of them almost immediately came up with (in, say, a few minutes) and implemented (in a few days) roughly the same solution without any references or collaboration, then that solution should certainly not be patentable (ahem, marching cubes, anyone?). That should be true regardless of whether you happen to be the first one to take on said fairly obvious task. We also feel that you should not be able to patent a mere problem in need of a solution. Certainly we feel that coming up with one solution to a problem should not mark the entire problem as off-limits, but only that one solution. And yes, some of us do appreciate the difficulty in setting limits here: sometimes the difficult work is in the formulation of the problem, and a proper statement of the problem is in some respects equivalent to the solution. This should not necessarily prevent such a solution from being patented. But we feel that the current system sets the bar far too low, and considers many obvious problems to be novel enough to be patent-worthy, and in practice that often means that the first person to stumble across some stupid problem that for whatever reason hasn't needed to be solved yet (usually because enabling technologies weren't in place to even allow formulation of the problem, or market conditions didn't require the problem to be solved at the time; either way, the problem often literally didn't exist for very long...see one-click shopping for a perfect example) gets to stake ownership on it, even though they haven't done anything useful at all except get there first and plant the flag.
Even if crap like this is perfectly legal and right within the US patent system, that's beside the point. It shouldn't be. It doesn't help anyone except the trolls. I'm not naive enough to think that the system is really supposed to primarily a) help "stimulate" innovation or b) be completely and utterly fair, but I think when it's failing badly on both of these counts it indicates a problem.
Okay, I'll agree with the mods that the parent was a rather transparent troll and should probably be modded as such.
That last sentence does have some sort of filthy charm to it, though, to give credit where due...can't say I didn't chuckle, just a little bit. The addition of "rotten" really did the trick, if I had to put my finger on it.
I really can't believe you didn't get even a single funny mod for that one...good stuff, so sad and so true. This is the main reason I've tried to avoid this shitfling lately, it's just impossible to argue anything when the opposing side is either too stubborn or too lazy to figure out what the words you're speaking at them actually mean before declaring you're wrong.
It's got to say something that talkorigins.org links to just about every big creationism/ID site out there, and someone there has clearly actually read all the crap, yet links for some reason never flow the other way...I get the sense that at least 90% of the most vocal complainers on this topic have never actually read a legitimate explanation of evolution, let alone understood it.
Another simple task the anti-evolution crowd is apparently incapable of performing: a Google search. All but a very slim majority of the common critiques of evolution are quickly dispensed with by literally cutting and pasting the complaint into Google and clicking through to the first result. This is actually the first box to mark on my mental checklist when I discuss this stuff with someone: if I know, off the top of my head, that their criticism is firmly refuted beyond any reasonably intelligent person's doubt by the first Google result on the "obvious" relevant phrase, then the person is an idiot, at least about this topic, and the conversation ends there. So far nobody has ever made it past the last element of my checklist, which is "Does this person actually have an alternative useful theory in mind, one that could conceivably teach us something about the way the physical world works, or do they merely wish to see evolution burn in hell alongside Richard Dawkins?"
Knowing something about both theories (I briefly considered going into one or the other), I agree with most of what you say here. But I think it's also worth pointing out that a major thing string theory has going for it is that it's to a very large extent the "obvious" extension of good old quantum field theory, though some garbage snuck in along the way (which actually provides a lot of the sexiness of the theory, i.e. the stuff that Discover can expect somewhat knowledgeable people to follow a layman's explanation of). The thought process essentially goes:
1) Hmm, we've been doing things with point particles, but hey, these action integrals seem to just depend on the area swept out. Maybe we can generalize this! 2) Oh, that's unfortunate. When you do it with a string, the theory isn't consistent unless we have 26 dimensions. Crap. 3) Hey, what if we call this a brilliant insight into the workings of the universe instead of taking it as proof that our theory is wrong? 4) Crap. There's absolutely no way a bosonic (err, for the non-physics dork, I guess the closest translation would be "normal") string can describe our world, even in 26 dimensions. 5) Eureka! Let's just throw a bunch of extra random stuff in the stew - membranes, extra dimensions, and supersymmetry, OH MY! - the make up the rules as we go, and we'll end up with a theory that's so flexible it can accomodate ANYTHING! We just need to make sure NEVER to actually set down a bunch of postulates or fundamental rules for our theory (aka: the first rule of M-theory) This is sweet! A little bit of the anthropic principle can save us in a pinch. 6)... 7) You've been reading Slashdot long enough to know what comes next
I kind of joke, but there's a grain of truth in this story...the point, though, is that the underlying language that things are described in is very similar to what physicists already know, so there are reasonably easy paths in to the theory for most physicists. On the other hand, LQG starts with a very obscure formulation of general relativity and turns it into some truly bizarre stuff, to the level that it takes more of a mathematician than a physicist to even get the gist of the theory. A normal physicist would have to do quite a bit of background work to figure out even the basics, whereas string theory is "easy" enough to jump into that there are some undergraduate classes in it at the better schools across the country.
My opinion is that both are definitely worth studying, but neither is probably 100% correct. Though I can just about guarantee you, whatever turns out to be correct, string theory will redefine itself as it and claim it was right the whole time.
Hm, it's odd - I do seem to remember having read an excellent description on conjugate gradient somewhere, at some point during my undergrad years, but now I can't seem to find it anywhere. Perhaps it was in a textbook or something, I can't remember. In any case, that paper seems very clear, though honestly, it's a bit long for an explanation of a single algorithm (I guess the problem is that it goes through most of the prerequisite knowledge, too, whereas a textbook treatment could leave all that stuff to the earlier chapters).
Anyhow, on the general topic of science/math writing, I'm surprised that fewer people have mentioned Richard Feynman. Pretty much all of his writings, from "Six Easy Pieces" to his freshman lectures all the way up to his published papers exhibit a clarity, simplicity, and sense of enthusiasm that is unmatched by just about any other technical writer out there. His less technical (i.e. more personal/humorous) stuff is also quite fun to read, and maybe a bit more palatable to people early in their educations, though I even think Six Easy Pieces is easy enough for kids just about to hit high school. In my opinion, he was the best person out there to really bring complex topics down to earth - I don't think any other physicist in his right mind would try to explain quantum electrodynamics at a level that doesn't even involve calculus, and it's really amazing to me that when all is said and done, he actually succeeds in giving it a fair (if not very detailed) treatment at a level where a mathematical person could just about generate the entire mathematical theory themselves but a lay person can at least grasp the basic idea.
Roger Penrose's recent physics tome, monstrous and threatening as it may be, was also quite a good read. I think it does an excellent job at proving that even the most complex of mathematical topics can be broken down into easy to digest pieces that actually have some good intuition behind them. Unfortunately, the damn book is so huge and the scope is so broad that it's a little bit threatening even to those with pretty good math backgrounds - definitely not one for the kids! But it is a step in the direction of simplicity in explanation, at least, good for someone interested in learning to explain things without complicating them to read.
Which brings up a good point...why the hell is the Red Cross pushing this at all? It seems like if we assume that the thing is a valid trademark at all, it belongs to JNJ in the US. The Red Cross very clearly violated their agreement with JNJ, so it would seem the only possible way they could not be found guilty of something would be if the trademark was ruled generic (which, to me, seems like it's certainly not out of the question, since I doubt that most people know the symbol has anything to do with JNJ specifically at all). But this would screw over the Red Cross as much as JNJ, so why would they even want to go there? It just doesn't make sense, unless you assume that these are just sour grapes over the fact that JNJ has the rights to "their" symbol.
For Johnson and Johnson's part, they are really in a no-win situation here - they either have to drop the issue and expose themselves to shareholder lawsuits (not protecting a trademark is a pretty big no-no, so I don't think this is actually a choice for them) or be seen as bullying a charitable organization (most people won't realize that it's the Red Cross that really started this fight because it wanted to squeeze money out of IP that it didn't actually own). I don't see this as an evil move on their part as much as a necessary one...
Anybody that's using floating point variable to represent real, actual money should be shot in the buttock. Either use fixed point (in which case I suppose your criticism still holds) or a linked list to represent the decimal digits that you are concerned with (in which case you're only limited by the amount of memory on the computer, which would almost certainly be large enough to hold whatever number represents the winnings by the time you've actually achieved them, assuming we can hot-swap memory chips every couple thousand years or so while you keep flipping that coin). Yup, you've got to deal with arithmetic yourself, but when the alternative is that dollars and cents start disappearing in large accounts because your number format has crappy precision, there's really no option.
I absolutely agree with you. Bubble? Please, that would require a period of wild, unsubstantiated growth leading in, especially for a drop bigger than the last one. Look at the Nasdaq as compared to the S&P and Dow. When the tech bubble popped, it's like a freaking dagger pointed to the sky on the chart. Compared to the rest of the market, it would take an idiot to think that level of growth was sustainable (broad market indexes should never double over the course of a year, and that's just common sense). But put your hand over the dagger, you'll see that since that time, everything has settled almost exactly back in line with the pre-bubble growth curve, so that if you did a simple exponential extrapolation in 1995 of where the market would be today, you'd be within a few percentage points either way.
This is not a bubble, no way no how. A bubble is when things are irrationally good and then get bad as a result - you can't have a pop without some pressure. Right now things are exactly where they should be (given the assumption that the century long trends are sustainable, which is somewhat questionable - in any case, what breaks that cycle will have to be a lot more significant than a few websites trying to make it on ad revenue), so there's nothing to be particularly worried about.
Housing, on the other hand, we could talk about...
A lot of folks think you shouldn't waste time memorizing things when you can always look things up. However, if you memorize nothing, then you have no foundation on which to build new knowledge. I teach an advanced middle school math program which mixes rote and synthesis because I believe both skills are crucial.
Part of me agrees with you - I do think that at the middle school level memorization is necessary because you need some minimal base of knowledge to draw from in order to do any sort of higher level thinking. But once you've passed that level, especially once you get to college, the actual memorization of facts is never (or at least shouldn't be) much of a focus anymore. I strongly believe that any test at that level that you could pass thanks to a cheat sheet of notes is not testing you on anything complicated enough to be worth learning at a price of 40 grand a year; and to be fair, I have no complaint there, as in my entire college career, I don't think I ever had more than a couple of these types of test (stupid freshman required courses, argh!).
I think the problem is that an over-heavy emphasis early in life on memorization (often it continues right up until the end of high school) teaches kids that the key to learning is to stare at a piece of paper and just repeat it until you remember what's on it. But in reality, when you're learning something that you'll actually be doing past the point where you're tested on it once, any of the facts that are worth memorizing will be remembered automatically simply because you've seen them so many times. It kills me when programming teachers drill kids on the meanings of various obscure keywords during the first few weeks of exposure - I don't remember the various meanings of programming terms because I studied an O'Reilly book for hours prepping for a test, I remember them because I've now been programming long enough that I've had several occasions to think, "Hm, it would be really useful if I could do X here," then looked it up for a bit and discovered that keyword Y suited my needs perfectly. After one or two such occasions, I've never had to look up keyword Y ever again, because information sticks so much better when you obtain it organically and because it's useful than when you force feed it to yourself. Similarly, I doubt many chemists remember the periodic table because of rote memorization; rather, they would remember it because they've used it so often that they can't help but do otherwise.
By the way, I'm pretty sure it's been conclusively determined that a "good memory" is little more than a genetic roll of the dice (i.e. it is not a trait that can be improved by practice - in fact, in some cases the opposite is true, especially for mid-term memorization on the order of a day or two, where the more similar things you've memorized the worse you will do on new data), so I've got to agree with the other posters that the fact that people don't feel the need to memorize certain pieces of information anymore speaks less to their failing ability to do so and more to their lessening need to; frankly, I'm not sure that that's such a problem, either.
What's very, very hard to teach is to get them to tie the little things they've memorized together into something they never knew.
Well, you definitely get credit from me for trying - while a lot of students at that age have a lot of trouble thinking above the "fact" level, it's a great service to the ones that can do so to have teachers that appreciate that ability and help them nurture it. Alas in my middle school experience these teachers were frightfully few and far between. As you said, a 90/10 balance seems perfectly reasonable to me. Keep it up!
You're right, it's not a tool's fault if people don't know how to use it. But C has been around a hell of a long time, and people have been making buffer overrun mistakes for the entire history of its existence, even those who should (and do!) know better, simply because unless it's the main thing on your mind when you're coding C it's an easy mistake to make. So I don't think it's likely that people will ever stop making these mistakes, regardless of education, because the language allows them (and to some extent encourages them).
Would you really suggest that it's better to train people to not cut their fingers off using table saws than to get them to switch to table saws with some sort of finger guard? Yeah, it's not that the unprotected ones are at fault if you slip up and slice your pinky off, but it seems perfectly reasonable to avoid the problem altogether with a little prior consideration at the tool level, especially if the extra safety modifications are easy. Though to be fair, in this case I don't know what the "best" alternative to C is, since most of the real popular languages these days are interpreted either entirely or at a byte-code level, so are somewhat slow.
You know, people always seem to be surprised that Google escapes most of the Slashdot criticism, and I'll agree that most people here don't have much negative to say about them. But even those who complain about this lack of criticism rarely have anything to offer other than 1) "Nobody ever criticizes Google, how lame is that?", or 2) "Google claims to do no evil, but how can we really be sure that they won't ever be Bad?" Rarely have I seen an actual complaint about them. So I put this to anyone offended by the positive vibes Google is getting: why exactly should we be complaining about? I've never paid Google a dime, and they've provided me many services that have truly made my life much easier (search, Gmail, maps, Google Code, etc., all of which I use practically on a daily basis). Yup, I've helped them make a profit by seeing their ads and very occasionally clicking one that interests me, and they've got a lot of data on my habits, but I've found them to be pretty up front about all of this. Where is the problem? Compare this to Microsoft, whom I've probably paid for the same crummy software once for every computer I've ever purchased, and my reward is being treated like a criminal every time Windows craps up and needs a reinstall. If you want to know why people don't have much to say against Google, it's that simple fact: they give a lot of people free stuff that actually helps them do what they need to do. If that's evil, I could tolerate a hell of a lot more of it.
Google doesn't get a blank check to do whatever it wants from me, but at the moment they have relatively few blemishes (the China thing, and the privacy issues, mainly), especially compared to all the other companies out there. The moment they start trying to screw over their users, I'll start bashing them as strongly as I would now bash Microsoft, but as long as they are behaving in our interests, why not give credit where it is due? Of course, once the current management disengages from the day-to-day running of things and the intense growth spurt that the company is seeing starts to slow, I predict a distinct shift in business style (it happens with all companies once they reach true saturation), and at that point we can probably talk about the evil that Google will do. But now? I just don't see it. Am I missing something?
Google saying that Microsoft has to make it replacable just because they want to provide one seems like a bad idea to me. Is this starting down the path that any feature in any system that we want to replace we can use the courts to force the company to disable?
Not in the least - the only reason this is even being considered in this case is that Microsoft got bitchslapped by the Justice Department a while ago because it was abusing its OS dominance to try and push its way into other markets. So there is only a case here if it turns out that whatever Microsoft is doing amounts to exactly that. Does it? I don't really know, I don't use Vista and I don't develop search offerings on it, so I'm not sure if Microsoft has been playing dirty here to try to mess up Google's desktop search. If they have been, then certainly they should be forced to stop. But merely having the feature is not enough, it would have to be the case that their feature had the effect of rendering competing offerings impossible.
Just whatever you do, don't admit to those Python people that you're originally a Java programmer - functional zealots tend to despise anyone that knows what a class is, let alone actually uses them to organize their code! Seriously, though, Python is pretty nice, but coming from a Java background it can be tricky because there are quite a few gotchas regarding scope and structure. References are dealt with in a similar way, though, and data structures are (IMO) much easier to work with in Python than Java, so there are definitely good things going on there. Definitely worth checking out.
(re: "I don't see anybody complaining about the socialised road, garabage collection, fire, police and military.")
I am.
I'm okay with ignoring the rest of the rant - though I must point out that every person I've spoken to in one of the countries with socialized health care has been thoroughly pleased with the situation and can't imagine why you would not want it - but I can't let this comment go by. Who, I must ask, do you think should be in charge of these things? Are you seriously deluded enough to think that private police, fire, or military groups would somehow improve anything? Garbage collection is fine as a private service, but roads? What would possibly improve by letting individual profit-seeking companies control where and when you are allowed to drive?
Government is best used to take care of things that are not well served by a free market, usually either because a goal is incompatible with a profit motive or because something else requires top down oversight. Services like the military are necessarily in the government's control because they require a cohesiveness and a strict chain of command that would be impossible with private militias. The police are there because of similar reasons, plus the simple fact that any body enforcing laws should absolutely never be in the position of weighing shareholders' financial desires versus the appropriate application of law. Fire stations are provided because it is in your best interest to extinguish a fire at a neighbor's house whether or not your neighbor has any ability to pay for this service. Can you really believe that any of these things would function at all, let alone better, if they were privately controlled?
Health care is another matter. Some argue that the free market is working just fine - they are usually those that are provided good health care packages by their employers and have not had their providers turn against them on matters of care. Others argue that the current system is not working very well - typically these are people who at some time or another have not been able to get health insurance for whatever reason. I'm on the line. To me, the main problem with the current system is that if your employer does not provide health insurance (or you're self-employed), there is essentially no way to get it at a reasonable price. This means that most people who don't have a serious condition already just don't get the insurance, because the likelihood of needing expensive care is just not high enough to justify spending the large amount of money on the insurance. That's not to say that I can entirely fault the insurance companies here, either, though - the only reason they raise rates for people independently purchasing health insurance is that their statistics have shown that people who buy it independently are much more likely to actually use it than those that get it through their employer. The idea being that if you didn't already know that you'd need to make a large number of claims, there's no chance in hell that you'd actually pay the outrageous rates to buy the insurance. Hence essentially, unless you're getting your insurance through an employer, if you want insurance at all you're assumed to be using it not as catastrophe insurance, but to cover a large set of expected health expenses (which kind of defeats the purpose of insurance).
The Massachusetts law in TFA is actually a good way to combat this problem because it removes the stigma (in the insurance company's eyes) associated with wanting to actually buy health care for yourself. Now it doesn't necessarily mean that you're sick and need a lot of medicine, it only means that you don't have health insurance elsewhere. So in that respect I think it's actually a step in the direction of making the product a little less expensive, though I still don't know if I think it's ultimately the "right" solution. The main problem is that mandating coverage means that should the prices go too high, consumers have no choice not to purchase, so there is quite a bit of potential for gouging here. Still, this is true of any essential service, and in theory a free market would behave quite well in this situation assuming no collusion between the insurance companies on price.
It's more about supporting the goal than it is about the payout (hey, isn't that what OSS is generally about?).
True. Though as a New Englander that might have considered attending, it would have been better if TFA had been posted before the May 20 deadline to register instead of a week late...
Most "atheists" only say they are because they think its just so cool to be a rebel. Most haven't really thought it through.
I agree with you, though I'll go further and say that most people that believe anything have not really thought it through. Face it - most of our fellow humans are either too stupid or too lazy to independently evaluate any sort of evidence. Doesn't matter if it's God, politics, science, or history; it's always easiest to swallow what the people around you believe because it makes interactions with these people more pleasant. A small number of people (like most "atheists," as you note) choose to deliberately disagree with whatever the people around them believe because for some reason or another they are offended by the crowd - I think it's fair to say that lot of these people don't want to fit in because they've already been shunned and they convince themselves that it is their choice to disengage from their peers rather than the other way around, which turns into a vicious cycle of dislike. It is the rare individual that actually thinks for himself without being swayed one way or another by those around him.
FWIW, Android also leaves it up to the handset manufacturers to decide whether or not a particular piece of functionality is available. However, it provides a simple and standardized mechanism to determine whether or not it is, and use it if it is there.
And besides this, even just having a single VM with a single set of bugs will seriously simplify things - right now entire companies exist for the purpose of making J2ME code run on enough phones to take the thing to market (I know - my brother works at one), and the process is anything but simple.
Google cares little either way about fragmenting Java - what they want to avoid is fragmentation of Android, and I think they will accomplish this, more or less. They just decided that J2ME didn't do it technically for them. As far as the license, I think they wisely realized that Apache would be seen as more business friendly, and it leaves service providers with the illusion that they can still lock everything down.
Illusion? Yup - in practice, this will be extremely difficult. IMO, Google's play is to make a huge fuss about how open the platform is, and get a whole crapload of software written for it that requires fully unlocked phones in order to operate, which will all exist before the first phones even come out. They're even dumping $10 mil into this, and I all but guarantee you that most of those 50 finalists will be using all the cool API features that providers would be happier to lock independent developers out of. By the time phones hit the market, people will be so used to seeing all the sweet things that full Android phones can do that it would be tactical suicide for a phone company to release crippled versions - they would be instantly accused of misleading their customers, with very good reason. I'd be freaking pissed if I was expecting to get a phone that could run all sorts of free map-based software with P2P gaming and all that fun stuff, and when I picked one up none of the software I was promised (implicitly, by their marketing of it as an Android phone) would run.
Think about it - what are the buzzwords associated with Android as far as the press releases go? 1) Open, and 2) Business-friendly. These are largely mutually incompatible, but a lot more people will be pissed if the phone companies strip out 1), so they will have no choice but to succumb to a different business strategy. Google is going to force their hand by making their customers insist on keeping the phone open, just watch - it's rather clever, if you ask me, and I hope it works.
But I still don't think they are killing their hopes here by going with Java. They can get plenty of competent Java developers working on software for their phones even without targeting people that already do mobile development - people are always pointing out that overall, many more Java jobs are available than C++, and if at most colleges at the moment, students end up doing tons of Java, so it's a very familiar language to most people. Google may be offending the "serious" mobile developers of today, but frankly, those programmers are a tiny minority of programmers overall, and to appease them would require native code, which would require micromanaging which apps are allowed on the phones so as to avoid a security nightmare - that sort of lockdown exactly the reason most smaller shops can't do Symbian dev, so I think it would be a mistake to go that route. Since the learning curve for Android is much shallower than that of Symbian or Windows Mobile, I think a lot more people will end up developing applications overall for Android, and that, to me is a good thing.
The funniest part about this? If you look at the comments that this article has spawned, the overall quality is about as low as I've seen on Slashdot for quite some time now.
Perhaps there is no way to talk about stupidity without causing stupidity to be created anew?
Err, no. Everything about Android, at least from the POV of a developer for applications on it, is Java. Think about it - why on Earth would you allow native code when one of your primary goals is system security? Maybe you could figure out a way, but it doesn't seem like the best thing to do.
I don't think the way Google has done this is such a terrible move, basing it all on Java. Most mobile application developers are already doing their work in Java, except for the unlucky ones that are stuck with the mess that is Brew. It remains to be seen how performance is on these things, of course, but to some extent, having a rich body of applications will force cellphone manufacturers to build actual power into the phones. I guess we'll ultimately have to wait and see, though it sucks for developers that they won't have any idea about performance for a whole year...
Having done a quick pass through the docs, it doesn't look like there's much info on the VM, other than that they're calling it the "Dalvik VM" (a Google search doesn't turn up much - Dalvik is just some place in Iceland, so it's likely they just chose the name).
I kind of doubt the Jazelle thing, though, since Warren East at ARM was talking smack about Android, and they are the ones that do Jazelle...
I don't know that I can agree that everyone should just calm down - a lot of people moved their Java development over to OS X because Apple made a huge deal about what a fan-freaking-tastic platform OS X was to code Java on. But 11 months later than the Win/Lin release? Come on now...that kind of delay does not indicate that they are taking developers very seriously, especially since said developers have been explicit ever since the ridiculous 1.4 delay about the fact that being up-to-date with Win/Lin is crucial to them. If they are not putting enough resources behind this to get the new version out in a timely manner, then it's pretty clear how much they care about the customers making the requests, and I think these customers are right to be a little pissed.
Mac is a great platform, but if you're trying to stay on the cutting edge in Java, you need to be running Windows (Linux, meh - bugs always take a lot longer to disappear from the Linux JVMs than the Windows ones, so...). Lucky for me, most of my work is 1.4 targeted so it doesn't really matter.
Wow.
This is going to sound condescending, and it's not; I actually want to know more about this post. What is the purpose? Did you just sit around all day waiting to get one of the first posts so that you could cut n' paste this in? Do you have a program set up to let you know when a new topic is available, or do you just reload over and over? Are your posts pre-planned? I'm not just insulting you, I am actually genuinely curious to hear what the though process is that ended with you hitting "Submit" after putting that into the text box. I'm also curious as to whether you also post under a regular name, and how often - even if you don't give up your real name, can you anonymously enlighten me, "pwease?"
Am I the only one here fascinated (and horrified) at the amount of thought and effort some of these degenerates put into quickly coming up with vulgarity?
Speed issues aside, given that this was an assignment for the class, before you beat yourself up over taking too long on that program, which one of you do you think learned more from the exercise? When you enter the real world and have to start using the next new trendy spinoff language of the month for some company's Hi Tech Superweb teh 3.0 plus Social Networking and Oh, Did We Forget to Mention Web 3.0? offering, (you know, you'll be using that Perfect Language that never has built in support for reasonable methods of array handling or anything else that programmers actually find useful, though [SNAP!] it has things like closures and a Better Method of Variable Scoping - that's actually not a dig at Python, BTW, which I happen to quite enjoy), which one of you do you think will be better prepared?
School is perhaps the best and only time to forget about the work everyone else has done before you, and reinvent the wheel from scratch each time you need it. When you need to be productive, that's when you use Collections; while you have the luxury to take the time to understand things, it sounds like you're the one with the right approach. Enjoy it while you can, it will make you a much better programmer than memorizing the available built in functions that your current language of choice makes available.
See, I think the problem in all of these threads is that blckbllr is arguing things based on what the patent system is in practice (I assume he is involved in patent law in some way); everyone else is arguing from the point of view of what it should be in a perfect world. Blckbllr sees everyone as hopelessly ill informed, sticking their noses into a subject that they don't understand, whereas everyone else sees him as too personally invested in a broken system to see what's so obviously wrong with it. Both sides are probably a little bit right.
In the opinion of a lot of people here, a patent should probably only apply to something that is somewhat difficult to do for someone competent in the field. They (we) feel that if you handed a fairly obvious task to 100 decent programmers and 90 of them almost immediately came up with (in, say, a few minutes) and implemented (in a few days) roughly the same solution without any references or collaboration, then that solution should certainly not be patentable (ahem, marching cubes, anyone?). That should be true regardless of whether you happen to be the first one to take on said fairly obvious task. We also feel that you should not be able to patent a mere problem in need of a solution. Certainly we feel that coming up with one solution to a problem should not mark the entire problem as off-limits, but only that one solution. And yes, some of us do appreciate the difficulty in setting limits here: sometimes the difficult work is in the formulation of the problem, and a proper statement of the problem is in some respects equivalent to the solution. This should not necessarily prevent such a solution from being patented. But we feel that the current system sets the bar far too low, and considers many obvious problems to be novel enough to be patent-worthy, and in practice that often means that the first person to stumble across some stupid problem that for whatever reason hasn't needed to be solved yet (usually because enabling technologies weren't in place to even allow formulation of the problem, or market conditions didn't require the problem to be solved at the time; either way, the problem often literally didn't exist for very long...see one-click shopping for a perfect example) gets to stake ownership on it, even though they haven't done anything useful at all except get there first and plant the flag.
Even if crap like this is perfectly legal and right within the US patent system, that's beside the point. It shouldn't be. It doesn't help anyone except the trolls. I'm not naive enough to think that the system is really supposed to primarily a) help "stimulate" innovation or b) be completely and utterly fair, but I think when it's failing badly on both of these counts it indicates a problem.
Okay, I'll agree with the mods that the parent was a rather transparent troll and should probably be modded as such.
That last sentence does have some sort of filthy charm to it, though, to give credit where due...can't say I didn't chuckle, just a little bit. The addition of "rotten" really did the trick, if I had to put my finger on it.
I really can't believe you didn't get even a single funny mod for that one...good stuff, so sad and so true. This is the main reason I've tried to avoid this shitfling lately, it's just impossible to argue anything when the opposing side is either too stubborn or too lazy to figure out what the words you're speaking at them actually mean before declaring you're wrong.
It's got to say something that talkorigins.org links to just about every big creationism/ID site out there, and someone there has clearly actually read all the crap, yet links for some reason never flow the other way...I get the sense that at least 90% of the most vocal complainers on this topic have never actually read a legitimate explanation of evolution, let alone understood it.
Another simple task the anti-evolution crowd is apparently incapable of performing: a Google search. All but a very slim majority of the common critiques of evolution are quickly dispensed with by literally cutting and pasting the complaint into Google and clicking through to the first result. This is actually the first box to mark on my mental checklist when I discuss this stuff with someone: if I know, off the top of my head, that their criticism is firmly refuted beyond any reasonably intelligent person's doubt by the first Google result on the "obvious" relevant phrase, then the person is an idiot, at least about this topic, and the conversation ends there. So far nobody has ever made it past the last element of my checklist, which is "Does this person actually have an alternative useful theory in mind, one that could conceivably teach us something about the way the physical world works, or do they merely wish to see evolution burn in hell alongside Richard Dawkins?"
Knowing something about both theories (I briefly considered going into one or the other), I agree with most of what you say here. But I think it's also worth pointing out that a major thing string theory has going for it is that it's to a very large extent the "obvious" extension of good old quantum field theory, though some garbage snuck in along the way (which actually provides a lot of the sexiness of the theory, i.e. the stuff that Discover can expect somewhat knowledgeable people to follow a layman's explanation of). The thought process essentially goes:
...
1) Hmm, we've been doing things with point particles, but hey, these action integrals seem to just depend on the area swept out. Maybe we can generalize this!
2) Oh, that's unfortunate. When you do it with a string, the theory isn't consistent unless we have 26 dimensions. Crap.
3) Hey, what if we call this a brilliant insight into the workings of the universe instead of taking it as proof that our theory is wrong?
4) Crap. There's absolutely no way a bosonic (err, for the non-physics dork, I guess the closest translation would be "normal") string can describe our world, even in 26 dimensions.
5) Eureka! Let's just throw a bunch of extra random stuff in the stew - membranes, extra dimensions, and supersymmetry, OH MY! - the make up the rules as we go, and we'll end up with a theory that's so flexible it can accomodate ANYTHING! We just need to make sure NEVER to actually set down a bunch of postulates or fundamental rules for our theory (aka: the first rule of M-theory) This is sweet! A little bit of the anthropic principle can save us in a pinch.
6)
7) You've been reading Slashdot long enough to know what comes next
I kind of joke, but there's a grain of truth in this story...the point, though, is that the underlying language that things are described in is very similar to what physicists already know, so there are reasonably easy paths in to the theory for most physicists. On the other hand, LQG starts with a very obscure formulation of general relativity and turns it into some truly bizarre stuff, to the level that it takes more of a mathematician than a physicist to even get the gist of the theory. A normal physicist would have to do quite a bit of background work to figure out even the basics, whereas string theory is "easy" enough to jump into that there are some undergraduate classes in it at the better schools across the country.
My opinion is that both are definitely worth studying, but neither is probably 100% correct. Though I can just about guarantee you, whatever turns out to be correct, string theory will redefine itself as it and claim it was right the whole time.
Hm, it's odd - I do seem to remember having read an excellent description on conjugate gradient somewhere, at some point during my undergrad years, but now I can't seem to find it anywhere. Perhaps it was in a textbook or something, I can't remember. In any case, that paper seems very clear, though honestly, it's a bit long for an explanation of a single algorithm (I guess the problem is that it goes through most of the prerequisite knowledge, too, whereas a textbook treatment could leave all that stuff to the earlier chapters).
Anyhow, on the general topic of science/math writing, I'm surprised that fewer people have mentioned Richard Feynman. Pretty much all of his writings, from "Six Easy Pieces" to his freshman lectures all the way up to his published papers exhibit a clarity, simplicity, and sense of enthusiasm that is unmatched by just about any other technical writer out there. His less technical (i.e. more personal/humorous) stuff is also quite fun to read, and maybe a bit more palatable to people early in their educations, though I even think Six Easy Pieces is easy enough for kids just about to hit high school. In my opinion, he was the best person out there to really bring complex topics down to earth - I don't think any other physicist in his right mind would try to explain quantum electrodynamics at a level that doesn't even involve calculus, and it's really amazing to me that when all is said and done, he actually succeeds in giving it a fair (if not very detailed) treatment at a level where a mathematical person could just about generate the entire mathematical theory themselves but a lay person can at least grasp the basic idea.
Roger Penrose's recent physics tome, monstrous and threatening as it may be, was also quite a good read. I think it does an excellent job at proving that even the most complex of mathematical topics can be broken down into easy to digest pieces that actually have some good intuition behind them. Unfortunately, the damn book is so huge and the scope is so broad that it's a little bit threatening even to those with pretty good math backgrounds - definitely not one for the kids! But it is a step in the direction of simplicity in explanation, at least, good for someone interested in learning to explain things without complicating them to read.
Which brings up a good point...why the hell is the Red Cross pushing this at all? It seems like if we assume that the thing is a valid trademark at all, it belongs to JNJ in the US. The Red Cross very clearly violated their agreement with JNJ, so it would seem the only possible way they could not be found guilty of something would be if the trademark was ruled generic (which, to me, seems like it's certainly not out of the question, since I doubt that most people know the symbol has anything to do with JNJ specifically at all). But this would screw over the Red Cross as much as JNJ, so why would they even want to go there? It just doesn't make sense, unless you assume that these are just sour grapes over the fact that JNJ has the rights to "their" symbol.
For Johnson and Johnson's part, they are really in a no-win situation here - they either have to drop the issue and expose themselves to shareholder lawsuits (not protecting a trademark is a pretty big no-no, so I don't think this is actually a choice for them) or be seen as bullying a charitable organization (most people won't realize that it's the Red Cross that really started this fight because it wanted to squeeze money out of IP that it didn't actually own). I don't see this as an evil move on their part as much as a necessary one...
Anybody that's using floating point variable to represent real, actual money should be shot in the buttock. Either use fixed point (in which case I suppose your criticism still holds) or a linked list to represent the decimal digits that you are concerned with (in which case you're only limited by the amount of memory on the computer, which would almost certainly be large enough to hold whatever number represents the winnings by the time you've actually achieved them, assuming we can hot-swap memory chips every couple thousand years or so while you keep flipping that coin). Yup, you've got to deal with arithmetic yourself, but when the alternative is that dollars and cents start disappearing in large accounts because your number format has crappy precision, there's really no option.
I absolutely agree with you. Bubble? Please, that would require a period of wild, unsubstantiated growth leading in, especially for a drop bigger than the last one. Look at the Nasdaq as compared to the S&P and Dow. When the tech bubble popped, it's like a freaking dagger pointed to the sky on the chart. Compared to the rest of the market, it would take an idiot to think that level of growth was sustainable (broad market indexes should never double over the course of a year, and that's just common sense). But put your hand over the dagger, you'll see that since that time, everything has settled almost exactly back in line with the pre-bubble growth curve, so that if you did a simple exponential extrapolation in 1995 of where the market would be today, you'd be within a few percentage points either way.
This is not a bubble, no way no how. A bubble is when things are irrationally good and then get bad as a result - you can't have a pop without some pressure. Right now things are exactly where they should be (given the assumption that the century long trends are sustainable, which is somewhat questionable - in any case, what breaks that cycle will have to be a lot more significant than a few websites trying to make it on ad revenue), so there's nothing to be particularly worried about.
Housing, on the other hand, we could talk about...
I think the problem is that an over-heavy emphasis early in life on memorization (often it continues right up until the end of high school) teaches kids that the key to learning is to stare at a piece of paper and just repeat it until you remember what's on it. But in reality, when you're learning something that you'll actually be doing past the point where you're tested on it once, any of the facts that are worth memorizing will be remembered automatically simply because you've seen them so many times. It kills me when programming teachers drill kids on the meanings of various obscure keywords during the first few weeks of exposure - I don't remember the various meanings of programming terms because I studied an O'Reilly book for hours prepping for a test, I remember them because I've now been programming long enough that I've had several occasions to think, "Hm, it would be really useful if I could do X here," then looked it up for a bit and discovered that keyword Y suited my needs perfectly. After one or two such occasions, I've never had to look up keyword Y ever again, because information sticks so much better when you obtain it organically and because it's useful than when you force feed it to yourself. Similarly, I doubt many chemists remember the periodic table because of rote memorization; rather, they would remember it because they've used it so often that they can't help but do otherwise.
By the way, I'm pretty sure it's been conclusively determined that a "good memory" is little more than a genetic roll of the dice (i.e. it is not a trait that can be improved by practice - in fact, in some cases the opposite is true, especially for mid-term memorization on the order of a day or two, where the more similar things you've memorized the worse you will do on new data), so I've got to agree with the other posters that the fact that people don't feel the need to memorize certain pieces of information anymore speaks less to their failing ability to do so and more to their lessening need to; frankly, I'm not sure that that's such a problem, either.
Well, you definitely get credit from me for trying - while a lot of students at that age have a lot of trouble thinking above the "fact" level, it's a great service to the ones that can do so to have teachers that appreciate that ability and help them nurture it. Alas in my middle school experience these teachers were frightfully few and far between. As you said, a 90/10 balance seems perfectly reasonable to me. Keep it up!
You're right, it's not a tool's fault if people don't know how to use it. But C has been around a hell of a long time, and people have been making buffer overrun mistakes for the entire history of its existence, even those who should (and do!) know better, simply because unless it's the main thing on your mind when you're coding C it's an easy mistake to make. So I don't think it's likely that people will ever stop making these mistakes, regardless of education, because the language allows them (and to some extent encourages them).
Would you really suggest that it's better to train people to not cut their fingers off using table saws than to get them to switch to table saws with some sort of finger guard? Yeah, it's not that the unprotected ones are at fault if you slip up and slice your pinky off, but it seems perfectly reasonable to avoid the problem altogether with a little prior consideration at the tool level, especially if the extra safety modifications are easy. Though to be fair, in this case I don't know what the "best" alternative to C is, since most of the real popular languages these days are interpreted either entirely or at a byte-code level, so are somewhat slow.
You know, people always seem to be surprised that Google escapes most of the Slashdot criticism, and I'll agree that most people here don't have much negative to say about them. But even those who complain about this lack of criticism rarely have anything to offer other than 1) "Nobody ever criticizes Google, how lame is that?", or 2) "Google claims to do no evil, but how can we really be sure that they won't ever be Bad?" Rarely have I seen an actual complaint about them. So I put this to anyone offended by the positive vibes Google is getting: why exactly should we be complaining about? I've never paid Google a dime, and they've provided me many services that have truly made my life much easier (search, Gmail, maps, Google Code, etc., all of which I use practically on a daily basis). Yup, I've helped them make a profit by seeing their ads and very occasionally clicking one that interests me, and they've got a lot of data on my habits, but I've found them to be pretty up front about all of this. Where is the problem? Compare this to Microsoft, whom I've probably paid for the same crummy software once for every computer I've ever purchased, and my reward is being treated like a criminal every time Windows craps up and needs a reinstall. If you want to know why people don't have much to say against Google, it's that simple fact: they give a lot of people free stuff that actually helps them do what they need to do. If that's evil, I could tolerate a hell of a lot more of it.
Google doesn't get a blank check to do whatever it wants from me, but at the moment they have relatively few blemishes (the China thing, and the privacy issues, mainly), especially compared to all the other companies out there. The moment they start trying to screw over their users, I'll start bashing them as strongly as I would now bash Microsoft, but as long as they are behaving in our interests, why not give credit where it is due? Of course, once the current management disengages from the day-to-day running of things and the intense growth spurt that the company is seeing starts to slow, I predict a distinct shift in business style (it happens with all companies once they reach true saturation), and at that point we can probably talk about the evil that Google will do. But now? I just don't see it. Am I missing something?
Just whatever you do, don't admit to those Python people that you're originally a Java programmer - functional zealots tend to despise anyone that knows what a class is, let alone actually uses them to organize their code! Seriously, though, Python is pretty nice, but coming from a Java background it can be tricky because there are quite a few gotchas regarding scope and structure. References are dealt with in a similar way, though, and data structures are (IMO) much easier to work with in Python than Java, so there are definitely good things going on there. Definitely worth checking out.
Government is best used to take care of things that are not well served by a free market, usually either because a goal is incompatible with a profit motive or because something else requires top down oversight. Services like the military are necessarily in the government's control because they require a cohesiveness and a strict chain of command that would be impossible with private militias. The police are there because of similar reasons, plus the simple fact that any body enforcing laws should absolutely never be in the position of weighing shareholders' financial desires versus the appropriate application of law. Fire stations are provided because it is in your best interest to extinguish a fire at a neighbor's house whether or not your neighbor has any ability to pay for this service. Can you really believe that any of these things would function at all, let alone better, if they were privately controlled?
Health care is another matter. Some argue that the free market is working just fine - they are usually those that are provided good health care packages by their employers and have not had their providers turn against them on matters of care. Others argue that the current system is not working very well - typically these are people who at some time or another have not been able to get health insurance for whatever reason. I'm on the line. To me, the main problem with the current system is that if your employer does not provide health insurance (or you're self-employed), there is essentially no way to get it at a reasonable price. This means that most people who don't have a serious condition already just don't get the insurance, because the likelihood of needing expensive care is just not high enough to justify spending the large amount of money on the insurance. That's not to say that I can entirely fault the insurance companies here, either, though - the only reason they raise rates for people independently purchasing health insurance is that their statistics have shown that people who buy it independently are much more likely to actually use it than those that get it through their employer. The idea being that if you didn't already know that you'd need to make a large number of claims, there's no chance in hell that you'd actually pay the outrageous rates to buy the insurance. Hence essentially, unless you're getting your insurance through an employer, if you want insurance at all you're assumed to be using it not as catastrophe insurance, but to cover a large set of expected health expenses (which kind of defeats the purpose of insurance).
The Massachusetts law in TFA is actually a good way to combat this problem because it removes the stigma (in the insurance company's eyes) associated with wanting to actually buy health care for yourself. Now it doesn't necessarily mean that you're sick and need a lot of medicine, it only means that you don't have health insurance elsewhere. So in that respect I think it's actually a step in the direction of making the product a little less expensive, though I still don't know if I think it's ultimately the "right" solution. The main problem is that mandating coverage means that should the prices go too high, consumers have no choice not to purchase, so there is quite a bit of potential for gouging here. Still, this is true of any essential service, and in theory a free market would behave quite well in this situation assuming no collusion between the insurance companies on price.