It does not look like he checked the value of using -mfpmath=sse,387 - only -mfpmath=sse.
I would question just using SSE for floating point if the code is written just using double values - IIRC SSE doesn't like doing doubles very well. Allowing the compiler to use both the 387 mathco registers as well as the SSE registers might be a win here.
The other point about using SSE for floating point would be to use simple floats and see what difference the math options make.
The peroxide you buy at the drugstore is 3% peroxide - if you pour that over silver you will get pretty much the same thing as you get by pouring it over a wound - some warm foam.
I suppose you could make a "rocket" by putting peroxide in a 2 liter bottle, thowing some silver (or bleach) in, and corking it.
But you would get the same result from baking soda and vinegar.
The current rocket pack uses (IIRC) 99% hydrogen peroxide as a monopropellent fuel - the peroxide is broken down by a silver catalyst into water vapor, oxygen and LOTS of heat. This is a big part of why this rocketpack only works for tens of seconds at a time.
I wonder if anybody has looked into using the 50% peroxide/50% methanol mix that John Carmack is using in his rocket - could this increase the flight time?
Re:Profiling shared libraries
on
GCC 3.4.0 Released
·
· Score: 2, Informative
My bad - there is a seperate program, sprof, that you use to profile the data from shared libraries.
Of course, gprof doesn't mention sprof in the manual, info pages, or in the error message, nor is it mentioned in any of the web pages about this subject.
There is an old saw in the aviation industry: "A twin engine aircraft will have twice as many engine problems as a single engine aircraft."
However, which would you rather be in, a twin engine aircraft that just lost one engine, or a single engine aircraft that just lost an engine?
Yes, RAID cards die - I've been shocked at how often that happens. And 5 disk RAID will have more failures than a 4 disk JBOD (just a bunch of disks) array.
But the question is, are you seeing a reduction in UPTIME, or just in mean time to failure? Maybe the RAID system throws an error once a month and the JBOD system throws an error every two months, but if you can recover in 5 minutes by swaping cards or drives rather than 5 hours for restoring the JBOD from backup, you are better off.
Perhaps what you might look at would be using RAID software on the server's processor, coupled with Firewire drive bays, disks, and multiple Firewire cards. If you have a card die, move the disks to another card until you can schedule downtime. A disk dies, hot-swap and rebuild in background.
Profiling shared libraries
on
GCC 3.4.0 Released
·
· Score: 4, Interesting
Has the ability to profile shared libraries been fixed? I have tried to do this, and even if you compile a shared library with -pg, and specify it in the LD_PROFILE environment variable, the resulting profile file cannot be processed by gprof V2.4 - instead you get "error: unsupported profile revision 131,071"
I *really* need to profile a shared library, and building it as a staticly linked executable is not an option.
The reason folks use DOC is because of the way Windows works.
Case in point:
I am working with a customer who is having problems interfacing to our equipment over GPIB. He is having a problem, and is running the GPIB logger program to see what is going on.
So, he gets the fault on screen. He wants to send me the info. Rather than a) telling GPIBSpy to save the log data as text, or b) marking the text in the GPIBSpy window, then pasting it into the email message, he does things "The Windows Way" - he does an ALT-PRINTSCREEN, then opens Word, then does a paste, then File->Email. Boom - what should be a simple 5K file is now a 100K BMP inside a 200K Word document. And of course, now when I want to copy and paste the section of transaction that has a problem I cannot because it is no longer text but a BMP.
Ditto with our physical plant manager (the guy who's department changes the lights, moves the desks, and so on.) Everytime he wants to send a memo, what does he do - open email client, compose email, send?
NO. He does things "The Windows Way": Start Word. Open Template->Standard memo (which has a company logo graphic, so it will be large). Write memo (Please don't park in the west parking lot tomorrow - we will be spraying for weeds and we don't want to screw up the paint on your car). File->Email. Subject: Memo. Mail text: Please read the attached memo. Send to all users.
Microsoft has made it very easy to start all documents in Word. In a way, this is good - it makes it easier for the users. However, it also makes it HARDER to work with any document that is NOT a Word document. It also means that users are trained that all the world is a nail, since they are using the hammer of Word.
We are hiring and with that much experience you have a pretty good shot. Show your soon-to-be former boss what good experience is.
Sheesh. Let's see, what sorts of things will you know with 10 years experience that you wouldn't with 2:
The only constant is change - specs change, languages change, chips change. At two years you haven't seen as much change, and you think things are relatively static.
Macro-optimization. Suppose you have a program that does lots of string compares (like a language parser). At 2 years experience you probably would try things like inlining the string compare, or the "if (a[0] == b[0]) return strcmp(a,b); else return -1" trick. At 10 years you do things like making your String objects have a hash code and doing a simple single int compare. In other words, you learn to optimize ALGORITHMS, not implementations.
Compilers lie. At two years you think the problem MUST be in your code, because you have not yet learned that compilers have bugs, and sometimes mis-compile things. At ten years you learn that most of the time you screwed up, but SOMETIMES the compiler screwed up - so you get a mixed assembly output and doublecheck
Neo-phillia. At two years you jump on every new thing, because you think it simply MUST be good. At ten, you learn to sit back, evaluate, and then implement in an experimental context.
Documentation. At two years you hate doing documentation. At ten you hate doing documentation, but you hate NOT HAVING DOCUMENTATION EVEN MORE.
Project maintainance. At two years you figure if it can be compiled on your machine, good enough. At 10, you learn to make the build proceedure as easy as possible, so that newbies can come on the project quickly, and so that you can recreate the project easily after several years of inactivity.
The difference between being productive and being busy. At two years, you think that working 60 hours a week, always in crisis mode is being productive. At ten, you learn that the most productive people get more done in 40 hours a week, calmly. Crisis are to be avoided by forsight.
OK, this guy does some plastic fabrication that anybody with some time can do, and he gets on the main page.
So, if I submit my photos of my '04 Grand Marquis, wherein I have not ONLY added a 30G Neo35 MP3 player, but a Kenwood dual-band transciever plus two extra speakers for it, the antenna for the Kenwood, a second battery, extra power points, a battery isolator to charge the secondary battery, a second power distribution panel, would that make the front page?
Once again, missing the obvious!
on
Paid To Spam
·
· Score: 5, Insightful
Folks, they are paying PER CPU hour, not per wallclock hour.
Since in almost every case you will be I/O bound, while this thing may tie up your entire connection it will not run more than a couple of CPU minutes per wallclock hour.
Thus the spammers screw the people doing this - they think they are going to get 24*7 = $168 a week, but they really are going to get about 24*7*.1 = $16.8 a week. Then they will get nothing because their account was terminated.
HOWEVER, this gives us a GREAT way to screw the spammers - run this sucker on an UNDERCLOCKED machine.
WAYYYYYY underclocked.
Like about 100 kHz.
That way, even with a modem the program will be CPU bound.
The problem as I have seen it is that folks talking on cell phones are concentrating on the other end of the conversation more than they are on their surroundings - in a very real sense they are no longer *here*, but *there*.
When two people are in the same place and are talking, they are still *here*, paying some degree of attention to their surroundings. Even if each person is only paying half-attention to their surroundings, two half-attentions add up to something like a whole attention. If the restaurant/train/bus/movie theater/national park they are in gets quiet, one or the other of them may notice and they may get quiet.
But in a cell conversation (or two-way radio, to be fair), the person who is physically *here* is only half-paying attention. If it gets quiet, he probably won't notice half the time, and the other person isn't there to catch it either. RESULT - YOU GET THE MORON SHOUTING BECAUSE HE ISN'T PAYING ATTENTION.
This is also why yapping on the phone is so bad when driving - you are no longer *here*, behind the wheel, you are *there*, in the movie theater with your buddy. And you may just miss the fact that the light turned red, and your buddy isn't going to say "HOLY SHIT STOP !"
I suppose one way to correct this problem would be to allow bystanders to shoot cellphone users with a paintball gun, but only after having held the cell user in their sights for 5 seconds. Thus cell users would have to pay more attention to their surroundings - "... and then we can offshore the service department and GOTTA GO BYE <click>"
Programmers are NOT to programs what builders are to buildings.
Programmers are to programs what ARCHITECTS are to buildings.
Builders are to buildings what COMPILERS AND MAKE UTILITIES are to programs.
Now, I suggest that you make an architect work under the same constraints as a programmer:
1) I cannot tell you were the house will be built, so you cannot estimate heating/cooling, snow loads, etc. Can't it figure it out itself? 2) I cannot tell you that the house won't be moved to a completely different climate once built - can't you make it automatically adjust? 3) I cannot tell you what building materials will be available to build the house with. Can't you make your design work just as well with wood as with adobe? 4) I cannot tell you how many rooms will be needed. Can't the house automatically add rooms as needed? 5) I cannot tell you what services, such as electricity, water, and gas, will be available. Can't you make the house work just as well on wind power as grid power? 6) I can tell you that whatever I told you is subject to change without notice. 7) Oh, by the way, now that the house is almost designed - Add a hanger. No, I will NOT tell you whether the hanger is for a Cessna 182 or a 747 - can't you make the hanger figure that out when I park the plane? 8) Oh, the house cannot cost more than US$10,000. 9) Oh, and the house must be build on a quarter-acre lot. 10) Oh, and the house must be ready to move in tomorrow. Morning. Before I go to work. 11) Oh, and the house must be built by two dain-bramaged monkeys with Nerf Tools. 12) Did I mention being earthquake-proof? 13) Oh, the lot is in a floodplain. Can you make it water-tight? Or float? Or both? 14) Hey, how about a houseboat?
And that is what the inductive sensors are for - to detect an absense of traffic in one direction, and the presense of traffic in the other, and change the lights before you arrive.
And if you truely have an emergency, you should WAIT FOR THE FUCKING AMBULANCE AND LET THEM DO THE TRANSPORT. They have the lights, they have the medical gear, they have the training, they have the room in the back to carry out medical proceedures, they have the people in the back to carry out medical proceedures.
Call 911, stablilize the subject, and WAIT FOR TRANSPORT. That was drummed into our heads at every first aid training session I have ever been to.
If the situation is NOT an emergency, then waiting the extra couple of seconds for the light to see you and switch is a small price to pay to avoid getting rammed by the moron going 90+MPH the other way you DIDN'T see.
Sorry charlie, but I actually drive over the speed limit, and in the right lane. I have morons like you tailgating me because they are too clueless to pass in the open left lane.
As for the morons who drive slow in the passing lane and/or fail to use pullouts - TOWs are far too quick a death for them.
So a speeder is supposed to be challenged by a red light. Open question to the designers of this system: "What is the speed of light in the little universe you are living in?"
You want to stop people from running red lights (and with these lights by extension speeding)?
Put retractable "Severe tire damage" spikes on the entrances to the intersection. Raise them on the directions for which the light is red. Couple the system to a SECURE RF system for emergency vehicles to lower them. Thus the only way a scofflaw can enter the intersection in these cases would be to veer to the other side of the road where the spikes are not facing the correct direction.
Extra points for putting spikes in the media to prevent that.
Teach people that YELLOW means "Stop if at all possible DAMNIT!" and RED means "STOP. No option. STOP. NOW!"
The great thing about this is that you need issue no fine to punish the bad drivers - the cost of replacing their tires will do that nicely.
Of course, I want to mount a land-mine dropper to drop mines with a two second delay behind me - that should teach people what "safe following distance" is (Fire the mine out at rest relative to the road surface, "One Mississippi, Two Mississipp-BANG!").
Seriously - stop people from needlessly tailgating, running yellow and red lights, and I think you could actually RAISE the speed limits in many areas without a reduction in safety.
I tend to sleep (or at least fall asleep) on my left side, left arm extended under the pillow, palm up. But it sucketh because the nerve conduction guys only show up at my doc's office every 2 weeks. Could be worse I suppose - I could have to wait 2 weeks rather than one.
I do wish you had avoided the impulse to make that joke. It is derivative and a step function in the wrong diraction.
And it only leads to convolved jokes like this.
So long as he doesn't try to read a Trint's mind he should be OK, so what's the deal?
Oh come ON people, this is nothing more than a head mounted Heads up display - you know, like has been around for YEARS!
The only real difference is that this uses a scanning laser, rather than a CRT.
Yes, HMDs are cool. Yes, there are plenty of places HMDs would be nice ot have.
But COME ON - this is a new way of doing something that has been done before! It may lead to better HMDs, it may be a breakthrough.
BUT THE SIMPLE FACT THEY ARE USING LASERS DOES NOT MAKE THIS NEW TERRITORY!
No, this is for elegant *nix hackers to display the status of their servers without clashing with the decor!
Or a way Bill Gates can stay updated on MSFT stock prices and his net worth (and any new lawsuits).
Or deploy them in Las Vegas - "THIS CHANDELIER IS PAID FOR.....GUESS HOW.....THAT'S RIGHT.....WITH YOUR MONEY!"
It does not look like he checked the value of using -mfpmath=sse,387 - only -mfpmath=sse.
I would question just using SSE for floating point if the code is written just using double values - IIRC SSE doesn't like doing doubles very well. Allowing the compiler to use both the 387 mathco registers as well as the SSE registers might be a win here.
The other point about using SSE for floating point would be to use simple floats and see what difference the math options make.
Here in Kansas we have that beat.
The peroxide you buy at the drugstore is 3% peroxide - if you pour that over silver you will get pretty much the same thing as you get by pouring it over a wound - some warm foam.
I suppose you could make a "rocket" by putting peroxide in a 2 liter bottle, thowing some silver (or bleach) in, and corking it.
But you would get the same result from baking soda and vinegar.
The current rocket pack uses (IIRC) 99% hydrogen peroxide as a monopropellent fuel - the peroxide is broken down by a silver catalyst into water vapor, oxygen and LOTS of heat. This is a big part of why this rocketpack only works for tens of seconds at a time.
I wonder if anybody has looked into using the 50% peroxide/50% methanol mix that John Carmack is using in his rocket - could this increase the flight time?
My bad - there is a seperate program, sprof, that you use to profile the data from shared libraries.
Of course, gprof doesn't mention sprof in the manual, info pages, or in the error message, nor is it mentioned in any of the web pages about this subject.
Sorry, the version should have been 2.14, not 2.4.
There is an old saw in the aviation industry: "A twin engine aircraft will have twice as many engine problems as a single engine aircraft."
However, which would you rather be in, a twin engine aircraft that just lost one engine, or a single engine aircraft that just lost an engine?
Yes, RAID cards die - I've been shocked at how often that happens. And 5 disk RAID will have more failures than a 4 disk JBOD (just a bunch of disks) array.
But the question is, are you seeing a reduction in UPTIME, or just in mean time to failure? Maybe the RAID system throws an error once a month and the JBOD system throws an error every two months, but if you can recover in 5 minutes by swaping cards or drives rather than 5 hours for restoring the JBOD from backup, you are better off.
Perhaps what you might look at would be using RAID software on the server's processor, coupled with Firewire drive bays, disks, and multiple Firewire cards. If you have a card die, move the disks to another card until you can schedule downtime. A disk dies, hot-swap and rebuild in background.
Has the ability to profile shared libraries been fixed? I have tried to do this, and even if you compile a shared library with -pg, and specify it in the LD_PROFILE environment variable, the resulting profile file cannot be processed by gprof V2.4 - instead you get "error: unsupported profile revision 131,071"
I *really* need to profile a shared library, and building it as a staticly linked executable is not an option.
The reason folks use DOC is because of the way Windows works.
Case in point:
I am working with a customer who is having problems interfacing to our equipment over GPIB. He is having a problem, and is running the GPIB logger program to see what is going on.
So, he gets the fault on screen. He wants to send me the info. Rather than a) telling GPIBSpy to save the log data as text, or b) marking the text in the GPIBSpy window, then pasting it into the email message, he does things "The Windows Way" - he does an ALT-PRINTSCREEN, then opens Word, then does a paste, then File->Email. Boom - what should be a simple 5K file is now a 100K BMP inside a 200K Word document. And of course, now when I want to copy and paste the section of transaction that has a problem I cannot because it is no longer text but a BMP.
Ditto with our physical plant manager (the guy who's department changes the lights, moves the desks, and so on.) Everytime he wants to send a memo, what does he do - open email client, compose email, send?
NO. He does things "The Windows Way": Start Word. Open Template->Standard memo (which has a company logo graphic, so it will be large). Write memo (Please don't park in the west parking lot tomorrow - we will be spraying for weeds and we don't want to screw up the paint on your car). File->Email. Subject: Memo. Mail text: Please read the attached memo. Send to all users.
Microsoft has made it very easy to start all documents in Word. In a way, this is good - it makes it easier for the users. However, it also makes it HARDER to work with any document that is NOT a Word document. It also means that users are trained that all the world is a nail, since they are using the hammer of Word.
Sheesh. Let's see, what sorts of things will you know with 10 years experience that you wouldn't with 2:
But the Neo is running the GPL'ed OpenNeo firmware - does that count?
What if I add that the Neo has every Geeks In Space on it?
OK, this guy does some plastic fabrication that anybody with some time can do, and he gets on the main page.
So, if I submit my photos of my '04 Grand Marquis, wherein I have not ONLY added a 30G Neo35 MP3 player, but a Kenwood dual-band transciever plus two extra speakers for it, the antenna for the Kenwood, a second battery, extra power points, a battery isolator to charge the secondary battery, a second power distribution panel, would that make the front page?
Folks, they are paying PER CPU hour, not per wallclock hour.
Since in almost every case you will be I/O bound, while this thing may tie up your entire connection it will not run more than a couple of CPU minutes per wallclock hour.
Thus the spammers screw the people doing this - they think they are going to get 24*7 = $168 a week, but they really are going to get about 24*7*.1 = $16.8 a week. Then they will get nothing because their account was terminated.
HOWEVER, this gives us a GREAT way to screw the spammers - run this sucker on an UNDERCLOCKED machine.
WAYYYYYY underclocked.
Like about 100 kHz.
That way, even with a modem the program will be CPU bound.
The analogy now would be more like:
The problem as I have seen it is that folks talking on cell phones are concentrating on the other end of the conversation more than they are on their surroundings - in a very real sense they are no longer *here*, but *there*.
When two people are in the same place and are talking, they are still *here*, paying some degree of attention to their surroundings. Even if each person is only paying half-attention to their surroundings, two half-attentions add up to something like a whole attention. If the restaurant/train/bus/movie theater/national park they are in gets quiet, one or the other of them may notice and they may get quiet.
But in a cell conversation (or two-way radio, to be fair), the person who is physically *here* is only half-paying attention. If it gets quiet, he probably won't notice half the time, and the other person isn't there to catch it either. RESULT - YOU GET THE MORON SHOUTING BECAUSE HE ISN'T PAYING ATTENTION.
This is also why yapping on the phone is so bad when driving - you are no longer *here*, behind the wheel, you are *there*, in the movie theater with your buddy. And you may just miss the fact that the light turned red, and your buddy isn't going to say "HOLY SHIT STOP !"
I suppose one way to correct this problem would be to allow bystanders to shoot cellphone users with a paintball gun, but only after having held the cell user in their sights for 5 seconds. Thus cell users would have to pay more attention to their surroundings - "... and then we can offshore the service department and GOTTA GO BYE <click>"
This analogy is flawed.
Programmers are NOT to programs what builders are to buildings.
Programmers are to programs what ARCHITECTS are to buildings.
Builders are to buildings what COMPILERS AND MAKE UTILITIES are to programs.
Now, I suggest that you make an architect work under the same constraints as a programmer:
1) I cannot tell you were the house will be built, so you cannot estimate heating/cooling, snow loads, etc. Can't it figure it out itself?
2) I cannot tell you that the house won't be moved to a completely different climate once built - can't you make it automatically adjust?
3) I cannot tell you what building materials will be available to build the house with. Can't you make your design work just as well with wood as with adobe?
4) I cannot tell you how many rooms will be needed. Can't the house automatically add rooms as needed?
5) I cannot tell you what services, such as electricity, water, and gas, will be available. Can't you make the house work just as well on wind power as grid power?
6) I can tell you that whatever I told you is subject to change without notice.
7) Oh, by the way, now that the house is almost designed - Add a hanger. No, I will NOT tell you whether the hanger is for a Cessna 182 or a 747 - can't you make the hanger figure that out when I park the plane?
8) Oh, the house cannot cost more than US$10,000.
9) Oh, and the house must be build on a quarter-acre lot.
10) Oh, and the house must be ready to move in tomorrow. Morning. Before I go to work.
11) Oh, and the house must be built by two dain-bramaged monkeys with Nerf Tools.
12) Did I mention being earthquake-proof?
13) Oh, the lot is in a floodplain. Can you make it water-tight? Or float? Or both?
14) Hey, how about a houseboat?
And that is what the inductive sensors are for - to detect an absense of traffic in one direction, and the presense of traffic in the other, and change the lights before you arrive.
And if you truely have an emergency, you should WAIT FOR THE FUCKING AMBULANCE AND LET THEM DO THE TRANSPORT. They have the lights, they have the medical gear, they have the training, they have the room in the back to carry out medical proceedures, they have the people in the back to carry out medical proceedures.
Call 911, stablilize the subject, and WAIT FOR TRANSPORT. That was drummed into our heads at every first aid training session I have ever been to.
If the situation is NOT an emergency, then waiting the extra couple of seconds for the light to see you and switch is a small price to pay to avoid getting rammed by the moron going 90+MPH the other way you DIDN'T see.
Sorry charlie, but I actually drive over the speed limit, and in the right lane. I have morons like you tailgating me because they are too clueless to pass in the open left lane.
As for the morons who drive slow in the passing lane and/or fail to use pullouts - TOWs are far too quick a death for them.
As long as you are going to the effort to make the needed changes to the intersection, put in a right turn only lane.
Not only do you then prevent people who are going straight from blocking people who are turning right but you allow for the spikes.
So a speeder is supposed to be challenged by a red light. Open question to the designers of this system: "What is the speed of light in the little universe you are living in?"
You want to stop people from running red lights (and with these lights by extension speeding)?
Put retractable "Severe tire damage" spikes on the entrances to the intersection. Raise them on the directions for which the light is red. Couple the system to a SECURE RF system for emergency vehicles to lower them. Thus the only way a scofflaw can enter the intersection in these cases would be to veer to the other side of the road where the spikes are not facing the correct direction.
Extra points for putting spikes in the media to prevent that.
Teach people that YELLOW means "Stop if at all possible DAMNIT!" and RED means "STOP. No option. STOP. NOW!"
The great thing about this is that you need issue no fine to punish the bad drivers - the cost of replacing their tires will do that nicely.
Of course, I want to mount a land-mine dropper to drop mines with a two second delay behind me - that should teach people what "safe following distance" is (Fire the mine out at rest relative to the road surface, "One Mississippi, Two Mississipp-BANG!").
Seriously - stop people from needlessly tailgating, running yellow and red lights, and I think you could actually RAISE the speed limits in many areas without a reduction in safety.
Delivered I suppose via blow-gun?
I tend to sleep (or at least fall asleep) on my left side, left arm extended under the pillow, palm up. But it sucketh because the nerve conduction guys only show up at my doc's office every 2 weeks. Could be worse I suppose - I could have to wait 2 weeks rather than one.