Then you shouldn't be downloading an ISO in the first place. If you have a slow connection, either shell out the money for a CD or a faster connection (I'd go for the latter any day), or just get:
<base href="http://http.us.debian.org/debian/dists/(dist )/main/">
/disks-i386/current/images-1.44/rescue.bin /disks-i386/current/images-1.44/root.bin /disks-i386/current/base2_2.tgz (I know it's big, but don't complain!) /disks-i386/current/drivers.tgz
I think that's it... I should know, since I've done it seven times:) (two were on a fast connection, so I got lazy and grabbed the entire/disks-i386/ tree)
... that's why you have Debian mirrored on SourceForge's servers:) and it's a lot more than 400 small files, last I counted. But actually it can speed up a fast connection, becuase you can have several streams coming in at once (hmmm... don't think wget can do that yet... hopefully I'll be wrong soon), so you get more share of the backbone and your local ISP's connection (especially if it's metered -- then you can max up to your metered speed, and get what you pay so much for).
Who needs a bloody ISO? Just grab http://http.us.debian.org/debian/dists/(pick one)/
Keep it on a spare partition if you can manage the space, and get rescue.bin and root.bin from the/main/disks-i386/current/image-1.44. Debian does require a bit of fiddling to install without a CD, but I actually like it better that way. As for wget + proxy,
That dang mouse ball keeps pushing up into the mouse casing, where it's quite difficult to turn by hand (I'm using an IntelliMouse, but most others are structured similarly). It's a little better when I take the ball cover off, but then it falls out too easily. Maybe you've just got a knack to it.
For the meat of this post relevant to the subject, skip the next paragraph and then everything after it. But I hope the rest has some interesting stuff too.
What I really like about Linux, especially with a good distro (Debian anybody?), is that stuff is rediculously easy to install as timothy says, and you get nice default settings and everything works (especially with Debian, where the package configuration mechanism is well-defined and thought out) and you don't have to mess with it, but when you decide to go "power-user", everything is right there, from simple-to-edit text configuration files to the complete sources of most available programs; you can mess around with stuff. And if you royally screw something up, apt-get reinstall <package>.
As far as user-friendliness, X Windows as-is, with GNOME and KDE (pick one...), is about as easy to use as Windows while being much more customizable (heck, throw in a new window manager if you don't like how yours works! then try that in windows...). The only problem is that the user that Eazel etc. tries to cater to has been force-fed M$ Windows GUI all of their (computing) life. Get people started on Linux, and people will be comfortable with it without (much) special catering.
Mac OS X looks darn sweet, though... I have to wonder what Linux's fate will be competing against that. Anybody ported Aqua to Linux yet?;)
Oh, forget AOL with network drivers. An AOL install will mess with configuration all over a Windows system (why in the world would an ISP adjust power management settings? Well AOL does, from what I've heard, source Fred Langa). You'll generally have a call to tech support to do any kind of network config after installing AOL, because in my experience it often just doesn't work anymore.
Odd that with all the "effort" that Microsoft has been putting into "compatibility" between "releases", stuff still doesn't work right between versions. Linux, on the other hand, has no problem with foreign packages (alien), and if it does, it's a simple matter to know why. But since most every Linux program is free and packaged in the two most common formats, rpm and deb, anyway, there is very often zero problems here.
My bias is of course towards Linux (because it's free, cool, ("enough, Ken" - shut up already, little voices!)), but I still maintain a power-user knowledge of Windows, and to a lesser extent MacOS, because those are what most people presently use. Realistically today, you cannot expect the average Windows user to go out and (gasp!) buy (you mean you actually have to pay money for Linux? Oh, you get it on a CD! Ah, okay.) a Linux distro and have a clue what [s]he is doing with it, but fortunately this is poised to change.
Linux has its faults. But the difference is, with Linux I can easily track down the root of the problem and have at least the chance to fix it if it involves modifying code (but if I don't, someone else can), but even with equal power-user status on Windows, I can still spend hours trying to track down a problem that should be obvious (try networking...).
If you've read this far through my hopefully informative, intersting ("this is your last warning, Ken" shut up already! I mean it! these little voices are really bothering me...) Oh, timothy is a cool guy; you should talk to him. He gave me a Slashdot / Andover dart gun! (oops, was I not supposed to tell anybody? oh well...) But more than that, he knows what he's talking about and he led an interesting discussion this year, first session (remember that, Tim?). No, I'm not trying to suck up:)
Unfortunately, the Debian release cycle is such that we won't see a stable release with a 2.4 kernel for some time. But a few packages from woody such as devfsd allow 2.4.0-test* to run perfectly on potato.
I totally love Debian and appreciate the outstanding effort of everyone who has maintained packages, managed releases, or otherwise contributed to the Debian project.
a) The counter circuit would still display 5, even if 5 was really 4.whatever -- it'd just be wrong. b) The floating-point bug was in the insignificant bits, so there'd be a lot more 9's. c) It's fixed now. d) Pentium is a proper noun and a trademark of Intel, so you should have labelled it as such. e) The problem would have effected Linux also. f) Okay, so it was still kinda funny.
Good point. However, a Scheme implementation is much closer to the algorithm proved in many cases. If you really want a rigorous proof, it would be necessary to break down the program into a parse tree, and define how the low-level Scheme elements map into function space.
And you got two things wrong in the last sentence. First, a Scheme function is called like (fib -1) (believe me, you can get used to it...). Second, the proof was for (or (= k 1) (= k 2) (> k 2)), not (= k -1).
Try a more complicated algorithm. Add a few global variables, a few pointers here and there, and then try to prove that. Yes there are global variables in Scheme, and things that can sort of act like pointers, but functional languages are structured such that it is more natural not to use them. Oh, and the fact that your Scheme programs will _never_ segfault (given a properly written interpreter / compiler) is also nice.
(define fib (lambda (x) (cond [(equal? x 1) 1] [(equal? x 2) 1] [else (+ (fib (- x 1)) (fib (- x 2)))])))
gives the nth Fibonnaci number:
Proof by induction:
Base cases (1, 2): Conditions 1 or 2 will be satisfied, in either case returning 1.
Inductive step: Assume fib returns the correct value for k-2 and k-1, and k > 2.
Neither of the first two conditions will be satisfied, so the else clause is evaluated. (fib (- x 1)) and (fib (- x 2)) are the correct values by the assumption, and their sum, by definition, is the k'th Fib. number.
Therefore, fib returns the correct value for all n >= 1.
(it's been a while since I've proven a program, so this might have some subtle errors)
Note that the above function is recursive, not iterative, and evaluates the same thing multiple times. (This would be fine if the interpreter recognized that the function has no side effects, so the return value could simply be stored and recalled, and maybe some interpreters do this.) Here is a more efficient algorithm that is a bit harder to prove:
(define fib-iter (lambda (x) (if (or (equal? x 1) (equal? x 2)) 1 (fib-iter-help 1 1 (- x 2)))))
(define fib-iter-help (lambda (fnm2 fnm1 n) ; fib(n-2), fib(n-1), n (if (equal? n 0) fnm1 (fib-iter-help fnm1 (+ fnm2 fnm1)))))
I've never used ACL2, but it looks interesting.
As for all the people who hate parens in LISP or Scheme, check out DrScheme, the free, open-source Scheme interpreter from Rice University (URL escapes me right now, but I know it's below cs.rice.edu). When you're done with a function and construction and have to close a bunch of parentheses, just keep typing close parens. It will highlight the area enclosed by the close parenthesis you just typed, and it'll show you if you type one too many or too few. It also has syntax checking and highlighting, and a neat feature that will draw arrows between symbol declarations and uses when you hold the pointer over it. It also works exactly the same in Linux, Windows, Mac, and whatever else it's been ported to recently. Okay, enough propaganda...
MP3 is old, too lossy, sounds bad, and has way too many legal messes surrounding it. I'm sure that eventually all of these can be worked around (MP4?), but why bother? Vorbis is here, and is free (speech) and free (beer). Oh, and It's Just Better (tm), too.
</rant>
Remember the SAT? Windows is to Linux as MP3 is to Vorbis.
That depends on whether or not mpg123 does (and I have had mixed results with this).
AFAIK, Vorbis in its present state is variable bitrate. You may want to ask Monty on the specifics, but from what I have seen, the encoding modes for Vorbis are numbered 0-6, and each has an approximate bitrate, but the bitrate can vary. Is this due to the accuracy of the quantitization? Or is the psychoacoustic model actually dynamic wrt output? Monty?
What I'd really like to see is the ability for the encoder to scan the entire input file (if possible) and tune the encoding tables etc. This could provide for a small file at really good quality without too much extra work.
100% agreed. Just convince those politicians at the FCC to accept that they messed up. Most people here will know PAL and NTSC... do we want that to happen again?
The implementation of the receiver programming system is a very minor issue compared to the issue of getting the signal to the receiver in the first place. The big question is: will the present 8-VSB system work? Why not COFDM or even some other technology? There are numerous sources I can point you to, but a Google search can get you lots of useful information easily.
By now you should all know that PNG / MNG is better than GIF and Vorbis is better than MP3 (in both cases, the open format prevails). So where's the better, open format for MPEG-4?
Kenneth (advocating Vorbis for the fifth time on Slashdot)
Everybody talks about MP3 when they talk about music on the Web. MP3 seems ubiquitous. Well, so does Windows. But as was discussed in earlier articles, MP3 has shaky legal standings as purely an audio format, without going into all this copyright junk. So might I refer you to the Linux / BSD of compressed music? It's called Vorbis, and we discussed it on Slashdot in an earlier article (here). I would rant on about how it is better, but I already have. To save you the read unless you want to, I refer you to my earlier comment here.
Vorbis Tools 0.5 is about to go out, as soon as my web server will accept my upload! In the mean time, bother me if you want tarballs. And of course you do;)
Get a hash of all posts on Slashdot that have just been given a score of -1. That's pretty random (just remove all instances of common phrases such as "Natile Portman").
Watch the inputs and screens of a [l]user's Windows box while they are "working". The Internet Exploiter surfing for p0rn will provide plenty of random data to chew on...
Use an unstable devel kernel on one machine. Track its oopses.
Better: ping your production NT machine. One bit of randomness to when it BSODs. If possible, use the cryptic stuff it spews on screen as random data.
Nuke a small third-world country every day or so. The results will provide a LOT of random data. You know, the international warfare on your company... information overload.
Instead of a normal hash algorithm, use the data obtained by tuning a radio to random frequencies (for/dev/urandom)
There are more where those came from, but I can't pry them out of the bowels of my head right now...
Using a gif is just inexcusable here. The jpeg format compressed it much better, and have we forgotten about the UNISYS GIF patent issue so quickly?
<rant> Ever heard of PNG? Just perfect for typical Web images (JPEG is still better for compressing the kinds of images you take from a digital camera). No patents, excellent quality, faster load, better compression, true alpha-channel support, etc. etc. etc... </rant>
Then you shouldn't be downloading an ISO in the first place. If you have a slow connection, either shell out the money for a CD or a faster connection (I'd go for the latter any day), or just get:
t )/main/">
/disks-i386/current/images-1.44/rescue.bin
/disks-i386/current/images-1.44/root.bin
/disks-i386/current/base2_2.tgz (I know it's big, but don't complain!)
/disks-i386/current/drivers.tgz
:) (two were on a fast connection, so I got lazy and grabbed the entire /disks-i386/ tree)
<base href="http://http.us.debian.org/debian/dists/(dis
I think that's it... I should know, since I've done it seven times
... that's why you have Debian mirrored on SourceForge's servers :) and it's a lot more than 400 small files, last I counted. But actually it can speed up a fast connection, becuase you can have several streams coming in at once (hmmm... don't think wget can do that yet... hopefully I'll be wrong soon), so you get more share of the backbone and your local ISP's connection (especially if it's metered -- then you can max up to your metered speed, and get what you pay so much for).
(wishing I had a fast connection...)
Who needs a bloody ISO? Just grab http://http.us.debian.org/debian/dists/(pick one)/
/main/disks-i386/current/image-1.44. Debian does require a bit of fiddling to install without a CD, but I actually like it better that way. As for wget + proxy,
Keep it on a spare partition if you can manage the space, and get rescue.bin and root.bin from the
export http_proxy = (proxy name)
wget --proxy=on [--proxy-user=user --proxy-pass=pass] -r (url)
That dang mouse ball keeps pushing up into the mouse casing, where it's quite difficult to turn by hand (I'm using an IntelliMouse, but most others are structured similarly). It's a little better when I take the ball cover off, but then it falls out too easily. Maybe you've just got a knack to it.
(yes timothy, I've met you - CTY)
;)
:)
For the meat of this post relevant to the subject, skip the next paragraph and then everything after it. But I hope the rest has some interesting stuff too.
What I really like about Linux, especially with a good distro (Debian anybody?), is that stuff is rediculously easy to install as timothy says, and you get nice default settings and everything works (especially with Debian, where the package configuration mechanism is well-defined and thought out) and you don't have to mess with it, but when you decide to go "power-user", everything is right there, from simple-to-edit text configuration files to the complete sources of most available programs; you can mess around with stuff. And if you royally screw something up, apt-get reinstall <package>.
As far as user-friendliness, X Windows as-is, with GNOME and KDE (pick one...), is about as easy to use as Windows while being much more customizable (heck, throw in a new window manager if you don't like how yours works! then try that in windows...). The only problem is that the user that Eazel etc. tries to cater to has been force-fed M$ Windows GUI all of their (computing) life. Get people started on Linux, and people will be comfortable with it without (much) special catering.
Mac OS X looks darn sweet, though... I have to wonder what Linux's fate will be competing against that. Anybody ported Aqua to Linux yet?
Oh, forget AOL with network drivers. An AOL install will mess with configuration all over a Windows system (why in the world would an ISP adjust power management settings? Well AOL does, from what I've heard, source Fred Langa). You'll generally have a call to tech support to do any kind of network config after installing AOL, because in my experience it often just doesn't work anymore.
Odd that with all the "effort" that Microsoft has been putting into "compatibility" between "releases", stuff still doesn't work right between versions. Linux, on the other hand, has no problem with foreign packages (alien), and if it does, it's a simple matter to know why. But since most every Linux program is free and packaged in the two most common formats, rpm and deb, anyway, there is very often zero problems here.
My bias is of course towards Linux (because it's free, cool, ("enough, Ken" - shut up already, little voices!)), but I still maintain a power-user knowledge of Windows, and to a lesser extent MacOS, because those are what most people presently use. Realistically today, you cannot expect the average Windows user to go out and (gasp!) buy (you mean you actually have to pay money for Linux? Oh, you get it on a CD! Ah, okay.) a Linux distro and have a clue what [s]he is doing with it, but fortunately this is poised to change.
Linux has its faults. But the difference is, with Linux I can easily track down the root of the problem and have at least the chance to fix it if it involves modifying code (but if I don't, someone else can), but even with equal power-user status on Windows, I can still spend hours trying to track down a problem that should be obvious (try networking...).
If you've read this far through my hopefully informative, intersting ("this is your last warning, Ken" shut up already! I mean it! these little voices are really bothering me...) Oh, timothy is a cool guy; you should talk to him. He gave me a Slashdot / Andover dart gun! (oops, was I not supposed to tell anybody? oh well...) But more than that, he knows what he's talking about and he led an interesting discussion this year, first session (remember that, Tim?). No, I'm not trying to suck up
Kenneth
So now you're going to protest the protestors? :)
I'm glad I don't live there.
Unfortunately, the Debian release cycle is such that we won't see a stable release with a 2.4 kernel for some time. But a few packages from woody such as devfsd allow 2.4.0-test* to run perfectly on potato.
I totally love Debian and appreciate the outstanding effort of everyone who has maintained packages, managed releases, or otherwise contributed to the Debian project.
No.
a) The counter circuit would still display 5, even if 5 was really 4.whatever -- it'd just be wrong.
b) The floating-point bug was in the insignificant bits, so there'd be a lot more 9's.
c) It's fixed now.
d) Pentium is a proper noun and a trademark of Intel, so you should have labelled it as such.
e) The problem would have effected Linux also.
f) Okay, so it was still kinda funny.
If you insist that there is something wrong, you are welcome to fix whatever is necessary and post it up. It was only an example, anyway.
"Houston, we are go for launch."
"10, 9, 8, 7, 6, 5, 4, ignition start, 2, 1..."
<shuttle rises above the launch platform, then abruptly the engines shut down>
"OH, <beep>! And why is the screen blue?"
Good point. However, a Scheme implementation is much closer to the algorithm proved in many cases. If you really want a rigorous proof, it would be necessary to break down the program into a parse tree, and define how the low-level Scheme elements map into function space.
And you got two things wrong in the last sentence. First, a Scheme function is called like (fib -1) (believe me, you can get used to it...). Second, the proof was for (or (= k 1) (= k 2) (> k 2)), not (= k -1).
Try a more complicated algorithm. Add a few global variables, a few pointers here and there, and then try to prove that. Yes there are global variables in Scheme, and things that can sort of act like pointers, but functional languages are structured such that it is more natural not to use them. Oh, and the fact that your Scheme programs will _never_ segfault (given a properly written interpreter / compiler) is also nice.
Prove that the simple Scheme function:
(define fib
(lambda (x)
(cond
[(equal? x 1) 1]
[(equal? x 2) 1]
[else (+ (fib (- x 1)) (fib (- x 2)))])))
gives the nth Fibonnaci number:
Proof by induction:
Base cases (1, 2):
Conditions 1 or 2 will be satisfied, in either case returning 1.
Inductive step: Assume fib returns the correct value for k-2 and k-1, and k > 2.
Neither of the first two conditions will be satisfied, so the else clause is evaluated. (fib (- x 1)) and (fib (- x 2)) are the correct values by the assumption, and their sum, by definition,
is the k'th Fib. number.
Therefore, fib returns the correct value for all n >= 1.
(it's been a while since I've proven a program, so this might have some subtle errors)
Note that the above function is recursive, not iterative, and evaluates the same thing multiple times. (This would be fine if the interpreter recognized that the function has no side effects, so the return value could simply be stored and recalled, and maybe some interpreters do this.) Here is a more efficient algorithm that is a bit harder to prove:
(define fib-iter
(lambda (x)
(if (or (equal? x 1) (equal? x 2))
1
(fib-iter-help 1 1 (- x 2)))))
(define fib-iter-help
(lambda (fnm2 fnm1 n) ; fib(n-2), fib(n-1), n
(if (equal? n 0)
fnm1
(fib-iter-help fnm1 (+ fnm2 fnm1)))))
I've never used ACL2, but it looks interesting.
As for all the people who hate parens in LISP or Scheme, check out DrScheme, the free, open-source Scheme interpreter from Rice University (URL escapes me right now, but I know it's below cs.rice.edu). When you're done with a function and construction and have to close a bunch of parentheses, just keep typing close parens. It will highlight the area enclosed by the close parenthesis you just typed, and it'll show you if you type one too many or too few. It also has syntax checking and highlighting, and a neat feature that will draw arrows between symbol declarations and uses when you hold the pointer over it. It also works exactly the same in Linux, Windows, Mac, and whatever else it's been ported to recently. Okay, enough propaganda...
MP3 is old, too lossy, sounds bad, and has way too many legal messes surrounding it. I'm sure that eventually all of these can be worked around (MP4?), but why bother? Vorbis is here, and is free (speech) and free (beer). Oh, and It's Just Better (tm), too.
</rant>
Remember the SAT? Windows is to Linux as MP3 is to Vorbis.
PAC by Lucent appears to be a proprietary, closed, for-cost product. I'm going with Vorbis (and in fact have done some Vorbis developemnt).
That depends on whether or not mpg123 does (and I have had mixed results with this).
AFAIK, Vorbis in its present state is variable bitrate. You may want to ask Monty on the specifics, but from what I have seen, the encoding modes for Vorbis are numbered 0-6, and each has an approximate bitrate, but the bitrate can vary. Is this due to the accuracy of the quantitization? Or is the psychoacoustic model actually dynamic wrt output? Monty?
What I'd really like to see is the ability for the encoder to scan the entire input file (if possible) and tune the encoding tables etc. This could provide for a small file at really good quality without too much extra work.
Kenneth
> What I would do for myself is to have an mp3->ogg converter for the current collection, and then use ogg from then on.
cvs -z9 update -d
cd vorbis-tools # by me
make install
mp3tovorbis [mp3] [Vorbis output file]
Happy? I also wrote vorbize and ogg123. Have fun.
100% agreed. Just convince those politicians at the FCC to accept that they messed up. Most people here will know PAL and NTSC... do we want that to happen again?
The implementation of the receiver programming system is a very minor issue compared to the issue of getting the signal to the receiver in the first place. The big question is: will the present 8-VSB system work? Why not COFDM or even some other technology? There are numerous sources I can point you to, but a Google search can get you lots of useful information easily.
By now you should all know that PNG / MNG is better than GIF and Vorbis is better than MP3 (in both cases, the open format prevails). So where's the better, open format for MPEG-4?
Kenneth (advocating Vorbis for the fifth time on Slashdot)
Vorbis !
Without any further ado, I refer you to my earlier comments, this, which references this.
Bug me for Vorbis Tools 0.5 binaries via email. I've been having trouble with the web-based server I've been trying to use.
Kenneth, Vorbize, Ogg123, and mp3tovorbis author
Everybody talks about MP3 when they talk about music on the Web. MP3 seems ubiquitous. Well, so does Windows. But as was discussed in earlier articles, MP3 has shaky legal standings as purely an audio format, without going into all this copyright junk. So might I refer you to the Linux / BSD of compressed music? It's called Vorbis, and we discussed it on Slashdot in an earlier article (here). I would rant on about how it is better, but I already have. To save you the read unless you want to, I refer you to my earlier comment here.
;)
Vorbis Tools 0.5 is about to go out, as soon as my web server will accept my upload! In the mean time, bother me if you want tarballs. And of course you do
Can you back this up? Spec links? 'cuz that would be cool for Linux to support -- and very useful.
There are more where those came from, but I can't pry them out of the bowels of my head right now...
Using a gif is just inexcusable here. The jpeg format compressed it much better, and have we forgotten about the UNISYS GIF patent issue so quickly?
<rant>
Ever heard of PNG? Just perfect for typical Web images (JPEG is still better for compressing the kinds of images you take from a digital camera). No patents, excellent quality, faster load, better compression, true alpha-channel support, etc. etc. etc...
</rant>