I conclude there are many factors that contribute to ones' success in life, math and reading being among them. This fellow is obviously very low functioning in some aspects of his life. Therefore, he focuses on his strengths and either depends on others for help where needed, or barely manages to get by in some cases.
Re:Boost epitomizes everything that is wrong with
on
Boost 1.36 Released
·
· Score: 1
The debugging problem, as I understand, will be largely fixed in the next iteration of C++, that's just an implementation detail.
Maybe you don't need to debug your programs. I cannot make a living as a programmer without doing so. When they do get it fixed (somehow, I doubt this assertion), I'll consider using Boost. Until then, no thanks.
Embed your name along with a discussion of what changed in a revision list near the top or bottom of each document. You might also put a contact information link for people that have questions on any particular topic you authored, and solicit suggestions for improving the content. This way, anyone who wants to know who wrote it can find out. These are all clearly best practices.
That's funny. My understanding is that the mods are much more serious than this article lets on. From what I heard they're replacing all the keywords and indentation with some combination of parenthesis, lambda, car and cdr. The language will be SO much improved!
Kinda like the right to self defense. If you end up killing your attacker, you can be charged with murder. Self defense is also an "affirmative defense," but in most people's minds it's also a human right.
There is some evidence that superstars can be made. Hire smart people without super-specific skillsets. Don't let the weenies in HR eliminate people that could fit the bill, but haven't worked on every aspect of what you're looking for. Then, give those smart people the time and resources to develop into superstars.
You think you have bought the right to hear a certain piece of music everywhere ? Wrong : You have rented the agreement that you are allowed to use a piece of plastic untill it rots away to listen to the specific order of some sounds embedded into it, if you can. You have not acquired any kind of right to listen to those specific order of sounds from any other source, or to expect that you can actually listen to it.
And yes, I think that is, next to ripping people off, a breach of contract.
This ignores the doctrine of FAIR USE. The **AA want us to forget about fair use. You can make backups of media on which copyrighted data is purchased. You can transfer it to other media. Snippets can be used for a variety of purposes listed in the law.
DRM will make fair use a moot point, because it will (try to) physically prevent us from doing those things to which we are entitled under the law. This is one big reason why I oppose it and will not purchase equipment or software that contains this "copy protection."
That's Los Alamos. They don't have anything better to do since the Wen Ho Lee thingy got everybody's security clearance revoked. Now, all they can do is make bad jokes.
It's built compatible with the Java Virtual Machine, and can access all of Java, however, it's a vastly improved language. There's also an eclipse plug-in. I really like the improvements, and they can interoperate with any Java that my coworkers write.
You bring up an excellent point: people can improve over time. This is something that Joel seems to discount. Hire only the great programmers. My thinking is that great programmers are not merely talented, but skilled, and this takes time and investment. Companies that only want to hire great programmers are missing out on the possibility of making some promising but unskilled folks into great ones.
Not to mention that while great programmers may not cost much more, the hiring process to find them does, and if more and more companies begin looking for the great ones, it leaves a vacuum in the market, thus driving up the costs and more and more pressure to outsource overseas.
I'm not advocating to ignore greatness when you see it, but rather to look for general intelligence and be willing to do some on-the-job training. Don't you just hate those job advertisements that list umpteen required specific skills, any of which could be mastered with only a little effort? Always seems pretty short-sighted to me, and leads me to look elsewhere.
Flash has to be erased (slow operation) before being written (fast). This is typically accomplished by having the OS-driver / firmware perform the erase operations for unused sectors in the background. Thus there's _always_ a set of pre-erased sectors ready-to-go.
Once erased, the available sectors are put in a free list. When the OS commands a sector to be written, the next available one is selected from the free list, and assigned to the sector number the OS requested. Thus there is a round-robin approach to using sectors. While one block of flash may be written up to 100,000 times, this round-robin approach makes it so that 100,000 is roughly multiplied by the number of free sectors in the rotating list. Thus, you effectively have an unlimited number of writes on flash.
When a sector can no longer be erased, it is dropped from the available list. Over a long period of time, your flash will be eaten up with dead sectors. You might not want to run a Transaction Processing Database System on this kind of media, but for a laptop computer, its perfect.
Thanks for the reply. I agree with you in part. The C++ std library is easy to use, initially. Until you make a mistake using it and then have to trapse through the underlying mechanisms in the debugger. I currently use VC++6 on the windows side, and it's god-awful with respect to the std libraries. You have to follow umpteen references to begin to get a feel for things. And they're shown in that horrible tree structure.
My problem really is that to get the nice features you want using templates, you often have to create a horrible mess underneath. Once it's debugged, it's nice, but until then, you may be spending some late nights pulling out what little hair remains.
I find Boost's excessive use of templates impenetrable. And, God, I'd hate to have to debug any misuse of the Boost libraries. Are there any good debuggers that are template-savvy? If somebody could automatically parse even the STL structures into a nice graphical representation, that would be a good start.
Don't take this as a troll, or anything, but I find Boost's overuse of templates impenetrable. And, God, I'd hate to have to debug any misuse of the Boost libraries. Are there any good debuggers that are template-savvy? If somebody could automatically parse even the STL structures into a nice graphical representation, that would be a good start.
With the advent of adaptive optics, we have very few reasons to maintain a space-based visible-spectrum telescope. It's just too expensive. Why not rather put the money into the 100-meter project? You get 100x the value for the dollar.
Had we taken the money spent on Hubble 20-30 years ago and put it into the kind of research used to produce adaptive optics, we'd probably have more to show for it today.
Please keep the anti-religious bigotry out of your arguments. You're only starting a flame war, and the logical fallacies in your arguments only serve to place all religious skeptics in a bad light. (Ignorance, bigotry, and endless conflict? Sounds like a flame war to me.)
I mostly agree, except in one case. If you have a huge library of JPEGs that need archival, you would like to get better compression for them without the cost of converting to another format. Using a stuffit archive might provide just the ticket for you, if you're in this scenario.
What users want is only partially relevant. I as the creator of the software get to decide the conditions of its use. If you don't want to go along with my conditions, you don't have to use my product. If my software is so good that people are willing to pay me every time they use it, then they should have the right to do so. And if so, then I should have the right to ask for that. If nobody's willing to pay, I'll just do something else. And I have to ask, what's wrong with me benefitting from the products I create?
Fundamentally, I see this as an issue of property rights. When I've worked hard (and invested in other ways, too) to produce something, I should have ownership of it. If someone wants to pay the asking price, I'll be willing to sell it. If nobody wants to pay that price, then maybe I'll license it for specific uses. Over time, perhaps I'll get what I want out of it that way. If it makes me fabulously wealthy, then I'll consider giving some of that back (what I earned) in the form of free software. Note I said giving. Giving is voluntary on the part of the property owner.
If there's no property right, what is the motivation for people to create? (We're talking about the vast majority of us who are not independently wealthy and need to provide for our families.) I may, in my spare time, contribute to the FOSS community. But I'll do so out of the abundance that I have earned elsewhere. It would be generosity, not some ethical requirement. If I don't have any abundance, there won't be much left to give. My family comes first.
Now, certainly property rights can be abused. But philanthropy cannot be forced on people. You can't make me love you. The best way is to set an example and to treat the worst abusers with the contempt they deserve. In the worst kinds of abuse, we can pass laws such as antitrust, limits on copyright, etc. But this does not obviate the need for a motivator to produce innovations. That motivator is money and the (limited) power to control your creations.
Many people in this world are highly unethical-- they would steal my products and be more than happy to destroy their value by parasitically propagating them without my consent. The laws are in favor of the property owners, and for good reason. We all need this kind of protection.
Well, that's my 2 cents worth, graciously contributed for anyone to enjoy.
Re:A test for whether UML is right for you
on
How Do You Use UML?
·
· Score: 1
Good insight. I would only add that it appears you have an all-or-nothing approach to UML. My feeling is that we should take what's useful and skip the rest. For example, if you have a team of 5 or more programmers building a system that will take a year to have the first fully-functional release, you're going to need a system to communicate your designs to each other.
If you have a customer who doesn't know his requirements, you're going to need a method to communicate what you will actually build. If you're a government contractor, you're going to have a formal design review. Use-cases, scenarios, and sequence diagrams are an excellent way to show what you intend to build and how you will meet the requirement.
For complex control problems, timing diagrams and hierarchical statecharts are very helpful to minimize the complexity of the design. If you have a big object hierarchy, it will certainly behoove you to have some kind of chart showing the inheritance tree, and the interrelationships of the main classes.
None of these examples requires UML. However, many people have been trained to understand it, and it is something of a standard.
I write a lot of device-control kinds of applications. The high-speed stuff (> 1kHz) benefits tremendously from hierarchical state machines. I began using the mechanism Miro Samek proposed in "Practical Statecharts in C/C++". See http://www.quantum-leaps.com/.
This is a very nice framework for taking your statecharts directly into code. They are also pretty efficient.
However, in a couple of cases, I had to abandon his framework, because the DSP implementation ended up being too big to fit into my DSP's cache. So, I broke down and rewrote it all using a nested-switch. It's uglier and more bug-prone, but it fits in cache and helps me keep my high speed loop fast enough.
The nice thing about the hierarchical statecharts is that they help simplify the problem in ways I did not think about previously. Behavioral inheritance is a great concept, and having a way to think about it graphically has sped up my designs.
I cannot help but recommend Samek's book and the use of these hierarchical state charts. They are helpful, especially if you're doing control problems.
That's cute. You think you know better than millions of intelligent people who make complex choices every day.
I conclude there are many factors that contribute to ones' success in life, math and reading being among them. This fellow is obviously very low functioning in some aspects of his life. Therefore, he focuses on his strengths and either depends on others for help where needed, or barely manages to get by in some cases.
Maybe you don't need to debug your programs. I cannot make a living as a programmer without doing so. When they do get it fixed (somehow, I doubt this assertion), I'll consider using Boost. Until then, no thanks.
Embed your name along with a discussion of what changed in a revision list near the top or bottom of each document. You might also put a contact information link for people that have questions on any particular topic you authored, and solicit suggestions for improving the content. This way, anyone who wants to know who wrote it can find out. These are all clearly best practices.
That's funny. My understanding is that the mods are much more serious than this article lets on. From what I heard they're replacing all the keywords and indentation with some combination of parenthesis, lambda, car and cdr. The language will be SO much improved!
Kinda like the right to self defense. If you end up killing your attacker, you can be charged with murder. Self defense is also an "affirmative defense," but in most people's minds it's also a human right.
There is some evidence that superstars can be made. Hire smart people without super-specific skillsets. Don't let the weenies in HR eliminate people that could fit the bill, but haven't worked on every aspect of what you're looking for. Then, give those smart people the time and resources to develop into superstars.
You think you have bought the right to hear a certain piece of music everywhere ? Wrong : You have rented the agreement that you are allowed to use a piece of plastic untill it rots away to listen to the specific order of some sounds embedded into it, if you can. You have not acquired any kind of right to listen to those specific order of sounds from any other source, or to expect that you can actually listen to it.
And yes, I think that is, next to ripping people off, a breach of contract.
This ignores the doctrine of FAIR USE. The **AA want us to forget about fair use. You can make backups of media on which copyrighted data is purchased. You can transfer it to other media. Snippets can be used for a variety of purposes listed in the law.
DRM will make fair use a moot point, because it will (try to) physically prevent us from doing those things to which we are entitled under the law. This is one big reason why I oppose it and will not purchase equipment or software that contains this "copy protection."
So, why would anyone want to support this standard over NTP?
That's Los Alamos. They don't have anything better to do since the Wen Ho Lee thingy got everybody's security clearance revoked. Now, all they can do is make bad jokes.
Have a look at Nice: http://nice.sourceforge.net/
It's built compatible with the Java Virtual Machine, and can access all of Java, however, it's a vastly improved language. There's also an eclipse plug-in. I really like the improvements, and they can interoperate with any Java that my coworkers write.
You bring up an excellent point: people can improve over time. This is something that Joel seems to discount. Hire only the great programmers. My thinking is that great programmers are not merely talented, but skilled, and this takes time and investment. Companies that only want to hire great programmers are missing out on the possibility of making some promising but unskilled folks into great ones.
Not to mention that while great programmers may not cost much more, the hiring process to find them does, and if more and more companies begin looking for the great ones, it leaves a vacuum in the market, thus driving up the costs and more and more pressure to outsource overseas.
I'm not advocating to ignore greatness when you see it, but rather to look for general intelligence and be willing to do some on-the-job training. Don't you just hate those job advertisements that list umpteen required specific skills, any of which could be mastered with only a little effort? Always seems pretty short-sighted to me, and leads me to look elsewhere.
Flash has to be erased (slow operation) before being written (fast). This is typically accomplished by having the OS-driver / firmware perform the erase operations for unused sectors in the background. Thus there's _always_ a set of pre-erased sectors ready-to-go.
Once erased, the available sectors are put in a free list. When the OS commands a sector to be written, the next available one is selected from the free list, and assigned to the sector number the OS requested. Thus there is a round-robin approach to using sectors. While one block of flash may be written up to 100,000 times, this round-robin approach makes it so that 100,000 is roughly multiplied by the number of free sectors in the rotating list. Thus, you effectively have an unlimited number of writes on flash.
When a sector can no longer be erased, it is dropped from the available list. Over a long period of time, your flash will be eaten up with dead sectors. You might not want to run a Transaction Processing Database System on this kind of media, but for a laptop computer, its perfect.
Hardy could have gone to India, to support his better.
Show the lil tikes how to remove the IR filter from their webcam...
Then, for some real engineering maneuvers...
Thanks for the reply. I agree with you in part. The C++ std library is easy to use, initially. Until you make a mistake using it and then have to trapse through the underlying mechanisms in the debugger. I currently use VC++6 on the windows side, and it's god-awful with respect to the std libraries. You have to follow umpteen references to begin to get a feel for things. And they're shown in that horrible tree structure.
My problem really is that to get the nice features you want using templates, you often have to create a horrible mess underneath. Once it's debugged, it's nice, but until then, you may be spending some late nights pulling out what little hair remains.
I find Boost's excessive use of templates impenetrable. And, God, I'd hate to have to debug any misuse of the Boost libraries. Are there any good debuggers that are template-savvy? If somebody could automatically parse even the STL structures into a nice graphical representation, that would be a good start.
Don't take this as a troll, or anything, but I find Boost's overuse of templates impenetrable. And, God, I'd hate to have to debug any misuse of the Boost libraries. Are there any good debuggers that are template-savvy? If somebody could automatically parse even the STL structures into a nice graphical representation, that would be a good start.
I agree. The way the left tries to pretend there were never any WMD is absurd. Clearly, it was buried, destroyed, or (most likely) exported. See this link: http://www.cnsnews.com//ViewSpecialReports.asp?Pag e=%5C%5CSpecialReports%5C%5Carchive%5C%5C200410%5C %5CSPE20041004a.html
With the advent of adaptive optics, we have very few reasons to maintain a space-based visible-spectrum telescope. It's just too expensive. Why not rather put the money into the 100-meter project? You get 100x the value for the dollar.
Had we taken the money spent on Hubble 20-30 years ago and put it into the kind of research used to produce adaptive optics, we'd probably have more to show for it today.
Please keep the anti-religious bigotry out of your arguments. You're only starting a flame war, and the logical fallacies in your arguments only serve to place all religious skeptics in a bad light. (Ignorance, bigotry, and endless conflict? Sounds like a flame war to me.)
I mostly agree, except in one case. If you have a huge library of JPEGs that need archival, you would like to get better compression for them without the cost of converting to another format. Using a stuffit archive might provide just the ticket for you, if you're in this scenario.
What users want is only partially relevant. I as the creator of the software get to decide the conditions of its use. If you don't want to go along with my conditions, you don't have to use my product. If my software is so good that people are willing to pay me every time they use it, then they should have the right to do so. And if so, then I should have the right to ask for that. If nobody's willing to pay, I'll just do something else. And I have to ask, what's wrong with me benefitting from the products I create?
Fundamentally, I see this as an issue of property rights. When I've worked hard (and invested in other ways, too) to produce something, I should have ownership of it. If someone wants to pay the asking price, I'll be willing to sell it. If nobody wants to pay that price, then maybe I'll license it for specific uses. Over time, perhaps I'll get what I want out of it that way. If it makes me fabulously wealthy, then I'll consider giving some of that back (what I earned) in the form of free software. Note I said giving. Giving is voluntary on the part of the property owner.
If there's no property right, what is the motivation for people to create? (We're talking about the vast majority of us who are not independently wealthy and need to provide for our families.) I may, in my spare time, contribute to the FOSS community. But I'll do so out of the abundance that I have earned elsewhere. It would be generosity, not some ethical requirement. If I don't have any abundance, there won't be much left to give. My family comes first.
Now, certainly property rights can be abused. But philanthropy cannot be forced on people. You can't make me love you. The best way is to set an example and to treat the worst abusers with the contempt they deserve. In the worst kinds of abuse, we can pass laws such as antitrust, limits on copyright, etc. But this does not obviate the need for a motivator to produce innovations. That motivator is money and the (limited) power to control your creations.
Many people in this world are highly unethical-- they would steal my products and be more than happy to destroy their value by parasitically propagating them without my consent. The laws are in favor of the property owners, and for good reason. We all need this kind of protection.
Well, that's my 2 cents worth, graciously contributed for anyone to enjoy.
Good insight. I would only add that it appears you have an all-or-nothing approach to UML. My feeling is that we should take what's useful and skip the rest. For example, if you have a team of 5 or more programmers building a system that will take a year to have the first fully-functional release, you're going to need a system to communicate your designs to each other.
If you have a customer who doesn't know his requirements, you're going to need a method to communicate what you will actually build. If you're a government contractor, you're going to have a formal design review. Use-cases, scenarios, and sequence diagrams are an excellent way to show what you intend to build and how you will meet the requirement.
For complex control problems, timing diagrams and hierarchical statecharts are very helpful to minimize the complexity of the design. If you have a big object hierarchy, it will certainly behoove you to have some kind of chart showing the inheritance tree, and the interrelationships of the main classes.
None of these examples requires UML. However, many people have been trained to understand it, and it is something of a standard.
I write a lot of device-control kinds of applications. The high-speed stuff (> 1kHz) benefits tremendously from hierarchical state machines. I began using the mechanism Miro Samek proposed in "Practical Statecharts in C/C++". See http://www.quantum-leaps.com/.
This is a very nice framework for taking your statecharts directly into code. They are also pretty efficient.
However, in a couple of cases, I had to abandon his framework, because the DSP implementation ended up being too big to fit into my DSP's cache. So, I broke down and rewrote it all using a nested-switch. It's uglier and more bug-prone, but it fits in cache and helps me keep my high speed loop fast enough.
The nice thing about the hierarchical statecharts is that they help simplify the problem in ways I did not think about previously. Behavioral inheritance is a great concept, and having a way to think about it graphically has sped up my designs.
I cannot help but recommend Samek's book and the use of these hierarchical state charts. They are helpful, especially if you're doing control problems.
We do have proof. See this link: http://www.cnsnews.com//ViewSpecialReports.asp?Pag e=%5C%5CSpecialReports%5C%5Carchive%5C%5C200410%5C %5CSPE20041004a.html