MPEG2 is proprietary though - you have to pay license fees to decode it (big ones for the audio).
If you want archival files, QuickTime is your best choice as the file format is documented, and you can archive in a standradised format like JPEG, H263 or DV if you choose.
Its format is designed for editing, whereas MPEG isn't.
iBoks ship with OS 9 and X, so they get a full gcc and gdb envinronment included, as well as project builder, Cocoa and Carbon.
If they pick up RealBasic too they'll be all set
In the name of Digital Rights Management, corporations prevent you from editing or copying stuff they have published to you. This is odd, and at at odds with the spirit of Copyright.
No-one can tell you how much of their book to read, or the order you can read it in. Why do they presume to do so with sound or video? Why must I look at a green FBI notice for 15 seconds at the start of a DVD?
It is the act of re-publishing where the potential copyright violation occurs, not the act of viewing or editing.
Reject uneditable content and say why. Rights are for people, not digits or management.
This chap got to 11,000 ft with toy balloons
on
Ballooning into Space
·
· Score: 3, Interesting
The problem with result codes is that you can't propagate the problem up to the level of scope that should be dealing with it. For example, imagine you have a GUI program. At some point, it needs to open "foo.txt", but fails. Since you're a good software engineer, you've well-separated your GUI code from logic code. The GUI needs to display an error message, but if you only check error calls, the only part that knows about the eror that has happened is way down in the logic code, which has no idea how to tell the user. And propagating 'undef's all the way up through the code is uncool. Especially since return values should not be used to indidate errors; they should be used for return values.
That last sentence is stupid dogma. Take a look at the Mac OS APIs sometime. Almost all routines return an error value, of type OSErr. 0 means noErr, negative error values are well-defined by the OS. Postive errors above a certian range are left for applications to use.
With this convention, an error can be passed up the chain, and interpreted or transformed at each stage into something meaningful for the stage above.
At the GUI level, you can map error codes to strings based on these well-known values.
Exceptions are mandatory for good programming, period. If the language you are using doesn't support exceptions (C, Perl, etc), you are going to have problems. Exceptions make sure that if an error occurs, and you aren't aware of it, your program dies, and doesn't go on its merry way, causing a security hole/unstable software.
C++ is implemented in C. Get out your copy of K&R and look up setjmp and longjmp. Do they sound scary? They should.
That is how C++ exceptions work too. Throwing an exception wihtout catching it is calling longjmp without setjmp.
It is your job as a programmer to check error return values, and write you code to clean up after itself if an error is returned. Throwing an exception is a cop out from cleaning up properly.
If your app aborts when memory or disk space is low, you could lose hours of work for your user. This is not going to make the user think your app is stable.
How about a better analogy: ABC Airlines and XYZ Airlines each have their own security philosophies and implementations (not true, but the airline industry isn't exactly like the web server market, after all).
This analogy is better than you think - El Al would be the XYZ in this example.
A better analogy would be IIS as a little shiny metal scooter, which I used as a substitute for my (Apache) bike for a while, until the low ground clearance when going over a driveway kerb caused me to fall off and need 12 stitches in my chin.
The best trick for this I have heard is to get yourself a copy of IBM ViaVoice and train it carefully for your voice. then, mike youself up, and play back the sound you want transcribed, and repeat it into the viavoice mike. It gets transcribed beautifully, becasue it is in your voice. This lets you do near real-time transcription This process is called 'Hullfishing' after its creator, Steve Hullfish
As the trailer is not 4:3, you'll get black bars where the UI is unless you have an Apple Cinema Display or something similarly rectangular.
Anyway, if you have QT player Pro, you can turn off that stuff by choosing 'Enable Tracks' from the 'Edit' menu, and turning off everything but 'Video 1' and 'Sound 1'. Then you can play full screen with Present Movie.
"The World Trade Centre outrage was co-ordinated on the internet, without question," he writes. "If Washington is serious in its determination to eliminate terrorism, it will have to forbid internet providers to allow the transmission of encrypted messages - now encoded by public key ciphers that are unbreakable even by the National Security Agency's computers - and close down any provider that refuses to comply.
"Uncompliant providers on foreign territory should expect their buildings to be destroyed by cruise missiles. Once the internet is implicated in the killing of Americans, its high-rolling days may be reckoned to be over."
You didn't give an age range, but for younger children, Humongous sotware do a good collection (Pajama Sam etc). SockWorks is very cool - debug a cellular automaton in the form of conveyer belts moving socks around to get them in the right basket.
For older children
Logical Journey of the Zoombinis from Broderbund is another puzzle game where you have to solve problems to get the Zoombinis to freedom.
Zap from Edmark is also very neat - you have to fix all the electrics, lights and sound systems to put on a gig, and the simulators are very general.
It's the ATM paradox:
ATM's big feature is guaranteed quality of service. When you set up a TCP/IP connection, the Internet does not reserve network bandwidth for you to guarantee that your data will not suffer network congestion or loss. ATM does offer guaranteed reserved bandwidth. This is its big advantage.
Or is it? If you reserve bandwidth for one user, then you have to refuse to let anyone else use that bandwidth. Everyone always talks about reservations in the context that you are the one who gets the bandwidth and it is everyone who is refused. What about when you are the one being refused? Reservations suddenly doesn't seem so wonderful any more, do they? The only way to make sure no one is refused service is to engineer your network so that you have enough bandwidth for everyone -- but if you have enough for everyone then why do they have to keep making reservations? That's the ATM paradox.
As for streaming the same video to lots of people at once, there is a fine answer already, called multicast. But corporations foolishly don't turn it on on thier networks.
Why doen't someone make a toaster with optical feedback? The perfect toast colour is at a critical point as the drkness makes it absorb more heat and get blackened.
The GeForce 3 demo at MacWorld was Luxo junior rendered in real time, so Pixar quality animation is possible, for a sufficiently early value of Pixar...
All the classic cartoons (tom & jerry, chuck jones & tex avery) are full fo references to old cultrual concepts. The wartime ones can be particularly cryptic. My kids still find them funny though.
That reminds me. Long ago in 1992, when the net was younger than it is now, I was working in London for the MultiMedia Corporation on a CD-Rom with Douglas Adams. He was friends with the various pythons, and he suggested that Terry Gilliam dropped in to see what we were doing with our computers.
We showed him our CD-ROM titles, and an early version of QuickTime, and mentioned Usenet in passing. he expressed interest, so we sat him down in front of the Mac that had the modem (in our cable cupboard) and showed him alt.fan.monty-python.
He was fascinated, and sat there reading it for at least 40 minutes. I remember him seeing someone ask for the script to Holy Grail and him posting his production company address for them to get a copy (of course somone else posted the entire script the next day, and no-one ever believed that Terry Gilliam was posting from our address).
Hopeless. I got up to $12,704 +tax at,store.apple.com just by turning on options on the G4 - and I could get far higher if they would sell me more than one monitor.
There are issues inherent in the ogg format that make it hard too. If the 3 peoepl trying it independently would share code it could go quicker...
MPEG2 is proprietary though - you have to pay license fees to decode it (big ones for the audio).
If you want archival files, QuickTime is your best choice as the file format is documented, and you can archive in a standradised format like JPEG, H263 or DV if you choose.
Its format is designed for editing, whereas MPEG isn't.
iBoks ship with OS 9 and X, so they get a full gcc and gdb envinronment included, as well as project builder, Cocoa and Carbon.
If they pick up RealBasic too they'll be all set
In the name of Digital Rights Management, corporations prevent you from editing or copying stuff they have published to you. This is odd, and at at odds with the spirit of Copyright.
No-one can tell you how much of their book to read, or the order you can read it in. Why do they presume to do so with sound or video? Why must I look at a green FBI notice for 15 seconds at the start of a DVD?
It is the act of re-publishing where the potential copyright violation occurs, not the act of viewing or editing.
Reject uneditable content and say why. Rights are for people, not digits or management.
Big Toy balloons I grant you, but still fun.
Close, but still messy.
/* Here we do something with p1, p2, p3 and set err*/
#include"MacErrors.h"
OSErr allocate_3( void )
{
OSErr err=noErr;
int *p1=NULL, *p2=NULL, *p3=NULL;
p1 = malloc( SOME_NUMBER * sizeof(int) );
p2 = malloc( SOME_NUMBER * sizeof(int) );
p3 = malloc( SOME_NUMBER * sizeof(int) );
if (p1==NULL || p2==NULL || p3=NULL) {err=memFullErr; goto bail; }
if (err) goto bail;
bail:
free( p1 );
free( p2 );
free( p3 );
return err;
}
In MacErrors.h OSErr is typdef'd to short, and the error constants are defined.
The problem with result codes is that you can't propagate the problem up to the level of scope that should be dealing with it. For example, imagine you have a GUI program. At some point, it needs to open "foo.txt", but fails. Since you're a good software engineer, you've well-separated your GUI code from logic code. The GUI needs to display an error message, but if you only check error calls, the only part that knows about the eror that has happened is way down in the logic code, which has no idea how to tell the user. And propagating 'undef's all the way up through the code is uncool. Especially since return values should not be used to indidate errors; they should be used for return values.
That last sentence is stupid dogma. Take a look at the Mac OS APIs sometime. Almost all routines return an error value, of type OSErr. 0 means noErr, negative error values are well-defined by the OS. Postive errors above a certian range are left for applications to use.
With this convention, an error can be passed up the chain, and interpreted or transformed at each stage into something meaningful for the stage above.
At the GUI level, you can map error codes to strings based on these well-known values.
Exceptions are mandatory for good programming, period. If the language you are using doesn't support exceptions (C, Perl, etc), you are going to have problems. Exceptions make sure that if an error occurs, and you aren't aware of it, your program dies, and doesn't go on its merry way, causing a security hole/unstable software.
C++ is implemented in C. Get out your copy of K&R and look up setjmp and longjmp. Do they sound scary? They should.
That is how C++ exceptions work too. Throwing an exception wihtout catching it is calling longjmp without setjmp.
It is your job as a programmer to check error return values, and write you code to clean up after itself if an error is returned. Throwing an exception is a cop out from cleaning up properly.
If your app aborts when memory or disk space is low, you could lose hours of work for your user. This is not going to make the user think your app is stable.
How about a better analogy: ABC Airlines and XYZ Airlines each have their own security philosophies and implementations (not true, but the airline industry isn't exactly like the web server market, after all).
This analogy is better than you think - El Al would be the XYZ in this example.
A better analogy would be IIS as a little shiny metal scooter, which I used as a substitute for my (Apache) bike for a while, until the low ground clearance when going over a driveway kerb caused me to fall off and need 12 stitches in my chin.
The best trick for this I have heard is to get yourself a copy of IBM ViaVoice and train it carefully for your voice. then, mike youself up, and play back the sound you want transcribed, and repeat it into the viavoice mike. It gets transcribed beautifully, becasue it is in your voice. This lets you do near real-time transcription This process is called 'Hullfishing' after its creator, Steve Hullfish
As the trailer is not 4:3, you'll get black bars where the UI is unless you have an Apple Cinema Display or something similarly rectangular.
Anyway, if you have QT player Pro, you can turn off that stuff by choosing 'Enable Tracks' from the 'Edit' menu, and turning off everything but 'Video 1' and 'Sound 1'. Then you can play full screen with Present Movie.
John Keegan, defence correspondent, blames the Internet.
"The World Trade Centre outrage was co-ordinated on the internet, without question," he writes. "If Washington is serious in its determination to eliminate terrorism, it will have to forbid internet providers to allow the transmission of encrypted messages - now encoded by public key ciphers that are unbreakable even by the National Security Agency's computers - and close down any provider that refuses to comply.
"Uncompliant providers on foreign territory should expect their buildings to be destroyed by cruise missiles. Once the internet is implicated in the killing of Americans, its high-rolling days may be reckoned to be over."
You didn't give an age range, but for younger children, Humongous sotware do a good collection (Pajama Sam etc). SockWorks is very cool - debug a cellular automaton in the form of conveyer belts moving socks around to get them in the right basket.
For older children
Logical Journey of the Zoombinis from Broderbund is another puzzle game where you have to solve problems to get the Zoombinis to freedom.
Zap from Edmark is also very neat - you have to fix all the electrics, lights and sound systems to put on a gig, and the simulators are very general.
On most routers packets with these bits set get handled in software rather than in hardware, so they end up in a slower queue.
It's the ATM paradox:
ATM's big feature is guaranteed quality of service. When you set up a TCP/IP connection, the Internet does not reserve network bandwidth for you to guarantee that your data will not suffer network congestion or loss. ATM does offer guaranteed reserved bandwidth. This is its big advantage.
Or is it? If you reserve bandwidth for one user, then you have to refuse to let anyone else use that bandwidth. Everyone always talks about reservations in the context that you are the one who gets the bandwidth and it is everyone who is refused. What about when you are the one being refused? Reservations suddenly doesn't seem so wonderful any more, do they? The only way to make sure no one is refused service is to engineer your network so that you have enough bandwidth for everyone -- but if you have enough for everyone then why do they have to keep making reservations? That's the ATM paradox.
More here and here.
As for streaming the same video to lots of people at once, there is a fine answer already, called multicast. But corporations foolishly don't turn it on on thier networks.
Security through obscenity: Fill the hard drive with pr0n and tip off the authorities when it is stolen
According to Stephen Pinker overgeneralising a regular past tense is a common error in small children. Howver, 'to succeed' is perfectly reguar. 'Successed' is the kind of error made not by human brains, but by neural networks that don't have the concept of a variable.
You have failed the Turing Test again. You are the weakest link. Goodbye.
When they make one that can do leg-spin and offspin and throw a Googly they'll have something to show off about.
Why doen't someone make a toaster with optical feedback? The perfect toast colour is at a critical point as the drkness makes it absorb more heat and get blackened.
The GeForce 3 demo at MacWorld was Luxo junior rendered in real time, so Pixar quality animation is possible, for a sufficiently early value of Pixar...
How is Wiley Coyote ever going to catch Road Runner now - and he's ACMEs best customer.
...
All the classic cartoons (tom & jerry, chuck jones & tex avery) are full fo references to old cultrual concepts. The wartime ones can be particularly cryptic. My kids still find them funny though.
That reminds me. Long ago in 1992, when the net was younger than it is now, I was working in London for the MultiMedia Corporation on a CD-Rom with Douglas Adams. He was friends with the various pythons, and he suggested that Terry Gilliam dropped in to see what we were doing with our computers.
We showed him our CD-ROM titles, and an early version of QuickTime, and mentioned Usenet in passing. he expressed interest, so we sat him down in front of the Mac that had the modem (in our cable cupboard) and showed him alt.fan.monty-python.
He was fascinated, and sat there reading it for at least 40 minutes. I remember him seeing someone ask for the script to Holy Grail and him posting his production company address for them to get a copy (of course somone else posted the entire script the next day, and no-one ever believed that Terry Gilliam was posting from our address).
Hopeless. I got up to $12,704 +tax at ,store.apple.com just by turning on options on the G4 - and I could get far higher if they would sell me more than one monitor.