Wow, it's such a major leap it's hard to describe.
Imagine having an external HDD on your mac. Whenever you plug it in, it automatically starts mirroring the internal drive.
Take atomic snapshots of your entire filesystem, send it over scp to back up your drive as a single file. Or, send over the difference between two snapshots as an incremental backup.
Have more than one drive, want mirroring? 2 steps on the command line.
Have a directory you really care about? Make it a sub-filesystem (this doesn't involve partitioning, etc, just a command that's almost identical in syntax and performance to mkdir) and tell ZFS to store 2 or 3 copies of it.
Have a directory you'd like auto-compressed? Tell zfs to compress it. New data to it is automatically, and transparently compressed. Completely transparent to the user and to applications.
And I'm just getting started. Trust me on this, google it.
I'm not trying to slander Java, but I've never used a Java app that doesn't take up a disproportionate amount of processor and memory when compared to the same type of program written in some flavor of C.
And many have said that about C vs Assembler. The difference is that you'd have to add a zero or so to the end of the price of the app. Java's substantially easier to write apps for, in certain domains, in certain sizes of applications.
C doesn't have features which make it reasonable to write very large applications (namespaces come to mind). You can do it (e.g. Unix kernels, etc), but you have to be much more disciplined without those features. That discipline costs in terms of additional expertise required, (higher programmer salaries) and project management (more overhead for managers, documentation, etc).
Also, Java has features which make writing tools for it substantially easier than C. Better available tools also reduce the cost of software production.
For the most part, Java sacrifices starting performance for long-term performance. Letting a Java app 'warm up' for a while will show substantially better performance than when it first started running.
It was apple-specific. They had a "don't debug me" flag that a process could set at startup (to protect DRM). But there was a bug in the interaction of these processes that could cause dtraced processes to take *forever*.
Ugh. Hoping to make a simple set of corrections, another worthless/. debate. I can't or won't read? Condescending jackass.
The memory between 640k and 1MB is actually there, and usable. The hardware only wants the address space. Two different things. As mentioned, it's reclaimable with DOS extenders.
The problem is that hardware still needs memory areas to work, and actually far more than it used to. So you'll find that you get less than 4GB of RAM accessible, how much depends on what hardware you have installed. To actually get full use of the 4GB of RAM, you'll need to run on a 64-bit chip, which has a larger address bus and thus memory ranges for the hardware.
You contradict yourself. Memory areas for hardware (I/O buffers?) vs address space for the kernel. Your second version is correct, but the former is incorrect. It's not a hardware requirement that all 4GB aren't usable -- it's address space allocation. You can remap the I/O in the kernel-space 36bit address space.
I agree 100% with your assessment of the current situation.
But, with the caveat that it doesn't apply to externally-triggered explosives, like land mines. One could apply the logic of land mines to automatically triggered unmanned vehicles that defend a perimeter.
Second, the 640k limit was due to the video ram being mapped in the memory region between 640k and 1 MB, at address A000:0000. Which is why DOS extenders could get you that memory back in 386+, by remapping the memory to other addresses. Here's a memory map: http://www.infokomp.no/techinfo/doc/DosMemory.htm
Third, your 32bit/4GB ram stuff is garbage as well. Most OSs claim address space at the end (the upper 1/2GB) for the kernel. That makes it harder to use. It's not a hardware problem at all, OSs tend to have simplistic userland/kernel memory address space mappings. CPUs went to 64 bit before 4GB was cheap enough for this to be a problem, so no work was done to really reduce the kernel address space footprint (or to separate the address spaces altogether).
Maybe it really is about some high-level finance strategy that only people in the know can grasp? Nah, they're just losing. -1 for Vista, -1 for the Network, -1 for Apple's slowly-but-noticably-increasing market share, +.25 for the 360 (only competitive w/Sony, both losing behind Nintendo).
Actually the fun issue is why I left Linux for Solaris. I wanted an OS that felt like it was built by adults.
I've got real work to do (some of it is pretty fun), and I want the OS to back me up. I don't want to play with the OS, I've done it to death and I've moved on.
I don't think the same type of community that likes Linux will like OpenSolaris. I'm thinking more of an Apache-style group. People who need to get things done, and are willing to send in fixes to make their stuff work.
Java can be tweaked out pretty well to give a decent experience. I'm less opposed to it than I used to be, mostly b/c of the quality of tools available for it these days. The backend performance optimizations of Java 6 are pretty nice these days, and the pluggable look-and-feels have good potential.
Other than that, I've been impressed with how far GTK's been coming. But I'm not sure C's even the right language to use anymore (ok, C's definitely not, but C++ is debatable).
I love the gist of your signature, but sadly I feel that the argument doesn't help when the complainer is a superior.
Don't people get tired of the same Anti-MS ranting and Linux Fanboyism? It's been 10 years for me on/., and frankly, I expected some better discussion. Yeah, I must be new here.
Despite that, let's talk about taking advantage of the situation, beyond the opportunities for mockery.
So, here's some discussion questions:
1. Whatever one's opinions/philosophy on XP/Windows, it's getting old. With Vista receiving such a poor welcoming, what would cause people to move to other systems?
More specifically, what do people need that other OSs don't supply well enough?
Exchange comes to mind. What else?
The intent is to build a To-Do list for global desktop domination:-)
2. Would it be preferable to push people to a specific OS (Linux, MacOS, etc), or to make the specific OS less relevant? If there were easily available, high-quality, drop-in replacements for applications that keep people on Windows, is it better to let people make their own preferential choices on OS?
Here, my intent is to discuss a movement to attack Windows on all fronts simultaneously. Instead of putting all our eggs in a Linux or Mac basket, how about a basket-independent egg that fits wherever?
Some people should really be on a solid Unix (Linux/Solaris) workstation, others on a Mac, and others with essentially an oversized PDA.
MacHack was a 3 day/24hr conference with tech presentations. During the event, people put together hacks to compete for the covetous A-Trap award, given at the end. Some great hacks over the years.
I was at MacHack 19, good times. There never was a (real) 20.
I wouldn't be so hard on them -- most of them are misguided by idealism over the pragmatic realities of life. However I'm inclined to agree with your points.
I just wish you hadn't posted anonymously, so I filter up your posts!
One of the NSA's directives is for helping provide security for the rest of the gov, as a bit of an expert group. Securing OSs for gov use falls in that category.
Your NSA friends can probably tell you they're working for the NSA. They just can't say doing what.
Yes you can parallelize a VR system quite well. You can simulate a couple dozen NPCs per core, then synchronize on the collisions between the few that actually collide. You still get a nice speedup. It ain't 100% linear, but it can be pretty good. The frame-by-frame accuracy requirements are often low enough that you can fuzz a little on consistency for performance (that's usually done already. ever heard "If it looks right, it's right?").
Parallel programming is how we get more speed out of modern architectures. We're being told that we're not going to see Moore's law expand in GHz like it used to, but in multiple cores. Nobody things it's a panacea, except maybe the 13yr old xbox kiddies, but they never counted.
As for making impossible into possible, sure it will. There are lots of things you couldn't do with your machine 10-15 yrs ago, you can do now. Many systems have performance inflection points. As we get faster (either with a faster clock or a larger number of cores), we're going to cross more of them. I remember when you couldn't decode an mp3 in real time on a desktop machine. With the I/O and space costs of uncompressed music, that meant that you didn't really listen to music from your computer. Impossible -> Possible.
First, as someone who's had to work with NT and Unix boxes, there's a *lot* of difference between matching bullet points and matching qualities of implementation. I have yet to meet one admin who can say, with a straight face (and others not laughing at them) "I understand windows access control and it is a good system."
Second, you haven't had all that since NT 3.5. For example, PowerShell came out in 2006. I don't blame you, I've heard the same sort outright lies out of MS's (and their HW vendors) salespeople for years.
Someone's gotta keep these heathens in check.
Yeah, self-reply. Some links on the matter:
ZFS: The last word on filesystems
Why ZFS for home
Why ZFS Rocks
ZFS: what "the ultimate file system" really means for your desktop -- in plain English!
Wow, it's such a major leap it's hard to describe.
Imagine having an external HDD on your mac. Whenever you plug it in, it automatically starts mirroring the internal drive.
Take atomic snapshots of your entire filesystem, send it over scp to back up your drive as a single file. Or, send over the difference between two snapshots as an incremental backup.
Have more than one drive, want mirroring? 2 steps on the command line.
Have a directory you really care about? Make it a sub-filesystem (this doesn't involve partitioning, etc, just a command that's almost identical in syntax and performance to mkdir) and tell ZFS to store 2 or 3 copies of it.
Have a directory you'd like auto-compressed? Tell zfs to compress it. New data to it is automatically, and transparently compressed. Completely transparent to the user and to applications.
And I'm just getting started. Trust me on this, google it.
Sure I have (look at the articles I wrote on CocoaDevCentral :-)), but I was talking about C.
Frankly, ObjC doesn't help too much in the big-program-area. It has objects, but Categories are a disgusting break of encapsulation.
And many have said that about C vs Assembler. The difference is that you'd have to add a zero or so to the end of the price of the app. Java's substantially easier to write apps for, in certain domains, in certain sizes of applications.
C doesn't have features which make it reasonable to write very large applications (namespaces come to mind). You can do it (e.g. Unix kernels, etc), but you have to be much more disciplined without those features. That discipline costs in terms of additional expertise required, (higher programmer salaries) and project management (more overhead for managers, documentation, etc).
Also, Java has features which make writing tools for it substantially easier than C. Better available tools also reduce the cost of software production.
For the most part, Java sacrifices starting performance for long-term performance. Letting a Java app 'warm up' for a while will show substantially better performance than when it first started running.
It was apple-specific. They had a "don't debug me" flag that a process could set at startup (to protect DRM). But there was a bug in the interaction of these processes that could cause dtraced processes to take *forever*.
It also really explains that "Before Time" comment from Satan last season.
With wireless off, cpu usage minimal, & the screen at about half brightness, I get that on my 17" macbook pro. Its battery is f'in huge.
Not that those conditions would be considered 'usable' very often, or that I even have many chances to do that.
The memory between 640k and 1MB is actually there, and usable. The hardware only wants the address space. Two different things. As mentioned, it's reclaimable with DOS extenders.
You contradict yourself. Memory areas for hardware (I/O buffers?) vs address space for the kernel. Your second version is correct, but the former is incorrect. It's not a hardware requirement that all 4GB aren't usable -- it's address space allocation. You can remap the I/O in the kernel-space 36bit address space.
I agree 100% with your assessment of the current situation.
But, with the caveat that it doesn't apply to externally-triggered explosives, like land mines. One could apply the logic of land mines to automatically triggered unmanned vehicles that defend a perimeter.
Uh, no.
First, 64k/page * 100 pages is 6400k.
Second, the 640k limit was due to the video ram being mapped in the memory region between 640k and 1 MB, at address A000:0000. Which is why DOS extenders could get you that memory back in 386+, by remapping the memory to other addresses. Here's a memory map: http://www.infokomp.no/techinfo/doc/DosMemory.htm
Third, your 32bit/4GB ram stuff is garbage as well. Most OSs claim address space at the end (the upper 1/2GB) for the kernel. That makes it harder to use. It's not a hardware problem at all, OSs tend to have simplistic userland/kernel memory address space mappings. CPUs went to 64 bit before 4GB was cheap enough for this to be a problem, so no work was done to really reduce the kernel address space footprint (or to separate the address spaces altogether).
The irony here is that MS never got past their Not-Invented-Here syndrome.
Imagine if Windows had embraced POSIX and open source tools.
I'm still early in this game, and a desktop Solaris user.
In your opinion, how far/close is ZFS from being the end of all other FS's? Is it just Sol10u6? Are these bugs fixed in SXDE/SXCE?
Yeah but the smarties probably have better jobs than government work :-)
Actually the fun issue is why I left Linux for Solaris. I wanted an OS that felt like it was built by adults.
I've got real work to do (some of it is pretty fun), and I want the OS to back me up. I don't want to play with the OS, I've done it to death and I've moved on.
I don't think the same type of community that likes Linux will like OpenSolaris. I'm thinking more of an Apache-style group. People who need to get things done, and are willing to send in fixes to make their stuff work.
Java can be tweaked out pretty well to give a decent experience. I'm less opposed to it than I used to be, mostly b/c of the quality of tools available for it these days. The backend performance optimizations of Java 6 are pretty nice these days, and the pluggable look-and-feels have good potential.
Other than that, I've been impressed with how far GTK's been coming. But I'm not sure C's even the right language to use anymore (ok, C's definitely not, but C++ is debatable).
I love the gist of your signature, but sadly I feel that the argument doesn't help when the complainer is a superior.
Don't people get tired of the same Anti-MS ranting and Linux Fanboyism? It's been 10 years for me on /., and frankly, I expected some better discussion. Yeah, I must be new here.
:-)
Despite that, let's talk about taking advantage of the situation, beyond the opportunities for mockery.
So, here's some discussion questions:
1. Whatever one's opinions/philosophy on XP/Windows, it's getting old. With Vista receiving such a poor welcoming, what would cause people to move to other systems?
More specifically, what do people need that other OSs don't supply well enough?
Exchange comes to mind. What else?
The intent is to build a To-Do list for global desktop domination
2. Would it be preferable to push people to a specific OS (Linux, MacOS, etc), or to make the specific OS less relevant? If there were easily available, high-quality, drop-in replacements for applications that keep people on Windows, is it better to let people make their own preferential choices on OS?
Here, my intent is to discuss a movement to attack Windows on all fronts simultaneously. Instead of putting all our eggs in a Linux or Mac basket, how about a basket-independent egg that fits wherever?
Some people should really be on a solid Unix (Linux/Solaris) workstation, others on a Mac, and others with essentially an oversized PDA.
Sadly, this may involve some Java.
I bring to you the entire history of the web vs IE.
MacHack was a 3 day/24hr conference with tech presentations. During the event, people put together hacks to compete for the covetous A-Trap award, given at the end. Some great hacks over the years.
I was at MacHack 19, good times. There never was a (real) 20.
I wouldn't be so hard on them -- most of them are misguided by idealism over the pragmatic realities of life. However I'm inclined to agree with your points.
I just wish you hadn't posted anonymously, so I filter up your posts!
One of the NSA's directives is for helping provide security for the rest of the gov, as a bit of an expert group. Securing OSs for gov use falls in that category.
Your NSA friends can probably tell you they're working for the NSA. They just can't say doing what.
Actually I think you're charged per use of bsod.dll. Try to avoid using that one.
Ugh.
Yes you can parallelize a VR system quite well. You can simulate a couple dozen NPCs per core, then synchronize on the collisions between the few that actually collide. You still get a nice speedup. It ain't 100% linear, but it can be pretty good. The frame-by-frame accuracy requirements are often low enough that you can fuzz a little on consistency for performance (that's usually done already. ever heard "If it looks right, it's right?").
Parallel programming is how we get more speed out of modern architectures. We're being told that we're not going to see Moore's law expand in GHz like it used to, but in multiple cores. Nobody things it's a panacea, except maybe the 13yr old xbox kiddies, but they never counted.
As for making impossible into possible, sure it will. There are lots of things you couldn't do with your machine 10-15 yrs ago, you can do now. Many systems have performance inflection points. As we get faster (either with a faster clock or a larger number of cores), we're going to cross more of them. I remember when you couldn't decode an mp3 in real time on a desktop machine. With the I/O and space costs of uncompressed music, that meant that you didn't really listen to music from your computer. Impossible -> Possible.
Two things:
First, as someone who's had to work with NT and Unix boxes, there's a *lot* of difference between matching bullet points and matching qualities of implementation. I have yet to meet one admin who can say, with a straight face (and others not laughing at them) "I understand windows access control and it is a good system."
Second, you haven't had all that since NT 3.5. For example, PowerShell came out in 2006. I don't blame you, I've heard the same sort outright lies out of MS's (and their HW vendors) salespeople for years.