Windows NT probably won't install in this machine. Why? Because it has a bloated, in-kernel graphics subsystem, meaning it isn't designed to run headless. Mac OSX has the same problem.
It most certainly does not; graphics rendering and compositing are done in userland just like on all the "normal" Unices. If you don't want the GUI, just edit/etc/ttys and have it run a getty or something instead of loginwindow and WindowServer.
I see a need for both types of checkpointing - applications periodically checkpointing data (like the autosave feature in the market-leading word processor) [...]
And, the most obnoxious behaviour: some editing processes actually unlink() and write() the file to a new location in its entirety when you save. I've witnessed vim [vim.org] change the inode value upon a save, so I could guess it has physically moved the file, also. When RCS checks out a file, it actually unlink()s the current checked-in version and proceeds to re-write() the checked-out copy. I'm sure there are more examples.
Even better: log-structured filesystems like *BSD LFS and (I think) phase-tree systems like Tux2 don't overwrite old data: they write to a new block, update relevant metadata, and then at some later point mark the old block as free. This kind of approach is good for crash-tolerance, because you don't have an inconsistent half-written state sitting around if something goes wrong, but it gets in the way if you're trying to make some data unrecoverable.
It's possible to manually load a kernel extension bundle from anywhere with kextload(8) as root, but for it to be autoloaded when the relevant hardware is detected, or if another kext declares a dependency on it, it has to be in/System/Library/Extensions.
zsh also refrains from retokenizing the result of variable substitution. And although zsh is (currently) used on Darwin to emulate sh, in that compatibility mode the SH_WORD_SPLIT option is enabled, restoring the historically correct behavior.
OmniWeb, by default, masquerades as Mozilla for HTTP, thusly:
GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.5 (compatible; OmniWeb/4.0.5; Mac_PowerPC)
[...]
Then there's a preference for faking the browser info for JavaScripts, which seems to be separate.
...is more specifically the hiding of sensitive information in something seemingly unthreatening. The carrier is often an image or sound file, although the general idea was used long ago with handwritten letters, encoding secret messages in the pattern of gaps between cursive characters. For that matter, isn't the watermarking stuff the RIAA et al. are so big on just a form of steganography?
Lisp most certainly is strongly typed: you can't violate the typing system and access the internal representation of data the way you can in C or FORTH. What Lisp is not is manifestly typed (a.k.a. statically typed): that is, you don't explicitly declare the types of variables and function arguments, the way you do in C and Java, so the compiler can check them instead of having them verified at runtime (latent or dynamic typing).
NeXT/Apple's ProjectBuilder does this too: There's a GUI, but all the compiling and linking and dependency stuff and even debugging is done by calling out to command-line tools.
The link [hostname] indicator is a nice, clever idea.
Yes, but you just know it was put there to appease all the l^Husers who don't check a link before they click on it and whine when it turns out to be goatse.cx...
With VB, you don't care about all the "stuff" underneath (which can be a problem when you try to do something that isn't built-in, but there are creative
solutions). You just drag controls onto your window, and write the code behind them. Very easy.
NeXT/Apple's InterfaceBuilder does just that, but using Objective-C (a small set of extensions to C) instead of a specialized language. You literally draw lines between controls and instance variables, or between buttons and methods.
Re:Apple must have a brain-wash app.
on
Mac Rants
·
· Score: 1
Little-known fact: the PPC is far from the platonic RISC ideal. Take, for instance, the update-indexed load/store instructions: add two general-purpose registers and store the result in one of the two, while also using the result as the address of a load or store involving a third register. (There are also ones that use a constant for one of the addends, or don't store the sum back into a register; with both of the features removed, the result is a "normal" RISC load/store operation.) And then there are load/store instructions that do N words at a time, which aren't guaranteed to run in constant time, but are surely faster than doing a loop by hand. The general idea, as far as I can see, seems to be optimizing common operations, and especially common operations for signal processing or dealing with large quantities of data. The AltiVec instructions, then, would just be an extension of this idea.
Mac OS X, on UFS filesystems, stores various metadata in an AppleDouble file named._filename, which is, for something like an mp3 that's been touched in the Finder, less than 1kB. I've had people d/l these from me over LimeWire, completely oblivious to the file size.
They printed the screenshots out, marked them up to block out the no-no words, and scanned them back in
They completely neglected the idea that an innocent young child looking for Britney Spears mp3z might realize that a file called "britney spears licking [CENSORED] XXX lesbian porn [...].mpg" contains sexual content.
AOL actually gets eerily close to the Right Thing here: they have a transparent proxy that intercepts outgoing email and relays it (inserting a Received: header, complete with SMTP id), as well as logging the username truly responsible in an X-Apparently-From: header. This was a big help for me when I recently had to deal with a mail flood (forged, of course) from one of their lusers, a Usenet kook that threw a temper tantrum. Yet at the same time, legitimate use can still continue.
Well, actually, thanks to/.'s lame filters, you can't behold it here. But with the magic of hyperlinking, one can see the definition for my zsh prompt, which I use pretty much everywhere now (beware the unescaped control characters). Oh, and I made a screenshot (note that the terminal and shell are on 2 different systems) to demonstrate its various properties.
Surprisingly, some thought to actual usability went into this: the ANSI colors highlight the hostname, so I don't forget what system I'm on and blow something up; there are many blatant differences between the root and normal-user prompt ($ vs. #, coloring, privileged username in inverse video); zsh's RPROMPT parameters, which specifies text to go on the right side of the terminal window, was used to move the CWD over so that the location I type commands to doesn't change from line to line. Oh, and if a command fails, the exit status gets an eye-catching green background and is placed on the right-hand side, but separated from the CWD by a space.
And before I switched to zsh from bash, some of the systems I was on had normal-looking prompts, but the one I first learned UNIX on, well, didn't.
The BSD bits of the Darwin kernel (or xnu) comprise the VFS (filesystem), networking stack, and general unixy interface to Mach tasks/threads/VM, including the user/group stuff. These are, for the most part, of FreeBSD lineage. Mach handles VM (memory management), scheduling, and low-level IPC. I/O, however, is under the control of the IOKit, an I/O framework unique to Darwin that uses a subset of C++.
NO, REALLY?
Windows NT probably won't install in this machine. Why? Because it has a bloated, in-kernel graphics subsystem, meaning it isn't designed to run headless. Mac OSX has the same problem.
It most certainly does not; graphics rendering and compositing are done in userland just like on all the "normal" Unices. If you don't want the GUI, just edit /etc/ttys and have it run a getty or something instead of loginwindow and WindowServer.
I see a need for both types of checkpointing - applications periodically checkpointing data (like the autosave feature in the market-leading word processor) [...]
Oh, you mean Emacs?
Programs don't kill servers, malformed packets kill servers.
Er, no. Malformed packets kill only badly written, insecure servers.
And, the most obnoxious behaviour: some editing processes actually unlink() and write() the file to a new location in its entirety when you save. I've witnessed vim [vim.org] change the inode value upon a save, so I could guess it has physically moved the file, also. When RCS checks out a file, it actually unlink()s the current checked-in version and proceeds to re-write() the checked-out copy. I'm sure there are more examples.
Even better: log-structured filesystems like *BSD LFS and (I think) phase-tree systems like Tux2 don't overwrite old data: they write to a new block, update relevant metadata, and then at some later point mark the old block as free. This kind of approach is good for crash-tolerance, because you don't have an inconsistent half-written state sitting around if something goes wrong, but it gets in the way if you're trying to make some data unrecoverable.
OK, then: the heart of my new NetBSD system would be tar(1), because that's about as close as I got to an installer while setting it up.
It's possible to manually load a kernel extension bundle from anywhere with kextload(8) as root, but for it to be autoloaded when the relevant hardware is detected, or if another kext declares a dependency on it, it has to be in /System/Library/Extensions.
zsh also refrains from retokenizing the result of variable substitution. And although zsh is (currently) used on Darwin to emulate sh, in that compatibility mode the SH_WORD_SPLIT option is enabled, restoring the historically correct behavior.
...when you pry it from my cold, dead hands.
OmniWeb, by default, masquerades as Mozilla for HTTP, thusly:
GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.5 (compatible; OmniWeb/4.0.5; Mac_PowerPC)
[...]
Then there's a preference for faking the browser info for JavaScripts, which seems to be separate.
...is more specifically the hiding of sensitive information in something seemingly unthreatening. The carrier is often an image or sound file, although the general idea was used long ago with handwritten letters, encoding secret messages in the pattern of gaps between cursive characters. For that matter, isn't the watermarking stuff the RIAA et al. are so big on just a form of steganography?
Lisp most certainly is strongly typed: you can't violate the typing system and access the internal representation of data the way you can in C or FORTH. What Lisp is not is manifestly typed (a.k.a. statically typed): that is, you don't explicitly declare the types of variables and function arguments, the way you do in C and Java, so the compiler can check them instead of having them verified at runtime (latent or dynamic typing).
NeXT/Apple's ProjectBuilder does this too: There's a GUI, but all the compiling and linking and dependency stuff and even debugging is done by calling out to command-line tools.
gcc has the -x option to specify the language of a file where it can't figure it out from the name.
Ever been to a voting booth?
No, because I have to vote by absentee ballot...
The link [hostname] indicator is a nice, clever idea.
Yes, but you just know it was put there to appease all the l^Husers who don't check a link before they click on it and whine when it turns out to be goatse.cx...
Visual Basic is the most popular language in the world by far.
Which explains why all the most popular mail worms are written in it? (-:
Silly rabbit, if you want to do a fourier transform as fast as possible, you find a FORTRAN nut and lock them in a room with a card punch.
With VB, you don't care about all the "stuff" underneath (which can be a problem when you try to do something that isn't built-in, but there are creative solutions). You just drag controls onto your window, and write the code behind them. Very easy.
NeXT/Apple's InterfaceBuilder does just that, but using Objective-C (a small set of extensions to C) instead of a specialized language. You literally draw lines between controls and instance variables, or between buttons and methods.
Little-known fact: the PPC is far from the platonic RISC ideal. Take, for instance, the update-indexed load/store instructions: add two general-purpose registers and store the result in one of the two, while also using the result as the address of a load or store involving a third register. (There are also ones that use a constant for one of the addends, or don't store the sum back into a register; with both of the features removed, the result is a "normal" RISC load/store operation.) And then there are load/store instructions that do N words at a time, which aren't guaranteed to run in constant time, but are surely faster than doing a loop by hand. The general idea, as far as I can see, seems to be optimizing common operations, and especially common operations for signal processing or dealing with large quantities of data. The AltiVec instructions, then, would just be an extension of this idea.
Mac OS X, on UFS filesystems, stores various metadata in an AppleDouble file named ._filename, which is, for something like an mp3 that's been touched in the Finder, less than 1kB. I've had people d/l these from me over LimeWire, completely oblivious to the file size.
AOL actually gets eerily close to the Right Thing here: they have a transparent proxy that intercepts outgoing email and relays it (inserting a Received: header, complete with SMTP id), as well as logging the username truly responsible in an X-Apparently-From: header. This was a big help for me when I recently had to deal with a mail flood (forged, of course) from one of their lusers, a Usenet kook that threw a temper tantrum. Yet at the same time, legitimate use can still continue.
Well, actually, thanks to /.'s lame filters, you can't behold it here. But with the magic of hyperlinking, one can see the definition for my zsh prompt, which I use pretty much everywhere now (beware the unescaped control characters). Oh, and I made a screenshot (note that the terminal and shell are on 2 different systems) to demonstrate its various properties.
Surprisingly, some thought to actual usability went into this: the ANSI colors highlight the hostname, so I don't forget what system I'm on and blow something up; there are many blatant differences between the root and normal-user prompt ($ vs. #, coloring, privileged username in inverse video); zsh's RPROMPT parameters, which specifies text to go on the right side of the terminal window, was used to move the CWD over so that the location I type commands to doesn't change from line to line. Oh, and if a command fails, the exit status gets an eye-catching green background and is placed on the right-hand side, but separated from the CWD by a space.
And before I switched to zsh from bash, some of the systems I was on had normal-looking prompts, but the one I first learned UNIX on, well, didn't.
The BSD bits of the Darwin kernel (or xnu) comprise the VFS (filesystem), networking stack, and general unixy interface to Mach tasks/threads/VM, including the user/group stuff. These are, for the most part, of FreeBSD lineage. Mach handles VM (memory management), scheduling, and low-level IPC. I/O, however, is under the control of the IOKit, an I/O framework unique to Darwin that uses a subset of C++.