If you are making a closed source app, then I assume you want to make money. In that case, you are going to want to release a windows version, and probably a mac version, to reach the biggest market.
In that case, your only real choice is Qt, seeing as the windows and mac gtk ports are, last time I checked, fairly poorly supported.
If you can't afford Qt licences, or don't want a windows version, then you clearly aren't actually seriously planning on making money, in which case do whatever you feel like.
A really like this idea, and I would really like it to work, right up to the point at which they have to decide how to split the money. Who decides how much everyone gets? I can't think of any fair way to do this.
However, if they are seriously suggesting this, that means they might be up for some other system. How about a system which lets you download as much as you like and registers what you download? Still charge every $5 for it, and if you make it easy enough to use, people would use it instead of pirating, just because it is easier.
I replied on the previous thread on this.. I shouldn't really post again, but I feel I have to.
Yes, in a magical perfect world, Microsoft would use DOCTYPE to tell if a page wants standard-compatible rendering, and simply break all the pages which have a correct DOCTYPE but then rely, either on purpose or by accident, on IE6 and IE7 bugs. But most of their customers don't want them to, and so they aren't going to.
Therefore they are trying to offer an alternative. An alternative you can either put in as a meta tag or a HTTP header. I can't think of anything they could do in practice which would be better than this, other than the one thing they would never do, which is break old webpages which rendered correctly on IE6/7.
... and it was to cede the browser field entirely, and leave the web client development up to the organizations who've put years into getting it right.
No, that's completely not an option. Do you really think that the programmers at Microsoft aren't capable of writing a standards-compliant browser? I know a bunch of people who work there, and I am in no doubt that if they decided that what they should do is get a 100% standards accurate browser, they could do it faster and better than anyone else.
However, they know that doing so wouldn't actually improve their market share. It would in fact piss off all the people who have web apps which still rely on IE6 rendering bugs. Those people aren't going to accept "But your old apps were non-standard", their apps worked before and they want them to continue working.
Changing to Gecko would break all those applications and websites. Believe me, there are still large intrawebs were Gecko simply can't go, due to it's lack of support of IE 6 bugs.
Because most people who do web design don't read slashdot, or the IE8 blog, or A List Apart. Because many of them don't actually even know what a DOCTYPE is, and use GUI HTML editing programs that have been incorrectly putting on the DOCTYPE. Microsoft isn't going to break all their webpages, when it can make those who understand about standards do a small amount of work they are capable of doing.
Should Microsoft annoy and confuse all the non-educated users so that those who really understand standards don't have to put a meta-tag in their pages? In an ideal world yes, but let's be honest, that's not going to happen.
That seems to overlap with 2. The whole problem here is the large number of existing broken pages. People aren't going to go and change them all, they are going to bitch at Microsoft that they broke. Yes, they should have just written standards compliant code in the first place, but Microsoft isn't going to piss off that many customers when they could just work around the problem instead. It simply wouldn't be good business sense. People who know about web standards are going to bitch and complain, but then add the meta tag or HTTP header line. People who don't will carry on with their pages working as before.
and then IE8 will use this mode. I suspect they put Acid2 on a webserver that always returns this line. Once IE8 comes out and assuming (big assumption) their standards-compliant rendering really is good, I'm sure I'll drop the same line into my Apache config and get nice standards rendering. You can even use:
1) Don't try to support standards properly. 2) Obey the DOCTYPE, even though many programs and people put it on old pages which aren't going to render properly in a standards-compliant browser 3) Add a new flag that means "Yes, I promise I know about standards".
For years, they have been doing (1). It would be nice if they did (2), and just broke all the badly written IE 6 pages with an improper DOCTYPE. But they aren't going to do that, their users don't want them to do that, and to be honest I don't either. That leaves them with adding a new flag which lets people admit they know about standards.
In their favour, they are: 1) Designing the option in such a way other browsers can be extended by it 2) You can pass it as a HTML header, so if you want just add it to your apache config, and all pages on your website will be rendered in IE8 cleanly (this is the option I intend to take).
Yes, this isn't perfect and it is evil Microsoft, but it's bettered than I'd hoped for. I'm looking forward to popping the option into my apache config and seeing if IE8 really is standards compliant.
Elephants Dream was a success? You mean a film which almost no-one ever heard of, and almost all of those who watched it didn't like?
While it was cute to make an open-source film, it would also have been nice to have a decent plot and scripting. I've seen many better stories in flash on newsgrounds. Heck, I've seen better plots on ytmnd.com.
Do you know of a good guide to using Python as a replacement for bash shell scripts? Lots of people seem to use it for this purpose, and I was interested in finding a nice guide to learning how to do this.
There seems to be two reasons this might be useful:
1) Another piece of information needed 2) If your SSH server has a buffer overflow or similar in it.
And both seem useless.
1) You are surely going to keep your SSH key in the same place as the code to access this thing. If you wanted a similar level of security, why not hide your SSH key in two pieces? 2) Now we have to completely test two programs instead of one.
Seriously, what security problem is this supposed to fix?
OK, I don't claim this is a good bill. However, it only refers to people who "learns about the transmission or storage of information about certain illegal activities or an illegal image". Therefore free Wi-Fi operators are fine. Never look at what people are doing on your Wi-Fi, and you are fine. This could almost be good in some ways, as ISPs who sniff traffic could end up with much more work, while those who leave well alone will be fine.
I'm not sure why this result is so surprising to people. 50% of people are willing to give up their chance to vote for nothing at all, simply because they can't be bothered to go to the polling station. Clearly all those people would be willing to accept a free gift for what they were going to give away for free anyway.
My point, which you've completely missed, is not that I often run things as root, but that many programs (for example apache) have to run as root. Therefore any buffer overflow in such a program gets root access.
However, Java also offers one major advantage for me. Other than having multiple user accounts, which is a pain, I don't know of any good way of stopping a program getting access to files in my home directory. As I'm the only person on my computer, to be honest having a program 'go mad' as me is just as bad as having it go mad as root. With Java, I can sandbox programs easily and be as sure as I can be that they aren't going to escape.
Wow, you really think that Unix's sandbox is better than Java's? Unix's which requires "setuid root" executable everywhere, each ready to have a buffer overflow found and hacked? Or how a dodgy piece of HTML can do a buffer overflow in firefox and nuke your home directory?
As far as I am aware, there has been 2 hacks of the Sun's Java security manager, both fixed quickly. Apart from that, Java applets have been living safely in people browsers without incident. Java has convinced me that virtual machines are actually the way to go in the future, and the way I might one day be able to protect my documents from nasty people on the web and worry less bad programmers.
Are you seriously suggesting that I aim to convert, and keep up to date, the entire of gcc on a very non-unix platform? While I love OSS, keeping the windows version up-to-date and working would I think be more than one full time job, and I need to get fed on my current one, ignoring the fact I know nothing of compiler internals.
Obviously if the gcc maintainers have no interest in Windows, that's their choice, I have no interest in forcing them to do work they don't want to. However, that means that gcc can't be considered a competitor to visual C++, as the two products have no platform in common:)
I'l just keep doing the (fairly small) amount of work required to keep code working on both. I have no problem with doing so, especially since Microsoft made their C++ compiler free (as in beer).
It does however annoy me more than a little how many people on this thread have been posting I can use gcc on windows, when (and I've looked) there is no good stable version available.
Looking at that guy's own home page, those builds are known to be broken in various ways, and highly experimental. My code has enough bugs without risking picking some up from my compiler.
Ah yes, I'll just compile all my software on an "unofficial and experimental" compiler, with "unresolved issues". In fact, the windows copy of gcc is "unstable software, and you use it at your own risk.".
I think (not unexpectedly) I've been misrepresented a little in this thread. I'm personally a happy gcc user, mainly on mac, and I do put in the effort to make sure that my software compiles on gcc 3.4, the last version for windows which seems to be stable and usable with big software packages.
I just think saying microsoft software "only works on x86 or x86_64 windows", and gcc works on X operating systems and Y CPU cores so is much better is a stretch, when windows is what most desktop computers use, and what most software is compiled for.
In an ideal world, the windows version of gcc would be considered a 'primary platform', and get as much attention as the linux version. Then gcc would indeed, for me at least, beat C# and vc++ in every possible way. But it's not the way things work yet.
I find MS's C# compiler works on at least 80% (being generous on how far windows has fallen) of computers. recent versions of gcc work on less than 20% of computers, as I can't find a windows copy of gcc 4+ anywhere.
Limiting your software to only work on less than 20% (probably more like 10% or 5%..) of computers don't seem good.
If you are making a closed source app, then I assume you want to make money. In that case, you are going to want to release a windows version, and probably a mac version, to reach the biggest market.
In that case, your only real choice is Qt, seeing as the windows and mac gtk ports are, last time I checked, fairly poorly supported.
If you can't afford Qt licences, or don't want a windows version, then you clearly aren't actually seriously planning on making money, in which case do whatever you feel like.
A really like this idea, and I would really like it to work, right up to the point at which they have to decide how to split the money. Who decides how much everyone gets? I can't think of any fair way to do this.
However, if they are seriously suggesting this, that means they might be up for some other system. How about a system which lets you download as much as you like and registers what you download? Still charge every $5 for it, and if you make it easy enough to use, people would use it instead of pirating, just because it is easier.
I replied on the previous thread on this.. I shouldn't really post again, but I feel I have to.
Yes, in a magical perfect world, Microsoft would use DOCTYPE to tell if a page wants standard-compatible rendering, and simply break all the pages which have a correct DOCTYPE but then rely, either on purpose or by accident, on IE6 and IE7 bugs. But most of their customers don't want them to, and so they aren't going to.
Therefore they are trying to offer an alternative. An alternative you can either put in as a meta tag or a HTTP header. I can't think of anything they could do in practice which would be better than this, other than the one thing they would never do, which is break old webpages which rendered correctly on IE6/7.
No, that's completely not an option. Do you really think that the programmers at Microsoft aren't capable of writing a standards-compliant browser? I know a bunch of people who work there, and I am in no doubt that if they decided that what they should do is get a 100% standards accurate browser, they could do it faster and better than anyone else.
However, they know that doing so wouldn't actually improve their market share. It would in fact piss off all the people who have web apps which still rely on IE6 rendering bugs. Those people aren't going to accept "But your old apps were non-standard", their apps worked before and they want them to continue working.
Changing to Gecko would break all those applications and websites. Believe me, there are still large intrawebs were Gecko simply can't go, due to it's lack of support of IE 6 bugs.
Why not do option #2?
Because most people who do web design don't read slashdot, or the IE8 blog, or A List Apart. Because many of them don't actually even know what a DOCTYPE is, and use GUI HTML editing programs that have been incorrectly putting on the DOCTYPE. Microsoft isn't going to break all their webpages, when it can make those who understand about standards do a small amount of work they are capable of doing.
Should Microsoft annoy and confuse all the non-educated users so that those who really understand standards don't have to put a meta-tag in their pages? In an ideal world yes, but let's be honest, that's not going to happen.
Hmm.. you're right, I hadn't thought of that. So we will have to shove the meta flag in all the pages. Damn.
Woops, yes.
Woops, missed option 4.
That seems to overlap with 2. The whole problem here is the large number of existing broken pages. People aren't going to go and change them all, they are going to bitch at Microsoft that they broke. Yes, they should have just written standards compliant code in the first place, but Microsoft isn't going to piss off that many customers when they could just work around the problem instead. It simply wouldn't be good business sense. People who know about web standards are going to bitch and complain, but then add the meta tag or HTTP header line. People who don't will carry on with their pages working as before.
Your webserver can add the HTML header line:
X-UA-Compatible: IE=8
and then IE8 will use this mode. I suspect they put Acid2 on a webserver that always returns this line. Once IE8 comes out and assuming (big assumption) their standards-compliant rendering really is good, I'm sure I'll drop the same line into my Apache config and get nice standards rendering. You can even use:
X-UA-Compatible: IE=edge
To always get the most recent rendering engine.
Microsoft really had 4 options:
1) Don't try to support standards properly.
2) Obey the DOCTYPE, even though many programs and people put it on old pages which aren't going to render properly in a standards-compliant browser
3) Add a new flag that means "Yes, I promise I know about standards".
For years, they have been doing (1). It would be nice if they did (2), and just broke all the badly written IE 6 pages with an improper DOCTYPE. But they aren't going to do that, their users don't want them to do that, and to be honest I don't either. That leaves them with adding a new flag which lets people admit they know about standards.
In their favour, they are:
1) Designing the option in such a way other browsers can be extended by it
2) You can pass it as a HTML header, so if you want just add it to your apache config, and all pages on your website will be rendered in IE8 cleanly (this is the option I intend to take).
Yes, this isn't perfect and it is evil Microsoft, but it's bettered than I'd hoped for. I'm looking forward to popping the option into my apache config and seeing if IE8 really is standards compliant.
Elephants Dream was a success? You mean a film which almost no-one ever heard of, and almost all of those who watched it didn't like?
While it was cute to make an open-source film, it would also have been nice to have a decent plot and scripting. I've seen many better stories in flash on newsgrounds. Heck, I've seen better plots on ytmnd.com.
Do you know of a good guide to using Python as a replacement for bash shell scripts? Lots of people seem to use it for this purpose, and I was interested in finding a nice guide to learning how to do this.
There seems to be two reasons this might be useful:
1) Another piece of information needed
2) If your SSH server has a buffer overflow or similar in it.
And both seem useless.
1) You are surely going to keep your SSH key in the same place as the code to access this thing. If you wanted a similar level of security, why not hide your SSH key in two pieces?
2) Now we have to completely test two programs instead of one.
Seriously, what security problem is this supposed to fix?
OK, I don't claim this is a good bill. However, it only refers to people who "learns about the transmission or storage of information about certain illegal activities or an illegal image". Therefore free Wi-Fi operators are fine. Never look at what people are doing on your Wi-Fi, and you are fine. This could almost be good in some ways, as ISPs who sniff traffic could end up with much more work, while those who leave well alone will be fine.
So, what platformers are there even close to Super Mario Galaxy for Linux?
I'm not sure why this result is so surprising to people. 50% of people are willing to give up their chance to vote for nothing at all, simply because they can't be bothered to go to the polling station. Clearly all those people would be willing to accept a free gift for what they were going to give away for free anyway.
My point, which you've completely missed, is not that I often run things as root, but that many programs (for example apache) have to run as root. Therefore any buffer overflow in such a program gets root access.
However, Java also offers one major advantage for me. Other than having multiple user accounts, which is a pain, I don't know of any good way of stopping a program getting access to files in my home directory. As I'm the only person on my computer, to be honest having a program 'go mad' as me is just as bad as having it go mad as root. With Java, I can sandbox programs easily and be as sure as I can be that they aren't going to escape.
Wow, you really think that Unix's sandbox is better than Java's? Unix's which requires "setuid root" executable everywhere, each ready to have a buffer overflow found and hacked? Or how a dodgy piece of HTML can do a buffer overflow in firefox and nuke your home directory?
As far as I am aware, there has been 2 hacks of the Sun's Java security manager, both fixed quickly. Apart from that, Java applets have been living safely in people browsers without incident. Java has convinced me that virtual machines are actually the way to go in the future, and the way I might one day be able to protect my documents from nasty people on the web and worry less bad programmers.
Damn, and I've only just finished compiling the last... wait. Wrong distro. Sorry.
Are you seriously suggesting that I aim to convert, and keep up to date, the entire of gcc on a very non-unix platform? While I love OSS, keeping the windows version up-to-date and working would I think be more than one full time job, and I need to get fed on my current one, ignoring the fact I know nothing of compiler internals.
:)
Obviously if the gcc maintainers have no interest in Windows, that's their choice, I have no interest in forcing them to do work they don't want to. However, that means that gcc can't be considered a competitor to visual C++, as the two products have no platform in common
I'l just keep doing the (fairly small) amount of work required to keep code working on both. I have no problem with doing so, especially since Microsoft made their C++ compiler free (as in beer).
It does however annoy me more than a little how many people on this thread have been posting I can use gcc on windows, when (and I've looked) there is no good stable version available.
The latest version of g++ in cygwin is also 3.4, nothing from the 4 line.
Looking at that guy's own home page, those builds are known to be broken in various ways, and highly experimental. My code has enough bugs without risking picking some up from my compiler.
Ah yes, I'll just compile all my software on an "unofficial and experimental" compiler, with "unresolved issues". In fact, the windows copy of gcc is "unstable software, and you use it at your own risk.".
I think (not unexpectedly) I've been misrepresented a little in this thread. I'm personally a happy gcc user, mainly on mac, and I do put in the effort to make sure that my software compiles on gcc 3.4, the last version for windows which seems to be stable and usable with big software packages.
I just think saying microsoft software "only works on x86 or x86_64 windows", and gcc works on X operating systems and Y CPU cores so is much better is a stretch, when windows is what most desktop computers use, and what most software is compiled for.
In an ideal world, the windows version of gcc would be considered a 'primary platform', and get as much attention as the linux version. Then gcc would indeed, for me at least, beat C# and vc++ in every possible way. But it's not the way things work yet.
gcc 4 does work on windows? Care to point me to a download?
Looking at it another way however..
I find MS's C# compiler works on at least 80% (being generous on how far windows has fallen) of computers. recent versions of gcc work on less than 20% of computers, as I can't find a windows copy of gcc 4+ anywhere.
Limiting your software to only work on less than 20% (probably more like 10% or 5%..) of computers don't seem good.