As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/
Options

PA Programming Thread - The Best Servers Are The Ones You Don't Use

15759616263

Posts

  • Options
    FremFrem Registered User regular
    edited March 2011
    End wrote: »
    Ethea wrote: »
    The greatest problem with python is the GIL ( Global Interpreter Lock ).

    heh, I was going to say this

    You can work around it in certain cases, but it's certainly a pretty large limiting issue with (C)Python.

    D:

    Python is my favorite language, but it has all these rough edges! First I find out that the object model isn't as shiny as Ruby's. Then I learned about blocks and became sad that Python can't really do anything similar recursively without being ugly. Now I learn that it's pretty much impossible to write awesome multicore programs with it.

    It's almost like it's not perfect or something, but I know that couldn't be the case.

    Frem on
  • Options
    templewulftemplewulf The Team Chump USARegistered User regular
    edited March 2011
    Hey, does anybody have any experience using Eclipse with SVN?

    I already have some existing repositories and working copies of mainly-PHP projects, but I'm having a hell of a time getting Eclipse to pick up an existing working copy.

    I have my web root set to /var/www/<project>/trunk, which is not coincidentally my local copy. Would it be easier to wipe out that dir and re-checkout from the repository with a "new" local copy in that location?

    templewulf on
    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • Options
    Joe KJoe K Registered User regular
    edited March 2011
    templewulf wrote: »
    Hey, does anybody have any experience using Eclipse with SVN?

    I already have some existing repositories and working copies of mainly-PHP projects, but I'm having a hell of a time getting Eclipse to pick up an existing working copy.

    I have my web root set to /var/www/<project>/trunk, which is not coincidentally my local copy. Would it be easier to wipe out that dir and re-checkout from the repository with a "new" local copy in that location?

    ummm.... i wouldnt set the webroot on your dev machine to your working directory, that's what those evil XML setup files are for in ecipse, pointing the webserver to your local copy.

    are you using subclipse for eclipse? if not, get.

    usually svn is exported over http(s) (sometimes the protocol is svn), and USUALLY the url to the repo is:

    http://host/svn/$project/trunk

    note the svn in there, its almost 100% of the time there.

    Joe K on
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    My favorite bit trick is the variable swap with XOR. ;-)

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    templewulftemplewulf The Team Chump USARegistered User regular
    edited March 2011
    Joe K wrote: »
    ummm.... i wouldnt set the webroot on your dev machine to your working directory, that's what those evil XML setup files are for in ecipse, pointing the webserver to your local copy.

    are you using subclipse for eclipse? if not, get.

    usually svn is exported over http(s) (sometimes the protocol is svn), and USUALLY the url to the repo is:

    http://host/svn/$project/trunk

    note the svn in there, its almost 100% of the time there.

    The trick is that I'm working on my Win7 machine, and I'm saving to a network share on my server. I could install web server(s) for testing on my Win7 box, but I'm trying to do this as lazily as possible here. Also, I'd like it to run in a LAMP environment, as that is what my web host uses.

    Yes, I'm using subclipse, and my SVN URL does work correctly. I just don't know how to get to the option in Eclipse to import a project through an existing working copy. If one doesn't exist, I might just acquiesce and install some damn servers.

    templewulf on
    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • Options
    EvilMonkeyEvilMonkey Registered User regular
    edited March 2011
    You guys were right about the redundancy and weirdness in my coordinate system, but I already fixed it to this:
    for (z = 0; z < 10; z++)
                    for (y = 0; y < 50; y++)
                        for (x = 0; x < 50; x++)
                        {
                            Grid[x, y, z] = new Coordinate();
                            Grid[x, y, z].ID = i;
                            i++;
                            Grid[x, y, z].X = x;
                            Grid[x, y, z].Y = y;
                            Grid[x, y, z].Z = z;}
    

    I kept the ID number section in there, because why not, at this point. I may find some use for the ID, separate from the X,Y,Z values.
    So you have a 3D array with essentially default coordinates. Do these ever get updated? If yes then how many will normally get updated (all? 10%?). What I'm driving at is whether you need to keep all 25000 in memory.
    // psuedo-code...too lazy to look up exact syntax right now
    getCoordinate(int x, int y, int z)
    {
         // TODO: Boundary check of x: 0-49, y: 0-49, z: 0-9
         int index = (500*x) + (10*y) + z;
         if (cooridinates.keyExists(index) return cooridantes.at(index);
         else return new Coordinate(x, y, z);
    }
    
    The gotcha being that to ensure your update (if one occurs) is saved you would have to perform something similar to a...
    setCoordinate(int x, int y, int z, Coordinate c) method, or add the default coordinate to your list once retrieved.
    
    Of course this could all be moot depending how it is exactly you are using these coordinates.

    EvilMonkey on
    [PSN: SciencePiggy] [Steam]
  • Options
    Joe KJoe K Registered User regular
    edited March 2011
    templewulf wrote: »
    Joe K wrote: »
    ummm.... i wouldnt set the webroot on your dev machine to your working directory, that's what those evil XML setup files are for in ecipse, pointing the webserver to your local copy.

    are you using subclipse for eclipse? if not, get.

    usually svn is exported over http(s) (sometimes the protocol is svn), and USUALLY the url to the repo is:

    http://host/svn/$project/trunk

    note the svn in there, its almost 100% of the time there.

    The trick is that I'm working on my Win7 machine, and I'm saving to a network share on my server. I could install web server(s) for testing on my Win7 box, but I'm trying to do this as lazily as possible here. Also, I'd like it to run in a LAMP environment, as that is what my web host uses.

    Yes, I'm using subclipse, and my SVN URL does work correctly. I just don't know how to get to the option in Eclipse to import a project through an existing working copy. If one doesn't exist, I might just acquiesce and install some damn servers.

    I'm on a similar setup. Linux svn over http, but i do have eclipse, postgres, tomcat et.al setup locally on win7, and then copy the war out for changes on the production server.

    I'm pretty sure that you can add a project to your workspace through one of the Team commands.... or.. something... I can check, but what you want to do is perfectly doable and fairly simple.

    saving to a network share is riddled with dragons when doing source control. you don't actually know WHEN the file is actually written.

    Joe K on
  • Options
    InfidelInfidel Heretic Registered User regular
    edited March 2011
    templewulf wrote: »
    Hey, does anybody have any experience using Eclipse with SVN?

    I already have some existing repositories and working copies of mainly-PHP projects, but I'm having a hell of a time getting Eclipse to pick up an existing working copy.

    I have my web root set to /var/www/<project>/trunk, which is not coincidentally my local copy. Would it be easier to wipe out that dir and re-checkout from the repository with a "new" local copy in that location?

    It's not actually an existing working copy though, right? SVN won't know what to do with it, you want to make a real working copy. You can merge the files in after you checkout.

    You can have the webroot set to a working copy for internal testing, just make sure you're exporting to publish for live instead of checking out.

    Infidel on
    OrokosPA.png
  • Options
    EchoEcho ski-bap ba-dapModerator mod
    edited March 2011
    Icemopper wrote: »
    Maybe I already have a basic grasp, let me give it a shot. Can I say that 0000 = red, blue, yellow, green, and starting with nothing, then adding a blue, say add 0100?

    Is that extremely basic/correct?

    That's extremely correct. :P

    Look at how colors are defined in HTML and CSS - #ffffff is white, #ff0000 is red. It's red, green, blue in hexadecimal.

    Start at black - #000000. Add one (reeeeally dark) shade of green - #000100. And so on.

    Echo on
  • Options
    EtheaEthea Registered User regular
    edited March 2011
    I think I jumped in a rabbit hole. I just wrote:
    #include <setjmp.h>
    

    Ethea on
  • Options
    Joe KJoe K Registered User regular
    edited March 2011
    Frem wrote: »
    End wrote: »
    Ethea wrote: »
    The greatest problem with python is the GIL ( Global Interpreter Lock ).

    heh, I was going to say this

    You can work around it in certain cases, but it's certainly a pretty large limiting issue with (C)Python.

    D:

    Python is my favorite language, but it has all these rough edges! First I find out that the object model isn't as shiny as Ruby's. Then I learned about blocks and became sad that Python can't really do anything similar recursively without being ugly. Now I learn that it's pretty much impossible to write awesome multicore programs with it.

    It's almost like it's not perfect or something, but I know that couldn't be the case.

    The issue is one that arises from there being a Benevolent Dictator for Life. I love Python, but some of the constructs are absolutely the result of one guy convinced he knows knowing better than everyone else. See also Perl, and NetBSD.

    Linux hasn't one this route, because Linus is mostly hands off these days.

    Joe K on
  • Options
    templewulftemplewulf The Team Chump USARegistered User regular
    edited March 2011
    Infidel wrote: »
    templewulf wrote: »
    Hey, does anybody have any experience using Eclipse with SVN?

    I already have some existing repositories and working copies of mainly-PHP projects, but I'm having a hell of a time getting Eclipse to pick up an existing working copy.

    I have my web root set to /var/www/<project>/trunk, which is not coincidentally my local copy. Would it be easier to wipe out that dir and re-checkout from the repository with a "new" local copy in that location?

    It's not actually an existing working copy though, right? SVN won't know what to do with it, you want to make a real working copy. You can merge the files in after you checkout.

    You can have the webroot set to a working copy for internal testing, just make sure you're exporting to publish for live instead of checking out.

    It's a local copy of the repository that I've checked out to a /var/www directory, if that's what you mean. I checked it out using just straight SVN and made edits using vim and gedit. Now I want to try eclipse out, but I can't figure out how to make it realize that these files are source controlled.

    And, yes, the web root here is just my server at home for internal testing. RapidSVN gives easy access to the export command, so that's what I use before FTPing up to the host.

    Not that I've ever accidentally copied .svn from my working directory or anything.

    >_>

    <_<

    templewulf on
    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • Options
    Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    edited March 2011
    Joe K wrote: »
    I love Python, but some of the constructs are absolutely the result of one guy convinced he knows knowing better than everyone else.

    That's really not the case, GvR has shown himself to be incredibly welcoming to new ideas for Python, if anything some of Python's flaws are because he used to be too magpie in his addition of language features and other people's suggestions.

    One the positive effects of this is that almost all of Python's 'functional' stuff, the lambda, list comprehensions, map and filter and reduce etc. where all from outside contributors and as GvR says pretty much were outside his area of expertise.

    Alistair Hutton on
    I have a thoughtful and infrequently updated blog about games http://whatithinkaboutwhenithinkaboutgames.wordpress.com/

    I made a game, it has penguins in it. It's pay what you like on Gumroad.

    Currently Ebaying Nothing at all but I might do in the future.
  • Options
    InfidelInfidel Heretic Registered User regular
    edited March 2011
    templewulf wrote: »
    Infidel wrote: »
    templewulf wrote: »
    Hey, does anybody have any experience using Eclipse with SVN?

    I already have some existing repositories and working copies of mainly-PHP projects, but I'm having a hell of a time getting Eclipse to pick up an existing working copy.

    I have my web root set to /var/www/<project>/trunk, which is not coincidentally my local copy. Would it be easier to wipe out that dir and re-checkout from the repository with a "new" local copy in that location?

    It's not actually an existing working copy though, right? SVN won't know what to do with it, you want to make a real working copy. You can merge the files in after you checkout.

    You can have the webroot set to a working copy for internal testing, just make sure you're exporting to publish for live instead of checking out.

    It's a local copy of the repository that I've checked out to a /var/www directory, if that's what you mean. I checked it out using just straight SVN and made edits using vim and gedit. Now I want to try eclipse out, but I can't figure out how to make it realize that these files are source controlled.

    And, yes, the web root here is just my server at home for internal testing. RapidSVN gives easy access to the export command, so that's what I use before FTPing up to the host.

    Not that I've ever accidentally copied .svn from my working directory or anything.

    >_>

    <_<

    Use export at some point in the publishing process, even if it's to update a clean folder for uploading by FTP after.

    Infidel on
    OrokosPA.png
  • Options
    PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    edited March 2011
    Ethea wrote: »
    I think I jumped in a rabbit hole. I just wrote:
    #include <setjmp.h>
    

    Abandon all hope ye who calls longjmp()

    Phyphor on
  • Options
    EtheaEthea Registered User regular
    edited March 2011
    Phyphor wrote: »
    Ethea wrote: »
    I think I jumped in a rabbit hole. I just wrote:
    #include <setjmp.h>
    

    Abandon all hope ye who calls longjmp()

    Who thinks calling exit() inside a library is perfectly valid. Now I have to hack in longjumps out instead.

    Ethea on
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    Wait... a library calls exit???

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    InfidelInfidel Heretic Registered User regular
    edited March 2011
    bowen wrote: »
    Wait... a library calls exit???

    If a library call fails it's totally Best Practice to ninja terminate the offending application.

    Infidel on
    OrokosPA.png
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    Infidel wrote: »
    bowen wrote: »
    Wait... a library calls exit???

    If a library call fails it's totally Best Practice to ninja terminate the offending application.

    :?

    I.. w... I don't even have words. I would never think "oh hey my library had an error, let me close the main program, this must be critical to the system stability!"

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    EtheaEthea Registered User regular
    edited March 2011
    bowen wrote: »
    Infidel wrote: »
    bowen wrote: »
    Wait... a library calls exit???

    If a library call fails it's totally Best Practice to ninja terminate the offending application.

    :?

    I.. w... I don't even have words. I would never think "oh hey my library had an error, let me close the main program, this must be critical to the system stability!"

    In this case the code was written as a standalone application first and as a library second.

    Ethea on
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    Oh... well.. that makes me feel a little better.

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    edited March 2011
    bowen wrote: »
    Infidel wrote: »
    bowen wrote: »
    Wait... a library calls exit???

    If a library call fails it's totally Best Practice to ninja terminate the offending application.

    :?

    I.. w... I don't even have words. I would never think "oh hey my library had an error, let me close the main program, this must be critical to the system stability!"

    It's probably more like "oh hey my library had an error, but handling errors is hard and I'll probably leak some resources too, so let's just call exit()"

    Phyphor on
  • Options
    DrovekDrovek Registered User regular
    edited March 2011
    So I need a bit of help:

    I want to write a Java program that's basically an interface for another, non-java, program. What I want to do is have the user input certain options and have the Java program call the .exe file with certain input parameters based on the user's options.

    How exactly do I do that part? (As in, starting the .exe with certain options.)

    Please help me, PA thread.

    Drovek on
    steam_sig.png( < . . .
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    Man even just a fucking return code isn't hard to do. I mean sure it's more typing, but, still, if you're putting together a library you can't be that fucking lazy, maybe an hour or so of extra work.

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    Drovek wrote: »
    So I need a bit of help:

    I want to write a Java program that's basically an interface for another, non-java, program. What I want to do is have the user input certain options and have the Java program call the .exe file with certain input parameters based on the user's options.

    How exactly do I do that part? (As in, starting the .exe with certain options.)

    Please help me, PA thread.

    The Runtime or Process classes, maybe?

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    Jimmy KingJimmy King Registered User regular
    edited March 2011
    bowen wrote: »
    Drovek wrote: »
    So I need a bit of help:

    I want to write a Java program that's basically an interface for another, non-java, program. What I want to do is have the user input certain options and have the Java program call the .exe file with certain input parameters based on the user's options.

    How exactly do I do that part? (As in, starting the .exe with certain options.)

    Please help me, PA thread.

    The Runtime or Process classes, maybe?
    Runtime.getRuntime.exec(command) will do it. It returns the output of the executable as a string. If there's any user input being passed to it, make sure to sanitize it.

    Jimmy King on
  • Options
    Gandalf_the_CrazedGandalf_the_Crazed Vigilo ConfidoRegistered User regular
    edited March 2011
    EvilMonkey wrote: »
    You guys were right about the redundancy and weirdness in my coordinate system, but I already fixed it to this:
    for (z = 0; z < 10; z++)
                    for (y = 0; y < 50; y++)
                        for (x = 0; x < 50; x++)
                        {
                            Grid[x, y, z] = new Coordinate();
                            Grid[x, y, z].ID = i;
                            i++;
                            Grid[x, y, z].X = x;
                            Grid[x, y, z].Y = y;
                            Grid[x, y, z].Z = z;}
    

    I kept the ID number section in there, because why not, at this point. I may find some use for the ID, separate from the X,Y,Z values.
    So you have a 3D array with essentially default coordinates. Do these ever get updated? If yes then how many will normally get updated (all? 10%?). What I'm driving at is whether you need to keep all 25000 in memory.
    // psuedo-code...too lazy to look up exact syntax right now
    getCoordinate(int x, int y, int z)
    {
         // TODO: Boundary check of x: 0-49, y: 0-49, z: 0-9
         int index = (500*x) + (10*y) + z;
         if (cooridinates.keyExists(index) return cooridantes.at(index);
         else return new Coordinate(x, y, z);
    }
    
    The gotcha being that to ensure your update (if one occurs) is saved you would have to perform something similar to a...
    setCoordinate(int x, int y, int z, Coordinate c) method, or add the default coordinate to your list once retrieved.
    
    Of course this could all be moot depending how it is exactly you are using these coordinates.

    Tentatively, I'm thinking they do all need to exist at all times. There will be gunshots traveling across the map, pathfinding going on, terrain generated at the beginning of the match, and even when people aren't looking at them, there may be NPCs and/or monsters moving across them.

    Gandalf_the_Crazed on
    PEUsig_zps56da03ec.jpg
  • Options
    GnomeTankGnomeTank What the what? Portland, OregonRegistered User regular
    edited March 2011
    Speaking of Python, I was commenting to a friend the other day that I was kind of surprised how slow the uptake of Python 3 has been. Python 3 was released in 2008, yet everyone I know is still using 2.6/2.7.

    GnomeTank on
    Sagroth wrote: »
    Oh c'mon FyreWulff, no one's gonna pay to visit Uranus.
    Steam: Brainling, XBL / PSN: GnomeTank, NintendoID: Brainling, FF14: Zillius Rosh SFV: Brainling
  • Options
    Jimmy KingJimmy King Registered User regular
    edited March 2011
    GnomeTank wrote: »
    Speaking of Python, I was commenting to a friend the other day that I was kind of surprised how slow the uptake of Python 3 has been. Python 3 was released in 2008, yet everyone I know is still using 2.6/2.7.
    I'm using 2.6 because that's what Debian 6 comes with. I suspect it's some combination of what Linux distros package (of course many are more up to date than Debian) and that 3.x is not backwards compatible with 2.x, so that means updating code, waiting for other people to update code, possibly maintaing two different branches as long as a lot of people are still using 2.x, etc.

    Jimmy King on
  • Options
    GnomeTankGnomeTank What the what? Portland, OregonRegistered User regular
    edited March 2011
    Jimmy King wrote: »
    GnomeTank wrote: »
    Speaking of Python, I was commenting to a friend the other day that I was kind of surprised how slow the uptake of Python 3 has been. Python 3 was released in 2008, yet everyone I know is still using 2.6/2.7.
    I'm using 2.6 because that's what Debian 6 comes with. I suspect it's some combination of what Linux distros package (of course many are more up to date than Debian) and that 3.x is not backwards compatible with 2.x, so that means updating code, waiting for other people to update code, possibly maintaing two different branches as long as a lot of people are still using 2.x, etc.

    Yah, but I mean Ruby 1.9 isn't completely backwards compatible with 1.8, but the uptake has been relatively quick. Of course, that could be due to Rails 3 being Ruby 1.9 I suppose.

    GnomeTank on
    Sagroth wrote: »
    Oh c'mon FyreWulff, no one's gonna pay to visit Uranus.
    Steam: Brainling, XBL / PSN: GnomeTank, NintendoID: Brainling, FF14: Zillius Rosh SFV: Brainling
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    What is the benefit of Python 3 over Python 2.7?

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    GnomeTankGnomeTank What the what? Portland, OregonRegistered User regular
    edited March 2011
    bowen wrote: »
    What is the benefit of Python 3 over Python 2.7?

    http://docs.python.org/release/3.0.1/whatsnew/3.0.html

    GnomeTank on
    Sagroth wrote: »
    Oh c'mon FyreWulff, no one's gonna pay to visit Uranus.
    Steam: Brainling, XBL / PSN: GnomeTank, NintendoID: Brainling, FF14: Zillius Rosh SFV: Brainling
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    Yeah the only thing that really sticks out to me is a few name changes and syntax uniformity. I'd be pretty hesitant to convert all my existing code to 3.0. Of course that's a double edged sword because then I'd probably never upgrade my interpreter to 3.0 and all my new code would be 2.7 as well.

    It basically surmounts to rewriting my code to accommodate the changes. Though that was a skim so I probably glossed over some deeper changes.

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    DrovekDrovek Registered User regular
    edited March 2011
    Jimmy King wrote: »
    bowen wrote: »
    Drovek wrote: »
    So I need a bit of help:

    I want to write a Java program that's basically an interface for another, non-java, program. What I want to do is have the user input certain options and have the Java program call the .exe file with certain input parameters based on the user's options.

    How exactly do I do that part? (As in, starting the .exe with certain options.)

    Please help me, PA thread.

    The Runtime or Process classes, maybe?
    Runtime.getRuntime.exec(command) will do it. It returns the output of the executable as a string. If there's any user input being passed to it, make sure to sanitize it.

    Cool, I'll check that out! :D

    Thanks guys.

    Drovek on
    steam_sig.png( < . . .
  • Options
    iTunesIsEviliTunesIsEvil Cornfield? Cornfield.Registered User regular
    edited March 2011
    Quick bitch-fest: Xcode 4 was released today. Apple can go take a hike though. Xcode now costs money. You either have to enroll in the iOS Developer Program ($99), the Mac Developer Program ($99) or you can buy Xcode on the App Store ($5). $5 isn't a big deal at all, but why all the sudden start charging for Xcode? Let me guess: Sarbanes–Oxley?

    iTunesIsEvil on
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    If I pay the $5, can I develop with the iPhone/iPad SDK?

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    EtheaEthea Registered User regular
    edited March 2011
    GnomeTank wrote: »
    Speaking of Python, I was commenting to a friend the other day that I was kind of surprised how slow the uptake of Python 3 has been. Python 3 was released in 2008, yet everyone I know is still using 2.6/2.7.

    The change to the default behaviour of divide in python to always return a float value pissed me off greatly, and I expect it did the same for numerous other developers.

    Ethea on
  • Options
    EtheaEthea Registered User regular
    edited March 2011
    Quick bitch-fest: Xcode 4 was released today. Apple can go take a hike though. Xcode now costs money. You either have to enroll in the iOS Developer Program ($99), the Mac Developer Program ($99) or you can buy Xcode on the App Store ($5). $5 isn't a big deal at all, but why all the sudden start charging for Xcode? Let me guess: Sarbanes–Oxley?

    Man that really sucks, well might I suggest QtCreator if you do any C++ development :p

    Ethea on
  • Options
    bowenbowen How you doin'? Registered User regular
    edited March 2011
    Does nokia get a kickback everytime you mention Qt ethea?

    I kid, but xcode is pretty nice!

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    EtheaEthea Registered User regular
    edited March 2011
    bowen wrote: »
    Does nokia get a kickback everytime you mention Qt ethea?

    I kid, but xcode is pretty nice!

    No, I just want more people on the sinking ship ;-)

    Ethea on
This discussion has been closed.