SASL authentication was a shocker to get working with Postfix. Some people had not problems, but Murphy'y Law meant I never got it working properly. Lets hope its fixed.
Erm... no. But you can ask the devs to fix Murphy's law for the 2.2 version ^_^
heh, good question:-) I do get the feeling though that not a lot of people would be happy with the (pretty much forced) yearly upgrade cycle Apple has. Besides, given that the dominant market position sooner or later brings disregard to customers' interest, probably no vendor would be treated better - Linux vendors included.
look who's talking. Here are a few pointers, if somehow you weren't trolling:
EU does not install windows. You have your acronyms messed up.
the ruling is about allowing OEMs to bundle different players, not *no* player.
Format support in not inherent to WMP. You can have the WM/non-WM codecs used with a different player and have it work just fine.
WMP is clunky at the 'extra-goodies' anyway - already-included CD-burning apps do a better job at that. Already-included DVD-playing apps do a better job at that. Don't tell me you'll miss the mp3 spectrum oscilloscope.
a place where it will make a difference: WMP-only DRM. MS might have to make their DRM more available. A 'universal DRM scheme' would help here (this 'by accident' happens to be one of the recent points of the EU takes on DRM).
Sorry to bust your bubble, but you're wrong. You're trying to fit your perspective onto a situation that has nothing to do with it. It does not work that way, you don't just wake up tomorrow into a dictatorship and wish for the good days to come back at any price. You're in it from the beginning, that's all you know and the 'solution' is something you - your country - have to discover on your own, or it's worthless.
Short prediction on what's going to happen in Iraq - the 'democratic regime' will be a joke, people don't know yet how to live without fear there. So at the top the previous rich and greedy (Saddam and his system) will be replaced by others, not rich but greedy, that will kiss US' ass. They will be as bad or worse for the general population (wrt to stuff like being starvetd to death, for example) since the top now will mull the country for what's worth (after the 'allies' take the cream for fighting the war) according to their desire to become rich as well. It's just going to be a different type of oppression and not called this way, since now it's a 'democracy'. Also, don't forget that elections are really easy to forge, too - there's a snowball's chance in hell that there will be enough 'independent observers' interested in overseeing them; heck, I'd be amazed if they don't just get one party/coallition with a huge majority. You really think people there *know* how to weight platforms in an election???
This could go on forever. The point is, moving from dictatorship into democracy requires public education as a critical part - and that's one thing US is not interested to provide (it's quite different from 'replacing an unfriendly regime'). This is what the GP poster meant. Yes, it also has to do with pride - you know, things you build (or get the chance to build) with your own hands are the ones you value most. But one has to have gone through the process recently enough to remember it (see for instance Lincoln saying that liberty must be paid with the blood of patriots or it's worthless).
For (almost as) quick and better looking plots than gnuplot does check out grace. X interface, more goodies, etc. GPL too, since people were complaining about gnuplot's license. So maybe the last part (is reasonably priced and is hard to beat) is less compelling as you thought ^_^
(however, nothing beats gnuplot when it comes to very simple one-line-almost-no-data-manipulation plots)
you do realise that 10^13, even 10^20 is a very small number in some comparisons (when 1g of most stuff contains about 10^23 atoms).
by the same argument, fission should have never worked, as for instance U235 only produces about 180MeV per reaction (i.e. only about one order of magnitude more than a D fusion reaction).
So it's all about the threshold of a self-sustaining reaction. Once you get that under reasonable conditions, scaling up is not so bad.
That's the same issue as with fission - screening. There's enough expertise to the problem at this time to make small-sized, insulated fission chambers.
And it's not so critical, either - neutron absorbtion won't activate everything undiscriminately - there are stability thresholds for isotopes and even then, all you get is a beta decay - gee, more electrons to the world(*) (unless, of course, the radiating nucleus happens to be insode your body, which can be annoying when in large quantities). You do have to ensure a low neutron escaping rate, but the that's usually what you want anyway, to have as much backscattering in the walls as possible. And neutrons don't have such a high penetration depth.
(*)with the occasional gamma, depending on the decaying atom. Of course, neutrinos don't count ^_^
no, you have that wrong! it'll be because the reversed "Yes/No" dialog buttons in Gnome will only allow a Mac->Linux migration - all them Windows users will just mistakenly hit "Cancel/No" in the dialogs and then complain that nothing works.
You can do printing without Samba - use CUPS as an ipp server that Windows will pick up if you install the Unix services add-on (or something like that). Look for help on printing to Unix/network printers in Windows.
So if someone was in the position to spend 400 bucks on a computer, although that money is now gone, chances are that they will eventually have another 400 bucks.
Yeah, but when? $400 can mean anything from a few minutes to a few years of time.
Think outside USA, where $400 can be a lot. Sure, you can save it - it's going to be painful, but stuff you need is stuff you must have. BUT. You're a student, you depend on parents that don't have a lot of money (add a few siblings in the mix and you'll see) and they already paid for your computer, so you have to make do as cheap as you can and fast, because school is starting. Why spend the full price when it's a lot for you and the pirated version is cheaper? It's not like you'll get audited or something - and a better IDE does help with the hw speed.
It's not 'good' or 'bad'. It's about survival in a given environment.
good point. I was trying to make the point on 2.x, but I guess I mistakenly assumed 3.x behave the same. So I should get more up-to-date info before speaking, weeee:-)
on the other hand, on a p4 you want to use -mfp-math=sse anyway, since fxch is no longer free on the x87 unit (welcome back stack model!). Sucks, eh?
There are actually 2 things icc does that are usually labelled 'vectorization'.
One is fp packed (aka vector) mode (the *p? asm instructions, like mulpd). The first issue with gcc here is the incomplete spec on the SSE2 unit (if you can't describe it correctly, you can't optimize for it). The second issue is memory alignment of the buffers - the fast memory access load/store for packed data requires 16-byte alignment. Using the unaligned load/store is less efficient, using aligned ops on unaligned data is slooooow. This part, as you said, has nothing to do with hyperthreading.
the other optimization icc does that is sometimes called 'vectorization' is 'loop vectorization'. that has to do with breaking simple (parallelizable) loops into independent parts and executing them in different threads (do an objdump and see for yourself). You see this in some nice outputs that icc does saying it vectorized some loop. This has to do with hyperthreading.
heh - benchmarking, gotta love it. Here's a clue about (more recent) compilers - note that the bench you linked to has what would be a 5-gen-old gcc (2.7.x). even 2.9* used to spank MS' cl 13.x (that's the pre-release versions of 7.0 that were also freely downloadable - in fact, MS used to give away compiler toolchains for a long time as part of the SDK, old news, huh?).
recent icc (7.x, 8) spank about everyone on vector fp due to various reasons (like Intel not releasing a full spec of the SSE2 unit - check out the gcc mailing lists about SSE2, you'll see they didn't have info on timings and so on, hence gcc does only some integer optimization and mostly scalar fp).
icc does some (nice when not useless) automatic parallelization of code (the idea being to use hyperthreading better).
gcc 2.9x -> 3.1+ was a big improvement as well (moreso for 3.2+, check the docs for the new way they do the machine description for scheduling). Just check your own link.
-ffast-math on gcc only has it do what both Intel and MS are already doing - using the bloody fp unit instead of software emulation!!! (easy proof - do an asm dump of the generated.o file).
another big thing that's done by default by icc and cl is the gcc flag -fomit-frame-pointer (which on x86 is quite important due to register starvation). Again, gcc has that missing.
Actually, looking at the compiler flags makes me wonder whether there's any point in taking those bench's seriously - the guy didn't even bother to use anything more than -mcpu=i686 (aka 'generate for pentium pro) for gcc, and the other compilers' switches are still close to minimal (even if they mean quite more than the gcc one). Makes one wonder about how competent the guy doing the benchmark was.
Put a timeframe on that quote and you'll see it better. Cray pretty much invented HPC - he probably understood it better than you ever will and he died in 1996.
That will make 1024 little shallow furrows. Not very suited for seeding...
on a different note, there are things that a cluster node cpu is better at now than a vector cpu from Cray - too many things changing since the said quote; so with the chickens on steroids the field looks kinda different now ^_^
Cray supercomputers are a big number of processors all in the same machine, and more importantly all sharing the same memory. Each processor has the same delay to access any memory content.
In general, that's not entirely true. You usually have local and non-local memory for each cpu (hence the name N[on]U[niform]M[emory]A[ccess], for when you actually make this distinction). Still, access to a non-local memory location is a lot less expensive than non-local access in a cluster (different machine).
Apart from compiler writers, who needs hand-tuned assembler ? It's impossible to port without a complete rewrite, difficult to upkeep, and you'd need to retune your programs every time a new processor comes out.
This is a very special case he has - HPC. It's one of the few that actually do benefit from hand-tuning optimizations in some places.
you hand-tune for your main workhorse arch - that would be mostly for weird cases to use vector units (think SSE1/2/3 or AltiVec) so not a large amount of asm is required. Use #ifdef's if more than one platform is needed. Yes, it's a complete rewrite, but only if moving to a different arch and even then, only if you need asm again (compiler not doing the needed optimization automatically)
difficult to upkeep - not really, unless it's poorly written and you need to redo it. Comments help, as usual. Also, for some things compilers give you intrinsics to access the low-level features of the cpu, so you can do them C-style.
How often does a processor come out? if you have to run a large simulation and if (notice the if here) hand-optimizing some operations in the main loop can move it from a one-month run to a one-week then you should definitely do it as you can then have a broader results base to use, and quicker. It requires some thought and knowledge about what you're doing, but that's not new.
The asm optimization is optimizing algorithms. It usually is the last stage, when you still need to squeeze more speed after all the high-level optimizations. Not very often, but it still happens (see openssl use of asm for instance; heck, even ATL/WTL - that's a Windows C++ template class lib - uses a couple of asm lines).
So no, asm is not dying outside compiler writers... and of course kernel/driver writers which you forgot to mention ^_^
That will use the SSE2 unit in scalar mode. you have to code by hand any vector mode operations as gcc does not have support for that (icc does though, although there are still plenty of cases where 'by hand' does it better:-) One point to that is data alignment - efficient load/store ops require aligned data; with non-aligned data the penalty is rather large (that's supposed to improve in SSE3 though).
I would be curious to know whether any JIT uses the SSE2 unit in vector mode. That would be an improvement over gcc.
As for using it only when necessary for performance... That's quite hilarious, since there are lots of games, drivers etc that require lots of performance, are written in standard C, and compiled with ICC, Metrowerks, Visual C/C++ or Borland, and do not require such extensions.
that's a broad statement - and you can't support it. Take drivers for instance - you need to do some low-level device access that can't be done in standard C (try to write something to a port in C; heck, even vector math in video drivers can't be done by standard C). And about the kernel, asm it's not always about performance - it's also about the cpu-dependent stuff. Standard C is by definition blind to this as it has to be cpu-agnostic.
Then again, maybe you meant 'hilarious' as a compliment;-)
I think you're mistaking the Athlon64 3200+ for the 3000+. 3200+ has 1M cache, while 3000+ has 512k. 3400+ has the same 1M cache, plus the 0.2GHz speed bump.
Come to think of it, this can actually be found on the very page you linked to.
When I was young and just beginning, I used to see computers as computers, programs as programs and Linux as Linux. Later, when I grew up, computers stopped being computers, programs stopped being programs and Linux was no longer Linux. Yet now, when I am close to the end, computers are again computers, programs are again programs and Linux is again Linux.
So here's the parent poster's koan for all the/. linux fans and bashers. There's no Linux. Understanding that will bring you closer to the OS peace. (*)
(*) for the less skilled in this art, the simpler version if it reads there is no spoon. With the hope that it helps. ^_^
SASL authentication was a shocker to get working with Postfix. Some people had not problems, but Murphy'y Law meant I never got it working properly. Lets hope its fixed.
... no. But you can ask the devs to fix Murphy's law for the 2.2 version ^_^
Erm
heh, good question :-) I do get the feeling though that not a lot of people would be happy with the (pretty much forced) yearly upgrade cycle Apple has. Besides, given that the dominant market position sooner or later brings disregard to customers' interest, probably no vendor would be treated better - Linux vendors included.
look who's talking. Here are a few pointers, if somehow you weren't trolling:
Sorry to bust your bubble, but you're wrong. You're trying to fit your perspective onto a situation that has nothing to do with it. It does not work that way, you don't just wake up tomorrow into a dictatorship and wish for the good days to come back at any price. You're in it from the beginning, that's all you know and the 'solution' is something you - your country - have to discover on your own, or it's worthless.
Short prediction on what's going to happen in Iraq - the 'democratic regime' will be a joke, people don't know yet how to live without fear there. So at the top the previous rich and greedy (Saddam and his system) will be replaced by others, not rich but greedy, that will kiss US' ass. They will be as bad or worse for the general population (wrt to stuff like being starvetd to death, for example) since the top now will mull the country for what's worth (after the 'allies' take the cream for fighting the war) according to their desire to become rich as well. It's just going to be a different type of oppression and not called this way, since now it's a 'democracy'. Also, don't forget that elections are really easy to forge, too - there's a snowball's chance in hell that there will be enough 'independent observers' interested in overseeing them; heck, I'd be amazed if they don't just get one party/coallition with a huge majority. You really think people there *know* how to weight platforms in an election???
This could go on forever. The point is, moving from dictatorship into democracy requires public education as a critical part - and that's one thing US is not interested to provide (it's quite different from 'replacing an unfriendly regime'). This is what the GP poster meant. Yes, it also has to do with pride - you know, things you build (or get the chance to build) with your own hands are the ones you value most. But one has to have gone through the process recently enough to remember it (see for instance Lincoln saying that liberty must be paid with the blood of patriots or it's worthless).
For (almost as) quick and better looking plots than gnuplot does check out grace. X interface, more goodies, etc. GPL too, since people were complaining about gnuplot's license. So maybe the last part (is reasonably priced and is hard to beat) is less compelling as you thought ^_^
(however, nothing beats gnuplot when it comes to very simple one-line-almost-no-data-manipulation plots)
you do realise that 10^13, even 10^20 is a very small number in some comparisons (when 1g of most stuff contains about 10^23 atoms).
by the same argument, fission should have never worked, as for instance U235 only produces about 180MeV per reaction (i.e. only about one order of magnitude more than a D fusion reaction).
So it's all about the threshold of a self-sustaining reaction. Once you get that under reasonable conditions, scaling up is not so bad.
That's the same issue as with fission - screening. There's enough expertise to the problem at this time to make small-sized, insulated fission chambers.
And it's not so critical, either - neutron absorbtion won't activate everything undiscriminately - there are stability thresholds for isotopes and even then, all you get is a beta decay - gee, more electrons to the world(*) (unless, of course, the radiating nucleus happens to be insode your body, which can be annoying when in large quantities). You do have to ensure a low neutron escaping rate, but the that's usually what you want anyway, to have as much backscattering in the walls as possible. And neutrons don't have such a high penetration depth.
(*)with the occasional gamma, depending on the decaying atom. Of course, neutrinos don't count ^_^
no, you have that wrong! it'll be because the reversed "Yes/No" dialog buttons in Gnome will only allow a Mac->Linux migration - all them Windows users will just mistakenly hit "Cancel/No" in the dialogs and then complain that nothing works.
You can do printing without Samba - use CUPS as an ipp server that Windows will pick up if you install the Unix services add-on (or something like that). Look for help on printing to Unix/network printers in Windows.
Or (bonus!) it gives me an irritating high-pitched note at full volume, without anything else working.
Got that with mkd10/SBLive! too. Turned out to be a positive feedback from the mic input (too close to the speakers). Muting it fixed the problem.
So if someone was in the position to spend 400 bucks on a computer, although that money is now gone, chances are that they will eventually have another 400 bucks.
Yeah, but when? $400 can mean anything from a few minutes to a few years of time.
Think outside USA, where $400 can be a lot. Sure, you can save it - it's going to be painful, but stuff you need is stuff you must have. BUT. You're a student, you depend on parents that don't have a lot of money (add a few siblings in the mix and you'll see) and they already paid for your computer, so you have to make do as cheap as you can and fast, because school is starting. Why spend the full price when it's a lot for you and the pirated version is cheaper? It's not like you'll get audited or something - and a better IDE does help with the hw speed.
It's not 'good' or 'bad'. It's about survival in a given environment.
good point. I was trying to make the point on 2.x, but I guess I mistakenly assumed 3.x behave the same. So I should get more up-to-date info before speaking, weeee :-)
on the other hand, on a p4 you want to use -mfp-math=sse anyway, since fxch is no longer free on the x87 unit (welcome back stack model!). Sucks, eh?
There are actually 2 things icc does that are usually labelled 'vectorization'.
One is fp packed (aka vector) mode (the *p? asm instructions, like mulpd). The first issue with gcc here is the incomplete spec on the SSE2 unit (if you can't describe it correctly, you can't optimize for it). The second issue is memory alignment of the buffers - the fast memory access load/store for packed data requires 16-byte alignment. Using the unaligned load/store is less efficient, using aligned ops on unaligned data is slooooow. This part, as you said, has nothing to do with hyperthreading.
the other optimization icc does that is sometimes called 'vectorization' is 'loop vectorization'. that has to do with breaking simple (parallelizable) loops into independent parts and executing them in different threads (do an objdump and see for yourself). You see this in some nice outputs that icc does saying it vectorized some loop. This has to do with hyperthreading.
Actually, looking at the compiler flags makes me wonder whether there's any point in taking those bench's seriously - the guy didn't even bother to use anything more than -mcpu=i686 (aka 'generate for pentium pro) for gcc, and the other compilers' switches are still close to minimal (even if they mean quite more than the gcc one). Makes one wonder about how competent the guy doing the benchmark was.
Put a timeframe on that quote and you'll see it better. Cray pretty much invented HPC - he probably understood it better than you ever will and he died in 1996.
That will make 1024 little shallow furrows. Not very suited for seeding ...
on a different note, there are things that a cluster node cpu is better at now than a vector cpu from Cray - too many things changing since the said quote; so with the chickens on steroids the field looks kinda different now ^_^
no, more like how many 'nodes' do you need? and to himself hey, we should advertise that - it'll sell us a lot more systems ^_^
government/military agencies would have the money anyway. If they buy the idea, it would make a nice sale.
Cray supercomputers are a big number of processors all in the same machine, and more importantly all sharing the same memory. Each processor has the same delay to access any memory content.
In general, that's not entirely true. You usually have local and non-local memory for each cpu (hence the name N[on]U[niform]M[emory]A[ccess], for when you actually make this distinction). Still, access to a non-local memory location is a lot less expensive than non-local access in a cluster (different machine).
This is a very special case he has - HPC. It's one of the few that actually do benefit from hand-tuning optimizations in some places.
The asm optimization is optimizing algorithms. It usually is the last stage, when you still need to squeeze more speed after all the high-level optimizations. Not very often, but it still happens (see openssl use of asm for instance; heck, even ATL/WTL - that's a Windows C++ template class lib - uses a couple of asm lines).
So no, asm is not dying outside compiler writers
That will use the SSE2 unit in scalar mode. you have to code by hand any vector mode operations as gcc does not have support for that (icc does though, although there are still plenty of cases where 'by hand' does it better :-) One point to that is data alignment - efficient load/store ops require aligned data; with non-aligned data the penalty is rather large (that's supposed to improve in SSE3 though).
I would be curious to know whether any JIT uses the SSE2 unit in vector mode. That would be an improvement over gcc.
As for using it only when necessary for performance... That's quite hilarious, since there are lots of games, drivers etc that require lots of performance, are written in standard C, and compiled with ICC, Metrowerks, Visual C/C++ or Borland, and do not require such extensions.
;-)
that's a broad statement - and you can't support it. Take drivers for instance - you need to do some low-level device access that can't be done in standard C (try to write something to a port in C; heck, even vector math in video drivers can't be done by standard C). And about the kernel, asm it's not always about performance - it's also about the cpu-dependent stuff. Standard C is by definition blind to this as it has to be cpu-agnostic.
Then again, maybe you meant 'hilarious' as a compliment
just keep hitting the table really hard!
I think you're mistaking the Athlon64 3200+ for the 3000+. 3200+ has 1M cache, while 3000+ has 512k. 3400+ has the same 1M cache, plus the 0.2GHz speed bump.
Come to think of it, this can actually be found on the very page you linked to.
So here's the parent poster's koan for all the
(*) for the less skilled in this art, the simpler version if it reads there is no spoon. With the hope that it helps. ^_^