There are plenty of keyboard sniffers that are not interrupted by the Ctl+Alt+Del. Of course, hiding a process from taskmanager is a pretty easy thing to do too. If it's not your computer, it's not safe.
1) Create a versioning table that includes a timestamp field.
So if you want to insert one row (into table T1) for today's date you need to create an new entry in the versioning table and copy all data (from T1) from the previous version into T1 using the new version along with the new row of data?
As for option #1:
Create a version table that looks like this
Create table version (
VersionID int identity primary key,
Created datetime
)
Create table MiscData (
miscdataID int identity primary key,
versionID int references Version(VersionID),
MiscDataDescription varchar(255),
MiscDataIntStuff int,... )
So, every time that you load a new set of data (think archive as opposed to a regular data table)
2) Use this option if you're going to have a lot of dynamic data, like a pricing table where individual prices can change during the day, but you need to be able to figure out what the price list was at a specific time during the day.
A transaction is not an illusion due to the fact that an atomic unit does not mean that everything happens simultaneously. It means that all of the sub-transactions occur or NONE of them occur.
Only in the most basic sense could a transaction be considered a simultaneous act. Unfortunately, it's in this most basic sense that you wouldn't need to roll back the transaction, because there can't be multiple actions in the transaction you describe.
I don't know of a professional database programmer that would store an image in a database. BLOB (Binary Large Object) storage in a database is a terrible waste of resources and defeats the whole purpose of a relational database. It's to manage relationships BETWEEN data!
FYI, instead of storing an image in a database, you want to store a path name to the image. The application can pull up the image just as fast without screwing up the other production users of the database. Besides, who the hell wants a BLOB being included in your sql db?
A point the original poster missed, and my favorite quote from the advertisement from sleepycat. "Transactions provide the illusion that a collection of operations are applied to a database in an atomic unit..." Actually, that's exactly what a transaction does... applies a set of actions against the database as an atomic entity. Google 'Database ACID principles' for more info.
There are 2 very simple ways to solve this problem.
1) Create a versioning table that includes a timestamp field. Each time you load a new batch of data, increase the version and tie it together with a foreign key. Presto chango, you now have a 'temporal' datawarehouse. 2) Create the timestamp field in the actual table and query based on that timestamp... (hint - use a correlated sub-query to return the data with the maximum date that is less than a set date)
Both of these are pretty standard approaches.
BTW, when you're working with databases, you need to remember that the data is the important thing. Not the interface. Not the cool jargon. Not the CV boosting bullshit that has become OODB. Try writing a quaterly report for an insurance company that aggregates 25 fields in 5 million rows... using a OODB. Hah!
Reminds me of another book...
on
Blink, Take 2
·
· Score: 1
I bought a copy of "The Millionaire Next Door". It basically talks about how most millionaires are actually average folks that are somewhat frugal with their money.
When I finished the book, I thought to myslef "Well, one thing that the millionaire next door certainly wouldn't have done is spend $25.95 on this book..."
Ummm, the author made it seem as if the numbers were low because they were created a year before the presentation. While this was probably true, he missed the fact that it was 2am Christmas morning, when comparitively no one was online.
...he repeated that figure of 1,000 queries per second--but he said that the measure was made at 2:00 a.m. on December 25, 2001. His point, obvious to everybody in the room, is that even by November 2002, Google was doing a lot more than 1,000 queries per second--just how many more, though, was anybody's guess.
What's obvious to me is that the metrics were taken at 2am on Christmas morning... not that they were taken a year earlier.
Ya, but what happens when the first thing that they vote on is the repeal of the law requiring them to vote? The electoral process requires an enlightened and willing citizenship. If people don't want to vote, then forcing them to would be even more disastrous.
Hire the guys that create the lottery machines. They're incredibly secure, yet easy enough for convience store clerks to operate. Due to performance riders (the software company pays penalties if the system goes down) they're extremely stable. They sure as hell don't slip patches in when no one is looking.
Analogy time. I get to work, lock my car and go in for the day. An enterprising car thief steals my car, which he then uses to pickup his buddies and they proceed to steal more cars. The police finally catch the guy that stole my car. They return my car, and fine me $100 for each additional car that was stolen.
Now then, how would this be my fault? Should I check to see that my car is secure every 15 minutes? Install a new security system every month?
As a programmer, I've learned that there is one truth above all others: The users are users! They're not sysadmins. Some log on for 15 minutes a night to check their email. To put the blame on the victim for not sufficiently protecting themself flies smack in the face of our judicial system (Remember the ole 'Dressed like that, she was asking to be raped' defense?)
Umm, of course my heart doesn't beat at 60hz. I should have been more specific in saying that the heart has an electrical field, and that 60hz is close enough to it to disrupt this field and cause you to go into fibrillation. We all have a 'natural pacemaker' in our bodies that generates an electrical signal that makes our heart pump. When this signal is diminished or is coming through too slowly, you get a pacemaker installed. When it stops completely, you go to the emergency room and doctors use a defibrillator to try to jump start it.
but it's the 60hz that will kill you. 60hz is close to the same frequency that your heart runs on, and can cause you to go into defib. 110V usually isn't powerful enough to knock you off the line, so basically you're screwed.
The higher the voltage, the higher the pain, but playing with 60hz is definitely taking your life into your own hands.
BTW, I in the Navy I used to work on a 3D radar system that was water cooled and had a 220+ pound oil filled capacitor. I'd probably take on the job of rewiring the cabinet, but it would probably cost way more than getting a professional to do it. It's back to the age old question: better to pay a person $100 an hour to code something in a day or 5 people $40 an hour to code it in a week...
I can't verify, since anti-online has been/.'d, but I remember that JPee had a rant about how anti-online was kicked off Pitt.edu under similar circumstances. I guess hypocrisy is just another of JPee's 'marketable skills'
There are plenty of keyboard sniffers that are not interrupted by the Ctl+Alt+Del. Of course, hiding a process from taskmanager is a pretty easy thing to do too. If it's not your computer, it's not safe.
1) Create a versioning table that includes a timestamp field.
...
So if you want to insert one row (into table T1) for today's date you need to create an new entry in the versioning table and copy all data (from T1) from the previous version into T1 using the new version along with the new row of data?
As for option #1:
Create a version table that looks like this
Create table version
(
VersionID int identity primary key,
Created datetime
)
Create table MiscData
(
miscdataID int identity primary key,
versionID int references Version(VersionID),
MiscDataDescription varchar(255),
MiscDataIntStuff int,
)
So, every time that you load a new set of data (think archive as opposed to a regular data table)
2) Use this option if you're going to have a lot of dynamic data, like a pricing table where individual prices can change during the day, but you need to be able to figure out what the price list was at a specific time during the day.
A transaction is not an illusion due to the fact that an atomic unit does not mean that everything happens simultaneously. It means that all of the sub-transactions occur or NONE of them occur.
Only in the most basic sense could a transaction be considered a simultaneous act. Unfortunately, it's in this most basic sense that you wouldn't need to roll back the transaction, because there can't be multiple actions in the transaction you describe.
I don't know of a professional database programmer that would store an image in a database. BLOB (Binary Large Object) storage in a database is a terrible waste of resources and defeats the whole purpose of a relational database. It's to manage relationships BETWEEN data!
FYI, instead of storing an image in a database, you want to store a path name to the image. The application can pull up the image just as fast without screwing up the other production users of the database. Besides, who the hell wants a BLOB being included in your sql db?
A point the original poster missed, and my favorite quote from the advertisement from sleepycat.
"Transactions provide the illusion that a collection of operations are applied to a database in an atomic unit..."
Actually, that's exactly what a transaction does... applies a set of actions against the database as an atomic entity. Google 'Database ACID principles' for more info.
There are 2 very simple ways to solve this problem.
1) Create a versioning table that includes a timestamp field. Each time you load a new batch of data, increase the version and tie it together with a foreign key. Presto chango, you now have a 'temporal' datawarehouse.
2) Create the timestamp field in the actual table and query based on that timestamp... (hint - use a correlated sub-query to return the data with the maximum date that is less than a set date)
Both of these are pretty standard approaches.
BTW, when you're working with databases, you need to remember that the data is the important thing. Not the interface. Not the cool jargon. Not the CV boosting bullshit that has become OODB. Try writing a quaterly report for an insurance company that aggregates 25 fields in 5 million rows... using a OODB. Hah!
I bought a copy of "The Millionaire Next Door". It basically talks about how most millionaires are actually average folks that are somewhat frugal with their money.
When I finished the book, I thought to myslef "Well, one thing that the millionaire next door certainly wouldn't have done is spend $25.95 on this book..."
Make more people underestimate me
just make them fire you. Start working 50 hours weeks. They fire you for only working 10 unpaid overtime hours a week instead of 20 or 30...
And who do you think a jury will rule in favor of?
Ummm, the author made it seem as if the numbers were low because they were created a year before the presentation. While this was probably true, he missed the fact that it was 2am Christmas morning, when comparitively no one was online.
...he repeated that figure of 1,000 queries per second--but he said that the measure was made at 2:00 a.m. on December 25, 2001. His point, obvious to everybody in the room, is that even by November 2002, Google was doing a lot more than 1,000 queries per second--just how many more, though, was anybody's guess.
What's obvious to me is that the metrics were taken at 2am on Christmas morning... not that they were taken a year earlier.
Ya, but what happens when the first thing that they vote on is the repeal of the law requiring them to vote? The electoral process requires an enlightened and willing citizenship. If people don't want to vote, then forcing them to would be even more disastrous.
Hire the guys that create the lottery machines. They're incredibly secure, yet easy enough for convience store clerks to operate. Due to performance riders (the software company pays penalties if the system goes down) they're extremely stable. They sure as hell don't slip patches in when no one is looking.
Seems like a no-brainer to me.
Analogy time. I get to work, lock my car and go in for the day. An enterprising car thief steals my car, which he then uses to pickup his buddies and they proceed to steal more cars. The police finally catch the guy that stole my car. They return my car, and fine me $100 for each additional car that was stolen.
Now then, how would this be my fault? Should I check to see that my car is secure every 15 minutes? Install a new security system every month?
As a programmer, I've learned that there is one truth above all others: The users are users! They're not sysadmins. Some log on for 15 minutes a night to check their email. To put the blame on the victim for not sufficiently protecting themself flies smack in the face of our judicial system (Remember the ole 'Dressed like that, she was asking to be raped' defense?)
Umm, of course my heart doesn't beat at 60hz. I should have been more specific in saying that the heart has an electrical field, and that 60hz is close enough to it to disrupt this field and cause you to go into fibrillation. We all have a
'natural pacemaker' in our bodies that generates an electrical signal that makes our heart pump. When this signal is diminished or is coming through too slowly, you get a pacemaker installed. When it stops completely, you go to the emergency room and doctors use a defibrillator to try to jump start it.
Again, my fault for not being specific.
but it's the 60hz that will kill you. 60hz is close to the same frequency that your heart runs on, and can cause you to go into defib. 110V usually isn't powerful enough to knock you off the line, so basically you're screwed.
The higher the voltage, the higher the pain, but playing with 60hz is definitely taking your life into your own hands.
BTW, I in the Navy I used to work on a 3D radar system that was water cooled and had a 220+ pound oil filled capacitor. I'd probably take on the job of rewiring the cabinet, but it would probably cost way more than getting a professional to do it. It's back to the age old question: better to pay a person $100 an hour to code something in a day or 5 people $40 an hour to code it in a week...
I can't verify, since anti-online has been /.'d, but I remember that JPee had a rant about how anti-online was kicked off Pitt.edu under similar circumstances. I guess hypocrisy is just another of JPee's 'marketable skills'