Windows is written in C with C++ wrappers to the APIs. All of the Win32 APIs may be accessed via C. There is a limited amount of.Net applications in Windows because most services/etc, must be able to function with a barebones install. I saw an interview with an MS devel who wanted to use C# for the interface to the Windows Media Player for Vista/Win7, but they were not allowed to use.Net as it cannot be assumed installed in all cases.
GPUs are no longer "graphics" cards, but co-processors. Not much takes advantage of them yet, but in the near future software will.
Microsoft, AMD, Intel, nVidia, ARM, IBM, and some others, are all working on taking advantage of the massive number-crunching power of modern GPUS. They want to make it easy for programmers to use them and let the OS interface in a simple manner.
These frameworks mostly just look at throughput vs latency. They plan to make it easy to not just make use of local GPUs, but also remote computing nodes. They break up work loads into "tasks"(or whichever term the framework uses), then the OS load balances across the different available computing interfaces, which can be x86 CPUs, GPUs, Larrabee, Networked computers, Cloud, etc. You just tell the OS what kind of latency you need to work with and it will do the rest. It may not give the best performance, but it will give you good performance with little effort. the 80/20 rule.
Right now it looks like wasted transistors, but really they're just setting the stage for a massive revolution. Anyway, what else would you do? Removing the GPU doesn't really reduce the price much and adding more cores isn't beneficial because most software can't take advantage of them anyway, even high end servers are having a hard time with the amount of general computing power these multi-core beasts have.
There is little to no demand for more CPU processing power. Even with Web/DB servers, most of the bottleneck is the IO or memory. Reducing power consumption is what everyone wants. They could easily slap on 8 cores and claim it's 2xs faster for the same power, but why. In the end it would just cost more, consume more power, and not add value.
I'm voting for Ron Paul. I don't agree with all of his ideas, but he's very set against big government and I see him doing as much damage as possible to the corp/government love affair.
Actually, there was a recent study showing the red shift of light escaping galaxies are with in 99.9% of the expected red shift for the calculated gravity-well. This means gravity does react as expected over large distances. The problem is any other forces we don't know about.
They think this ghost matter exists because there are large sections of seemingly empty space with gravitational lensing but no detectable matter in any frequency.
When "something" exerts HUGE amounts of gravity while being 100% transparent, we give it a generic name that that indicates that we don't understand it... "Dark Matter"
Been using Win7 for about 2 years. Been programming in.Net4 for about 1.5 years, upgrading to Win2k8R2 for our servers in the next 6months-1year, and looking into SQL2012 for after the R2 upgrade.
Licensing costs aren't an issue as administration dwarfs any other cost outside of the datacenter hardware. Keeping up-to-date keeps us nimble and lets us use newer tech, which reduces datacenter costs more than the cost of upgrading the licensing.
And with more than half of our development now happening "offshore"
a rollout of Win-8 would cost many billions of dollars
Such is the price you pay when you outsource. Reduce up-front costs for much higher long term tech debt.
all of our current in-house applications are written and tuned for XP
Sounds like the devels were taking advantage of XP quirks. Your.Net apps should transparently run between XP/Vista/7/8, if you have competent programmers.
Not saying your business case isn't valid, just saying your company won't upgrade to Win7/8/etc because of lousy management and programming.
Vista/7, in x86-64 mode, locks down and enforces certain guidelines that MS has been telling devels for the past decade, like which files you can modify and which registry settings you can view/change/etc.
32bit apps that break under 64bit Vista/7 are almost entirely poorly programmed.
They sell hardware that sends a single photon at a time. The photon's polarity is random. It hits a mirror/prism or something, and if it's one polarity, it goes to sensor A, if it's the other polarity, to goes to sensor B.
The government wanted the *best* to analyze the system for flaws. I would say NASA has a pretty good record for the complexity of the systems the develop/operate/maintain.
It all depends on the kid. Basic is a great starting ground, but don't rule out C/etc. I found Basic hard and confusing and got quickly bored when I was 11, but C/Asm was fun and easy.
I didn't get past the basics of C/Asm when I was young, but it got me interested and showed me how computers work. This paid off as now I design systems that take advantage of how the CPUs work. Macro level optimizations.
Very think like me, but if someone does, then Basic will turn them off from programming. I would still start with something like Basic or Python.
I agree and disagree with a lot of what you said. I like the later 2/3rds, but I think the 1/3rd calling TB "shitty" is a bit short sighted. I think TB is currently a bad option because the copper port will be replaced with a much better optical one, not to mention the price. But I think TB, or something like TB, is the future. In 5-10 years when it is cheap, having one connection to handle EVERYTHING will be best.
Nutshell: The idea of TB is great, but it is currently the Vista of Win7.
Except there will never be a USB 4. In order to get to the needed speeds USB 4 would need to do all the tricks that make Thunderbolt currently expensive (active cable, fiber optics, etc...). At that point Thunderbolt will already have a head start.
This right here. USB 4 may make it near 10Gb, but TB is going way past that. USB will have to ditch backwards compatibility in order to keep up, which is the only reason to use USB.
Intel plans on TB replacing PCIe ports, monitor connections, etc. One port to rule them all. 40/100gb fiber versions will be out in 2-3 years, at least the 40gb version, ma'b not the 100gb.
The speed listed already has overhead subtracted.
Also, since the fiber version should get cheap from mass production and maturity of the product, I would hope that fiber physical ports should start getting cheap for network devices also. I don't see why a network switch can't be made of a bunch of cheap 100Gb fiber TB ports that push Ethernet frames. They're good for 100m distances.
I read about Lightpeak back in '05-ish.(epeen flex)
AMD announced that they have something to compete with TB, but there is no details and I have not heard anything about it since a small blip in an interview from months ago.
I don't know for sure myself, but I recently saw a benchmark by Intel using FreeBSD and their main claim was making use of multiple cores. They had a FreeBSD box pushing 20Gb/sec of routing for with 1500byte packets and it could still handle over 10Gb/sec with 64byte packets.
One of the biggest changes for FreeBSD9 was the extra threading their network stack does, it is suppose to help dramatically with the stateful firewall.
"most optimizations you can apply to nginx are also valid in apache"
The biggest thing I like about nginx is not its great out of box speed, but how it scales past its peak. nginx is fairly async and when you get past peak performance, it only has mild negative scaling. Apache, on the other hand, has horrible negative scaling under load. Heck, properly programmed async IIS web apps are almost near perfect and just plateau once peak performance is reached.
You're a bit off. nginx by default has 1 thread per core. 4 core cpu is 4 threads. It never has more than those 4 threads. nginx uses async IO, apache uses threads.
I (and a few others) find parallel programming easy
I think parallel programming is easy and I don't understand all the trouble people have with it. The biggest issues is debugging, but as long as you have clear and concise entry and exits in your code, it is just a matter of time to track down the issue. Unit testing + modular code = win
"For demanding stuff I just run the same scripts on multiple threads or processes and do simple IPC if they need to cooperate"
Or you can do the exact same thing within a single application and instead of the overhead of IPC, you can communicate within the same protected memory space, much faster.
If something as naturally parallel as a web server is slower multi-threaded, it is HORRIBLY programmed or is an old single-threaded server with a few threading tweaks.
Modern techniques only use 1/100th the amount of radiation of machines from only a decade ago.
I guess my question is how does the new tech affect people. If the old tech only doubled the tumor rate, reducing the amount of radiation by two magnitudes should lower your risk quite a bit.
Also, the machine at my Dentists doesn't do the whole head, but has a VERY focused output that pressed up against your cheek. You place a digital x-ray sensor between your teeth and it works as a "film".
They're like, "we don't even have to leave the room anymore". They stand right behind the machine.
" make sure your formatting is correct in EVERY BROWSER" Code to the standard, not the browser. Well, that's the ideal anyway.
Windows is written in C with C++ wrappers to the APIs. All of the Win32 APIs may be accessed via C. There is a limited amount of .Net applications in Windows because most services/etc, must be able to function with a barebones install. I saw an interview with an MS devel who wanted to use C# for the interface to the Windows Media Player for Vista/Win7, but they were not allowed to use .Net as it cannot be assumed installed in all cases.
You're not seeing the big picture.
GPUs are no longer "graphics" cards, but co-processors. Not much takes advantage of them yet, but in the near future software will.
Microsoft, AMD, Intel, nVidia, ARM, IBM, and some others, are all working on taking advantage of the massive number-crunching power of modern GPUS. They want to make it easy for programmers to use them and let the OS interface in a simple manner.
These frameworks mostly just look at throughput vs latency. They plan to make it easy to not just make use of local GPUs, but also remote computing nodes. They break up work loads into "tasks"(or whichever term the framework uses), then the OS load balances across the different available computing interfaces, which can be x86 CPUs, GPUs, Larrabee, Networked computers, Cloud, etc. You just tell the OS what kind of latency you need to work with and it will do the rest. It may not give the best performance, but it will give you good performance with little effort. the 80/20 rule.
Right now it looks like wasted transistors, but really they're just setting the stage for a massive revolution. Anyway, what else would you do? Removing the GPU doesn't really reduce the price much and adding more cores isn't beneficial because most software can't take advantage of them anyway, even high end servers are having a hard time with the amount of general computing power these multi-core beasts have.
There is little to no demand for more CPU processing power. Even with Web/DB servers, most of the bottleneck is the IO or memory. Reducing power consumption is what everyone wants. They could easily slap on 8 cores and claim it's 2xs faster for the same power, but why. In the end it would just cost more, consume more power, and not add value.
I'm voting for Ron Paul. I don't agree with all of his ideas, but he's very set against big government and I see him doing as much damage as possible to the corp/government love affair.
Actually, there was a recent study showing the red shift of light escaping galaxies are with in 99.9% of the expected red shift for the calculated gravity-well. This means gravity does react as expected over large distances. The problem is any other forces we don't know about.
They think this ghost matter exists because there are large sections of seemingly empty space with gravitational lensing but no detectable matter in any frequency.
When "something" exerts HUGE amounts of gravity while being 100% transparent, we give it a generic name that that indicates that we don't understand it... "Dark Matter"
Been using Win7 for about 2 years. Been programming in .Net4 for about 1.5 years, upgrading to Win2k8R2 for our servers in the next 6months-1year, and looking into SQL2012 for after the R2 upgrade.
Licensing costs aren't an issue as administration dwarfs any other cost outside of the datacenter hardware. Keeping up-to-date keeps us nimble and lets us use newer tech, which reduces datacenter costs more than the cost of upgrading the licensing.
And with more than half of our development now happening "offshore"
a rollout of Win-8 would cost many billions of dollars
Such is the price you pay when you outsource. Reduce up-front costs for much higher long term tech debt.
all of our current in-house applications are written and tuned for XP
Sounds like the devels were taking advantage of XP quirks. Your .Net apps should transparently run between XP/Vista/7/8, if you have competent programmers.
Not saying your business case isn't valid, just saying your company won't upgrade to Win7/8/etc because of lousy management and programming.
Linux already does everything except bleeding edge gaming. Why do you have an XP VM to run under Linux?
Vista/7, in x86-64 mode, locks down and enforces certain guidelines that MS has been telling devels for the past decade, like which files you can modify and which registry settings you can view/change/etc.
32bit apps that break under 64bit Vista/7 are almost entirely poorly programmed.
I came across this site a long while back
http://www.idquantique.com/true-random-number-generator/quantis-usb-pcie-pci.html
They sell hardware that sends a single photon at a time. The photon's polarity is random. It hits a mirror/prism or something, and if it's one polarity, it goes to sensor A, if it's the other polarity, to goes to sensor B.
Truly random. About $2.1k for the PCIe card.
The government wanted the *best* to analyze the system for flaws. I would say NASA has a pretty good record for the complexity of the systems the develop/operate/maintain.
I started on math word problems. My math books had some fairly hard word problems, they were so much fun. Problem solving applies everywhere.
It all depends on the kid. Basic is a great starting ground, but don't rule out C/etc. I found Basic hard and confusing and got quickly bored when I was 11, but C/Asm was fun and easy.
I didn't get past the basics of C/Asm when I was young, but it got me interested and showed me how computers work. This paid off as now I design systems that take advantage of how the CPUs work. Macro level optimizations.
Very think like me, but if someone does, then Basic will turn them off from programming. I would still start with something like Basic or Python.
I agree and disagree with a lot of what you said. I like the later 2/3rds, but I think the 1/3rd calling TB "shitty" is a bit short sighted. I think TB is currently a bad option because the copper port will be replaced with a much better optical one, not to mention the price. But I think TB, or something like TB, is the future. In 5-10 years when it is cheap, having one connection to handle EVERYTHING will be best.
Nutshell: The idea of TB is great, but it is currently the Vista of Win7.
Except there will never be a USB 4. In order to get to the needed speeds USB 4 would need to do all the tricks that make Thunderbolt currently expensive (active cable, fiber optics, etc...). At that point Thunderbolt will already have a head start.
This right here. USB 4 may make it near 10Gb, but TB is going way past that. USB will have to ditch backwards compatibility in order to keep up, which is the only reason to use USB.
Intel plans on TB replacing PCIe ports, monitor connections, etc. One port to rule them all. 40/100gb fiber versions will be out in 2-3 years, at least the 40gb version, ma'b not the 100gb.
The speed listed already has overhead subtracted.
Also, since the fiber version should get cheap from mass production and maturity of the product, I would hope that fiber physical ports should start getting cheap for network devices also. I don't see why a network switch can't be made of a bunch of cheap 100Gb fiber TB ports that push Ethernet frames. They're good for 100m distances.
I read about Lightpeak back in '05-ish.(epeen flex)
AMD announced that they have something to compete with TB, but there is no details and I have not heard anything about it since a small blip in an interview from months ago.
"PF isn't threaded"
I don't know for sure myself, but I recently saw a benchmark by Intel using FreeBSD and their main claim was making use of multiple cores. They had a FreeBSD box pushing 20Gb/sec of routing for with 1500byte packets and it could still handle over 10Gb/sec with 64byte packets.
One of the biggest changes for FreeBSD9 was the extra threading their network stack does, it is suppose to help dramatically with the stateful firewall.
"most optimizations you can apply to nginx are also valid in apache"
The biggest thing I like about nginx is not its great out of box speed, but how it scales past its peak. nginx is fairly async and when you get past peak performance, it only has mild negative scaling. Apache, on the other hand, has horrible negative scaling under load. Heck, properly programmed async IIS web apps are almost near perfect and just plateau once peak performance is reached.
You're a bit off. nginx by default has 1 thread per core. 4 core cpu is 4 threads. It never has more than those 4 threads. nginx uses async IO, apache uses threads.
I (and a few others) find parallel programming easy
I think parallel programming is easy and I don't understand all the trouble people have with it. The biggest issues is debugging, but as long as you have clear and concise entry and exits in your code, it is just a matter of time to track down the issue. Unit testing + modular code = win
"For demanding stuff I just run the same scripts on multiple threads or processes and do simple IPC if they need to cooperate"
Or you can do the exact same thing within a single application and instead of the overhead of IPC, you can communicate within the same protected memory space, much faster.
If something as naturally parallel as a web server is slower multi-threaded, it is HORRIBLY programmed or is an old single-threaded server with a few threading tweaks.
Uh, I think so, but how do we get Minecraft players inside someone's head to fix their voxels?
Modern techniques only use 1/100th the amount of radiation of machines from only a decade ago.
I guess my question is how does the new tech affect people. If the old tech only doubled the tumor rate, reducing the amount of radiation by two magnitudes should lower your risk quite a bit.
Also, the machine at my Dentists doesn't do the whole head, but has a VERY focused output that pressed up against your cheek. You place a digital x-ray sensor between your teeth and it works as a "film".
They're like, "we don't even have to leave the room anymore". They stand right behind the machine.