It doesn't matter how sophisticated your webmail system is. Until you re-enable POP access for the free mail and stop stuffing megs of intrusive ads with every page you send, your webmail will be inferior.
Right now I'm browsing this US website called slashdot.org. A few minutes ago, I was looking at a couple of sites here in Australia (1) for a birthday present for my wife. In a little while, I'll probably browse over to the BBC (2) website to check out the news, then maybe send emails to friends in South America (3) and central Europe(4).
Some fun facts I found on Google:
(1) A country, occupying a continent of the same name. Continents are big, big (even bigger than USA) pieces of land, usually surrounded by water.
(2) B in the BBC stands for 'British'. Britain is a country in Europe (see 4).
(3) A continent, not to be confused with the southern part of USA.
(4) A continent, most of the white (caucasian) population of US has roots in Europe.
And yet... a default of
ref=nofollow for all user links seems to be a good start. Ok, ok, inconvenient, valuable links will be lost forever, yada, yada, yada. Only until a better solution is found and even until then it's better than the spam hell.
I just wanted to point out that Intellisense (context-sensitive completion based on parsing or "understanding" code) is the #1 most voted VIM feature.
I'd pay $2000 to any person who takes the I-word out of the language and shoots it in the head. I'd also pay the person who invented it (the word, not the feature) to shoot themselves in the head.
I could see it, but what is it about insects that the thing to go for, the thing that gives them the best bang/buck is substances with excellent physical properties?
Maybe it is their size. I suspect that spider net would not scale up to mammal sizes. Basic geometry/physics - volume/weight goes cubic, while surface goes only quadratic with size.
6) Free / OSS code would become the "uncertified" code, so it would be truly interesting to watch how it developed. Some would love it, others wouldn't touch it with a 100m stick. Sorta like now.
Careful with that. Free/OSS could as well become illegal. After all, you cannot perform a plastic surgery on your friend, even if it's for free and not advertised as medicine...
* If they make a mistake, it happens to one person who can sue them - not to 25 million who downloaded something for free from the 'net.
Well, there is no free medicine, so my analogy ends here. I guess that Richard Stallman would have to come up with GPL version 4.0, stating something along the lines of "this sequence of bytes is actually a poem in my made-up language. The fact that it also constitutes a valid *.tar.gz archive is only incidental. Btw, the code is still GPL-ed, so don't you dare compile my poem and distribute without sources".
Merely holding developers accountable won't do anything without big, big changes in the software industry. Look at people who are personally accountable for their fuckups - medicine doctors. There are several distinct things about them:
1. You cannot become a doctor without long theoretical and practical training, intermixed with hard exams. All this is heavily regulated. To become a coder, you just have to pass a job interview. Software engineering certifications are optional and generally regarded worthless.
2. Doctors are insured against malpractice. The costs are high, and generally passed on to patients.
3. Doctors can choose not to operate (administer drugs, etc.), if the action constitutes malpractice. In software industry it's "use this braindead tool, or get fired".
4. Malpractice. Ok, today's revolutionary therapy, maybe tomorrow's malpractice (or vice versa), and experts might disagree about some practices, but there is some sort of general agreement on what constitutes malpractice. I'm not sure whether IT is mature enough to speak of "malpractice" here.
To sum it up: yeah, you can make developers liable for their mistakes, but the consequences would be huge. The costs of IT would skyrocket. Are you ready to pay for that?
Because, like it or not, functional programming has been trying to hit the mainstream for decades without result because functional programming is not as easy and straightforward as imperative programming.
Ruby is no more functional than Python, even by the most twisted definition of 'functional'. Yup, it uses closures (aka blocks) and that is how far it goes towards functional. For a language to be functional it is essential to restrict side effects (haskell with monads, ocaml with 'mutable'), or at least have some good support for no-side-effects programming: currying, higher-order functions, the "let x = expr1 in expr2" (aka non-destructive assignment) construct and so on. Both Python and Ruby make routine use of destructive assignment, which is the epithome of side effects.
Right you are! They've just started an arms race, is all, and one they can't win [snip]
Yup, that's my first thought too. The evolution analogy aside, there is another one - drug users. They have a much more difficult task than p2p users. They distribute physical objects, with a much more powerful opponent. Undercover agents, wiretaps, guns, dogs, energy bills monitoring (to detect illegal cannabis greenhouses), whatever. The result? They laugh their asses all the way to the dealer after each "another spectacular drug bust" by the DEA/FBI/police/firemen/forest rangers/custom officers
Their model of distribution? A scarce network of trusted hosts.
Can this be used for p2p? You bet - even if encryption is outlawed, there's still steganography or just a walk to a friend with your hard disk (usb pen drive, whatever). Will this be used for p2p? That depends on how hard the content owners and the state will go against p2p.
We live in interesting times, my friends. Btw "p2p users are like drug users" would be a misrepresentation of my view.
Hm... expensive compared to salary? The office space I occupy (half a room) costs less than 3 percent of my current pay. I wouldn't take 3 percent raise for moving into a cubicle. I have worked in a cubicle, and it wasn't very bad, especially compared to a big 15-person room with no cubicles whatsoever:-) Still, I wouldn't go - assuming I had the choice, of course.
Ok, I've posted hastily, thus creating a bit of an half-assed post. They use more techniques (random address allocation, immediate free-to-kernel), still not revolutionary, but indeed worth mentioning. My bad.
Ok, the article is light on technical details, but it seems that they are using guard pages. Guard pages aren't exactly shiny new. Efence has been using them since a long long time.
If once a man indulges himself in murder, very soon he comes to think little of robbing; and from robbing he comes next to drinking and Sabbath-breaking, and from that to incivility and procrastination.
... and from that to P2P and farting in crowded elevators.
Now picture that I tell you "and here's a link to the MD5 sum on Blizzard's site. You can check for yourself that the the file on our site is the original file and it hasn't been tampered with." In fact, I would even _urge_ you to make a habit to check all your downloads against the original MD5 sums, for your own good.
It already looks a lot safer and more legitimate. Well, maybe not to _you_, but to a lot of people it does.
That's the whole problem. That false sense of security makes the "if we can convince you to run our insecure extractor code" part a helluva lot easier.
The scheme described in the article enables you to: take a good file and generate:
A. Another "good" file (one that generates the same exec while extracting).
B. A "bad" file.
Such that hash(A)=hash(B)
For this scheme to work, you would first have to convince Blizzard to use your "good" file A for distribution (more exactly: computing the published hash). Hey Blizzard, I have a file that extracts the same files as your distribution, only has a different hash value, why don't you replace your file with my file? "Helluva lot" easier than just convincing them to distribute your "bad" file? I don't think so.
I'm not saying you COULDN'T make the debug reports much better but then you're basically building every executable in a debug state, i.e. massively bloated and not as good performing, even if you go the highly-manual route and go through the code putting in printf's for each procedure entrance.
Even a simple stack trace can be very useful, even from non-debug binaries. You don't need the symbol information in the distributed binary. The address->symbol map you can keep at home and merge it after the trace arrives.
Getting experienced beta- and alpha- testers to submit a detailed, reproducible, bug where you can actually ask them to try patches out for you is amillion times more useful
Collecting errors is no substitute for professional testing, but it can save you time on getting to bugs thay you don't test for, like your app crashing on Chinese version of Windows, with some DLLs replaced by the newest Office version.
Seems that the bonehead is not where one thinks. By putting the transaction logic in the database, you put it where it will interact the most efficiently possible with the data, inside the database server itself.
Valid point, however a client residing on the same machine as the database is usually efficient enough - at least has always been for me.
This also has the advantage of centralizing that logic at one place, so the clients do not have to worry about it while accessing the database. This means that the clients can be varied and need less ressources to run.
Enter application server. Centralized logic, database independence (if you want it) and a bunch of other nice features, the ability to choose the programming language being one of them.
Have the judge ask the perp what the password is and if he refuses send him to jail for contempt of court?
Won't work for StegFS-like tools. ("StegFS is a Steganographic File System for Linux. Not only does it encrypt data,
it also hides it such that it cannot be proved to be there.")
It doesn't matter how sophisticated your webmail system is. Until you re-enable POP access for the free mail and stop stuffing megs of intrusive ads with every page you send, your webmail will be inferior.
(1) A country, occupying a continent of the same name. Continents are big, big (even bigger than USA) pieces of land, usually surrounded by water.
(2) B in the BBC stands for 'British'. Britain is a country in Europe (see 4).
(3) A continent, not to be confused with the southern part of USA.
(4) A continent, most of the white (caucasian) population of US has roots in Europe.
And yet... a default of ref=nofollow for all user links seems to be a good start. Ok, ok, inconvenient, valuable links will be lost forever, yada, yada, yada. Only until a better solution is found and even until then it's better than the spam hell.
There is already a social bookmarking/site rating system for Firefox. It is called Outfoxed . Definitely worth a try.
Btw, spiders are not insects.
1. You cannot become a doctor without long theoretical and practical training, intermixed with hard exams. All this is heavily regulated. To become a coder, you just have to pass a job interview. Software engineering certifications are optional and generally regarded worthless.
2. Doctors are insured against malpractice. The costs are high, and generally passed on to patients.
3. Doctors can choose not to operate (administer drugs, etc.), if the action constitutes malpractice. In software industry it's "use this braindead tool, or get fired".
4. Malpractice. Ok, today's revolutionary therapy, maybe tomorrow's malpractice (or vice versa), and experts might disagree about some practices, but there is some sort of general agreement on what constitutes malpractice. I'm not sure whether IT is mature enough to speak of "malpractice" here.
To sum it up: yeah, you can make developers liable for their mistakes, but the consequences would be huge. The costs of IT would skyrocket. Are you ready to pay for that?
Their model of distribution? A scarce network of trusted hosts.
Can this be used for p2p? You bet - even if encryption is outlawed, there's still steganography or just a walk to a friend with your hard disk (usb pen drive, whatever). Will this be used for p2p? That depends on how hard the content owners and the state will go against p2p.
We live in interesting times, my friends. Btw "p2p users are like drug users" would be a misrepresentation of my view.
Ok, I've posted hastily, thus creating a bit of an half-assed post. They use more techniques (random address allocation, immediate free-to-kernel), still not revolutionary, but indeed worth mentioning. My bad.
Ok, the article is light on technical details, but it seems that they are using guard pages. Guard pages aren't exactly shiny new. Efence has been using them since a long long time.
A. Another "good" file (one that generates the same exec while extracting).
B. A "bad" file.
Such that hash(A)=hash(B)
For this scheme to work, you would first have to convince Blizzard to use your "good" file A for distribution (more exactly: computing the published hash). Hey Blizzard, I have a file that extracts the same files as your distribution, only has a different hash value, why don't you replace your file with my file? "Helluva lot" easier than just convincing them to distribute your "bad" file? I don't think so.
(*) Live Cats Pulling The Car