Feature phones make alot of money and are stepping stone to smartphones
Remember those graphs from a few years ago, comparing Apple and Nokia in market share and profit? They were almost exact mirrors: Apple had something like 80% of the mobile phone profits, Nokia had something like 80% of the market share. Feature phones these days are on razor thin margins. You can buy a cheap Android phone for under £50, and get one free on a low-end contract, so who is going to buy a feature phone? Android and the iPhone have brand recognition in the smartphone markets, but no one associated Nokia with it (well, geeks did, because we all remember the communicator and subsequent devices). Nokia never had mass-market smartphones, they segmented their market in a way that made it difficult to move from one tier to the next. Their smartphones had such different UIs to their feature phones that you may as well go with Android or iOS (which you've heard of) if you're going to buy a new smartphone to replace your old feature phone.
The Symbian kernel was a really beautiful design that was still ahead in terms of power management and security than anything else on the market. It was saddled with a userland and userspace APIs that were designed for when 1MB of RAM was about the limit for a phone and so handling resource constraints were more important than making life easy for programmers. Their solution? Replace the kernel with Linux.
I appreciate that being held to account is annoying. Everyone finds that annoying in their jobs. It is however the only way any of us are ultimately held to any standard what so ever. You will be judged. Get over it.
Again, you've clearly not read anything that you're replying to. Especially:
Saying that the parents are more a problem then a help ignores the fact that were the parents not involved the system would and does go to hell.
YOU are the only person who has said this or claimed that anyone else has said it. Everyone else is saying that they want parents to be more involved in their children's education because it's the largest single determining factor in the child's success.
It also means that teachers are incentivised to focus their attention on children who are on grade boundaries. If you're a solid B student, there's no incentive to get you up to an A. If you're an A student, there's no incentive to really stretch you. If you're on the C-B or B-A border line, then helping get you across the line has a big return on investment for the teacher's ranking.
Parental involvement also correlates with parental wealth. The number of people with large amounts of inherited wealth is statistically irrelevant (they control a lot of the total wealth, but they're not a large percentage of the population). Once you factor those out, you're left with a middle class that is predominantly in that position because they have some kind of job that depends on their education and so are likely to value education highly. They're also most likely to be working a job (and not multiple jobs) that allows them enough time to engage with their child's education. Oh, and wealth negatively correlates with number of children, so they have more time per child.
I only got a few paragraphs in to the 'point by point slam'. At any point later, does she make any points that are not 'liberals are bad' or ad hominems?
Private and public schools in the UK have a very widely varying level of quality. I went to a public school that was consistently near the top of the league tables. The teachers varied between good and exceptional, labs and so on always had all of the equipment that they needed[1] and there was a large a variety of extracurricular activities to choose from outside. Students were required to take the Common Entrance Exam, and the pass mark put the line at something around the top 20% nationwide.
In contrast, there was a private school about 20 miles away that let in anyone who could pay the fees (and had very high fees). The main benefit of going there was that you got to meet other rich people. They consistently placed in the middle of the league tables, and were usually lower than the nearest comprehensive school.
[1] A lot of this was probably costing less than at state schools. Much of our lab equipment was over 20 years old, but they'd bought really good quality stuff back then and it showed no signs of needing replacement. Meanwhile, the state school where my mother worked at was buying cheaper equipment and didn't have anything over five years old because it wore out.
There's so much bullshit in your post that I don't know where to start replying:
You clearly and your mother clearly holds the children and parents in contempt.
I honestly don't know how you got that from reading the grandparent post. What he's saying about the low-income schools reflects large bodies of research (parental involvement in education is one of the largest determining factors in academic success). That's not regarding the students or parents with contempt, it's wanting what's best for the students and realising that it requires parental support.
The private schools understand that in their bones. They know that they either deliver a top quality education that meets the standards of the parents or they're out a customer.
Complete bullshit. The big difference between private and public schools is that private schools are allowed to turn away anyone that they want and they usually have more applicants than they have room for. I went to a public school in the UK (which is roughly equivalent to a private school in the US) and they periodically expelled people (or, rather, asked them to voluntarily leave so that they didn't have the expulsion on their record). My mother worked in a state school (the equivalent of a public school in the US) and the biggest sanction that they had was a week's suspension, which the pupil treated as a week-long holiday and then the school was required to take them back (at which point they'd be a week behind). Permanent expulsion was possible in theory, but it never happened.
Private schools make it clear to pupils that it's a privilege to be there. If the parents complain or if the students are disruptive, then the parents will be invited to have a chat with the headmaster, who will politely suggest to them that their child might be happier in a different school. They'll have no problem filling the space. They usually have waiting lists and so if they need to then they'll start calling people further down and ask if they're still interested in the place. If not, then they'll just wait for the end of the academic year and let in more people.
Part of the reason that school uniforms became unpopular was that they tend to be quite expensive. And this doesn't remove the social stigma if it's related to wealth: it's quite easy to tell who has the new uniform that fits well, and who has the second-hand one that almost fits. I don't remember anyone being teased for that at my school though, although people did get teased for having new shoes that were still shiny and not having the decency to get some mud on them on the way in...
So how do you boot the laptop to demonstrate that it's a real laptop? I've been asked to do that at a US border before (leaving, at the time). They didn't care what was on the laptop, but they did care that it was actually a laptop and not a bomb made to look like a laptop. Getting to the 'enter password' screen was enough for them.
True, but you wouldn't even need ssl with client side encryption.
You might like to look at what OpenSSL is actually used for. If you do any encryption, the odds are that you're using OpenSSL, or code derived from OpenSSL.
If you're not intending to make any profit from it, then you can set up a company that has no assets to distribute the app. This will cost you a small amount, but it means that the patent troll can take the company to court if they want, but it will cost them money and the company will just declare bankruptcy without attending court and they won't be able to recoup their legal fees.
It's harder to covertly insert a backdoor into an open source client because people can watch the changes. It's much easier to insert it before it's open sourced, because then people have to review the entire code drop at once. That said, adding a back door into OpenSSL would be comparatively easy because no one understands the convoluted twisty maze of code paths in it.
Full homomorphic encryption is really hard. Homomorphic encryption allows you to encrypt your data, do some computation on the result, and then perform some operation on the output to get the same result as doing the operation on the unencrypted data. Current solutions are at least a factor of 1000 slower than doing it on unencrypted data, but that's only for general case. There are ways of encrypting data that preserve certain properties so you can, for example, perform simple database operations on it in the encrypted form and only interpret the results if you hold the keys. The down side of these approaches is that they increase the size (effectively doubling it for every primitive operation that you want to support), but with storage becoming cheap they may become interesting...
and only gives you 10GB of data. Line rental is extra for the dial-up package as well. In terms of units better understood by the general public, that is about 8 hours of BBC iPlayer per month.
Not sure how you did that calculation. iPlayer HD is 3.6-4Mb/s, which works out at around 5-8 hours for 10GB. Standard definition content is 0.7Mb/s, which works out at just under 32 hours in 10GB.
That's 56Kb/s if you've got a good line, but if you've got a line that can do 56Kb/s then you're probably also close enough to the exchange that you can get ADSL, and a cheap ADSL package will cost less than dial-up these days. If you're somewhere where you can't get ADSL, then the line quality is likely not going to give you more than 26.4Kb/s, which works out to under 3KB/s once you add in protocol overhead and 2-2.5 being more common.
Sounds pretty sensible then. I suspect, from what they say on the Apple site, that it's actually slightly more subtle than reducing the priority, as that alone wouldn't give the power savings that they claim. I would think that what they're actually doing is increasing the time between scheduling quanta for AppNap applications and tacking them on to the end of quanta for foreground apps so that the CPU doesn't get two wakeups.
You'd lose that bet. It was one of the first-generation Core 2 MacBook Pros (I waited to replace my G4 PowerBook until they came out with 64-bit ones, because I didn't think 32-bit support in OS X would be around for much longer).
I never had any trouble with Parallels on Core 2 Duos on actual Mac hardware, ran it on 20 iMacs day in day out.
You don't mention what version you ran. They fixed it in Parallels 3.
I should also mention that the Parallels support team was amazing... a post to their forums received immediate attention.
That's the exact opposite of my experience. The ticket about the random crashing had a lot of backtraces attached but silence from Parallels support staff. It was eventually closed once they fixed the bug, with a note saying 'Fixed in Parallels 3'. The cause of the bug was that they completely failed to read the Intel docs on how IPIs work and it only worked on Core 1 as a result of an implementation detail that was explicitly not guaranteed by Intel. After reading that, even if it had been a free upgrade, I wouldn't have been inclined to trust them with code in ring 0.
All that trouble, and an old fashioned screen font still looks better.
Sure, as long as you only ever have one screen DPI to deal with and only need to support a small number of font sizes and don't ever need to print. Of course things look better if you draw them for the exact output format that you're targeting.
Timer coalescing is nice, but it's not that new. iOS and Android have done it for a while and it's mostly useful on devices that spend a lot of their time asleep. App Nap looks a bit annoying: much of the time I have apps hidden behind others because they're doing something processor-intensive that won't be finished for a while, so I hope it correctly handles this case instead of just slowing them down unconditionally. If the app is well-written, then apps that aren't doing anything won't be doing idle processing and so they will be asleep anyway. Safari Power Saver sounds like the thing that the Android Browser does in 4.1, which is quite annoying as it optimises for minimising RAM usage at the expense of responsiveness. Hopefully Apple's implementation is better than Google's... Compressed Memory is another thing that's nice, but not exactly cutting edge and also very easy to get wrong.
I bought Parallels 2. It contained a bug in their handling of IPIs that caused host kernel panics on Core 2 processors (i.e. the processor that I'd bought to run it on). They eventually found the bug and fixed it... in Parallels 3. Their solution to the problem of selling me a product that was not fit for purpose was for me to give them more money. I switched to VirtualBox and will never give that company money again. VirtualBox lacks a few of the nice things in VMWare (in particular, it wires all of the VM's memory and doesn't do deduplication), but it's quite useable.
When I had a Voodoo 2, many of my friends had no 3d accelerator at all. A lot of them bought TNTs when they came out and then kept them until the GeForce 2MX was released (it was really cheap, but still gave performance on a par with the original GeForce, so was quite popular). Sure, it was possible to spend hundreds of pounds on graphics cards every year, but as someone who was a child at the start of this and a student at the end, I still managed to play the latest games (although not at the highest settings) without spending much on graphics cards.
The Voodoo Rush was released in 1997. The TNT2 in 1999, the GeForce 2MX in 2000 and GeForce 4200 in 2002. All of them are low-end parts except for the TNT2, and so that's one low-end GPU every 2 years. That's about the upgrade cycle that I remember for people who were active gamers. Certainly not spending hundreds of dollars every year on high-end GPUs, as the original poster claimed.
They've created an entire virtual machine for the sole purpose of font rendering. Doesn't that strike you as just a little bit over the top? Text is just symbols arranged on the screen -- I'm certain better ways of doing this could be imagined that wouldn't require an exploitable VM with root permissions
Spoken like someone who has never actually written code to display text. Sure, with monospaced bitmap fonts, this is an easy problem. For modern text, you start off with a set of bezier paths representing each glyph. That's fairly easy to render, and you can just start drawing each one to the right of the previous one. That will give you blurry characters with ugly spacing, but it's a start.
So how do you fix the blurriness? Now you need some hinting telling the renderer when it should try to snap lines to the nearest pixel rather than approximate it and just rely on antialiasing. Oh, and those hints have to work on every combination of point size for the font and pixel size for the display (and, ideally, for different sub-pixel layouts) and so they're heavily parameterised. Doesn't need to be quite Turing-complete yet, but you're getting very close to Lambda calculus, although you can get away without recursion.
But you still have spacing problems. Consider this trivial example: To. Now, in your naive approach, the left hand side of the o is the same distance from the right hand end of the cross-bar of the T. This distance will be the same as the distance between characters in nm. If you see this at the start of a word, like Tool, then it will look like there is more space between To than between oo or ol and that's ugly. So now you need some kerning hints that tell you how to tweak the spacing for each pair of letters, and these need to be parameterised over every pair of letters. For a simple ASCII font, that's 2^14 combinations, so you don't want to list them individually, you need to compute them.
And that's just very basic letter layout. On a typical window, you may have thousands of characters, which all need to be laid out correctly (and deterministically, so characters don't jump around on every redraw). And so this is on the fast path. Is it surprising that it ends up in the fast path?
Both Windows and *NIX have had serious exploits involving font rendering. X used to put FreeType in the X server (which ran as root), windows used to put an equivalent in the kernel. Both have resulted in vulnerabilities from documents that embed fonts. When you have something that's performance critical (slow text rendering translates to slow window updates, which directly translates to user-perceived slowness) and depends on user-provided data, it's not surprising that there are security holes. X11 now moves font rendering to the client (although, like Quartz, it composites the glyphs on the server), so a font exploit doesn't get you root, it just gets you arbitrary code execution in your current application, for example the web browser.
Good chocolate is harmed by refrigeration. So keeping KitKats in the fridge is probably fine.
Feature phones make alot of money and are stepping stone to smartphones
Remember those graphs from a few years ago, comparing Apple and Nokia in market share and profit? They were almost exact mirrors: Apple had something like 80% of the mobile phone profits, Nokia had something like 80% of the market share. Feature phones these days are on razor thin margins. You can buy a cheap Android phone for under £50, and get one free on a low-end contract, so who is going to buy a feature phone? Android and the iPhone have brand recognition in the smartphone markets, but no one associated Nokia with it (well, geeks did, because we all remember the communicator and subsequent devices). Nokia never had mass-market smartphones, they segmented their market in a way that made it difficult to move from one tier to the next. Their smartphones had such different UIs to their feature phones that you may as well go with Android or iOS (which you've heard of) if you're going to buy a new smartphone to replace your old feature phone.
The Symbian kernel was a really beautiful design that was still ahead in terms of power management and security than anything else on the market. It was saddled with a userland and userspace APIs that were designed for when 1MB of RAM was about the limit for a phone and so handling resource constraints were more important than making life easy for programmers. Their solution? Replace the kernel with Linux.
I appreciate that being held to account is annoying. Everyone finds that annoying in their jobs. It is however the only way any of us are ultimately held to any standard what so ever. You will be judged. Get over it.
Again, you've clearly not read anything that you're replying to. Especially:
Saying that the parents are more a problem then a help ignores the fact that were the parents not involved the system would and does go to hell.
YOU are the only person who has said this or claimed that anyone else has said it. Everyone else is saying that they want parents to be more involved in their children's education because it's the largest single determining factor in the child's success.
Modern units
Units introduced by the French revolutionary government in 1791 and subsequently tweaked slightly??
It also means that teachers are incentivised to focus their attention on children who are on grade boundaries. If you're a solid B student, there's no incentive to get you up to an A. If you're an A student, there's no incentive to really stretch you. If you're on the C-B or B-A border line, then helping get you across the line has a big return on investment for the teacher's ranking.
Parental involvement also correlates with parental wealth. The number of people with large amounts of inherited wealth is statistically irrelevant (they control a lot of the total wealth, but they're not a large percentage of the population). Once you factor those out, you're left with a middle class that is predominantly in that position because they have some kind of job that depends on their education and so are likely to value education highly. They're also most likely to be working a job (and not multiple jobs) that allows them enough time to engage with their child's education. Oh, and wealth negatively correlates with number of children, so they have more time per child.
I only got a few paragraphs in to the 'point by point slam'. At any point later, does she make any points that are not 'liberals are bad' or ad hominems?
Private and public schools in the UK have a very widely varying level of quality. I went to a public school that was consistently near the top of the league tables. The teachers varied between good and exceptional, labs and so on always had all of the equipment that they needed[1] and there was a large a variety of extracurricular activities to choose from outside. Students were required to take the Common Entrance Exam, and the pass mark put the line at something around the top 20% nationwide.
In contrast, there was a private school about 20 miles away that let in anyone who could pay the fees (and had very high fees). The main benefit of going there was that you got to meet other rich people. They consistently placed in the middle of the league tables, and were usually lower than the nearest comprehensive school.
[1] A lot of this was probably costing less than at state schools. Much of our lab equipment was over 20 years old, but they'd bought really good quality stuff back then and it showed no signs of needing replacement. Meanwhile, the state school where my mother worked at was buying cheaper equipment and didn't have anything over five years old because it wore out.
You clearly and your mother clearly holds the children and parents in contempt.
I honestly don't know how you got that from reading the grandparent post. What he's saying about the low-income schools reflects large bodies of research (parental involvement in education is one of the largest determining factors in academic success). That's not regarding the students or parents with contempt, it's wanting what's best for the students and realising that it requires parental support.
The private schools understand that in their bones. They know that they either deliver a top quality education that meets the standards of the parents or they're out a customer.
Complete bullshit. The big difference between private and public schools is that private schools are allowed to turn away anyone that they want and they usually have more applicants than they have room for. I went to a public school in the UK (which is roughly equivalent to a private school in the US) and they periodically expelled people (or, rather, asked them to voluntarily leave so that they didn't have the expulsion on their record). My mother worked in a state school (the equivalent of a public school in the US) and the biggest sanction that they had was a week's suspension, which the pupil treated as a week-long holiday and then the school was required to take them back (at which point they'd be a week behind). Permanent expulsion was possible in theory, but it never happened.
Private schools make it clear to pupils that it's a privilege to be there. If the parents complain or if the students are disruptive, then the parents will be invited to have a chat with the headmaster, who will politely suggest to them that their child might be happier in a different school. They'll have no problem filling the space. They usually have waiting lists and so if they need to then they'll start calling people further down and ask if they're still interested in the place. If not, then they'll just wait for the end of the academic year and let in more people.
Part of the reason that school uniforms became unpopular was that they tend to be quite expensive. And this doesn't remove the social stigma if it's related to wealth: it's quite easy to tell who has the new uniform that fits well, and who has the second-hand one that almost fits. I don't remember anyone being teased for that at my school though, although people did get teased for having new shoes that were still shiny and not having the decency to get some mud on them on the way in...
So how do you boot the laptop to demonstrate that it's a real laptop? I've been asked to do that at a US border before (leaving, at the time). They didn't care what was on the laptop, but they did care that it was actually a laptop and not a bomb made to look like a laptop. Getting to the 'enter password' screen was enough for them.
True, but you wouldn't even need ssl with client side encryption.
You might like to look at what OpenSSL is actually used for. If you do any encryption, the odds are that you're using OpenSSL, or code derived from OpenSSL.
If you're not intending to make any profit from it, then you can set up a company that has no assets to distribute the app. This will cost you a small amount, but it means that the patent troll can take the company to court if they want, but it will cost them money and the company will just declare bankruptcy without attending court and they won't be able to recoup their legal fees.
It's harder to covertly insert a backdoor into an open source client because people can watch the changes. It's much easier to insert it before it's open sourced, because then people have to review the entire code drop at once. That said, adding a back door into OpenSSL would be comparatively easy because no one understands the convoluted twisty maze of code paths in it.
Full homomorphic encryption is really hard. Homomorphic encryption allows you to encrypt your data, do some computation on the result, and then perform some operation on the output to get the same result as doing the operation on the unencrypted data. Current solutions are at least a factor of 1000 slower than doing it on unencrypted data, but that's only for general case. There are ways of encrypting data that preserve certain properties so you can, for example, perform simple database operations on it in the encrypted form and only interpret the results if you hold the keys. The down side of these approaches is that they increase the size (effectively doubling it for every primitive operation that you want to support), but with storage becoming cheap they may become interesting...
and only gives you 10GB of data. Line rental is extra for the dial-up package as well. In terms of units better understood by the general public, that is about 8 hours of BBC iPlayer per month.
Not sure how you did that calculation. iPlayer HD is 3.6-4Mb/s, which works out at around 5-8 hours for 10GB. Standard definition content is 0.7Mb/s, which works out at just under 32 hours in 10GB.
That's 56Kb/s if you've got a good line, but if you've got a line that can do 56Kb/s then you're probably also close enough to the exchange that you can get ADSL, and a cheap ADSL package will cost less than dial-up these days. If you're somewhere where you can't get ADSL, then the line quality is likely not going to give you more than 26.4Kb/s, which works out to under 3KB/s once you add in protocol overhead and 2-2.5 being more common.
Sounds pretty sensible then. I suspect, from what they say on the Apple site, that it's actually slightly more subtle than reducing the priority, as that alone wouldn't give the power savings that they claim. I would think that what they're actually doing is increasing the time between scheduling quanta for AppNap applications and tacking them on to the end of quanta for foreground apps so that the CPU doesn't get two wakeups.
I bet you're talking about a hackintosh
You'd lose that bet. It was one of the first-generation Core 2 MacBook Pros (I waited to replace my G4 PowerBook until they came out with 64-bit ones, because I didn't think 32-bit support in OS X would be around for much longer).
I never had any trouble with Parallels on Core 2 Duos on actual Mac hardware, ran it on 20 iMacs day in day out.
You don't mention what version you ran. They fixed it in Parallels 3.
I should also mention that the Parallels support team was amazing... a post to their forums received immediate attention.
That's the exact opposite of my experience. The ticket about the random crashing had a lot of backtraces attached but silence from Parallels support staff. It was eventually closed once they fixed the bug, with a note saying 'Fixed in Parallels 3'. The cause of the bug was that they completely failed to read the Intel docs on how IPIs work and it only worked on Core 1 as a result of an implementation detail that was explicitly not guaranteed by Intel. After reading that, even if it had been a free upgrade, I wouldn't have been inclined to trust them with code in ring 0.
All that trouble, and an old fashioned screen font still looks better.
Sure, as long as you only ever have one screen DPI to deal with and only need to support a small number of font sizes and don't ever need to print. Of course things look better if you draw them for the exact output format that you're targeting.
Timer coalescing is nice, but it's not that new. iOS and Android have done it for a while and it's mostly useful on devices that spend a lot of their time asleep. App Nap looks a bit annoying: much of the time I have apps hidden behind others because they're doing something processor-intensive that won't be finished for a while, so I hope it correctly handles this case instead of just slowing them down unconditionally. If the app is well-written, then apps that aren't doing anything won't be doing idle processing and so they will be asleep anyway. Safari Power Saver sounds like the thing that the Android Browser does in 4.1, which is quite annoying as it optimises for minimising RAM usage at the expense of responsiveness. Hopefully Apple's implementation is better than Google's... Compressed Memory is another thing that's nice, but not exactly cutting edge and also very easy to get wrong.
I bought Parallels 2. It contained a bug in their handling of IPIs that caused host kernel panics on Core 2 processors (i.e. the processor that I'd bought to run it on). They eventually found the bug and fixed it... in Parallels 3. Their solution to the problem of selling me a product that was not fit for purpose was for me to give them more money. I switched to VirtualBox and will never give that company money again. VirtualBox lacks a few of the nice things in VMWare (in particular, it wires all of the VM's memory and doesn't do deduplication), but it's quite useable.
The Voodoo Rush was released in 1997. The TNT2 in 1999, the GeForce 2MX in 2000 and GeForce 4200 in 2002. All of them are low-end parts except for the TNT2, and so that's one low-end GPU every 2 years. That's about the upgrade cycle that I remember for people who were active gamers. Certainly not spending hundreds of dollars every year on high-end GPUs, as the original poster claimed.
They've created an entire virtual machine for the sole purpose of font rendering. Doesn't that strike you as just a little bit over the top? Text is just symbols arranged on the screen -- I'm certain better ways of doing this could be imagined that wouldn't require an exploitable VM with root permissions
Spoken like someone who has never actually written code to display text. Sure, with monospaced bitmap fonts, this is an easy problem. For modern text, you start off with a set of bezier paths representing each glyph. That's fairly easy to render, and you can just start drawing each one to the right of the previous one. That will give you blurry characters with ugly spacing, but it's a start.
So how do you fix the blurriness? Now you need some hinting telling the renderer when it should try to snap lines to the nearest pixel rather than approximate it and just rely on antialiasing. Oh, and those hints have to work on every combination of point size for the font and pixel size for the display (and, ideally, for different sub-pixel layouts) and so they're heavily parameterised. Doesn't need to be quite Turing-complete yet, but you're getting very close to Lambda calculus, although you can get away without recursion.
But you still have spacing problems. Consider this trivial example: To. Now, in your naive approach, the left hand side of the o is the same distance from the right hand end of the cross-bar of the T. This distance will be the same as the distance between characters in nm. If you see this at the start of a word, like Tool, then it will look like there is more space between To than between oo or ol and that's ugly. So now you need some kerning hints that tell you how to tweak the spacing for each pair of letters, and these need to be parameterised over every pair of letters. For a simple ASCII font, that's 2^14 combinations, so you don't want to list them individually, you need to compute them.
And that's just very basic letter layout. On a typical window, you may have thousands of characters, which all need to be laid out correctly (and deterministically, so characters don't jump around on every redraw). And so this is on the fast path. Is it surprising that it ends up in the fast path?
Both Windows and *NIX have had serious exploits involving font rendering. X used to put FreeType in the X server (which ran as root), windows used to put an equivalent in the kernel. Both have resulted in vulnerabilities from documents that embed fonts. When you have something that's performance critical (slow text rendering translates to slow window updates, which directly translates to user-perceived slowness) and depends on user-provided data, it's not surprising that there are security holes. X11 now moves font rendering to the client (although, like Quartz, it composites the glyphs on the server), so a font exploit doesn't get you root, it just gets you arbitrary code execution in your current application, for example the web browser.