QNX is very responsive, granted, and makes a fine real time OS, but its message passing architecture slows it down.
In a Unix kernel, a driver can get direct access to userland buffers, and hand them off to a PCI bus mastering device without copying the data. This can be done without ripping off the read()/write() syscall abstraction from your driver.
In QNX, however, data has to be copied to the driver. In QNX4, it is copied in 32KB chunks. Ouch.
Because the driver is a user process, it simply can't do the kind of memory mapping that a Unix kernel can do to grab userland data. You can get the same effect by modifying your driver's semantics, but it's ugly, and makes your user code non-portable. That's a good thing for QSSL, and a bad thing for you.
Develpers are users, too. Probably the most important users a system can have, at this stage of development. If an OS is unusable as somebody's desktop, they'd spend most of their time using some other operating system, and they'll have no real incentive to fix usability problem in their other, toy OS. And it'll remain a toy.
But to answer your original question, the functionality is there; the only question is, can Game Cube developers find the 'killer app' for this configuration? I think the most useful implementation will be to share saved game data between GBA and Gamecube versions of the same game, but thats my limited imagination talking
How about this: A multiplayer, party based RPG, where you can take your character and go play elsewhere. You build your character's stats over time, and keep it on your GBA.
cat/dev/loop0 is likely to produce the key in the first page or so of output, since the plaintext is likely to have long stretches of 0 someplace. Remember, K xor 0 = K.
There are fundamental differences between software "engineering" and what is generally referred to as engineering. When you engineer and build a bridge, you don't solve a new problem - you apply an existing knowledge base to solve a problem that has already been solved, thousands of times before. You can't take an existing solution, say, the Brooklyn bridge, and just copy it at close to zero cost. With software, if the problem was solved once before, solving it again is a lot easier. If the problem you're looking at is close enough to something that's been done before, you can just use the existing solution. Need a word processing package with spell checking and support for embedded graphics? Just buy a copy, or download. That's one of the reasons for the popularity of scripting languages - they encapsulate a set of pre-existing solutions to some common problems, and allow users to apply those solutions in an easy to use way.
Software engineering deals mostly with building things that weren't built before. when work is duplicated, it is mostly for technical (your Java solution can't use C libraries) or political (licensing, NIH) reasons. What's lacking is well defined interfaces for specific application domains, not certification programs. Such interfaces exist when they're appropriate (POSIX, for example), but in the general case, they're counter productive.
More on getting your spelling at least 50% right
on
Mono Unimplementable?
·
· Score: 1
So basically you're saying it's painful to read.
Rather like trying to have a conversation with someone who insists on talking with his mouth full of peanut butter and jelly toast. Makes it hard to concentrate on one's "point". Makes it hard to even care whether or not such a point was made in the first place.
When I've done this, the coding partner tended to function as an uber syntax/architecture/sanity checker, pointing out things that I may have missed, and trying to stay a step ahead of me.
I see a lot of people objecting to pair programming. As someone who learned 6502 assembly while coding with a friend on his VIC-20 after school, I can tell you that it works - bugs are caught early and often (usually before the compiler gets to see them), and the whole process is a lot more fun, in general. I was surprised to find out that many people simply can't code when somebody else is present in the same room. I actually find it more difficult to code when I don't have somebody I can explain things to while I'm working.
Next time I'm in Minneapolis, I'll try to catch your show. That's a promise.
Anyway, it's up to the copyright holder to draw the line. Nobody charges you money for singing Happy Birthday at home, but if N'Sync covered it, and sold 10,000,000 copies of it (I shudder at the thought...), don't you think the authors should have the option of being compensated? What if N'Sync covered one of/your/ songs, and sold 10,000,000 copies of that? While I can see why someone might not have a problem with that, I can also see why some people would want to have some control over their works. Copyright law gives them that control, if they want it.
Now, how exactly do you draw the conclusion that widespread use of a work somehow makes it ok to deprive the author from the rights to her work? This amounts to saying "Yes, you can make money on music, but only as much as we allow". Fair use in copyright law already allows most uses you're thinking of, and common sense on most copyright holders' part makes the rest of them fine, too. Nobody sends lawyers to kids' birthday parties to stop those rascals from singing Happy Birthday. At least I'm not aware of anyone doing so.
I'm just curious... What instruments do you play? Can I catch your gigs someplace? Wrote any songs lately? Or, more importantly, have you tried making a living writing and performing music?
I know people who do, and what they make is completely out of proportion to the amount of time, effort and dedication required to become any good at it.
And stop whining.
Don't want to pay for the Happy Birthday song? Write your own birthday song, or find a musician to write one for you, and sell you the rights.
Do the math. High quality audio (5.1 channels of 24 bit audio at 48000 samples per second, for instance) uses ~5.87 Mbps, so let's say you can stream 8 audio streams simultanously. Since nodes have to return results to the main node, we're talking about a very conservative estimate of 4 nodes, if the nodes are fast enough to do their work in real time (a dodgy assumption, since if they could, we wouldn't need all this complexity in the first place).
If nodes can't achieve real time performance, it just frees up bandwidth. If your network goes through a good switch, you should see better numbers. If you don't need 5.1 channels of audio, you'll scale better. In any case, a 100Mbps network will not be the bottleneck in an audio application.
Have you actually used it? My experience with it suggests otherwise. It has an antuquated TCP/IP stack, borken utilities all over the place, and obscure bugs, that can crash the system. Unlike windows NT, though, when Proc32 crashes, it gives you QNX's tech support number, along with the register dump. Nice touch. Would have been nicer if I didn't have to look at it so many times, though.
I have to disagree. Open source doesn't seem to be helping things like the Linux NTFS driver, which, If I understand it correctly, is about to be dropped because its maintainer no longer ports it to newer kernel versions.
There's nothing wrong with having a stable driver interface, even if you have the driver source. Source code is useless if nobody is willing and able to do the work necessary to keep it compatible with new kernels.
QNX is very responsive, granted, and makes a fine real time OS, but its message passing architecture slows it down.
In a Unix kernel, a driver can get direct access to userland buffers, and hand them off to a PCI bus mastering device without copying the data. This can be done without ripping off the read()/write() syscall abstraction from your driver.
In QNX, however, data has to be copied to the driver. In QNX4, it is copied in 32KB chunks. Ouch.
Because the driver is a user process, it simply can't do the kind of memory mapping that a Unix kernel can do to grab userland data. You can get the same effect by modifying your driver's semantics, but it's ugly, and makes your user code non-portable. That's a good thing for QSSL, and a bad thing for you.
See dogfood.
Congratulations on your choice of words. Bang, indeed.
Last I heard, Comcast was trying to buy AT&T Broadband, not the other way around...
How about this: A multiplayer, party based RPG, where you can take your character and go play elsewhere. You build your character's stats over time, and keep it on your GBA.
Don't do this.
/dev/loop0 is likely to produce the key in the first page or so of output, since the plaintext is likely to have long stretches of 0 someplace. Remember, K xor 0 = K.
cat
There are fundamental differences between software "engineering" and what is generally referred to as engineering. When you engineer and build a bridge, you don't solve a new problem - you apply an existing knowledge base to solve a problem that has already been solved, thousands of times before. You can't take an existing solution, say, the Brooklyn bridge, and just copy it at close to zero cost. With software, if the problem was solved once before, solving it again is a lot easier. If the problem you're looking at is close enough to something that's been done before, you can just use the existing solution. Need a word processing package with spell checking and support for embedded graphics? Just buy a copy, or download. That's one of the reasons for the popularity of scripting languages - they encapsulate a set of pre-existing solutions to some common problems, and allow users to apply those solutions in an easy to use way.
Software engineering deals mostly with building things that weren't built before. when work is duplicated, it is mostly for technical (your Java solution can't use C libraries) or political (licensing, NIH) reasons. What's lacking is well defined interfaces for specific application domains, not certification programs. Such interfaces exist when they're appropriate (POSIX, for example), but in the general case, they're counter productive.
Your sig doesn't compile:
parse error before `;'
Back Orifice? Secure? Since when?
they mention making Cinelerra a commercial program, but the message itself looks like it was either a joke or written by someone high at the time.
...And anything else he writes isn't? Ever looked at the MPEG2-Movie source code, for instance?
I envy the guy - getting so much high quality smoke in this economic climate is truly a blessing.
Heh... I do.
So basically you're saying it's painful to read.
Rather like trying to have a conversation with someone who insists on talking with his mouth full of peanut butter and jelly toast. Makes it hard to concentrate on one's "point". Makes it hard to even care whether or not such a point was made in the first place.
Hey, I think we established that already. That would be me.
You're right, too.
You are absolutely right.
There should be a moderation option for spelling.
SENSE! SENSE, DAMNIT!
I'm having a bad day... Keep your fingers away from my teeth.
When I've done this, the coding partner tended to function as an uber syntax/architecture/sanity checker, pointing out things that I may have missed, and trying to stay a step ahead of me.
It's fun. Why don't you try it some time?
I see a lot of people objecting to pair programming. As someone who learned 6502 assembly while coding with a friend on his VIC-20 after school, I can tell you that it works - bugs are caught early and often (usually before the compiler gets to see them), and the whole process is a lot more fun, in general. I was surprised to find out that many people simply can't code when somebody else is present in the same room. I actually find it more difficult to code when I don't have somebody I can explain things to while I'm working.
Next time I'm in Minneapolis, I'll try to catch your show. That's a promise.
/your/ songs, and sold 10,000,000 copies of that? While I can see why someone might not have a problem with that, I can also see why some people would want to have some control over their works. Copyright law gives them that control, if they want it.
Anyway, it's up to the copyright holder to draw the line. Nobody charges you money for singing Happy Birthday at home, but if N'Sync covered it, and sold 10,000,000 copies of it (I shudder at the thought...), don't you think the authors should have the option of being compensated? What if N'Sync covered one of
Now, how exactly do you draw the conclusion that widespread use of a work somehow makes it ok to deprive the author from the rights to her work? This amounts to saying "Yes, you can make money on music, but only as much as we allow". Fair use in copyright law already allows most uses you're thinking of, and common sense on most copyright holders' part makes the rest of them fine, too. Nobody sends lawyers to kids' birthday parties to stop those rascals from singing Happy Birthday. At least I'm not aware of anyone doing so.
I'm just curious... What instruments do you play? Can I catch your gigs someplace? Wrote any songs lately? Or, more importantly, have you tried making a living writing and performing music?
I know people who do, and what they make is completely out of proportion to the amount of time, effort and dedication required to become any good at it.
And stop whining.
Don't want to pay for the Happy Birthday song? Write your own birthday song, or find a musician to write one for you, and sell you the rights.
Do the math. High quality audio (5.1 channels of 24 bit audio at 48000 samples per second, for instance) uses ~5.87 Mbps, so let's say you can stream 8 audio streams simultanously. Since nodes have to return results to the main node, we're talking about a very conservative estimate of 4 nodes, if the nodes are fast enough to do their work in real time (a dodgy assumption, since if they could, we wouldn't need all this complexity in the first place).
If nodes can't achieve real time performance, it just frees up bandwidth. If your network goes through a good switch, you should see better numbers. If you don't need 5.1 channels of audio, you'll scale better. In any case, a 100Mbps network will not be the bottleneck in an audio application.
...Hence, you're a penguin.
QED
No, I don't.
Have you actually used it? My experience with it suggests otherwise. It has an antuquated TCP/IP stack, borken utilities all over the place, and obscure bugs, that can crash the system. Unlike windows NT, though, when Proc32 crashes, it gives you QNX's tech support number, along with the register dump. Nice touch. Would have been nicer if I didn't have to look at it so many times, though.
I have to disagree. Open source doesn't seem to be helping things like the Linux NTFS driver, which, If I understand it correctly, is about to be dropped because its maintainer no longer ports it to newer kernel versions.
There's nothing wrong with having a stable driver interface, even if you have the driver source. Source code is useless if nobody is willing and able to do the work necessary to keep it compatible with new kernels.