Domain: kernelthread.com
Stories and comments across the archive that link to kernelthread.com.
Comments · 173
-
Re:Backup on Mac OS X1. MacOS X has come with bash since 10.0 in
/bin/bash. It wasn't the default shell until 10.3.2. tar will not pick up HFS forks. Resource forks are somewhat more rare in Mac OS X, but they're still there and some programs won't work without them. Finder forks are everywhere in Mac OS X, and while they're not critical, Mac users refused to use a backup system I provided when it did not preserve finder forks.
You can convert HFS resource forks into regular directories/files that will be picked up with tar/rsync/cpio/whatever. Resource forks can be accessed with the syntax "file/rsrc" or "file/..namedFork/rsrc". You can then copy the resource fork into a file called "._file" parallel to "file" and it will be preserved. This is how resource forks are handled on UFS, but it works on UFS and HFS.
So you can do "mv file/..namedFork/rsrc
._file" to prepare file for backup by tar. Put it in a script with a "find" command and you can convert an entire filesystem. (Obviously, do your experimentation somewhere where you don't care if you break your file system.)Aliases are files with zero-length data forks and the alias information in the resource fork. If you preserve resource forks in one of the above manners, you preserve aliases. Otherwise, you just get regular empty files. I don't know how relevant this is for a backup/archival system as aliases usually break when you move them between systems due to differing volume IDs.
Unfortunately, it's not possible to access the finder fork (creator, type) from the command line using standard utilities. If you want something that also preserves finder forks, it's possible to create, mount and manipulate HFS disk images (.dmg) from the command line using utilities supplied with Mac OS X. The commands you use are hdid, hdiutil and ditto. This is a PITA, but I just found someone who automated it: http://www.kernelthread.com/mac/apme/archive/
Unfortunately, you can't access dmgs using standard utilities on other platforms, so this method is of limited usefulness. One of the main points of using tar (for me at least) is cross-platform compatibility: I need to access these files on non-Mac OS X systems (like a Solaris box or my NetBSD/SPARC machine, platforms that commercial vendors are unlikely to port to) but I would also prefer to have the metadata preserved when moving between Mac OS X systems. Other reasons to use tar are that (1) tar archives will remain accessible virtually forever due to their ubiquity (whereas an esoteric backup program probably won't have a version for OSes ten years in the future) and (2) tar comes standard with MacOS X, so your backup system will always work (whereas you may have to wait for your backup vendor to release a new version of their program for 10.4, 10.5, etc., assuming the company exists at that time, but if 10.4 introduces some incompatibility in a script I wrote, I can fix that myself in minutes), and the final reason for using standard command-line utilities is (3) flexibility: you can do anything from any kind of incremental schedule to simulating filesystem snapshots, selectively choosing which files to back up, how often and where and automating the entire process so it's completely transparent to your users.
Back in the days of 10.0, I had a long list of problems with Mac OS X that kept me from using it as a serious Unix system. Some of these were relatively minor and esoteric problems that I doubt many others encountered. Amazingly, each one of these except one has been fixed by 10.3. The only remaining issue I have with Mac OS X is that I can't access finder forks using POSIX APIs. If someone could rectify this, that would be really nice
:) -
Excellent free intro to OS X for Linux/UNIX users
Amit Singh of the IBM Almaden Research Center has written in in-depth technical introduction to Mac OS X, entitled What is Mac OS X? Intended for an audience of Linux and UNIX users, the paper is available here (and covered in this previous slashdot article.
It does a fabulous job of explaining the major differences between Mac OS X and Linux and other UNIX variants.
Every time anyone has ever come to me and said "why can't do X, Y. or Z on OS X?" or "how come I don't have tool X?" or "why does Y behave in this fashion?", there is always a solution or an answer. You make it seem as if OS X is a mystery, and no one knows how it works. There is plenty of information out there, and obscurity isn't the primary place OS X gets its security: it's through good design and basically all services being shut off out of the box, and the fact that security and OS updates are easy for anyone to install without having to keep track of every single security issue out there, and without breaking things every time you patch your machine. It's a lot easier for the average person, or even some people forced into the de facto sysadmin role, to run a reasonably secure OS X machine as opposed to other OSes.
O'Reilly also publishes an execllent book, entitled Mac OS X for UNIX Geeks, that does an excellent job of explaining Mac OS X to people already familiar with Linux or other UNIX variants.
The information is out there, on Apple's own documentation, the Internet, books, and other places. OS X is different from a lot of other OSes, and a lot of the schemes, like Frameworks, Directory Services, and SystemStarter for example, are arguably better. But there is a way to use almost every tool, or do anything you wish, sometimes in exactly the same fashion, that you have previously done on Linux/UNIX. -
Excellent free intro to OS X for Linux/UNIX users
Amit Singh of the IBM Almaden Research Center has written in in-depth technical introduction to Mac OS X, entitled What is Mac OS X? Intended for an audience of Linux and UNIX users, the paper is available here (and covered in this previous slashdot article.
It does a fabulous job of explaining the major differences between Mac OS X and Linux and other UNIX variants.
Every time anyone has ever come to me and said "why can't do X, Y. or Z on OS X?" or "how come I don't have tool X?" or "why does Y behave in this fashion?", there is always a solution or an answer. You make it seem as if OS X is a mystery, and no one knows how it works. There is plenty of information out there, and obscurity isn't the primary place OS X gets its security: it's through good design and basically all services being shut off out of the box, and the fact that security and OS updates are easy for anyone to install without having to keep track of every single security issue out there, and without breaking things every time you patch your machine. It's a lot easier for the average person, or even some people forced into the de facto sysadmin role, to run a reasonably secure OS X machine as opposed to other OSes.
O'Reilly also publishes an execllent book, entitled Mac OS X for UNIX Geeks, that does an excellent job of explaining Mac OS X to people already familiar with Linux or other UNIX variants.
The information is out there, on Apple's own documentation, the Internet, books, and other places. OS X is different from a lot of other OSes, and a lot of the schemes, like Frameworks, Directory Services, and SystemStarter for example, are arguably better. But there is a way to use almost every tool, or do anything you wish, sometimes in exactly the same fashion, that you have previously done on Linux/UNIX. -
Excellent free intro to OS X for Linux/UNIX users
Amit Singh of the IBM Almaden Research Center has written in in-depth technical introduction to Mac OS X, entitled What is Mac OS X? Intended for an audience of Linux and UNIX users, the paper is available here (and covered in this previous slashdot article.
It does a fabulous job of explaining the major differences between Mac OS X and Linux and other UNIX variants.
Every time anyone has ever come to me and said "why can't do X, Y. or Z on OS X?" or "how come I don't have tool X?" or "why does Y behave in this fashion?", there is always a solution or an answer. You make it seem as if OS X is a mystery, and no one knows how it works. There is plenty of information out there, and obscurity isn't the primary place OS X gets its security: it's through good design and basically all services being shut off out of the box, and the fact that security and OS updates are easy for anyone to install without having to keep track of every single security issue out there, and without breaking things every time you patch your machine. It's a lot easier for the average person, or even some people forced into the de facto sysadmin role, to run a reasonably secure OS X machine as opposed to other OSes.
O'Reilly also publishes an execllent book, entitled Mac OS X for UNIX Geeks, that does an excellent job of explaining Mac OS X to people already familiar with Linux or other UNIX variants.
The information is out there, on Apple's own documentation, the Internet, books, and other places. OS X is different from a lot of other OSes, and a lot of the schemes, like Frameworks, Directory Services, and SystemStarter for example, are arguably better. But there is a way to use almost every tool, or do anything you wish, sometimes in exactly the same fashion, that you have previously done on Linux/UNIX. -
Re:Looks like your average OS project
Why don't we ask Amit Singh about it?
-
already been doneThe guy that was running dozens of operating systems on the same machine was running most of them under Virtual PC on a powerbook.
Not nested though, so there's still a mountain there to climb.
-
Linux User's Group at his work
"The author says he wrote it to introduce Mac OS X to the Linux User's Group at his work."
Interestingly, "his work" is the IBM Alamaden Research Center. -
Re:So What?
No he is already in the club for the check he got from Knuth.All two dollars and 56 cents
-
Re:What no SCO?
This is explained here
-
Hanoi Mania FAQ
It seems the author of the page has put up a faq since he was slashdotte.d Funny!
-
A Useful Tool in Religious Disputation
Everyone agrees that arguments about Languages are Religious, right?
Well, maybe not. Just have a look at these samplings of code. Now you can argue that some implementations are un-neccessarily complex, and others inefficient. Fair enough. But apart from such deliberately obfuscated grotesques such as the sed implementation, you can get a "within an order of magnitude" estimate of how simple/powerful/readable a language is by looking at the sources.
For example, contrast the PERL implementation with the C implementation.
Now look at the Java vs the Ada implementations.
The similarities, and differences, are instructional.Parenthetically, with the forthcoming release of Java 1.5, which has Ada facilities such as strong typing of enumerations and generics, the architectural similarities between Ada and Java will become even more pronounced. IMHO Java has a far neater notation of Object-Oriented features than Ada-95's, but in all other respects suffers from C's over-terse syntax. But that's just my opinion. Look at the examples and form your own.
What is not a matter of opinion is that readability helps improve code quality. And wonder why "everyone knows" Ada is over-complicated, too difficult to implement, and too costly - especially when open-source free compilers have been around for nearly a decade now. -
A Useful Tool in Religious Disputation
Everyone agrees that arguments about Languages are Religious, right?
Well, maybe not. Just have a look at these samplings of code. Now you can argue that some implementations are un-neccessarily complex, and others inefficient. Fair enough. But apart from such deliberately obfuscated grotesques such as the sed implementation, you can get a "within an order of magnitude" estimate of how simple/powerful/readable a language is by looking at the sources.
For example, contrast the PERL implementation with the C implementation.
Now look at the Java vs the Ada implementations.
The similarities, and differences, are instructional.Parenthetically, with the forthcoming release of Java 1.5, which has Ada facilities such as strong typing of enumerations and generics, the architectural similarities between Ada and Java will become even more pronounced. IMHO Java has a far neater notation of Object-Oriented features than Ada-95's, but in all other respects suffers from C's over-terse syntax. But that's just my opinion. Look at the examples and form your own.
What is not a matter of opinion is that readability helps improve code quality. And wonder why "everyone knows" Ada is over-complicated, too difficult to implement, and too costly - especially when open-source free compilers have been around for nearly a decade now. -
A Useful Tool in Religious Disputation
Everyone agrees that arguments about Languages are Religious, right?
Well, maybe not. Just have a look at these samplings of code. Now you can argue that some implementations are un-neccessarily complex, and others inefficient. Fair enough. But apart from such deliberately obfuscated grotesques such as the sed implementation, you can get a "within an order of magnitude" estimate of how simple/powerful/readable a language is by looking at the sources.
For example, contrast the PERL implementation with the C implementation.
Now look at the Java vs the Ada implementations.
The similarities, and differences, are instructional.Parenthetically, with the forthcoming release of Java 1.5, which has Ada facilities such as strong typing of enumerations and generics, the architectural similarities between Ada and Java will become even more pronounced. IMHO Java has a far neater notation of Object-Oriented features than Ada-95's, but in all other respects suffers from C's over-terse syntax. But that's just my opinion. Look at the examples and form your own.
What is not a matter of opinion is that readability helps improve code quality. And wonder why "everyone knows" Ada is over-complicated, too difficult to implement, and too costly - especially when open-source free compilers have been around for nearly a decade now. -
A Useful Tool in Religious Disputation
Everyone agrees that arguments about Languages are Religious, right?
Well, maybe not. Just have a look at these samplings of code. Now you can argue that some implementations are un-neccessarily complex, and others inefficient. Fair enough. But apart from such deliberately obfuscated grotesques such as the sed implementation, you can get a "within an order of magnitude" estimate of how simple/powerful/readable a language is by looking at the sources.
For example, contrast the PERL implementation with the C implementation.
Now look at the Java vs the Ada implementations.
The similarities, and differences, are instructional.Parenthetically, with the forthcoming release of Java 1.5, which has Ada facilities such as strong typing of enumerations and generics, the architectural similarities between Ada and Java will become even more pronounced. IMHO Java has a far neater notation of Object-Oriented features than Ada-95's, but in all other respects suffers from C's over-terse syntax. But that's just my opinion. Look at the examples and form your own.
What is not a matter of opinion is that readability helps improve code quality. And wonder why "everyone knows" Ada is over-complicated, too difficult to implement, and too costly - especially when open-source free compilers have been around for nearly a decade now. -
Holy Crap! Did anybody see the rest of the site?So yeah fine towers of hanoi in 108 ways is cool, but i looked around the guy's site, and it seems hanoi is not the only cool thing he does. Check these out -
The operating systems the guy uses
...The operating systems he runs on his apple notebook
...The guy's projects - particularly the Sun Solaris Virutalization
...The art stuff... the comic etc.
... WOW! Somebody *does* have a lot of time, not to say talent!!! -
Holy Crap! Did anybody see the rest of the site?So yeah fine towers of hanoi in 108 ways is cool, but i looked around the guy's site, and it seems hanoi is not the only cool thing he does. Check these out -
The operating systems the guy uses
...The operating systems he runs on his apple notebook
...The guy's projects - particularly the Sun Solaris Virutalization
...The art stuff... the comic etc.
... WOW! Somebody *does* have a lot of time, not to say talent!!! -
Holy Crap! Did anybody see the rest of the site?So yeah fine towers of hanoi in 108 ways is cool, but i looked around the guy's site, and it seems hanoi is not the only cool thing he does. Check these out -
The operating systems the guy uses
...The operating systems he runs on his apple notebook
...The guy's projects - particularly the Sun Solaris Virutalization
...The art stuff... the comic etc.
... WOW! Somebody *does* have a lot of time, not to say talent!!! -
Holy Crap! Did anybody see the rest of the site?So yeah fine towers of hanoi in 108 ways is cool, but i looked around the guy's site, and it seems hanoi is not the only cool thing he does. Check these out -
The operating systems the guy uses
...The operating systems he runs on his apple notebook
...The guy's projects - particularly the Sun Solaris Virutalization
...The art stuff... the comic etc.
... WOW! Somebody *does* have a lot of time, not to say talent!!! -
Holy Crap! Did anybody see the rest of the site?So yeah fine towers of hanoi in 108 ways is cool, but i looked around the guy's site, and it seems hanoi is not the only cool thing he does. Check these out -
The operating systems the guy uses
...The operating systems he runs on his apple notebook
...The guy's projects - particularly the Sun Solaris Virutalization
...The art stuff... the comic etc.
... WOW! Somebody *does* have a lot of time, not to say talent!!! -
He ain't using a tower though...
His page also contains the best review of a PowerBook 17" that I've ever read.
-
Re:X11?
That would be the Hanoi Xlib version.
-
Re:Reminds me of...You can view the source code if you click on the name of the language in the section of the page labeled: "The Implementations"
Or you can download the archive
-
Re:Somebody
I meant to link to http://www.kernelthread.com/
Although I guess I wasn't wrong anyway.
a href="http://slashdot.org/~BladeMelbourne