Looking at what your setup is, I can say that you really have three options:
Straight to Tape - since you're running an EMC, I'm going to assume it's hooked up to the Suns via FiberChannel in a SAN. In order to get the throughput you need, you're really going to need about a 4-drive LTO or DLT library (since you can't stream all hour, there are going to be short windows of low-performance). And you have to leave room for growth of the data. The library should be dual-looped FC to get full performance.
Local Snapshot w/ offline-tape - by this, I mean you will have to add capacity to the EMC to do a local snapshot, then backup the snapshot at a later time. For this, you can get away with a 1-drive LTO/DLT, but it really still should be FC on the SAN.
Other Snapshot w/ offline-tape - if adding the snapshot capabilities to the EMC are too expensive (and that's a good possibility), consider adding something like a A1000 to the network (for instance, on your backup host). Backup the SAN data to the A1000, then use a locally-attached DLT/LTO drive to backup the A1000.
Honestly, I would prefer the last option. You already need a backup host machine with FC connectivity and enterprise backup software in any of the scenarios. Adding a 100GB A1000 (or D1000) to this is only going to run $10k or so, and you don't need a massively expensive FC tape library, or the EMC snapshot software. It'll grow with your backup needs, and is relatively inexpensive. And you can keep last nights (or a couple of nights) worth of backups on the A1000 for fast recovery. Disks in an A1000 are much cheaper than for an EMC.
I'd go with something like the Sun L20 mid-size (2 LTO drives, 20 cartridges, 2TB total) with a 200GB A1000. Sun list is about $35k for these together.
As a previous post reminded me, I fell in love with chess about 4th grade, and kept going strong until I suddenly realized in 7th grade that it was totally artifical - there was no "porting" its lessons to real life.
And that's when I gave up on Chess - when I realized that it was a completely constrained, artifical environment just like I was creating for myself in Real Life. The thing about chess is that its almost completely a game of recognizing previously-identified patterns of play, then countering them with a pre-selected strategy. Not until you get to beyond Grandmaster is there room for innovation. And even then, its constrained to a couple of moves in a 30-move match.
What I look for in my games nowdays is the element of outside interference - items not in the control of either player (or any player, in the case of MP games). That's where the real creativity and brilliance comes in - the capability and flexibility to cope with situations which could not be reasonably forseen (though adept planning will make coping much easier).
I wish we would have more games for kids in this manner - ones which not only met that "Creative Problem Solving" mantra, but also give their players a taste of what they'll need to really know: how to expect the unexpected (and unpredictable) and to cope with them.
Chess is fun, insofar as it teaches good pattern recognition and a disciplined mind. I would argue, though, that if you haven't move beyond it after a couple of years, you really are hurting yourself.
Rating systems can be very good, as they provide a short, distilled summary of the information contained in the thing rated. And face it, given the massive amounts of information available out there, everyone (not just kids) needs help sorting out what's valuable, and what's crap. We can't read it all - you have to depend on someone else's opinions. This is the way life works, you depend greatly on others opinions and summaries of material to make a judgement about it.
The problem isn't with a rating system per se, but rather with who controls the ratings (ie, who are the raters), and what criteria they use for rating content.
In a pluralistic society, the ideal way to form an opinion is to take input from several different sources. You trust (or weigh) the opinion from each source based on how closely that source has matched previous decisions of yours, plus knowledge of how closely that source's ideals, morals, et al fit yours. You can then make a good informed judgement.
What the web needs is multiple independent rating organizations. The ALCU should be able to rate things. So should the New York Times, the Christian Coalition, the Aryan Nation, the Nation of Islam, the American Medical Association, and anyone else. There should even be an organization that allows for the Web site owner to self-rate based on that organization's posted guidelines. The only two criteria for being a Rater should be that the rating criteria be published, and that the ratings of various sites be publicly displayed. I can thus chose to accept ratings data from any parties I consider trustworthy.
The PICS system was a great proposal, and honestly, one that I think needs to have a much greater push with it. It allowed for this independent ratings network to be set up, didn't require a single centralized ratings system, and was easily parsable by any "filtering" software. It even allowed for multiple ratings from different raters for the same site.
I want PICS. If we could get the system set up, and get everything rated, it would be a whole lot easier to find stuff out there. And it would leave the choice of making informed opinions where it belonged: in the user's hands, not in the government's, not some semi-legal ratings board, and not some random corporation.
-Erik
Aerobraking and probe intelligence...
on
The Art of Aerobraking
·
· Score: 5, Informative
No, I'm not going to talk about V-ger or anything like that.
The article mentions that one of the major problems with aerobraking is the fluctuation in density of the admosphere causes problems with calculations for the aerobraking. That got me to thinking...
Now, recently, we've started to build the landers with a reasonable amount of autonomous intelligence, so they can cope with some problems without requiring instruction. However, from all that I've read, all the space-borne probes we've send are dumb as a rock: that is, they can't do anything that Mission Control doesn't tell them to. They're a true remote-controlled vehicle.
The problem with this approach is the time lag between Earth and wherever they are (which is measured in light-minutes). I realize that adding some sort of intelligent processing to a probe causes an additional weight to be carried (and power consumed), but for christ sakes, I can get a Lego Mindstorms to run around my livingroom by itself; one would hope that we might be able to build a semi-autonomous space probe.
Basically, we should be able to build something that does this (MC=Mission Control, SP=Space Probe):
MC: probe, prepare for insertion! Here are the initial data parameters, go in 5 seconds! We will talk again in 5 minutes when you get to position X.
SP: thanks, MC. <sounds of intersteller number crunching>
SP: ok, control vanes, move here; rocket, fire in 4, 3, 2, 1...
(3 minutes later, and atmosphere unexpectedly thickens) SP: oh no! Quick, recalculate! <more i.n.c. noises> rocket, give me a 2 second burn then turn 43 degress for a 1 second burn!
(SP arives at X 20 seconds late) MC: good job! here's some updated positional data for the next pass...
Basically, what I'm suggesting is that we break the mentality of requiring absolute control over the probe at all times, and allow them a degree of adaptability and flexibility by providing them with some reasonable programming. That's no happening now. And as the maneuvers we attempt grow in complexity, we're going to find it almost impossible to completely pre-calculate everything. If we keep trying, we're going to fail.
Adaptable and intelligent semi-autonomous probes are the long-term solution.
National ID cards (in the US, replacing the mishmash of Social Security, Driver's License, Military ID, blah blah) are actually a privacy enhancing thing, if backed up by the proper regulations.
Right now, in the US, we (ie the individual) have virtually no way of tracking who is tracing us, and identity theft is difficult to trace. There are a thousand and one different places to steal access to, any one of which can be used to forge access to another. And furthermore, there is almost no way to keep track of who accesses what information.
Even if the US put in reasonable privacy laws for the current system, keeping track of all accesses to your information is problematic, at best.
I'd be all for a National ID card, should they pass reasonable privacy laws with it. And my definition of privacy laws is this: I get to control who has access to what information, I decide what information can go in the system, I decide the granularity of info given to people, I own my information, nobody can collect information about me (unless as an unidentifiable part of an aggregate) unless I explicitly permit it, and no one can share any information about me with anyone else. There would be exceptions for court-ordered disclosures for law-enforcement, but that's it.
That system would be great: it would prevent a person with a suspended driver's license in one state from getting a new one in another, while at the same time prevent company A from discovering I like Mary Typer Moore shows by my viewing habits, then selling this info to company B.
Having a properly monitored and regulated central database of personal info is far better than the completely insecure mishmash of crap we have today.
But unless they put in those restrictions, Hell No!
Something that no one has noted about, and which is the primary reason to continue to have swap these days, is the difference in behavior between the reserved and allocated memory space of a process.
As a previous poster pointed out, from a system standpoint, there is no difference between having a machine with 64MB RAM/256MB swap and one with 320MB RAM/no swap. If both machines have 320MB of memory being actively used by a processes, the next call to allocate memory will result in an "no available memory" error.
What people are missing is that when a process starts up, it reserves a chunk of memory for use. Now, while the process runs, it allocates (or uses) a this reserved memory. In some cases, it exceeds the reserved amount, in which case the kernel allocates more of it. But in many applications, the allocated memory never surpasses the initial reserved amount. But the reserved amount is what counts for calculation of available free memory by the kernel. Thus, for most processes, there exists a chunk of memory that isn't going to be used by that process, but cannot be used by any other process. If you have a swap space, this chunk is "swapped" out (in reality, nothing is written, just the address space is allocated in the swap space).
Look at this scenario:
Process X reserves 100MB of memory, but only ever allocates 50MB. Process Y reserves 100MB of memory, and allocates the full 100MB.
For a machine that has no swap space, the user can run an equal number of X as they could Y. All processes would run at full speed (no degredation due to swapping).
For a machine with swap space equal to the amount of RAM, you can still run the same number of X as Y. However, all X run at full speed, while half of Y must swap in and out. Thus, performance is considerably slower.
What this means is that for a fixed amount of RAM, more of your processes can run at full speed if you have some swap. In addition, since extra RAM is freed up by using swap for the "reserved" memory, it is available for buffering, etc.
Bottom line: having some swap is good. Look at the documentation for your applications to estimate how much you need, but these days, I would consider the minimum to be 256MB swap for any machine with at least 128MB of RAM.
I then cried, as I realized that the misguided views show there are by far the majority opinion of the "elites" in the University system.
Goldstein has no clue as to what it means to be an Elementary teacher, nor even a clue as to what we should be trying to aim for in our Elementary system. He's looking at it from the Ivory Tower, where all 1st graders are simply younger versions of the grad students he sees; they don't know as much, but you should obviously be able to teach them the same way.
Bullshit.
And to all the people above who post that anyone with "field" experience in a discipline should be able to go right into a teaching position without finishing a teaching certificate: knowing the subject material has very little to do with knowning how to teach the subject material.
I don't know what schools Goldstein looks at, but the vast majority of schools providing teaching certificates require several basic-level science courses to get a degree. In PA where I grew up near one of the big "teacher's colleges", a typical Elementary Education teacher would take a Biology and Physics class (about at the same level as advanced AP Physics), which should impart a really good understanding of what science is about, if not a real breadth or depth of scientific knowledge.
In reality, the type of people who have long industry experience, or many advanced degrees you would NEVER want in an Elementary teaching position. The job requirements are completely different. Being smart isn't enough: you need the proper training.
Being a Elementary teacher is primarily socio-psychological: you're attempting to impart some basic knowledge of how things work, and how to function in a society. Without a foundation of solid skills and (rather rote) knowledge to build on, there isn't any hope of producing a free-thinking, creative, explorative mind. Middle-school and high-school is where we need to focus on taking the student on new paths and move away from rote-learning. Elementary school is for making you a basically-functional citizen.
Final lesson: never let the PhDs run primary or secondary education. They have their own agenda, and have no clue as to what they're really dealing with.
If you want my opinion, the vast majority of primary and secondary school teachers are doing a good job. Sure, there are a minority of bad teachers, but the major problems don't lie with the teachers: they lie with the school boards, the administrators, and ultimately, the parents. Fix the things wrong there first, then worry about the teachers.
I would agree with the basic thesis that multitasking (whether individual or computer) has an inherent overhead that reduces the overall amount of work than a simple serial-tasking method.
However, this simplistic viewpoint fails to take into account PRIORITY.
In a multi-tasked environment, seldom are all tasks of equal priority or importance. In the Real World, no two tasks have the same importance. And this is where multi-tasking wins out over serial-processing. Some jobs simply MUST be completed before others, due to either inherent attributes of the job, or priorities assigned to the work by an outside source. And a multi-tasking methodology is really the only way to efficiently process this workload.
The "most efficient" method of working varies according to the details of the workload. For those who have a low number of total tasks or where all tasks have generally the same priority, a serial system can be the most efficient, since a change in the current job's overall priority seldom occurs, and context switching is limited to times where the primary task is busy-waited. However, for environments where there are large number of tasks (and particularly where the priority levels vary greatly), Serial Processing is highly inefficient, and the context switching overhead of multitasking is more then worth the penalty in order to get "real" work done.
In my humble experience, Programmers, QA, Doc Writers, and Marketing all generally should be fit into the Should-Really-Be-Serial-Processing bin, while SysAdmins, Secretaries, and Sales derive the most efficiency in being Multi-tasking.
As always, this discussion fits the maxim:
For every complex problem, there is a solution that is simple, neat, and wrong- H. L. Mencken
Beward of people offering absolute answers to fuzzy questions.
...They are certainly correct in that opening their network is not anywhere as simple as the Telcos and DSL people. For telcos and the DSL providers, they have a very distinct Layer 2 vs Layer 3 division here. The link from the End-User to the local CO is a point-to-point link; that is, unshared. The ISP can then tap into the data stream at one of several points (the closest being the local CO, the farthest being a long-distance backhaul). The bottom line here is that DSL/T1/T3 connections can all be made at the Layer 2 level, with no consideration for IP numbering. That makes it easy for ISPs to compete, since they bear the cost for all layer 3 equipment, and can differentiate their products that way.
With cable modems, however, the medium is shared. The best (albeit a inadequate one) analogy is that every cable modem is a workstation on a old thinnet (10Base5) ethernet network, with IP information assigned via bootp. While it is possible to have multiple IP ranges assigned on a local neighborhood loop, it can get real messy real fast. Also, a large amount of the Layer 3 hardware will be (and realistically, should be) provided by AOL, so they bear a large amount of costs that would otherwise be done by the ISPs. Thus, it's far harder to differentiate one ISP from another.
It's possible, and I definitely think we really need to make sure that cable providers compensate the public for their locally-granted monopolies, but it's not anywhere as simple as with the telcos.
First off, as others have stated before, the primary technical solution is to never trust the client. The following assumes that all appropriate technical measures have been taken to minimize the change of cheating.
That said, people will still find a way to cheat. The fundamental reason is that none of the "real-life" barriers to cheating currently exist in the on-line community. This is primarily due to these factors:
No Permanent Indentity - since anyone can be anyone (and, more importantly, one person can have an unlimited number of pseudonyms), applying some penalty to one identity has virtually no effect.
No consistent and methodical punishment system - there essentially is no "legal" system for cheaters. How do we define cheating? How does it get reported? How is one "convicted" of cheating? What happens if you're a cheater?
A social system which currently actively promotes people who cheat - for the most part, people who devise cheats are held in veneration for their technical skills. In order to get the desired recognition, the cheat-maker must widely disseminate their cheat; otherwise, how are people to know how cool they are? This is a phenomena related the cracker groups.
We can only defeat cheating through a change in the social system. The problem is primarily sociological, not technical. Here's how I'd go about it:
Fixed Identities - no, I don't mean you have to be "Bob Jones" on the system, but rather this: when one buys a new game (for $50), you get a serial number. Perhaps an RSA-signed message. When the user tries to log into the online system for the first time, they are required to enter their serial number. They can then generate an identity. The system then associates that Serial Number with the Identity. Thus, if the company terminates the Identity (for whatever reason), the player loses the ability to ever create another Identity. They would face a financial penalty (you have to go buy another copy of the game) for cheating. There are nuances to this (like allowing a person to create another identity if they haven't been terminated, but you all get the idea), but the general idea is to create a system where terminating a player's identity locks them from creating any other identity.
Coherent, Simple, Swift Justice - an on-line game should have a obviously-posted cheating policy, defining what is considered cheating (which should change over time as required), and a clearly-spelled out punishment system. There should be a easy way for players to report a cheater, and a defined methodology for "trial" (which could be as ruthless as "We (the company) have the sole discretion to determine your guilt/innocense"). Thus, everyone knows the law, it's easy to report violators, and justice is swift.
The on-line community quits handing out accolades based on technical skill alone - we need to start evaluating the ends to which people use their skills, not just the skills themselves. The techie community has long buried its head in the sand over this issue (perhaps because of its close association with the Defense Industry and some unresolved guilt therefrom), but people, there's more here to judge a person on. To use a bad example: Hitler was one of the most efficient and charismatic leaders of the past century. Nazi Germany had probably the best-run (ie most efficient at carrying out stated goals) government in a very long time. Should we emulate them? Admire them?
We can lick the problem, but it's not all in the game-designers' court. Some of the responsibility lies in the gaming community itself.
...everyone likes to say "Now, for the first time in History, there exists a species on Earth that can do something about a earth-impact"
Unfortunately, that's just not true. Currently, even if we had bought the proper equipment, there is very little we could do to stop a 1km+ rock (or, esp. a comet) from coliding with the Earth. Basically, we've got the technology right now to see the hit coming, but not really do anything about it. Nukes and other missile-like interceptors aren't good enough, we don't have good enough energy weapons, and our space-flight technology isn't up to the task. So, basically, if we see something coming in the next century, we're fucked.
So if we can't stop it, can we prepare for it? Unfortunately, I'm going to have to say no to this is too. There's no way we could put away enough food and supplies to feed even 0.1% of the populance for the required decade or so after a major earth-impact. Most likely, the best we could do would be provide for 10,000 or so. And a modern Democracy simply isn't going to be able to sustain this kind of project - it would run hundreds of millions, and that's not going to fly with the voters. Sorry. And, honestly, is that money well spent? To spend perhaps billions over the years on something that has a 0.0001% of happening, or use the money to stop ozone depletion/polution/pick your favorite Earth Day project.
So, what's our best bet? Work like hell to get to the point where we can defend ourselves. The good news here is that spending on this kind of thing has all sorts of other uses, besides "impact defense". We need to spend lots on making spaceflight cheap to get orbital (and preferably Moon-based) stations going on a large scale. Faster and more practical space propulsion (ion engines? Space Sails?) Advances in energy and kinetic weapons that could allow us to pulverize a potential threat while still several AU away. Multiple large Hubble-like detectors scanning the heavens.
The point here is that realistically, there is very little we can do right now. However, given the proper schedules, funding, and willpower, we could have the defence capability by the 22nd century. And along the way, invent a whole lots of other stuff that we can really use. Think of it as the Moon Project for the 21st century.
In other words, it makes no sense to protect your data with a $1000 backup system if it's only worth $1 .
There are actually three different problems which while related, have different priorities:
Backup, or "Oops, I deleted something and need it back". This also covers crashes and normal system data loss. Basically, recovery of any data from yesterday, with a very short timeframe (no more than 24 hours in most cases, a few minutes in the best cases). The time window (eg age) of data is a set period (say, no more than 4 weeks ago) from the present day, and data older than this is purged.
Disaster Recovery, or "Oops, the building burned down, how do we keep the business running?". Or in other words, the ability to completely reconstruct the data to yesterday's state WITHOUT any backups. Timeframe varies from a few hours to several days to get back online. The only concern here is to get back to yesterday's status, so all you need is a complete copy of the data yesterday (or however old your disaster plan calls for). Thus, it's a single snapshot in time of the data.
Archiving, or "Oops, we're being sued/audited, where are the records from 5 years ago?" Here this is the ability to get specially designated data back, and to insure that previously stored data remains intact.
Anyway, back to the question. EMP isn't a concern. Don't delude yourself with visions of your importance. Your data isn't that important. For general business use, there are a considerable number of places that will act as data storage vaults for your important data. Keep an archive copy at work, and one at the data vault (and one somewhere else if you can, like at a branch office). If you're going for archive-quality recordkeeping (that is, you need to keep data for say 10 years, and be sure it's there and readable), get the data pressed onto mastered CDs. Not CD-R or CD-RW or anything like that, but pressed CDs (like those which Music or commercial software comes on). Mastered CDs are very resistant to water, heat, and electrical damage. And their shelf life is beyond your life expectancy.
In the end, for archival media, everyone nowdays uses pressed CDs that are stored in at least 3 (and if you're serious, 5) geographically distinct places. If you do this, you don't have to pay special attention to protection at all the locations.
... OK, I went back and re-read a couple of sections of the GPL, and though IANAL, it makes no mention of how/what I have to do with the binary itself.
Thus, as far as I can tell, this is a perfectly legitimate way to work this:
Create an ISO image of the distro
Charge $15 per download
Offer a free download of the source code for all GPLed packages on the ISO image.
Forbid anyone to mirror/give away the binary from #1.
Now, of course, people could take the source obtained from #3, and build their own ISO image, then redistribute that themselves, and this is perfectly legal. However, should the original author choose to, he can forbid the distribution of the original executable if he wants. Or he could demand a royalty. Or whatever. It's all legal under the GPL.
Probably about the only way to enforce this would be through watermarking the original binary. Otherwise, how would you tell if a binary is yours or not?
One last thing: I could certainly see a possible place where this would be a big benefit: suppose I have Super-Wiz-Bang-Studdly-Compiler that spits out really optimal code. I could sell the binary that I compiled with my compiler, and then give away the source for use by people with GCC (or any less Studly compiler). You could charge per copy, and not let people distribute your version, but still give people the freedom of the code. IMHO, this is a good value-add.
I would argue that all software patents aren't evil, and should be allowed, as should business method patents.
However, the problem lies in how the USPO (and similar institutions in other countries) seem to interpret an application for a patent on software/business method, and as to the defintion of what is patentable therein.
I think the basic starting point on this issue is to agree that the subject of a patent is the implimentation, not the idea. Allowing people to patent (and therefore gain exclusive use) of ideas is generally grokked to be a Bad Thing. However, it seems to be a Good Thing to allow for time-limited exclusive use of certain implimentations of those ideas.
The current problem with Business Method and Software patents in the US is that they've got it backwards - the USPO is now essentially granting patents on ideas. Go read bunch of the applications - its the idea they want exclusive use for, not the implimentation. The patent apps are so general that it can't even be hypothesized that the application is for an implimentation.
Therefore, I think we should allow patents on Software and Business Methods, but require them to fit these criteria:
For Software, only the code that impliments the idea is protectible.
Packet design is protectible (as it is a concrete implimentation) provided it is part of the whole application. Likewise with APIs.
Specifications are NOT patentable, as they are ideas, and not implimentations.
Mathematical Algorithms are patentable. However, a patent on an algorithm must be obtained seperately. Thus, you cannot invent some neat new way to do Bubble Sort in C, and then claim ownership of all Bubble Sort algorithms. You can invent SuperDuperSort ( a/2 + b/2 +.. = z) and apply for a patent on the algorithm alone.
Business Methods can only be allowed if they are specified in great detail (exactly how each step is to be completed, with what methods, etc.). Methods must be completely different than anything in use anywhere else in order to be granted. In my mind, the model should be similar to cooking recipes - you have a specified series of steps, each of which details what to do.
The protection time should be much shorter than 20 years for Software/Business/Algorithms. The original time was long because there was a considerable setup delay, which doesn't apply in these cases. I would vote for a 3-5 year period.
I think of software patents as essentially enhanced copyright - the author has come up with a neat way to code a particular problem, and no-one else can use that code segment (even translated into another programming language) until the patent expires. But that should be the limit on software patents.
As previously mentioned, the UTICA regulations are perhaps the worst thing ever to come out of a committee. Period.
what everyone seems to foget is the Achille's Heel of the proposals: Only Large Software Companies Benefit. Everyone, and I do mean everyone, else is hurt.
Look at some of the opposition groups/members:
Boeing Aircraft and General Motors - two of the biggest companies in the world.
The entire small-to-medium-size software company industry
The Small Business Administration
The American Law Association (particularly, contract lawyers)
Most known Consumer Groups
The San Francisco Cronicle, New York Times, Boston Globe, and the entire Newspaper Publisher's Assoication of America. In addition, virtually the entire computer/technology press has voiced strong objections.
While most people (including the representatives) seem to assume that Business(tm) is all for UTICA, this is simply NOT TRUE. And therein lies the way to effectively fight it:
Get the text and the Bill number that lays out UTICA in your local Legislature.
Take it to your company's Legal team, and explain to them why this is such a horrible thing. Use all the arguments from the various anti-UTICA sites around (I'm not going to post them here, because others have). Unless your company has deaf, dumb, and blind lawyers (and let's be honest, most corporate lawyers aren't stupid), they'll look at the Bill, listen to your arguments, and turn deathly pale as they realize what it will do to the company.
Get your company to write a strong letter of disapproval to the Legislature. Get a copy.
Take the Copy of your company's letter, and go to a couple of other companies you deal with, or even just patronize, and that use computers to run the company (and which company doesn't these days). Ask to talk to a manager. If you can, talk to someone senior. Explain the whole thing, and show them the letter from your company.
Get other companies to either sign on to the letter of disapproval from your company, or write their own. Get them sent.
Compile a list of the companies you get to disapprove.
Repeatedly call and write your Legeslative rep with the full details of why UTICA is bad, the general opposition, then include all the local companies you know of that have signed off on hating the bill.
If you can get something like this reasonably organized, when your rep gets 2 dozen angry letters from companies of all sizes and industries in his district, he's going to be reallllly cautious about the Bill, and that's what you want - serious debate, not a rubber-stamp. Because, in a serious debate, UTICA will lose. There are too many opposition members. UTICA's only hope is to ram it through (or sneak it in) before the opposition can organize. Don't Let That Happen.
-Erik, who is busily practicing what I preach here in Silicon Valley.
The thing that I think is a fatal flaw in everyone's arguments about whether Linux will "thrive" (or even "survive") is that they assume two completely false things:
An OS must work equally well as a desktop and as a server.
There can be only one OS on the desktop
Both are completely false, and this is something we as Linux advocates need to remember. Is Solaris any kind of OS for your Mom? I don't think so. Neither are any of the *BSDs. Does that make either of them failures or likely to die soon? Definitely not. Do you run Windows in the datacenter? Not seriously. But Windows is still a success.
The future is interoperability. You will have PCs, personal workstations, internet appliances, and even set-top boxes that all can run the same basic "productivity" apps (though not necessarily the same binary), and you will be able to transfer a document from one to another transparently (hopefully, the docs will be in XML or SGML). Windows will run on some PCs and internet appliances (and maybe consoles like XBox), BeOS will do settop boxes and internet appliances, *BSDs will do appliances and a few PCs, and Linux will do workstations and PCs (and some appliances). If none have more than 40% market share, I would consider this a rousing success, as no one is powerful enough to dominate and thus hurt the impetus for interoperability.
The message is this: OSes are custom - they all have their niche (though it can be a broad one). In my opinion, trying to make a single OS do everything is a Bad Thing. This is the one thing I see Linux trying to do, and we really need to stop and think if this is appropriate (in my opinion, it isn't). Pick a couple of things to specialize your OS in, and don't try to be a Jack-of-All-Trades (and a master of none).
This is insanely off-topic, but it's worth mentioning, because it comes up every time someone suggests we cut the nuclear triad to save mondo buckaroos:
Nuclear Forces Cost Virtually Nothing. In comparison to the conventional infrastructure, that is. Yes, the R&D for the B2, Ohio SSBNs, and Trident D5 were very expensive, but everything except the B2 pales in comparison what we're going to spend on the F-22, F-117, SeaWolf, and JSF.
Fundamentally, about the only significant cost-savings you can squeeze out of the Nuclear forces is not to build any more B2s (I think we have 1 scheduled for FY2002, at about $2B ). Cutting anything else is a tiny savings, since we've already done the research and paid for the hardware, and there is fundamentally very little there to begin with.
Yes, I'm very much for getting rid of the B2 force, and seriously cutting the MX/Minuteman deployments. But don't be fooled. These aren't going to save any significant money (doing both of the above might save a few hundred million/year, tops). Compared to the billions it costs to keep a single Carrier task force running, or an Armored Division prepped, this is peanuts. And remember, a huge amount of the military budget is personnel (pay, medical benefits, housing, et al), consumables (new ammunition, jet fuel, etc.) and R&D, all of which have very little to do with the nuclear forces.
If you're going to cut nukes, do it for strategic reasons. Don't be an idiot and think it will save any real money, though.
I actually have no problems with Linux NFS v3. Unfortunately, I'm not using one of the journaling FS (xfs/reiserf/ext3), and I have a couple of friends who have had problems with using the jFSes in combo with NFS3. I wouldn't consider it prime-time on Linux yet.
I have no experience with *BSD and NFS3, so I can't comment there.
A couple things to remember when looking at the hardware:
Are you comparing Apples to Apples? By this I mean that your Sun system is probably something like a Netra T1 AC200 and a A1000 array (which would list for about $20k together), but is your PC system equivalent? By that I mean it had better be compared to a IBM xSeries 230 w/ external drive cage or a Compaq DL380 and drive rack, not Joe Schmoe's Local Linux Special.
Have you factored in Support Costs? If you're a totally Sun shop, saving a couple of grand on a PC system isn't worth the extra hassle managing the vendor relationship for that one PC. If you're a mixed shop, I would only consider getting the PC from the company who makes the majority of your PC servers. Support is a big issue.
Compare warrantees. Assuming your doing a production environment, do all the hardware systems come with a warranty that means your exacting requirements? If not, can you get an uplifted warranty (and what does that cost?)
And lastly, what about your in-house expertise? Don't just think of yourself, because you might get sick / hit by a bus / quit and move to another job. The company needs to be able to competently manage the system for at least 3 years. Can they expect to do that with a reasonable turnover in the current employee base?
Good luck. Honestly, I'd investigate the *BSD solution for now, but I'd keep in mind that the upfront costs of the Sun system may actually be smaller than the long-term costs of the PCs.
My favorite UNIX-based game is a turn-based game, XConq, which is a derivative of the old Empire and Conquest series.
The thing that keeps turn-based games alive is that a large number of people prefer strategy games. There are no real-time strategy games that I'm aware of. Game such as StarCraft, Total Annihilation, and other "gather-resources and make units" aren't strategy games, no matter what the marketing droids say. They're tactical games. Which is a whole 'nother ball of wax.
What I'm waiting for is someone to create the marriage of the 1st-person shooter with the real-time "strategy" game and requiring multi-person teams. Strategy requires a larger time-frame, and a broad view, something with our current generation of realtime games don't have, but turn-based ones have down cold.
-Erik
(who knows more than a few people at MIT who almost didn't graduate because of an Xconq addiction...)
Fundamentally, there is no requirement for anonymity on the Net, If you can guarranty three conditions:
For certain services that have a clear, defined need for anonymity (such as whistleblower and crime-tips hotlines) can offer it, and have it backed up by force of law. That is, if I set up a site that promises anonymity in one of these defined categories, there should be no way (legal or technical) to get at my identity, and any attempt to get it is illegal.
Information about individuals is considered private property, and cannot be sold or distributed without the explicit consent of the individual. Note that collection should be allowed - but the only thing that should be allowed to done with it is for private use by the company collecting it (or for use by law enforcement). Companies should never (even in bankruptcy) be allowed to sell customer databases.
Email and similar technologies (Instant Messaging) should be afforded the same protections US Mail is: that is, it can only be monitored with a supoena. You could monitor a chat room (since that's considered a public forum), but not sniff IMs between people. And none of this "we'll collect all email, but only look at what we have a supoena for" crap. Law enforcement has to get the supoena, THEN they can put in the monitor, and ONLY collect info about the supoena'd person.
Removing anonymity can be a large benefit to everyone (not just law enforcement), as it creates a much greater threshold of responsibility that is lacking now (and, in my opinion, is very, very bad). But before we do it, you have to guarranty that the beneficial purposes of anonymity aren't going to be lost. Until I see legal bills proposing the above, I'm not interested in people's ideas that we outlaw anonymity. It's a package deal - you want to get rid of (most) anonymity? Give me those rights. Otherwise, no deal.
Tech workers don't need a union. We need a Guild. With the breakoff of SAGE from USENIX, I'm hoping (and trying to scream enough) that SAGE will actively become what we need.
Both Unions and Guilds can provide very important benefits for their industry (not just their membership):
Standard grievance procedures. Got a serious problem with your employer (or another employee) that's not being handled properly? Don't try for the new-fangled arbitration deal - that's a real easy way to come up with the short end of the stick. Talk to a lawyer? yeah, well, maybe you get it settled, maybe you just lose a couple of thou in fees. But if your Union/Guild has a standard grievance resolution setup, well, you're far better off.
Minimum Work Conditions. Yeah, OK, we don't have forced labor. But wouldn't it be nice if you got compensated for carrying that beeper? Being on call? Have a known overtime rate for hours above 50? Get comp time for those 12-hour days?
Professional Standards that Mean Something. If I say I'm a Programmer IV in Java, or a UNIX Admin III, wouldn't your employer love to trust that you really were? Having a reasonable standard rocks. It helps everyone, and gets rid of alot of the slackers.
Professional Responsibility. If we can get collective power, we get power in the organization. No more hanging the poor tech guy out to dry when the impossible-to-do-but-mandated project crashes and burns. In fact, we might even get to nix silly ideas in the bud. Look at professional Engineers. They have to sign off on projects - if they don't, the project doesn't go. Period.
The big things most of us don't like about unions are things I think we can avoid by having a guild:
Inability to hire/fire and quit/start at will. Businesses need to be able to get rid of people; conversely, I want to be able to quit when I have (or want) to. As long as we can get a good grievance proceedure to stop retaliatory and personal firings, I think we make out here.
Stratified and Standardized wages. This is the big one. While we desperately need a experience standard (see above), the industry is far to varied to try to force a wage schedule on it. We want to be able to negotiate what we can get on a case-by-case basis. Guilds are more focused on maintaining/promoting the standards of the profession, which I think is what we really want.
Massive Beauracracy. I think we're better off with a reasonable national Guild (which probably would have, what, maybe 50 or 100 total people administratively), rather than hundreds of little unions, each with a couple of beauracrats. Take a look at the major unions nowdays (Auto, Airline, etc.). Do we want to run things that way? Keeping ourselves to a minimal central organization lets us (the membership) keep an eye on things, and avoid many of the power abuse problems.
I want a Guild. I want someone to back me up as a professional, to help me get my job done better and more efficiently (both for myself and my employer), and help insure that I'm not being abused. What I don't want is someone telling me how I have to work, for how much, and what I can't do.
I've run production environments with Solaris on both x86 and SPARC. I'm primarily a SysAdmin/Architect, not a developer, so take your coding cues from someone else (I program, but not heavy-duty professionally).
Previous to Solaris 8, there were A LOT of serious bugs in Solaris x86 that caused it to be unusable for serious work. For web serving and simiar crap it was fine, but any complex app tended to expose bugs in the OS. Solaris for SPARC doesn't have these problems.
Solaris 8 for x86 seems to have fixed most of the egregarious problems, and I would trust it to run your app. HOWEVER, x86 still seems to have random low-level (ie driver and the like) problems with certain hardware. Thus, I would seriously recommend that you DEVELOP on a SPARC box, which doesn't have these problems. That way, you can be sure that the bug you've just found is really in YOUR code, and not some obscure problem in the OS. One you have stable code, Solaris 8 for x86 is stable enough to run as your production OS.
Both x86 and SPARC use the same codebase - thus, the system libraries and similar stuff all work equally well (or at least, have identical bugs...). However, the Hardware Abstraction Layer implementaion for x86 is of poorer quality than the one for SPARC (which makes sense, given Sun's priorities).
I work for one of the big CLEC DSL providers in the USA (Covad - perhaps the only one in about 3 months....)
I can state out loud, scream it from the treetops, and sign my life away as to the one reason DSL companies (both in the US and the UK and probably elsewhere) are having such a big problem:
The Monopoly Regional Telephone companies are being assholes.
That's the jist of it. The ILECs (or RBOCs, or just "The Telephone Company") are making it as miserable and as costly as possible for anyone else to install DSL in their COs.
All the ILECs here in the US consistently take far longer than need be to fix problems with loops (the wires from CO to house), run down normal problems in COs, install basic equipment in the CO, etc. Of course, they'll whine about being understaffed (oh, but you just laid off 30% of your wire techs? OF COURSE YOU'RE UNDERSTAFFED!), or that there's no room in the CO (but they're busy plopping in new equipment of their own...). In many places, they require that CLEC have the ILEC's people install anything into the CO, and require only their people to make changes. Of course, they happen to be fairly slow about this stuff...
I'm to the point where I'm seriously pissed off. The FTC/FCC in the US (and I'm assuming OFTEL in the UK) need to start seriously levying fines on the ILECs until they get their shit in gear. Right now, the ILECs are just making it miserable for the competition, simply because they can get away with it, and know that they have the $$ to do it later, while delays will kill their competition.
Fundamentally, I think the only real solution is to strip the local loop ownership from the ILECs. That is, force them to spin out a company that actually owns the "last-mile" physical plant (including COs), but doesn't do any telecom. That way, this new company has equal incentive to provide good service for everyone, ILEC and CLEC both.
I thkn that's the biggest flaw in the TeleCom Act of 1996 here in the USA - not forcing the ILECs to give up control of the local loop before allowing them into other areas. Hopefully, we can fix this soon, but for now, they just fucking piss me off, the wankers.
One of the things that I've long advocated is exactly the Stockholm model: you have the Municiple Dept of FatPipes. I find it hillariously wasteful for us to be stringing multiple cable types all around our cities when a single fiber can handled everything we want, and have headroom for anything we think up.
The beauty of fiber is that you can run distinct services at the same time, without interference (cable can too, but the available bandwidth of fiber is amazing). A broadcast TV can be done over one spectrum range, traditional voice over another, and an IP datastream over another - all that is needed is a "splitter" at each house.
Now, what I want is strictly this: your local gov't (since it will be most responsive and responsible to local desires) has a complete monopoly over data lines in your city. However, all it does is pass data - it should be legally forbidden to choose who can pass data - the only constant should be a fixed rate schedule for a given service class that will cover maintenance and improvement costs. Thus, ANYBODY should be able to pass voice data over the (truly) public network, if everyone pays 0.01/minute (for instance). You get universal access, and a lot of the nastiness of the content/bandwith contol goes away.
Two more notes about the massive advantage of doing things this way: it makes for EXTREMELY efficient IP allocation (if the Municipality is gives you an IP, which they probably should), and it is EXTREMELY easy to insure a fair and equitable policy of the bandwidth provider, since your Municiple Dept of Bandwidth is subject to all those wonderful F.O.I. and similar laws which companies are immune. And it's a lot easier to change policies of the Dept of Bandwidth - simply go vote in your next election. Wanna try to get something changed by a company? good luck.
Oh, and to the poster above who was under the illusion that the FBI has to ASK for permission of the ISP to put in something like Carnivore - NOPE. They have to get a valid court order to do the tap, but once they have one, they can REQUIRE the ISP to install the wiretapping device, and of course the ISP is legally bound not to tell you that your connection is tapped.
Looking at what your setup is, I can say that you really have three options:
Honestly, I would prefer the last option. You already need a backup host machine with FC connectivity and enterprise backup software in any of the scenarios. Adding a 100GB A1000 (or D1000) to this is only going to run $10k or so, and you don't need a massively expensive FC tape library, or the EMC snapshot software. It'll grow with your backup needs, and is relatively inexpensive. And you can keep last nights (or a couple of nights) worth of backups on the A1000 for fast recovery. Disks in an A1000 are much cheaper than for an EMC.
I'd go with something like the Sun L20 mid-size (2 LTO drives, 20 cartridges, 2TB total) with a 200GB A1000. Sun list is about $35k for these together.
-Erik
As a previous post reminded me, I fell in love with chess about 4th grade, and kept going strong until I suddenly realized in 7th grade that it was totally artifical - there was no "porting" its lessons to real life.
And that's when I gave up on Chess - when I realized that it was a completely constrained, artifical environment just like I was creating for myself in Real Life. The thing about chess is that its almost completely a game of recognizing previously-identified patterns of play, then countering them with a pre-selected strategy. Not until you get to beyond Grandmaster is there room for innovation. And even then, its constrained to a couple of moves in a 30-move match.
What I look for in my games nowdays is the element of outside interference - items not in the control of either player (or any player, in the case of MP games). That's where the real creativity and brilliance comes in - the capability and flexibility to cope with situations which could not be reasonably forseen (though adept planning will make coping much easier).
I wish we would have more games for kids in this manner - ones which not only met that "Creative Problem Solving" mantra, but also give their players a taste of what they'll need to really know: how to expect the unexpected (and unpredictable) and to cope with them.
Chess is fun, insofar as it teaches good pattern recognition and a disciplined mind. I would argue, though, that if you haven't move beyond it after a couple of years, you really are hurting yourself.
-Erik
Rating systems can be very good, as they provide a short, distilled summary of the information contained in the thing rated. And face it, given the massive amounts of information available out there, everyone (not just kids) needs help sorting out what's valuable, and what's crap. We can't read it all - you have to depend on someone else's opinions. This is the way life works, you depend greatly on others opinions and summaries of material to make a judgement about it.
The problem isn't with a rating system per se, but rather with who controls the ratings (ie, who are the raters), and what criteria they use for rating content.
In a pluralistic society, the ideal way to form an opinion is to take input from several different sources. You trust (or weigh) the opinion from each source based on how closely that source has matched previous decisions of yours, plus knowledge of how closely that source's ideals, morals, et al fit yours. You can then make a good informed judgement.
What the web needs is multiple independent rating organizations. The ALCU should be able to rate things. So should the New York Times, the Christian Coalition, the Aryan Nation, the Nation of Islam, the American Medical Association, and anyone else. There should even be an organization that allows for the Web site owner to self-rate based on that organization's posted guidelines. The only two criteria for being a Rater should be that the rating criteria be published, and that the ratings of various sites be publicly displayed. I can thus chose to accept ratings data from any parties I consider trustworthy.
The PICS system was a great proposal, and honestly, one that I think needs to have a much greater push with it. It allowed for this independent ratings network to be set up, didn't require a single centralized ratings system, and was easily parsable by any "filtering" software. It even allowed for multiple ratings from different raters for the same site.
I want PICS. If we could get the system set up, and get everything rated, it would be a whole lot easier to find stuff out there. And it would leave the choice of making informed opinions where it belonged: in the user's hands, not in the government's, not some semi-legal ratings board, and not some random corporation.
-Erik
No, I'm not going to talk about V-ger or anything like that.
The article mentions that one of the major problems with aerobraking is the fluctuation in density of the admosphere causes problems with calculations for the aerobraking. That got me to thinking...
Now, recently, we've started to build the landers with a reasonable amount of autonomous intelligence, so they can cope with some problems without requiring instruction. However, from all that I've read, all the space-borne probes we've send are dumb as a rock: that is, they can't do anything that Mission Control doesn't tell them to. They're a true remote-controlled vehicle.
The problem with this approach is the time lag between Earth and wherever they are (which is measured in light-minutes). I realize that adding some sort of intelligent processing to a probe causes an additional weight to be carried (and power consumed), but for christ sakes, I can get a Lego Mindstorms to run around my livingroom by itself; one would hope that we might be able to build a semi-autonomous space probe.
Basically, we should be able to build something that does this (MC=Mission Control, SP=Space Probe):
Basically, what I'm suggesting is that we break the mentality of requiring absolute control over the probe at all times, and allow them a degree of adaptability and flexibility by providing them with some reasonable programming. That's no happening now. And as the maneuvers we attempt grow in complexity, we're going to find it almost impossible to completely pre-calculate everything. If we keep trying, we're going to fail.
Adaptable and intelligent semi-autonomous probes are the long-term solution.
-Erik
National ID cards (in the US, replacing the mishmash of Social Security, Driver's License, Military ID, blah blah) are actually a privacy enhancing thing, if backed up by the proper regulations.
Right now, in the US, we (ie the individual) have virtually no way of tracking who is tracing us, and identity theft is difficult to trace. There are a thousand and one different places to steal access to, any one of which can be used to forge access to another. And furthermore, there is almost no way to keep track of who accesses what information.
Even if the US put in reasonable privacy laws for the current system, keeping track of all accesses to your information is problematic, at best.
I'd be all for a National ID card, should they pass reasonable privacy laws with it. And my definition of privacy laws is this: I get to control who has access to what information, I decide what information can go in the system, I decide the granularity of info given to people, I own my information, nobody can collect information about me (unless as an unidentifiable part of an aggregate) unless I explicitly permit it, and no one can share any information about me with anyone else. There would be exceptions for court-ordered disclosures for law-enforcement, but that's it.
That system would be great: it would prevent a person with a suspended driver's license in one state from getting a new one in another, while at the same time prevent company A from discovering I like Mary Typer Moore shows by my viewing habits, then selling this info to company B.
Having a properly monitored and regulated central database of personal info is far better than the completely insecure mishmash of crap we have today.
But unless they put in those restrictions, Hell No!
-Erik
Something that no one has noted about, and which is the primary reason to continue to have swap these days, is the difference in behavior between the reserved and allocated memory space of a process.
As a previous poster pointed out, from a system standpoint, there is no difference between having a machine with 64MB RAM/256MB swap and one with 320MB RAM/no swap. If both machines have 320MB of memory being actively used by a processes, the next call to allocate memory will result in an "no available memory" error.
What people are missing is that when a process starts up, it reserves a chunk of memory for use. Now, while the process runs, it allocates (or uses) a this reserved memory. In some cases, it exceeds the reserved amount, in which case the kernel allocates more of it. But in many applications, the allocated memory never surpasses the initial reserved amount. But the reserved amount is what counts for calculation of available free memory by the kernel. Thus, for most processes, there exists a chunk of memory that isn't going to be used by that process, but cannot be used by any other process. If you have a swap space, this chunk is "swapped" out (in reality, nothing is written, just the address space is allocated in the swap space).
Look at this scenario:
Process X reserves 100MB of memory, but only ever allocates 50MB. Process Y reserves 100MB of memory, and allocates the full 100MB.
For a machine that has no swap space, the user can run an equal number of X as they could Y. All processes would run at full speed (no degredation due to swapping).
For a machine with swap space equal to the amount of RAM, you can still run the same number of X as Y. However, all X run at full speed, while half of Y must swap in and out. Thus, performance is considerably slower.
What this means is that for a fixed amount of RAM, more of your processes can run at full speed if you have some swap. In addition, since extra RAM is freed up by using swap for the "reserved" memory, it is available for buffering, etc.
Bottom line: having some swap is good. Look at the documentation for your applications to estimate how much you need, but these days, I would consider the minimum to be 256MB swap for any machine with at least 128MB of RAM.
-Erik
I read the article.
I then laughed.
I then cried, as I realized that the misguided views show there are by far the majority opinion of the "elites" in the University system.
Goldstein has no clue as to what it means to be an Elementary teacher, nor even a clue as to what we should be trying to aim for in our Elementary system. He's looking at it from the Ivory Tower, where all 1st graders are simply younger versions of the grad students he sees; they don't know as much, but you should obviously be able to teach them the same way.
Bullshit.
And to all the people above who post that anyone with "field" experience in a discipline should be able to go right into a teaching position without finishing a teaching certificate: knowing the subject material has very little to do with knowning how to teach the subject material.
I don't know what schools Goldstein looks at, but the vast majority of schools providing teaching certificates require several basic-level science courses to get a degree. In PA where I grew up near one of the big "teacher's colleges", a typical Elementary Education teacher would take a Biology and Physics class (about at the same level as advanced AP Physics), which should impart a really good understanding of what science is about, if not a real breadth or depth of scientific knowledge.
In reality, the type of people who have long industry experience, or many advanced degrees you would NEVER want in an Elementary teaching position. The job requirements are completely different. Being smart isn't enough: you need the proper training.
Being a Elementary teacher is primarily socio-psychological: you're attempting to impart some basic knowledge of how things work, and how to function in a society. Without a foundation of solid skills and (rather rote) knowledge to build on, there isn't any hope of producing a free-thinking, creative, explorative mind. Middle-school and high-school is where we need to focus on taking the student on new paths and move away from rote-learning. Elementary school is for making you a basically-functional citizen.
Final lesson: never let the PhDs run primary or secondary education. They have their own agenda, and have no clue as to what they're really dealing with.
If you want my opinion, the vast majority of primary and secondary school teachers are doing a good job. Sure, there are a minority of bad teachers, but the major problems don't lie with the teachers: they lie with the school boards, the administrators, and ultimately, the parents. Fix the things wrong there first, then worry about the teachers.
-Erik
I would agree with the basic thesis that multitasking (whether individual or computer) has an inherent overhead that reduces the overall amount of work than a simple serial-tasking method.
However, this simplistic viewpoint fails to take into account PRIORITY .
In a multi-tasked environment, seldom are all tasks of equal priority or importance. In the Real World, no two tasks have the same importance. And this is where multi-tasking wins out over serial-processing. Some jobs simply MUST be completed before others, due to either inherent attributes of the job, or priorities assigned to the work by an outside source. And a multi-tasking methodology is really the only way to efficiently process this workload.
The "most efficient" method of working varies according to the details of the workload. For those who have a low number of total tasks or where all tasks have generally the same priority, a serial system can be the most efficient, since a change in the current job's overall priority seldom occurs, and context switching is limited to times where the primary task is busy-waited. However, for environments where there are large number of tasks (and particularly where the priority levels vary greatly), Serial Processing is highly inefficient, and the context switching overhead of multitasking is more then worth the penalty in order to get "real" work done.
In my humble experience, Programmers, QA, Doc Writers, and Marketing all generally should be fit into the Should-Really-Be-Serial-Processing bin, while SysAdmins, Secretaries, and Sales derive the most efficiency in being Multi-tasking.
As always, this discussion fits the maxim:
For every complex problem, there is a solution that is simple, neat, and wrong- H. L. Mencken
Beward of people offering absolute answers to fuzzy questions.
-Erik
...They are certainly correct in that opening their network is not anywhere as simple as the Telcos and DSL people. For telcos and the DSL providers, they have a very distinct Layer 2 vs Layer 3 division here. The link from the End-User to the local CO is a point-to-point link; that is, unshared. The ISP can then tap into the data stream at one of several points (the closest being the local CO, the farthest being a long-distance backhaul). The bottom line here is that DSL/T1/T3 connections can all be made at the Layer 2 level, with no consideration for IP numbering. That makes it easy for ISPs to compete, since they bear the cost for all layer 3 equipment, and can differentiate their products that way.
With cable modems, however, the medium is shared. The best (albeit a inadequate one) analogy is that every cable modem is a workstation on a old thinnet (10Base5) ethernet network, with IP information assigned via bootp. While it is possible to have multiple IP ranges assigned on a local neighborhood loop, it can get real messy real fast. Also, a large amount of the Layer 3 hardware will be (and realistically, should be) provided by AOL, so they bear a large amount of costs that would otherwise be done by the ISPs. Thus, it's far harder to differentiate one ISP from another.
It's possible, and I definitely think we really need to make sure that cable providers compensate the public for their locally-granted monopolies, but it's not anywhere as simple as with the telcos.
-Erik
First off, as others have stated before, the primary technical solution is to never trust the client. The following assumes that all appropriate technical measures have been taken to minimize the change of cheating.
That said, people will still find a way to cheat. The fundamental reason is that none of the "real-life" barriers to cheating currently exist in the on-line community. This is primarily due to these factors:
We can only defeat cheating through a change in the social system. The problem is primarily sociological, not technical. Here's how I'd go about it:
We can lick the problem, but it's not all in the game-designers' court. Some of the responsibility lies in the gaming community itself.
-Erik
I always admired Marty Friedman for his cards
After that, I've gotten some pretty interesting titles (many pretty serious), but I still think the best one for a SysAdmin person is this:
"Social Engineer"
It so aptly describes what really goes on for most SysAdmins trying to do their job...
(And of course, for those privileged enough to share my first name, "Member of the Erik Conspiracy" is required....)
-Erik
...everyone likes to say "Now, for the first time in History, there exists a species on Earth that can do something about a earth-impact"
Unfortunately, that's just not true. Currently, even if we had bought the proper equipment, there is very little we could do to stop a 1km+ rock (or, esp. a comet) from coliding with the Earth. Basically, we've got the technology right now to see the hit coming, but not really do anything about it. Nukes and other missile-like interceptors aren't good enough, we don't have good enough energy weapons, and our space-flight technology isn't up to the task. So, basically, if we see something coming in the next century, we're fucked.
So if we can't stop it, can we prepare for it? Unfortunately, I'm going to have to say no to this is too. There's no way we could put away enough food and supplies to feed even 0.1% of the populance for the required decade or so after a major earth-impact. Most likely, the best we could do would be provide for 10,000 or so. And a modern Democracy simply isn't going to be able to sustain this kind of project - it would run hundreds of millions, and that's not going to fly with the voters. Sorry. And, honestly, is that money well spent? To spend perhaps billions over the years on something that has a 0.0001% of happening, or use the money to stop ozone depletion/polution/pick your favorite Earth Day project.
So, what's our best bet? Work like hell to get to the point where we can defend ourselves. The good news here is that spending on this kind of thing has all sorts of other uses, besides "impact defense". We need to spend lots on making spaceflight cheap to get orbital (and preferably Moon-based) stations going on a large scale. Faster and more practical space propulsion (ion engines? Space Sails?) Advances in energy and kinetic weapons that could allow us to pulverize a potential threat while still several AU away. Multiple large Hubble-like detectors scanning the heavens.
The point here is that realistically, there is very little we can do right now. However, given the proper schedules, funding, and willpower, we could have the defence capability by the 22nd century. And along the way, invent a whole lots of other stuff that we can really use. Think of it as the Moon Project for the 21st century.
-Erik
In other words, it makes no sense to protect your data with a $1000 backup system if it's only worth $1 .
There are actually three different problems which while related, have different priorities:
Anyway, back to the question. EMP isn't a concern. Don't delude yourself with visions of your importance. Your data isn't that important. For general business use, there are a considerable number of places that will act as data storage vaults for your important data. Keep an archive copy at work, and one at the data vault (and one somewhere else if you can, like at a branch office). If you're going for archive-quality recordkeeping (that is, you need to keep data for say 10 years, and be sure it's there and readable), get the data pressed onto mastered CDs. Not CD-R or CD-RW or anything like that, but pressed CDs (like those which Music or commercial software comes on). Mastered CDs are very resistant to water, heat, and electrical damage. And their shelf life is beyond your life expectancy.
In the end, for archival media, everyone nowdays uses pressed CDs that are stored in at least 3 (and if you're serious, 5) geographically distinct places. If you do this, you don't have to pay special attention to protection at all the locations.
-Erik
... OK, I went back and re-read a couple of sections of the GPL, and though IANAL, it makes no mention of how/what I have to do with the binary itself.
Thus, as far as I can tell, this is a perfectly legitimate way to work this:
Now, of course, people could take the source obtained from #3, and build their own ISO image, then redistribute that themselves, and this is perfectly legal. However, should the original author choose to, he can forbid the distribution of the original executable if he wants. Or he could demand a royalty. Or whatever. It's all legal under the GPL.
Probably about the only way to enforce this would be through watermarking the original binary. Otherwise, how would you tell if a binary is yours or not?
One last thing: I could certainly see a possible place where this would be a big benefit: suppose I have Super-Wiz-Bang-Studdly-Compiler that spits out really optimal code. I could sell the binary that I compiled with my compiler, and then give away the source for use by people with GCC (or any less Studly compiler). You could charge per copy, and not let people distribute your version, but still give people the freedom of the code. IMHO, this is a good value-add.
-Erik
I would argue that all software patents aren't evil, and should be allowed, as should business method patents.
However, the problem lies in how the USPO (and similar institutions in other countries) seem to interpret an application for a patent on software/business method, and as to the defintion of what is patentable therein.
I think the basic starting point on this issue is to agree that the subject of a patent is the implimentation, not the idea . Allowing people to patent (and therefore gain exclusive use) of ideas is generally grokked to be a Bad Thing. However, it seems to be a Good Thing to allow for time-limited exclusive use of certain implimentations of those ideas.
The current problem with Business Method and Software patents in the US is that they've got it backwards - the USPO is now essentially granting patents on ideas. Go read bunch of the applications - its the idea they want exclusive use for, not the implimentation. The patent apps are so general that it can't even be hypothesized that the application is for an implimentation.
Therefore, I think we should allow patents on Software and Business Methods, but require them to fit these criteria:
I think of software patents as essentially enhanced copyright - the author has come up with a neat way to code a particular problem, and no-one else can use that code segment (even translated into another programming language) until the patent expires. But that should be the limit on software patents.
-Erik
As previously mentioned, the UTICA regulations are perhaps the worst thing ever to come out of a committee. Period.
what everyone seems to foget is the Achille's Heel of the proposals: Only Large Software Companies Benefit. Everyone, and I do mean everyone, else is hurt.
Look at some of the opposition groups/members:
While most people (including the representatives) seem to assume that Business(tm) is all for UTICA, this is simply NOT TRUE. And therein lies the way to effectively fight it:
If you can get something like this reasonably organized, when your rep gets 2 dozen angry letters from companies of all sizes and industries in his district, he's going to be reallllly cautious about the Bill, and that's what you want - serious debate, not a rubber-stamp. Because, in a serious debate, UTICA will lose. There are too many opposition members. UTICA's only hope is to ram it through (or sneak it in) before the opposition can organize. Don't Let That Happen.
-Erik, who is busily practicing what I preach here in Silicon Valley.
The thing that I think is a fatal flaw in everyone's arguments about whether Linux will "thrive" (or even "survive") is that they assume two completely false things:
Both are completely false, and this is something we as Linux advocates need to remember. Is Solaris any kind of OS for your Mom? I don't think so. Neither are any of the *BSDs. Does that make either of them failures or likely to die soon? Definitely not. Do you run Windows in the datacenter? Not seriously. But Windows is still a success.
The future is interoperability. You will have PCs, personal workstations, internet appliances, and even set-top boxes that all can run the same basic "productivity" apps (though not necessarily the same binary), and you will be able to transfer a document from one to another transparently (hopefully, the docs will be in XML or SGML). Windows will run on some PCs and internet appliances (and maybe consoles like XBox), BeOS will do settop boxes and internet appliances, *BSDs will do appliances and a few PCs, and Linux will do workstations and PCs (and some appliances). If none have more than 40% market share, I would consider this a rousing success, as no one is powerful enough to dominate and thus hurt the impetus for interoperability.
The message is this: OSes are custom - they all have their niche (though it can be a broad one). In my opinion, trying to make a single OS do everything is a Bad Thing. This is the one thing I see Linux trying to do, and we really need to stop and think if this is appropriate (in my opinion, it isn't). Pick a couple of things to specialize your OS in, and don't try to be a Jack-of-All-Trades (and a master of none).
-Erik
This is insanely off-topic, but it's worth mentioning, because it comes up every time someone suggests we cut the nuclear triad to save mondo buckaroos:
Nuclear Forces Cost Virtually Nothing. In comparison to the conventional infrastructure, that is. Yes, the R&D for the B2, Ohio SSBNs, and Trident D5 were very expensive, but everything except the B2 pales in comparison what we're going to spend on the F-22, F-117, SeaWolf, and JSF.
Fundamentally, about the only significant cost-savings you can squeeze out of the Nuclear forces is not to build any more B2s (I think we have 1 scheduled for FY2002, at about $2B ). Cutting anything else is a tiny savings, since we've already done the research and paid for the hardware, and there is fundamentally very little there to begin with.
Yes, I'm very much for getting rid of the B2 force, and seriously cutting the MX/Minuteman deployments. But don't be fooled. These aren't going to save any significant money (doing both of the above might save a few hundred million/year, tops). Compared to the billions it costs to keep a single Carrier task force running, or an Armored Division prepped, this is peanuts. And remember, a huge amount of the military budget is personnel (pay, medical benefits, housing, et al), consumables (new ammunition, jet fuel, etc.) and R&D, all of which have very little to do with the nuclear forces.
If you're going to cut nukes, do it for strategic reasons. Don't be an idiot and think it will save any real money, though.
-Erik
I actually have no problems with Linux NFS v3. Unfortunately, I'm not using one of the journaling FS (xfs/reiserf/ext3), and I have a couple of friends who have had problems with using the jFSes in combo with NFS3. I wouldn't consider it prime-time on Linux yet.
I have no experience with *BSD and NFS3, so I can't comment there.
A couple things to remember when looking at the hardware:
Good luck. Honestly, I'd investigate the *BSD solution for now, but I'd keep in mind that the upfront costs of the Sun system may actually be smaller than the long-term costs of the PCs.
-Erik
... they're just keeping a low-profile.
My favorite UNIX-based game is a turn-based game, XConq, which is a derivative of the old Empire and Conquest series.
The thing that keeps turn-based games alive is that a large number of people prefer strategy games. There are no real-time strategy games that I'm aware of. Game such as StarCraft, Total Annihilation, and other "gather-resources and make units" aren't strategy games, no matter what the marketing droids say. They're tactical games. Which is a whole 'nother ball of wax.
What I'm waiting for is someone to create the marriage of the 1st-person shooter with the real-time "strategy" game and requiring multi-person teams. Strategy requires a larger time-frame, and a broad view, something with our current generation of realtime games don't have, but turn-based ones have down cold.
-Erik
(who knows more than a few people at MIT who almost didn't graduate because of an Xconq addiction...)
Fundamentally, there is no requirement for anonymity on the Net, If you can guarranty three conditions:
Removing anonymity can be a large benefit to everyone (not just law enforcement), as it creates a much greater threshold of responsibility that is lacking now (and, in my opinion, is very, very bad). But before we do it, you have to guarranty that the beneficial purposes of anonymity aren't going to be lost. Until I see legal bills proposing the above, I'm not interested in people's ideas that we outlaw anonymity. It's a package deal - you want to get rid of (most) anonymity? Give me those rights. Otherwise, no deal.
-Erik
Tech workers don't need a union. We need a Guild. With the breakoff of SAGE from USENIX, I'm hoping (and trying to scream enough) that SAGE will actively become what we need.
Both Unions and Guilds can provide very important benefits for their industry (not just their membership):
The big things most of us don't like about unions are things I think we can avoid by having a guild:
I want a Guild. I want someone to back me up as a professional, to help me get my job done better and more efficiently (both for myself and my employer), and help insure that I'm not being abused. What I don't want is someone telling me how I have to work, for how much, and what I can't do.
Guilds, NOT Unions.
-Erik
I've run production environments with Solaris on both x86 and SPARC. I'm primarily a SysAdmin/Architect, not a developer, so take your coding cues from someone else (I program, but not heavy-duty professionally).
Previous to Solaris 8, there were A LOT of serious bugs in Solaris x86 that caused it to be unusable for serious work. For web serving and simiar crap it was fine, but any complex app tended to expose bugs in the OS. Solaris for SPARC doesn't have these problems.
Solaris 8 for x86 seems to have fixed most of the egregarious problems, and I would trust it to run your app. HOWEVER, x86 still seems to have random low-level (ie driver and the like) problems with certain hardware. Thus, I would seriously recommend that you DEVELOP on a SPARC box, which doesn't have these problems. That way, you can be sure that the bug you've just found is really in YOUR code, and not some obscure problem in the OS. One you have stable code, Solaris 8 for x86 is stable enough to run as your production OS.
Both x86 and SPARC use the same codebase - thus, the system libraries and similar stuff all work equally well (or at least, have identical bugs...). However, the Hardware Abstraction Layer implementaion for x86 is of poorer quality than the one for SPARC (which makes sense, given Sun's priorities).
Best of Luck.
-Erik
I work for one of the big CLEC DSL providers in the USA (Covad - perhaps the only one in about 3 months....)
I can state out loud, scream it from the treetops, and sign my life away as to the one reason DSL companies (both in the US and the UK and probably elsewhere) are having such a big problem:
The Monopoly Regional Telephone companies are being assholes.
That's the jist of it. The ILECs (or RBOCs, or just "The Telephone Company") are making it as miserable and as costly as possible for anyone else to install DSL in their COs.
All the ILECs here in the US consistently take far longer than need be to fix problems with loops (the wires from CO to house), run down normal problems in COs, install basic equipment in the CO, etc. Of course, they'll whine about being understaffed (oh, but you just laid off 30% of your wire techs? OF COURSE YOU'RE UNDERSTAFFED!), or that there's no room in the CO (but they're busy plopping in new equipment of their own...). In many places, they require that CLEC have the ILEC's people install anything into the CO, and require only their people to make changes. Of course, they happen to be fairly slow about this stuff...
I'm to the point where I'm seriously pissed off. The FTC/FCC in the US (and I'm assuming OFTEL in the UK) need to start seriously levying fines on the ILECs until they get their shit in gear. Right now, the ILECs are just making it miserable for the competition, simply because they can get away with it, and know that they have the $$ to do it later, while delays will kill their competition.
Fundamentally, I think the only real solution is to strip the local loop ownership from the ILECs. That is, force them to spin out a company that actually owns the "last-mile" physical plant (including COs), but doesn't do any telecom. That way, this new company has equal incentive to provide good service for everyone, ILEC and CLEC both.
I thkn that's the biggest flaw in the TeleCom Act of 1996 here in the USA - not forcing the ILECs to give up control of the local loop before allowing them into other areas. Hopefully, we can fix this soon, but for now, they just fucking piss me off, the wankers.
-Erik
One of the things that I've long advocated is exactly the Stockholm model: you have the Municiple Dept of FatPipes. I find it hillariously wasteful for us to be stringing multiple cable types all around our cities when a single fiber can handled everything we want, and have headroom for anything we think up.
The beauty of fiber is that you can run distinct services at the same time, without interference (cable can too, but the available bandwidth of fiber is amazing). A broadcast TV can be done over one spectrum range, traditional voice over another, and an IP datastream over another - all that is needed is a "splitter" at each house.
Now, what I want is strictly this: your local gov't (since it will be most responsive and responsible to local desires) has a complete monopoly over data lines in your city. However, all it does is pass data - it should be legally forbidden to choose who can pass data - the only constant should be a fixed rate schedule for a given service class that will cover maintenance and improvement costs. Thus, ANYBODY should be able to pass voice data over the (truly) public network, if everyone pays 0.01/minute (for instance). You get universal access, and a lot of the nastiness of the content/bandwith contol goes away.
Two more notes about the massive advantage of doing things this way: it makes for EXTREMELY efficient IP allocation (if the Municipality is gives you an IP, which they probably should), and it is EXTREMELY easy to insure a fair and equitable policy of the bandwidth provider, since your Municiple Dept of Bandwidth is subject to all those wonderful F.O.I. and similar laws which companies are immune. And it's a lot easier to change policies of the Dept of Bandwidth - simply go vote in your next election. Wanna try to get something changed by a company? good luck.
Oh, and to the poster above who was under the illusion that the FBI has to ASK for permission of the ISP to put in something like Carnivore - NOPE. They have to get a valid court order to do the tap, but once they have one, they can REQUIRE the ISP to install the wiretapping device, and of course the ISP is legally bound not to tell you that your connection is tapped.
I know, I've done it.
-Erik