And machine with Thunderbolt already has a modern GPU, because it's integrated with the display port. Or they've added a Thunderbolt card to an old machine, but if they can add expansion cards then they can add a new GPU.
The new MacBook Pro already supports chaining two displays from the port, and I doubt this will be a very unusual feature for devices with Thunderbolt. I suppose this might be useful for adding a third one, but then you're really pushing the available bandwidth.
these teenagers are about dumb enough to bring martial law down on the entire country
I'm hoping for a big wall along the path of the M25. Lock the rioters, the bankers, and the politicians in and let them get on with it. Maybe chuck some more guns over the wall when it's finished.
Originally, there was OpenGL, which provided the model of a graphics pipeline as a set of stages where different things (depth culling, occlusion, texturing, lighting) happened in a specific order, with some configurable bits. There was a reference implementation that implemented the entire pipeline in software. Graphics card vendors would take this and replace some parts with hardware. For example, the 3dfx Voodoo card did texturing in hardware, which sped things up a lot. The GeForce added transform and lighting, and the Radeon added clipping.
Gradually, the blocks in this pipeline stopped being fixed function units and became programmable. Initially, the texturing unit was programmable, so you could add effects by running small programs in the texturing phase (pixel shaders). Then the same thing happened for vertex calculations, and finally you got geometry shaders too.
Then the card manufacturers noticed that each stage in the pipeline was running quite similar programs. They introduced a unified shader model, and now cards just run a sequence of shader programs on the same execution units.
As to how specialised they are... it's debatable. A modern GPU is a turing-complete processor. It can implement any algorithm. Some things, however, are very fast. For example, copying data between bits of memory in specific patterns that are common for graphics.
Modern graphics APIs are split into two parts. The shader language (GLSL or HLSL) is used to write the small programs that run on the graphics card and implement the various stages of the pipeline. The rest is responsible for things like passing data to the card (e.g. textures, geometry), setting up output buffers, and scheduling the shaders to run.
Microsoft might have been Slashdot's Great Satan for a long time, but they do listen to the sort of developers they're hungry for, and DirectX is one of the better examples of that.
Well, it used to be, but they really screwed up by not supporting DirectX 10 on XP. If you use DirectX 10, you are limited to the operating systems with around 40% of the market. If you use DirectX 9, you get another 50%, but you're limited to old features. On the other hand, Intel, nVidia and AMD all support OpenGL - with all of the latest shader functionality exposed, either as part of the core standard or via extensions - on XP, Vista, and Windows 7. Oh, and you also get another 5-10% from OS X, if you care about that, and you get a relatively easy port to OpenGL ES for mobile devices too.
OpenGL promised in the last version to cut away a lot of the features from really old versions, just like DirectX 10 did. This would have the disadvantage of breaking compatibility but the advantage of making it easier to support into the future and more efficient right now. Instead they maintained backward compatibility which made it bloated and hard to use.
You are aware that the complaints that you are repeating were about OpenGL 3.0, were addressed in 3.1, and the current topic is 4.2? 3.0 introduced a deprecation mechanism, and deprecated a load of stuff. 3.1 removed it. In 4, all of the fixed-function stuff is gone completely.
It's much harder now. Back in the '40s, offshoring was very uncommon. It's a lot harder for the government to spend money on projects that will put money into the local economy now. Even if you're employing people to build roads, if they're then spending most of their pay on goods from China then this does little to improve the local economy.
Apple isn't innovating anything. They've used the same components as most other PC notebooks since they went to x86 chips--commodity parts in a "designer" chassis
Since the Intel switch, Apple has worked closely with Intel. This is why for the last two generations of laptop chips, Apple got the entire production run for the first two months. They worked with Intel on ThunderBolt too, which is why Apple laptops are the only machines that let you plug a monitor cable in and have access to external disks, USB devices, or even a high-speed RAID array with one cable. They were the first company to ship laptops that could transparently switch between high-performance and low-power GPUs (not the first that could switch, but earlier ones required some manual intervention).
Most of the root servers are located outside of the USA. The root DNS doesn't do much, it just delegates to the TLDs. The real problem is.com, which is run by Verisign. Any DNSSEC entry in.com has Verisign in the trust chain, and Verisign, as a US company, is subject to US laws and can be required to sign a fake DNS record.
The real solution is for another country to pass something like Switzerland's banking laws, but applied to DNS (i.e. making serving invalid DNS entries illegal, and explicitly disallowing government interference), and then for a company registered there to take over from Verisign as the guardian of.com.
So, next election, use the law to take down the campaign sites of anyone who voted for the law. Best of all, you can get someone in, say, China to make the accusation. The penalty for a fake accusation is perjury, but if the accuser isn't in the USA then they're out of this jurisdiction.
There was thunder and lightning over Swansea on Sunday night. From the direction and the speed the wind was blowing, I wouldn't be surprised if it had been in Ireland a little earlier.
It was fun to teach, because the module was new, so there was no syllabus. It was basically 20 lectures of 'stuff I think is interesting'. They hadn't done any C before, so part of it was giving them an introduction to C, but the rest of it was just a collection of random things that I thought every programmer should know for writing fast code. I spent one lecture giving them an introduction to Erlang, for example.
It can't, but then in fairness you are giving points for material that the students were not asked to cover.
Not true. They were asked to cover anything of relevance to the subject. They were a mixture of final-year undergraduates and masters students. Any that wanted a first-class degree had to demonstrate that they were capable of going away, learning something new, and then explaining it. If you want a lower classification of degree, then just understanding stuff that you're told is fine, but no one should be being awarded a First for just repeating things they've been told.
I had the same criteria for the programming assignment in the module. Their final assignment was to take the arbitrary precision integer library that they'd written for their earlier coursework, optimise the hell out of it, and write something that would use it to give me the prime factors of a number in the shortest possible time on one of the lab machines. They had to take the techniques we'd covered in the lectures, any others that they'd picked up, and apply them.
Learning to think outside the box and self led learning are important skills to develop but I think that it is mistaken to try and grade them at the same time as demonstrating having learned rote material.
There was no rote learning. I couldn't care less if they forgot every single example I covered in the lectures.
There's very little point in filling students heads with knowledge anymore. The Internet can give them access to any facts that they want very quickly. The useful skill today is being able to quickly learn new things, understand them, and then apply them. I'd expect any university graduate to have been given practice doing this, and I'd expect anyone graduating with a First to have demonstrated the ability to do this. To me, that's the difference between a First and a 2.1: the ability to go beyond the material.
If you're just asking the students to act as a data retrieval system, then you're training them for a task that can be trivially replaced by a computer.
I am criticizing a teaching methodology that is prone to subjective bias because a large number of the teachers will be far from the top, and most will be overrating their own knowledge.
Which is why I told my students to tell me something I didn't know. A few of them managed it. A few more managed to tell me things I knew, but with an interpretation that I hadn't thought of (not all of which I agreed with, but which demonstrated that they'd thought about the material). These all got Firsts. Then there were students who showed that they understood most of what I'd told them. These got 2.1s. Then there were the students that misunderstood various things, and these got lower marks. A very few wrote complete nonsense, and these failed
The majority of my students did well, and some did very well. When I set the assignments, I thought I was going to have to be very generous with the marking to meet the department's targets for averages. In the end, I was quite strict and still managed it.
I put most of the notes online here. I didn't get around to annotating and uploading the last few lectures. I was just doing it for one year. The guy who normally does it was on sabbatical, and I do some work in that area, so they asked me to teach it. A shame really: it was fun to teach, and I got the impression that the students enjoyed being taught by someone who wasn't a theoretician for a change...
Not sure if it's the same in the USA, but in the UK there's a very easy way of getting put through to the one person in the call centre who can actually sort out your problem, which works with all of the mobile carriers:
Of course. The module I taught was 50% essay and 50% programming. Of the 50% programming, about 5% was following a set of coding conventions and the rest was marked by a script. Some students got a few bonus marks for doing things beyond the requirements, and a few got some points for having code that was nearly right, just with some tiny bugs, but mostly the marking there was objective.
The essays were entirely subjective. The point of them was for the students to prove to me that they understood the concepts that I'd been trying to teach them (the topic was HPC, so the essays were all related to writing fast or scalable software). One of my students got a decent mark for completely misinterpreting the question and talking about hardware design. I didn't give marks for their conclusions, so much as their analysis. If a student said 'this pattern is good for this sort of problem', they'd get a few marks, but the ones that did really well were the ones that showed some reasoning, or gave some good examples. Anyone who told me something I didn't already know got a first.
I had to mark some student essays this year and, in common with the rest of the coursework, even though it wasn't anonymous, I had no idea who most of the students were. Most of them had been in my lectures, but even most of the ones who had asked questions or come and talked to me after the class never actually told my their names, so they were effectively anonymous. I had no idea who the guy who got 99% was until he asked in the lecture why he had a mark deducted.
As to whether a computer can be more fair, if it can then you shouldn't be setting an essay. A computer can tell if you've listed a set of bullet points correctly, but it can't judge your understanding of the subject. For example, one of the titles my students could pick was 'Give five design patterns for concurrent programming and suggest when each would be appropriate'. Students got a reasonable mark if they showed me that they understood the materials I'd covered in the lecture. They got a really good mark if they showed me something I hadn't covered in the lecture and demonstrated that they understood it. How would you program a computer to make that call?
Well, it's Linux, not BSD. The BSD strategy when something isn't perfect is to incrementally improve it. The Linux strategy is to throw it away and replace it with something much worse.
The LGPL doesn't stop it, but the general policy for X.org has always been not to allow code under anything more restrictive than the X11 license. The LGPL is more restrictive than the X11 license, so this is a problem. Wayland is under the same license, which could also be problematic on embedded devices, where the LGPL's requirement to be able to relink may not be possible to support.
That said, a quick and dirty implementation of the PDF rendering model wouldn't be too difficult, and Cairo could be an optional component for higher-quality rendering...
Does this call for some enhancement to the X server, to support more modern operations (e.g. antialiased line, arc, etc.) so it _can_ draw those shiny shapes? Sure
That's something I'd definitely be in favour of. As a first step, I'd like to see XInput2 (or whatever today's extension for supporting complex input devices is) properly stabilised. Then I'd like to see an extension that added PDF-style vector drawing primitives. Finally, I'd like to see an X12 protocol that ditched all of the bits of X11 that no one uses and moved all of the useful extensions into the core protocol, a reimplementation of xlib / xcb generating X12 protocol commands, and a proxy that transformed X11 into X12 so that you could still use modern X11 applications directly on X12.
Replacing X with something better is a good idea, but every few years someone says 'X11 is not perfect, let's replace it with something worse'.
And machine with Thunderbolt already has a modern GPU, because it's integrated with the display port. Or they've added a Thunderbolt card to an old machine, but if they can add expansion cards then they can add a new GPU.
The new MacBook Pro already supports chaining two displays from the port, and I doubt this will be a very unusual feature for devices with Thunderbolt. I suppose this might be useful for adding a third one, but then you're really pushing the available bandwidth.
The original Halo came out long after Quake and most definitely did use 3D hardware, you're thinking of Marathon.
these teenagers are about dumb enough to bring martial law down on the entire country
I'm hoping for a big wall along the path of the M25. Lock the rioters, the bankers, and the politicians in and let them get on with it. Maybe chuck some more guns over the wall when it's finished.
(Disclaimer: Simplifications follow.)
Originally, there was OpenGL, which provided the model of a graphics pipeline as a set of stages where different things (depth culling, occlusion, texturing, lighting) happened in a specific order, with some configurable bits. There was a reference implementation that implemented the entire pipeline in software. Graphics card vendors would take this and replace some parts with hardware. For example, the 3dfx Voodoo card did texturing in hardware, which sped things up a lot. The GeForce added transform and lighting, and the Radeon added clipping.
Gradually, the blocks in this pipeline stopped being fixed function units and became programmable. Initially, the texturing unit was programmable, so you could add effects by running small programs in the texturing phase (pixel shaders). Then the same thing happened for vertex calculations, and finally you got geometry shaders too.
Then the card manufacturers noticed that each stage in the pipeline was running quite similar programs. They introduced a unified shader model, and now cards just run a sequence of shader programs on the same execution units.
As to how specialised they are... it's debatable. A modern GPU is a turing-complete processor. It can implement any algorithm. Some things, however, are very fast. For example, copying data between bits of memory in specific patterns that are common for graphics.
Modern graphics APIs are split into two parts. The shader language (GLSL or HLSL) is used to write the small programs that run on the graphics card and implement the various stages of the pipeline. The rest is responsible for things like passing data to the card (e.g. textures, geometry), setting up output buffers, and scheduling the shaders to run.
Microsoft might have been Slashdot's Great Satan for a long time, but they do listen to the sort of developers they're hungry for, and DirectX is one of the better examples of that.
Well, it used to be, but they really screwed up by not supporting DirectX 10 on XP. If you use DirectX 10, you are limited to the operating systems with around 40% of the market. If you use DirectX 9, you get another 50%, but you're limited to old features. On the other hand, Intel, nVidia and AMD all support OpenGL - with all of the latest shader functionality exposed, either as part of the core standard or via extensions - on XP, Vista, and Windows 7. Oh, and you also get another 5-10% from OS X, if you care about that, and you get a relatively easy port to OpenGL ES for mobile devices too.
OpenGL promised in the last version to cut away a lot of the features from really old versions, just like DirectX 10 did. This would have the disadvantage of breaking compatibility but the advantage of making it easier to support into the future and more efficient right now. Instead they maintained backward compatibility which made it bloated and hard to use.
You are aware that the complaints that you are repeating were about OpenGL 3.0, were addressed in 3.1, and the current topic is 4.2? 3.0 introduced a deprecation mechanism, and deprecated a load of stuff. 3.1 removed it. In 4, all of the fixed-function stuff is gone completely.
So, what percentage of your yearly revenue did you donate?
That mechanism is quite available now
It's much harder now. Back in the '40s, offshoring was very uncommon. It's a lot harder for the government to spend money on projects that will put money into the local economy now. Even if you're employing people to build roads, if they're then spending most of their pay on goods from China then this does little to improve the local economy.
Apple isn't innovating anything. They've used the same components as most other PC notebooks since they went to x86 chips--commodity parts in a "designer" chassis
Since the Intel switch, Apple has worked closely with Intel. This is why for the last two generations of laptop chips, Apple got the entire production run for the first two months. They worked with Intel on ThunderBolt too, which is why Apple laptops are the only machines that let you plug a monitor cable in and have access to external disks, USB devices, or even a high-speed RAID array with one cable. They were the first company to ship laptops that could transparently switch between high-performance and low-power GPUs (not the first that could switch, but earlier ones required some manual intervention).
Netbook sales have never been beyond around 5% of PC sales which is hardly a sign of them being "popular"
5% of PC sales is a bit less than total Mac sales, and I'd say Macs are pretty popular. Popular does not mean ubiquitous.
Most of the root servers are located outside of the USA. The root DNS doesn't do much, it just delegates to the TLDs. The real problem is .com, which is run by Verisign. Any DNSSEC entry in .com has Verisign in the trust chain, and Verisign, as a US company, is subject to US laws and can be required to sign a fake DNS record.
The real solution is for another country to pass something like Switzerland's banking laws, but applied to DNS (i.e. making serving invalid DNS entries illegal, and explicitly disallowing government interference), and then for a company registered there to take over from Verisign as the guardian of .com.
So, next election, use the law to take down the campaign sites of anyone who voted for the law. Best of all, you can get someone in, say, China to make the accusation. The penalty for a fake accusation is perjury, but if the accuser isn't in the USA then they're out of this jurisdiction.
So the US is governed by a 'respectable' version of Anonymous?
Not really. Sometimes Anonymous' bumbling efforts have a positive outcome.
Before "W" got into office, Texas as considered cool and people actually wanted TX memorabilia in Europe
Sorry, Texas wasn't cool in Europe. You'll find two stereotypes of Texans in European fiction from throughout the second half of the last century:
There was thunder and lightning over Swansea on Sunday night. From the direction and the speed the wind was blowing, I wouldn't be surprised if it had been in Ireland a little earlier.
It was fun to teach, because the module was new, so there was no syllabus. It was basically 20 lectures of 'stuff I think is interesting'. They hadn't done any C before, so part of it was giving them an introduction to C, but the rest of it was just a collection of random things that I thought every programmer should know for writing fast code. I spent one lecture giving them an introduction to Erlang, for example.
It can't, but then in fairness you are giving points for material that the students were not asked to cover.
Not true. They were asked to cover anything of relevance to the subject. They were a mixture of final-year undergraduates and masters students. Any that wanted a first-class degree had to demonstrate that they were capable of going away, learning something new, and then explaining it. If you want a lower classification of degree, then just understanding stuff that you're told is fine, but no one should be being awarded a First for just repeating things they've been told.
I had the same criteria for the programming assignment in the module. Their final assignment was to take the arbitrary precision integer library that they'd written for their earlier coursework, optimise the hell out of it, and write something that would use it to give me the prime factors of a number in the shortest possible time on one of the lab machines. They had to take the techniques we'd covered in the lectures, any others that they'd picked up, and apply them.
Learning to think outside the box and self led learning are important skills to develop but I think that it is mistaken to try and grade them at the same time as demonstrating having learned rote material.
There was no rote learning. I couldn't care less if they forgot every single example I covered in the lectures. There's very little point in filling students heads with knowledge anymore. The Internet can give them access to any facts that they want very quickly. The useful skill today is being able to quickly learn new things, understand them, and then apply them. I'd expect any university graduate to have been given practice doing this, and I'd expect anyone graduating with a First to have demonstrated the ability to do this. To me, that's the difference between a First and a 2.1: the ability to go beyond the material.
If you're just asking the students to act as a data retrieval system, then you're training them for a task that can be trivially replaced by a computer.
I am criticizing a teaching methodology that is prone to subjective bias because a large number of the teachers will be far from the top, and most will be overrating their own knowledge.
Which is why I told my students to tell me something I didn't know. A few of them managed it. A few more managed to tell me things I knew, but with an interpretation that I hadn't thought of (not all of which I agreed with, but which demonstrated that they'd thought about the material). These all got Firsts. Then there were students who showed that they understood most of what I'd told them. These got 2.1s. Then there were the students that misunderstood various things, and these got lower marks. A very few wrote complete nonsense, and these failed
The majority of my students did well, and some did very well. When I set the assignments, I thought I was going to have to be very generous with the marking to meet the department's targets for averages. In the end, I was quite strict and still managed it.
I put most of the notes online here. I didn't get around to annotating and uploading the last few lectures. I was just doing it for one year. The guy who normally does it was on sabbatical, and I do some work in that area, so they asked me to teach it. A shame really: it was fun to teach, and I got the impression that the students enjoyed being taught by someone who wasn't a theoretician for a change...
Hello, I'm calling to cancel my contract.
Of course. The module I taught was 50% essay and 50% programming. Of the 50% programming, about 5% was following a set of coding conventions and the rest was marked by a script. Some students got a few bonus marks for doing things beyond the requirements, and a few got some points for having code that was nearly right, just with some tiny bugs, but mostly the marking there was objective.
The essays were entirely subjective. The point of them was for the students to prove to me that they understood the concepts that I'd been trying to teach them (the topic was HPC, so the essays were all related to writing fast or scalable software). One of my students got a decent mark for completely misinterpreting the question and talking about hardware design. I didn't give marks for their conclusions, so much as their analysis. If a student said 'this pattern is good for this sort of problem', they'd get a few marks, but the ones that did really well were the ones that showed some reasoning, or gave some good examples. Anyone who told me something I didn't already know got a first.
I had to mark some student essays this year and, in common with the rest of the coursework, even though it wasn't anonymous, I had no idea who most of the students were. Most of them had been in my lectures, but even most of the ones who had asked questions or come and talked to me after the class never actually told my their names, so they were effectively anonymous. I had no idea who the guy who got 99% was until he asked in the lecture why he had a mark deducted.
As to whether a computer can be more fair, if it can then you shouldn't be setting an essay. A computer can tell if you've listed a set of bullet points correctly, but it can't judge your understanding of the subject. For example, one of the titles my students could pick was 'Give five design patterns for concurrent programming and suggest when each would be appropriate'. Students got a reasonable mark if they showed me that they understood the materials I'd covered in the lecture. They got a really good mark if they showed me something I hadn't covered in the lecture and demonstrated that they understood it. How would you program a computer to make that call?
Well, it's Linux, not BSD. The BSD strategy when something isn't perfect is to incrementally improve it. The Linux strategy is to throw it away and replace it with something much worse.
The LGPL doesn't stop it, but the general policy for X.org has always been not to allow code under anything more restrictive than the X11 license. The LGPL is more restrictive than the X11 license, so this is a problem. Wayland is under the same license, which could also be problematic on embedded devices, where the LGPL's requirement to be able to relink may not be possible to support.
That said, a quick and dirty implementation of the PDF rendering model wouldn't be too difficult, and Cairo could be an optional component for higher-quality rendering...
Looks nice. Now if they'd only sell them with a proper *NIX install instead of Android, I'd be tempted...
Does this call for some enhancement to the X server, to support more modern operations (e.g. antialiased line, arc, etc.) so it _can_ draw those shiny shapes? Sure
That's something I'd definitely be in favour of. As a first step, I'd like to see XInput2 (or whatever today's extension for supporting complex input devices is) properly stabilised. Then I'd like to see an extension that added PDF-style vector drawing primitives. Finally, I'd like to see an X12 protocol that ditched all of the bits of X11 that no one uses and moved all of the useful extensions into the core protocol, a reimplementation of xlib / xcb generating X12 protocol commands, and a proxy that transformed X11 into X12 so that you could still use modern X11 applications directly on X12.
Replacing X with something better is a good idea, but every few years someone says 'X11 is not perfect, let's replace it with something worse'.