You're here, so I take it means you have nothing better to fill your boring life with. And, I bet that you're not called "uvajed_ekil" in real life either, so there goes the fake identity bit as well.
IIRC, Kleenex was originally intended to remove makeup. But then it turned out people used them to blow their nose. I use them to clean my glasses. I mean, who cares if it doesn't do what it was intended for originally if it can be useful for something else?
If you brought in somebody from the middle ages into modern society, they probably wouldn't know things like that touching bare wires, or rapidly spinning things inside a running car is a seriously bad idea. But we don't have a warning on every outlet, do we?
While stuff like that is new, it's a bit confusing. But these days everybody knows that sticking a fork into an outlet is a seriously bad idea. Same thing with cell phones, it's not exactly obvious, but it will soon become common knowledge.
AFAIK, it's not really possible, as the oven will induce currents in the circuitry and fry it. Like what happens when you put something metallic inside.
Here's why: IMO, unless you're doing it for a company, the most important thing is convenience.
If it's your job, sure, you'll do it whether it's convenient or not.
If it isn't, you'll quickly get tired of messing with CDs, plugging/unplugging hard drives, etc. So I went with the most convenient media possible: tape. Stick a tape into the drive, walk away, store when it spits it out. It doesn't interfere with the computer's usage since nothing else uses tape.
For absolute convenience, get a tape robot from ebay. Then it can be completely automatic.
Filesystem: use plain tar to write to the tape. If you must use compression, compress files individually, not the whole tape.
Paranoid implementation: Tapes have file marks. You can ask the tape drive to give you file #1 for instance. You can use this to store some useful stuff in a format that will always be recoverable so long you have a drive that can read the tape. Store like this:
File 1: Text document explaining what's all this stuff, and what's on the tape. File 2: RFC for tar format File 3: RFC for compression format File 4: source for tar program File 5: source for decompression program File 6: backup
A tape formatted like this should be readable so long a drive capable of reading the data in it survives. To ensure that, go with a popular tape format, which is reliable, open, and has a high capacity (so that it's unlikely to become obsolete too fast)
More seriously, who will pay for a car that may not start? This could be useful for transport companies and such, but I don't see normal people buying it.
A server is something that... serves. It doesn't necessarily imply a 4U monster with 4 CPUs, 16GB RAM, and 8 drives in RAID. There are plenty tasks for which using any old box works perfectly fine. A print server usually doesn't need anything very fancy.
The Linux one works exactly that way. The size is just an upper size limit, which defaults to half the system RAM, IIRC. You could specify the size to all the available RAM, but then you could make the computer grind to a halt if you used too much space.
I remember that QEMM's quick boot feature had that side effect. My wild guess is that memory wasn't cleared, and boot was repeated exactly the same way every time, so when ramdrive allocated memory, it happened to be exactly the same chunk where the filesystem was.
Yes, it's neat that you can drag and drop, and link a few things, and make a calculator or something like that. But there's no market for applications made this way, because as soon as you try to do something complex you'll bump into a wall. Try to make a web browser or a text editor in it and see how far you get.
It's one of those things I HATE to use. Yes, on the surface it works rather well, but the fact that it is sluggish on a dual Athlon MP 2000+ (which was the heck of a machine when I got it) is extremely unimpressive. The same box runs absolutely everything else flawlessly. Heck, Visual Studio 2005 runs a lot smoother than Azureus.
I'll second your sentiment, and add to it. The very fact that Rowling apparently has boxes and boxes of notes to sift through shows that she's a craftsperson, not an artist. An artist creates works from his/her imagination. A craftsperson just opens up the scrap book and looks for pieces to kachunk together.
What, and Tolkien didn't? If so, then what are the Silmarillion, Unfinished Tales, and the several volumes of notes (forgot how they're called) about LOTR which apparently (haven't read them) explain things like that Aragorn was originally conceived as a hobbit who was tortured in Mordor?
IIRC, he actually called it "TreeFS" or something like that in the beginning, but somebody had a trademark on that, so he named it after himself to be absolutely sure that there wouldn't be more problems.
Not since several years. And when I did, I arrived late precisely for this reason.
Do you pay for cable/satellite TV?
I don't watch TV on my own. If I do watch something, it amounts to less than half an hour a week, if somebody tells me about something interesting happening. And that's usually a part of some program, and most of the time I leave before ads begin.
Hell, have you ever paid for a newspaper or magazine?
Not since several years.
I'm getting a lot more things done since I stopped wasting time on that crap. If I want information, it's all over the web (with ad blocking for the sites that have ads). If I want to see a movie, I'll get a DVD and skip past all the crap with mplayer.
Yes, for you it's easier to rewrite it, because you know what it was. For the attacker the only option is to break it. Which is doable enough, with indenters, name replacement and venkman. They don't need to decode all of it either, just the interesting parts. And functions can be used as a black box.
If somebody determined enough wants to do it, they will. The MS Word format was reverse engineered with no documentation. So was NTFS, SMB and many other things. Consoles were reverse engineered as well. It only takes skill and determination, and there are plenty programmers out there.
The problem with PGP/GPG is that as delivered to the user you can only use it to send mail to your friends. Trying to find a path to somebody you haven't met is very hard, yes that's the whole point of the web of trust!
Alice trusts Bob, who trusts Carol who trusts Dave.
The problem is that when Alice sees Dave's key she has no idea that by just fetching Carol's key she could establish a path that would provide some degree of security. Otherwise she just ends up encrypting to a key that might or might not be Dave's.
This situation makes the usability of PGP a lot lower. Here's a simple task: Verify the signature on the gnupg or Linux kernel source code. Thanks to a path finder I found that indeed I have an usable connection. Without it, all I'd get would be about as good as a MD5 sum. This is a real problem, I know several people who know perfectly well how to use PGP but don't, because all it's good for is to send mail to the friend next door.
By using a path finder I found that I actually can trace several paths to Richard Stallman, should I ever have the need to mail him. Before that, I could only reach maybe 3 or 4 people in a secure way.
PGP needs a good infrastructure of path finding servers.
Getting your key is good, but you need to find a path of trust between your and their key to make it safe. This is something the servers should be doing. With a keyserver this is nearly impossible.
There are a couple of path finders out there, but unfortunately this idea doesn't seem to be catching on as much as it should. This ought to be a feature of any PGP-style program.
While I do agree that the article itself is crap, so is your argument. Are you seriously saying that if after you spend half an hour carefully filling a huge form and submit it, it sits there for 5 minutes, then times out, and clears itself when you use the back button, you'll just shrug and say "Oh well, not a big deal. People in Africa have it much worse"?
People have priorities. Obviously people dying of hunger don't give a damn about websites, but most people in modern society have that sort of thing well covered, and get annoyed due to other problems instead.
No obfuscation will make it very different from what it is. A code indenter, a variable name replacement, and it'll be already understandable to pretty much any programmer.
Now, what happens when you save an order with 5 lines in it? First you need to create a row in "orders", then insert 5 rows into "orders_rows".
You have several modes of failure:
1. Nothing gets done at all: equivalent result both ways 2. Only row in orders got inserted: This could be a bug in the application that allowed an empty row to be saved, or the insertion into orders_rows failed. If saving the whole order in one transaction, you now know that the order was actually empty. If you don't use transactions, then you don't know which is it 3. Several rows inserted into order_rows. If you use transactions, you know everything went well. If you don't, you can't know whether something failed. Depending on your logic, maybe everything after the failed row is missing, or perhaps only the bad row is missing... in any case this is hard to debug.
Then you can check out the POST log to see if it was something in the request that caused it.
My system is: 1. Insert POST record 2. begin transaction 3. process operation 4. Write log entry referencing POST record 5. commit
Then it's trivial to determine where something went wrong: If there's a POST record, but no log entry is associated with it, then it never got processed. Database errors are of course recorded in the database log.
An additional benefit of this system that I can pick any request I want and try to resubmit it as many times as necessary, while performing a rollback on step 5. That allows for very easy debugging, as the starting state for each attempt is always the same.
True. But lets say you have an inventory system where an item gets scanned to a location. Normally you have a table in the DB for each. But lets say the user scans an item into a non-existent location -- perhaps a barcode was created that isn't valid for some reason. You're still better off recording the bad scan. Sure you can give the user an error (and I would) but 9 times out of 10 in a high-volume distributed user base the user doesn't really care about the error. They'll shrug and walk away and you're left with no data at all.
You log the error and don't record anything. The user is going to be paid minimum wage for that sort of job. You can easily fire the moron for not reporting the problem, and get somebody else. That person isn't very critical to your business. A few years later they'll probably be off to greener pastures. However, long after they're gone, you'll find things are being ordered and you don't know where they are.
Your database will be there for a long, long time. Ensuring the business itself runs smoothly is a lot more important than pleasing a minimum wage data entry employee. When the order must ship, and nobody can figure out where the heck are those 50000 widgets the company promised, nobody is going to thank you for the convenience.
Note the above isn't really a hypothetical (though it's simplified) -- I've had to deal with this in reality in many cases in our warehouse. Someone can always easily say "don't allow xyz" but you can't stop people from doing xyz, so you might as well record it.
Bullshit. Of course you can stop them, you make the program refuse to accept it.
Then they say "well, fire someone if they do xyz", that's not always practical, but even if it is, you have to record it to know who did it.
In-game scripting. You create objects with an in-game 3D editor, then put a script in it that makes it fly around.
Note that it's perfectly possible for the owner of an area to disable object creation and scripts in it.
So what exactly are you doing here, then?
You're here, so I take it means you have nothing better to fill your boring life with.
And, I bet that you're not called "uvajed_ekil" in real life either, so there goes the fake identity bit as well.
Why?
IIRC, Kleenex was originally intended to remove makeup. But then it turned out people used them to blow their nose. I use them to clean my glasses. I mean, who cares if it doesn't do what it was intended for originally if it can be useful for something else?
We probably don't. Seriously.
If you brought in somebody from the middle ages into modern society, they probably wouldn't know things like that touching bare wires, or rapidly spinning things inside a running car is a seriously bad idea. But we don't have a warning on every outlet, do we?
While stuff like that is new, it's a bit confusing. But these days everybody knows that sticking a fork into an outlet is a seriously bad idea. Same thing with cell phones, it's not exactly obvious, but it will soon become common knowledge.
AFAIK, it's not really possible, as the oven will induce currents in the circuitry and fry it. Like what happens when you put something metallic inside.
Here's why: IMO, unless you're doing it for a company, the most important thing is convenience.
If it's your job, sure, you'll do it whether it's convenient or not.
If it isn't, you'll quickly get tired of messing with CDs, plugging/unplugging hard drives, etc. So I went with the most convenient media possible: tape. Stick a tape into the drive, walk away, store when it spits it out. It doesn't interfere with the computer's usage since nothing else uses tape.
For absolute convenience, get a tape robot from ebay. Then it can be completely automatic.
Filesystem: use plain tar to write to the tape. If you must use compression, compress files individually, not the whole tape.
Paranoid implementation: Tapes have file marks. You can ask the tape drive to give you file #1 for instance. You can use this to store some useful stuff in a format that will always be recoverable so long you have a drive that can read the tape. Store like this:
File 1: Text document explaining what's all this stuff, and what's on the tape.
File 2: RFC for tar format
File 3: RFC for compression format
File 4: source for tar program
File 5: source for decompression program
File 6: backup
A tape formatted like this should be readable so long a drive capable of reading the data in it survives. To ensure that, go with a popular tape format, which is reliable, open, and has a high capacity (so that it's unlikely to become obsolete too fast)
Sales of gloves skyrocket.
More seriously, who will pay for a car that may not start? This could be useful for transport companies and such, but I don't see normal people buying it.
What's wrong with an old box as a server?
A server is something that... serves. It doesn't necessarily imply a 4U monster with 4 CPUs, 16GB RAM, and 8 drives in RAID. There are plenty tasks for which using any old box works perfectly fine. A print server usually doesn't need anything very fancy.
The Linux one works exactly that way. The size is just an upper size limit, which defaults to half the system RAM, IIRC. You could specify the size to all the available RAM, but then you could make the computer grind to a halt if you used too much space.
I remember that QEMM's quick boot feature had that side effect. My wild guess is that memory wasn't cleared, and boot was repeated exactly the same way every time, so when ramdrive allocated memory, it happened to be exactly the same chunk where the filesystem was.
Microsoft had it in the form of RAMDRIVE.SYS in MS-DOS. Not sure how support of that was in DOS.
/mnt/tempdisk -o size=32m
The Linux kernel supports it easily:
mount tmpfs -t tmpfs
The Linux version is dynamic, and unused space on the disk isn't wasted.
That's because actual programs are complex.
Yes, it's neat that you can drag and drop, and link a few things, and make a calculator or something like that. But there's no market for applications made this way, because as soon as you try to do something complex you'll bump into a wall. Try to make a web browser or a text editor in it and see how far you get.
Azureus? Are you kidding?
It's one of those things I HATE to use. Yes, on the surface it works rather well, but the fact that it is sluggish on a dual Athlon MP 2000+ (which was the heck of a machine when I got it) is extremely unimpressive. The same box runs absolutely everything else flawlessly. Heck, Visual Studio 2005 runs a lot smoother than Azureus.
What, and Tolkien didn't? If so, then what are the Silmarillion, Unfinished Tales, and the several volumes of notes (forgot how they're called) about LOTR which apparently (haven't read them) explain things like that Aragorn was originally conceived as a hobbit who was tortured in Mordor?
IIRC, he actually called it "TreeFS" or something like that in the beginning, but somebody had a trademark on that, so he named it after himself to be absolutely sure that there wouldn't be more problems.
Not since several years. And when I did, I arrived late precisely for this reason.
I don't watch TV on my own. If I do watch something, it amounts to less than half an hour a week, if somebody tells me about something interesting happening. And that's usually a part of some program, and most of the time I leave before ads begin.
Not since several years.
I'm getting a lot more things done since I stopped wasting time on that crap. If I want information, it's all over the web (with ad blocking for the sites that have ads). If I want to see a movie, I'll get a DVD and skip past all the crap with mplayer.
All of which is still ultimately futile.
Yes, for you it's easier to rewrite it, because you know what it was. For the attacker the only option is to break it. Which is doable enough, with indenters, name replacement and venkman. They don't need to decode all of it either, just the interesting parts. And functions can be used as a black box.
If somebody determined enough wants to do it, they will. The MS Word format was reverse engineered with no documentation. So was NTFS, SMB and many other things. Consoles were reverse engineered as well. It only takes skill and determination, and there are plenty programmers out there.
No. The retailer didn't lose any stock, neither the amount of money in their bank account was diminished.
No. The record label didn't lose any stock, neither the amount of money in their bank account was diminished.
No. The artist didn't lose any stock, neither the amount of money in their bank account was diminished.
Obviously.
The problem with PGP/GPG is that as delivered to the user you can only use it to send mail to your friends. Trying to find a path to somebody you haven't met is very hard, yes that's the whole point of the web of trust!
Alice trusts Bob, who trusts Carol who trusts Dave.
The problem is that when Alice sees Dave's key she has no idea that by just fetching Carol's key she could establish a path that would provide some degree of security. Otherwise she just ends up encrypting to a key that might or might not be Dave's.
This situation makes the usability of PGP a lot lower. Here's a simple task: Verify the signature on the gnupg or Linux kernel source code. Thanks to a path finder I found that indeed I have an usable connection. Without it, all I'd get would be about as good as a MD5 sum. This is a real problem, I know several people who know perfectly well how to use PGP but don't, because all it's good for is to send mail to the friend next door.
By using a path finder I found that I actually can trace several paths to Richard Stallman, should I ever have the need to mail him. Before that, I could only reach maybe 3 or 4 people in a secure way.
I think you replied to the wrong post
PGP needs a good infrastructure of path finding servers.
Getting your key is good, but you need to find a path of trust between your and their key to make it safe. This is something the servers should be doing. With a keyserver this is nearly impossible.
There are a couple of path finders out there, but unfortunately this idea doesn't seem to be catching on as much as it should. This ought to be a feature of any PGP-style program.
First hit on google:d 2.png
http://de.kde.org/bilder/visualguide/3.5/konq-aci
You were saying?
Oh, come on. Not this nonsense again.
While I do agree that the article itself is crap, so is your argument. Are you seriously saying that if after you spend half an hour carefully filling a huge form and submit it, it sits there for 5 minutes, then times out, and clears itself when you use the back button, you'll just shrug and say "Oh well, not a big deal. People in Africa have it much worse"?
People have priorities. Obviously people dying of hunger don't give a damn about websites, but most people in modern society have that sort of thing well covered, and get annoyed due to other problems instead.
Oh, bullshit.
No obfuscation will make it very different from what it is. A code indenter, a variable name replacement, and it'll be already understandable to pretty much any programmer.
Baad. A dangling record says something is wrong, but not necessarily what, and you can't always determine it. Example:
...) ...)
table orders(order_id, client_id,
table orders_rows(row_id, order_id, product_id, amount,
Now, what happens when you save an order with 5 lines in it? First you need to create a row in "orders", then insert 5 rows into "orders_rows".
You have several modes of failure:
1. Nothing gets done at all: equivalent result both ways
2. Only row in orders got inserted: This could be a bug in the application that allowed an empty row to be saved, or the insertion into orders_rows failed. If saving the whole order in one transaction, you now know that the order was actually empty. If you don't use transactions, then you don't know which is it
3. Several rows inserted into order_rows. If you use transactions, you know everything went well. If you don't, you can't know whether something failed. Depending on your logic, maybe everything after the failed row is missing, or perhaps only the bad row is missing... in any case this is hard to debug.
My system is:
1. Insert POST record
2. begin transaction
3. process operation
4. Write log entry referencing POST record
5. commit
Then it's trivial to determine where something went wrong: If there's a POST record, but no log entry is associated with it, then it never got processed. Database errors are of course recorded in the database log.
An additional benefit of this system that I can pick any request I want and try to resubmit it as many times as necessary, while performing a rollback on step 5. That allows for very easy debugging, as the starting state for each attempt is always the same.
You log the error and don't record anything. The user is going to be paid minimum wage for that sort of job. You can easily fire the moron for not reporting the problem, and get somebody else. That person isn't very critical to your business. A few years later they'll probably be off to greener pastures. However, long after they're gone, you'll find things are being ordered and you don't know where they are.
Your database will be there for a long, long time. Ensuring the business itself runs smoothly is a lot more important than pleasing a minimum wage data entry employee. When the order must ship, and nobody can figure out where the heck are those 50000 widgets the company promised, nobody is going to thank you for the convenience.
Bullshit. Of course you can stop them, you make the program refuse to accept it.
That's easy enough, I work on a similar app