I used to have a computer business on the side building machines (evolved out of everyone asking me to put together/fix machines for them). The presumption of guilt really sucks but I found it true.
People see the $100ish (my cost) price tag on purchasing an OS with the system and choke... suddenly they don't need one. I just tell them I won't setup the machine for them at all so just don't tell me what you are doing. These are people who don't know the difference between RAM and Hard Drive so there is *no* way they are loading Linux or BSD (and they asked for Windows in the first place). I warned them that if they don't buy a copy of the OS they are committing a crime and there can be stiff penalties if enforced/caught.
The *only* exception to the OS piracy that I know of is the handful of companies who paid me to setup Linux servers for them.
>It is strange that Brian (who was active on
>wxWin lists and, if I'm not mistaken, had the
>cvs access himself) didn't tell us anything
>about this before but chose to comment here.
Yes... I had CVS access... thought it was insane that I was given it days after I started working with the project. Again this points out my organizational issues. And I believe I voiced *all* my concerns on the list and was essentially ignored.
>1. wxWin license is not LGPL and so it isn't invalid
The basic precept for people against these type of procedures is that a distinct human life begins at conception. The rest of the handwaving on both sides beyond that is moot considering the precept -- whether or not you agree with it.
They are selecting between different human lives as to which will live... and knowingly started out figuring a couple dozen would be destroyed. It's appauling no matter the reason -- again for those of use holding to the precept -- doesn't matter if it is for gender, whether they carry a "homosexual or alcolohic gene", a disease, whatever.
For someone who holds that human life begins at conception, the only thing you can try to argue is that some human life is inherently more important than others... good luck... especially when it comes to children.
I'm not going to disagree about your assertion that MFC is non-portable or that their C++ compiler sucks. I completely agree... I couldn't even use their compile until VC++ 5 sp3 and even then I still have to turn off my inline template specialization optimizations to prevent hundreds of errors that I force to warnings with some flags.
My point was the poster was saying that MFC sucked because the RAD tools generate files that say "don't touch this" or other non-sense. That has nothing to do with MFC... then when you add in the reference's to GLADE it is obvious the poster didn't understand the difference between app framework and RAD tool.
He obviously has some good issues to bring up but I question his abilities as a C++ developer.
1) GCC 2.95.x... the only compiler that gets close to it in ISO compliance is the Borland 5.5 compiler. Getting confused over earlier errors... that happens... all the compilers have their areas that are bad. At least he could have complained about GCC being dog slow on C++ code.
2) MFC vs GTK... he's complaining that his joystick isn't a mouse. First... the frameworks are similar in their design at a basic level (they both let you write graphical applications with similar capabilities). His biggest complaint is that MFC is a message based framework and GTK is functional/callback based. Whatever... in the end both call functions based on "notifications"... they just have different ways of specifying it. If he can't comprehend that he has some other more serious issues.
But I would agree the porting is a bear but it ain't MFC's fault. And interstingly enough... I don't see where he says why he doesn't use GTK for Win32 if he finds MFC to be such a bare. I know why I wouldn't but you'd think that would be an obvious question.
Umm... there is a difference between MFC and Visual Studio. Visual Studio sucks, MFC really isn't bad. I can see the effect of the Borland OWL programmers MS stole on the design.
GTK uses a different paradigm of GUI framework than MFC does.
Anyways, you are obviously confusing RAD tool output and the application framework.
It's *very* similar to MFC which coming from an OWL/Windows development background I like. But the whole project is a mess... invalid LGPL license, anyone who wants to help is given CVS write access, copied in code from GPL libraries, a messy makefile system, and extremely bad C++ coding practice in general. Without much better project management wxWindows will not be suitable for production applications.
Think about it... you may have not done management but most certainly you've have plenty of experience with managers in 10 years. Hopefully you picked up on the good and took note of the bad.
To some extent the transition is inevitable for anyone with any sort of leadership skills (or even potential ones). Shoot... someone has to rise to the occasion and make sure the next generation of techies are given good guidance and not a heavy hand of an idiot.
If you can get a good techie to be a good manager it's better than taking some worthless business major with 2 courses in team management and making the techies suffer.
I can't image there is any sort of legal thing to bind you. I got a CueCat 1-2weeks ago and I didn't even know there was a license to the thing until now. I didn't even see a "you agree to the license by opening the package" notice.
I opened it up (I did, not my dog this time:), tossed the software aside, plugged it into my Linux box, and grabbed the Perl translation scripts to have fun with.
I agree apt-get is amazing. *But* I think the big issue is not the package format.
What I've found is that the Debian package maintainers do a lot better job of creating a good package. I've had crappy ones too... messed/missing up deps, a lot of hand modifying needed, etc.
RedHat on the other hand doesn't seem to put as much effort, or maybe it's just a process thing.
Other stuff like search for packages, seeing changelogs, etc... those are more tool issues than packaging issues.
Anyways, all said (as a long time Slackware then RedHat user) I find the Debian packages more reliable. The upgrades actually work and they are easy to apply.
Actually it happens a lot... some activity that is particularly annoying to the Politically Correct or Large business is labelled a felony to deter it. In a state like CA where 3 felonies means life that can be a real big deterrent.
Please understand that these "foaming-at-the-mouth radical right-wingers" are simply being consistent. If you believe human life starts at the point of conception then this kind of research is at the expense of ending an innocent human life.
And though you might not agree with the belief, can you see why someone who takes such a stance would not be able to tolerate the behavior of people with the other view? To them they are standing by while human lives are being taken by the thousands.
For the most part you should be ok. Realize the *only* really ISO C++ compilers I know are BC++ 5.5 and g++. All the other compilers suck and may not handle the code you give them (though for an entry level C++ class that may not be an issue).
Other things to watch out for:
- Each compiler will have things it's lax in and some ISO C++ stuff is a little ambiguous... like BC++ 5.5 stricter on the friend statement than all the other compilers and g++ treats casting operators different (arguably stricter) based on the const'ness of the object.
- Visual C++ likes to put an '_' in front of all the standard POSIX functions unless you define something
- I don't know much about CodeWarrior except that I really didn't like their development environment
- Pretty much all compilers have extensions to the ANSI C libraries that are non-portable
- Visual C++ only does for loop variable scoping right if you turn off Microsoft extensions but the Win32 headers use anonymous unions so you can't compile them with the extensions off
- Visual C++ has serious problems with inline functions in headers
- Watcom C++ tries to emulate Visual C++ but there is no way to get proper for loop scoping in it
The fact there is a qtr million people in the open/free source arena doesn't mean squat. The fact that it honestly matters little what the courts do as we can always find ways around it doesn't mean squat. The fact that we have "reality" behind us doesn't mean squat.
This is about a select few that have long standing credibility in the business/political arenas... it's about what you can sell. The truth doesn't mean anything... all the facts in the world don't mean anything. We are all about of individuals that have been framed in a poor light frequently and unfortunately sometimes we assist that portrayl... why should anyone listen?
Until... you get a judge who can cut through the crap to the core issues defeats are inevitable.
I do... I used to overclock my systems. The biggest speed difference was with the higher memory buss speeds... makes an enormous speed difference on a Celeron going from 66MHz to even 75MHz buss.
On the otherhand, I run my systems (Linux and Windows) 24/7 and there is a notable stability cost (for me, YMMV) to overclocking. In the end I found the machines were fast enough and the amount of tweaking (though fun) took more time than it was worth... so I stopped overclocking and I just pay for what I want now rather than play.
If I was a college student, instead of married with a kid on the way, I might find myself with more time and less money... and the overriding desire to constantly tweak with things would certainly win out:)
"UNIX sucks because everyone doesn't have to use GNOME."
His argument that there aren't common controls/objects/elements/whatever is certainly valid, but I find it hard to find fault in having flexible building blocks that can be used to build code sharing.
It seems to be a complaint that even the base X system is usuable... that users should be locked into using a much higher-level interface that is more restrictive/defined.
Actually it can be done fairly easily through PR. The same sort of idea but make available a program that will look the CPU Serial# up in the AMD database on-line. Require AMD authorized resellers to include some funky floppy/CD with the program on it (of course it works in Win32 only but you can cut/paste the serial number into an on-line form)... call it the TrueMHz(tm) program... "Does you AMD processor have TrueMHz?"(tm).
MS and McD's aren't gone because they have a significant number of people who like them or are at least willing to purchase their goods. It's called capitalism... you've got your vote with your pocket book... enough people vote against you to keep the things thriving.
In the US you have a lot of freedoms... you also have the freedom to be a failure and a moron... live with it.
Really... I did C++ Windows development for many years (most of this last decade). Still do sometimes... there are several issues though:
- Compiler bugs are extremely slow in getting fixed... like years... you will have to work around the problem. Only recently has there been an open source C++ compiler worth a salt (g++ is awesome for ISO compliance these days but it has it's own issues... but they get fixed quickly). And Borland's C++ compliance with 5.5 is finally good... hadn't been able to use their compiler since 5.01a. MS VC++ is a joke and Watcom is good but way behind in C++ feature support. - Win9x simply isn't a host development platform... I will spend an average of an hour a day rebooting when I try (I tend to do fairly intensive multi-threaded and low-level devlopment so YMMV) - Win9x and Win NT behave *very* differently in various areas of the API - OS bugs just don't get fixed (has MS yet fixed the memory leak with in EnhancedMetafiles and Clipping Regions in Win9x... makes them useless even though I've seen MS state them as the recomended way to print) - Changes to the OS are not documented... I remember one entertaining time when an Outlook service pack had the side effect of initializing serial port DCB's differently. - The API documentation is highly inaccurate and contradictory/unclear... and it's not like you can just look at the code to see what it really does. I've spent enormous amounts of time playing with API calls just to see how they really behave... and on which fix level or which OS.
I don't jump on the "open source is the answer for everything" bandwagon much. I think it has it's place and I definitely think that the OS and development tools are places for it. As you can see my complaints are centered mostly around lack of access to information on how things really work and the inability to get problems fixed.
I used Slackware (not sure if I used SLS), RedHat, then Debian. For me, the big attraction to Debian is the packaging system.
The second thing is that it's got nearly everything packaged and available via the standard system... this is a big plus and lessens the time it takes to admin (especially for workstations) and thus my frustration levels. All I have to do is a quick 'apt-cache search ' (sometimes with some grep'ing) and then an 'apt-get install '.
I have a lot of confidence in the system and most of the time it lives up to it (when I used RedHat I typically gave a 50/50 chance of updates breaking something... don't get me wrong I loved RedHat when I used it).
Removing non-free will make my life more difficult and thus I'm am against it. I don't care about the Free != FreeAsInBeer concept nearly as much as getting something that gets things done and well (which the 'Free' concept can help).
OS/2 was great... may first industry development experience was doing Win3.1 development. I chose to my development under OS/2 and just chuckled as I hardly ever rebooted and the Win3.1/WfWG3.11 guys were rebooting at least once an hour much of the time.
The nail went in the coffin with Warp 4. Their largest/strongest customer base was in corporations... so what did they do...
Well of course they fixed the serious GUI message queue problems, made performance enhancements to the shell, and made the FS layer completely 32bit....
Oh wait... that's what they should have done. In true old IBM... "we have no clue what's going on so we'll see what we can do to kill of the product".... they added voice recognition.
I could hear the "What the Heck!" uttered with the announcement... As all the companies promising applications quietly dump the projects.
Anyways, that's when I bailed. Fortunately IBM these days has really turned things around... first sign of that... they didn't immediately destroy Lotus (it was dying anyways but they didn't help it along).
I used to have a computer business on the side building machines (evolved out of everyone asking me to put together/fix machines for them). The presumption of guilt really sucks but I found it true.
People see the $100ish (my cost) price tag on purchasing an OS with the system and choke... suddenly they don't need one. I just tell them I won't setup the machine for them at all so just don't tell me what you are doing. These are people who don't know the difference between RAM and Hard Drive so there is *no* way they are loading Linux or BSD (and they asked for Windows in the first place). I warned them that if they don't buy a copy of the OS they are committing a crime and there can be stiff penalties if enforced/caught.
The *only* exception to the OS piracy that I know of is the handful of companies who paid me to setup Linux servers for them.
Brian Macy
>It is strange that Brian (who was active on
>wxWin lists and, if I'm not mistaken, had the
>cvs access himself) didn't tell us anything
>about this before but chose to comment here.
Yes... I had CVS access... thought it was insane that I was given it days after I started working with the project. Again this points out my organizational issues. And I believe I voiced *all* my concerns on the list and was essentially ignored.
>1. wxWin license is not LGPL and so it isn't invalid
Please read this:
http://www.wxwindows.org/licence3.txt
>2. there is no code from GPL libraries in wxWin to the best of my knowledge
Please read "EXCEPTION NOTICE" #3 at the above URL
>3. "messy makefile" is totally false
That of course is a matter of opinion... the fact you have to link in a couple dozen win32 libraries just to use wxWindows is just one of the messes.
Brian Macy
The basic precept for people against these type of procedures is that a distinct human life begins at conception. The rest of the handwaving on both sides beyond that is moot considering the precept -- whether or not you agree with it.
They are selecting between different human lives as to which will live... and knowingly started out figuring a couple dozen would be destroyed. It's appauling no matter the reason -- again for those of use holding to the precept -- doesn't matter if it is for gender, whether they carry a "homosexual or alcolohic gene", a disease, whatever.
For someone who holds that human life begins at conception, the only thing you can try to argue is that some human life is inherently more important than others... good luck... especially when it comes to children.
Brian Macy
I'm not going to disagree about your assertion that MFC is non-portable or that their C++ compiler sucks. I completely agree... I couldn't even use their compile until VC++ 5 sp3 and even then I still have to turn off my inline template specialization optimizations to prevent hundreds of errors that I force to warnings with some flags.
My point was the poster was saying that MFC sucked because the RAD tools generate files that say "don't touch this" or other non-sense. That has nothing to do with MFC... then when you add in the reference's to GLADE it is obvious the poster didn't understand the difference between app framework and RAD tool.
Brian Macy
He obviously has some good issues to bring up but I question his abilities as a C++ developer.
1) GCC 2.95.x... the only compiler that gets close to it in ISO compliance is the Borland 5.5 compiler. Getting confused over earlier errors... that happens... all the compilers have their areas that are bad. At least he could have complained about GCC being dog slow on C++ code.
2) MFC vs GTK... he's complaining that his joystick isn't a mouse. First... the frameworks are similar in their design at a basic level (they both let you write graphical applications with similar capabilities). His biggest complaint is that MFC is a message based framework and GTK is functional/callback based. Whatever... in the end both call functions based on "notifications"... they just have different ways of specifying it. If he can't comprehend that he has some other more serious issues.
But I would agree the porting is a bear but it ain't MFC's fault. And interstingly enough... I don't see where he says why he doesn't use GTK for Win32 if he finds MFC to be such a bare. I know why I wouldn't but you'd think that would be an obvious question.
Brian Macy
Umm... there is a difference between MFC and Visual Studio. Visual Studio sucks, MFC really isn't bad. I can see the effect of the Borland OWL programmers MS stole on the design.
GTK uses a different paradigm of GUI framework than MFC does.
Anyways, you are obviously confusing RAD tool output and the application framework.
Brian Macy
It's *very* similar to MFC which coming from an OWL/Windows development background I like. But the whole project is a mess... invalid LGPL license, anyone who wants to help is given CVS write access, copied in code from GPL libraries, a messy makefile system, and extremely bad C++ coding practice in general. Without much better project management wxWindows will not be suitable for production applications.
Brian Macy
Think about it... you may have not done management but most certainly you've have plenty of experience with managers in 10 years. Hopefully you picked up on the good and took note of the bad.
To some extent the transition is inevitable for anyone with any sort of leadership skills (or even potential ones). Shoot... someone has to rise to the occasion and make sure the next generation of techies are given good guidance and not a heavy hand of an idiot.
If you can get a good techie to be a good manager it's better than taking some worthless business major with 2 courses in team management and making the techies suffer.
Brian Macy
I can't image there is any sort of legal thing to bind you. I got a CueCat 1-2weeks ago and I didn't even know there was a license to the thing until now. I didn't even see a "you agree to the license by opening the package" notice.
I opened it up (I did, not my dog this time:), tossed the software aside, plugged it into my Linux box, and grabbed the Perl translation scripts to have fun with.
Brian Macy
I agree apt-get is amazing. *But* I think the big issue is not the package format.
What I've found is that the Debian package maintainers do a lot better job of creating a good package. I've had crappy ones too... messed/missing up deps, a lot of hand modifying needed, etc.
RedHat on the other hand doesn't seem to put as much effort, or maybe it's just a process thing.
Other stuff like search for packages, seeing changelogs, etc... those are more tool issues than packaging issues.
Anyways, all said (as a long time Slackware then RedHat user) I find the Debian packages more reliable. The upgrades actually work and they are easy to apply.
Brian Macy
Actually it happens a lot... some activity that is particularly annoying to the Politically Correct or Large business is labelled a felony to deter it. In a state like CA where 3 felonies means life that can be a real big deterrent.
Brian Macy
Please understand that these "foaming-at-the-mouth radical right-wingers" are simply being consistent. If you believe human life starts at the point of conception then this kind of research is at the expense of ending an innocent human life.
And though you might not agree with the belief, can you see why someone who takes such a stance would not be able to tolerate the behavior of people with the other view? To them they are standing by while human lives are being taken by the thousands.
Brian Macy
For the most part you should be ok. Realize the *only* really ISO C++ compilers I know are BC++ 5.5 and g++. All the other compilers suck and may not handle the code you give them (though for an entry level C++ class that may not be an issue).
Other things to watch out for:
- Each compiler will have things it's lax in and some ISO C++ stuff is a little ambiguous... like BC++ 5.5 stricter on the friend statement than all the other compilers and g++ treats casting operators different (arguably stricter) based on the const'ness of the object.
- Visual C++ likes to put an '_' in front of all the standard POSIX functions unless you define something
- I don't know much about CodeWarrior except that I really didn't like their development environment
- Pretty much all compilers have extensions to the ANSI C libraries that are non-portable
- Visual C++ only does for loop variable scoping right if you turn off Microsoft extensions but the Win32 headers use anonymous unions so you can't compile them with the extensions off
- Visual C++ has serious problems with inline functions in headers
- Watcom C++ tries to emulate Visual C++ but there is no way to get proper for loop scoping in it
Brian Macy
The fact there is a qtr million people in the open/free source arena doesn't mean squat. The fact that it honestly matters little what the courts do as we can always find ways around it doesn't mean squat. The fact that we have "reality" behind us doesn't mean squat.
This is about a select few that have long standing credibility in the business/political arenas... it's about what you can sell. The truth doesn't mean anything... all the facts in the world don't mean anything. We are all about of individuals that have been framed in a poor light frequently and unfortunately sometimes we assist that portrayl... why should anyone listen?
Until... you get a judge who can cut through the crap to the core issues defeats are inevitable.
Brian Macy
Couldn't agree more.
Brian Macy
I do... I used to overclock my systems. The biggest speed difference was with the higher memory buss speeds... makes an enormous speed difference on a Celeron going from 66MHz to even 75MHz buss.
:)
On the otherhand, I run my systems (Linux and Windows) 24/7 and there is a notable stability cost (for me, YMMV) to overclocking. In the end I found the machines were fast enough and the amount of tweaking (though fun) took more time than it was worth... so I stopped overclocking and I just pay for what I want now rather than play.
If I was a college student, instead of married with a kid on the way, I might find myself with more time and less money... and the overriding desire to constantly tweak with things would certainly win out
Brian Macy
"UNIX sucks because everyone doesn't have to use GNOME."
His argument that there aren't common controls/objects/elements/whatever is certainly valid, but I find it hard to find fault in having flexible building blocks that can be used to build code sharing.
It seems to be a complaint that even the base X system is usuable... that users should be locked into using a much higher-level interface that is more restrictive/defined.
Brian Macy
Actually it can be done fairly easily through PR. The same sort of idea but make available a program that will look the CPU Serial# up in the AMD database on-line. Require AMD authorized resellers to include some funky floppy/CD with the program on it (of course it works in Win32 only but you can cut/paste the serial number into an on-line form)... call it the TrueMHz(tm) program... "Does you AMD processor have TrueMHz?"(tm).
Ooo... ahhh... a new buzz word.
MS and McD's aren't gone because they have a significant number of people who like them or are at least willing to purchase their goods. It's called capitalism... you've got your vote with your pocket book... enough people vote against you to keep the things thriving.
In the US you have a lot of freedoms... you also have the freedom to be a failure and a moron... live with it.
Really... I did C++ Windows development for many years (most of this last decade). Still do sometimes... there are several issues though:
- Compiler bugs are extremely slow in getting fixed... like years... you will have to work around the problem. Only recently has there been an open source C++ compiler worth a salt (g++ is awesome for ISO compliance these days but it has it's own issues... but they get fixed quickly). And Borland's C++ compliance with 5.5 is finally good... hadn't been able to use their compiler since 5.01a. MS VC++ is a joke and Watcom is good but way behind in C++ feature support.
- Win9x simply isn't a host development platform... I will spend an average of an hour a day rebooting when I try (I tend to do fairly intensive multi-threaded and low-level devlopment so YMMV)
- Win9x and Win NT behave *very* differently in various areas of the API
- OS bugs just don't get fixed (has MS yet fixed the memory leak with in EnhancedMetafiles and Clipping Regions in Win9x... makes them useless even though I've seen MS state them as the recomended way to print)
- Changes to the OS are not documented... I remember one entertaining time when an Outlook service pack had the side effect of initializing serial port DCB's differently.
- The API documentation is highly inaccurate and contradictory/unclear... and it's not like you can just look at the code to see what it really does. I've spent enormous amounts of time playing with API calls just to see how they really behave... and on which fix level or which OS.
I don't jump on the "open source is the answer for everything" bandwagon much. I think it has it's place and I definitely think that the OS and development tools are places for it. As you can see my complaints are centered mostly around lack of access to information on how things really work and the inability to get problems fixed.
Brian Macy
I used Slackware (not sure if I used SLS), RedHat, then Debian. For me, the big attraction to Debian is the packaging system.
The second thing is that it's got nearly everything packaged and available via the standard system... this is a big plus and lessens the time it takes to admin (especially for workstations) and thus my frustration levels. All I have to do is a quick 'apt-cache search ' (sometimes with some grep'ing) and then an 'apt-get install '.
I have a lot of confidence in the system and most of the time it lives up to it (when I used RedHat I typically gave a 50/50 chance of updates breaking something... don't get me wrong I loved RedHat when I used it).
Removing non-free will make my life more difficult and thus I'm am against it. I don't care about the Free != FreeAsInBeer concept nearly as much as getting something that gets things done and well (which the 'Free' concept can help).
Brian Macy
I think it comes down to the way bidder's edge indexes the site... they actually end up violating eBay's user agreement for amount of usage.
OS/2 was great... may first industry development experience was doing Win3.1 development. I chose to my development under OS/2 and just chuckled as I hardly ever rebooted and the Win3.1/WfWG3.11 guys were rebooting at least once an hour much of the time.
The nail went in the coffin with Warp 4. Their largest/strongest customer base was in corporations... so what did they do...
Well of course they fixed the serious GUI message queue problems, made performance enhancements to the shell, and made the FS layer completely 32bit....
Oh wait... that's what they should have done. In true old IBM... "we have no clue what's going on so we'll see what we can do to kill of the product".... they added voice recognition.
I could hear the "What the Heck!" uttered with the announcement... As all the companies promising applications quietly dump the projects.
Anyways, that's when I bailed. Fortunately IBM these days has really turned things around... first sign of that... they didn't immediately destroy Lotus (it was dying anyways but they didn't help it along).
Actually next to impossible that they'd release OS/2 source code... too many copyright/license issues with Microsoft.