Any sort of steg is vulnerable to "you just have to look for [insert technique that you already know about]". The purpose of steganography is not to make data unfindable, it's just to obfuscate the fact that it's there in the first place. If you know it's there, and you know how to look, finding the data is easy. That's how the extraction programs work, after all.
Mass detection of the presence of steg with unknown techniques usually relies on on statistics over the "normal" types of files. When the LSB of those image files is suddenly nearly random, instead of correlated with nearby pixels, you know something's up, like a zipped, encrypted file jammed into those LSBs. Same with your example; when most program instructions are only 0.01% WIERDX and 2% OTHERA, and this one is oddly 1% WIERDX and 1% OTHERA, you start to wonder.
Steganography is neither encryption nor invisibility.
In theory, this doesn't have to be true. Many types of files do contain real entropy. For instance, for any naturally occurring image, there exist a multitude of other images which could be generated by the same method (eg, taking a photograph of a given lake from a given angle, and then JPEG-compressing it) with some probability distribution. In theory, you could determine that set (or some subset of it, so long as taking any element of that subset gives the same answer) and that probability distribution, apply a reverse arithmetic code the set of possible (encrypted) messages to get the probabilities in line, and then send the corresponding image from the set.
Even someone who suspected the method and was observing your communications for an arbitrary amount of time couldn't prove that those messages were there without breaking the encryption (where "break" in this case means "distinguish from noise").
Thus, if the low order bits of an image were in fact uniformly and independently distributed, then setting them to your message would suffice for steg. (Un?)fortunately, this isn't the case unless you've just applied a noise filter. Now, if you could find all possible statistics on the correlations of these last bitowers, and had a clever algorithm or a lot of compute, then you could generate such a set, but nobody knows how to do something like this. This is the principle of steg programs such as Outguess (which was broken two years ago).
I seriously doubt the government has some uber-leet technology that lets them crack any encryption.
Especially as in that case all those math geeks they're hiring at NSA are a diversion. Of course, the conspiracy theorists wouldn't put this past them.
Encryption can do two things and two things only.
You're leaving things out if you're counting only symmetric crypto, used in a simple way. Crypto can do other useful things, such as allowing Alice to verify (beyond a reasonable doubt) that a document was unchanged, or that Bob or someone with access to Bob's computer has sent it, even though she may not have met Bob. Similarly, she can send Bob a message with reasonable certainty that Eve will not be able to read it passing between their computers, even if she has not met Bob.
There are a number of other applications of encryption, from anonymous secure voting to anonymous (or, if you don't want money laundering and extorion, mostly anonymous) digital cash.
Encryption will not:
3. Prevent the government from taking an interest in you. Certain uses of it may even draw their interest. Staying out of view of larger predators is often the best defense.
Right, of course. You might pull it off using steganography, but if they caught you with that, they'd really be suspicious.
4. Conceal the existence of the link. Often the government only needs to prove Alice talked to Bob on 7/24/02 at 3:24p.
Again, perhaps steg. There are also cryptographic protocols that are believed to be resistant to traffic analysis. IPSEC provides some resistance, and there are more obsessively anonymous systems such as FreeNet. MixMaster does a pretty good job for email.
5. Somewhat OT but something else encryption doesn't do: Allow Alice to share data with Bob while simultaneously preventing Bob from divulging it to Eve. Both #1 and #2 apply. Bonus points if you understand what this scenario applies to.
This is also true, but there are deniable signature schemes, whereby Alice can share data with Bob, who can choose to divulge that data to Eve, but can't prove that it's what you actually sent. If Eve can additionally tap the line, then you have to use data expansion (or a handshake in crypto hardware, if you can pull it off), but you can still render Bob unable to prove which of several messages Alice sent.
If you are a crook or a terrorist, communications are the least of your problems. Your partners in crime and your own mouth are far more dangerous.
Terrorists these days can be pretty zealous, and I would imagine that the chances of them ratting each other out are pretty small. Of course, the goverment may still trace out their networks (your #4), but this would fall under communications being a problem.
I quite like FreeBSD (and on the whole care little for Linux), but I have to say Linux is the clear winner when it comes to managing disk space. It's got LVM, better RAID and several filesystems that are easily resizable (in both directions). So for a fileserver serving up lots of disk space, I'd have to recommend Linux.
Perhaps, but the question was whether LVM enables live dumps via snapshots. You might note that BSD has GEOM, which covers many of the features of LVM, and that if you're using LVM or GEOM, you probably only need to resize in one direction.
Perhaps you can help shed some light on this for me. Why in the world is a ToH backup scheme advocated by anyone?
Well, I don't use it myself since I back up to WORM media (CD-Rs for small disks and DVD+Rs for big ones). As far as I can tell, ToH is designed to give you an efficient (both in number of tapes and amount of time) means to back up a disk with roughly exponentially distant checkpoints. The assumption of the original ToH algorithm is that your backups are full and your tapes are unlikely to fail, and that you are backing up in case you should need the contents of a given drive as of some date in the past, due to corruption that you didn't notice. Should a backup tape fail, you still have the other tapes with full backups.
I'm not sure if it still has merit when applied incrementally, but the dump man page advocates it, and I assume they know what they're talking about. The main disadvantage is that if you lose a tape, all dumps incremental from that tape become useless; but the tapes which are more likely to fail (due to being used more) are the ones with the smallest increment.
Having two backup tapes as you suggest is not incredibly efficient by this metric, because the backup depth you get is poor for the number of tapes used.
As for the backup software, I'm not sure what I can recomend. rsync would work well if you have the backup drives in a RAID0 (so rsync sees the whole thing at once), but I don't think there's a way to make rsync work on 1/4 of the data-set at a time.
So, at that, I would recomend dump, but that is a no-no on Linux, which I imagine you are using...
If he's using FreeBSD, he can dump easily. In fact, he can safely dump a live filesystem with dump -L. FreeBSD is an excellent solution for a fileserver, and it sounds like he does want a fileserver. I think with LVM you can do a similar thing on Linux, but I'm not sure (as I use FreeBSD for my fileserver).
That leaves plain old "tar", which will work, but has it's limitations. With rsync you only need to copy the differences, but with tar/dump you need to write the whole 1TB every time you want to back-up everything. Unless there's an rsync trick I don't know of, you're stuck with a very slow backup.
Dump supports incremental dumps, using, say, a Towers of Hanoi strategy. So does GNU tar, in fact (check out the -g / -G options).
Another possibility is Plan 9. If he's willing to toss in a cheap motherboard and use Plan 9 for his backup system (a good choice if he's willing to learn to use it), he can use their Venti/Fossil archival system. This is a coalescing WORM (Write Once, Read Many) filesystem / storage driver. Assuming that his movies don't change very often, he can use Venti to only write the blocks that change, while keeping all of his backups around for the life of the drives (which he would presumably RAID together).
Perhaps this is more of a full-fledged backup system than "home use". If you don't care enough to spend that kind of time+money, I would recommend incremental dump and a bunch of hard drives.
Portupgrade neither necessary, nor sufficient
on
FreeBSD Moves to X.Org
·
· Score: 5, Informative
Too bad that you can't upgrade an existing system without using portupgrade, though. I hate to see portupgrade drifting closer and closer to being a required part of the system.
No. It says in the post:
To upgrade, you must remove your XFree86 ports and install the xorg ports. It couldn't be done with portupgrade, unfortunately, because we are keeping the XFree86 ports around.
In other words, you cannot automatically upgrade all the ports using portupgrade.
As for portupgrade becoming necessary, I don't know what you're talking about. While I use it (to keep my -CURRENT current), this is merely for convenience: I haven't seen any ports that depend on it.
Hope you're saving for your child's education,....even if you don't have a child yet.
Actually, the current state of tuition+financial aid makes saving for college useful to only the richest families. Since your savings count against financial aid dollar for dollar, only if you plan to receive no financial aid does it benefit you to save.
I actually would like to add one more bullet point to this list, which Microsoft in particular seems to get wrong a lot.
Have command buttons that describe an action, whenever possible! "Save" and "Don't Save" is one hell of a lot better than "OK" and "Cancel"! If you name the buttons after actions, the user doesn't even have to read the dialog most of the time.
No funny key combinations. Repeat, no funny key combinations. Everything must be accessable through the menus. Yeah, I know you want to be able to bind any control key combination to any function. Don't. It doesn't really speed up use anyway. Read Apple's old studies on this. People blank out on the 500ms they're thinking about the control key combo.
As a person who is (mildly, for now) affected by RSI, I must disagree with this, at least for power users. I do most of my work (at least, when I'm on an operating system which allows it) without the mouse, and generally learn the keyboard interface for a new tool as quickly as possible. This is because I find it both faster and easier on the wrists to use the keyboard for most of my work (programming). Unless I'm designing a human interface myself, I have very little use for the mouse because programming requires lots of text input and no mouse input.
For the occasional thing that the novice would use a menu for, I probaly have my hands on the keyboard already, and so even if there were half a second delay to think up the key combo, it would still be more convenient than the mouse. (Usually, I bind intuitive key combos so that this isn't an issue.)
For a window manager, I use Ion, which entirely violates your usability thesis: most of its features cannot be accessed using the mouse without a good deal of scripting, but on the other hand, almost all of its features can be accessed extremely quickly from the keyboard. While its model is not so intuitive as the one pushed by Windows, and it takes some getting used to, it is much easier and much more comfortable to use once one is used to it (and in my case, has customized the settings).
As a result of its terrible practices of hiding mouse interfaces and indicators, and its preferred model leaving out things like overlapping windows, Ion wastes very little screen space, and one can navigate to a given window with only one keystroke (two if it's hidden or on a different desktop), which once you've been using it for a month or so is much faster than one mouse click.
Thanks to Firefox's interactive searching and generally good keyboard navigation capabilities, I don't even have to use mouse there (although I often do anyway; for web browsing, it's just as fast as the keyboard).
I must say that I'm an Apple user also, and that I like their (mostly, see rant elsewhere) transparent metaphors and simple configuration, and I often find Open Source Software to be lacking in these categories. But you must remember that in general it is written by programmers, for programmers, and not for novices. If you're going to be using a tool fairly often, the most obvious interface might not be the best one.
B) You can go to a Mac board and find numerous places where Apple ignores/violates thier own HIG.
They are the Human Interface Guidelines, not Human Interface Laws. No one document can describe with absolute certainty how each situation must be handled. A good designer will take the guidelines as a starting point, and apply them to an overall vision as appropriate.
While I am a Mac user and like most of Apple's designs, methinks you are placing too much faith in Apple's designers. They didn't get into the Interface Hall of Shame for nothing.
They are just as guilty as anyone else of making things look shiny at the expense of usability. There are many other examples: for instance, in the OS X help system, if the toolbar is hidden, so is the search field. It's pretty confusing for a new user to see "enter your question in the field above" when there is no field there.
They have also given several applications a brushed-metal appearance that do not warrant it (cough Finder), and in many cases this is ugly, a waste of screen space, and a detriment to usability. Brushed metal is only for windows that represent an interface to a specific piece of hardware, and IMHO should never have been there in the first place.
The list goes on: AppleWorks is the epitome of a "bad Carbon port" and trashes several parts of the HIG; iChat, while shiny, is very difficult to use for normal text chats. I use Adium instead: it has its own usability problems, but since it's open source, I can fix those (and have done so in several cases). It also doesn't waste so much screen space as iChat. iCal is terrible: slow, kludgy and full of nonstandard controls.
The list goes on. I still prefer Apple on the whole to either XP or *nix for usability reasons, but they're far from perfect...
How many people were running servers before that now couldn't?
I bet dollars to doughnuts most schools out there specifically forbid that due to porn and all the other crap people would use it for. My school had a clause that the Internet was to be used for academic purposes only and any violations were grounds for revoking the priveledge to use it. It is THEIR pipe and they can dictate how people use it.
While this is entirely true, many schools (Harvard included) have a fair amount of red tape to cut through to get ports opened, if this is even possible. When developing internet-based applications, it starts to suck when you can't deliver mail (because they block port 25).
Example: my working group at Harvard needed a bunch (say 20, or more for stress-testing) of convenient email accounts for a project -- where convenient means close enough to make our tests not take all day, and on a server that doesn't mind getting hammered during stress-testing, and which can be cleared or shut down at the drop of a shell command (truncate mbox style) when things go bad. Unfortunately, the network blocked port 25 globally because of mailworms, and the admins refused to open it. They instead suggested that we route through their servers, but we didn't think they'd be happy getting several hundred messages a minute or more during tests. Furthermore, even the mail servers cannot deliver to just any box on the network. We ended up reconfiguring, extending the code to allow sending to port 2525, and the like... but we're still in trouble if we want to test accounts on multiple servers for propagation delays or the like: they can't deliver to our test server, due to the block, unless you have the necessary root access to redirect the mailer daemon.
The group I'm in isn't alone in this regard; there have been several complaints about network services blocked, which may not have appeared to have academic uses, but were still getting in the way of research.
Last I heard, there are no publically known attacks on AES of 128, 192 or 256 bits which solve for the key or a given plaintext faster than brute force, given any amount of data (be it chosen plaintext, chosen ciphertext, or whatever). A French mathematician claimed to have a 2^224 work attack on 256-bit AES, but it's been disputed, and you can't exactly test it out. This was as of several months ago, though, I don't know its status now.
You only hav 50 gigs of porn? I have a beowulf cluster of beowulf clusers of RAID 0+1 disks in order to store all of mine -- and Im about ready to upgrade.
He didn't say he could fit them on one disk. That's what spindles are for.
I suggest you also take a look at Haskell, if you have not done so already. Haskell completely does away with side effects, performing IO operations in a controlled manner through the use of a mathematical concept known as monads. It also adds lazy evaluation. This has some nice capabilities, such as being able to express concepts as infinite lists, which are then only evaluated as far as necessary.
Yes, lazy evaluation can be done in OCaml too, but the syntax is uglier. You use the lazy module.
I have used OCaml a bit, and one of the things that most irritated me about it was its complete lack of operator overloading; having to use "+" for integer addition, and ".+" for floating point addition, just seems so wrong to me. Haskell uses type classes to allow ad-hoc polymorphism in a controlled manner.
Haskell's solution to the problem is ingenius, but unfortunately very often requires tagging of those classes, which is slow.
One advantage that OCaml has over Haskell is speed; current Haskell implementations produce code somewhere between imperitive compiled languages and interpreted languages. However, there is another language, called Clean, that is nearly identical to Haskell in many ways, but claims to have speed comparable to C.
Looks like Clean has a more powerful set generator than Haskell (it's basically SQL queries), a different class system, and rather different syntax. But it could be useful, I'll check it out.
You're right. Assembly is getting less and less useful. It's still useful if your chip has to drive some interface, though: I had to use it on a PIC chip where one particular processing loop had to get a fair amount done and had to take exactly 26 clock cycles every time, because it was also driving the infrared LED and there was no pulse-width modulator.
Yawn. My ASUS motherboard (model P4P800 I think) has gigabit ethernet, serial ATA, optical spdif audio, DDR-400 RAM and an 800MHz bus. I have a hyperthreading P4/3GHz chip in there - and my current desktop setup is about a year old. Way to party on with 2003, Apple.
Yes. Their design is almost a year old. That's why we have an article about the next round here. However, that wasn't my point. My point was that my parent had got a cheap-ass motherboard and was doing price comparisons with the G5.
Do enlighten us with your assembly programming prowess? Unless you can - you should not care about such features unless you're playing games. Which is doubly pointless with the Mac.. uh.. because there are no games for the Mac.
Well, there's no counterstrike, but there is UT2004, Warcraft III, and Halo. That's just off the top of my head, it seems that the majority of new high-end games get released for Mac, Windows and often Linux at about the same time. Personally, I play classic games anyway (Starcraft, Alpha Centauri), and don't worry about processing power. That's probably why I know very little about video cards:-). The only thing I've really used on the 5200FX is the dual-head support.
And what I was referring to was raytracing and graphic design. They're speeded up immensely by a vector unit; just compare render times on the same G4 of POVRay G4 engine and G3 engine (which doesn't use the vector unit). My family has a G5/1.8 SP, which is mostly wasted cpu power, but I queue renderjobs and other CPU intensive stuff, since my computer at school sucks.
I bought a 120GB Western Digital SATA drive. Last year. Yawn.
Yeah. And it was probably more expensive than your grandparent's 40GB EIDE. I think the Macs come standard with 160GB now, and can be upgraded up to 250GB, but that's beside the point.
I mean - come on. Wake up. I own (and love) a Powerbook G4 because it was the best integrated mobile solution - and even I would buy nothing except the bare machine from Apple. They wanted to charge $100 for a 256MB memory upgrade that was $59 online for a brand-name part with a lifetime guarantee. Any system integrator - including Dell and Apple will take you to the cleaners at each and every opportunity that they have. They lure customers with a bare-bones base price and massively overcharge for periperals (I mean - come on - they think 256MB is usable for a workstation? I think not).
You're right. They vastly overcharge for memory, which is why I don't get memory from them. Ditto for hard drives. I personally buy Apple because I like their OS. But you entirely missed my point, which was that my parent was out of line comparing his $500 workstation to a G5, because almost every one of his parts was inferior.
Sorry, take off your rose colored glasses (and earplugs), the G5 is very loud.
No. It's quite a bit louder than my sff fileserver, or something underpowered like an iMac, but if you compare to other workstations, it's much quieter. Except for one who built his own box and thinks that two baffled case fans will cover for his 10 drives full of bootleg movies.
Plus, the design isn't that great. We replaced the cd burner that came with one of our dual G5s with a dvd burner from a dual g4, and it doesn't open the little slider door correctly. (Plus it was a bitch to install because the cabling is all tight and tucked under a divider)
Oh. Yeah, I was referring to the hard drive. The optical drives are a bitch to replace.
I'd like to see some benchmarks on performance there...
Here's what you're paying for on the mac:
mobo... $54 The Mac mobo supports pci-x, serial ata and up to 1ghz fsb. It can also take up to 8 gigs of DDR-400 RAM if you want/need it. Also, what about the gigabit ethernet, optical spdif audio, bluetooth, etc?
Entry level gamers video card... $70 The Mac video card, a GeForce FX 5200, supports two monitors and is rather faster than that entry level card. Still, it's not that much more expensive.
cpu... $138 The G5 is probably not as fast, but it has a faster fsb and a comparable vector processing unit. I don't know about you, but in most of the stuff I do, the fsb and vector unit are more important than raw crunching here (not to mention the video card). For compilation, the Athlon would probably win.
Ram...$87 Same as you get through Apple, but they mark it up.
hard drive... $59 Apple is using larger drives (yours is only 40gb) and they're SATA rather than IDE... should give you a faster transfer rate there.
DVD-CDRW thingie... $72 Yep, can't beat you there, I have one of those and it's quite a nice drive. Apple is using an older Pioneer drive, which is also unfortunately more expensive.
Case... $40 The G5 case has you beat pretty soundly. It's higher quality if heavier material. It's extremely quiet (to people with a normal hearing range, it's a bit leaky in the 19k area). It's trivial to install drives: open the case door, slide the drive in, fold in the connectors (no cables to mess with). Similarly with RAM. There aren't as many drive bays, though, but Apple is supposedly going to address this in the next revision.
Any sort of steg is vulnerable to "you just have to look for [insert technique that you already know about]". The purpose of steganography is not to make data unfindable, it's just to obfuscate the fact that it's there in the first place. If you know it's there, and you know how to look, finding the data is easy. That's how the extraction programs work, after all.
Mass detection of the presence of steg with unknown techniques usually relies on on statistics over the "normal" types of files. When the LSB of those image files is suddenly nearly random, instead of correlated with nearby pixels, you know something's up, like a zipped, encrypted file jammed into those LSBs. Same with your example; when most program instructions are only 0.01% WIERDX and 2% OTHERA, and this one is oddly 1% WIERDX and 1% OTHERA, you start to wonder.
Steganography is neither encryption nor invisibility.
In theory, this doesn't have to be true. Many types of files do contain real entropy. For instance, for any naturally occurring image, there exist a multitude of other images which could be generated by the same method (eg, taking a photograph of a given lake from a given angle, and then JPEG-compressing it) with some probability distribution. In theory, you could determine that set (or some subset of it, so long as taking any element of that subset gives the same answer) and that probability distribution, apply a reverse arithmetic code the set of possible (encrypted) messages to get the probabilities in line, and then send the corresponding image from the set.
Even someone who suspected the method and was observing your communications for an arbitrary amount of time couldn't prove that those messages were there without breaking the encryption (where "break" in this case means "distinguish from noise").
Thus, if the low order bits of an image were in fact uniformly and independently distributed, then setting them to your message would suffice for steg. (Un?)fortunately, this isn't the case unless you've just applied a noise filter. Now, if you could find all possible statistics on the correlations of these last bitowers, and had a clever algorithm or a lot of compute, then you could generate such a set, but nobody knows how to do something like this. This is the principle of steg programs such as Outguess (which was broken two years ago).
It is 48 bit addressing, but we're not addressing bytes, we're addressing 512-byte blocks. So the 48-bit ATA standard can address 144 petabytes.
Please note that's 144 decimal petabytes, not binary petabytes. It would be 128 binary petabytes.
I seriously doubt the government has some uber-leet technology that lets them crack any encryption.
Especially as in that case all those math geeks they're hiring at NSA are a diversion. Of course, the conspiracy theorists wouldn't put this past them.
Encryption can do two things and two things only.
You're leaving things out if you're counting only symmetric crypto, used in a simple way. Crypto can do other useful things, such as allowing Alice to verify (beyond a reasonable doubt) that a document was unchanged, or that Bob or someone with access to Bob's computer has sent it, even though she may not have met Bob. Similarly, she can send Bob a message with reasonable certainty that Eve will not be able to read it passing between their computers, even if she has not met Bob.
There are a number of other applications of encryption, from anonymous secure voting to anonymous (or, if you don't want money laundering and extorion, mostly anonymous) digital cash.
Encryption will not:
3. Prevent the government from taking an interest in you. Certain uses of it may even draw their interest. Staying out of view of larger predators is often the best defense.
Right, of course. You might pull it off using steganography, but if they caught you with that, they'd really be suspicious.
4. Conceal the existence of the link. Often the government only needs to prove Alice talked to Bob on 7/24/02 at 3:24p.
Again, perhaps steg. There are also cryptographic protocols that are believed to be resistant to traffic analysis. IPSEC provides some resistance, and there are more obsessively anonymous systems such as FreeNet. MixMaster does a pretty good job for email.
5. Somewhat OT but something else encryption doesn't do: Allow Alice to share data with Bob while simultaneously preventing Bob from divulging it to Eve. Both #1 and #2 apply. Bonus points if you understand what this scenario applies to.
This is also true, but there are deniable signature schemes, whereby Alice can share data with Bob, who can choose to divulge that data to Eve, but can't prove that it's what you actually sent. If Eve can additionally tap the line, then you have to use data expansion (or a handshake in crypto hardware, if you can pull it off), but you can still render Bob unable to prove which of several messages Alice sent.
If you are a crook or a terrorist, communications are the least of your problems. Your partners in crime and your own mouth are far more dangerous.
Terrorists these days can be pretty zealous, and I would imagine that the chances of them ratting each other out are pretty small. Of course, the goverment may still trace out their networks (your #4), but this would fall under communications being a problem.
I quite like FreeBSD (and on the whole care little for Linux), but I have to say Linux is the clear winner when it comes to managing disk space. It's got LVM, better RAID and several filesystems that are easily resizable (in both directions). So for a fileserver serving up lots of disk space, I'd have to recommend Linux.
Perhaps, but the question was whether LVM enables live dumps via snapshots. You might note that BSD has GEOM, which covers many of the features of LVM, and that if you're using LVM or GEOM, you probably only need to resize in one direction.
Perhaps you can help shed some light on this for me. Why in the world is a ToH backup scheme advocated by anyone?
Well, I don't use it myself since I back up to WORM media (CD-Rs for small disks and DVD+Rs for big ones). As far as I can tell, ToH is designed to give you an efficient (both in number of tapes and amount of time) means to back up a disk with roughly exponentially distant checkpoints. The assumption of the original ToH algorithm is that your backups are full and your tapes are unlikely to fail, and that you are backing up in case you should need the contents of a given drive as of some date in the past, due to corruption that you didn't notice. Should a backup tape fail, you still have the other tapes with full backups.
I'm not sure if it still has merit when applied incrementally, but the dump man page advocates it, and I assume they know what they're talking about. The main disadvantage is that if you lose a tape, all dumps incremental from that tape become useless; but the tapes which are more likely to fail (due to being used more) are the ones with the smallest increment.
Having two backup tapes as you suggest is not incredibly efficient by this metric, because the backup depth you get is poor for the number of tapes used.
As for the backup software, I'm not sure what I can recomend. rsync would work well if you have the backup drives in a RAID0 (so rsync sees the whole thing at once), but I don't think there's a way to make rsync work on 1/4 of the data-set at a time.
So, at that, I would recomend dump, but that is a no-no on Linux, which I imagine you are using...
If he's using FreeBSD, he can dump easily. In fact, he can safely dump a live filesystem with dump -L. FreeBSD is an excellent solution for a fileserver, and it sounds like he does want a fileserver. I think with LVM you can do a similar thing on Linux, but I'm not sure (as I use FreeBSD for my fileserver).
That leaves plain old "tar", which will work, but has it's limitations. With rsync you only need to copy the differences, but with tar/dump you need to write the whole 1TB every time you want to back-up everything. Unless there's an rsync trick I don't know of, you're stuck with a very slow backup.
Dump supports incremental dumps, using, say, a Towers of Hanoi strategy. So does GNU tar, in fact (check out the -g / -G options).
Another possibility is Plan 9. If he's willing to toss in a cheap motherboard and use Plan 9 for his backup system (a good choice if he's willing to learn to use it), he can use their Venti/Fossil archival system. This is a coalescing WORM (Write Once, Read Many) filesystem / storage driver. Assuming that his movies don't change very often, he can use Venti to only write the blocks that change, while keeping all of his backups around for the life of the drives (which he would presumably RAID together).
Perhaps this is more of a full-fledged backup system than "home use". If you don't care enough to spend that kind of time+money, I would recommend incremental dump and a bunch of hard drives.
Too bad that you can't upgrade an existing system without using portupgrade, though. I hate to see portupgrade drifting closer and closer to being a required part of the system.
No. It says in the post:
To upgrade, you must remove your XFree86 ports and install the xorg
ports. It couldn't be done with portupgrade, unfortunately, because we
are keeping the XFree86 ports around.
In other words, you cannot automatically upgrade all the ports using portupgrade.
As for portupgrade becoming necessary, I don't know what you're talking about. While I use it (to keep my -CURRENT current), this is merely for convenience: I haven't seen any ports that depend on it.
They're stealing.
No. They're infringing copyright. Theft is a criminal offense.
Hope you're saving for your child's education, ....even if you don't have a child yet.
Actually, the current state of tuition+financial aid makes saving for college useful to only the richest families. Since your savings count against financial aid dollar for dollar, only if you plan to receive no financial aid does it benefit you to save.
I actually would like to add one more bullet point to this list, which Microsoft in particular seems to get wrong a lot.
Have command buttons that describe an action, whenever possible! "Save" and "Don't Save" is one hell of a lot better than "OK" and "Cancel"! If you name the buttons after actions, the user doesn't even have to read the dialog most of the time.
No funny key combinations. Repeat, no funny key combinations. Everything must be accessable through the menus. Yeah, I know you want to be able to bind any control key combination to any function. Don't. It doesn't really speed up use anyway. Read Apple's old studies on this. People blank out on the 500ms they're thinking about the control key combo.
As a person who is (mildly, for now) affected by RSI, I must disagree with this, at least for power users. I do most of my work (at least, when I'm on an operating system which allows it) without the mouse, and generally learn the keyboard interface for a new tool as quickly as possible. This is because I find it both faster and easier on the wrists to use the keyboard for most of my work (programming). Unless I'm designing a human interface myself, I have very little use for the mouse because programming requires lots of text input and no mouse input.
For the occasional thing that the novice would use a menu for, I probaly have my hands on the keyboard already, and so even if there were half a second delay to think up the key combo, it would still be more convenient than the mouse. (Usually, I bind intuitive key combos so that this isn't an issue.)
For a window manager, I use Ion, which entirely violates your usability thesis: most of its features cannot be accessed using the mouse without a good deal of scripting, but on the other hand, almost all of its features can be accessed extremely quickly from the keyboard. While its model is not so intuitive as the one pushed by Windows, and it takes some getting used to, it is much easier and much more comfortable to use once one is used to it (and in my case, has customized the settings).
As a result of its terrible practices of hiding mouse interfaces and indicators, and its preferred model leaving out things like overlapping windows, Ion wastes very little screen space, and one can navigate to a given window with only one keystroke (two if it's hidden or on a different desktop), which once you've been using it for a month or so is much faster than one mouse click.
Thanks to Firefox's interactive searching and generally good keyboard navigation capabilities, I don't even have to use mouse there (although I often do anyway; for web browsing, it's just as fast as the keyboard).
I must say that I'm an Apple user also, and that I like their (mostly, see rant elsewhere) transparent metaphors and simple configuration, and I often find Open Source Software to be lacking in these categories. But you must remember that in general it is written by programmers, for programmers, and not for novices. If you're going to be using a tool fairly often, the most obvious interface might not be the best one.
B) You can go to a Mac board and find numerous places where Apple ignores/violates thier own HIG.
They are the Human Interface Guidelines, not Human Interface Laws. No one document can describe with absolute certainty how each situation must be handled. A good designer will take the guidelines as a starting point, and apply them to an overall vision as appropriate.
While I am a Mac user and like most of Apple's designs, methinks you are placing too much faith in Apple's designers. They didn't get into the Interface Hall of Shame for nothing.
They are just as guilty as anyone else of making things look shiny at the expense of usability. There are many other examples: for instance, in the OS X help system, if the toolbar is hidden, so is the search field. It's pretty confusing for a new user to see "enter your question in the field above" when there is no field there.
They have also given several applications a brushed-metal appearance that do not warrant it (cough Finder), and in many cases this is ugly, a waste of screen space, and a detriment to usability. Brushed metal is only for windows that represent an interface to a specific piece of hardware, and IMHO should never have been there in the first place.
The list goes on: AppleWorks is the epitome of a "bad Carbon port" and trashes several parts of the HIG; iChat, while shiny, is very difficult to use for normal text chats. I use Adium instead: it has its own usability problems, but since it's open source, I can fix those (and have done so in several cases). It also doesn't waste so much screen space as iChat. iCal is terrible: slow, kludgy and full of nonstandard controls.
The list goes on. I still prefer Apple on the whole to either XP or *nix for usability reasons, but they're far from perfect...
How many people were running servers before that now couldn't?
I bet dollars to doughnuts most schools out there specifically forbid that due to porn and all the other crap people would use it for. My school had a clause that the Internet was to be used for academic purposes only and any violations were grounds for revoking the priveledge to use it. It is THEIR pipe and they can dictate how people use it.
While this is entirely true, many schools (Harvard included) have a fair amount of red tape to cut through to get ports opened, if this is even possible. When developing internet-based applications, it starts to suck when you can't deliver mail (because they block port 25).
Example: my working group at Harvard needed a bunch (say 20, or more for stress-testing) of convenient email accounts for a project -- where convenient means close enough to make our tests not take all day, and on a server that doesn't mind getting hammered during stress-testing, and which can be cleared or shut down at the drop of a shell command (truncate mbox style) when things go bad. Unfortunately, the network blocked port 25 globally because of mailworms, and the admins refused to open it. They instead suggested that we route through their servers, but we didn't think they'd be happy getting several hundred messages a minute or more during tests. Furthermore, even the mail servers cannot deliver to just any box on the network. We ended up reconfiguring, extending the code to allow sending to port 2525, and the like... but we're still in trouble if we want to test accounts on multiple servers for propagation delays or the like: they can't deliver to our test server, due to the block, unless you have the necessary root access to redirect the mailer daemon.
The group I'm in isn't alone in this regard; there have been several complaints about network services blocked, which may not have appeared to have academic uses, but were still getting in the way of research.
Yeah. But where is the auto-update feature for Firefox á la Windows XP, OS X, YAST or Up2date?
The French word à is spelled with a grave accent, rather than an acute one. If you're going to spell things like a smartass, at least get them right.
grass?
Last I heard, there are no publically known attacks on AES of 128, 192 or 256 bits which solve for the key or a given plaintext faster than brute force, given any amount of data (be it chosen plaintext, chosen ciphertext, or whatever). A French mathematician claimed to have a 2^224 work attack on 256-bit AES, but it's been disputed, and you can't exactly test it out. This was as of several months ago, though, I don't know its status now.
All these stories about people dding over their hard drives. Set the securelevel! you can't dd over memory or mounted drives that way.
You only hav 50 gigs of porn? I have a beowulf cluster of beowulf clusers of RAID 0+1 disks in order to store all of mine -- and Im about ready to upgrade.
He didn't say he could fit them on one disk. That's what spindles are for.
You mean to 1970?
I suggest you also take a look at Haskell, if you have not done so already. Haskell completely does away with side effects, performing IO operations in a controlled manner through the use of a mathematical concept known as monads. It also adds lazy evaluation. This has some nice capabilities, such as being able to express concepts as infinite lists, which are then only evaluated as far as necessary.
Yes, lazy evaluation can be done in OCaml too, but the syntax is uglier. You use the lazy module.
I have used OCaml a bit, and one of the things that most irritated me about it was its complete lack of operator overloading; having to use "+" for integer addition, and ".+" for floating point addition, just seems so wrong to me. Haskell uses type classes to allow ad-hoc polymorphism in a controlled manner.
Haskell's solution to the problem is ingenius, but unfortunately very often requires tagging of those classes, which is slow.
One advantage that OCaml has over Haskell is speed; current Haskell implementations produce code somewhere between imperitive compiled languages and interpreted languages. However, there is another language, called Clean, that is nearly identical to Haskell in many ways, but claims to have speed comparable to C.
Looks like Clean has a more powerful set generator than Haskell (it's basically SQL queries), a different class system, and rather different syntax. But it could be useful, I'll check it out.
Maybe one of the olde-tymers can help us here..... ... says #16057 to #1693...
You're right. Assembly is getting less and less useful. It's still useful if your chip has to drive some interface, though: I had to use it on a PIC chip where one particular processing loop had to get a fair amount done and had to take exactly 26 clock cycles every time, because it was also driving the infrared LED and there was no pulse-width modulator.
Yawn. My ASUS motherboard (model P4P800 I think) has gigabit ethernet, serial ATA, optical spdif audio, DDR-400 RAM and an 800MHz bus. I have a hyperthreading P4/3GHz chip in there - and my current desktop setup is about a year old. Way to party on with 2003, Apple.
:-). The only thing I've really used on the 5200FX is the dual-head support.
Yes. Their design is almost a year old. That's why we have an article about the next round here. However, that wasn't my point. My point was that my parent had got a cheap-ass motherboard and was doing price comparisons with the G5.
Do enlighten us with your assembly programming prowess? Unless you can - you should not care about such features unless you're playing games. Which is doubly pointless with the Mac.. uh.. because there are no games for the Mac.
Well, there's no counterstrike, but there is UT2004, Warcraft III, and Halo. That's just off the top of my head, it seems that the majority of new high-end games get released for Mac, Windows and often Linux at about the same time. Personally, I play classic games anyway (Starcraft, Alpha Centauri), and don't worry about processing power. That's probably why I know very little about video cards
And what I was referring to was raytracing and graphic design. They're speeded up immensely by a vector unit; just compare render times on the same G4 of POVRay G4 engine and G3 engine (which doesn't use the vector unit). My family has a G5/1.8 SP, which is mostly wasted cpu power, but I queue renderjobs and other CPU intensive stuff, since my computer at school sucks.
I bought a 120GB Western Digital SATA drive. Last year. Yawn.
Yeah. And it was probably more expensive than your grandparent's 40GB EIDE. I think the Macs come standard with 160GB now, and can be upgraded up to 250GB, but that's beside the point.
I mean - come on. Wake up. I own (and love) a Powerbook G4 because it was the best integrated mobile solution - and even I would buy nothing except the bare machine from Apple. They wanted to charge $100 for a 256MB memory upgrade that was $59 online for a brand-name part with a lifetime guarantee. Any system integrator - including Dell and Apple will take you to the cleaners at each and every opportunity that they have. They lure customers with a bare-bones base price and massively overcharge for periperals (I mean - come on - they think 256MB is usable for a workstation? I think not).
You're right. They vastly overcharge for memory, which is why I don't get memory from them. Ditto for hard drives. I personally buy Apple because I like their OS. But you entirely missed my point, which was that my parent was out of line comparing his $500 workstation to a G5, because almost every one of his parts was inferior.
Sorry, take off your rose colored glasses (and earplugs), the G5 is very loud.
No. It's quite a bit louder than my sff fileserver, or something underpowered like an iMac, but if you compare to other workstations, it's much quieter. Except for one who built his own box and thinks that two baffled case fans will cover for his 10 drives full of bootleg movies.
Plus, the design isn't that great. We replaced the cd burner that came with one of our dual G5s with a dvd burner from a dual g4, and it doesn't open the little slider door correctly. (Plus it was a bitch to install because the cabling is all tight and tucked under a divider)
Oh. Yeah, I was referring to the hard drive. The optical drives are a bitch to replace.
I'd like to see some benchmarks on performance there...
... $54
... $70
... $138
...$87
... $59
... $72
... $40
Here's what you're paying for on the mac:
mobo
The Mac mobo supports pci-x, serial ata and up to 1ghz fsb. It can also take up to 8 gigs of DDR-400 RAM if you want/need it. Also, what about the gigabit ethernet, optical spdif audio, bluetooth, etc?
Entry level gamers video card
The Mac video card, a GeForce FX 5200, supports two monitors and is rather faster than that entry level card. Still, it's not that much more expensive.
cpu
The G5 is probably not as fast, but it has a faster fsb and a comparable vector processing unit. I don't know about you, but in most of the stuff I do, the fsb and vector unit are more important than raw crunching here (not to mention the video card). For compilation, the Athlon would probably win.
Ram
Same as you get through Apple, but they mark it up.
hard drive
Apple is using larger drives (yours is only 40gb) and they're SATA rather than IDE... should give you a faster transfer rate there.
DVD-CDRW thingie
Yep, can't beat you there, I have one of those and it's quite a nice drive. Apple is using an older Pioneer drive, which is also unfortunately more expensive.
Case
The G5 case has you beat pretty soundly. It's higher quality if heavier material. It's extremely quiet (to people with a normal hearing range, it's a bit leaky in the 19k area). It's trivial to install drives: open the case door, slide the drive in, fold in the connectors (no cables to mess with). Similarly with RAM. There aren't as many drive bays, though, but Apple is supposedly going to address this in the next revision.