Why? In today's world, writing to an mmap-ed file most certainly doesn't hit the disk for each write. Instead, a block of memory from the buffer cache is used to hold the changes. The only difference is that instead of being backed (VM-wise) by the swap file, the block is backed by the mmap-ed file.
There's no real change here for ZFS, and it's unlikely that anything at the memory cache level even knows about the copy-on-write-ness of ZFS (or even cares).
It is undisputed that Titleserv possessed executable copies of all the programs. The parties disagree whether Titleserv owned those copies within the meaning of 117(a). Krause claims that Titleserv never owned the program copies saved on its file server, but rather possessed the copies as a licensee pursuant to an oral agreement. Titleserv asserts that it owns copies of the programs because it paid Krause a substantial sum to develop them and has an undisputed right to possess and use them permanently.
(emphasis mine)
So suppose I go to CompUSA and buy Photoshop off the shelf. I paid a subtantial sum to Adobe, and I have an undisputed right to possess and use Photoshop permanently. Can I finally legally say that I own a copy of Photoshop?
Doesn't help those who are using CodeWarrior, which is my point. It's non-trivial to get off of CFM and move to Mach-O, which is a runtime change. It's non-trivial to switch to Xcode or to a command-line makefile. That's the problem. That's a lot of busywork for little or no perceived benefit.
Watch the tool vendors scramble to catch up. Note that Metrowerks only recently sold its entire x86 compiler chain to an unnamed party to focus on PowerPC. Looks like Apple didn't keep them in the loop.
This isn't good news for many developers using Codewarrior. Either build for a second-class processor, or switch over to a new IDE (whose quality is why many keep to CW). There's a third option there, but it's not very pretty.
Delta Tao has a game "Clan Lord" in which they try to solve this problem with digital karma. Basically, every character has karma points that they can spend on others, marking them with good or bad karma.
Because that's not what it's for. It's mainly intended for document-based architectures where each document holds multiple objects, where it makes sense for a database to back each document. It's not really intended for arbitrary databasing.
How is this a good thing? Each of the million recipients of the spam that was sent with my domain as a forged sender is going to slam my mail server with a mail request and then cancel?
Talk about a DDOS.
At least SPF uses DNS servers, which are designed to handle that kind of load, and use UDP for lower overhead.
Its epoch is midnight 01-Jan-1904 and it uses an unsigned 32-bit integer to count seconds since then. That means it will run out at 06:28:15 09-Feb-2040.
Wrong.
The Newton has two clocks: minutes from 1904, and seconds from 1/1/1993. In addition, integers are only 30 bits wide. And signed.
I wrote a system patch called Fix2010 for the Newton to deal with this problem. Let me quote from the readme:
The main guts of this patch is obviously the patch to Time. Let me explain to you what I'm doing, and you'll understand better.
The real-time clock that runs the Newton runs from 1993 through 2010. This is due to the fact that NewtonScript integers are 30 bits, and signed. 2^29 seconds after 1993 is 2010--the end of the Seconds world. The time system, however, is based on minutes from 1904. That won't run out until 2920. Then we'll really be screwed.
That means that the clock has a 17-year life. After that, the clock will have to be made to repeat some Seconds values. I've defined a term called a hexade. A hexade is a block of 16 years. Hexade 0 is from 1993 (1/1/93, 12AM) to 2009 (1/1/09, 12AM). Hexade 1 is the 16-year block after 2009, and so on. I suppose we could deal with the negative hexades too, but I really don't care, and I don't think anyone else does either.
The function Time is patched out to read the current hexade (GetUserConfig('hexade)--don't touch that value!), read the RTC, bring the time into the current hexade, and return it. Remember, the RTC thinks we're in hexade 0.
The function TimeInSeconds is not patched out. I felt this was best for compatibility. This means two things: first, the Seconds timebase is no longer 1993; it is the first year of the current hexade. Secondly, you'd better not rely on Seconds values being consistent.
Here is a list of functions, and some notes on how they're changed by the installation of Fix2010. (Not all of them are patched; but some rely on patched routines.)
AddAlarm
The alarm soup is slightly hacked up. Please use only documented functions to do alarms. Please don't screw around with them yourself. Oh, yeah--AddAlarm works fine.
AddAlarmInSeconds
This works, as long as you remember that the Seconds base is the first year of the current hexade, and not necessarily 1993. Or, if you're not sure, just pass in a date frame.
DateFromSeconds
Works fine--just remember the new Seconds timebase.
GetAlarm
Use it--just follow the advice of the Newton Programming Reference manual (14-11): Do not touch the returned frame. The new slot in the frame is a hexade slot, holding the hexade of the alarm. I know that it's not really necessary, since it can be computed from the time and timeInSeconds slots, but I'm lazy.
SetTime
Ah, very important. Pass in any date from 1904 to 2920, with no problem. Or a date frame. See SetTimeInSeconds, below, for more details.
SetTimeInSeconds
Just remember that if you pass in a seconds value, you cannot change the date from this hexade. If you want to do so, you'll need to pass a date frame. This function, as well as SetTime, checks the hexade of the new date. If it is different, then it changes to the new hexade, and walks and adjusts the system alarm soup before setting the RTC.
Time
Returns the current time. Any time from 1904 to 2920.
TimeInSeconds
This is not patched; it returns the value from the RTC. Just keep in mind the Seconds timebase.
TimeInSecondsToTime
Just remember the new Seconds timebase. This, like all the other Seconds functions, uses the new base.
TimeToTimeInSeconds
Once again, keep the new timebase in mind.
TotalSeconds
Works, but just remember the new Seconds timebase. TotalSeconds(0) is not necessarily 1993.
Version History
Version 1.0a1 (28 September 1998)
Initial release for sick, demented alpha-ve
Parallel startup implemented in Mac OS X
on
Booting Linux Faster
·
· Score: 4, Interesting
Bah. Mac OS X's done this since Jaguar.
The big question is "how do you specify dependencies?" The article uses makefiles. In Mac OS X, each startup item has a properties file (associative array) that names the item and specifies all the items that it depends on (http://www.usenix.org/events/bsdcon02/full_papers/sanchez/sanchez_html/). Then SystemStarter makes a dependency graph and starts them up in parallel whenever possible (http://developer.apple.com/documentation/MacOSX/C onceptual/SystemOverview/BootingLogin/chapter_4_se ction_2.html).
And of course, since releasing a native version of XPress two years late isn't enough of a show of contempt for their customers, it has product activation to deal with:
No hardware key is required to activate your license, and you can upgrade your hardware up to five times before you are required to reactivate your QuarkXPress software.
QuarkXPress will run for five days before activation is required. After this grace period expires, QuarkXPress goes into reduced functionality mode.
I can upgrade five times? Thanks, Quark! A grace period? Wow, you're so generous, Quark!
Certainly when executing an HTTP GET this needs browser support:
if (httpReferer.matches("slashdot.org"))
getRequest.setFlags(EVIL_FLAG);// adios, sucker!/* and I don't care if this joke is a dup; so is the story! */
On the Mac, yes, the x86 is emulated lock, stock and barrel. For Virtual PC Windows, they actually let the x86 code run free, and emulate only the ring 0 instructions. That way they get about 95% speed of the host machine.
(As told to me by the VPC engineers in a tech session a MacHack or two ago.)
Miro Jurisic and Alexandra Ellwood wrote an extension called asciiMac for the MacHack '98 Hack Contest, and it won first place. It turned your screen, real-time, into a full-color ascii-art display. I was there. It was amazing and the crowd went wild.
The problem with this is that it assumes that binaries never legitimately change. That is false in Mac OS X. The Mach-O file format allows for "pre-binding", where the linker tries to resolve imported functions and data before the app is loaded, and, if successful, writes the offsets to the file.
I'm not familiar with the Mach-O file format, but I'd guess that the changes are confined to a small part of the file. But if you could just checksum the code sections, that might work.
On the other hand, talking about libraries makes me think. Don't forget to check the libraries. If I trojan libc, I'll be getting all kinds of control while leaving the program binaries unmodified.
It's not because it's hard, it's because of licensing. MPEG2 costs money to license, and Apple's being cheap here.
I was talking to a QuickTime guy at WWDC, and he said that QT6 will do MPEG2, but it will be doing it by leveraging the existing MPEG2 code in the DVD decoder. That way it can fall under the same license.
It looks like they haven't done that work for this preview release. QT6 in Jaguar does do MPEG2, though. Hopefully the final version of QT6 will do it. Or maybe Jaguar will have shipped by then.
Interland isn't doing that. If you actually pay one of Interland's renewal notices, you stay on your current registrar. They just want money for no work on their part.
Of course, they're about as incompetent as NSI. I have my domain's registered mail address set to my father's PO Box, and my father paid the Interland renewal notice before asking me. He paid for two years, but my domain was renewed for four. And he paid by check, so they couldn't double-bill us.
Of course, even at half the price it still was more expensive than some alternate registrars...
I just installed the new 1.1 software on my 5gb iPod with no difficulty. Comments:
Contacts: The way this works is that when you upgrade to 1.1, you get a top-level folder on the iPod named "Contacts". Drop.vcf files in there, and you're off. Cute, but since I have my Palm all the time, it's less useful to me.
Equalizer: Can't comment since I haven't set it for any songs.
Now Playing: Pressing the center button when playing a song no longer switches between elapsed time and time remaining. The normal display now shows both. If you press the button, you get the diamond-in-the-rectangle of iTunes, and you can use the dial to shuttle backwards and forwards. Trés cool.
Shuffle: You can now choose between shuffling between songs or between albums. I'm not quite sure what that means.
Bugs fixed: The bug where pausing and then unpausing would land you somewhere totally else appears to be fixed. Another bug where the iPod would cut songs off at the end is also fixed. Alas, the one that prevents "Dvorak" (with the accent over the r) from displaying properly is still present.
Easter Egg: It's still there, in the Legal section off the Settings main item.
And of course, more languages that I don't understand.
Why? In today's world, writing to an mmap-ed file most certainly doesn't hit the disk for each write. Instead, a block of memory from the buffer cache is used to hold the changes. The only difference is that instead of being backed (VM-wise) by the swap file, the block is backed by the mmap-ed file.
There's no real change here for ZFS, and it's unlikely that anything at the memory cache level even knows about the copy-on-write-ness of ZFS (or even cares).
a
This is pretty huge. From the PDF:
(emphasis mine)So suppose I go to CompUSA and buy Photoshop off the shelf. I paid a subtantial sum to Adobe, and I have an undisputed right to possess and use Photoshop permanently. Can I finally legally say that I own a copy of Photoshop?
Doesn't help those who are using CodeWarrior, which is my point. It's non-trivial to get off of CFM and move to Mach-O, which is a runtime change. It's non-trivial to switch to Xcode or to a command-line makefile. That's the problem. That's a lot of busywork for little or no perceived benefit.
No, pretty much everyone says it's Nokia. Why would Apple buy x86 compiler technology?
Watch the tool vendors scramble to catch up. Note that Metrowerks only recently sold its entire x86 compiler chain to an unnamed party to focus on PowerPC. Looks like Apple didn't keep them in the loop.
This isn't good news for many developers using Codewarrior. Either build for a second-class processor, or switch over to a new IDE (whose quality is why many keep to CW). There's a third option there, but it's not very pretty.
Delta Tao has a game "Clan Lord" in which they try to solve this problem with digital karma. Basically, every character has karma points that they can spend on others, marking them with good or bad karma.
v etneo.html
http://www.mactech.com/articles/develop/issue_29/
I don't play that game, so I don't know the consequences of having a lot of bad karma. I do know, at least, that you're marked in others' user lists.
I don't get it. Canadian Aboriginal is already in Unicode (U+1400-U-167F) as of 3.0. Hell, I think Mac OS X even comes with a font covering it.
Where's the magic? The translation to graphics on the fly for people with old browers?
Because that's not what it's for. It's mainly intended for document-based architectures where each document holds multiple objects, where it makes sense for a database to back each document. It's not really intended for arbitrary databasing.
Avi
Now, no one go and tell her; that would spoil the secret.
How is this a good thing? Each of the million recipients of the spam that was sent with my domain as a forged sender is going to slam my mail server with a mail request and then cancel?
Talk about a DDOS.
At least SPF uses DNS servers, which are designed to handle that kind of load, and use UDP for lower overhead.
Avi
Wrong.
The Newton has two clocks: minutes from 1904, and seconds from 1/1/1993. In addition, integers are only 30 bits wide. And signed.
I wrote a system patch called Fix2010 for the Newton to deal with this problem. Let me quote from the readme:
Bah. Mac OS X's done this since Jaguar.
s /sanchez/sanchez_html/). Then SystemStarter makes a dependency graph and starts them up in parallel whenever possible (http://developer.apple.com/documentation/MacOSX/C onceptual/SystemOverview/BootingLogin/chapter_4_se ction_2.html).
The big question is "how do you specify dependencies?" The article uses makefiles. In Mac OS X, each startup item has a properties file (associative array) that names the item and specifies all the items that it depends on (http://www.usenix.org/events/bsdcon02/full_paper
And of course, since releasing a native version of XPress two years late isn't enough of a show of contempt for their customers, it has product activation to deal with:
I can upgrade five times? Thanks, Quark! A grace period? Wow, you're so generous, Quark!
OS X is now a real OS. It has Quark XPress...
Certainly when executing an HTTP GET this needs browser support:
// adios, sucker! /* and I don't care if this joke is a dup; so is the story! */
if (httpReferer.matches("slashdot.org"))
getRequest.setFlags(EVIL_FLAG);
Not true!
On the Mac, yes, the x86 is emulated lock, stock and barrel. For Virtual PC Windows, they actually let the x86 code run free, and emulate only the ring 0 instructions. That way they get about 95% speed of the host machine.
(As told to me by the VPC engineers in a tech session a MacHack or two ago.)
Miro Jurisic and Alexandra Ellwood wrote an extension called asciiMac for the MacHack '98 Hack Contest, and it won first place. It turned your screen, real-time, into a full-color ascii-art display. I was there. It was amazing and the crowd went wild.
If you accept the APSL as "free", then you can go and use Apple's implementation:
http://developer.apple.com/darwin/projects/rendezv ous/
The problem with this is that it assumes that binaries never legitimately change. That is false in Mac OS X. The Mach-O file format allows for "pre-binding", where the linker tries to resolve imported functions and data before the app is loaded, and, if successful, writes the offsets to the file.
I'm not familiar with the Mach-O file format, but I'd guess that the changes are confined to a small part of the file. But if you could just checksum the code sections, that might work.
On the other hand, talking about libraries makes me think. Don't forget to check the libraries. If I trojan libc, I'll be getting all kinds of control while leaving the program binaries unmodified.
rlwimi
So, complain!
At the bottom of every search results page is a line, "Dissatisfied with your results? Help us improve." Click the link, and give them feedback.
Sounds kind of lame to me. I'd like to see if they can make this turkey fly.
Avi
I was talking to a QuickTime guy at WWDC, and he said that QT6 will do MPEG2, but it will be doing it by leveraging the existing MPEG2 code in the DVD decoder. That way it can fall under the same license.
It looks like they haven't done that work for this preview release. QT6 in Jaguar does do MPEG2, though. Hopefully the final version of QT6 will do it. Or maybe Jaguar will have shipped by then.
Avi
Interland isn't doing that. If you actually pay one of Interland's renewal notices, you stay on your current registrar. They just want money for no work on their part.
Of course, they're about as incompetent as NSI. I have my domain's registered mail address set to my father's PO Box, and my father paid the Interland renewal notice before asking me. He paid for two years, but my domain was renewed for four. And he paid by check, so they couldn't double-bill us.
Of course, even at half the price it still was more expensive than some alternate registrars...
Avi
Ah. I am enlightened. Thank you.
Avi
Contacts: The way this works is that when you upgrade to 1.1, you get a top-level folder on the iPod named "Contacts". Drop .vcf files in there, and you're off. Cute, but since I have my Palm all the time, it's less useful to me.
Equalizer: Can't comment since I haven't set it for any songs.
Now Playing: Pressing the center button when playing a song no longer switches between elapsed time and time remaining. The normal display now shows both. If you press the button, you get the diamond-in-the-rectangle of iTunes, and you can use the dial to shuttle backwards and forwards. Trés cool.
Shuffle: You can now choose between shuffling between songs or between albums. I'm not quite sure what that means.
Bugs fixed: The bug where pausing and then unpausing would land you somewhere totally else appears to be fixed. Another bug where the iPod would cut songs off at the end is also fixed. Alas, the one that prevents "Dvorak" (with the accent over the r) from displaying properly is still present.
Easter Egg: It's still there, in the Legal section off the Settings main item.
And of course, more languages that I don't understand.
Avi
If DVDs start selling for less than CDs, that says a lot about the recording industry, doesn't it?