Frankly, I got tired of trying to predict this kind of bullshit, and stopped using CHAR(x) in my database years ago. It's all TEXT or VARCHAR() these days. Instead of input limits, I apply output filters that mangle names as needed when communicating with other systems that don't have as liberal of a view of the world.
You were probably also unaware of the government withholding contracts from telcos unless they participated in their little warrantless wiretapping venture back after 9/11, at least until Qwest refused to participate and got their contracts cancelled and their CEO sued.
It doesn't take laws or regulations to pull the strings of corporations, only money.
The "Prior art" section of a patent requires you to disclose things that already exist that are similar to what you're patenting, and how your patent is better.
If Facebook came afterward, then Facebook is not prior art.
The patent was filed in 2008. It literally looks like something that might have been written in 2000 and sat around in the bottom of a desk drawer for years before someone found it and mailed it in. Hell, it cites Palm Pilot, Lotus Notes, and the Internet White Pages as prior art, and nothing since!
Nobody seems to know why things go wrong anymore or how to fix them (not that anyone really knew before, other than "wiggle the antenna a bit and then stand right over there"). In my case, I get great reception on most of the channels I got before. The HDTV thinks its getting one channel that I kind of got before (shows up when I scan for channels) but it just shows a black screen for about 5 minutes before it admits that it can't find the signal (same with the subchannels). But the weirdest is one channel (and all of its subchannels) that plays audio properly, but the video plays too fast, before freezing every second or so to let the audio catch back up. No idea if its something the network is doing on its broadcast, a weird artifact of bad reception, or if my TV just isn't processing the video data right or what.
For even just one-way statement replication to work reliably, extra work has to go on behind the scenes to make sure that the slave processes all of the commands in the exact same order that the master processed it. (Even within transactions. For instance, Postgres sequences exist outside of the transaction in order to allow two transactions that start at the same time to get two different numbers from the same sequence). Additional work is needed if you want to have the slave server skip those SELECT commands that don't have side effects. This kind of issue is one of the reasons a lot of multi-master replication systems require you to declare one server to create even rows and one to be odd: if it can't guarantee that both servers work in lockstep, at least it can guarantee that they'll never assign the same ID to different rows;)
I haven't looked at this row-based replication but it sounds like it might fit the spot between postgresql's filesystem replication and statement-based replication. By transferring individual records that were updated after the statement has taken place you can skip worrying about whether running the query on another server will have all the right side effects and get the right IDs. By not requiring the filesystem to be identical across servers, the slave servers can vacuum in their own sweet time without having to stop everything while a query runs.
It works fine when Connection A and B are on the same server and know about each other and can lock each other when needed. When you DELETE a row from a table, it's marked as deleted with your transaction ID so that transactions with a higher ID no longer see it while transactions with a lower ID still can. When the table is vacuumed, the vacuum process finds the lowest numbered transaction still running, and marks any rows with a DELETE transaction ID lower than that as free space to be filled in by the next transactions.
It doesn't work in this case because the Write-Ahead Log is essentially just a list of deltas to the filesystem representation of the database. When it says "remove this" it's gone, and has to be because the next WAL messages coming in are going to say "write this where the data you just deleted was". Worse, because the transactions are on a different server, there's no way to know if transaction #52112 on the standby server is before or after the data marked as deleted by the master server's transaction #15215902155. Even worse, "beforeness" can't ever be based on chronological order since it will take several seconds to several minutes for the database to fill the 16MB WAL chunk then transmit it over the network and process it on the other side, so if you try to have the slave read transaction IDs out of the WAL, it will always have old transaction IDs.
Thus, you get the "grace period" during which the slave stops processing WAL segments and lets you finish. Set it high enough that the slave can finish its transaction and you'll be fine as long as it's not so high (or used so often) that the slave can't keep up with incoming WAL segments.
If you need the transactions to always match on every server, then what you're looking for is a synchronous replication system.
SELECT sm1.* FROM sm1 LEFT OUTER JOIN sm2 ON sm1.descriptor=sm2.descriptor AND sm1.command=sm2.command AND NOT abs(sm1.times - sm2.times) [whatever operation that was] 1 WHERE sm2.command IS NULL;
This would match up every sm1 with a sm2 row based on command and descriptor, unless that sm2 row's times value matched the operation. By using a left outer join and checking for null right sides, we get all the sm1 records with no matching sm2 records (or where sm1.times-sm2.times did whatever it was).
Can you explain the new built in replication's conflict handling to me?
According to the docs, it looks like the major conflicts are basically exclusive lock issues. Since it's a one-way replication system, the standby server can't block the primary server from allowing the user to lock a table, so it has to break queries in order to comply. The table locks are used for ALTER and DROP TABLE commands. The other issue is that the VACUUM process removes rows from the database that are no longer visible to any transactions it knows about, and this too is written in to the WAL and communicated to the standby server, so VACUUMing the primary can delete rows that old transactions on the standby server are still looking at.
That'd be the responsibility of the rendering engine, so even if they made a Firefox Chrome Frame, if Chrome doesn't have a way to process a userContent.css file or whatever, it's still not going to happen. The reason that it didn't happen before is that Chrome's render sandbox does not have access to the filesystem and couldn't read in your CSS file, so the browser's main code would have to read it in and pipe it to the renderer along with the webpage.
BTW according to the bottom of http://code.google.com/p/chromium/issues/detail?id=2393 this has been done if you put the css file in a specific place and run a sufficiently recent chrome with --enable-user-stylesheet it'll work but @-moz-document isn't supported (you'll have to write actual styles that will apply to everything)
So say the police. Either way, the dude was stoned, not on sodium pentathol. If a wasted guy tells the cops he's the President should they drop him off at the White House? Or maybe they should look into his story first?
the Feds were bureaucratically slow in validating the verification that he was a citizen after all.
But it'd be totally different once the Arizona cops transferred an American citizen to the same facility.
Blame Obama's immigration department for that
Protip: if you're going to claim I didn't even read the article you could at least check the date. Obama wouldn't take power for a whole year after that article was published (now who's being partisan?).
I linked the article because "in the country illegally" isn't fixing anything for anyone, even though "being latino" isn't the only way to get deported. It also doubles as proof that "this can't happen" is incorrect as it had happened, and required extraordinary effort to correct (a legislative branch member strong-arming the judicial branch? In any other situation people would be screaming, but preventing a serious mistake... well, we'll overlook it this one time)
I do admit that I didn't know that the law calls for accepting an Arizona driver's license.
I have to say it's poorly phrased when you consider the fact that nobody drives a truck and a car at the same time without some crazy radio telemetry, so everyone will think "I can get the 50mpg car and just drive that and save the most gas"
Yes, if you own a company or something, and you have a company truck and a company car and they're both being driven and you want to cut your gas usage but can only afford to replace one vehicle, get the truck.
Everyone else is replacing the truck with the car in their heads.
Or you're in Arizona and you don't have your passport on you to prove your citizenship and the judge won't accept the birth certificate your sister managed to convince the county to release to her (since it's not like they're going to let some illegal out on bail and leave the state to pick up their birth certificate) and you nearly get deported to Russia before a Senator steps in and convinces the judge to accept the certificate and release you.
All it takes to fuck you over is a cop willing to claim he "suspected" you were Russian. Or Canadian. Or British, or whatever other country white people come from. Obviously you picked up the southern accent while you were here trying to blend in.
you said "maybe if they [CPSC] really did have a two trillion dollar budget"
If... then... is basic logic. Quoting the "if" part and claiming it means something other than what is implied by the "then" part is not how it works.
in no way changes the principle that was being expounded.
When did I claim it did? The only claims I made were:
1) IF the CPSC really had a two trillion dollar budget THEN they could afford to test every single object ever sold anywhere in the US.
Since (as you pointed out using my so-called "useless" number) they don't, they are incapable of testing everything. This is a simple observation that does not attempt to refute whatever statements the original poster made.
2) You have to be responsible for your own security.
For instance, you could buy your own testing equipment, just like the blogger in the article. Or read the blogs of bloggers who buy their own testing equipment and blog about their discoveries. This too is a simple observation that does not attempt to refute whatever statements the original poster made.
Perhaps the fact that I didn't disagree with the original poster has confused you.
Good, so now you realize you aren't actually contradicting the GP
No shit!
and certainly aren't pointing out anything useful
You invalidated your own statement and didn't even know it. You used the numbers I cited from the budget in your attempt to flame me, therefore my post with the CPSC budget was useful, at least to trolls like you. Maybe if the GP had actually posted the CPSC budget numbers, my post would have been redundant.
I really, REALLY have no idea how any of you guys can try to defend AT&T
But... but... the population is more dense there so it's cheaper to run the wireless wires because everyone is closer together</defaultbandwidthapologistexcuse>
Heck, if we talked about how we bought wired data until recently, the comparison would be that you'd be sold an unlimited electrical plan, but if you used more than 90 volts you got an angry letter from the ISP and executives claiming that you were hogging the wires while congressmen pontificated about tubes.
At least with metered billing we can discuss limits and such in a sane and rational matter.
since people don't have as many green lights, they cannot speed as much
Which is the biggest steaming pile of bullshit I've ever heard from any government official. I'm sure even the "traffic engineers" floor it when they know the light ahead of them is going to turn red right in front of them if they drive the limit.
Frankly, I got tired of trying to predict this kind of bullshit, and stopped using CHAR(x) in my database years ago. It's all TEXT or VARCHAR() these days. Instead of input limits, I apply output filters that mangle names as needed when communicating with other systems that don't have as liberal of a view of the world.
You were probably also unaware of the government withholding contracts from telcos unless they participated in their little warrantless wiretapping venture back after 9/11, at least until Qwest refused to participate and got their contracts cancelled and their CEO sued.
It doesn't take laws or regulations to pull the strings of corporations, only money.
The "Prior art" section of a patent requires you to disclose things that already exist that are similar to what you're patenting, and how your patent is better.
If Facebook came afterward, then Facebook is not prior art.
The patent was filed in 2008. It literally looks like something that might have been written in 2000 and sat around in the bottom of a desk drawer for years before someone found it and mailed it in. Hell, it cites Palm Pilot, Lotus Notes, and the Internet White Pages as prior art, and nothing since!
Nobody seems to know why things go wrong anymore or how to fix them (not that anyone really knew before, other than "wiggle the antenna a bit and then stand right over there"). In my case, I get great reception on most of the channels I got before. The HDTV thinks its getting one channel that I kind of got before (shows up when I scan for channels) but it just shows a black screen for about 5 minutes before it admits that it can't find the signal (same with the subchannels). But the weirdest is one channel (and all of its subchannels) that plays audio properly, but the video plays too fast, before freezing every second or so to let the audio catch back up. No idea if its something the network is doing on its broadcast, a weird artifact of bad reception, or if my TV just isn't processing the video data right or what.
Especially since you forgot to rustproof the Ferrari ;)
he'll just have to wait for the systems to screw up collectively.
I wonder if he gets his commission fees back when Goldman Sachs gets the exchange to cancel his transactions.
For even just one-way statement replication to work reliably, extra work has to go on behind the scenes to make sure that the slave processes all of the commands in the exact same order that the master processed it. (Even within transactions. For instance, Postgres sequences exist outside of the transaction in order to allow two transactions that start at the same time to get two different numbers from the same sequence). Additional work is needed if you want to have the slave server skip those SELECT commands that don't have side effects. This kind of issue is one of the reasons a lot of multi-master replication systems require you to declare one server to create even rows and one to be odd: if it can't guarantee that both servers work in lockstep, at least it can guarantee that they'll never assign the same ID to different rows ;)
I haven't looked at this row-based replication but it sounds like it might fit the spot between postgresql's filesystem replication and statement-based replication. By transferring individual records that were updated after the statement has taken place you can skip worrying about whether running the query on another server will have all the right side effects and get the right IDs. By not requiring the filesystem to be identical across servers, the slave servers can vacuum in their own sweet time without having to stop everything while a query runs.
Why doesn't that just work?
It works fine when Connection A and B are on the same server and know about each other and can lock each other when needed. When you DELETE a row from a table, it's marked as deleted with your transaction ID so that transactions with a higher ID no longer see it while transactions with a lower ID still can. When the table is vacuumed, the vacuum process finds the lowest numbered transaction still running, and marks any rows with a DELETE transaction ID lower than that as free space to be filled in by the next transactions.
It doesn't work in this case because the Write-Ahead Log is essentially just a list of deltas to the filesystem representation of the database. When it says "remove this" it's gone, and has to be because the next WAL messages coming in are going to say "write this where the data you just deleted was". Worse, because the transactions are on a different server, there's no way to know if transaction #52112 on the standby server is before or after the data marked as deleted by the master server's transaction #15215902155. Even worse, "beforeness" can't ever be based on chronological order since it will take several seconds to several minutes for the database to fill the 16MB WAL chunk then transmit it over the network and process it on the other side, so if you try to have the slave read transaction IDs out of the WAL, it will always have old transaction IDs.
Thus, you get the "grace period" during which the slave stops processing WAL segments and lets you finish. Set it high enough that the slave can finish its transaction and you'll be fine as long as it's not so high (or used so often) that the slave can't keep up with incoming WAL segments.
If you need the transactions to always match on every server, then what you're looking for is a synchronous replication system.
I wonder if that couldn't have been written as
This would match up every sm1 with a sm2 row based on command and descriptor, unless that sm2 row's times value matched the operation. By using a left outer join and checking for null right sides, we get all the sm1 records with no matching sm2 records (or where sm1.times-sm2.times did whatever it was).
Can you explain the new built in replication's conflict handling to me?
According to the docs, it looks like the major conflicts are basically exclusive lock issues. Since it's a one-way replication system, the standby server can't block the primary server from allowing the user to lock a table, so it has to break queries in order to comply. The table locks are used for ALTER and DROP TABLE commands. The other issue is that the VACUUM process removes rows from the database that are no longer visible to any transactions it knows about, and this too is written in to the WAL and communicated to the standby server, so VACUUMing the primary can delete rows that old transactions on the standby server are still looking at.
No no, he's looking into it to see if it's faster than what he's currently using.
While the changelog is cool and all, if you just want to see the slides go to http://www.slideshare.net/xzilla/intro-to-postgres-9-tutorial
I have custom CSS
That'd be the responsibility of the rendering engine, so even if they made a Firefox Chrome Frame, if Chrome doesn't have a way to process a userContent.css file or whatever, it's still not going to happen. The reason that it didn't happen before is that Chrome's render sandbox does not have access to the filesystem and couldn't read in your CSS file, so the browser's main code would have to read it in and pipe it to the renderer along with the webpage.
BTW according to the bottom of http://code.google.com/p/chromium/issues/detail?id=2393 this has been done if you put the css file in a specific place and run a sufficiently recent chrome with --enable-user-stylesheet it'll work but @-moz-document isn't supported (you'll have to write actual styles that will apply to everything)
told police in Colorado that he was a Russian
So say the police. Either way, the dude was stoned, not on sodium pentathol. If a wasted guy tells the cops he's the President should they drop him off at the White House? Or maybe they should look into his story first?
the Feds were bureaucratically slow in validating the verification that he was a citizen after all.
But it'd be totally different once the Arizona cops transferred an American citizen to the same facility.
Blame Obama's immigration department for that
Protip: if you're going to claim I didn't even read the article you could at least check the date. Obama wouldn't take power for a whole year after that article was published (now who's being partisan?).
I linked the article because "in the country illegally" isn't fixing anything for anyone, even though "being latino" isn't the only way to get deported. It also doubles as proof that "this can't happen" is incorrect as it had happened, and required extraordinary effort to correct (a legislative branch member strong-arming the judicial branch? In any other situation people would be screaming, but preventing a serious mistake... well, we'll overlook it this one time)
I do admit that I didn't know that the law calls for accepting an Arizona driver's license.
that's not a trick question.
I have to say it's poorly phrased when you consider the fact that nobody drives a truck and a car at the same time without some crazy radio telemetry, so everyone will think "I can get the 50mpg car and just drive that and save the most gas"
Yes, if you own a company or something, and you have a company truck and a company car and they're both being driven and you want to cut your gas usage but can only afford to replace one vehicle, get the truck.
Everyone else is replacing the truck with the car in their heads.
Or you're in Arizona and you don't have your passport on you to prove your citizenship and the judge won't accept the birth certificate your sister managed to convince the county to release to her (since it's not like they're going to let some illegal out on bail and leave the state to pick up their birth certificate) and you nearly get deported to Russia before a Senator steps in and convinces the judge to accept the certificate and release you.
http://www.mcclatchydc.com/2008/01/24/25392/immigration-officials-detaining.html
All it takes to fuck you over is a cop willing to claim he "suspected" you were Russian. Or Canadian. Or British, or whatever other country white people come from. Obviously you picked up the southern accent while you were here trying to blend in.
That'd be sane and rational. (I chose volts intentionally)
you said "maybe if they [CPSC] really did have a two trillion dollar budget"
If ... then ... is basic logic. Quoting the "if" part and claiming it means something other than what is implied by the "then" part is not how it works.
in no way changes the principle that was being expounded.
When did I claim it did? The only claims I made were:
1) IF the CPSC really had a two trillion dollar budget THEN they could afford to test every single object ever sold anywhere in the US.
Since (as you pointed out using my so-called "useless" number) they don't, they are incapable of testing everything. This is a simple observation that does not attempt to refute whatever statements the original poster made.
2) You have to be responsible for your own security.
For instance, you could buy your own testing equipment, just like the blogger in the article. Or read the blogs of bloggers who buy their own testing equipment and blog about their discoveries. This too is a simple observation that does not attempt to refute whatever statements the original poster made.
Perhaps the fact that I didn't disagree with the original poster has confused you.
Good, so now you realize you aren't actually contradicting the GP
No shit!
and certainly aren't pointing out anything useful
You invalidated your own statement and didn't even know it. You used the numbers I cited from the budget in your attempt to flame me, therefore my post with the CPSC budget was useful, at least to trolls like you. Maybe if the GP had actually posted the CPSC budget numbers, my post would have been redundant.
http://www.cpsc.gov/cpscpub/pubs/reports/2010plan.pdf
and still they miss this
Maybe if they really DID have a two trillion dollar budget, they could afford to test every single object ever sold anywhere in the US.
Until then, buy yourself a $30k x-ray gun and trust nobody.
I really, REALLY have no idea how any of you guys can try to defend AT&T
But... but... the population is more dense there so it's cheaper to run the wireless wires because everyone is closer together</defaultbandwidthapologistexcuse>
Heck, if we talked about how we bought wired data until recently, the comparison would be that you'd be sold an unlimited electrical plan, but if you used more than 90 volts you got an angry letter from the ISP and executives claiming that you were hogging the wires while congressmen pontificated about tubes.
At least with metered billing we can discuss limits and such in a sane and rational matter.
since people don't have as many green lights, they cannot speed as much
Which is the biggest steaming pile of bullshit I've ever heard from any government official. I'm sure even the "traffic engineers" floor it when they know the light ahead of them is going to turn red right in front of them if they drive the limit.
It's sousveillance all the way down.