Funny thing is that the article seem to miss one small point. They talk about how Microsoft *may* become a standard on DoCoMos FOMA networks. The thing is that the OMA DRM specification already exist and run on millions of phones in Europe. (And anywhere else which has GSM/UMTS phones.)
I fail to see how this new architecture can hope to jump in and replace something which has already been in use for a couple of years.
Of course a lot of people probably don't realise that they have DRM on their phones.
Sooooo, it's easy to have someone else handle the multi-process bits in a monolithic design. But when it comes to writing services for microkernels suddenly everyone is an idiot?
When did I ever claim either thing ? All I'm saying that an efficient microkernel is no simpler than an efficient monolithic kernel.
Oh I think making an efficient microkernel is harder than a macrokernel. The reason for doing it are typically in spite of performance issues.
But your post blew up the problems of a microkernel while completely dismissing the hardships of a macrokernel. My point was that both have problematic areas.
Sure multiple processes can access it at once, but the time scale on handling the incoming signals is extremely fast compared to waiting for data from disk.
Unless the data happens to be in cache in an SMP machine, in which case a simple single-threaded server is going to be bombarded by multiple processes running on multiple processors at once, and run up a queue.
And a multi-threaded server is no simpler than a monolithic kernel filesystem driver, and has some specific problems of its own.
Both micro- and macrokernels are going to have issues with actual reading from disk. The problem being that you can only read from one place at a time (not strictly true, but there are limits). As such multiple processes which attempt to read at the same time need to be handled by some sort of queueing system. It's just a question of where you put that.
Besides my point was that it doesn't matter if you application is the only one running on a macrokernel OS. Disk access takes a long time, so you *will* be blocked for some time. (Or you'll have to implement asyncronous file access.)
Besides, as Linus pointed out, when data is going one way microkernels are easy. And in the case of file systems that is really the case.
When I'm doing reads, request goes in and data or error code comes out. When I'm doing writes, data goes in and confirmation or error code comes out. Filesystem access is two-way.
Yes, but for each operation the data is only going one way. And that's the point.
Microkernels are slow if you have to send a lot of data back and forth rapidly. (And in this context anything leaving RAM is slow.)
A previous comment in this thread quoted some posts in other threads about this article. Among them comments from people who have been in that building.
Basically they suggested that it was a death trap and hinted that it was basically filled with potential health concerns. Eg there had been two floods of the building in resent years. I can imagine that such events can make a lot of things grow that you really don't want in your walls.
It's likely to be something in the building, but I doubt it is the cell tower.
I think you misunderstand the point of going into these fields.
The point isn't for the programmer to go around and cure cancer. The idea is that while the medical and chemical engineers are great at what they do, they are not so great at computer science.
So you go into this field *to help them* do their work.
BTW to the OP I'd say look into the fields numerical analysis and informatics. The idea is that when you have to compute a *lot* of data knowing how to best use the processing power is important. It's also very important to know how to mitigate potential errors. And perhaps how to throw together a computation cluster or two.
assuming proper locking and in-kernel pre-emption, there's no problem - each process that executes the call enters kernel mode and starts executing the relevant kernel code immediately. If you have a multiprocessor machine, they could even be executing the calls simultaneously.
That's a pretty big assumption. Or rather, you have basically taken all the hard parts of doing shared code and said "Let's hope someone else already solved this for us".
The filesystem driver is a separate server process. Executing a system call means sending a message to that server and waiting for an answer. Now, what happens if the server is already executing another call ? The calling process blocks, possibly for a long time if there's lots of other requests queued up.
Sooooo, it's easy to have someone else handle the multi-process bits in a monolithic design. But when it comes to writing services for microkernels suddenly everyone is an idiot?
Besides, as Linus pointed out, when data is going one way microkernels are easy. And in the case of file systems that is really the case. Sure multiple processes can access it at once, but the time scale on handling the incoming signals is extremely fast compared to waiting for data from disk. Only a really, *really* incompetent idiot would write such a server which blocked until the read was finished.
I think you have fundamentally misunderstood what a vector processor is. It has nothing to do with the base of the computer (2 in the case of most we use) and everything to do with doing several things at once. (Eg adding up 4 pairs of numbers at the same time.)
Also your previous post was a bit confusing. You started off seemingly correctly (that handwriting is hard because it's individual) and then veered off into:
Main issue to remember is that computers process in numbers, not letters, to completely solve this issue, we'd need a language that's completely based on numbers.
Which first of all is incorrect and second is completely irrelevant. The only time binary becomes a "limitation" is if you want to force a decision to become one bit, ie "yes" or "no". But it's trivial to enumerate multiple possibilities by adding more states, eg 2 bits can represent a scale of 4; or "no", "not really", "perhaps" and "yes" (or however you chose to define them).
How the computer defines these symbols is completely irrelevant.
If you want to make a good decoder for something uncertain (like human writing) a good start would be a viterbi decoder. It allows you to define a number of acceptable symbols (letters) and then adds statistics to the data so it will find the most likely thing you are writing. Naturally this can be further extended with a lot of tricks.
When it comes to classifying a symbol in the first place a good place to look is eg support vector machines. Or really anything regarding classification wrt computer vision. Basically there are entire mathematical fields devoted to this stuff.
Now if you just want to play around with handwriting reognition and voice regoc. I recommend you try a Tablet PC. I can typically handwrite on mine and it detects it just fine. Pretty darned impressive really.
The solution to your problem is quite simple. Allow more than one genre/tag per song/album/artist.
Eg classify Clapton as both Blues and Rock and he'll appear in both those playlists. At least Foobar2k allows me to do this and quickly build playlists based on it.
I'd assume that those percentages are in comparison to a monolithic kernel. So a micro-k would take 6-14% longer to execute code normally found inside the mono-kernel. Your idea of comparing absolute CPU sizes only holds if you are only running inside the kernel and that you are 100% of CPU all the time.
The point is that most apps are not doing this and thus the penalty wouldn't be as noticable.
If you're running Foobar I recommend that you take a look at the plugins for automatically generating playlists. I'm using that and I have to say it's pretty neat. Each song/album is tagged with genre (in addition to the obvious tags) and I then have a bunch of playlists configured so at the press of a button they will all be updated with the latest info.
It could be better though. Eg I'd like it to automatically add new playlists so that each genre had it's own list. And also that playlists were automatically updated when new songs were added.
You seem to have spent more time in Word than I'd like to. At my office we do use proper formatting for our documents.
My biggest problem in Word is that sometimes the sections get messed up. Particularly if you have a list of subsubsub-sections. All of a sudden Word decides that "no, those subsections are unreleated". And when that happens you are *so* screwed.
Basically you have something like
1. Blah
1.1 BB
1.2 BA
1.4 WTF
1.5 Yadda
And so on. Trying to get them into order again is extremely frustrating and using the formatting doesn't seem to help. (Ie the different subsection all belong to the same formatting rule.)
Other than that I've found that Word can crap out on labelling sometimes. Say that you refer to a figure as "see figure *figure1link*" (or something like that). And Word replaces it so it becomes "see figure 1" or whatever is appropriate. But if you cut and paste in documents or if you move the figures around then it can get in a position where it's labelled incorrectly. And again there is nothing you can do.
That's why I prefer LaTeX. Sure it craps out sometimes. But then I can read the errors and fix it. I don't have to manually try and force the program to do my bidding.
And for the record. I think casual gamers are going to be more put off by the name "wee" than normal gamers. We are used to looking at specs and not take things at face value.
While Xbox360 and PS3 are boring names at least they aren't offensive.
I think that the idea behing the name "wii" is sound. Having something which isn't a word but have various meanings is good. A name that is short and simple is good. Having a name which sounds like a bad word is bad.
Usually you hear how companies spend millions on researching that their product name doesn't mean offensive things in other languages. I can understand that they miss a language like Swedish, but *how* *the* *fuck* do you miss a word that every English speaker knows? Didn't they say it to each other?
Yes, basically on every article on The GIMP here or on other boards there are people who point out that the name is a problem. Eg if you're going to present it for your boss who isn't a tech-person then selling the name "The GIMP" is going to be harder than "Paint".
I'm personally not bothered by the name GIMP. OTOH the idea behind that name is more sensible than "wii" IMHO. Really, I bet that they really wanted "we" and then found that it trademarked already and went with the next best thing. Unfortunately no-one who knew English was around to be asked.
Really, the name "wii" is a really stupid mistake. Someone should be smacked for it.
I mean they can always play the blame game, but can they escape liability claims because of it?
Or is that why there are clauses "this software is should not be used in nuclear power plants" on some software packages? (That one is from Java IIRC.)
I've practiced martial arts which use similar techniques (nerve points and general bending your opponent into submission). I agree that what was shown in that video was not very impressive. Anyone that's trained for a few years could do the things I saw there. And a few were probably really inefficient against a real opponent. (But many that rely on bending arms can be very efficient. You need to practice them until you don't have to think about doing them though.)
If someone tries to just jump you and beat the shit out of you flashy stuff like that tend to be less effective. However if someone grabs your arm, jacket or similar then it can be extremely effective.
Probably the best way to handle that is to point them to modding community for some available games. If you want quick results that should be the fastest way.
Coding a mod which makes you invulnerable on LAN play is easy and fun.:-)
As you say I do believe that the major reason so many in the C64 et al days learned to code was because the interpretor was *right* *there*. To do anything you had to type. So it became quite natural.
And then when a friend came over who had learned a new coding trick he could do it right then and there. (I think most peoples first code is something along the lines of 10 print "X is a dork" 20 goto 10. Where X is the name of the person next to you.)
Anyways, that was then. Today it's as you say, modern OSes tend to protect the users from the scary bits. However I don't agree that kids today have worse methods available for coding.
Honestly, we learned to code in spite of Basic. Not because of it.
Today there are so many scripting languages available that it's hard to choose. And basically (ha) all of them are way more advanced and well designed than anything we touched back then.
If you see the kindlings of a little programmer around you then try to put Python (with SDL bindings it's way easy to make simple games), Ruby or any other language like that in front of them.
The point with Wikipeadia NPOV is that you can't just write your own opinion in the article. You must provide some reference to where that opinion is stated.
The problem is that if I'm typing a mail in Outlook and suddenly it can't access the server any more (network congestion probably) then it panics. When it panics it freeses the mail app and throws up an alert message ("Can't access server.") Naturally since it's using Word to edit the mails that means any other Word documents I'm reading also freeze.
And that, inevitably, leads to a stream of curses from my mouth. (I don't call and blame the IT people though, it usually stops after less than a minute.)
I don't know if there is an extention. I really don't care about the feature so I haven't looked.
I imagine if there isn't one you could use GreaseMonkey to hack something together which would show (on the page) if there were alternative presentations available.
Good hunting, and I'd look at web developer plugins as well. They may have the functionality built in.
Funny thing is that the article seem to miss one small point. They talk about how Microsoft *may* become a standard on DoCoMos FOMA networks. The thing is that the OMA DRM specification already exist and run on millions of phones in Europe. (And anywhere else which has GSM/UMTS phones.)
I fail to see how this new architecture can hope to jump in and replace something which has already been in use for a couple of years.
Of course a lot of people probably don't realise that they have DRM on their phones.
Go and try your luck with the Freespace Source Project. The engine they have is quite pretty but it can always be prettied up even more.
Oh I think making an efficient microkernel is harder than a macrokernel. The reason for doing it are typically in spite of performance issues.
But your post blew up the problems of a microkernel while completely dismissing the hardships of a macrokernel. My point was that both have problematic areas.
Both micro- and macrokernels are going to have issues with actual reading from disk. The problem being that you can only read from one place at a time (not strictly true, but there are limits). As such multiple processes which attempt to read at the same time need to be handled by some sort of queueing system. It's just a question of where you put that.
Besides my point was that it doesn't matter if you application is the only one running on a macrokernel OS. Disk access takes a long time, so you *will* be blocked for some time. (Or you'll have to implement asyncronous file access.)
Yes, but for each operation the data is only going one way. And that's the point.
Microkernels are slow if you have to send a lot of data back and forth rapidly. (And in this context anything leaving RAM is slow.)
A previous comment in this thread quoted some posts in other threads about this article. Among them comments from people who have been in that building.
Basically they suggested that it was a death trap and hinted that it was basically filled with potential health concerns. Eg there had been two floods of the building in resent years. I can imagine that such events can make a lot of things grow that you really don't want in your walls.
It's likely to be something in the building, but I doubt it is the cell tower.
I think you misunderstand the point of going into these fields.
The point isn't for the programmer to go around and cure cancer. The idea is that while the medical and chemical engineers are great at what they do, they are not so great at computer science.
So you go into this field *to help them* do their work.
BTW to the OP I'd say look into the fields numerical analysis and informatics. The idea is that when you have to compute a *lot* of data knowing how to best use the processing power is important. It's also very important to know how to mitigate potential errors. And perhaps how to throw together a computation cluster or two.
That's a pretty big assumption. Or rather, you have basically taken all the hard parts of doing shared code and said "Let's hope someone else already solved this for us".
Sooooo, it's easy to have someone else handle the multi-process bits in a monolithic design. But when it comes to writing services for microkernels suddenly everyone is an idiot?
Besides, as Linus pointed out, when data is going one way microkernels are easy. And in the case of file systems that is really the case. Sure multiple processes can access it at once, but the time scale on handling the incoming signals is extremely fast compared to waiting for data from disk. Only a really, *really* incompetent idiot would write such a server which blocked until the read was finished.
Also your previous post was a bit confusing. You started off seemingly correctly (that handwriting is hard because it's individual) and then veered off into:
Which first of all is incorrect and second is completely irrelevant. The only time binary becomes a "limitation" is if you want to force a decision to become one bit, ie "yes" or "no". But it's trivial to enumerate multiple possibilities by adding more states, eg 2 bits can represent a scale of 4; or "no", "not really", "perhaps" and "yes" (or however you chose to define them).
How the computer defines these symbols is completely irrelevant.
If you want to make a good decoder for something uncertain (like human writing) a good start would be a viterbi decoder. It allows you to define a number of acceptable symbols (letters) and then adds statistics to the data so it will find the most likely thing you are writing. Naturally this can be further extended with a lot of tricks.
When it comes to classifying a symbol in the first place a good place to look is eg support vector machines. Or really anything regarding classification wrt computer vision. Basically there are entire mathematical fields devoted to this stuff.
Now if you just want to play around with handwriting reognition and voice regoc. I recommend you try a Tablet PC. I can typically handwrite on mine and it detects it just fine. Pretty darned impressive really.
So in the end it comes down to two things:
1) Good algorithms.
2) Fast enough processors.
We're pretty much there now. At least for PCs.
The solution to your problem is quite simple. Allow more than one genre/tag per song/album/artist.
Eg classify Clapton as both Blues and Rock and he'll appear in both those playlists. At least Foobar2k allows me to do this and quickly build playlists based on it.
I'd assume that those percentages are in comparison to a monolithic kernel. So a micro-k would take 6-14% longer to execute code normally found inside the mono-kernel. Your idea of comparing absolute CPU sizes only holds if you are only running inside the kernel and that you are 100% of CPU all the time.
The point is that most apps are not doing this and thus the penalty wouldn't be as noticable.
If you're running Foobar I recommend that you take a look at the plugins for automatically generating playlists. I'm using that and I have to say it's pretty neat. Each song/album is tagged with genre (in addition to the obvious tags) and I then have a bunch of playlists configured so at the press of a button they will all be updated with the latest info.
It could be better though. Eg I'd like it to automatically add new playlists so that each genre had it's own list. And also that playlists were automatically updated when new songs were added.
It's still nice though.
You seem to have spent more time in Word than I'd like to. At my office we do use proper formatting for our documents.
My biggest problem in Word is that sometimes the sections get messed up. Particularly if you have a list of subsubsub-sections. All of a sudden Word decides that "no, those subsections are unreleated". And when that happens you are *so* screwed.
Basically you have something like
1. Blah
1.1 BB
1.2 BA
1.4 WTF
1.5 Yadda
And so on. Trying to get them into order again is extremely frustrating and using the formatting doesn't seem to help. (Ie the different subsection all belong to the same formatting rule.)
Other than that I've found that Word can crap out on labelling sometimes. Say that you refer to a figure as "see figure *figure1link*" (or something like that). And Word replaces it so it becomes "see figure 1" or whatever is appropriate. But if you cut and paste in documents or if you move the figures around then it can get in a position where it's labelled incorrectly. And again there is nothing you can do.
That's why I prefer LaTeX. Sure it craps out sometimes. But then I can read the errors and fix it. I don't have to manually try and force the program to do my bidding.
I really think the name will have more of a negative effect on non-gamers than actual gamers.
I know I'm personally put off by the name. Though since I actually spend a lot of money each year on tech I guess I don't count.
Cute points?
So what colour is your Wii?
I hope they change it, it's stupid and embarrasing that they made such a poor decision.
And for the record. I think casual gamers are going to be more put off by the name "wee" than normal gamers. We are used to looking at specs and not take things at face value.
While Xbox360 and PS3 are boring names at least they aren't offensive.
I think that the idea behing the name "wii" is sound. Having something which isn't a word but have various meanings is good. A name that is short and simple is good. Having a name which sounds like a bad word is bad.
Usually you hear how companies spend millions on researching that their product name doesn't mean offensive things in other languages. I can understand that they miss a language like Swedish, but *how* *the* *fuck* do you miss a word that every English speaker knows? Didn't they say it to each other?
Yes, basically on every article on The GIMP here or on other boards there are people who point out that the name is a problem. Eg if you're going to present it for your boss who isn't a tech-person then selling the name "The GIMP" is going to be harder than "Paint".
I'm personally not bothered by the name GIMP. OTOH the idea behind that name is more sensible than "wii" IMHO. Really, I bet that they really wanted "we" and then found that it trademarked already and went with the next best thing. Unfortunately no-one who knew English was around to be asked.
Really, the name "wii" is a really stupid mistake. Someone should be smacked for it.
Can they actually do that?
I mean they can always play the blame game, but can they escape liability claims because of it?
Or is that why there are clauses "this software is should not be used in nuclear power plants" on some software packages? (That one is from Java IIRC.)
Yes and no.
I've practiced martial arts which use similar techniques (nerve points and general bending your opponent into submission). I agree that what was shown in that video was not very impressive. Anyone that's trained for a few years could do the things I saw there. And a few were probably really inefficient against a real opponent. (But many that rely on bending arms can be very efficient. You need to practice them until you don't have to think about doing them though.)
If someone tries to just jump you and beat the shit out of you flashy stuff like that tend to be less effective. However if someone grabs your arm, jacket or similar then it can be extremely effective.
Probably the best way to handle that is to point them to modding community for some available games. If you want quick results that should be the fastest way.
:-)
Coding a mod which makes you invulnerable on LAN play is easy and fun.
I both agree and disagree with you.
As you say I do believe that the major reason so many in the C64 et al days learned to code was because the interpretor was *right* *there*. To do anything you had to type. So it became quite natural.
And then when a friend came over who had learned a new coding trick he could do it right then and there. (I think most peoples first code is something along the lines of 10 print "X is a dork" 20 goto 10. Where X is the name of the person next to you.)
Anyways, that was then. Today it's as you say, modern OSes tend to protect the users from the scary bits. However I don't agree that kids today have worse methods available for coding.
Honestly, we learned to code in spite of Basic. Not because of it.
Today there are so many scripting languages available that it's hard to choose. And basically (ha) all of them are way more advanced and well designed than anything we touched back then.
If you see the kindlings of a little programmer around you then try to put Python (with SDL bindings it's way easy to make simple games), Ruby or any other language like that in front of them.
That should do the trick.
The point with Wikipeadia NPOV is that you can't just write your own opinion in the article. You must provide some reference to where that opinion is stated.
Nope, I have Outlook 2003. I do get that dialog, but it still freezes the programs.
Oh mail are seldom lost, that's not the problem.
The problem is that if I'm typing a mail in Outlook and suddenly it can't access the server any more (network congestion probably) then it panics. When it panics it freeses the mail app and throws up an alert message ("Can't access server.") Naturally since it's using Word to edit the mails that means any other Word documents I'm reading also freeze.
And that, inevitably, leads to a stream of curses from my mouth. (I don't call and blame the IT people though, it usually stops after less than a minute.)
I think the idea is that things like mail really *should* work all the time.
Sadly that doesn't seem to be the way Exchange is designed to work.
I don't know if there is an extention. I really don't care about the feature so I haven't looked.
I imagine if there isn't one you could use GreaseMonkey to hack something together which would show (on the page) if there were alternative presentations available.
Good hunting, and I'd look at web developer plugins as well. They may have the functionality built in.