I think that the fact that we've been stuck with as many as that has been a testament to the waste in our industry. Clearly the only true solution is 4 bits, where the fourth can be a rudimentary checksum for data integrity.
Yes, it's Apple's fault, and the blame should lie pretty much just with them. From what I can tell of the situation, though, I don't think they made the wrong decision - I think they just administered the right decision very poorly. They made the decision fairly late in the day, and without prior notification this will push back the schedules of many projects.
The article pushes this very even-handedly, and I do think that Apple's decision will pay off in the longer term. They just could have handled the short term a little better.
Wow, thanks for that. That makes this even more intruiging. I'm fairly surprised that either of these have lasted so long, it strikes me as very good news for computer users in general.:)
To be completely fair, though, the Vista and Ubuntu machines are, according to all sources I've found, still up and still unhacked. If you can still win those (which I think you can?) even though there's no longer a cash prize there's at least incentive for someone to hack them. If it were a case of people coming prepared with vulnerabilities on all three machines you'd expect one of the other two would have been brought down by now.
I do agree, though. The bottom line is that no OS is completely secure and this is essentially just a race to use a vulnerability. I've not found a good source on whether the other two machines are still uncompromised, though, which I think is the most interesting part of this.
I imagine they don't enforce bundling laws because they either don't apply or don't exist. Really though hoping for the government to save you isn't the most productive of courses, just prove that there's demand. Dell have reasonably-priced Linux-based machines now, and they're pretty much the kings of commodity hardware.
As for this:
That means Linux can east Vista alive.
Thoroughly doubtful. Most of the things real people dislike about Vista are also problems on Linux and people have no real concept of the "price" of Windows, so they have little incentive to move. Linux should see some uptake soon not because of Vista's poorness (it's really, really not nearly as bad as it's made out to be) but because distributions like Ubuntu make Linux on the desktop not just usable but positively appealing to normal people.
Basically I just don't see what this "consistency" buys you. Abbreviating makes little sense to me – "p" or "ps" or "pos" or "position" are as easy to read as one another; humans tend to read input in terms of words so all you save is horizontal space, which shouldn't really be something which is causing you issues in most languages.
The only difference between suffixing pos and apps Hungarian is that you have chosen to use suffixing as a standard instead of prefixing. Which is a valid choice, but certainly not something that makes Hungarian bad.
I don't mind prefixing instead of suffixing, it's the over-abbreviation that bothers me. You need to learn a whole system for something that should have just been stated clearly in the first place. I don't understand the obsession with dropping 3 characters in a variable name.
But coding style guidelines for large teams aren't inherently evil.
I agree completely, I just don't see this style guideline as a particularly useful one.
There's an alternate thread to this one which is discussing this. The bottom line is I feel that for the set of things where apps Hungarian isn't replicating what could or should be done with types are just as well done by sensible naming that isn't overly-formalised.
Yeah, I know. I felt I should follow up regardless. It was more of a warning that if it got out of hand (as these things typically do) I would just cut it off:)
Using "pos" or "position" is what I meant earlier (I hope in this particular thread!) by "sensible naming conventions". Hungarian in this case wins you nothing other than a naming scheme that is more opaque and requires training, whereas suffixing with "pos" your intention is more clear. The "benefits" of Hungarian which stem from this sort of use-case are benefits of sane naming, which gain nothing from the over-formalisation provided by Hungarian. The rest of the benefits of Hungarian are better realised by types, which was my real point. Maybe I wasn't clear enough with that earlier.
It's funny, I've argued in the past that Java's very verbose typing has advantages in exactly the way you list in your post. In the case of Java, in fact, you wouldn't need the type warts since the types would be readily available.
No, I think that the uses he proposes for Apps Hungarian are better handled by a typing system, in languages which support such things. Obviously all sorts of hilarious cludges can be used in languages where you're dealing with insufficiently-typed data.
I read it fine, I think. The fact is that there's nothing more complex or less useful about using i, j, k (this is pretty much convention now) or "blahIndex" for indices, using "blahCount" for count, and the "d" prefix is pretty much a maths thing (delta) so it's common enough anyway.
I really don't want to get dragged into another one of these arguments, though.
I am not getting dragged into another argument about Hungarian, but I should say that Hungarian, as Joel uses it in his article and as it is typically used, is replicating what should be type information. Using some form of additional notation can be useful but obscure minimal character sequences are rarely justifiable as a means to do it.
Ok, I was going to respond to this but I will not get dragged into another one of these discussions. It's worse than tabs vs. spaces, I tells ya.
Since you're talking about C/C++ code though, I'm going to assert that that doesn't fall into the class of language I was talking about anyway. You're playing with essentially-untyped data there a lot more.
I'm not going to say anything against the Microsoft doc; he's pretty much absolutely right and it's a great introduction to why older formats are how they are in general to boot.
The Hungarian thing – no, I still don't see it. Hungarian should not be used in any language which has a reasonable typing system; it's essentially adding unverifiable documentation to variable names in a way that is unnecessary, in a language which can verify type assertions perfectly well. The examples in the article are just ones where good variable naming would have been more than sufficient. It's not good enough.
I agree to some degree, but as a slight contrary point I find his silly insistence that Hungarian is a "good thing" and his constant pimping of FogBugz (especially the "this is usually a bad idea, but it's alright when we do it!" attitude of some of the posts to be a little annoying. He's definitely smart and makes a lot of sense though.
Architecturally, though, the NT kernel is really quite similar to Mach (especially when compared to Linux). It uses IPC and the like but pulls in drivers and some other elements inside for performance reasons, just like Mach.
I prefer Banshee on Linux, and foobar2000 on Windows. Banshee doesn't have quite the myriad of functions that Amarok does, but I find it a good deal more pleasant to use, and never used the advanced functionality anyway.
That's not the chronology of events that I heard, and if you're referring to Jobs' open letter, it was clearly released far too late to have influenced the decision; it was a lot more like a publicity exercise.
There was a number of online stores with DRM-free catalogs prior to Apple's involvement, and the DRM removal on iTunes was at the request of EMI, not the other way around.
Issue isn't with headline, it's with the summary:
I realise misleading summaries are far from rare on Slashdot, but still.
Yeah, I thought that conclusion seemed suspect too. "It's possible" is different from advocating it.
I think that the fact that we've been stuck with as many as that has been a testament to the waste in our industry. Clearly the only true solution is 4 bits, where the fourth can be a rudimentary checksum for data integrity.
Yes, it's Apple's fault, and the blame should lie pretty much just with them. From what I can tell of the situation, though, I don't think they made the wrong decision - I think they just administered the right decision very poorly. They made the decision fairly late in the day, and without prior notification this will push back the schedules of many projects.
The article pushes this very even-handedly, and I do think that Apple's decision will pay off in the longer term. They just could have handled the short term a little better.
Wow, thanks for that. That makes this even more intruiging. I'm fairly surprised that either of these have lasted so long, it strikes me as very good news for computer users in general. :)
To be completely fair, though, the Vista and Ubuntu machines are, according to all sources I've found, still up and still unhacked. If you can still win those (which I think you can?) even though there's no longer a cash prize there's at least incentive for someone to hack them. If it were a case of people coming prepared with vulnerabilities on all three machines you'd expect one of the other two would have been brought down by now.
I do agree, though. The bottom line is that no OS is completely secure and this is essentially just a race to use a vulnerability. I've not found a good source on whether the other two machines are still uncompromised, though, which I think is the most interesting part of this.
I imagine they don't enforce bundling laws because they either don't apply or don't exist. Really though hoping for the government to save you isn't the most productive of courses, just prove that there's demand. Dell have reasonably-priced Linux-based machines now, and they're pretty much the kings of commodity hardware.
As for this:
Thoroughly doubtful. Most of the things real people dislike about Vista are also problems on Linux and people have no real concept of the "price" of Windows, so they have little incentive to move. Linux should see some uptake soon not because of Vista's poorness (it's really, really not nearly as bad as it's made out to be) but because distributions like Ubuntu make Linux on the desktop not just usable but positively appealing to normal people.
Basically I just don't see what this "consistency" buys you. Abbreviating makes little sense to me – "p" or "ps" or "pos" or "position" are as easy to read as one another; humans tend to read input in terms of words so all you save is horizontal space, which shouldn't really be something which is causing you issues in most languages.
I don't mind prefixing instead of suffixing, it's the over-abbreviation that bothers me. You need to learn a whole system for something that should have just been stated clearly in the first place. I don't understand the obsession with dropping 3 characters in a variable name.
I agree completely, I just don't see this style guideline as a particularly useful one.
There's an alternate thread to this one which is discussing this. The bottom line is I feel that for the set of things where apps Hungarian isn't replicating what could or should be done with types are just as well done by sensible naming that isn't overly-formalised.
Yeah, I know. I felt I should follow up regardless. It was more of a warning that if it got out of hand (as these things typically do) I would just cut it off :)
In my experience, "Troll" seems to fulfil that function too. Ah well.
Using "pos" or "position" is what I meant earlier (I hope in this particular thread!) by "sensible naming conventions". Hungarian in this case wins you nothing other than a naming scheme that is more opaque and requires training, whereas suffixing with "pos" your intention is more clear. The "benefits" of Hungarian which stem from this sort of use-case are benefits of sane naming, which gain nothing from the over-formalisation provided by Hungarian. The rest of the benefits of Hungarian are better realised by types, which was my real point. Maybe I wasn't clear enough with that earlier.
It's funny, I've argued in the past that Java's very verbose typing has advantages in exactly the way you list in your post. In the case of Java, in fact, you wouldn't need the type warts since the types would be readily available.
No, I think that the uses he proposes for Apps Hungarian are better handled by a typing system, in languages which support such things. Obviously all sorts of hilarious cludges can be used in languages where you're dealing with insufficiently-typed data.
I read it fine, I think. The fact is that there's nothing more complex or less useful about using i, j, k (this is pretty much convention now) or "blahIndex" for indices, using "blahCount" for count, and the "d" prefix is pretty much a maths thing (delta) so it's common enough anyway.
I really don't want to get dragged into another one of these arguments, though.
I am not getting dragged into another argument about Hungarian, but I should say that Hungarian, as Joel uses it in his article and as it is typically used, is replicating what should be type information. Using some form of additional notation can be useful but obscure minimal character sequences are rarely justifiable as a means to do it.
Ok, I was going to respond to this but I will not get dragged into another one of these discussions. It's worse than tabs vs. spaces, I tells ya.
Since you're talking about C/C++ code though, I'm going to assert that that doesn't fall into the class of language I was talking about anyway. You're playing with essentially-untyped data there a lot more.
I'm not going to say anything against the Microsoft doc; he's pretty much absolutely right and it's a great introduction to why older formats are how they are in general to boot.
The Hungarian thing – no, I still don't see it. Hungarian should not be used in any language which has a reasonable typing system; it's essentially adding unverifiable documentation to variable names in a way that is unnecessary, in a language which can verify type assertions perfectly well. The examples in the article are just ones where good variable naming would have been more than sufficient. It's not good enough.
Oh god I've started another hungarian argument.
I agree to some degree, but as a slight contrary point I find his silly insistence that Hungarian is a "good thing" and his constant pimping of FogBugz (especially the "this is usually a bad idea, but it's alright when we do it!" attitude of some of the posts to be a little annoying. He's definitely smart and makes a lot of sense though.
Architecturally, though, the NT kernel is really quite similar to Mach (especially when compared to Linux). It uses IPC and the like but pulls in drivers and some other elements inside for performance reasons, just like Mach.
I thought Jim Hugunin was the creator of IronPython? I believe that was the reason Microsoft hired him, in fact.
Glad to be of help. I hear Banshee's getting some kind of UI overhaul soon so maybe it'll look even better by the time you check them out. :)
I prefer Banshee on Linux, and foobar2000 on Windows. Banshee doesn't have quite the myriad of functions that Amarok does, but I find it a good deal more pleasant to use, and never used the advanced functionality anyway.
That's not the chronology of events that I heard, and if you're referring to Jobs' open letter, it was clearly released far too late to have influenced the decision; it was a lot more like a publicity exercise.
There was a number of online stores with DRM-free catalogs prior to Apple's involvement, and the DRM removal on iTunes was at the request of EMI, not the other way around.