Wayner really does end up where a lot of us think databases will be someday, particularly in finance: repositories of data accessible only by digital bearer tokens using various blind signature protocols, neatly, and quite literally, "dis-integrating" the ability of databases to be used against us as a tool of totalitarianism
Yes, but this is Idealism 101. Is it really possible that today's monolithic financial institutions are going to allow their data to become decentralized in such a fashion? Don't count on it! In fact, the bones of this thoughtful and idealistic technology will be picked apart, and bastardized to do what they have always done, namely to make themselves more opaque. You need look no further than efforts like TCPA (Palladium, CBDTPA, et al) to know that totalitarianism is here, and will always survive in some form.
For the rest of us, yes, decentralized databases and open source financials, both for governments and public corporations, will hopefully rule the day.
Nope. You buy a full T1, you get 1.54Mbits per second, and you get all of it, all the time. If you don't use it, you don't get a refund. If your connection to the service provider allows you to draw 2.0Mbps, and they allow you to do it, that is their problem, unless you agreed to pay for excess bandwidth.
So-called metered bandwidth, e.g. fractional T1s or T3s, are still the responsibility of your upstream provider to limit your bandwidth. The only exception I've seen to this is when you are buying a fractional T1 with "free" 100GB transfer -if you take a deal like this, you've made the bed now sleep in it.
Bandwidth limiting is built into many routers and switches, and it's now part of BSD distributions (altqd). There is NO excuse for a cable ISP to not limit their own upstream bandwidth usage at the router, and limiting -or cutting off- customer bandwidth is also likewise trivial.
Finally, if they became aware of uncapped modems back in Feb, why didn't they just cut them off? Simplest thing!
I think the reason they didn't is, they wanted to scare the rest of their customers into behaving.
<irony>Thank you for clearing that up</irony>. You hinge your argument partly on the existence of an afterlife. Since you can't (or don't) offer proof that "there is no afterlife for a human", your assertion is only hypothesis.
The man who does not understand the nature of death is an equal danger.
What, that death is final? Whether it is or not doesn't matter, for there is a huge fscking spectrum of actions and consequences that don't feature death as a demotivating consequence. Likewise, there are many more motivators than the desire to live, such as desire to experience pleasure. The "pain-pleasure" principle is what really motivates and drives people. Death is perceived to be the ultimate in painful events.
Currently running in favor of corporations. The donating of corporate cash to political committees or spending on issue ads, is currently considered protected free speech by the courts. This of course requires the courts to consider corporations entities with the legal standing of people, a legal fiction granted by the Supremes in an 1886 creative reinterpretation of the 14th amendment (written to protect freed slaves) that gave corporations most rights of humans under the law and constitution.
Heh, makes me wonder what sort of citizenship laws congresscritters will pass for silicon-based intelligent entities (that will probably, initially, be owned by corporations.)
Simply put, Mac OS has far better user interface factors than Windows, Linux, or any other OS that I've used for a period of time. What do I mean? that the user interface does its best to help you do what you gotta do, and doesn't get in the way... mostly I mean mouse interaction with the GUI.
Most X interfaces suck badly, and have poor mouse tracking/accel/deceleration that leave you squinting and gripping your mouse in the hopes you will hit what you're trying to click. Windows is a little better, but still pretty lame next to MacOS7-9 (my jury's still out on X).
So my point is, better user factors leads to better usability, which lowers barriers to creativity with a computer. Face it, drawing with a mouse is like drawing with a brick in your hand... would you want an OS that tracks like a brick, or like a pen?
To put it in automotive terms, the Mac drives like a BMW, Windows like a Ford, and X like a 1967 VW Bug with the a broken steering mechanism!
do you only believe that human's have seeing, hearing, smell, touch and taste?
Here's the thing, we do have senses beyond the five obvious. For example, acceleration? We always know which way is up or down.
Many women's menstrual cycle -28 days in length, give or take- synchronise with the lunar cycle. Does our sense of acceleration extend to detecting, "knowing" the phases of the moon? Unconsciously?
Whether you use parity, non-parity, or even ECC, you should ALWAYS test your RAM sticks with MemTest86.
Test them when newly purchased (I've received duds from brand-name online memory warehouses.) Test them every few months (they can and do go bad.) Especially test when your computer exhibits otherwise unexplainable behavior, like: Windows BSoD, kernel panics, characters changing themselves on disk willy-nilly, programs crashing for no good reason, or going bad on disk and needing reinstallation. Disk files that go corrupt. Any of the above, even (or especially) when it seems inconsistent, can be caused by a few bad blocks in a RAM stick.
MemTest86 is a program that boots and runs off floppy (has its own boot loader, no OS), and t-h-o-r-o-u-g-h-l-y tests your ram. It even detects adjecent cell errors, where a 1 in cell n can threshold bias the 0 in cell n+1 or n-1 until it is considered a 1.
It even knows how to differentiate between cache memory errors and RAM errors. Just do it (after nightmare hardware problems, MemTest86 showed me what was broken- can't say enough good things about it.) It's user interface could be more informative, but when it spots and error, you'll know.
Re:Best Buy's management
on
Worst Buy
·
· Score: 2
Just to be clear, I invoked the "injun" racial epithet to go along with the story's apparent theme, that the shopper was being arrested for a) being a nuisance/trespassing, and probably b) being an "injun" nuisance.
Personally, I think of American "Indians" as "Native American", and India "Indians" as "Asian Indian" or "Indian American." Depends on who corrected me last.
I threw the "injun" in there not out of disrespect for Abraham, but as a reminder that many American Caucazoids still treat brown-skinned Americans disrespectfully.
You gotta wonder where Best Buy's management is at with all this. Do they:
1. Briskly rub their hands with glee, chortling "mwa-ha-ha-ha! we got away with another misleading advert, and topped it off with a customer in the clink!"
2. Scratch their heads and wonder about that store manager down yonder.
3. Call their attorneys and ask, "Bernie, do ya got us covered on this one? Yeup, no publicity, just make sure we don't sell those units below cost. And prosecute that damned injun kid."
If I were managing that empire, sure I'd be concerned about losing money, but not on one piece of bad advertising. I'd be firing the idiot who made the mistake, offering apologies and a free computer to the kid that got arrested, firing the store manager, and reassuring my other customers that they won't get arrested for asserting their rights under the law.
Best of luck to Abraham Cherian, and contact the ACLU or somebody to burn Best Buy back!
(1) Everyone has the right freely to express and to disseminate his opinion by speech...There shall be no censorship.
(2) These rights are limited by the provisions of the general laws, the provisions of law for the protection of youth and by the right to inviolability of personal honor.
Did you read it? The second clause limits the first. It is similar to Canada's and Australia's in this regard. Basically, "You shall have freedom of speech, unless the people legislate otherwise." So, it is unlike the U.S. constitution, which states it in more absolute, less dilute terms, only to be softened (like with kitty pr0n) by the Supremes.
In Germany, there are laws against free expression, banning hate speech, Nazi-talk, and so forth. An outcome of a certain war, I believe. That said, it is clear the above clauses permit arbitrary reduction of free speech, and allow for too much government control.
Relative to the rest of the western world, Americans have an astronomically high number of gun deaths each year. For 1998, there were 30,708 firearm-related deaths, 11,798 of which were homicides. And this was the lowest point of a 35 year downward trend.
To contrast, the United Kingdom, which has a population of around 60 million, had 49 firearm homicides in 1998. If you scale this to the US population of about 270 million in 1998, that would still only be 217 deaths. Given this, the US has roughly 50 times the firearm-related homicides of the UK.
So it's no wonder why the rest of the world thinks Americans are gun-toting cowboys... relative to them it rings true.
Just to provide balance, the United States doesn't have the highest homicide rate in the world, just of industrialized western nations. For example, Canada's homicide rate per 100,000 is about 2 in 1997, whereas the US is 7.2, yet Mexico is 14.6.
South Americans, on the other hand, enjoy an even higher homicide rate, ranging as high as 70 per 100,000 for Columbia in 1997. But Americans don't compare themselves to "third world" nations, only to G7 nations, really.
What? This is a joke, right? Seahash is open source? Hello??
TTBOMK, seahash was developed closed-source and proprietary, then it was submitted to ECMA to be considered for becoming a "standard." Open source usually means community-supported from the get-go, and good software becomes a de-facto standard, e.g. Apache, Squid, Perl. Microsoft developed seahash as a Java contender.
It's not that you are illegal, or that you could be deformed, mentally incapacitated, or worse.
What if you are just one of a string of successful clones, all from the same genetic source?
One of the givens of being human, that we are all unique, will not apply to you; instead, the inverse, that you're a copy of a copy of a copy, and that you are somehow connected with a bunch of strangers who share your exact genetic makeup, your genetic twins.
Not to mention that, depending on the country, you may be alive simply as a tissue harvesting candidate for the original genetic donor.
I read his C books years ago. He was maybe opinionated, but pretty informed and I found his work useful.
Herb however, acknowledges the "points" of his critics in his later books, but continues doing what he feels like.
So what? Don't buy his books. End of story. He's may write as he pleases, and there are plenty of excellent C/C++ writers out there, so it's no sin to ignore someone if you find them oafish.
He is almost the "abusive boyfriend" of programming books.
Yeesh. You have a problem if you keep coming back and struggling with somebody you plainly don't like. Just walk away... like... this.
A factor in space launches IIRC is the wind velocity in the upper atmosphere, which at times can reach hundreds of knots. I also recall that the high wind velocity was a factor in the post-explosion breakup of the Challenger space shuttle.
Although the atmospheric density and pressure is much lower at these altitudes (50-1000km+), the wind force is a factor, and it makes me wonder how a geo-stationary elevator shaft could be designed to withstand the energy of such wind forces.
If it could work, it'd probably kick off a revolution in space industry.
While that may be "fair" for a business with lots of desk jockeys, I don't think it's very fair for a few other situations.M
Yeesh. "per seat" / "per user" / "per computer/cpu" -it all means that you need to buy one copy of the software to run on one computer. End of story. Don't believe I've ever encountered a package that required a new license for each user that sat down to use it for five or ten minutes a day, that'd be stupid. Even windows lets you have many user accounts per license, so long as one is logged in at a time (unless you run a terminal server, then its different.)
"They're gonna hafta open up my pecs again and ...
on
Chase the Rabbits
·
· Score: 2
and drain the fluid..." -this quote comes from the
movie Fight Club, from Bob, who had "bitch tits",
because he had his testicles removed after developing testicular cancer, which he said he got
from being a "juicer", a person who takes 'roids.
The lesson here, kiddies, is, you play with fire,
you will get burned. What's amusing is, there's
a lot of attention paid on/. to cyber this and genetic that, but when one guy
gets up to boast about his taking a body-altering pharmo substance,
everybody gets freaked. Personally, I'd never touch the stuff, let your body do its own thing.
It's not like open source software where i can change the code and actually change the functionality.
Actually, it'd be exactly like OSS. I work for a small independent news show (in "beta", look for it on www.fstv.org, a satellite channel:), we have about a terabyte in raid on fibrechannel-accessible NAS boxes. That's for the video post stations, plus a sub-hierarchy of that's interfaced to the post and office LANs thru a linux box (via fibrechannel too), and an FTP proxy server makes part of the hierarchy accessible to our partial OC3.
When freelance video and audio journalists have something they want us to see or use, they drop it on the FTP server. When we have raw interview footage and completed segments we link them to the public hierarchy, where our journalists and partners can download and make use.
Plus, we use free or cheap software-based codecs (mpeg, VP3, we're looking forward to Ogg Tarkin.)
Finally, your statement seems to reflect the non-participatory nature of today's media conglomerate-dominated world... there there, that's right, be a passive recepticle for whatever pap the majors choose to send your way, why get involved, why tell the story from the pov of yourself or people in your neck of the woods? probably get it "wrong" anyway doncha think...;)
Wrong! Everybody's got a story to tell, quality video and audio equipment is at its least expensive in history, and hey, haven't you ever been interested in hearing the stories of people directly involved in major events, rather than the sound-bites fed us?
One time in recent history when this veil got lifted was during 9-11 and afterward, the majors swapped footage gratis, and you heard plenty from people on the ground in NYC and DC. Course, that pretty well snapped shut once the war got underway, but the people are still there and frankly it's healthy to hear from people involved in these conflicts, because it lets you develop your own point of view.
To refactor code in object-oriented programming is just another way of saying
you have to redesign a chunk of your class hierarchy to accomodate new features,
or to eliminate bugs/bad behavior. If you're at the end of your release life cycle, and you're "refactoring", it probably means you've painted yourself into a design corner and you're now having to "refactor" your way out.
The goal of good design, imnsho, is to avoid refactoring.
One way to help yourself, your programming team and company do this is to employ design patterns.
One of the main strengths of design patterns is, they force you, the designer/implementor, to consider strongly the long-term reusability and extensibility of your code. If you've worked with any of the standard design patterns from the "Gang of Four" book, you'll know what I mean (written by Gamma, Vlissides, et al.)
So, when he talks about "refactoring" things from ten down to one, yes, it sounds like he's found a way to save some coding or CPU time, maybe,
but it also sounds like he wasn't generic or abstract enough to accomodate whatever new feature got added.
This EULA's a precurser to M$ actually installing DRM and anti-anti-DRM software on your computer as part of the next security patch.
For the rest of us, yes, decentralized databases and open source financials, both for governments and public corporations, will hopefully rule the day.
First, test your modem to find out the up/down speed: http://dslreports.com/stest/
/
Next, if you're a Windows user, there are registry tweaks you can make:
http://www.cable-modems.org/articles/speed_tweaks
Mac and Windows tweaks:
http://www.dslreports.com/tweaks
Note, however, these are all legal -so far!
Uncapping a 3Com cable modem (what AT&T uses)--
http://online.securityfocus.com/news/353
So-called metered bandwidth, e.g. fractional T1s or T3s, are still the responsibility of your upstream provider to limit your bandwidth. The only exception I've seen to this is when you are buying a fractional T1 with "free" 100GB transfer -if you take a deal like this, you've made the bed now sleep in it.
Bandwidth limiting is built into many routers and switches, and it's now part of BSD distributions (altqd). There is NO excuse for a cable ISP to not limit their own upstream bandwidth usage at the router, and limiting -or cutting off- customer bandwidth is also likewise trivial.
Finally, if they became aware of uncapped modems back in Feb, why didn't they just cut them off? Simplest thing!
I think the reason they didn't is, they wanted to scare the rest of their customers into behaving.
There is no afterlife for a human either
<irony>Thank you for clearing that up</irony>. You hinge your argument partly on the existence of an afterlife. Since you can't (or don't) offer proof that "there is no afterlife for a human", your assertion is only hypothesis.
The man who does not understand the nature of death is an equal danger.
What, that death is final? Whether it is or not doesn't matter, for there is a huge fscking spectrum of actions and consequences that don't feature death as a demotivating consequence. Likewise, there are many more motivators than the desire to live, such as desire to experience pleasure. The "pain-pleasure" principle is what really motivates and drives people. Death is perceived to be the ultimate in painful events.
Due to these being Linux distros with gnu software bundled in, perhaps it would be more reasonable to call it-
.GNU
Linux/GNU
or-
New! Linux with GNU Bundle!
or-
Linux.GNU
or better yet-
Dot GNU -you heard it here first.
hee-haw.
...the ultimate bootlegging medium, from the ultimate bootlegging country.
minix
that's actually an earlier *nix-type operating system. not sure if whether it's a Linux precursor, but linux contains drivers for minix filesystem.
Currently running in favor of corporations. The donating of corporate cash to political committees or spending on issue ads, is currently considered protected free speech by the courts. This of course requires the courts to consider corporations entities with the legal standing of people, a legal fiction granted by the Supremes in an 1886 creative reinterpretation of the 14th amendment (written to protect freed slaves) that gave corporations most rights of humans under the law and constitution.
Heh, makes me wonder what sort of citizenship laws congresscritters will pass for silicon-based intelligent entities (that will probably, initially, be owned by corporations.)
Simply put, Mac OS has far better user interface factors than Windows, Linux, or any other OS that I've used for a period of time. What do I mean? that the user interface does its best to help you do what you gotta do, and doesn't get in the way... mostly I mean mouse interaction with the GUI.
... would you want an OS that tracks like a brick, or like a pen?
Most X interfaces suck badly, and have poor mouse tracking/accel/deceleration that leave you squinting and gripping your mouse in the hopes you will hit what you're trying to click. Windows is a little better, but still pretty lame next to MacOS7-9 (my jury's still out on X).
So my point is, better user factors leads to better usability, which lowers barriers to creativity with a computer. Face it, drawing with a mouse is like drawing with a brick in your hand
To put it in automotive terms, the Mac drives like a BMW, Windows like a Ford, and X like a 1967 VW Bug with the a broken steering mechanism!
Many women's menstrual cycle -28 days in length, give or take- synchronise with the lunar cycle. Does our sense of acceleration extend to detecting, "knowing" the phases of the moon? Unconsciously?
Whether you use parity, non-parity, or even ECC, you should ALWAYS test your RAM sticks with MemTest86.
Test them when newly purchased (I've received duds from brand-name online memory warehouses.) Test them every few months (they can and do go bad.) Especially test when your computer exhibits otherwise unexplainable behavior, like: Windows BSoD, kernel panics, characters changing themselves on disk willy-nilly, programs crashing for no good reason, or going bad on disk and needing reinstallation. Disk files that go corrupt. Any of the above, even (or especially) when it seems inconsistent, can be caused by a few bad blocks in a RAM stick.
MemTest86 is a program that boots and runs off floppy (has its own boot loader, no OS), and t-h-o-r-o-u-g-h-l-y tests your ram. It even detects adjecent cell errors, where a 1 in cell n can threshold bias the 0 in cell n+1 or n-1 until it is considered a 1.
It even knows how to differentiate between cache memory errors and RAM errors. Just do it (after nightmare hardware problems, MemTest86 showed me what was broken- can't say enough good things about it.) It's user interface could be more informative, but when it spots and error, you'll know.
Just to be clear, I invoked the "injun" racial epithet to go along with the story's apparent theme, that the shopper was being arrested for a) being a nuisance/trespassing, and probably b) being an "injun" nuisance.
Personally, I think of American "Indians" as "Native American", and India "Indians" as "Asian Indian" or "Indian American." Depends on who corrected me last.
I threw the "injun" in there not out of disrespect for Abraham, but as a reminder that many American Caucazoids still treat brown-skinned Americans disrespectfully.
You gotta wonder where Best Buy's management is at with all this. Do they:
1. Briskly rub their hands with glee, chortling "mwa-ha-ha-ha! we got away with another misleading advert, and topped it off with a customer in the clink!"
2. Scratch their heads and wonder about that store manager down yonder.
3. Call their attorneys and ask, "Bernie, do ya got us covered on this one? Yeup, no publicity, just make sure we don't sell those units below cost. And prosecute that damned injun kid."
If I were managing that empire, sure I'd be concerned about losing money, but not on one piece of bad advertising. I'd be firing the idiot who made the mistake, offering apologies and a free computer to the kid that got arrested, firing the store manager, and reassuring my other customers that they won't get arrested for asserting their rights under the law.
Best of luck to Abraham Cherian, and contact the ACLU or somebody to burn Best Buy back!
In Germany, there are laws against free expression, banning hate speech, Nazi-talk, and so forth. An outcome of a certain war, I believe. That said, it is clear the above clauses permit arbitrary reduction of free speech, and allow for too much government control.
Relative to the rest of the western world, Americans have an astronomically high number of gun deaths each year. For 1998, there were 30,708 firearm-related deaths, 11,798 of which were homicides. And this was the lowest point of a 35 year downward trend.
To contrast, the United Kingdom, which has a population of around 60 million, had 49 firearm homicides in 1998. If you scale this to the US population of about 270 million in 1998, that would still only be 217 deaths. Given this, the US has roughly 50 times the firearm-related homicides of the UK.
So it's no wonder why the rest of the world thinks Americans are gun-toting cowboys... relative to them it rings true.
Just to provide balance, the United States doesn't have the highest homicide rate in the world, just of industrialized western nations. For example, Canada's homicide rate per 100,000 is about 2 in 1997, whereas the US is 7.2, yet Mexico is 14.6.
South Americans, on the other hand, enjoy an even higher homicide rate, ranging as high as 70 per 100,000 for Columbia in 1997. But Americans don't compare themselves to "third world" nations, only to G7 nations, really.
TTBOMK, seahash was developed closed-source and proprietary, then it was submitted to ECMA to be considered for becoming a "standard." Open source usually means community-supported from the get-go, and good software becomes a de-facto standard, e.g. Apache, Squid, Perl. Microsoft developed seahash as a Java contender.
This totally brings to mind a spooky horror novel from my childhood, called The Hephaestus Plague.
Any of 'em start a fire yet?
It's not that you are illegal, or that you could be deformed, mentally incapacitated, or worse.
What if you are just one of a string of successful clones, all from the same genetic source?
One of the givens of being human, that we are all unique, will not apply to you; instead, the inverse, that you're a copy of a copy of a copy, and that you are somehow connected with a bunch of strangers who share your exact genetic makeup, your genetic twins.
Not to mention that, depending on the country, you may be alive simply as a tissue harvesting candidate for the original genetic donor.
Freaky.
Human rights will have to apply.
A factor in space launches IIRC is the wind velocity in the upper atmosphere, which at times can reach hundreds of knots. I also recall that the high wind velocity was a factor in the post-explosion breakup of the Challenger space shuttle.
Although the atmospheric density and pressure is much lower at these altitudes (50-1000km+), the wind force is a factor, and it makes me wonder how a geo-stationary elevator shaft could be designed to withstand the energy of such wind forces.
If it could work, it'd probably kick off a revolution in space industry.
While that may be "fair" for a business with lots of desk jockeys, I don't think it's very fair for a few other situations.M
Yeesh. "per seat" / "per user" / "per computer/cpu" -it all means that you need to buy one copy of the software to run on one computer. End of story. Don't believe I've ever encountered a package that required a new license for each user that sat down to use it for five or ten minutes a day, that'd be stupid. Even windows lets you have many user accounts per license, so long as one is logged in at a time (unless you run a terminal server, then its different.)
and drain the fluid..." -this quote comes from the movie Fight Club, from Bob, who had "bitch tits", because he had his testicles removed after developing testicular cancer, which he said he got from being a "juicer", a person who takes 'roids.
/. to cyber this and genetic that, but when one guy
gets up to boast about his taking a body-altering pharmo substance,
everybody gets freaked. Personally, I'd never touch the stuff, let your body do its own thing.
The lesson here, kiddies, is, you play with fire, you will get burned. What's amusing is, there's a lot of attention paid on
It's not like open source software where i can change the code and actually change the functionality.
:), we have about a terabyte in raid on fibrechannel-accessible NAS boxes. That's for the video post stations, plus a sub-hierarchy of that's interfaced to the post and office LANs thru a linux box (via fibrechannel too), and an FTP proxy server makes part of the hierarchy accessible to our partial OC3.
... there there, that's right, be a passive recepticle for whatever pap the majors choose to send your way, why get involved, why tell the story from the pov of yourself or people in your neck of the woods? probably get it "wrong" anyway doncha think ... ;)
Actually, it'd be exactly like OSS. I work for a small independent news show (in "beta", look for it on www.fstv.org, a satellite channel
When freelance video and audio journalists have something they want us to see or use, they drop it on the FTP server. When we have raw interview footage and completed segments we link them to the public hierarchy, where our journalists and partners can download and make use.
Plus, we use free or cheap software-based codecs (mpeg, VP3, we're looking forward to Ogg Tarkin.)
Finally, your statement seems to reflect the non-participatory nature of today's media conglomerate-dominated world
Wrong! Everybody's got a story to tell, quality video and audio equipment is at its least expensive in history, and hey, haven't you ever been interested in hearing the stories of people directly involved in major events, rather than the sound-bites fed us?
One time in recent history when this veil got lifted was during 9-11 and afterward, the majors swapped footage gratis, and you heard plenty from people on the ground in NYC and DC. Course, that pretty well snapped shut once the war got underway, but the people are still there and frankly it's healthy to hear from people involved in these conflicts, because it lets you develop your own point of view.
To refactor code in object-oriented programming is just another way of saying you have to redesign a chunk of your class hierarchy to accomodate new features, or to eliminate bugs/bad behavior. If you're at the end of your release life cycle, and you're "refactoring", it probably means you've painted yourself into a design corner and you're now having to "refactor" your way out.
The goal of good design, imnsho, is to avoid refactoring. One way to help yourself, your programming team and company do this is to employ design patterns. One of the main strengths of design patterns is, they force you, the designer/implementor, to consider strongly the long-term reusability and extensibility of your code. If you've worked with any of the standard design patterns from the "Gang of Four" book, you'll know what I mean (written by Gamma, Vlissides, et al.)
So, when he talks about "refactoring" things from ten down to one, yes, it sounds like he's found a way to save some coding or CPU time, maybe, but it also sounds like he wasn't generic or abstract enough to accomodate whatever new feature got added.