Here's a shocker: Eclipse-based Aptana Studio sucks shit!



  • @robbak said:

    I cannot really understand this. For me, and I think most other technically minded people, it seems more like "We can do this with an ugly hack that really doesn't work well, or you can do it right, and here is the instructions, Which would you rather?"

    You're framing it wrong.

    The question is, "if Git is so important to you, why didn't you just install it yourself?" I know for a fact Git has an open source license, and can be redistributed. (Well, Aptana would have to add a quick link to the source code on their website somewhere, but that's easy.) Aptana has an installation program, which I ran.

    @robbak said:

    You also seem to argue that the error message is too long, and then that it doesn't provide a long discussion on what the "Terminal and scripting" features are.

    Well, off the top of my head, the error message could be short and provide a link to the full explanation. But you're right, taken literally, my complaint is a little self-contradictory. The real problem is that the error message is shown to the user at all, it's completely avoidable.



  • @blakeyrat said:

    The question is, "if Git is so important to you, why didn't you just install it yourself?" I know for a fact Git has an open source license, and can be redistributed. (Well, Aptana would have to add a quick link to the source code on their website somewhere, but that's easy.) Aptana has an installation program, which I ran.

    I could see doing this, especially for a multi-platform program. I don't know how they attempted to detect the installation, but I suppose there might be good reasons to use your installed and configured version (though I still wonder what they're doing with it to begin with), rather than just installing other software. I'd probably go with having it install as part of my app, possibly using an external version if it exists. Still, I can see why you'd ask the user. They definitely could have handled the "go install it from here" bit better.

    Aside from requiring git in the first place, I'd rate this at or near the bottom of the Aptana WTFs you've listed here. A quick search and glance at their site, and it looks like it's all about "git integration." Probably better to just use an existing Eclipse git plugin. I suppose that's what you'd do if you wanted to use svn or hg or bz or whatever.



  • Hey, Blakey, I'd love for you to look at the search functionality in Aptana. Just hit Ctrl+H (I think that's the default search) and enjoy!



  • @RHuckster said:

    Hey, Blakey, I'd love for you to look at the search functionality in Aptana. Just hit Ctrl+H (I think that's the default search) and enjoy!

    I didn't even get to a functional code editor before giving up and uninstalling.



  • @robbak said:

    @blakeyrat said:

    And the classic we've seen in so many other WTF programs: this error message basically translates to "we can fix this problem in a quick and automatic way, but instead of just doing that and not bothering you we've decided to show you a huge confusing error message instead!" Gee thanks.

    I cannot really understand this. For me, and I think most other technically minded people, it seems more like "We can do this with an ugly hack that really doesn't work well, or you can do it right, and here is the instructions, Which would you rather?"

    The other option is to ditch the ugly hack, and die with a "git not installed!" error. Personally, I'd prefer the current option.

    How about installing a portable copy of git during the install and then creating an options dialog that allows the user to configure the program to use another copy of git?



  • @dohpaz42 said:

    @James Schend said:

    Fucking Christ. Why does anybody use Eclipse? Why does anybody think Eclipse is a good basis for their own IDE? What the fuck is wrong with those people?

    It's Java™. It's the end-all-be-all of cross-platform holiness. </sarcasm>. If you really want some fun, try FlexBuilder from Adobe, or Zend Studio from Zend. They are both built on Eclipse as well. I've never used FlexBuilder, but I use Zend Studio all of the time, and I must say that if I personally had to pay the hundreds of dollars to license this software, with the current level lack of quality and support, I'd be as pissed off as you are. For whatever it may (or may not) be worth: at least Aptana hasn't cost you a dime (just trying to be a little optimistic).

     


    Don't ever try Flex Builder... it's the kind of dirty you just can't wash off. Damn I hate that application so much.

     



  • @blakeyrat said:

    * Aptana needs Git for its "scripting and terminal features" to function.

    I always thought git was for version control...

    @blakeyrat said:

    .eclipse? Wrong way of making files invisible. File shouldn't be invisible on its own anyway, it should be in AppData/Roaming, which is invisible. Wrong.

    I think they did that to keep project structures consistent between Linux and Windows so that (theoretically) you can just copy your source tree to another computer with a different OS and it would just work. (I'm probably talking outta my ass here, but there has to be some rational reason for doing it this way... right?) However, being too damn lazy to mark the .eclipse folder as hidden under Windows is plain inexcusable.

    Thanks for taking the time to file those bugs, even though the guy you're corresponding to seems to be a dick. Bitching at you for posting to TDWTF when the product is, undeniably, a WTF... way to foster contribution there.



  • @pbean said:

    I like Eclipse for Android development. :) It's not entirely too bad.

    After importing the project, you have to go to the menu, click "Fixup Project Properties" or somesuch, restart eclipse, rinse, repeat until it starts to work. There is no way to switch between building debug and nondebug variant (well, that's partly problem of the Android dev tools). If you want to get the code assist do something remotely useful for C++, you have to link all the include directories in the project. When you are finally satisfied with the project configuration, it corrupts the workspace, so you have to set it all up again. The settings that should be shared by the whole team are stored in workspace, so everybody has to key them in themselves. The settings that are supposed to be shareable (.project) contain absolute paths, so you have to fix things up manually before checking it in. Than it kind of works until you need to change those settings at which point you have to fix it up manually again. On, come on.

    @pbean said:

    I've noticed that most programs based on Eclipse are far worse than Eclipse itself though.

    ... which includes the Android DevTools.



  • @pbean said:

    Don't ever try Flex Builder... it's the kind of dirty you just can't wash off. Damn I hate that application so much.
     

    Flash Builder is better than plain Flash, though. At least it autocompletes stuff and automatically includes imports etc.

    At least it's not AS2 - or shock! horror! AS1!



  • @Rhywden said:

    Okay, I can accept that. Maybe you could give RubyMine a try? It's free for a 30 days.
    Don't know how it behaves without a Ruby/Rails installation, though.

    But certainly nothing annoying as those Eclipse popups, I usually get only a floating message window for 10 seconds or so if it can't find some requirements or other.

    As for Netbeans, you should go for the PHP version. Usually that's the one with HTML/CSS/JavaScript-Support.

     

    Eclipse has improved quite a bit BTW

     




  • Since i think it is documented that open source ideals in general produce poor performing software products, I think I will declare a user application being developed under such conditions as a possible anti-pattern?

    I don’t think I have met any contributors to open source projects as the developers I talk to most are getting paid well to write good code....

    well .... Except for one that owns a popular open source company and he takes peoples free contributions, vets it carefully with paid developers and testers who throws 60% away and fix up the remaining 40%.  He then sells the remaining 40% along with a supported closed license code base. The original 100% is still available as an open source download along side a rotten fork or the original code base.  It’s like a pyramid scheme where the lower step is dev time and add-on ideas instead of money? But he doesn't make a huge amount of money - it is a very modest company and relatively dull.



  • @Rhywden said:

    As another addendum: I just discovered that Jetbrains (the makers of RubyMine) also have an IDE purely for HTML/Javascript/CSS: http://www.jetbrains.com/webstorm/
     

    I've bookmarked it and will be checking it out.



  • Regarding installing stuff to the wrong place, I know this is an ugly workaround, but would it make your life easier if you made links from D:\Users to C:\Users and C:\Users\Documents to M:? The software will still be wrong, but the reason you're using it isn't for its correct directory usage. If you want its editor features, they can still be had.



  • @blakeyrat said:

    And if you want great corn dogs, I recommend the Evergreen State Fair in ... oh wait nobody mentioned corn dogs.

    But now that you have...I love corn dogs...letsee... google.... fair, concerts, ..Peter, Paul, but not Mary... Cheap Trick... AND corn dogs!!?? Are the corn dogs worth a trip from the East Coast?



  • @blakeyrat said:

    The question is, "if Git is so important to you, why didn't you just install it yourself?"

     

    This user guide to installing Git on Windows might give you some insight into why they don't automatically install it: http://help.github.com/win-set-up-git/

    Note the combination of setup wizard, SSH key generation, and terminal jokeying.



  • @The_Assimilator said:

    Bitching at you for posting to TDWTF when the product is, undeniably, a WTF... way to foster contribution there.

    He didn't really bitch, he said posting here was "really not necessary." Whatever that implies...

    But hey, I'm fair: any program that presented to me 4 error dialogs, and 1 incomprehensible retarded dialog, that filled up my (admittedly limited) roaming app data space with 200 MB of shit that isn't roaming app data, all before I even interact with the program itself-- it'll end up here.



  • @frits said:

    This user guide to installing Git on Windows might give you some insight into why they don't automatically install it: http://help.github.com/win-set-up-git/

    Note the combination of setup wizard, SSH key generation, and terminal jokeying.

    They made their Git bed, now they have to lie in it. Being too lazy to create a proper installer is still a bug.



  • @blakeyrat said:

    @frits said:

    This user guide to installing Git on Windows might give you some insight into why they don't automatically install it: http://help.github.com/win-set-up-git/

    Note the combination of setup wizard, SSH key generation, and terminal jokeying.

    They made their Git bed, now they have to lie in it. Being too lazy to create a proper installer is still a bug.

    I agree 100%.  They made the decision to jump on the Git bandwagon for who knows what dumb reason and now have a conundrum because it's not an easy installation.  Maybe they should make the Git-related features optional?



  • @blakeyrat said:

    @dohpaz42 said:
    Another Funny Story: You went through the trouble of redacting your identity from your screenshots, but signed up on Apatana's Jira using your real name (at least, that's my assumption). Just sayin'.

    The polite thing for me is to provide my real name to their bug tracker when asked. The polite thing for you would have been to quietly ignore that. Etiquette is indeed dead.

    Not that it's ever been hard to link my handle here to my real name, but that doesn't mean you say so.

    Polite? That's the pot calling the kettle black.

    The polite thing for you to have done when filing a bug report for Aptana Studio would not to have been condescending and rude. Sure, you're frustrated and upset - rightly so, despite Aptana Studio (and Eclipse) being "Open Source", they are "professional-quality" applications - but that doesn't give you license to tear into their developers. You can truly catch more flies with honey, especially in the OSS community. To contribute with bug reports means to work with the team to help them better understand the problem; politely offer suggestions for solutions. But no, you're blakeyrat, and you have to look down upon everybody that is not you.

    So don't preach to me about etiquette; you get what you give, sir.

    @blakeyrat said:

    Aptana has decided that the "best" solution is to prompt the user for their profile location on first run! Cripes. They just do not care, do they. At all.

    I would rather be prompted for my preference of workspace location than have a program assume it for me. Zend Studio assumes this, and they always assume wrong. It's not because they haven't guessed a generally-acceptable location, but because they did not guess the specifically-acceptable location for my tastes. So then I have to go into the preferences, delete their assumption, check a box to prompt me on start up, and then restart Eclipse. After I've chosen my location, and checked the box to never ask me again, I then have to go down to the filesystem and delete their wrong assumption; all of this versus just asking me the first time that I run the app. Which is more of a time saver?

    Go ahead and argue that I may be an edge case, and that the majority of users will gladly accept the program's default assumption. You may be right; you may not be right. There is no good way to know this for certain. They made a design decision that they felt was correct; of course not everybody is going to agree with it; you obviously don't. If anybody is wrong here, it is you for assuming that a freshly installed software is not going to need some sort of configuration the first time that you run it. You obviously are a power user, who has special needs (no sarcasm), with the capacity and ability to do things mere mortals could only dream of doing. Grow up already.



  • @dohpaz42 said:

    The polite thing for you to have done when filing a bug report for Aptana Studio would not to have been condescending and rude.

    The sane thing would have been to not file a bug report at all. Since this is an open source project, bugs on the bug tracker will never be fixed anyway. (Although their developer actually read all three of them, putting it ahead of every other open source project I've filed bugs to except Mozilla.)

    @dohpaz42 said:

    Sure, you're frustrated and upset - rightly so, despite Aptana Studio (and Eclipse) being "Open Source", they are "professional-quality" applications - but that doesn't give you license to tear into their developers.

    The program I looked at yesterday isn't even "free prize in a box of Cracker Jacks"-quality.

    But the point is, those developers shipped the product, right? They took at look at it in its current state, and nodded, and said, "yes, this is the level of quality we were looking for. Let's release it!" So yes, yes I can blame the programmers-- they attached their name to this product, they chose to release it in its current buggy-ass state (and note that the "wrong folder paths" bug was in their bug tracker, and existed during their entire 2.x and 3.x releases.)

    So yes, yes I can tear into them. If they don't want angry customers, perhaps they should release quality products.

    @dohpaz42 said:

    I would rather be prompted for my preference of workspace location than have a program assume it for me. Zend Studio assumes this, and they always assume wrong.

    Probably because it's Java, and thus relying on the same retarded wrong behavior of the Java "user.home" variable.

    @dohpaz42 said:

    After I've chosen my location, and checked the box to never ask me again, I then have to go down to the filesystem and delete their wrong assumption; all of this versus just asking me the first time that I run the app. Which is more of a time saver?

    The difference is the wrong location that Aptana chooses breaks my computer. Specifically, it fills up the small partition reserved for roaming app data, denying access to other applications that (legitimately) need to store files there. Zend might do the same thing on my computer; I dunno. But as-is, the two things we're talking about aren't comparable.

    @dohpaz42 said:

    There is no good way to know this for certain.

    Holy shit, please tell me you're not responsible for any UI decisions ever if you honestly believe this.

    @dohpaz42 said:

    They made a design decision that they felt was correct; of course not everybody is going to agree with it; you obviously don't.

    No they didn't. They made a design decision that was lazy, and demonstrably wrong. The Aptana developers were aware of the open bug against the "user.home" path; they posted it to the bug discussion. They knew it was the wrong path. They didn't fix it because they foolishly assumed Sun/Oracle gave a shit and would eventually fix it.

    This doesn't have anything to do with "agreement". This is Aptana using a path that breaks many Windows features (network and internationalization), that makes wrong assumptions about the Windows environment, and that goes against Microsoft's documentation. It's not a "decision", it's a "bug". It's a bug they knew about, and chose not to fix for several years.

    @dohpaz42 said:

    You obviously are a power user, who has special needs (no sarcasm), with the capacity and ability to do things mere mortals could only dream of doing. Grow up already.

    The program didn't work on my computer! I'm not an "anything user" because I never even got the chance to use it before it had totally hosed my system.



  • @blakeyrat said:

    @dohpaz42 said:
    The polite thing for you to have done when filing a bug report for Aptana Studio would not to have been condescending and rude.

    The sane thing would have been to not file a bug report at all. Since this is an open source project, bugs on the bug tracker will never be fixed anyway. (Although their developer actually read all three of them, putting it ahead of every other open source project I've filed bugs to except Mozilla.)

    But you did file a bug report. Would-a, could-a, should-a... My point is that you obviously cared enough to take the time to file a bug report. You made the investment into the product - regardless of the reason. So why would you want to sabotage your efforts by automatically offending people? You're only wasting your time, and ruining your reputation (yes, that is an assumption that you actually care about your reputation).

    @blakeyrat said:

    @dohpaz42 said:
    Sure, you're frustrated and upset - rightly so, despite Aptana Studio (and Eclipse) being "Open Source", they are "professional-quality" applications - but that doesn't give you license to tear into their developers.

    The program I looked at yesterday isn't even "free prize in a box of Cracker Jacks"-quality.

    I was hoping you'd telepathically know that the quotes around professional-quality implied sarcasm.

    @blakeyrat said:

    But the point is, those developers shipped the product, right? They took at look at it in its current state, and nodded, and said, "yes, this is the level of quality we were looking for. Let's release it!" So yes, yes I can blame the programmers-- they attached their name to this product, they chose to release it in its current buggy-ass state (and note that the "wrong folder paths" bug was in their bug tracker, and existed during their entire 2.x and 3.x releases.)

    So yes, yes I can tear into them. If they don't want angry customers, perhaps they should release quality products.

    Because you've never - ever - released a product that was 100% bug-free, and you've never - ever - made stupid mistakes? I call bullshit.

    @blakeyrat said:

    @dohpaz42 said:
    I would rather be prompted for my preference of workspace location than have a program assume it for me. Zend Studio assumes this, and they always assume wrong.

    Probably because it's Java, and thus relying on the same retarded wrong behavior of the Java "user.home" variable.

    Really, you could have just stopped after writing "Probably because it's Java". There is no need to give examples; Java - IMO - is bloatware and is abused to the point that it's Pure Evil™. You won't get a counter-argument from me about that.

    @blakeyrat said:

    @dohpaz42 said:
    After I've chosen my location, and checked the box to never ask me again, I then have to go down to the filesystem and delete their wrong assumption; all of this versus just asking me the first time that I run the app. Which is more of a time saver?

    The difference is the wrong location that Aptana chooses breaks my computer. Specifically, it fills up the small partition reserved for roaming app data, denying access to other applications that (legitimately) need to store files there. Zend might do the same thing on my computer; I dunno. But as-is, the two things we're talking about aren't comparable.

    The biggest problem with OSS is the lack of resources for proper testing. This is most true for projects that are not backed by a single entity - like Microsoft, for example, who has an [assumed] R&D budget that would put Warren Buffet's monthly salary to shame (another assumption, but for dramatic effect). I could be a pedantic dickweed (we know how much you love those) and remind you that Microsoft keeps changing their directory structure between versions, and that it is a burden to many developers (as you've so indirectly implied in many recent threads) to keep up with these distinctions. Is that an excuse? Yes. It is justifiable? Probably not (as I'm sure you'll be more than happy to point out). It is what it is. You have the power to help them fix this problem, but you'd rather belittle them for it instead.

    @blakeyrat said:

    @dohpaz42 said:
    There is no good way to know this for certain.

    Holy shit, please tell me you're not responsible for any UI decisions ever if you honestly believe this.

    Explain.

    @blakeyrat said:

    @dohpaz42 said:
    You obviously are a power user, who has special needs (no sarcasm), with the capacity and ability to do things mere mortals could only dream of doing. Grow up already.

    The program didn't work on my computer! I'm not an "anything user" because I never even got the chance to use it before it had totally hosed my system.

    Waaaah! Shit happens. Let me sound like a broken record again: you could help them fix it, but you'd rather treat them like shit - almost guaranteeing that they will not fix it, and ignore you in the future - instead of helping them help you.



  • @dohpaz42 said:

    Because you've never - ever - released a product that was 100% bug-free, and you've never - ever - made stupid mistakes? I call bullshit.

    There is a difference between a bug we don't know about and a bug that has been known for years and not fixed.  The first happens to everybody, the second is plain shoddy work.

    @dohpaz42 said:

    like Microsoft, for example, who has an [assumed] R&D budget that would put Warren Buffet's monthly salary to shame (another assumption, but for dramatic effect).

    Not as big as people think

    @dohpaz42 said:

    Waaaah! Shit happens. Let me sound like a broken record again: you could help them fix it, but you'd rather treat them like shit - almost guaranteeing that they will not fix it, and ignore you in the future - instead of helping them help you.

    This is backward thinking, they are the ones with the shitty product, they should be able to handle an angry customer.  If they ignore a user complain because the user is pissed with reason then they have no bussiness as professionals

    Ohh, and I don't think blakey cares about his reputation that much, I mean who does?



  • @dohpaz42 said:

    But you did file a bug report. Would-a, could-a, should-a... My point is that you obviously cared enough to take the time to file a bug report. You made the investment into the product - regardless of the reason. So why would you want to sabotage your efforts by automatically offending people? You're only wasting your time, and ruining your reputation (yes, that is an assumption that you actually care about your reputation).

    I don't think about "reputation." Other people are welcome to think whatever they like about me. I can't control that anyway, so there's no point in trying. And from experience, when I try to change my behavior to "fit in with the community" better, it ends up just making things worse. In the immortal words of Pop-Eye, "I yam what I yam."

    @dohpaz42 said:

    Because you've never - ever - released a product that was 100% bug-free, and you've never - ever - made stupid mistakes? I call bullshit.

    You're missing the point entirely.

    1) If I did release a product with such obvious bugs, yes, I would fully expect customers to rant at me and hold me accountable for any data/time loss the software created. Because I am a professional. (No sarcasm quotes that time.)

    2) But I'd never release a product with such obvious bugs. That's not to say I'd never release a buggy product, or that I'd never release a product with a hidden bug that causes much more damage than this bug in Aptana; but I'd never release a product with a bug this obvious.

    3) Unlike most people releasing Windows software, I actually know how Windows works. I assume part of the reason the developers of Aptana chose to release the product despite this bug that they do not know how Windows works, and even knowing that the Java bug existed, they didn't have the imagination to infer the potential impact of that flaw on Windows. (I mean, if you know how Windows works, the potential for denial-of-service like I experienced should have been obvious. Assuming you spent more than a few seconds actually thinking about the bug.)

    @dohpaz42 said:

    I could be a pedantic dickweed (we know how much you love those) and remind you that Microsoft keeps changing their directory structure between versions, and that it is a burden to many developers (as you've so indirectly implied in many recent threads) to keep up with these distinctions.

    1. Aptana has a hard-coded name of "My Documents", which is wrong no matter how far back in the NT line you go. It was wrong in NT4, wrong in Windows 2000, wrong in Windows XP, wrong in Vista, and now it's wrong in Windows 7. Microsoft has always localized that folder name.

    2) If developers were using the Windows API correctly, Microsoft could rename those directories every 15 minutes and it wouldn't matter. If developers are encountering bugs related to the names of those folders, their applications were already broken. Microsoft didn't "create" the bug, it only exposed the existing bug.

    3) For some reason I'm obsessed with typing lists this morning. Forgive me.

    @dohpaz42 said:

    You have the power to help them fix this problem, but you'd rather belittle them for it instead.

    I did help them.

    @dohpaz42 said:

    @blakeyrat said:
    @dohpaz42 said:
    There is no good way to know this for certain.

    Holy shit, please tell me you're not responsible for any UI decisions ever if you honestly believe this.

    Explain.

    Because if you were responsible for UI decisions, I'd hope to God you were aware of things like interviewing users, or querying product feature usage data. If you're responsible for UI decisions and you honestly can't think of a way to answer the question, "how many users change the default project path?" then you should quit, immediately.

    @dohpaz42 said:

    you could help them fix it,

    I did help them fix it.

    @dohpaz42 said:

    but you'd rather treat them like shit - almost guaranteeing that they will not fix it, and ignore you in the future - instead of helping them help you.

    The bug I reported is a bug regardless of how rude I was. (Or how rude they perceive I was.) If they give a shit, they'll fix it. If they don't, they won't. So it goes.



  • Honestly I didn't even think the bug report was that rude anyway.



  • @Sutherlands said:

    Honestly I didn't even think the bug report was that rude anyway.
     

    I agree. The bug reports are concise, easy to understand, and frankly I think anyone who would consider them rude is a bit oversensitive. It's a bug report, for God sakes. It's kinda hard to sugar coat it without sounding like an idiot.

    If Blakey's bug reports were worded like the OP, that's another story. But these bug reports seemed objective and useful.



  • I'm with blakey 100% on this one. SHGetKnownFolderPath() has been around for almost half a decade and has been Microsoft's recommended way for retrieving special directory paths ever since its release. The fact that an application isn't using it is flat out inexcusable. (What's even less excusable is the fact that Java doesn't use this call and a bug regarding this was filed FOUR YEARS AGO and is still unfixed! How difficult is it for Sun to put in special-case logic for System.getProperty("user.home") to do a native call to SHGetKnownFolderPath if the OS is Windows? I reckon Oracle got ripped off.)

    Granted, this is something Java should do, but if the Eclipse developers actually cared about not fucking their users in the ass, they would've written a one-method JNI DLL that calls SHGetKnownFolderPath and bundled said DLL with the Windows binaries only. Not rocket science - they would have a (less un-) happy user, they wouldn't have an extra bug report to deal with, and they wouldn't have their software being ridiculed on a well-known site dedicated to said ridiculing.

    As for bug reports, I'd rather have a fleshed-out, well-explained, screenshotted, slightly sarcastic bug report than one with absolutely no information except "hay i luv yor app but it breaks when i poop on it"; blakey's reports are what most developers can only dream of. If I was a maintainer of an OSS project and had to dredge through 500 spurious/useless bug reports to find a single meaningful one, I wouldn't bother either, and that's why so many "minor" OSS bugs go unnoticed/unfixed. (Not blaming OSS devs here, I just wish that most users weren't tools... ideal world.)

    Finally, if people hating me gets them to write better software, then they should hate me more, reputation be damned. (Although it's rather sad if pride in their own work doesn't cause them to strive to write better software anyway.)



  • @The_Assimilator said:

    How difficult is it for Sun to put in special-case logic for System.getProperty("user.home") to do a native call to SHGetKnownFolderPath if the OS is Windows? I think Oracle got ripped off.)

    It's a trickier problem than you assume. Remember, the assumption that Windows has a single "home directory" and all other user-related files are underneath it is a bad assumption. It's in the bug report, but here's basically the configuration of my computer:

    "home directory"- C:\Users\(username)\ (note: "home directory" means any known folders not specifically mentioned below)
    Roaming AppData- D:\Users\(username)\AppData\Roaming\ (note: the D: partition has only 300 MB of space)
    Internet Favorites- D:\Users\(username)\Favorites\
    Documents- M:\docs\ (A.K.A. \\main.corp\users\(username)\Documents\)

    That configuration is not-at-all unusual. Windows has no particular requirement that the known folders are in the same folder tree. Windows has no particular requirement that they reside on the same disk or network share. Which means there's no way to take a single path from Java and correctly store all your data in Windows. (And this was all true when Java was written in the first place-- these rules applied as much to Windows NT 4 as they do to Windows 7. This is not new.)

    If I were Oracle, and in charge of Java, here's what I'd do:

    1) Create a quick and easy set of properties in Java's "user" object that cooresspond to the Windows named folders; ideally this should populate the list from Microsoft's list, so that if Microsoft adds new named folders in the future they will just "magically appear".

    2) (Most correct:) Throw an exception if a program built for Windows attempts to access "user.home" instead of the named folders created in 1. There's no circumstance in Windows where using "user.home" is correct*.

    3) (Less correct, interrim solution:) Java should point "user.home" to some path like "%LocalAppData%\Java Runtime". The problem here is it means that *no* Java applications will be able to roam. But at least it solves all the other issues and doesn't require rebuilding older software. (Java developers who are aware of the concept of "roaming" are probably not using Java's busted-ass "user.home" path anyway.)

    I'm sure there's a dozen problems with that plan. But the real point in step 2 is to give developers writing software for Windows a gigantic sign that says, "HEY IDIOT, Windows is not Linux, you can't just treat it like Linux!" The exception would be annoying, but at least Java software would be a lot more likely to be correct.




    *) this is a simplification; obviously at the moment "user.home" points to the roaming application data directory, which in theory a Java program could use correctly. But since Java developers would likely fuck that up, like Aptana and Netbeans have fucked it up, it's still better to throw an exception and quell the error before it starts.



  • One thing I forgot to mention, and my edit window is over:

    @blakeyrat said:

    1) Create a quick and easy set of properties in Java's "user" object that cooresspond to the Windows named folders; ideally this should populate the list from Microsoft's list, so that if Microsoft adds new named folders in the future they will just "magically appear".

    This list must be refreshed at least every login, because Windows also has no particular requirement that the named folders stay in the same place from day to day. (They can actually be moved in real-time, but I think once-per-login is sufficient.)



  • I didn't bother delving into the specifics of a fix because FUCK SUN. If they can't implement an obvious fix for an obvious bug in four fucking years, it ain't ever gonna happen. I now officially hate Java.

    @blakeyrat said:

    1) Create a quick and easy set of properties in Java's "user" object that cooresspond to the Windows named folders; ideally this should populate the list from Microsoft's list, so that if Microsoft adds new named folders in the future they will just "magically appear".

    Except that would make the JRE OS-dependant, and we can't have that now can we? Nevermind that the Mono guys implemented .NET's Environment.SpecialFolder enumeration by making the various folders point to the same place in Linux, even though semantically most of them don't mean anything; it's far easier for Linux C# devs to ignore the folders they aren't interested in, than for Windows Java devs to try determine the correct folder to use given the equivalent of a rusty spoon and a piece of string.

    @blakeyrat said:

    2) (Most correct:) Throw an exception if a program built for Windows attempts to access "user.home" instead of the named folders created in 1. There's no circumstance in Windows where using "user.home" is correct*.

    From a programming point of view it's correct; from a manager's point of view, it'll break every shitty Java app out there that isn't clever enough to use the correct API call. Hence it's not correct and will never make it into production, thus causing the problem to perpetuate until Java dies of autoerotic asphyxiation and people finally stop using it.

    @blakeyrat said:

    HEY IDIOT, Windows is not Linux, you can't just treat it like Linux!

    I'm thinking maybe they do.



  • @The_Assimilator said:

    @blakeyrat said:
    HEY IDIOT, Windows is not Linux, you can't just treat it like Linux!

    I'm thinking maybe they do.

    What's the association between blakey's statement and the link? It seems to be pointing out a whole other WTF (namely, 32 vs 64-bit JDKs).



  • @The_Assimilator said:

    FUCK SUN

    They were absorbed by Oracle, so... done.

     



  • @boomzilla said:

    @The_Assimilator said:
    @blakeyrat said:
    HEY IDIOT, Windows is not Linux, you can't just treat it like Linux!

    I'm thinking maybe they do.

    What's the association between blakey's statement and the link? It seems to be pointing out a whole other WTF (namely, 32 vs 64-bit JDKs).

    If Java can't figure out user.home on Linux, the platform that it's pretty much built for, it's no surprise it can't determine the correct value in Windows.

    Yes, I know that's a low blow, tenuous connection, etc. but I'm feeling ornery tonight. Stupid weather going from sub-teens temps at 8am to high 20s by 11am (Celsius, yankee imperialists!) does not make my hayfever happy.



  • @The_Assimilator said:

    Except that would make the JRE OS-dependant, and we can't have that now can we? Nevermind that the Mono guys implemented .NET's Environment.SpecialFolder enumeration by making the various folders point to the same place in Linux, even though semantically most of them don't mean anything; it's far easier for Linux C# devs to ignore the folders they aren't interested in, than for Windows Java devs to try determine the correct folder to use given the equivalent of a rusty spoon and a piece of string.

    That is a much better solution, but I rejected it for Java because I wager something like 80% of Java apps are server apps that will only run on Linux. There's no point in making those apps change, since they aren't broken.

    Of course, I'm pretty sure even Linux-based OSes have the concept of "local application data" vs. "roaming application data"-- if so, "user.home" is a flawed concept in Linux as well.

    @The_Assimilator said:

    @blakeyrat said:
    2) (Most correct:) Throw an exception if a program built for Windows attempts to access "user.home" instead of the named folders created in 1. There's no circumstance in Windows where using "user.home" is correct*.

    From a programming point of view it's correct; from a manager's point of view, it'll break every shitty Java app out there that isn't clever enough to use the correct API call. Hence it's not correct and will never make it into production, thus causing the problem to perpetuate until Java dies of autoerotic asphyxiation and people finally stop using it.

    That's why you do number 3 for the next release, and move to number 2 later. (Of course, number 3 presents issues too: if you upgrade your JRE, suddenly an app on your computer might be looking for settings in the wrong place... so... it's fucked all around.)

    What really shocks me, the more I think about it, is that Java was developed after NT... why wasn't this correct from the get-go? It boggles the mind.



  • @blakeyrat said:

    Of course, I'm pretty sure even Linux-based OSes have the concept of "local application data" vs. "roaming application data"-- if so, "user.home" is a flawed concept in Linux as well.

    My understanding is that the way a roaming profile is handled is that the entire home directory structure is mapped out to a network share, and you sync users/passwords over your network. So there is no concept of local and roaming directories. You might sync up a laptop's disk with the network or something, but again, it's all in a single place, which always looks like $HOME to programs.



  • @The_Assimilator said:

    @boomzilla said:
    @The_Assimilator said:
    @blakeyrat said:
    HEY IDIOT, Windows is not Linux, you can't just treat it like Linux!
    I'm thinking maybe they do.
    What's the association between blakey's statement and the link? It seems to be pointing out a whole other WTF (namely, 32 vs 64-bit JDKs).

    If Java can't figure out user.home on Linux, the platform that it's pretty much built for, it's no surprise it can't determine the correct value in Windows.

    Yes, I know that's a low blow, tenuous connection, etc. but I'm feeling ornery tonight. Stupid weather going from sub-teens temps at 8am to high 20s by 11am (Celsius, yankee imperialists!) does not make my hayfever happy.

    I'd take that over 108 (that's Farenheit, non-yankee imperialists! (42 C))



  • @boomzilla said:

    My understanding is that the way a roaming profile is handled is that the entire home directory structure is mapped out to a network share, and you sync users/passwords over your network. So there is no concept of local and roaming directories. You might sync up a laptop's disk with the network or something, but again, it's all in a single place, which always looks like $HOME to programs.

    How does that work if the user is offline? Edit: Oh I missed "sync files". Hm.



  • @blakeyrat said:

    How does that work if the user is offline? Edit: Oh I missed "sync files". Hm.

    Also, you've reached the limit of my knowledge on the subject, which was gained moments ago via google, and not being a sysadmin type, I'm not real familiar with any of it. If I had to guess, though, I'd say such a set up is probably very rare, if only because there probably aren't many substantial networks of linux computers where this would be important.

    I also wonder how common roaming profiles really are in corporate networks. Especially as relates to how well that sort of thing scales vs the benefit. In a small lab where you never know which machine you might use it might make a lot of sense, but it seems like mostly you'd be using a single machine at your desk or whatever.



  • @boomzilla said:

    I also wonder how common roaming profiles really are in corporate networks.

    I'd expect that rather than roaming profiles (which are slow any prone to breakage), folders are redirected to network instead (which is somewhat faster, but still prone to breakage, though somewhat less than roaming profiles).



  • @boomzilla said:

    I also wonder how common roaming profiles really are in corporate networks.

    Microsoft's been trying to scale them back for awhile now. Obviously they're not going to just say "NO LONGER SUPPORTED!!" but I think they've been discouraging it for new networks. Someone correct me if I'm wrong.

    Oddly, our office didn't have this setup until recently-- our old network setup just mapped the entire profile to the network and used Microsoft's "Sync Center" for laptops. (Basically exactly equivalent to what you think Linux network do.) This new setup is something the Frenchies put on our computers when they imaged everybody with Windows 7.



  • @frits said:

    Note the combination of setup wizard, SSH key generation, and <font color="#FF0000">terminal jokeying</font>.

    And a wonderful new computer term is born.



  • [quote user=""blakeyrat"]For some strange reason, the entry isn't under "Aptana" and doesn't even say "Aptana" on it. It's under "Appcelerator." [/quote] @pbean said:

    Yes that's something that has bothered me for ages, every since I first started using Windows. Why the hell do people think that using a Start menu entry with the name of the company who made the product is handy? With games I used to have this a lot.

    I believe this is the officially recommended-by-Microsoft® method that was introduced beginning with Windows 95.   Programs are installed to:   Program Files -->  Vendor Name -->  ProgramName   with similar naming convention for the Start Menu.  I guess nobody bothered to think ahead a little bit and notice the obvious flaw in this.



  • @frits said:

    They made the decision to jump on the Git bandwagon for who knows what dumb reason and now have a conundrum because it's not an easy installation. 

    But ..... Git was created by the same dudes that created Linux.   It has to be awesome!





  • @derula said:

    What? ... Why?

    Because BitKeeper revoked the license it's given to Linux developers, and the Linus didn't want to continue working on Linux until he had a new revision control system.



  • @El_Heffe said:

    @frits said:

    They made the decision to jump on the Git bandwagon for who knows what dumb reason and now have a conundrum because it's not an easy installation. 
    But ..... Git was created by the same dudes that created Linux.   It has to be awesome!

    I actually had a professor for one of my Master's courses use that as a justification as to why we should learn Git.  "OMG it's going to be HUGE!  Everyone will be using it soon because it was developed by the creators of Linux.  It's here to stay!  I love Drupal!"  He even mandated that none of our school work counted unless it was submitted to a central repository on GitHub.



  • @El_Heffe said:

    @frits said:

    Note the combination of setup wizard, SSH key generation, and <FONT color=#ff0000>terminal jokeying</FONT>.
    And a wonderful new computer term is born.

    FML.  Will I ever learn to spell?



  • @frits said:

    I actually had a professor for one of my Master's courses use that as a justification as to why we should learn Git.  "OMG it's going to be HUGE!  Everyone will be using it soon because it was developed by the creators of Linux.  It's here to stay!  I love Drupal!"  He even mandated that none of our school work counted unless it was submitted to a central repository on GitHub.

    Those who can't, TEACH!

    This will in no way cause a huge pointless debate.



  • @ender said:

    @derula said:
    What? ... Why?
    Because BitKeeper revoked the license it's given to Linux developers, and the Linus didn't want to continue working on Linux until he had a new revision control system.

    Ah. That's a nice story. Thanks.



  • @blakeyrat said:

    This will in no way cause a huge pointless debate.
     

    Or an obligatory link to Taylor Mali's poetry slam.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    Those who can't, TEACH!

    This will in no way cause a huge pointless debate.

    Actually,more correctly it's

    "Those who can't, become full-time tenured professors and emphatically do not teach". I've never heard of anyone actually learning anything from anyone called Professor. It's all book-learned or self-discovery or from some other source they were forced to seek out.

    Additionally:

    Those who are trying to, become TA's and teach.

    Those who can but have a masochistic streak become adjuncts and teach.

    Those who probably could but are too unhinged to bother become grade school teachers and teach.


Log in to reply

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.