Dump the VC++ book. It's not about C++, it's about an IDE and API.
p.s. If you want an API book, buy "GUI Programming with Qt" instead. It comes with a free copy of Qt noncommercial for Windows. Your programs will be crossplatform and trivially portable to Linux, Unix and OSX. The quality of the Qt API makes MFC drop to its knees in humble supplication.
p.p.s. If you want to learn the VC++ IDE, read the help pages.
The inner workings of apt-get have forced an implementation detail to be part of the interface. The inner workings have thus 'complicated' the software interface. So users are going to confuse the two, and it's why I phrased my argument the way I did.
I've never used apt-get, but I have used many other package managers. On a KDE or GNOME desktop, installing a new application is as simple as download the app and double clicking on it. You're done. If there are missing dependencies they're automatically downloaded and installed for you. Actually, if the user is willing to browse a list of available packages locally instead of browsing a list of available downloads online, you can skip the manual download altogether. No, it's not perfect, because you can still get that "untrusted" message. But how is OSX any better, especially when it's completely silent about "untrusted" applications?
If developers bundle non-system dependencies or statically link them, the need for apt-get or similar tools basically disappears
You also end up with huge redundancies. Something like KDE which would normally take a few hundred megabytes of storage now takes hundreds of gigabytes. Instead of one copy of Qt and kdelibs you now have hundreds. And double the size for every additional user installing it.
For most software packages, it makes sense to install them to a central shared location.
It works moderately well, if you only use it for applications and those are statically linked, but nothing else.
Not true. You can put everything an application needs in the.app, including dynamic libraries. There are of course drawbacks, as you've pointed out, such as redundancies and huge application downloads. But everything that would be installed under/usr/local in Unix can be put into a.app directory instead. Imagine a Visual Basic application that actually came WITH the runtime...
...it makes a great server, though they redefine library hell.
This isn't Linux's problem, it's the fault of all of Open Source. This isn't a problem only for Linux, but bites users of FreeBSD, Solaris, Cygwin, etc. The reason is that there's very little cost for library hell. There is a cost of course, but it accrues to either developers, those doing something unusual, or those bypassing their system's standard package/build/install schema.
There's no cost to GNU, for a common example of this, to make every minor and trivial release of glibc incompatible with the previous. There's no cost to GNOME for having a hundred library dependencies, all of which need to be at the proper revision before your tiny little capplet will build and run.
Unfortunately, it's a problem that isn't going to get solved. You're never going to get a central dictator to punish those who transgress. Even reality is against you, since the more stable an API, the greater its obsolescence.
I've heard that.NET is going to be deprecated with Longhorn. It will still be there (just as all the decades old APIs will still be there) but there will be something new for all the Microsoft sycophants to proselytize.
Maybe I've heard wrong, but given Microsoft's history of APIs, it's a very probable prospect.
There's two main reasons why there's a crunch mode. The first is because someone somewhere managed to do it sucessfully. Management isn't stupid enough to cut development time in half, but shaving a day or two off of a three month schedule isn't that big of a deal. So everytime you manage to get your project out in time they shave another couple of days off the next project's schedule. And even if you manage to avoid that, there's always another team somewhere that did manage to succeed with an insane schedule, "so why can't you?"
The second reason is that the schedule you've estimated and the schedule the market demands live in two different universes. Management isn't stupid, they KNOW it's costing them more to make you do crunches. But the market says they need a product out in three months and not six. So you're given an insane schedule.
I don't know too many teachers who do their work for free. However I do see a lot of teachers arguing that "society" needs to pay them more. Is this the epitome of altruism? Hardly! I used to be a teacher. My mother and father were teachers, and my grandmother and great grandmother were teachers. Capitalists every last one of them!
I used the word "selfish" because it's blunt and in your face. If you don't like it, use "self interest" instead. We are ALL motivated by self interest. A person who devotes his own life exclusively to the service of others, without regard to their own welfare, is usually classified a saint (like Mother Theresa). They are also extremely rare.
People might not all be motivated by money, but they motivated by "stuff", such as food, clothing, shelter, college for their kids, vacations to Tahiti, amelioriting their guilt for vacationing in Tahiti, or even that smug feeling one gets by bashing capitalists.
An individualist can tolerate a collectivist, but a collectivist dedicates his life (selfishly) to destroying individualists.
Free markets (the term I will use instead of capitalism, a word which no one uses correctly) are attuned with human nature, while universal collectivism is not. People are naturally selfish. It's a fact of life. It's ingrained into our brains.
The reason collectivism has been popular throughout history is because we're so selfish we want everyone else to be altruistic. But it has never worked beyond the scope of small communities. On the other hand, free markets do work. If I have a quart of milk and selfishly want an apple, and you have an apple and selfishly want a quart of milk, then free markets allow us to trade, both get what we want, and both benefit. Money is merely a medium of exchange so we don't have to carry around milk to buy apples with.
With free markets, you cannot get what you want without helping someone else get what they want. Unless you're a criminal, of course, like a mugger or Enron. Which is why you need a minimal government to keep things peaceful. Yes, there will be poor people. But you have poor people in communism as well. History has shown that free individualistic societies have greater overall wealth than collectivist societies. Poverty is relative, and the poor in the US have it much better than the poor in Cuba.
As a famous entomologist once said, "communism is a wonderful theory, applied to the wrong species."
Let me see if I have your ethical system correct: you're saying it's okay to be evil just as long as you're not more evil than the other guy? That it's okay if Jason Blair, Dan Rather, and Stephen Glass lied, because Bush invaded Iraq? It's pretty hard for your side to claim the high ground when both sides are neck deep in sewage.
Dan Rather was really, really sure too. And he was the Most Trusted Man in America(tm). I'm sure Stephen Glass and Jason Blair we're really, really sure as well.
You were correct the first time. The concept of innocent until proven guilty is uncommon. Much of the world does not have it. The grandparent just made up shit because he wanted to rag on Bush.
Buddha on a diet! I've been hearing this crock ever since the 1.x days! Linux never has any performance problems because you're perpetually using an outdated kernel...
Nah, just don't run MySQL on Darwin/OSX. Problem solved. Remember trolls, OSX is a desktop operating system. It's perfectly fine for desktop, workstation, or group webserver use. By the time you need to handle ten thousand simultaneous http requests, consider FreeBSD/x86 or NetBSD/PPC.
Most of the larger corporations in Europe are ready to switch
Hah! Don't make me laugh! I work for Europe's largest corporation, Siemens AG, and they are so hostile towards Open Source it's not even funny. There may be a Fujitsu-Siemens division that working on an embedded Linux, but trust me, their workstations are running Windows and Internet Explorer.
When they bought my company the very first thing they did was switch us to a Windows/IE-only environment. Non-Windows projects were cancelled or replaced with Windows projects. Internal and external websites were forced into IIS. Sendmail was replaced with Exchange. Every online application Siemens makes us use requires Internet Explorer. Gone are the Linux print servers. Gone are the FreeBSD group fileservers. Even the freaking i486/66 lab machines that were used only for their serial ports to interface with embedded systems were replaced with brand new Windells.
Sadly, I know of a few very bright minds that have become so co-dependant on their companies that they cannot leave and cannot properly invest the time to finish their eduction.
If they're in that position then it's their fault, not that of the company. There's nothing keeping them there. If they don't like it they can quit. So what if they stop getting a paycheck, they would stop getting a paycheck no matter what job they quit! Even if they quit the super fantastic we-respect-you job like this guy is looking for, they'll still lose a paycheck.
There are several ways to get a really great job. One is to have it handed to you by your daddy the CEO. Another, much more common way, is to start at a crappy job and work your way up. One way NOT to get a really great job is to spend your whole life whining about how life isn't fair.
You (and he) make a good point, except for one thing: The OS in Debian, Redhat, SuSE, Slackware, Gentoo, etc, etc, is NOT "The GNU System!" There is certainly a lot of GNU software in a Linux distro, and some of it is very important, but none of it is required. Bash can be replaced with tcsh. Glibc can be replaced with dietlibc. Various utilities can be replaced with either their BSD variant or with busybox.
RMS and GNU started out to make a complete operating system, but the truth of the matter is that they never finished it. What they came up with instead is a collection of various components and parts to a system. Like parts in an autoparts store. They never bothered integrating anything. In the meantime, though, people were using these parts in various non-GNU operating systems, such as Solaris, IRIX, AIX, NeXT, BSD/OS, etc. When Linux came along, it made sense to use the same free parts that every other UNIX operating system was using.
The people who actually made the first completely Free Software operating system was not GNU, or even Linus Torvalds, but the early Linux distributions. They were the ones who actually put everything together and supplied the critical glue. Therefore they should be the ones to name it.
p.s. GCC and the build chain may be critical to building the system, but it's also critical to FreeBSD, OpenBSD, NetBSD, Mac OSX, and other systems as well. But no one's arguing to name them "GNU".
Too bad people don't understand this. I spent the last couple of months developing a driver for a new board we're making. As a software developer I don't even get the source for the firmware, but have to get the firmware binary from the hardware department. And I work for the same company! Less then fifty feet away from the guy writing the firmware!
This isn't unusual, so people need to stop acting like they've been raped if they don't get complete verilog sources. Full specs for the hardware is much more important.
Re:Declare your bias, why don't you?
on
OpenBSD 3.7 Reviewed
·
· Score: 2, Insightful
...mix BSD and GPL code. The result is always GPL.
Sort of like mixing champagne and sewage. The result is always sewage.
I'm not casting any stones. Stoning is a form of execution. But complaining, bitching, ranting, or even joking about Debian's lethargic development process is not an execution. If you don't like it, bitch back.
Dump the VC++ book. It's not about C++, it's about an IDE and API.
p.s. If you want an API book, buy "GUI Programming with Qt" instead. It comes with a free copy of Qt noncommercial for Windows. Your programs will be crossplatform and trivially portable to Linux, Unix and OSX. The quality of the Qt API makes MFC drop to its knees in humble supplication.
p.p.s. If you want to learn the VC++ IDE, read the help pages.
The inner workings of apt-get have forced an implementation detail to be part of the interface. The inner workings have thus 'complicated' the software interface. So users are going to confuse the two, and it's why I phrased my argument the way I did.
I've never used apt-get, but I have used many other package managers. On a KDE or GNOME desktop, installing a new application is as simple as download the app and double clicking on it. You're done. If there are missing dependencies they're automatically downloaded and installed for you. Actually, if the user is willing to browse a list of available packages locally instead of browsing a list of available downloads online, you can skip the manual download altogether. No, it's not perfect, because you can still get that "untrusted" message. But how is OSX any better, especially when it's completely silent about "untrusted" applications?
If developers bundle non-system dependencies or statically link them, the need for apt-get or similar tools basically disappears
You also end up with huge redundancies. Something like KDE which would normally take a few hundred megabytes of storage now takes hundreds of gigabytes. Instead of one copy of Qt and kdelibs you now have hundreds. And double the size for every additional user installing it.
For most software packages, it makes sense to install them to a central shared location.
It works moderately well, if you only use it for applications and those are statically linked, but nothing else.
.app, including dynamic libraries. There are of course drawbacks, as you've pointed out, such as redundancies and huge application downloads. But everything that would be installed under /usr/local in Unix can be put into a .app directory instead. Imagine a Visual Basic application that actually came WITH the runtime...
Not true. You can put everything an application needs in the
...it makes a great server, though they redefine library hell.
This isn't Linux's problem, it's the fault of all of Open Source. This isn't a problem only for Linux, but bites users of FreeBSD, Solaris, Cygwin, etc. The reason is that there's very little cost for library hell. There is a cost of course, but it accrues to either developers, those doing something unusual, or those bypassing their system's standard package/build/install schema.
There's no cost to GNU, for a common example of this, to make every minor and trivial release of glibc incompatible with the previous. There's no cost to GNOME for having a hundred library dependencies, all of which need to be at the proper revision before your tiny little capplet will build and run.
Unfortunately, it's a problem that isn't going to get solved. You're never going to get a central dictator to punish those who transgress. Even reality is against you, since the more stable an API, the greater its obsolescence.
I've heard that .NET is going to be deprecated with Longhorn. It will still be there (just as all the decades old APIs will still be there) but there will be something new for all the Microsoft sycophants to proselytize.
Maybe I've heard wrong, but given Microsoft's history of APIs, it's a very probable prospect.
There's two main reasons why there's a crunch mode. The first is because someone somewhere managed to do it sucessfully. Management isn't stupid enough to cut development time in half, but shaving a day or two off of a three month schedule isn't that big of a deal. So everytime you manage to get your project out in time they shave another couple of days off the next project's schedule. And even if you manage to avoid that, there's always another team somewhere that did manage to succeed with an insane schedule, "so why can't you?"
The second reason is that the schedule you've estimated and the schedule the market demands live in two different universes. Management isn't stupid, they KNOW it's costing them more to make you do crunches. But the market says they need a product out in three months and not six. So you're given an insane schedule.
I don't know too many teachers who do their work for free. However I do see a lot of teachers arguing that "society" needs to pay them more. Is this the epitome of altruism? Hardly! I used to be a teacher. My mother and father were teachers, and my grandmother and great grandmother were teachers. Capitalists every last one of them!
I used the word "selfish" because it's blunt and in your face. If you don't like it, use "self interest" instead. We are ALL motivated by self interest. A person who devotes his own life exclusively to the service of others, without regard to their own welfare, is usually classified a saint (like Mother Theresa). They are also extremely rare.
People might not all be motivated by money, but they motivated by "stuff", such as food, clothing, shelter, college for their kids, vacations to Tahiti, amelioriting their guilt for vacationing in Tahiti, or even that smug feeling one gets by bashing capitalists.
An individualist can tolerate a collectivist, but a collectivist dedicates his life (selfishly) to destroying individualists.
Boy have you been brainwashed!
Free markets (the term I will use instead of capitalism, a word which no one uses correctly) are attuned with human nature, while universal collectivism is not. People are naturally selfish. It's a fact of life. It's ingrained into our brains.
The reason collectivism has been popular throughout history is because we're so selfish we want everyone else to be altruistic. But it has never worked beyond the scope of small communities. On the other hand, free markets do work. If I have a quart of milk and selfishly want an apple, and you have an apple and selfishly want a quart of milk, then free markets allow us to trade, both get what we want, and both benefit. Money is merely a medium of exchange so we don't have to carry around milk to buy apples with.
With free markets, you cannot get what you want without helping someone else get what they want. Unless you're a criminal, of course, like a mugger or Enron. Which is why you need a minimal government to keep things peaceful. Yes, there will be poor people. But you have poor people in communism as well. History has shown that free individualistic societies have greater overall wealth than collectivist societies. Poverty is relative, and the poor in the US have it much better than the poor in Cuba.
As a famous entomologist once said, "communism is a wonderful theory, applied to the wrong species."
Actually it's any urban society. The less private citizens carrying guns, the more you need police carrying guns.
The fewer consequences for violent acts, the more often they will occur. Guns are a serious consequence.
I got a Dell P1130 for cheaper than that. The best thing about LCDs is that they're driving down the prices of CRTs. Woo!
Let me see if I have your ethical system correct: you're saying it's okay to be evil just as long as you're not more evil than the other guy? That it's okay if Jason Blair, Dan Rather, and Stephen Glass lied, because Bush invaded Iraq? It's pretty hard for your side to claim the high ground when both sides are neck deep in sewage.
And who the fuck said anything about blowjobs?
Didn't your mother ever tell you two wrongs don't make a right?
Sometimes I miss the days when we had free press and truth mattered.
Sometimes I wish people would stop excusing the press for making shit up.
Dan Rather was really, really sure too. And he was the Most Trusted Man in America(tm). I'm sure Stephen Glass and Jason Blair we're really, really sure as well.
Except to make the analogy fit file sharing better, it would be more like pointing to your own pocket and saying there's drugs there.
You were correct the first time. The concept of innocent until proven guilty is uncommon. Much of the world does not have it. The grandparent just made up shit because he wanted to rag on Bush.
Buddha on a diet! I've been hearing this crock ever since the 1.x days! Linux never has any performance problems because you're perpetually using an outdated kernel...
Nah, just don't run MySQL on Darwin/OSX. Problem solved. Remember trolls, OSX is a desktop operating system. It's perfectly fine for desktop, workstation, or group webserver use. By the time you need to handle ten thousand simultaneous http requests, consider FreeBSD/x86 or NetBSD/PPC.
Most of the larger corporations in Europe are ready to switch
Hah! Don't make me laugh! I work for Europe's largest corporation, Siemens AG, and they are so hostile towards Open Source it's not even funny. There may be a Fujitsu-Siemens division that working on an embedded Linux, but trust me, their workstations are running Windows and Internet Explorer.
When they bought my company the very first thing they did was switch us to a Windows/IE-only environment. Non-Windows projects were cancelled or replaced with Windows projects. Internal and external websites were forced into IIS. Sendmail was replaced with Exchange. Every online application Siemens makes us use requires Internet Explorer. Gone are the Linux print servers. Gone are the FreeBSD group fileservers. Even the freaking i486/66 lab machines that were used only for their serial ports to interface with embedded systems were replaced with brand new Windells.
Sadly, I know of a few very bright minds that have become so co-dependant on their companies that they cannot leave and cannot properly invest the time to finish their eduction.
If they're in that position then it's their fault, not that of the company. There's nothing keeping them there. If they don't like it they can quit. So what if they stop getting a paycheck, they would stop getting a paycheck no matter what job they quit! Even if they quit the super fantastic we-respect-you job like this guy is looking for, they'll still lose a paycheck.
There are several ways to get a really great job. One is to have it handed to you by your daddy the CEO. Another, much more common way, is to start at a crappy job and work your way up. One way NOT to get a really great job is to spend your whole life whining about how life isn't fair.
You (and he) make a good point, except for one thing: The OS in Debian, Redhat, SuSE, Slackware, Gentoo, etc, etc, is NOT "The GNU System!" There is certainly a lot of GNU software in a Linux distro, and some of it is very important, but none of it is required. Bash can be replaced with tcsh. Glibc can be replaced with dietlibc. Various utilities can be replaced with either their BSD variant or with busybox.
RMS and GNU started out to make a complete operating system, but the truth of the matter is that they never finished it. What they came up with instead is a collection of various components and parts to a system. Like parts in an autoparts store. They never bothered integrating anything. In the meantime, though, people were using these parts in various non-GNU operating systems, such as Solaris, IRIX, AIX, NeXT, BSD/OS, etc. When Linux came along, it made sense to use the same free parts that every other UNIX operating system was using.
The people who actually made the first completely Free Software operating system was not GNU, or even Linus Torvalds, but the early Linux distributions. They were the ones who actually put everything together and supplied the critical glue. Therefore they should be the ones to name it.
p.s. GCC and the build chain may be critical to building the system, but it's also critical to FreeBSD, OpenBSD, NetBSD, Mac OSX, and other systems as well. But no one's arguing to name them "GNU".
He's up to his old tricks. Yesterday he put out a 5.4 review. Deja vu! It reads just like his 5.3 review! Including wierd factual mistakes!
The jemreport has a widespread reputation, and it's not a good one.
Too bad people don't understand this. I spent the last couple of months developing a driver for a new board we're making. As a software developer I don't even get the source for the firmware, but have to get the firmware binary from the hardware department. And I work for the same company! Less then fifty feet away from the guy writing the firmware!
This isn't unusual, so people need to stop acting like they've been raped if they don't get complete verilog sources. Full specs for the hardware is much more important.
...mix BSD and GPL code. The result is always GPL.
Sort of like mixing champagne and sewage. The result is always sewage.
I'm not casting any stones. Stoning is a form of execution. But complaining, bitching, ranting, or even joking about Debian's lethargic development process is not an execution. If you don't like it, bitch back.