XP CAME with the computers. A good reason to not bother purchasing Windows AGAIN. And XP *should* have worked for this simple task just fine.
It just couldn't be installed. Sure. You can go and suggest that the client go spend extra money. "You really need that Windows Server license". I guess you figure that the Windows that was installed was "free" in some sense. Or that the client deserved to pay twice for software. Or something.
Now, solve the problem -- get the promise controller booting with dual large drives on the HP, utilizing the Windows license that came with the box. So far, I have seen a LOT of hot air about how you should NEVER do this and still call yourself a "professional" -- but I have been there. I guess I *could* have suggested dropping another $230 for ANOTHER XP license. But isn't that strange, given that the machine ALREADY HAS ONE.
I read people quoting "don't buy HP". HP/Compaq/DEC defines the "mass market" computer. As much as Dell -- the stores are PACKED with them (Compusmart, etc.). That is not the answer.
Solve the problem. Get off of your "professional" high horse.
"Or you can just 'capture' live radio net feeds which auto name each track to their correct names.... Not quite kosher perhaps, but 100% 'legal' as in , not detectable."
Not sure about the "detectable" part. In any case, that doesn't have anything to do with the legality. The legality depends on your jurisdiction (same as allofmp3). However, there is normally a time window for retaining over-the-air recordings. Off the top of my head, its 3 days for TV, a week for news broadcasts (or something along those lines).
As for audio recordings, it is "unlimited" in my jurisdiction. But be careful... This does change according to what country you are in.
So what you are saying is that you would be willing to buy a new laptop for OSX, but not for Linux.
OSX may not run on your current laptop -- I doubt you want to risk it. No -- lets be clear... OSX WILL NOT RUN.
On to your question: yes, Apple is DRM friendly. May I recommend that that you just stick with XP? Really, its your best bet. Since you are incredibly biased against Linux, I would rather you NOT try that.
"Ideologically, I support Microsoft rather than Linux because Microsoft allows people like myself to make a living"
I take it that you work for Microsoft? Or is your living dependent on one or more particular Microsoft products (reseller)?
I guess you could also be a developer who is dependent on the size of the Microsoft ecosystem.
But none of that has anything to do with Linux, OSS, Debian or (even) Redhat (since you did bring them up). Although you do have a point -- companies would not invest in OSS unless there was a "value proposition" of some sort. Interestingly, the value proposition for Linux is usually higher for Linux in the SOHO market. As long as there aren't any teens in the house, Linux is a pretty easy sell.
This is a good marketing strategy. Other platforms are nipping as Microsofts heels; but Microsoft still owns the "off-the-shelf" game market. Tie in the games closer to Microsoft; possibly spread some funds around the industry; and get complete platform lock-in on Windows.
Now that there will be impetus to produce games for Windows (the name is GFW), it is a small step to target the Microsoft console platform as well.
So, the first releases will be for XBOX and Windows. This is called synergy; and exloits Redhat/Suse et al (the linux vendors) weakness -- gaming.
A "zombie" process is already dead. Of course you can't kill it. The PARENT must be killed.
As to network i/o waits... This is by design. The NFS server is stateless, and can be rebooted. It is possible to mount these in an interruptable way, but this is not (generally) recommended.
A process may be in the kernel -- if a device driver fails, it will not be killable. This may be due to software failure, or hardware failure. But this is not one of your mentioned cases. Both of your cases are "by design".
You are correct. Linux, Solaris, etc. have flaws. But be careful when labeling an effect you are observing a "flaw". It may be an implementation of "proper" semantics (Linux, Solaris, BSD, AIX etc. all suffer from the two "problems" you pointed out -- they are actually proper semantics).
I buy used as well -- just bought an HP Vectra VL.
It has a sticker on it that says "Microsoft Windows NT/ Windows 98". So I presume it had a Windows license. It is currently running Linux.
But, since the OEM license tracks the machine, it still has a valid Windows license, right? Even if no media was supplied on the purchase.
I guess I should contact HP for "recovery CD" for this machine.
If HP stops bundling Windows with the hardware, then they would have to track replacement media sales more carefully. Maybe that's why they don't want to...
I pay $40 CDN per month for broadband. With a 60GB monthly cap. download and upload combined.
Given that the connection is asymetric (5MB down, 1MB up) with a ration of 5:1, and that video is around 500MB per hour (bearable quality).
I can download 120 hours of video per month. If I have to have a 5:1 ratio, I could download 20 hours (spending 10GB for download and 50GB for upload). That would be 10 movies per month.
That gives a price of $4 per movie!
Blockbuster rents a movie at DVD quality -- one new release/one old release, every 5th one free, for $5 CDN.
Given 5Mbps, or 500KBPS, it would take a half hour to download a movie at 500MB per hour (presuming my connection can be kept completely stuffed).
It will take a while before this distribution technique is interesting to me...
But, I have downloaded TV programs -- that I have missed or where mis-aired. I confess an addiction to keep up with Gray's Anatomy (my mythtv missed the final episode of season two, so I had to bittorent it),
Fron the article, the idle power consumption of the 8 core xeon is ~230W. 4 core opteron us ~120W.
Which means, at idle, the single 8 way xeon is better than 2 4 way opterons. Given that the efficiency of the 8 way under load is better than the 4-way, I would think that stacking on the 8-way is better.
Of course, having two 4 way independant systems is better redundancy. On the other hand, the 8 way can be utilized to solve SMP multithread problems (without the expense of high speed interconnects).
Since redundancy is so very important, I would recommend two 4 way systems (opteron) if that meets your needs. If you need more capacity, the next step (sweet spot) would be two 8 way systems (xeon).
I would call that "fundamental feature" a security hole.
Being able to use trusted repositories to install software is ok. After all, they are trusted -- by the person who set up access to the repository. Thus, Fedora's YUMEX is ok (as an example).
But, if the end user can install an ARBITRARY package (even if she can only install it as herself) eventually leads to spam zombies. After all, net access to typically NOT restricted to root.
Even so, many Linux distributions are sucumbing to the "just click to install" integration lure.
But, as we know, there is a VERY thin line between that, and needing silly things like "spyware detection" and "anti-virus" slowing down your computer.
Then again, I am a crusty BOFH.
(OTOH, I do allow users access to a compiler, so if the software comes in source, they can install it for themselves -- I assume that spyware and virusware will normally be distributed as binaries. I could be mistaken, but I assume I can track down the source. Also, users can still download binaries, but they have to be aware of "tar" or "chmod" -- in other words, have a passing familiarity with the command line. At this point, explaining the risks makes sense... Droll/Click/Owned -- based on a reptilian brain response? I don't like that)
"advertising pays for a lot of stuff that we all get for "free"."
The person selling the product pays an advertiser. So much, in fact, that the distribution media becomes free -- in the sense that it can carry "non advertising" material. That's what you mean, yes?
But, nothing is "free". The cost of the entire thing had to be absorbed. The advertiser is making a profit, the distribution media producer is making a profit -- where did it all come from? That's right; increased cost to the buyer. Buy something that is "advertised" and you subsidize all that "free stuff".
How about having a price reduction, returning the price of the media BACK to the buyer. We need the same things; but would now have leverage in choosing the "non advertising" content. Plus, there would be a savings -- no more advertiser to pay for.
And, I wouldn't eliminate "advertising", Sometimes its useful. But, it should be in specifically sought-out areas (similar to yellow pages). And it should be "free" in the sense that the non-advertising content is today. Kick a little bit of the money being paid for the content to build the list.
For a desktop, I will agree. For a server, it is a bit more general.
I allow some people shell accounts. As long as they are not abusive. Outbound traffic monitoring is as important to me as inbound.
1 - Its bandwidth. Which is a resource
2 - I don't want to be found administering a spam factory
3 - I need to control P2P content (also see point 1). (I just had to cut someone off for sharing the movie "Click"). I do get those "take-down notices"! And I have to be brutal about it.
None of those things has anything to do with SYN flooding, etc.
Sure, let's put a NAT router in there -- and how does that help with outbound connections? If, by default, it were not transparent, it would generally be returned as defective.
Ok, let's put a non-NAT router in there. If THAT isn't transparent by default, it would definitely be returned as defective.
So how DOES a router compare at all?
Now, if you obtained your router from your broadband supplier, port 25 outbound may be blocked (I've never seen this, but it IS possible). That may be acceptable. But try blocking bittorrent...
Having done the mental experiment, I will tell you the answer to your question -- the router would fair the same as the built-in XP firewall. It would "fail" all the tests.
As to modifying the instructions upon load -- that entails visiting each instruction. This is actually not a "solvable" problem (equivalent to the halting problem). Which means that either (1) the load format itself needs to impose restrictions, or (2) that the instruction set architecture be modified to avoid the issue, or (3) that generic code be disallowed (self modifying, and code generation).
The map approach allows flexibility in these areas, which is why it is the (current) preferred solution.
As to code density -- the Apple ][ used a 6502 processor. Yes, I have worked on this; and the restrictions of the architecture are horrifying. 256 byte stack. 256 byte zero-page. Blech. Programs had to be crammed. No, the Apple ][ did not have paging -- some models had bank switching (much worse).
In a very real sense, an "OS" as resource control component is impossible on that architecture. And code density was "forced". As were absolute manual resource control. I had a 256x256 grid accounting for every single byte while working on a typical system of the day. With megabytes of memory, I can no longer do this, and require the services of an OS to help manage the resources of the system.
Mapping as an algorithmic tool is valid. For example, if I needed a data structure that needs rapid access by (say) 4 byte key, I can map the records sparsely into a 32 bit address space. I don't suffer from as many hash collisions. 64 bit address spaces offer even more opportunity for such mapping. These mappings are "static" in your sense, and the base addresses can be placed as fixed locations (for internal pointer consistency). mmap() allows this specification.
Indeed, this is the underlying memory control for most modern (perhaps all) Unix style OSs. It is an outgrowth of the fixed address spaces on previous generations of hardware (implemented via the sbrk() system) mapped onto the new flexibility of the mmap() operator, and taken to the next level.
At times the old model can still be seen -- indeed it is more efficient to use "PIC" (position independent code) generation for libraries, because the library can then be placed in different locations in different tasks by the loader while still sharing a physical copy. But this requires general cooperation between the hardware, the compiler and the loader. Given the desired generality of the hardware and OS, this is not as desirable (we have an unfortunate coupling).
As a fortunate side effect, VM can make programs that use fixed addresses and variables share, even on instruction architectures where addresses are not PIC. This provides more flexibility for the developer. For examples, look at the original Unix source utilities (like awk).
The programming style of avoiding such structures and using handles converted to pointers is the effect of attempting to write "VMish" software on hardware that had no VM support. The most popular such platforms were Mac and Windows 1/2/3. The problem is that this (in my opinion, horrible) style has persisted even after these platforms have been discarded.
So, yes, I am in agreement with you. Simple, readable code. Remove the cruft that is no longer needed (handle/pointer conversions and manual scope control). But I contend that the VM is a valuable resource in this undertaking.
A "common" GC allocator divides memory into two regions. Allocation is done from one region, by simply returning the current end of memory, and advancing. If the allocation would no longer fit, a GC pass is made, copying all live memory to the second region.
Allocation is now a constant time operation EXCEPT for the GC, and "free" is zero time.
This can be modified to tenure blocks of memory -- if a block lives over "n" copies, it is pulled from the normal allocation, thus increasing the efficiency of the copies. (Which is the "nubbin" idea behind most generational techniques).
Nope. Not the end of "VM". Virtual Memory is almost never used in an overcomitted state. The main reason we have "VM" in this day of cheap RAM is to map memory. Which allows direct addressing in data structures. Which allows sharing. And a host of other "tricks". Basically, the translation can give you free associative memory of sorts. This is also the main drive to "64 bit" computing.
"If new-desktop designers want to have something people use (rather than just scratching their own itches a dark corner somewhere) then they are implicitly going after windows desktop users by definition."
People standing in the middle of the road look like roadkill to me. -- Linus Torvalds
I disagree. Converting Windows users is not a goal for most Linux distributions. Let me quote from several distributions:
"Fedora Core is a free operating system that offers the best combination of stable and cutting-edge software that exists in the free software world."
"Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux."
"SUSE Linux Enterprise: a platform for the entire open enterprise, delivering new solutions that help you outperform competitors, cut costs,..."
Ubuntu is a complete Linux-based operating system, freely available with both community and professional support. It is developed by a large community and we invite you to participate too!
"The Ubuntu community is built on the ideas enshrined in the Ubuntu Philosophy: that software should be available free of charge, that software tools should be usable by people in their local language and despite any disabilities, and that people should have the freedom to customise and alter their software in whatever way they see fit. "
"We produce Gentoo Linux, a special flavor of Linux that can be automatically optimized and customized for just about any application or need. Extreme performance, configurability and a top-notch user and developer community are all hallmarks of the Gentoo experience."
I see a lot of ideas here (freedom, customization, performance, free of charge, cutting-edge, stable), some of which contradict each other, but nothing about converting Windows users.
So where do you get that idea from? It seems to be a common meme.
DVD playback "just works" in Windows? No, it doesn't. I installed Windows XP -- it doesn't play DVDs (not without additional programming).
As to convincing users to switch from Windows and Mac to Gnome... Is that the goal? Hate to break it to you, but it's not. In fact, that isn't even on the list of Gnome goals.
I agree that (for a variety of reasons), much of today's "chic kit" is flimsy.
On the flip-side, that chic kit tends to be the desired kit. The durable kit is available as cast-offs, which can be a major benefit. For those who are not into the chic, of course.
Cases in point: I generally don't buy new computers; instead, I cherry pick the discards. My main internet facing computer is an IBM PC 365. Yes, it weighs ~15 kilos, but it has seen 11 years and counting of duty. My workstation is an HP Vectra VL - a bit lighter, but much the same story. My keyboard? An IBM Model M. And I use a Wyse 30 terminal. An IBM 300 GL works as a file server. Nothing new -- and I expect these to last as long as I want or need them to.
This also has the benefit of keeping this kit out of landfills.
Another strategy is to purchase well behind the curve, to get excellent prices on the new "flimsy" gear. Twenty bucks will get you a 256M or 512M flash MP3 player.
Personally, I would like a "robust" cell-phone. I didn't do it, because the phone I have was "free" with my contract. And, the provider will replace the phone in two years, with renewal of the contract. Since I expect to renew, build quality didn't matter much. There was no personal "skin in" financially for me. On the other hand, my Moto StarTac is still kicking... (analog only, though)
The "OS" is simply a resource manager. It is a commodity.
And I won't tell you to "switch to Linux". I will, however, give some support to the idea that Linux is closer to the "community supported commodity OS":
I have a RAID 5 disk server. It is based on an old IBM 300 (Pentium II/266) system, with 128MB of memory (originally came with 64MB, and I put another strip in -- wasn't needed, but I had the strip in a drawer). It supplies SMB, NFS, and IMAP storage services (to four other computers). It runs headless (no keyboard/no mouse).
What is interesting is that, for this system, the OS *is* the application. The OS provides access to the resources (RAID-5 organized disk storage). No application is needed, or desired. And the "OS of choice" for this purpose is Linux or BSD (there isn't a "Windows OS" that supports this application, and it really can't run Windows XP anyway). FYI: the OS used is Redhat 9.
Windows isn't in the running (and, even if there WERE a Google OS, it wouldn't be either) because it provides a PLATFORM and I just needed an OS. Windows doesn't support NFS, or NIS (at least not out of the box, AFAIK). I guess I *could* use NT (3.51, 4?) with Hummingbird NFS server. And something for remote administration (VNC?). It hurts even thinking about it...
Google uses a commodity OS for their own needs. Google also uses various platforms (mostly Web centric) for application delivery. An "OS" isn't really what Google would deliver -- they would deliver a platform to support the "Google application" (whatever that is).
You have GOT to be kidding.
SBS for a FOUR CLIENT solution? Wow.
XP CAME with the computers. A good reason to not bother purchasing Windows AGAIN. And XP *should* have worked for this simple task just fine.
It just couldn't be installed. Sure. You can go and suggest that the client go spend extra money. "You really need that Windows Server license". I guess you figure that the Windows that was installed was "free" in some sense. Or that the client deserved to pay twice for software. Or something.
Now, solve the problem -- get the promise controller booting with dual large drives on the HP, utilizing the Windows license that came with the box. So far, I have seen a LOT of hot air about how you should NEVER do this and still call yourself a "professional" -- but I have been there. I guess I *could* have suggested dropping another $230 for ANOTHER XP license. But isn't that strange, given that the machine ALREADY HAS ONE.
I read people quoting "don't buy HP". HP/Compaq/DEC defines the "mass market" computer. As much as Dell -- the stores are PACKED with them (Compusmart, etc.). That is not the answer.
Solve the problem. Get off of your "professional" high horse.
Ratboy.
"Or you can just 'capture' live radio net feeds which auto name each track to their correct names. ...
Not quite kosher perhaps, but 100% 'legal' as in , not detectable."
Not sure about the "detectable" part. In any case, that doesn't have anything to do with the legality. The legality depends on your jurisdiction (same as allofmp3). However, there is normally a time window for retaining over-the-air recordings. Off the top of my head, its 3 days for TV, a week for news broadcasts (or something along those lines).
As for audio recordings, it is "unlimited" in my jurisdiction. But be careful... This does change according to what country you are in.
Ratboy666
So what you are saying is that you would be willing to buy a new laptop for OSX, but not for Linux.
OSX may not run on your current laptop -- I doubt you want to risk it. No -- lets be clear... OSX WILL NOT RUN.
On to your question: yes, Apple is DRM friendly. May I recommend that that you just stick with XP? Really, its your best bet. Since you are incredibly biased against Linux, I would rather you NOT try that.
Ratboy
"Ideologically, I support Microsoft rather than Linux because Microsoft allows people like myself to make a living"
I take it that you work for Microsoft? Or is your living dependent on one or more particular Microsoft products (reseller)?
I guess you could also be a developer who is dependent on the size of the Microsoft ecosystem.
But none of that has anything to do with Linux, OSS, Debian or (even) Redhat (since you did bring them up). Although you do have a point -- companies would not invest in OSS unless there was a "value proposition" of some sort. Interestingly, the value proposition for Linux is usually higher for Linux in the SOHO market. As long as there aren't any teens in the house, Linux is a pretty easy sell.
Ratboy
And yet... Storage, security and networking winners are based on Linux. Discounting Vista itself, that is 30%.
Just something to think about.
Ratboy.
This is a good marketing strategy. Other platforms are nipping as Microsofts heels; but Microsoft still owns the "off-the-shelf" game market. Tie in the games closer to Microsoft; possibly spread some funds around the industry; and get complete platform lock-in on Windows.
Now that there will be impetus to produce games for Windows (the name is GFW), it is a small step to target the Microsoft console platform as well.
So, the first releases will be for XBOX and Windows. This is called synergy; and exloits Redhat/Suse et al (the linux vendors) weakness -- gaming.
Ratboy
Interesting examples...
A "zombie" process is already dead. Of course you can't kill it. The PARENT must be killed.
As to network i/o waits... This is by design. The NFS server is stateless, and can be rebooted. It is possible to mount these in an interruptable way, but this is not (generally) recommended.
A process may be in the kernel -- if a device driver fails, it will not be killable. This may be due to software failure, or hardware failure. But this is not one of your mentioned cases. Both of your cases are "by design".
You are correct. Linux, Solaris, etc. have flaws. But be careful when labeling an effect you are observing a "flaw". It may be an implementation of "proper" semantics (Linux, Solaris, BSD, AIX etc. all suffer from the two "problems" you pointed out -- they are actually proper semantics).
Ratboy
I buy used as well -- just bought an HP Vectra VL.
It has a sticker on it that says "Microsoft Windows NT/ Windows 98". So I presume it had a Windows license. It is currently running Linux.
But, since the OEM license tracks the machine, it still has a valid Windows license, right? Even if no media was supplied on the purchase.
I guess I should contact HP for "recovery CD" for this machine.
If HP stops bundling Windows with the hardware, then they would have to track replacement media sales more carefully. Maybe that's why they don't want to...
Ratboy
Funny you should mention VIM. It had an arbitrary code execution exploit not that long ago, based on modeline interpretation.
Thankfully, VIMs presence is.. um.. low, compared to Word. Still, the HORROR! Being owned by a malicious ASCII file!
YMMV
Ratboy
I pay $40 CDN per month for broadband. With a 60GB monthly cap. download and upload combined.
Given that the connection is asymetric (5MB down, 1MB up) with a ration of 5:1, and that video is around 500MB per hour (bearable quality).
I can download 120 hours of video per month. If I have to have a 5:1 ratio, I could download 20 hours (spending 10GB for download and 50GB for upload). That would be 10 movies per month.
That gives a price of $4 per movie!
Blockbuster rents a movie at DVD quality -- one new release/one old release, every 5th one free, for $5 CDN.
Given 5Mbps, or 500KBPS, it would take a half hour to download a movie at 500MB per hour (presuming my connection can be kept completely stuffed).
It will take a while before this distribution technique is interesting to me...
But, I have downloaded TV programs -- that I have missed or where mis-aired. I confess an addiction to keep up with Gray's Anatomy (my mythtv missed the final episode of season two, so I had to bittorent it),
YMMV
Ratboy
4 core opteron x2 vs. 8 core xeon x1
Fron the article, the idle power consumption of the 8 core xeon is ~230W. 4 core opteron us ~120W.
Which means, at idle, the single 8 way xeon is better than 2 4 way opterons. Given that the efficiency of the 8 way under load is better than the 4-way, I would think that stacking on the 8-way is better.
Of course, having two 4 way independant systems is better redundancy. On the other hand, the 8 way can be utilized to solve SMP multithread problems (without the expense of high speed interconnects).
Since redundancy is so very important, I would recommend two 4 way systems (opteron) if that meets your needs. If you need more capacity, the next step (sweet spot) would be two 8 way systems (xeon).
But it is a pretty big jump.
Ratboy
I would call that "fundamental feature" a security hole.
Being able to use trusted repositories to install software is ok. After all, they are trusted -- by the person who set up access to the repository. Thus, Fedora's YUMEX is ok (as an example).
But, if the end user can install an ARBITRARY package (even if she can only install it as herself) eventually leads to spam zombies. After all, net access to typically NOT restricted to root.
Even so, many Linux distributions are sucumbing to the "just click to install" integration lure.
But, as we know, there is a VERY thin line between that, and needing silly things like "spyware detection" and "anti-virus" slowing down your computer.
Then again, I am a crusty BOFH.
(OTOH, I do allow users access to a compiler, so if the software comes in source, they can install it for themselves -- I assume that spyware and virusware will normally be distributed as binaries. I could be mistaken, but I assume I can track down the source. Also, users can still download binaries, but they have to be aware of "tar" or "chmod" -- in other words, have a passing familiarity with the command line. At this point, explaining the risks makes sense... Droll/Click/Owned -- based on a reptilian brain response? I don't like that)
YMMV
Ratboy
"advertising pays for a lot of stuff that we all get for "free"."
The person selling the product pays an advertiser. So much, in fact, that the distribution media becomes free -- in the sense that it can carry "non advertising" material. That's what you mean, yes?
But, nothing is "free". The cost of the entire thing had to be absorbed. The advertiser is making a profit, the distribution media producer is making a profit -- where did it all come from? That's right; increased cost to the buyer. Buy something that is "advertised" and you subsidize all that "free stuff".
How about having a price reduction, returning the price of the media BACK to the buyer. We need the same things; but would now have leverage in choosing the "non advertising" content. Plus, there would be a savings -- no more advertiser to pay for.
And, I wouldn't eliminate "advertising", Sometimes its useful. But, it should be in specifically sought-out areas (similar to yellow pages). And it should be "free" in the sense that the non-advertising content is today. Kick a little bit of the money being paid for the content to build the list.
Or is this entirely too radical?
Ratboy
For a desktop, I will agree. For a server, it is a bit more general.
I allow some people shell accounts. As long as they are not abusive. Outbound traffic monitoring is as important to me as inbound.
1 - Its bandwidth. Which is a resource
2 - I don't want to be found administering a spam factory
3 - I need to control P2P content (also see point 1). (I just had to cut someone off for sharing the movie "Click"). I do get those "take-down notices"! And I have to be brutal about it.
None of those things has anything to do with SYN flooding, etc.
Ratboy
Sure, let's put a NAT router in there -- and how does that help with outbound connections? If, by default, it were not transparent, it would generally be returned as defective.
Ok, let's put a non-NAT router in there. If THAT isn't transparent by default, it would definitely be returned as defective.
So how DOES a router compare at all?
Now, if you obtained your router from your broadband supplier, port 25 outbound may be blocked (I've never seen this, but it IS possible). That may be acceptable. But try blocking bittorrent...
Having done the mental experiment, I will tell you the answer to your question -- the router would fair the same as the built-in XP firewall. It would "fail" all the tests.
Thanks for reading,
Ratboy
An interesting post. Thanks. Some thoughts:
As to modifying the instructions upon load -- that entails visiting each instruction. This is actually not a "solvable" problem (equivalent to the halting problem). Which means that either (1) the load format itself needs to impose restrictions, or (2) that the instruction set architecture be modified to avoid the issue, or (3) that generic code be disallowed (self modifying, and code generation).
The map approach allows flexibility in these areas, which is why it is the (current) preferred solution.
As to code density -- the Apple ][ used a 6502 processor. Yes, I have worked on this; and the restrictions of the architecture are horrifying. 256 byte stack. 256 byte zero-page. Blech. Programs had to be crammed. No, the Apple ][ did not have paging -- some models had bank switching (much worse).
In a very real sense, an "OS" as resource control component is impossible on that architecture. And code density was "forced". As were absolute manual resource control. I had a 256x256 grid accounting for every single byte while working on a typical system of the day. With megabytes of memory, I can no longer do this, and require the services of an OS to help manage the resources of the system.
Mapping as an algorithmic tool is valid. For example, if I needed a data structure that needs rapid access by (say) 4 byte key, I can map the records sparsely into a 32 bit address space. I don't suffer from as many hash collisions. 64 bit address spaces offer even more opportunity for such mapping. These mappings are "static" in your sense, and the base addresses can be placed as fixed locations (for internal pointer consistency). mmap() allows this specification.
Indeed, this is the underlying memory control for most modern (perhaps all) Unix style OSs. It is an outgrowth of the fixed address spaces on previous generations of hardware (implemented via the sbrk() system) mapped onto the new flexibility of the mmap() operator, and taken to the next level.
At times the old model can still be seen -- indeed it is more efficient to use "PIC" (position independent code) generation for libraries, because the library can then be placed in different locations in different tasks by the loader while still sharing a physical copy. But this requires general cooperation between the hardware, the compiler and the loader. Given the desired generality of the hardware and OS, this is not as desirable (we have an unfortunate coupling).
As a fortunate side effect, VM can make programs that use fixed addresses and variables share, even on instruction architectures where addresses are not PIC. This provides more flexibility for the developer. For examples, look at the original Unix source utilities (like awk).
The programming style of avoiding such structures and using handles converted to pointers is the effect of attempting to write "VMish" software on hardware that had no VM support. The most popular such platforms were Mac and Windows 1/2/3. The problem is that this (in my opinion, horrible) style has persisted even after these platforms have been discarded.
So, yes, I am in agreement with you. Simple, readable code. Remove the cruft that is no longer needed (handle/pointer conversions and manual scope control). But I contend that the VM is a valuable resource in this undertaking.
YMMV
Ratboy
A "common" GC allocator divides memory into two regions. Allocation is done from one region, by simply returning the current end of memory, and advancing. If the allocation would no longer fit, a GC pass is made, copying all live memory to the second region.
Allocation is now a constant time operation EXCEPT for the GC, and "free" is zero time.
This can be modified to tenure blocks of memory -- if a block lives over "n" copies, it is pulled from the normal allocation, thus increasing the efficiency of the copies. (Which is the "nubbin" idea behind most generational techniques).
There is no heap structure implemented at all.
Ratboy
Nope. Not the end of "VM". Virtual Memory is almost never used in an overcomitted state. The main reason we have "VM" in this day of cheap RAM is to map memory. Which allows direct addressing in data structures. Which allows sharing. And a host of other "tricks". Basically, the translation can give you free associative memory of sorts. This is also the main drive to "64 bit" computing.
YMMV
Ratboy
Cheaper -- as in costs less to manufacture. Priced higher -- as in retailer takes more money.
Who says? Last time I looked, the cable and connectors were the big expense item. Wireless is just a chip, and potentially a wee little antenna.
Of course it is PRICED higher. But the wireless is cheaper, in most cases.
Ratboy
"If new-desktop designers want to have something people use (rather than just scratching their own itches a dark corner somewhere) then they are implicitly going after windows desktop users by definition."
People standing in the middle of the road look like roadkill to me. -- Linus Torvalds
I disagree. Converting Windows users is not a goal for most Linux distributions. Let me quote from several distributions:
..."
"Fedora Core is a free operating system that offers the best combination of stable and cutting-edge software that exists in the free software world."
"Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux."
"SUSE Linux Enterprise: a platform for the entire open enterprise, delivering new solutions that help you outperform competitors, cut costs,
Ubuntu is a complete Linux-based operating system, freely available with both community and professional support. It is developed by a large community and we invite you to participate too!
"The Ubuntu community is built on the ideas enshrined in the Ubuntu Philosophy: that software should be available free of charge, that software tools should be usable by people in their local language and despite any disabilities, and that people should have the freedom to customise and alter their software in whatever way they see fit. "
"We produce Gentoo Linux, a special flavor of Linux that can be automatically optimized and customized for just about any application or need. Extreme performance, configurability and a top-notch user and developer community are all hallmarks of the Gentoo experience."
I see a lot of ideas here (freedom, customization, performance, free of charge, cutting-edge, stable), some of which contradict each other, but nothing about converting Windows users.
So where do you get that idea from? It seems to be a common meme.
Ratboy
DVD playback "just works" in Windows? No, it doesn't. I installed Windows XP -- it doesn't play DVDs (not without additional programming).
As to convincing users to switch from Windows and Mac to Gnome... Is that the goal? Hate to break it to you, but it's not. In fact, that isn't even on the list of Gnome goals.
Ratboy
I agree that (for a variety of reasons), much of today's "chic kit" is flimsy.
On the flip-side, that chic kit tends to be the desired kit. The durable kit is available as cast-offs, which can be a major benefit. For those who are not into the chic, of course.
Cases in point: I generally don't buy new computers; instead, I cherry pick the discards. My main internet facing computer is an IBM PC 365. Yes, it weighs ~15 kilos, but it has seen 11 years and counting of duty. My workstation is an HP Vectra VL - a bit lighter, but much the same story. My keyboard? An IBM Model M. And I use a Wyse 30 terminal. An IBM 300 GL works as a file server. Nothing new -- and I expect these to last as long as I want or need them to.
This also has the benefit of keeping this kit out of landfills.
Another strategy is to purchase well behind the curve, to get excellent prices on the new "flimsy" gear. Twenty bucks will get you a 256M or 512M flash MP3 player.
Personally, I would like a "robust" cell-phone. I didn't do it, because the phone I have was "free" with my contract. And, the provider will replace the phone in two years, with renewal of the contract. Since I expect to renew, build quality didn't matter much. There was no personal "skin in" financially for me. On the other hand, my Moto StarTac is still kicking... (analog only, though)
Ratboy
The "OS" is simply a resource manager. It is a commodity.
And I won't tell you to "switch to Linux". I will, however, give some support to the idea that Linux is closer to the "community supported commodity OS":
I have a RAID 5 disk server. It is based on an old IBM 300 (Pentium II/266) system, with 128MB of memory (originally came with 64MB, and I put another strip in -- wasn't needed, but I had the strip in a drawer). It supplies SMB, NFS, and IMAP storage services (to four other computers). It runs headless (no keyboard/no mouse).
What is interesting is that, for this system, the OS *is* the application. The OS provides access to the resources (RAID-5 organized disk storage). No application is needed, or desired. And the "OS of choice" for this purpose is Linux or BSD (there isn't a "Windows OS" that supports this application, and it really can't run Windows XP anyway). FYI: the OS used is Redhat 9.
Windows isn't in the running (and, even if there WERE a Google OS, it wouldn't be either) because it provides a PLATFORM and I just needed an OS. Windows doesn't support NFS, or NIS (at least not out of the box, AFAIK). I guess I *could* use NT (3.51, 4?) with Hummingbird NFS server. And something for remote administration (VNC?). It hurts even thinking about it...
Google uses a commodity OS for their own needs. Google also uses various platforms (mostly Web centric) for application delivery. An "OS" isn't really what Google would deliver -- they would deliver a platform to support the "Google application" (whatever that is).
Ratboy