I think it is integrated with X. Rasterman is using the X interfaces. GLX for image scaling and alpha blending. XRender for antialiased fonts. It's just that no other WM is doing all this (KDE is using the XRender fonts).
X uses the same hardware acceleration that windows does. For instance, most modern video cards can draw basic primitives (like squares, lines, etc), and copy portions of the screen in hardware. X will use all of this. It's called the X11 Acceleration Architecture (XAA)./var/log/xdm.errors should show if you have XAA installed and working.
Raster's software will use acceleration no one else does. For instance, using 3D acceleration to do pixmap resizing and alpha blending. Basically, rasterman is finding areas that could be used to speed up enlightenment that other people havne't thought of yet.
I just bought Theocracy from TuxGames (produced by UbiSoft). I am having quite a bit of fun with it. I feel that it hasn't gotten the press it deserves.
Some video out cards (or external boxes) allow for HDTV resolutions. I'm not sure of any off the top of my head, but it may be worth looking into. For simple text screens, that should be good enough.
It's easy enough to set up a site that changes key/cert upon receipt of the request URI (or Host: header). Simply choose a primary key and cert, do the initial connection with that one. Then, when the client specifies the URI (or Host:), request renegotiation and choose a new key/cert pair. All major browsers support renegotiation.
One big issue with cryptography is the need to reduce patterns in the ciphertext. One prime qualty of a fractal algorithm is that it makes repeated patterns. As such, most fractals would not be directly applicable to cryptography. Of course, if there was some way of hiding the patterns (maybe by concentrating on the borderland areas), this wouldn't apply.
Linux's random device uses a SHA hash to mix the seed and produce decent random numbers. SHA may be a bit more than you need. If you were to change linux/drivers/char/random.c to use MD2 instead of SHA1, you'd probably get a noticeable speed up.
There were two problems with running Athlon machines. First, the Memory Type Register Range support was broken in old kernels. Any new distribution should support them. If the kernel hangs before mounting the drives, try a later versions.
Second was the AGP problems. These are still getting worked out, but it looks like there are working drivers for certain kernel versions. I believe these are yet to be merged in the official kernels, but it can't be long now. This caused hangs when starting X Windows.
Both are solved. The first was a real problem. It caused the machine to not boot. The second was only a problem if you wanted really fast 3D speeds.
Mastering programming is only the first goal. There are others that I've run into in my time as a professional coder.
Become a good public speaker. I've done 3 speeches for different conferences now (2 technical, 1 for a business audience). I'm constantly amazed by how much recognition and advancement you get. Plus, it's fun once you get passed the nervousness.
Become a good man-manager. Different companies have different names for it. I'm a "project lead" at my company. It is a good thing for yourself and your career to be able to manage people well. Management is about more than just setting scheduals and budgets. You need to be able to judge the amount of work someone is able to do, fix any interpersonal problems between team members, notice when a person is bored or overworked, advise your superiors on new programs/incentives, etc. The benefits are more pay, better control over your working environment, and (if you're good) a more pleasant time.
Prophecy. This is a tough one, but working on it helps. The better you are at predicting the future, the more fun and profitable your work as a coder is. If you can tell, for instance, that a new technology is going to take off, you can prepare for it and be ready. If you can tell what your company is going to do, you can be ready. Most often this means leaving a company before the going gets nasty, but often it means starting a new division before the competition (and thus, a better title and pay for you).
If you say "Linux", then it's unlikely that you'll see much leading. "Linux" is just the kernel. But, if you say "Open Source Software" or "Free Software", you'll see that this has been the case for a long time. OSS made the Internet. Sendmail, BIND, Apache (well, I guess NCSA HTTPD at that point) all lead the way. Other OS vendors have followed this lead.
I don't think jesser was saying that you are doing anything wrong or not fully supporting open source. The title of the article was a little misleading (they open sourced hardware?!?!).
I personally agree that opening the libraries and protocols, and not the end-user application is the right way of doing it. That way, we get a small, clean source tree that we can understand. If you (I haven't looked at it yet) made even the smallest effort to make the source readable, then it should be easy to build support into your own apps. A jukebox is nice, but I can code a simple one up in an hour or two.
Oh, and you're right, I certainly do NOT want the MFC:)
One thing I've heard often that I simply have to disagree with is that the command line is not a user interface. Granted, it may be more difficult than a GUI, but the Unix prompt does present one of the best command line interfaces made.
GNU utilities are extremely consistent. For instance, if you want help on something, type in command --help or command -h. Almost every command line option has two forms, long and short. Someone who learns how to use a basic GNU setup can easily switch to almost any new GNU program. Consistent and well designed, despite the lack of a GUI.
Also, this idea that GNOME and KDE are Windows wannabes. Windows isn't the beginning and ending in GUIs. Windows looks like Macintosh. Mac looks like the Xerox Star. They all use WIMP (Windows Icons Menus Pointers) so they all kinda look alike. The concept is public domain. But, GNOME at least (I don't really use KDE so I can't talk about it) goes beyond Windows in a number of fashions. Better theming, better adherence to Fitt's Law, all of the panel applets, use of XML for application configuration (as compared to the nasty registry), a cross-platform, network aware component system, etc. Sure, the aim is similar and the methods of attack are similar, but GNOME is designed by the users of the system, as compared to Window's method of "take what we give you".
Hmm...then why does Quake 3, Heavy Gear, Heretic 2, and Unreal Tournament run so well on my SuSE 6.3 with a Matrox G400?
Getting drivers for the latest and greatest hardware has traditionally been a weak point for Linux, but it's getting better. Right now, at least the Voodoo series, Matrox Gx00 series, Nvidia TNT series, and ATI Rage series work well. Performance is, in general, as good as under Windows.
I picked up one of these a little over a month ago. It's got some good parts and some bad parts. Here's the rundown.
Good Parts:
It's loaded on features. The Raite AVPhile 715 can read DVDs, VCDs, MP3 CDs, and standard audio CDs.
It reads ISO9660 formatted CDs with MP3s on them. It can recurse subdirectories, so it's easy to organize your music.
It can read Romeo formatted CDs for 15 character filenames.
It can show BMP pictures for each song.
It can display a "lyrics" file for each song.
You can hack it to take out the Macrovision protection or the country codes by playing with the remote.
The on-panel controls (not remote) are well done.
It's cheap (I paid $179 @ Fry's)
Bad Parts:
It's cheap:) The tray is really cheap plastic. I feel like it's going to break soon. The LED display has already crapped out.
It takes FOREVER to load the CD
You can't flip through the songs on the CD without actually changing which is playing. You can't switch the display mode without stopping the music.
It doesn't support Joliet or Rock Ridge filesystems. Linux doesn't write Romeo fileystems. You can get around the 8.3 filename limitation by including a lyrics file.
The lyrics file only shows the 1st 15 characters of each line. That's how many fit on the screen, but it doesn't do wrap-around. I wrote a small perl script to do the wrap-around, but it's a hassle, and I wasted a number of CDs experimenting.
The BMP format is really strange. As far as I can tell, they're 1 frame DVD (MPEG-2) files. I don't know why they didn't just use MS-BMP or GIF. They have a closed-source DOS program on their web site. I haven't tried this through dosemu, but I can't imagine it not working. I haven't been able to find any Linux programs to make these files.
No local storage. This means all your MP3 files have to be burnt onto CD.
The remote is confusing, with redundant buttons (forward, fast forward and skip forward, only two of which will work at any given time, depending on media).
DVDs suck. The whole DeCSS thing turned me off them. There's no Jurassic Park, no Star Wars, no good movies. There's the Matrix, but I thought that movie sucked on the silver screen. I've never actually seen a VCD.
Lawrence Lessig, the expert witness called at the Microsoft trial, has published a book on the future of the Internet. It's not too tough a read. Basically, he argues that the software made for the web is it's government. He goes into the affects of cryptography on the ability to regulate the Internet. Very interesting. He's obviously a really bright guy with a lot of good ideas. It should fit your topic well.
I installed the Linux version. I downloaded the "light" 10meg tarball and installed. When I run gtop reports over 23 megs of memory. In comparison, Netscape 4.5 uses 17.
There is no Java in this version. I do have the SSL stuff installed, but I'm not using SSL. My Sidebar is opened to the bookmarks, which shouldn't be a huge drain. Netscape 4.x used a statically compiled Motif, which I always assumed accounted for the vast amount of memory drain. Now, we don't have that excuse.
Would anyone be willing to explain what these great new features are, and what they will do for us?
DRI - Direct Rendering Infrastructure Basically, the DRI allows a 3D application (game, most likely) to talk directly to the video card. Currently, GLX is a network protocol, and so all 3D requests go over the network (this is a simplification).
Multi-Head/Xinerama The ability to use 2 video cards at the same time. Classic multi-head means 2 X sessions at the same time. Xinerama is an extension to allow you to have 1 session that splits across 2 screens. Very cool.
Unified Device Drivers In previous versions of XFree, you'd have to write a driver for each video card and then port it to each platform. So, Matrox (for instance) didn't makr XFree drivers. They'd have to make it for Linux and port it to FreeBSD and Solaris x86 and OS/2. Porting requires significant effort. Now, they write 1 driver and it works on all x86 machines.
Better Mouse Support These new fangled mice have all sorts of buttons on them. Mine has 3 buttons and 2 scroll wheels (each scroll wheel is seen as 2 buttons...one pressed when you scroll up and one on down). XFree 3.3.x only supported 5 buttons (and thus my second scroll wheel doesn't work). XFree 4.0 supports unlimited numbers.
General Re-write The XFree guys have been at it a long time now. So, they're taking this opportunity to rewrite some portions of their code. It's supposed to be faster and use less memory.
So XFree86 4 is going to be released with virtually no cards supported (for 3D) then, as we are talking about a few weeks to release. While the Utah glx project has excellent hardware support for a wide range of cards, including developing the agpgart kernel module, in less time with less funding. Why? An open development process is the obvious answer. Precision Insight provides companies with a driver development model that they understand, but they and XFree86 need to open up.
They have different goals. The XFree team is trying to put out an X server. A couple sample implementations to prove their design is correct is enough. They don't have to support many cards because the support can be written after release.
The Utah-GLX project is trying to write drivers for 3D video cards using GLX. It's not surprising that they've gotten more drivers out than XFree has.
When XFree86 4.0 is released, the Utah team can port their drivers. There's no reason to double the effort to write 3D drivers.
If you like to run with lots of colors (who doesn't?), but still need support for 8bpp screens, overlays are for you. It works by using 32 bits, but running in 24bpp mode. The remaining 8 bits are used to support a 8bpp mode. So, you can still run 8bpp apps (FrameMaker is one. I think xfishtank is also one, unless it's been updated) on a high-color screen. You lose some of the finer color control that's useful for graphics production. But, 24bpp is generally more than the human eye can perceive.
I checked out the webpage for ZoneAlarm. It looks interesting and real easy to use. But, it doesn't do much more than a stock Linux install with either ipfwadm or ipchains will do.
With Linux, you're able to turn on and off services, masquerade behind a firewall, turn off response to pings even (which I think ZoneAlarm does). Basically, you have all the features of ZoneAlarm plus more, but without the user friendliness.
The lack of user-friendliness is a good thing, IMO. With ZoneAlarm, you can't really tell exactly what it's doing. With ipchains and a homebrew script you know what's going on under the hood. With security, it always pays to be more careful. Knowing more about the internal processes helps you be more careful.
And if you really want the nice GUI, there are a number of apps available on freshmeat.net to help you.
I just don't trust running binary only programs from the US government. This program scans your whole directory tree, looking for signs of the offending program. But, since we don't have the source, we don't know what else it's looking for, or who it's contacting. It also must run be run with root permissions. Personally, I find this a much bigger threat than not being able to day-trade for a few hours.
Now that I think of it... He probably used password-based encryption to encrypt the key to the files with a password. This would be a lot easier to crack. But, it could also mean that a single-bit error renders the plaintext unreadable. If the error came in the right place, you could never retrieve the proper decryption key. So, he could say "My password is 'foobar'" while it was really 'bazfoo' and then claim that there was an error in the ciphertext. Though, this would mean the US wouldn't have to give him the encrypted files back.
Actually, five years is an extremely short time for crypto to work. Generally, cryptographers think in terms of thousands, if not billions, of years.
Every extra bit in the key means twice the search space. Most crypto is broken by a flaw in the algorithm, rather than a brute-force attack. DES is the exception to this, but it stayed strong for almost 20 years.
Doesn't work this way. Most likely, Kevin used a standard block cipher with CBC feedback. CBC feedback is a method of affecting the ciphertext so that patterns in the plaintext are not obvious from the ciphertext. Bruce Schneier's Applied Crypto has a very good explanation of CBC.
The short of it is; any errors in the ciphertext will show up in the plaintext in a predictable manner. You'd have to garble the whole ciphertext to make it look like you had the wrong key. Any single-bit error will only affect one block and one bit (one whole block gets destroyed and one bit in the next block). This is a pretty obivous signature, and would be usable in court.
I picked up this game as a XMas gift to myself. I have to say that it was worth every penny. Forget the 90-something meg download, and just go out and buy it. You'll want to buy it after you play, so why bother wasting the bandwidth?
I think it is integrated with X. Rasterman is using the X interfaces. GLX for image scaling and alpha blending. XRender for antialiased fonts. It's just that no other WM is doing all this (KDE is using the XRender fonts).
X uses the same hardware acceleration that windows does. For instance, most modern video cards can draw basic primitives (like squares, lines, etc), and copy portions of the screen in hardware. X will use all of this. It's called the X11 Acceleration Architecture (XAA). /var/log/xdm.errors should show if you have XAA installed and working.
Raster's software will use acceleration no one else does. For instance, using 3D acceleration to do pixmap resizing and alpha blending. Basically, rasterman is finding areas that could be used to speed up enlightenment that other people havne't thought of yet.
I just bought Theocracy from TuxGames (produced by UbiSoft). I am having quite a bit of fun with it. I feel that it hasn't gotten the press it deserves.
-Dave
Some video out cards (or external boxes) allow for HDTV resolutions. I'm not sure of any off the top of my head, but it may be worth looking into. For simple text screens, that should be good enough.
It's easy enough to set up a site that changes key/cert upon receipt of the request URI (or Host: header). Simply choose a primary key and cert, do the initial connection with that one. Then, when the client specifies the URI (or Host:), request renegotiation and choose a new key/cert pair. All major browsers support renegotiation.
One big issue with cryptography is the need to reduce patterns in the ciphertext. One prime qualty of a fractal algorithm is that it makes repeated patterns. As such, most fractals would not be directly applicable to cryptography. Of course, if there was some way of hiding the patterns (maybe by concentrating on the borderland areas), this wouldn't apply.
Linux's random device uses a SHA hash to mix the seed and produce decent random numbers. SHA may be a bit more than you need. If you were to change linux/drivers/char/random.c to use MD2 instead of SHA1, you'd probably get a noticeable speed up.
There were two problems with running Athlon machines. First, the Memory Type Register Range support was broken in old kernels. Any new distribution should support them. If the kernel hangs before mounting the drives, try a later versions.
Second was the AGP problems. These are still getting worked out, but it looks like there are working drivers for certain kernel versions. I believe these are yet to be merged in the official kernels, but it can't be long now. This caused hangs when starting X Windows.
Both are solved. The first was a real problem. It caused the machine to not boot. The second was only a problem if you wanted really fast 3D speeds.
-Dave
Mastering programming is only the first goal. There are others that I've run into in my time as a professional coder.
Become a good public speaker. I've done 3 speeches for different conferences now (2 technical, 1 for a business audience). I'm constantly amazed by how much recognition and advancement you get. Plus, it's fun once you get passed the nervousness.
Become a good man-manager. Different companies have different names for it. I'm a "project lead" at my company. It is a good thing for yourself and your career to be able to manage people well. Management is about more than just setting scheduals and budgets. You need to be able to judge the amount of work someone is able to do, fix any interpersonal problems between team members, notice when a person is bored or overworked, advise your superiors on new programs/incentives, etc. The benefits are more pay, better control over your working environment, and (if you're good) a more pleasant time.
Prophecy. This is a tough one, but working on it helps. The better you are at predicting the future, the more fun and profitable your work as a coder is. If you can tell, for instance, that a new technology is going to take off, you can prepare for it and be ready. If you can tell what your company is going to do, you can be ready. Most often this means leaving a company before the going gets nasty, but often it means starting a new division before the competition (and thus, a better title and pay for you).
-Dave
If you say "Linux", then it's unlikely that you'll see much leading. "Linux" is just the kernel. But, if you say "Open Source Software" or "Free Software", you'll see that this has been the case for a long time. OSS made the Internet. Sendmail, BIND, Apache (well, I guess NCSA HTTPD at that point) all lead the way. Other OS vendors have followed this lead.
I don't think jesser was saying that you are doing anything wrong or not fully supporting open source. The title of the article was a little misleading (they open sourced hardware?!?!).
:)
I personally agree that opening the libraries and protocols, and not the end-user application is the right way of doing it. That way, we get a small, clean source tree that we can understand. If you (I haven't looked at it yet) made even the smallest effort to make the source readable, then it should be easy to build support into your own apps. A jukebox is nice, but I can code a simple one up in an hour or two.
Oh, and you're right, I certainly do NOT want the MFC
-Dave
One thing I've heard often that I simply have to disagree with is that the command line is not a user interface. Granted, it may be more difficult than a GUI, but the Unix prompt does present one of the best command line interfaces made.
GNU utilities are extremely consistent. For instance, if you want help on something, type in command --help or command -h. Almost every command line option has two forms, long and short. Someone who learns how to use a basic GNU setup can easily switch to almost any new GNU program. Consistent and well designed, despite the lack of a GUI.
Also, this idea that GNOME and KDE are Windows wannabes. Windows isn't the beginning and ending in GUIs. Windows looks like Macintosh. Mac looks like the Xerox Star. They all use WIMP (Windows Icons Menus Pointers) so they all kinda look alike. The concept is public domain. But, GNOME at least (I don't really use KDE so I can't talk about it) goes beyond Windows in a number of fashions. Better theming, better adherence to Fitt's Law, all of the panel applets, use of XML for application configuration (as compared to the nasty registry), a cross-platform, network aware component system, etc. Sure, the aim is similar and the methods of attack are similar, but GNOME is designed by the users of the system, as compared to Window's method of "take what we give you".
-Dave
Hmm...then why does Quake 3, Heavy Gear, Heretic 2, and Unreal Tournament run so well on my SuSE 6.3 with a Matrox G400?
Getting drivers for the latest and greatest hardware has traditionally been a weak point for Linux, but it's getting better. Right now, at least the Voodoo series, Matrox Gx00 series, Nvidia TNT series, and ATI Rage series work well. Performance is, in general, as good as under Windows.
-Dave
I picked up one of these a little over a month ago. It's got some good parts and some bad parts. Here's the rundown.
:) The tray is really cheap plastic. I feel like it's going to break soon. The LED display has already crapped out.
Good Parts:
It's loaded on features. The Raite AVPhile 715 can read DVDs, VCDs, MP3 CDs, and standard audio CDs.
It reads ISO9660 formatted CDs with MP3s on them. It can recurse subdirectories, so it's easy to organize your music.
It can read Romeo formatted CDs for 15 character filenames.
It can show BMP pictures for each song.
It can display a "lyrics" file for each song.
You can hack it to take out the Macrovision protection or the country codes by playing with the remote.
The on-panel controls (not remote) are well done.
It's cheap (I paid $179 @ Fry's)
Bad Parts:
It's cheap
It takes FOREVER to load the CD
You can't flip through the songs on the CD without actually changing which is playing. You can't switch the display mode without stopping the music.
It doesn't support Joliet or Rock Ridge filesystems. Linux doesn't write Romeo fileystems. You can get around the 8.3 filename limitation by including a lyrics file.
The lyrics file only shows the 1st 15 characters of each line. That's how many fit on the screen, but it doesn't do wrap-around. I wrote a small perl script to do the wrap-around, but it's a hassle, and I wasted a number of CDs experimenting.
The BMP format is really strange. As far as I can tell, they're 1 frame DVD (MPEG-2) files. I don't know why they didn't just use MS-BMP or GIF. They have a closed-source DOS program on their web site. I haven't tried this through dosemu, but I can't imagine it not working. I haven't been able to find any Linux programs to make these files.
No local storage. This means all your MP3 files have to be burnt onto CD.
The remote is confusing, with redundant buttons (forward, fast forward and skip forward, only two of which will work at any given time, depending on media).
DVDs suck. The whole DeCSS thing turned me off them. There's no Jurassic Park, no Star Wars, no good movies. There's the Matrix, but I thought that movie sucked on the silver screen. I've never actually seen a VCD.
-Dave
Lawrence Lessig, the expert witness called at the Microsoft trial, has published a book on the future of the Internet. It's not too tough a read. Basically, he argues that the software made for the web is it's government. He goes into the affects of cryptography on the ability to regulate the Internet. Very interesting. He's obviously a really bright guy with a lot of good ideas. It should fit your topic well.
I installed the Linux version. I downloaded the "light" 10meg tarball and installed. When I run gtop reports over 23 megs of memory. In comparison, Netscape 4.5 uses 17.
There is no Java in this version. I do have the SSL stuff installed, but I'm not using SSL. My Sidebar is opened to the bookmarks, which shouldn't be a huge drain. Netscape 4.x used a statically compiled Motif, which I always assumed accounted for the vast amount of memory drain. Now, we don't have that excuse.
*sigh* I hope Opera comes up to speed soon.
-Dave
Would anyone be willing to explain what these great new features are, and what they will do for us?
DRI - Direct Rendering Infrastructure
Basically, the DRI allows a 3D application (game, most likely) to talk directly to the video card. Currently, GLX is a network protocol, and so all 3D requests go over the network (this is a simplification).
Multi-Head/Xinerama
The ability to use 2 video cards at the same time. Classic multi-head means 2 X sessions at the same time. Xinerama is an extension to allow you to have 1 session that splits across 2 screens. Very cool.
Unified Device Drivers
In previous versions of XFree, you'd have to write a driver for each video card and then port it to each platform. So, Matrox (for instance) didn't makr XFree drivers. They'd have to make it for Linux and port it to FreeBSD and Solaris x86 and OS/2. Porting requires significant effort. Now, they write 1 driver and it works on all x86 machines.
Better Mouse Support
These new fangled mice have all sorts of buttons on them. Mine has 3 buttons and 2 scroll wheels (each scroll wheel is seen as 2 buttons...one pressed when you scroll up and one on down). XFree 3.3.x only supported 5 buttons (and thus my second scroll wheel doesn't work). XFree 4.0 supports unlimited numbers.
General Re-write
The XFree guys have been at it a long time now. So, they're taking this opportunity to rewrite some portions of their code. It's supposed to be faster and use less memory.
So XFree86 4 is going to be released with virtually no cards supported (for 3D) then, as we are talking about a few weeks to release. While the Utah glx project has excellent hardware support for a wide range of cards, including developing the agpgart kernel module, in less time with less funding. Why? An open development process is the obvious answer. Precision Insight provides companies with a driver development model that they understand, but they and XFree86 need to open up.
They have different goals. The XFree team is trying to put out an X server. A couple sample implementations to prove their design is correct is enough. They don't have to support many cards because the support can be written after release.
The Utah-GLX project is trying to write drivers for 3D video cards using GLX. It's not surprising that they've gotten more drivers out than XFree has.
When XFree86 4.0 is released, the Utah team can port their drivers. There's no reason to double the effort to write 3D drivers.
If you like to run with lots of colors (who doesn't?), but still need support for 8bpp screens, overlays are for you. It works by using 32 bits, but running in 24bpp mode. The remaining 8 bits are used to support a 8bpp mode. So, you can still run 8bpp apps (FrameMaker is one. I think xfishtank is also one, unless it's been updated) on a high-color screen. You lose some of the finer color control that's useful for graphics production. But, 24bpp is generally more than the human eye can perceive.
I checked out the webpage for ZoneAlarm. It looks interesting and real easy to use. But, it doesn't do much more than a stock Linux install with either ipfwadm or ipchains will do.
With Linux, you're able to turn on and off services, masquerade behind a firewall, turn off response to pings even (which I think ZoneAlarm does). Basically, you have all the features of ZoneAlarm plus more, but without the user friendliness.
The lack of user-friendliness is a good thing, IMO. With ZoneAlarm, you can't really tell exactly what it's doing. With ipchains and a homebrew script you know what's going on under the hood. With security, it always pays to be more careful. Knowing more about the internal processes helps you be more careful.
And if you really want the nice GUI, there are a number of apps available on freshmeat.net to help you.
-Dave
I just don't trust running binary only programs from the US government. This program scans your whole directory tree, looking for signs of the offending program. But, since we don't have the source, we don't know what else it's looking for, or who it's contacting. It also must run be run with root permissions. Personally, I find this a much bigger threat than not being able to day-trade for a few hours.
Now that I think of it...
He probably used password-based encryption to encrypt the key to the files with a password. This would be a lot easier to crack. But, it could also mean that a single-bit error renders the plaintext unreadable. If the error came in the right place, you could never retrieve the proper decryption key. So, he could say "My password is 'foobar'" while it was really 'bazfoo' and then claim that there was an error in the ciphertext. Though, this would mean the US wouldn't have to give him the encrypted files back.
Actually, five years is an extremely short time for crypto to work. Generally, cryptographers think in terms of thousands, if not billions, of years.
Every extra bit in the key means twice the search space. Most crypto is broken by a flaw in the algorithm, rather than a brute-force attack. DES is the exception to this, but it stayed strong for almost 20 years.
Doesn't work this way. Most likely, Kevin used a standard block cipher with CBC feedback. CBC feedback is a method of affecting the ciphertext so that patterns in the plaintext are not obvious from the ciphertext. Bruce Schneier's Applied Crypto has a very good explanation of CBC.
The short of it is; any errors in the ciphertext will show up in the plaintext in a predictable manner. You'd have to garble the whole ciphertext to make it look like you had the wrong key. Any single-bit error will only affect one block and one bit (one whole block gets destroyed and one bit in the next block). This is a pretty obivous signature, and would be usable in court.
I picked up this game as a XMas gift to myself. I have to say that it was worth every penny. Forget the 90-something meg download, and just go out and buy it. You'll want to buy it after you play, so why bother wasting the bandwidth?